home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / videotlk.zip / H / VCAI32.H < prev   
Text File  |  1998-11-05  |  9KB  |  196 lines

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