home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lxapi32.zip / Include / lxapioctl.h < prev    next >
C/C++ Source or Header  |  2002-04-22  |  4KB  |  121 lines

  1. /*
  2.  * lxapioctl.h
  3.  * Autor:               Stefan Milcke
  4.  * Erstellt am:         27.12.2001
  5.  * Letzte Aenderung am: 31.01.2002
  6.  *
  7. */
  8.  
  9. #ifndef LXAPIOCTL_H_INCLUDED
  10. #define LXAPIIOCTL_H_INCLUDED
  11.  
  12. #pragma pack(1)
  13.  
  14. // Note: LX IOCtl categories starts at 0xA0
  15. // Own LX IOCtl functions should be between 0x00 and 0x9F
  16. // All unsupported IOCtl categories above 0x9F should be routed to OS2_lxioctl()
  17. #define LXIOCCAT_GLO       0xA0     // Category for global calls
  18. #define LXIOCCAT_MOD       0xA1     // Category for module calls
  19. #define LXIOCCAT_PCI       0xA2     // Category for pci calls
  20. #define LXIOCCAT_I2C       0xA3     // Category for i2c calls
  21.  
  22. #define LXIOCCAT_V4L       0xB0     // Category for V4L (video for linux) calls
  23.  
  24. /******************************************************************************/
  25. /* global ioctl functions                                                     */
  26. /******************************************************************************/
  27. #define LXIOCFN_GLO_GETDRIVERINFO                           0x01
  28. typedef struct _LXIOCDP_GLO_GETDRIVERINFO
  29. {
  30.  ULONG ulVersionMajor;
  31.  ULONG ulVersionMinor;
  32.  ULONG ulBuildLevel;
  33.  CHAR vendor[32];
  34.  ULONG ulNumModules;
  35.  ULONG ulV4LXNumDevices;
  36. } LXIOCDP_GLO_GETDRIVERINFO,*PLXIOCDP_GLO_GETDRIVERINFO;
  37.  
  38.  
  39. /******************************************************************************/
  40. /* module ioctl functions                                                     */
  41. /******************************************************************************/
  42. #define LXIOCFN_MOD_ENUMMODULES                             0x01
  43. typedef struct _LX_MODINFO
  44. {
  45.  CHAR name[32];
  46.  INT active;
  47. }LX_MODINFO,*PLX_MODINFO;
  48. typedef struct _LXIOCDP_MOD_ENUMMODULES
  49. {
  50.  ULONG ulNumModules;
  51.  LX_MODINFO *modules;
  52. }LXIOCDP_MOD_ENUMMODULES,*PLXIOCDP_MOD_ENUMMODULES;
  53.  
  54. #define LXIOCFN_MOD_REQUEST_MODULE                          0x02
  55. typedef struct _LXIOCPA_MOD_REQUEST_MODULE
  56. {
  57.  INT rc;
  58.  CHAR name[32];
  59. }LXIOCPA_MOD_REQUEST_MODULE,*PLXIOCPA_MOD_REQUEST_MODULE;
  60.  
  61. #define LXIOCFN_MOD_RELEASE_MODULE                          0x03
  62. typedef struct _LXIOCPA_MOD_RELEASE_MODULE
  63. {
  64.  INT rc;
  65.  CHAR name[32];
  66. }LXIOCPA_MOD_RELEASE_MODULE,*PLXIOCPA_MOD_RELEASE_MODULE;
  67.  
  68. #define LXIOCFN_MOD_SETMODPARM                              0x04
  69. typedef struct _LXIOCPA_MOD_SETPARM
  70. {
  71.  INT rc;
  72.  CHAR moduleName[32];
  73.  CHAR *parameter;
  74. }LXIOCPA_MOD_SETPARM,*PLXIOCPA_MOD_SETPARM;
  75.  
  76. /******************************************************************************/
  77. /* V4L ioctl functions                                                        */
  78. /******************************************************************************/
  79. #define LXIOCFN_V4L_ENUMDEVICES                             0x01
  80. typedef struct _LX_V4L_DEVICEINFO
  81. {
  82.  CHAR name[32];
  83.  CHAR devname[16];
  84.  ULONG type;
  85.  ULONG hardware;
  86. }LX_V4L_DEVICEINFO,*PLX_V4L_DEVICEINFO;
  87. typedef struct _LXIOCDP_V4L_ENUMDEVICES
  88. {
  89.  ULONG ulDevices;
  90.  LX_V4L_DEVICEINFO *devInfos;
  91. }LXIOCDP_V4L_ENUMDEVICES,*PLXIOCDP_V4L_ENUMDEVICES;
  92.  
  93. #define LXIOCFN_V4L_OPENDEVICE                              0x02
  94. typedef struct _LXIOCPA_V4L_OPENDEVICE
  95. {
  96.  INT rc;
  97.  INT handle;
  98.  CHAR devname[32];
  99. }LXIOCPA_V4L_OPENDEVICE,*PLXIOCPA_V4L_OPENDEVICE;
  100.  
  101. #define LXIOCFN_V4L_CLOSEDEVICE                             0x03
  102. typedef struct _LXIOCPA_V4L_CLOSEDEVICE
  103. {
  104.  INT rc;
  105.  INT handle;
  106. }LXIOCPA_V4L_CLOSEDEVICE,*PLXIOCPA_V4L_CLOSEDEVICE;
  107.  
  108. #define LXIOCFN_V4L_IOCTL                                   0x04
  109. typedef struct _LXIOCPA_V4L_IOCTL
  110. {
  111.  INT rc;
  112.  INT handle;
  113.  INT v4l_ioctlfn;
  114. }LXIOCPA_V4L_IOCTL,*PLXIOCPA_V4L_IOCTL;
  115. typedef struct _BTIOCDP_V4L_IOCTL
  116. {
  117.  VOID *userData;
  118. }LXIOCDP_V4L_IOCTL,*PLXIOCDP_V4L_IOCTL;
  119.  
  120. #pragma pack()
  121. #endif