home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / videotlk.zip / H / VCAI.H < prev    next >
Text File  |  1998-11-05  |  13KB  |  297 lines

  1.  
  2. #ifdef INCL_32
  3. #pragma pack(1)
  4. #pragma linkage(VcaiDllVersionQuery, far16 cdecl)
  5. #pragma linkage(VcaiLastError, far16 cdecl)
  6. #pragma linkage(VcaiQuery, far16 cdecl)
  7. #pragma linkage(VcaiDeviceOpen, far16 cdecl)
  8. #pragma linkage(VcaiDeviceClose, far16 cdecl)
  9. #pragma linkage(VcaiDeviceConnect, far16 cdecl)
  10. #pragma linkage(VcaiDeviceStateSave, far16 cdecl)
  11. #pragma linkage(VcaiDeviceStateRestore, far16 cdecl)
  12. #pragma linkage(VcaiScreenInfoSet, far16 cdecl)
  13. #pragma linkage(VcaiVideoInputSet, far16 cdecl)
  14. #pragma linkage(VcaiVideoDefaultSet, far16 cdecl)
  15. #pragma linkage(VcaiVideoInputQuery, far16 cdecl)
  16. #pragma linkage(VcaiCaptureRectSet, far16 cdecl)
  17. #pragma linkage(VcaiImageScaleGet, far16 cdecl)
  18. #pragma linkage(VcaiDeviceInfoGet, far16 cdecl)
  19. #pragma linkage(VcaiVideoRectValidate, far16 cdecl)
  20. #pragma linkage(VcaiVideoSet, far16 cdecl)
  21. #pragma linkage(VcaiVideoGet, far16 cdecl)
  22. #pragma linkage(VcaiAudioSet, far16 cdecl)
  23. #pragma linkage(VcaiAudioGet, far16 cdecl)
  24. #pragma linkage(VcaiFrameRateSet, far16 cdecl)
  25. #pragma linkage(VcaiOverlay, far16 cdecl)
  26. #pragma linkage(VcaiColourkey, far16 cdecl)
  27. #pragma linkage(VcaiColourkeySet, far16 cdecl)
  28. #pragma linkage(VcaiColourkeyGet, far16 cdecl)
  29. #pragma linkage(VcaiChromakey, far16 cdecl)
  30. #pragma linkage(VcaiFreeze, far16 cdecl)
  31. #pragma linkage(VcaiAdvSet, far16 cdecl)
  32. #pragma linkage(VcaiAdvGet, far16 cdecl)
  33. #pragma linkage(VcaiSmartlockSet, far16 cdecl)
  34. #pragma linkage(VcaiSmartlockGet, far16 cdecl)
  35. #pragma linkage(VcaiConfigSet, far16 cdecl)
  36. #pragma linkage(VcaiConfigGet, far16 cdecl)
  37. #pragma linkage(VcaiInfoGet, far16 cdecl)
  38. #pragma linkage(VcaiCkSet, far16 cdecl)
  39. #pragma linkage(VcaiCkGet, far16 cdecl)
  40. #pragma linkage(VcaiReset, far16 cdecl)
  41. #pragma linkage(VcaiRedraw, far16 cdecl)
  42. #pragma linkage(VcaiI2cWrite, far16 cdecl)
  43. #pragma linkage(VcaiI2cWriteRead, far16 cdecl)
  44. #pragma linkage(VcaiI2cRead, far16 cdecl)
  45. #pragma linkage(VcaiVarRead, far16 cdecl)
  46. #pragma linkage(VcaiVarWrite, far16 cdecl)
  47. #pragma linkage(VcaiVarEnum, far16 cdecl)
  48.  
  49. #pragma linkage(VcaiVxpSet, far16 cdecl)
  50. #pragma linkage(VcaiVxpGet, far16 cdecl)
  51. #pragma linkage(VcaiBt848Set, far16 cdecl)
  52. #pragma linkage(VcaiBt848Get, far16 cdecl)
  53. #pragma linkage(VcaiBt812Set, far16 cdecl)
  54. #pragma linkage(VcaiBt812Get, far16 cdecl)
  55.  
  56. #pragma linkage(VcaiBt848SetGpio, far16 cdecl)
  57. #pragma linkage(VcaiBt848GetGpio, far16 cdecl)
  58.  
  59. #pragma linkage(VcaiTeletextStatus, far16 cdecl)
  60. #pragma linkage(VcaiTeletextAcquire, far16 cdecl)
  61. #pragma linkage(VcaiTeletextQuery, far16 cdecl)
  62. #pragma linkage(VcaiTeletextGet, far16 cdecl)
  63.  
  64. #pragma linkage(VcaiTunerSignal, far16 cdecl)
  65. #pragma linkage(VcaiTunerSet, far16 cdecl)
  66. #pragma linkage(VcaiTunerGet, far16 cdecl)
  67. #pragma linkage(VcaiTunerFreqSet, far16 cdecl)
  68. #pragma linkage(VcaiTunerFreqGet, far16 cdecl)
  69. #pragma linkage(VcaiTunerRegionGet, far16 cdecl)
  70. #pragma linkage(VcaiTunerFineGet, far16 cdecl)
  71. #pragma linkage(VcaiPaletteGet, far16 cdecl)
  72.  
  73. #pragma linkage(VcaiSnapStart, far16 cdecl)
  74. #pragma linkage(VcaiSnapGet, far16 cdecl)
  75. #pragma linkage(VcaiSnapStop, far16 cdecl)
  76. #pragma linkage(VcaiPlayStart, far16 cdecl)
  77. #pragma linkage(VcaiPlaySet, far16 cdecl)
  78. #pragma linkage(VcaiPlayStop, far16 cdecl)
  79.  
  80. #pragma linkage(VcaiWCastMonitor, far16 cdecl)
  81. #pragma linkage(VcaiDMAStart, far16 cdecl)
  82. /*
  83. #pragma linkage(VcaiWCastPos, far16 cdecl)
  84. #pragma linkage(VcaiRegisterHwnd, far16 cdecl)
  85. #pragma linkage(VcaiHwndSet, far16 cdecl)
  86. #pragma linkage(VcaiHwndGet, far16 cdecl)
  87. */
  88. #endif
  89.  
  90. #define DRIVERHANDLE    short int
  91.  
  92. USHORT VcaiDllVersionQuery (VOID);
  93. USHORT VcaiLastError (VOID);
  94. VOID   VcaiQuery (VOID);
  95. DRIVERHANDLE VcaiDeviceOpen (CHAR *name, USHORT device);
  96. USHORT VcaiDeviceClose (DRIVERHANDLE vcahand);
  97. VOID   VcaiDeviceConnect (DRIVERHANDLE vcahandle);
  98. VOID   VcaiDeviceStateSave (VOID);
  99. VOID   VcaiDeviceStateRestore (VOID);
  100. VOID   VcaiScreenInfoSet (PVCASCREENINFO vs);
  101. ULONG  VcaiVideoInputSet (LONG connector);
  102. ULONG  VcaiVideoDefaultSet (VOID);
  103. ULONG  VcaiVideoInputQuery (VOID);
  104. VOID   VcaiCaptureRectSet (USHORT sx,   USHORT sy,
  105.                            USHORT swid, USHORT sht,
  106.                            USHORT dx,   USHORT dy,
  107.                            USHORT dwid, USHORT dht);
  108. VOID   VcaiImageScaleGet  (USHORT len, ULONG address,
  109.                            USHORT sx, USHORT sy,
  110.                            USHORT swid, USHORT sht,
  111.                            USHORT dx, USHORT dy,
  112.                            USHORT dwid, USHORT dht);
  113. VOID   VcaiDeviceInfoGet (PVCADEVINFO info);
  114. VOID   VcaiVideoRectValidate (USHORT sx,   USHORT sy,
  115.                               USHORT swid, USHORT sht,
  116.                               USHORT dx,   USHORT dy,
  117.                               USHORT dwid, USHORT dht);
  118. VOID   VcaiVideoGet (USHORT *b, USHORT *c, USHORT *s, USHORT *h);
  119. VOID   VcaiVideoSet (USHORT b, USHORT c, USHORT s, USHORT h);
  120. VOID   VcaiAudioGet (USHORT *lv, USHORT *rv, USHORT *lb, USHORT *rb,
  121.                      USHORT *lt, USHORT *rt, USHORT *mute);
  122. VOID   VcaiAudioSet (USHORT lv, USHORT rv, USHORT lb, USHORT rb,
  123.                      USHORT lt, USHORT rt, USHORT mute);
  124. VOID   VcaiFrameRateSet (ULONG fps, USHORT flag);
  125. VOID   VcaiOverlay (BOOL OnOffFlag);
  126. VOID   VcaiColourkey (BOOL OnOffFlag);
  127. VOID   VcaiColourkeySet (ULONG ckey);
  128. ULONG  VcaiColourkeyGet (VOID);
  129. VOID   VcaiChromakey (BOOL OnOffFlag);
  130. VOID   VcaiFreeze (BOOL OnOffFlag);
  131. VOID   VcaiAdvSet (PAF paf);
  132. VOID   VcaiAdvGet (PAF paf);
  133. VOID   VcaiSmartlockSet (USHORT settings[]);
  134. VOID   VcaiSmartlockGet (USHORT settings[]);
  135. VOID   VcaiConfigSet (USHORT settings[]);
  136. VOID   VcaiConfigGet (USHORT settings[]);
  137. VOID   VcaiInfoGet   (USHORT settings[]);
  138. VOID   VcaiCkSet     (USHORT settings[]);
  139. VOID   VcaiCkGet     (USHORT settings[]);
  140. VOID   VcaiReset  (VOID);
  141. VOID   VcaiRedraw (VOID);
  142. USHORT VcaiI2cWrite (UCHAR id, USHORT length, UCHAR FAR *db);
  143. USHORT VcaiI2cRead  (UCHAR id, USHORT length, UCHAR FAR *db);
  144. USHORT VcaiI2cWriteRead (UCHAR id, USHORT length_out, UCHAR FAR *db_out,
  145.                                    USHORT length_in,  UCHAR FAR *db_in);
  146. USHORT VcaiVarRead  (UCHAR FAR *name, USHORT table, ULONG FAR *value);
  147. USHORT VcaiVarWrite (UCHAR FAR *name, USHORT table, ULONG value);
  148. USHORT VcaiVarEnum (UCHAR FAR *name, USHORT table, USHORT off, ULONG FAR *value);
  149.  
  150. VOID   VcaiVxpSet   (USHORT reg, USHORT value);
  151. USHORT VcaiVxpGet   (USHORT reg);
  152. VOID   VcaiBt848Set (USHORT reg, USHORT value);
  153. USHORT VcaiBt848Get (USHORT reg);
  154. VOID   VcaiBt812Set (USHORT reg, USHORT value);
  155. USHORT VcaiBt812Get (USHORT reg);
  156.  
  157. VOID   VcaiBt848SetGpio (USHORT value);
  158. USHORT VcaiBt848GetGpio (void);
  159.  
  160. USHORT VcaiTeletextStatus (PTTSTATUS ptt_status);
  161. VOID   VcaiTeletextAcquire (USHORT page_no, USHORT acq);
  162. USHORT VcaiTeletextQuery (USHORT page_no);
  163. USHORT VcaiTeletextGet (USHORT page_no, USHORT offset, USHORT length,
  164.                           UCHAR FAR *buff);
  165.  
  166. USHORT VcaiTunerSignal (VOID);
  167. USHORT VcaiTunerSet (ULONG region, ULONG channel, ULONG freq, LONG finetune,
  168.                      BOOL afc, BOOL polarization);
  169. VOID   VcaiTunerGet (ULONG FAR *region, ULONG FAR *channel,
  170.                      ULONG FAR *freq,   LONG FAR *fine);
  171. USHORT VcaiTunerFreqSet (ULONG freq, LONG finetune);
  172. ULONG  VcaiTunerFreqGet (VOID);
  173. ULONG  VcaiTunerRegionGet (VOID);
  174. LONG   VcaiTunerFineGet (VOID);
  175. VOID   VcaiPaletteGet   (ULONG len, ULONG *address, USHORT type);
  176.  
  177. VOID   VcaiSnapStart      (USHORT width, USHORT height);
  178. VOID   VcaiSnapGet        (ULONG address);
  179. VOID   VcaiSnapStop       (VOID);
  180.  
  181. VOID   VcaiFastSnapStart  (USHORT width, USHORT height, ULONG address);
  182. VOID   VcaiFastSnapGet    (VOID);
  183. VOID   VcaiFastSnapStop   (VOID);
  184.  
  185. VOID   VcaiPlayStart      (USHORT width, USHORT height);
  186. VOID   VcaiPlaySet        (ULONG address);
  187. VOID   VcaiPlayStop       (VOID);
  188.  
  189. /* Driver specific functions for the WinCast board                          */
  190. VOID   VcaiWCastMonitor (ULONG width, ULONG height, ULONG address);
  191. // VOID   VcaiWCastPos (CRECT *prect);
  192.  
  193. VOID   VcaiDMAStart (VOID);
  194.  
  195.                     //            E S C
  196. #define  VCAI_USER_CODE        (0x45534300L)
  197. #define  VCAI_GET_ADVANCED     (0x01 | VCAI_USER_CODE)
  198. #define  VCAI_SET_ADVANCED     (0x02 | VCAI_USER_CODE)
  199. #define  VCAI_GET_SL           (0x03 | VCAI_USER_CODE)
  200. #define  VCAI_SET_SL           (0x04 | VCAI_USER_CODE)
  201. #define  VCAI_GET_CONF         (0x05 | VCAI_USER_CODE)
  202. #define  VCAI_SET_CONF         (0x06 | VCAI_USER_CODE)
  203. #define  VCAI_GET_INFO         (0x07 | VCAI_USER_CODE)
  204. #define  VCAI_I2CIO            (0x08 | VCAI_USER_CODE)
  205. #define  VCAI_RESET            (0x09 | VCAI_USER_CODE)
  206. #define  VCAI_HARDWARE         (0x0A | VCAI_USER_CODE)
  207. #define  VCAI_SET_CK           (0x0B | VCAI_USER_CODE)
  208. #define  VCAI_GET_CK           (0x0C | VCAI_USER_CODE)
  209. #define  VCAI_SET_TUNER        (0x0D | VCAI_USER_CODE)
  210. #define  VCAI_GET_TUNER        (0x0E | VCAI_USER_CODE)
  211. #define  VCAI_VARIABLE         (0x0F | VCAI_USER_CODE)
  212. #define  VCAI_GET_PALETTE      (0x10 | VCAI_USER_CODE)
  213. #define  VCAI_REDRAW           (0x11 | VCAI_USER_CODE)
  214. #define  VCAI_SNAP_START       (0x12 | VCAI_USER_CODE)
  215. #define  VCAI_SNAP_GET         (0x13 | VCAI_USER_CODE)
  216. #define  VCAI_SNAP_STOP        (0x14 | VCAI_USER_CODE)
  217. #define  VCAI_PLAY_START       (0x15 | VCAI_USER_CODE)
  218. #define  VCAI_PLAY_SET         (0x16 | VCAI_USER_CODE)
  219. #define  VCAI_PLAY_STOP        (0x17 | VCAI_USER_CODE)
  220.  
  221. /* Added in support of the Hauppauge WinCast board.                         */
  222. #define  VCAI_WCAST_MONITOR     (0x18 | VCAI_USER_CODE)
  223. // #define  VCAI_WCAST_POS         (0x19 | VCAI_USER_CODE)
  224. // #define  VCAI_SET_HWND          (0x1A | VCAI_USER_CODE)
  225. // #define  VCAI_GET_HWND          (0x1B | VCAI_USER_CODE)
  226. #define  VCAI_DMA_START         (0x1C | VCAI_USER_CODE)
  227.  
  228. #define  VCAI_GRADD_MODEINFO    (0x20 | VCAI_USER_CODE)
  229. #define  VCAI_GRADD_MOVEPTR     (0x21 | VCAI_USER_CODE)
  230. #define  VCAI_GRADD_SETPTR      (0x22 | VCAI_USER_CODE)
  231. #define  VCAI_GRADD_SHOWPTR     (0x23 | VCAI_USER_CODE)
  232.  
  233.                             // This is a USER EScape IOCTL and is provided
  234.                             // because the MCI layer does not set or
  235.                             // get Region or channel information from the
  236.                             // driver. But the driver needs the information !
  237.  
  238. typedef struct VCATUNER
  239. {
  240.    ULONG  tune_region;
  241.    ULONG  tune_channel;
  242.    ULONG  tune_freq;
  243.    LONG   tune_fine;
  244.    BOOL   tune_afc;
  245.    BOOL   tune_polarization;
  246. } VCATUNER, FAR * PVCATUNER;
  247.  
  248.                             // This is a USER EScape IOCTL and is provided
  249.                             // to allow configuration utilities access to
  250.                             // internal variables within the device driver.
  251. typedef struct VCAVARIABLE
  252. {
  253.    USHORT var_func;         // ENUM, GET, SET
  254.    USHORT var_type;         // VCA Generic, or HW specific variable table
  255.    UCHAR  var_name[40];     // Null terminated variable name
  256.    ULONG  var_value;        // Value to set or value to return
  257.    USHORT var_offset;       // Offset of variable in its table
  258. } VCAVARIABLE, FAR * PVCAVARIABLE;
  259.  
  260. #define VCA_VARIABLE_GET       (0)     // Get the value for a variable
  261. #define VCA_VARIABLE_SET       (1)     // Set a variables value
  262. #define VCA_VARIABLE_ENUM      (2)     // Get the name of a variable
  263.  
  264. #define VCA_VARIABLE_GENERIC   (0)     // Use the generic variable table
  265. #define VCA_VARIABLE_HW        (1)     // Use the hardware specific table
  266.  
  267. typedef struct VCAPALETTE
  268. {
  269.    ULONG  pal_len;
  270.    ULONG FAR *pal_address;
  271.    USHORT pal_type;
  272. } VCAPALETTE, FAR * PVCAPALETTE;
  273.  
  274. #define     VCA_HW_PALETTE                  (0)
  275. #define     VCA_MCI_PALETTE                 (1)
  276.  
  277. #define     VCA_CFG_WIDTH                   (0)
  278. #define     VCA_CFG_HEIGHT                  (1)
  279. #define     VCA_CFG_HSCALE                  (2)
  280. #define     VCA_CFG_VSCALE                  (3)
  281. #define     VCA_CFG_XOFFSET                 (4)
  282. #define     VCA_CFG_YOFFSET                 (5)
  283. #define     VCA_CFG_INPUT                   (6)
  284. #define     VCA_CFG_INTERLACE               (7)
  285. #define     VCA_CFG_HSYNC                   (8)
  286. #define     VCA_CFG_VSYNC                   (9)
  287. #define     VCA_CFG_SLAUTO                  (10)
  288. #define     VCA_CFG_DIVIDER                 (11)
  289. #define     VCA_CFG_VCOGAIN                 (12)
  290. #define     VCA_CFG_PHDETGAIN               (13)
  291. #define     VCA_CFG_VGA_CLOCK               (11)
  292. #define     VCA_CFG_VGA_COLOUR              (12)
  293.  
  294. #define VCAI_DLL_VERSION (0x502)
  295. #define VCAI_DLL_MIN_VERSION (PMTV_DLL_VERSION)
  296.  
  297.