Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

QTIoctl.h

Go to the documentation of this file.
00001 /* 00002 QTIoctl.h 00003 00004 Copyright (c) 1996-1999, Quicknet Technologies, Inc. 00005 All Rights Reserved. 00006 00007 DeviceIoControl codes for Internet PhoneJACK, LineJACK, etc. drivers. 00008 00009 ----------------------------------------------------------------- 00010 00011 $Header: /cvsroot/openh323/openh323/include/QTIoctl.h,v 1.5 2001/09/20 23:58:40 robertj Exp $ 00012 */ 00013 00014 #ifndef _QTIOCTL_H_ 00015 #define _QTIOCTL_H_ 00016 00017 // 00018 // The following #defines come from <winioctl.h>. 00019 // 00020 00021 // 00022 //- Beginning of included from <winioctl.h> section ------------------------------ 00023 // 00024 // Macro definition for defining IOCTL and FSCTL function control codes. Note 00025 // that function codes 0-2047 are reserved for Microsoft Corporation, and 00026 // 2048-4095 are reserved for customers. 00027 // 00028 #undef CTL_CODE 00029 #define CTL_CODE( DeviceType, Function, Method, Access ) ( \ 00030 ((DWORD)(DeviceType) << 16) | ((DWORD)(Access) << 14) | ((DWORD)(Function) << 2) | (DWORD)(Method) \ 00031 ) 00032 00033 // 00034 // Define the method codes for how buffers are passed for I/O and FS controls 00035 // 00036 00037 #define METHOD_BUFFERED 0 00038 #define METHOD_IN_DIRECT 1 00039 #define METHOD_OUT_DIRECT 2 00040 #define METHOD_NEITHER 3 00041 00042 // 00043 // Define the access check value for any access 00044 // 00045 // 00046 // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in 00047 // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these 00048 // constants *MUST* always be in sync. 00049 // 00050 00051 00052 #define FILE_ANY_ACCESS 0 00053 #define FILE_READ_ACCESS ( 0x0001 ) // file & pipe 00054 #define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe 00055 00056 // 00057 //- End of included from <winioctl.h> section ------------------------------ 00058 // 00059 00060 #define FILE_READ_WRITE_ACCESS (FILE_WRITE_ACCESS|FILE_READ_ACCESS) 00061 #define ARG_DWORD 0x400 00062 #define ARG_VOID 0 00063 00064 #define MASK_DWORD ( ARG_DWORD << 2 ) 00065 #define MASK_VOID ( ARG_VOID << 2 ) 00066 #define MASK_WRITE ( FILE_WRITE_ACCESS << 14 ) 00067 #define MASK_READ ( FILE_READ_ACCESS << 14 ) 00068 #define MASK_READ_WRITE ( FILE_READ_WRITE_ACCESS << 14 ) 00069 00070 #define IoctlTransferType( Code ) (Code & 3) 00071 #define IoctlDeviceType( Code ) ((Code >> 16) & 0xffff) 00072 #define IoctlRequiredAccess( Code ) ((Code & 0xc000)>>14) 00073 #define IoctlControlCode( Code ) ((Code >> 2) & 0x03ff) 00074 #define IoctlFunctionCode( Code ) ((Code >> 2) & 0x0bff) 00075 #define IoctlIsVoidArg( Code ) ((Code & MASK_DWORD) == MASK_VOID) 00076 #define IoctlIsRead( Code ) ((Code & MASK_READ) == MASK_READ) 00077 #define IoctlIsWrite( Code ) ((Code & MASK_WRITE) == MASK_WRITE) 00078 #define IoctlIsReadWrite( Code ) ((Code & MASK_READ_WRITE) == MASK_READ_WRITE) 00079 #define IoctlHasArgument( Code ) ((Code & (MASK_WRITE|MASK_DWORD))== (MASK_WRITE|MASK_DWORD)) 00080 #define IoctlHasBuffer( Code ) ((Code & MASK_READ_WRITE) != 0) 00081 00082 #ifndef LPVOID 00083 #ifndef FAR 00084 #define FAR 00085 #endif 00086 typedef void FAR * LPVOID; 00087 #endif 00088 00089 #ifndef DEVNODE 00090 #define DEVNODE DWORD 00091 #endif 00092 00094 // Win32 device operations 00095 00096 #define FILE_DEVICE_DEVICE 0x8009 00097 #define DEVICE_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_DEVICE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00098 00099 // Function codes 00100 #define IOCTL_Device_Open DEVICE_CODE( 0, FILE_WRITE_ACCESS, ARG_DWORD) // (ARG_DWORD dwSerialNo) 00101 #define IOCTL_Device_Close DEVICE_CODE( 1, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00102 #define IOCTL_Device_Read DEVICE_CODE( 2, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00103 #define IOCTL_Device_Write DEVICE_CODE( 3, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00104 #define IOCTL_Device_CancelIO DEVICE_CODE( 6, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00105 #define IOCTL_Device_GetSerialNumber DEVICE_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // void 00106 #define IOCTL_Device_GetG729Enable DEVICE_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // void 00107 #define IOCTL_Device_SetG729Enable DEVICE_CODE( 9, FILE_WRITE_ACCESS, ARG_DWORD) // (void) 00108 00109 //========================================================================== 00110 //========================================================================== 00111 // 00112 // IOCTL and function codes for Quicknet's Internet PhoneJACK and 00113 // Internet LineJACK cards. 00114 // 00115 //========================================================================== 00116 //-------------------------------------------------------------------------- 00117 // Codec support 00118 //-------------------------------------------------------------------------- 00119 // 00120 #define FILE_DEVICE_CODEC 0x8002 00121 00122 #define CODEC_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_CODEC, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00123 00124 #define IOCTL_Codec_SetSetRate CODEC_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wSetRate) 00125 #define IOCTL_Codec_GetSetRate CODEC_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00126 #define IOCTL_Codec_SetINPUT_CODEC CODEC_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00127 #define IOCTL_Codec_GetINPUT_CODEC CODEC_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00128 #define IOCTL_Codec_SetOUTPUT_CODEC CODEC_IOCTL_CODE( 4, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00129 #define IOCTL_Codec_GetOUTPUT_CODEC CODEC_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00130 #define IOCTL_Codec_SetLong CODEC_IOCTL_CODE( 6, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00131 #define IOCTL_Codec_GetLong CODEC_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) 00132 #define IOCTL_Codec_SetMaster CODEC_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00133 #define IOCTL_Codec_GetMaster CODEC_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) 00134 #define IOCTL_Codec_SetLaw CODEC_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00135 #define IOCTL_Codec_GetLaw CODEC_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00136 #define IOCTL_Codec_SetWidth CODEC_IOCTL_CODE( 12, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00137 #define IOCTL_Codec_GetWidth CODEC_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) 00138 #define IOCTL_Codec_SetCO_RATE CODEC_IOCTL_CODE( 14, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00139 #define IOCTL_Codec_GetCO_RATE CODEC_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) 00140 #define IOCTL_Codec_SetFSYNC_RATE CODEC_IOCTL_CODE( 16, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00141 #define IOCTL_Codec_GetFSYNC_RATE CODEC_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) 00142 #define IOCTL_Codec_SetWIDE CODEC_IOCTL_CODE( 18, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00143 #define IOCTL_Codec_GetWIDE CODEC_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) 00144 #define IOCTL_Codec_Loopback CODEC_IOCTL_CODE( 20, FILE_READ_ACCESS, ARG_VOID) // (void) 00145 #define IOCTL_Codec_SetKHz CODEC_IOCTL_CODE( 23, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00146 #define IOCTL_Codec_GetKHz CODEC_IOCTL_CODE( 24, FILE_READ_ACCESS, ARG_VOID) // (void) 00147 #define IOCTL_Codec_SetLegacyKHz CODEC_IOCTL_CODE( 25, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00148 #define IOCTL_Codec_GetLegacyKHz CODEC_IOCTL_CODE( 26, FILE_READ_ACCESS, ARG_VOID) // (void) 00149 #define IOCTL_Codec_SetChannels CODEC_IOCTL_CODE( 27, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) 00150 #define IOCTL_Codec_GetChannels CODEC_IOCTL_CODE( 28, FILE_READ_ACCESS, ARG_VOID) // (void) 00151 00152 #define fnCodec_SetSetRate IOCTL_Codec_SetSetRate 00153 #define fnCodec_GetSetRate IOCTL_Codec_GetSetRate 00154 #define fnCodec_SetINPUT_CODEC IOCTL_Codec_SetINPUT_CODEC 00155 #define fnCodec_GetINPUT_CODEC IOCTL_Codec_GetINPUT_CODEC 00156 #define fnCodec_SetOUTPUT_CODEC IOCTL_Codec_SetOUTPUT_CODEC 00157 #define fnCodec_GetOUTPUT_CODEC IOCTL_Codec_GetOUTPUT_CODEC 00158 #define fnCodec_SetLong IOCTL_Codec_SetLong 00159 #define fnCodec_GetLong IOCTL_Codec_GetLong 00160 #define fnCodec_SetMaster IOCTL_Codec_SetMaster 00161 #define fnCodec_GetMaster IOCTL_Codec_GetMaster 00162 #define fnCodec_SetLaw IOCTL_Codec_SetLaw 00163 #define fnCodec_GetLaw IOCTL_Codec_GetLaw 00164 #define fnCodec_SetWidth IOCTL_Codec_SetWidth 00165 #define fnCodec_GetWidth IOCTL_Codec_GetWidth 00166 #define fnCodec_SetCO_RATE IOCTL_Codec_SetCO_RATE 00167 #define fnCodec_GetCO_RATE IOCTL_Codec_GetCO_RATE 00168 #define fnCodec_SetFSYNC_RATE IOCTL_Codec_SetFSYNC_RATE 00169 #define fnCodec_GetFSYNC_RATE IOCTL_Codec_GetFSYNC_RATE 00170 #define fnCodec_SetWIDE IOCTL_Codec_SetWIDE 00171 #define fnCodec_GetWIDE IOCTL_Codec_GetWIDE 00172 #define fnCodec_Loopback IOCTL_Codec_Loopback 00173 #define fnCodec_SetKHz IOCTL_Codec_SetKHz 00174 #define fnCodec_GetKHz IOCTL_Codec_GetKHz 00175 #define fnCodec_SetLegacyKHz IOCTL_Codec_SetLegacyKHz 00176 #define fnCodec_GetLegacyKHz IOCTL_Codec_GetLegacyKHz 00177 #define fnCodec_SetChannels IOCTL_Codec_SetChannels 00178 #define fnCodec_GetChannels IOCTL_Codec_GetChannels 00179 00180 //========================================================================== 00181 //-------------------------------------------------------------------------- 00182 // Compression/Decompression support 00183 //-------------------------------------------------------------------------- 00184 // 00185 #define FILE_DEVICE_COMPRESS 0x8008 00186 00187 #define COMPRESS_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_COMPRESS, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00188 00189 #define IOCTL_Compress_Start COMPRESS_IOCTL_CODE( 0, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00190 #define IOCTL_Compress_Continue COMPRESS_IOCTL_CODE( 1, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00191 #define IOCTL_Compress_Stop COMPRESS_IOCTL_CODE( 2, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00192 #define IOCTL_Compress_SetRate COMPRESS_IOCTL_CODE( 3, FILE_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00193 #define IOCTL_Compress_GetRate COMPRESS_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00194 #define IOCTL_Compress_SetTFRMode COMPRESS_IOCTL_CODE( 5, FILE_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00195 #define IOCTL_Compress_GetTFRMode COMPRESS_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00196 #define IOCTL_Decompress_Start COMPRESS_IOCTL_CODE( 7, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00197 #define IOCTL_Decompress_Continue COMPRESS_IOCTL_CODE( 8, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00198 #define IOCTL_Decompress_Stop COMPRESS_IOCTL_CODE( 9, FILE_WRITE_ACCESS, ARG_VOID) // (void) 00199 #define IOCTL_Decompress_SetRate COMPRESS_IOCTL_CODE( 10, FILE_WRITE_ACCESS, ARG_VOID) // (ARG_DWORD wNew) 00200 #define IOCTL_Decompress_GetRate COMPRESS_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00201 #define IOCTL_Decompress_SetTFRMode COMPRESS_IOCTL_CODE( 12, FILE_WRITE_ACCESS, ARG_VOID) // (ARG_DWORD wNew) 00202 #define IOCTL_Decompress_GetTFRMode COMPRESS_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) 00203 00204 #define fnCompress_Start IOCTL_Compress_Start 00205 #define fnCompress_Continue IOCTL_Compress_Continue 00206 #define fnCompress_Stop IOCTL_Compress_Stop 00207 #define fnCompress_SetRate IOCTL_Compress_SetRate 00208 #define fnCompress_GetRate IOCTL_Compress_GetRate 00209 #define fnCompress_SetTFRMode IOCTL_Compress_SetTFRMode 00210 #define fnCompress_GetTFRMode IOCTL_Compress_GetTFRMode 00211 #define fnDecompress_Start IOCTL_Decompress_Start 00212 #define fnDecompress_Continue IOCTL_Decompress_Continue 00213 #define fnDecompress_Stop IOCTL_Decompress_Stop 00214 #define fnDecompress_SetRate IOCTL_Decompress_SetRate 00215 #define fnDecompress_GetRate IOCTL_Decompress_GetRate 00216 #define fnDecompress_SetTFRMode IOCTL_Decompress_SetTFRMode 00217 #define fnDecompress_GetTFRMode IOCTL_Decompress_GetTFRMode 00218 00219 //========================================================================== 00220 //-------------------------------------------------------------------------- 00221 // Device support 00222 //-------------------------------------------------------------------------- 00223 // 00224 #define FILE_DEVICE_DEVCTRL 0x8007 00225 00226 #define DEVCTRL_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_DEVCTRL, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00227 00228 #define IOCTL_DevCtrl_CheckROM DEVCTRL_IOCTL_CODE( 0, FILE_READ_ACCESS, ARG_VOID) // (void) 00229 #define IOCTL_DevCtrl_TestSRAM DEVCTRL_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00230 #define IOCTL_DevCtrl_SRAM8Bit DEVCTRL_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) 00231 #define IOCTL_DevCtrl_SRAM16Bit DEVCTRL_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00232 #define IOCTL_DevCtrl_GetIdCode DEVCTRL_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00233 #define IOCTL_DevCtrl_GetVersionCode DEVCTRL_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00234 #define IOCTL_DevCtrl_TestCountMode DEVCTRL_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00235 #define IOCTL_DevCtrl_TestDigitalMilliwatt DEVCTRL_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) 00236 #define IOCTL_DevCtrl_TestLoopback DEVCTRL_IOCTL_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // (void) 00237 #define IOCTL_DevCtrl_TestExit DEVCTRL_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) 00238 #define IOCTL_DevCtrl_Slowdown DEVCTRL_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00239 #define IOCTL_DevCtrl_GPIODirection DEVCTRL_IOCTL_CODE( 11, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00240 #define IOCTL_DevCtrl_GPIOWrite DEVCTRL_IOCTL_CODE( 12, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00241 #define IOCTL_DevCtrl_GPIORead DEVCTRL_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) 00242 #define IOCTL_DevCtrl_EnableFR DEVCTRL_IOCTL_CODE( 14, FILE_READ_ACCESS, ARG_VOID) // (void) 00243 #define IOCTL_DevCtrl_DisableFR DEVCTRL_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) 00244 #define IOCTL_DevCtrl_ClearFR DEVCTRL_IOCTL_CODE( 16, FILE_READ_ACCESS, ARG_VOID) // (void) 00245 #define IOCTL_DevCtrl_ReadFR DEVCTRL_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) 00246 #define IOCTL_DevCtrl_SetAnalogSource DEVCTRL_IOCTL_CODE( 18, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00247 #define IOCTL_DevCtrl_GetAnalogSource DEVCTRL_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) 00248 #define IOCTL_DevCtrl_SetSLICState DEVCTRL_IOCTL_CODE( 20, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00249 #define IOCTL_DevCtrl_GetSLICState DEVCTRL_IOCTL_CODE( 21, FILE_READ_ACCESS, ARG_VOID) // (void) 00250 #define IOCTL_DevCtrl_ReadHookState DEVCTRL_IOCTL_CODE( 22, FILE_READ_ACCESS, ARG_VOID) // (void) 00251 #define IOCTL_DevCtrl_GetOnHook DEVCTRL_IOCTL_CODE( 23, FILE_READ_ACCESS, ARG_VOID) // (void) 00252 #define IOCTL_DevCtrl_SetRingPattern DEVCTRL_IOCTL_CODE( 24, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00253 #define IOCTL_DevCtrl_SetLineJackMode DEVCTRL_IOCTL_CODE( 25, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00254 #define IOCTL_DevCtrl_GetLineJackMode DEVCTRL_IOCTL_CODE( 26, FILE_READ_ACCESS, ARG_VOID) // (void) 00255 #define IOCTL_DevCtrl_LineSetOnHook DEVCTRL_IOCTL_CODE( 27, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00256 #define IOCTL_DevCtrl_LineGetRinging DEVCTRL_IOCTL_CODE( 28, FILE_READ_ACCESS, ARG_VOID) // (void) 00257 #define IOCTL_DevCtrl_SetPotsToSlic DEVCTRL_IOCTL_CODE( 29, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00258 #define IOCTL_DevCtrl_GetPotsToSlic DEVCTRL_IOCTL_CODE( 30, FILE_READ_ACCESS, ARG_VOID) // (void) 00259 #define IOCTL_DevCtrl_GetLineOnHook DEVCTRL_IOCTL_CODE( 31, FILE_READ_ACCESS, ARG_VOID) // (void) 00260 #define IOCTL_DevCtrl_GetLineCallerOnHook DEVCTRL_IOCTL_CODE( 32, FILE_READ_ACCESS, ARG_VOID) // (void) 00261 #define IOCTL_DevCtrl_GetLinePhoneOnHook DEVCTRL_IOCTL_CODE( 33, FILE_READ_ACCESS, ARG_VOID) // (void) 00262 #define IOCTL_DevCtrl_SetSpeaker DEVCTRL_IOCTL_CODE( 34, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) 00263 #define IOCTL_DevCtrl_GetLineTestResult DEVCTRL_IOCTL_CODE( 35, FILE_READ_ACCESS, ARG_VOID) // (void) 00264 #define IOCTL_DevCtrl_LineTest DEVCTRL_IOCTL_CODE( 36, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) 00265 #define IOCTL_DevCtrl_Wink DEVCTRL_IOCTL_CODE( 37, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) 00266 #define IOCTL_DevCtrl_Flash DEVCTRL_IOCTL_CODE( 38, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) 00267 #define IOCTL_DevCtrl_LineGetCallerID DEVCTRL_IOCTL_CODE( 39, FILE_READ_ACCESS, ARG_VOID) // char* returned in input buffer 00268 #define IOCTL_DevCtrl_GetAttachedDevices DEVCTRL_IOCTL_CODE( 40, FILE_READ_ACCESS, ARG_VOID) // (void) 00269 #define IOCTL_DevCtrl_GetFlashState DEVCTRL_IOCTL_CODE( 41, FILE_READ_ACCESS, ARG_VOID) // (void) 00270 #define IOCTL_DevCtrl_GetCoefficientGroup DEVCTRL_IOCTL_CODE( 42, FILE_READ_ACCESS, ARG_VOID) // (void) 00271 #define IOCTL_DevCtrl_SetCoefficientGroup DEVCTRL_IOCTL_CODE( 43, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00272 #define IOCTL_DevCtrl_GetPhoneType DEVCTRL_IOCTL_CODE( 44, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00273 #define IOCTL_DevCtrl_SetPhoneType DEVCTRL_IOCTL_CODE( 45, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00274 #define IOCTL_DevCtrl_SetRingCadence DEVCTRL_IOCTL_CODE( 46, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00275 #define IOCTL_DevCtrl_SetWinkGenTime DEVCTRL_IOCTL_CODE( 47, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00276 #define IOCTL_DevCtrl_GetWinkGenTime DEVCTRL_IOCTL_CODE( 48, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00277 #define IOCTL_DevCtrl_SetFlashDetTime DEVCTRL_IOCTL_CODE( 49, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00278 #define IOCTL_DevCtrl_GetFlashDetTime DEVCTRL_IOCTL_CODE( 50, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00279 #define IOCTL_DevCtrl_SetLineFlashGenTime DEVCTRL_IOCTL_CODE( 51, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00280 #define IOCTL_DevCtrl_GetLineFlashGenTime DEVCTRL_IOCTL_CODE( 52, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00281 #define IOCTL_DevCtrl_SetLineWinkDetTime DEVCTRL_IOCTL_CODE( 53, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00282 #define IOCTL_DevCtrl_GetLineWinkDetTime DEVCTRL_IOCTL_CODE( 54, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00283 #define IOCTL_DevCtrl_SetAutoPhoneHookSwitch DEVCTRL_IOCTL_CODE( 55, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00284 #define IOCTL_DevCtrl_GetAutoPhoneHookSwitch DEVCTRL_IOCTL_CODE( 56, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00285 #define IOCTL_DevCtrl_SetLEDState DEVCTRL_IOCTL_CODE( 57, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) 00286 #define IOCTL_DevCtrl_GetLEDState DEVCTRL_IOCTL_CODE( 58, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) 00287 00288 #define fnDevCtrl_CheckROM IOCTL_DevCtrl_CheckROM 00289 #define fnDevCtrl_TestSRAM IOCTL_DevCtrl_TestSRAM 00290 #define fnDevCtrl_SRAM8Bit IOCTL_DevCtrl_SRAM8Bit 00291 #define fnDevCtrl_SRAM16Bit IOCTL_DevCtrl_SRAM16Bit 00292 #define fnDevCtrl_GetIdCode IOCTL_DevCtrl_GetIdCode 00293 #define fnDevCtrl_GetVersionCode IOCTL_DevCtrl_GetVersionCode 00294 #define fnDevCtrl_TestCountMode IOCTL_DevCtrl_TestCountMode 00295 #define fnDevCtrl_TestDigitalMilliwatt IOCTL_DevCtrl_TestDigitalMilliwatt 00296 #define fnDevCtrl_TestLoopback IOCTL_DevCtrl_TestLoopback 00297 #define fnDevCtrl_TestExit IOCTL_DevCtrl_TestExit 00298 #define fnDevCtrl_Slowdown IOCTL_DevCtrl_Slowdown 00299 #define fnDevCtrl_GPIODirection IOCTL_DevCtrl_GPIODirection 00300 #define fnDevCtrl_GPIOWrite IOCTL_DevCtrl_GPIOWrite 00301 #define fnDevCtrl_GPIORead IOCTL_DevCtrl_GPIORead 00302 #define fnDevCtrl_EnableFR IOCTL_DevCtrl_EnableFR 00303 #define fnDevCtrl_DisableFR IOCTL_DevCtrl_DisableFR 00304 #define fnDevCtrl_ClearFR IOCTL_DevCtrl_ClearFR 00305 #define fnDevCtrl_ReadFR IOCTL_DevCtrl_ReadFR 00306 #define fnDevCtrl_SetAnalogSource IOCTL_DevCtrl_SetAnalogSource 00307 #define fnDevCtrl_GetAnalogSource IOCTL_DevCtrl_GetAnalogSource 00308 #define fnDevCtrl_SetSLICState IOCTL_DevCtrl_SetSLICState 00309 #define fnDevCtrl_GetSLICState IOCTL_DevCtrl_GetSLICState 00310 #define fnDevCtrl_ReadHookState IOCTL_DevCtrl_ReadHookState 00311 #define fnDevCtrl_GetOnHook IOCTL_DevCtrl_GetOnHook 00312 #define fnDevCtrl_SetRingPattern IOCTL_DevCtrl_SetRingPattern 00313 #define fnDevCtrl_SetLineJackMode IOCTL_DevCtrl_SetLineJackMode 00314 #define fnDevCtrl_GetLineJackMode IOCTL_DevCtrl_GetLineJackMode 00315 #define fnDevCtrl_LineSetOnHook IOCTL_DevCtrl_LineSetOnHook 00316 #define fnDevCtrl_LineGetRinging IOCTL_DevCtrl_LineGetRinging 00317 #define fnDevCtrl_SetPotsToSlic IOCTL_DevCtrl_SetPotsToSlic 00318 #define fnDevCtrl_GetPotsToSlic IOCTL_DevCtrl_GetPotsToSlic 00319 #define fnDevCtrl_GetLineOnHook IOCTL_DevCtrl_GetLineOnHook 00320 #define fnDevCtrl_GetLineCallerOnHook IOCTL_DevCtrl_GetLineCallerOnHook 00321 #define fnDevCtrl_GetLinePhoneOnHook IOCTL_DevCtrl_GetLinePhoneOnHook 00322 #define fnDevCtrl_SetSpeaker IOCTL_DevCtrl_SetSpeaker 00323 #define fnDevCtrl_GetLineTestResult IOCTL_DevCtrl_GetLineTestResult 00324 #define fnDevCtrl_LineTest IOCTL_DevCtrl_LineTest 00325 #define fnDevCtrl_Wink IOCTL_DevCtrl_Wink 00326 #define fnDevCtrl_Flash IOCTL_DevCtrl_Flash 00327 #define fnDevCtrl_LineGetCallerID IOCTL_DevCtrl_LineGetCallerID 00328 #define fnDevCtrl_GetAttachedDevices IOCTL_DevCtrl_GetAttachedDevices 00329 #define fnDevCtrl_GetFlashState IOCTL_DevCtrl_GetFlashState 00330 #define fnDevCtrl_GetCoefficientGroup IOCTL_DevCtrl_GetCoefficientGroup 00331 #define fnDevCtrl_SetCoefficientGroup IOCTL_DevCtrl_SetCoefficientGroup 00332 #define fnDevCtrl_GetPhoneType IOCTL_DevCtrl_GetPhoneType 00333 #define fnDevCtrl_SetPhoneType IOCTL_DevCtrl_SetPhoneType 00334 #define fnDevCtrl_SetRingCadence IOCTL_DevCtrl_SetRingCadence 00335 #define fnDevCtrl_SetWinkGenTime IOCTL_DevCtrl_SetWinkGenTime 00336 #define fnDevCtrl_GetWinkGenTime IOCTL_DevCtrl_GetWinkGenTime 00337 #define fnDevCtrl_SetFlashDetTime IOCTL_DevCtrl_SetFlashDetTime 00338 #define fnDevCtrl_GetFlashDetTime IOCTL_DevCtrl_GetFlashDetTime 00339 #define fnDevCtrl_SetLineFlashGenTime IOCTL_DevCtrl_SetLineFlashGenTime 00340 #define fnDevCtrl_GetLineFlashGenTime IOCTL_DevCtrl_GetLineFlashGenTime 00341 #define fnDevCtrl_SetLineWinkDetTime IOCTL_DevCtrl_SetLineWinkDetTime 00342 #define fnDevCtrl_GetLineWinkDetTime IOCTL_DevCtrl_GetLineWinkDetTime 00343 #define fnDevCtrl_SetAutoPhoneHookSwitch IOCTL_DevCtrl_SetAutoPhoneHookSwitch 00344 #define fnDevCtrl_GetAutoPhoneHookSwitch IOCTL_DevCtrl_GetAutoPhoneHookSwitch 00345 #define fnDevCtrl_SetLEDState IOCTL_DevCtrl_SetLEDState 00346 #define fnDevCtrl_GetLEDState IOCTL_DevCtrl_GetLEDState 00347 00348 //========================================================================== 00349 //-------------------------------------------------------------------------- 00350 // Filter support 00351 //-------------------------------------------------------------------------- 00352 // 00353 #define FILE_DEVICE_FILTER 0x8006 00354 00355 #define FILTER_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_FILTER, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00356 00357 #define IOCTL_Filter_SetFilterModeSync FILTER_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00358 #define IOCTL_Filter_SetFilterModeAsync FILTER_IOCTL_CODE( 1, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00359 #define IOCTL_Filter_GetFilterMode FILTER_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) 00360 #define IOCTL_Filter_EnableDTMFDetect FILTER_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00361 #define IOCTL_Filter_DisableDTMFDetect FILTER_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00362 #define IOCTL_Filter_IsDTMFValid FILTER_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00363 #define IOCTL_Filter_GetDTMFDigit FILTER_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00364 #define IOCTL_Filter_GetFrameCount FILTER_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) 00365 #define IOCTL_Filter_IsCPFValid FILTER_IOCTL_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // (void) 00366 #define IOCTL_Filter_SetFilterPrescaler FILTER_IOCTL_CODE( 9, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wScale ) 00367 #define IOCTL_Filter_GetFilterPrescaler FILTER_IOCTL_CODE( 10, FILE_READ_ACCESS, ARG_VOID) // (void) 00368 #define IOCTL_Filter_LineMonitor FILTER_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00369 #define IOCTL_Filter_ProgramFilter FILTER_IOCTL_CODE( 12, FILE_READ_ACCESS, ARG_VOID) // (void) 00370 #define IOCTL_Filter_EnableFilter FILTER_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) 00371 #define IOCTL_Filter_DisableFilter FILTER_IOCTL_CODE( 14, FILE_READ_ACCESS, ARG_VOID) // (void) 00372 #define IOCTL_Filter_DetectToneCadence FILTER_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) 00373 #define IOCTL_Filter_StopDetectToneCadence FILTER_IOCTL_CODE( 16, FILE_READ_ACCESS, ARG_VOID) // (void) 00374 #define IOCTL_Filter_IsToneCadenceValid FILTER_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) 00375 00376 #define fnFilter_SetFilterModeSync IOCTL_Filter_SetFilterModeSync 00377 #define fnFilter_SetFilterModeAsync IOCTL_Filter_SetFilterModeAsync 00378 #define fnFilter_GetFilterMode IOCTL_Filter_GetFilterMode 00379 #define fnFilter_EnableDTMFDetect IOCTL_Filter_EnableDTMFDetect 00380 #define fnFilter_DisableDTMFDetect IOCTL_Filter_DisableDTMFDetect 00381 #define fnFilter_IsDTMFValid IOCTL_Filter_IsDTMFValid 00382 #define fnFilter_GetDTMFDigit IOCTL_Filter_GetDTMFDigit 00383 #define fnFilter_GetFrameCount IOCTL_Filter_GetFrameCount 00384 #define fnFilter_IsCPFValid IOCTL_Filter_IsCPFValid 00385 #define fnFilter_SetFilterPrescaler IOCTL_Filter_SetFilterPrescaler 00386 #define fnFilter_GetFilterPrescaler IOCTL_Filter_GetFilterPrescaler 00387 #define fnFilter_LineMonitor IOCTL_Filter_LineMonitor 00388 #define fnFilter_ProgramFilter IOCTL_Filter_ProgramFilter 00389 #define fnFilter_EnableFilter IOCTL_Filter_EnableFilter 00390 #define fnFilter_DisableFilter IOCTL_Filter_DisableFilter 00391 #define fnFilter_DetectToneCadence IOCTL_Filter_DetectToneCadence 00392 #define fnFilter_StopDetectToneCadence IOCTL_Filter_StopDetectToneCadence 00393 #define fnFilter_IsToneCadenceValid IOCTL_Filter_IsToneCadenceValid 00394 00395 //========================================================================== 00396 //-------------------------------------------------------------------------- 00397 // Idle support 00398 //-------------------------------------------------------------------------- 00399 // 00400 #define FILE_DEVICE_IDLE 0x8000 00401 00402 #define IDLE_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_IDLE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00403 00404 #define IOCTL_Idle_Idle IDLE_IOCTL_CODE( 0, FILE_READ_ACCESS, ARG_VOID) // (void) 00405 #define IOCTL_Idle_SetMasterGain IDLE_IOCTL_CODE( 1, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00406 #define IOCTL_Idle_GetMasterGain IDLE_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) 00407 #define IOCTL_Idle_SetSyncToneMode IDLE_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00408 #define IOCTL_Idle_SetAsyncToneMode IDLE_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00409 #define IOCTL_Idle_SetToneIndex IDLE_IOCTL_CODE( 5, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00410 #define IOCTL_Idle_GetToneIndex IDLE_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00411 #define IOCTL_Idle_GetToneMode IDLE_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) 00412 #define IOCTL_Idle_SetToneOnPeriod IDLE_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00413 #define IOCTL_Idle_GetToneOnPeriod IDLE_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) 00414 #define IOCTL_Idle_SetToneOffPeriod IDLE_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00415 #define IOCTL_Idle_GetToneOffPeriod IDLE_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00416 #define IOCTL_Idle_GetToneState IDLE_IOCTL_CODE( 12, FILE_READ_ACCESS, ARG_VOID) // (void) 00417 #define IOCTL_Idle_GenerateTone IDLE_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) 00418 #define IOCTL_Idle_NewToneInit IDLE_IOCTL_CODE( 14, FILE_READ_ACCESS, ARG_VOID) // (IDLE_NEW_TONE*) 00419 #define IOCTL_Idle_PlayTone IDLE_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_DWORD) // (IDLE_TONE*) 00420 #define IOCTL_Idle_StopTone IDLE_IOCTL_CODE( 16, FILE_READ_ACCESS, ARG_VOID) // (void) 00421 00422 #define fnIdle_Idle IOCTL_Idle_Idle 00423 #define fnIdle_SetMasterGain IOCTL_Idle_SetMasterGain 00424 #define fnIdle_GetMasterGain IOCTL_Idle_GetMasterGain 00425 #define fnIdle_SetSyncToneMode IOCTL_Idle_SetSyncToneMode 00426 #define fnIdle_SetAsyncToneMode IOCTL_Idle_SetAsyncToneMode 00427 #define fnIdle_SetToneIndex IOCTL_Idle_SetToneIndex 00428 #define fnIdle_GetToneIndex IOCTL_Idle_GetToneIndex 00429 #define fnIdle_GetToneMode IOCTL_Idle_GetToneMode 00430 #define fnIdle_SetToneOnPeriod IOCTL_Idle_SetToneOnPeriod 00431 #define fnIdle_GetToneOnPeriod IOCTL_Idle_GetToneOnPeriod 00432 #define fnIdle_SetToneOffPeriod IOCTL_Idle_SetToneOffPeriod 00433 #define fnIdle_GetToneOffPeriod IOCTL_Idle_GetToneOffPeriod 00434 #define fnIdle_GetToneState IOCTL_Idle_GetToneState 00435 #define fnIdle_GenerateTone IOCTL_Idle_GenerateTone 00436 #define fnIdle_NewToneInit IOCTL_Idle_NewToneInit 00437 #define fnIdle_PlayTone IOCTL_Idle_PlayTone 00438 #define fnIdle_StopTone IOCTL_Idle_StopTone 00439 00440 //========================================================================== 00441 //-------------------------------------------------------------------------- 00442 // Mixer support 00443 //-------------------------------------------------------------------------- 00444 // 00445 #define FILE_DEVICE_MIXER 0x800A 00446 00447 #define MIXER_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_MIXER, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00448 00449 #define IOCTL_Mixer_SetPlaybackLineControls MIXER_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00450 #define IOCTL_Mixer_GetPlaybackLineControls MIXER_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00451 #define IOCTL_Mixer_SetRecordLineControls MIXER_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00452 #define IOCTL_Mixer_GetRecordLineControls MIXER_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00453 #define IOCTL_Mixer_SetOutputMixer MIXER_IOCTL_CODE( 4, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00454 #define IOCTL_Mixer_GetOutputMixer MIXER_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00455 #define IOCTL_Mixer_SetInputMixer MIXER_IOCTL_CODE( 6, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00456 #define IOCTL_Mixer_GetInputMixer MIXER_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine 00457 #define IOCTL_Mixer_SetMasterRecordGain MIXER_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB 00458 #define IOCTL_Mixer_SetMasterPlaybackGain MIXER_IOCTL_CODE( 9, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB 00459 #define IOCTL_Mixer_SetPSTNRecordGain MIXER_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB 00460 #define IOCTL_Mixer_SetPSTNPlaybackGain MIXER_IOCTL_CODE( 11, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB 00461 00462 //========================================================================== 00463 //-------------------------------------------------------------------------- 00464 // Playback support 00465 //-------------------------------------------------------------------------- 00466 // 00467 #define FILE_DEVICE_PLAYBACK 0x8004 00468 00469 #define PLAYBACK_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_PLAYBACK, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00470 00471 #define IOCTL_Playback_SetTFRMode PLAYBACK_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00472 #define IOCTL_Playback_GetTFRMode PLAYBACK_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00473 #define IOCTL_Playback_SetPLAYMODE PLAYBACK_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00474 #define IOCTL_Playback_GetPLAYMODE PLAYBACK_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00475 #define IOCTL_Playback_GetDTMF_VALID PLAYBACK_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00476 #define IOCTL_Playback_GetCPF_VALID PLAYBACK_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00477 #define IOCTL_Playback_GetDTMF_DIGIT PLAYBACK_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00478 #define IOCTL_Playback_SetRate PLAYBACK_IOCTL_CODE( 7, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00479 #define IOCTL_Playback_GetRate PLAYBACK_IOCTL_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // (void) 00480 #define IOCTL_Playback_Start_Old PLAYBACK_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) 00481 //#define IOCTL_Playback_Continue PLAYBACK_IOCTL_CODE( 10, FILE_READ_ACCESS, ARG_VOID) // (void) 00482 #define IOCTL_Playback_Continue CTL_CODE( FILE_DEVICE_PLAYBACK, 0x80a, METHOD_NEITHER, FILE_READ_ACCESS ) // (void) 00483 #define IOCTL_Playback_Stop PLAYBACK_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00484 #define IOCTL_Playback_SetVolume PLAYBACK_IOCTL_CODE( 12, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00485 #define IOCTL_Playback_GetVolume PLAYBACK_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_DWORD) // (WORD wNew) 00486 #define IOCTL_Playback_SetSyncMode PLAYBACK_IOCTL_CODE( 14, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00487 #define IOCTL_Playback_GetSyncMode PLAYBACK_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) 00488 #define IOCTL_Playback_SetBufferChannelLimit PLAYBACK_IOCTL_CODE( 16, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00489 #define IOCTL_Playback_GetBufferChannelLimit PLAYBACK_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) 00490 #define IOCTL_Playback_GetFrameSize PLAYBACK_IOCTL_CODE( 18, FILE_READ_ACCESS, ARG_VOID) // (void) 00491 #define IOCTL_Playback_GetAvgPlaybackLevel PLAYBACK_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) 00492 #define IOCTL_Playback_ContinueLogFrame PLAYBACK_IOCTL_CODE( 20, FILE_READ_ACCESS, ARG_VOID) // (void) 00493 #define IOCTL_Playback_Open PLAYBACK_IOCTL_CODE( 21, FILE_READ_ACCESS, ARG_VOID) // (void) 00494 #define IOCTL_Playback_Close PLAYBACK_IOCTL_CODE( 22, FILE_READ_ACCESS, ARG_DWORD) // (DWORD) 00495 #define IOCTL_Playback_SetMute PLAYBACK_IOCTL_CODE( 23, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00496 #define IOCTL_Playback_GetMute PLAYBACK_IOCTL_CODE( 24, FILE_READ_ACCESS, ARG_VOID) // (void) 00497 #define IOCTL_Playback_GetBufferDepth PLAYBACK_IOCTL_CODE( 25, FILE_READ_ACCESS, ARG_VOID) // (void) 00498 #define IOCTL_Playback_GetPlaybackLevelValue PLAYBACK_IOCTL_CODE( 26, FILE_READ_ACCESS, ARG_VOID) // (void) 00499 #define IOCTL_Playback_IsPlaying PLAYBACK_IOCTL_CODE( 27, FILE_READ_ACCESS, ARG_VOID) // (void) 00500 #define IOCTL_Playback_Start PLAYBACK_IOCTL_CODE( 28, FILE_READ_ACCESS, ARG_VOID) // (void) 00501 00502 #define fnPlayback_SetTFRMode IOCTL_Playback_SetTFRMode 00503 #define fnPlayback_GetTFRMode IOCTL_Playback_GetTFRMode 00504 #define fnPlayback_SetPLAYMODE IOCTL_Playback_SetPLAYMODE 00505 #define fnPlayback_GetPLAYMODE IOCTL_Playback_GetPLAYMODE 00506 #define fnPlayback_GetDTMF_VALID IOCTL_Playback_GetDTMF_VALID 00507 #define fnPlayback_GetCPF_VALID IOCTL_Playback_GetCPF_VALID 00508 #define fnPlayback_GetDTMF_DIGIT IOCTL_Playback_GetDTMF_DIGIT 00509 #define fnPlayback_SetRate IOCTL_Playback_SetRate 00510 #define fnPlayback_GetRate IOCTL_Playback_GetRate 00511 #define fnPlayback_Start IOCTL_Playback_Start 00512 #define fnPlayback_Continue IOCTL_Playback_Continue 00513 #define fnPlayback_Stop IOCTL_Playback_Stop 00514 #define fnPlayback_SetVolume IOCTL_Playback_SetVolume 00515 #define fnPlayback_GetVolume IOCTL_Playback_GetVolume 00516 #define fnPlayback_SetSyncMode IOCTL_Playback_SetSyncMode 00517 #define fnPlayback_GetSyncMode IOCTL_Playback_GetSyncMode 00518 #define fnPlayback_SetBufferChannelLimit IOCTL_Playback_SetBufferChannelLimit 00519 #define fnPlayback_GetBufferChannelLimit IOCTL_Playback_GetBufferChannelLimit 00520 #define fnPlayback_GetFrameSize IOCTL_Playback_GetFrameSize 00521 #define fnPlayback_GetAvgPlaybackLevel IOCTL_Playback_GetAvgPlaybackLevel 00522 #define fnPlayback_ContinueLogFrame IOCTL_Playback_ContinueLogFrame 00523 #define fnPlayback_Open IOCTL_Playback_Open 00524 #define fnPlayback_Close IOCTL_Playback_Close 00525 #define fnPlayback_SetMute IOCTL_Playback_SetMute 00526 #define fnPlayback_GetMute IOCTL_Playback_GetMute 00527 #define fnPlayback_GetBufferDepth IOCTL_Playback_GetBufferDepth 00528 #define fnPlayback_GetPlaybackLevelValue IOCTL_Playback_GetPlaybackLevelValue 00529 #define fnPlayback_IsPlaying IOCTL_Playback_IsPlaying 00530 00531 //========================================================================== 00532 //-------------------------------------------------------------------------- 00533 // Record support 00534 //-------------------------------------------------------------------------- 00535 // 00536 #define FILE_DEVICE_RECORD 0x8003 00537 00538 #define RECORD_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_RECORD, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00539 00540 #define IOCTL_Record_SetTFRMode RECORD_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00541 #define IOCTL_Record_GetTFRMode RECORD_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00542 #define IOCTL_Record_SetRECMODE RECORD_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00543 #define IOCTL_Record_GetRECMODE RECORD_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00544 #define IOCTL_Record_GetPEAK RECORD_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00545 #define IOCTL_Record_GetDTMF_VALID RECORD_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00546 #define IOCTL_Record_GetCPF_VALID RECORD_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00547 #define IOCTL_Record_GetDTMF_DIGIT RECORD_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) 00548 #define IOCTL_Record_SetThresholdValue RECORD_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00549 #define IOCTL_Record_GetThresholdValue RECORD_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) 00550 #define IOCTL_Record_GetRecordLevelValue RECORD_IOCTL_CODE( 10, FILE_READ_ACCESS, ARG_VOID) // (void) 00551 #define IOCTL_Record_Start_Old RECORD_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00552 //#define IOCTL_Record_Continue RECORD_IOCTL_CODE( 12, FILE_READ_ACCESS, ARG_VOID) // (void) 00553 #define IOCTL_Record_Continue CTL_CODE( FILE_DEVICE_RECORD, 0x80c, METHOD_NEITHER, FILE_READ_ACCESS ) // (void) 00554 #define IOCTL_Record_Stop RECORD_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) 00555 #define IOCTL_Record_SetRate RECORD_IOCTL_CODE( 14, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00556 #define IOCTL_Record_GetRate RECORD_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) 00557 #define IOCTL_Record_SetVolume RECORD_IOCTL_CODE( 16, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00558 #define IOCTL_Record_GetVolume RECORD_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) 00559 #define IOCTL_Record_SetAGCMinGain RECORD_IOCTL_CODE( 18, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00560 #define IOCTL_Record_GetAGCMinGain RECORD_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) 00561 #define IOCTL_Record_SetAGCMaxGain RECORD_IOCTL_CODE( 20, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00562 #define IOCTL_Record_GetAGCMaxGain RECORD_IOCTL_CODE( 21, FILE_READ_ACCESS, ARG_VOID) // (void) 00563 #define IOCTL_Record_SetAGCStartGain RECORD_IOCTL_CODE( 22, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00564 #define IOCTL_Record_GetAGCStartGain RECORD_IOCTL_CODE( 23, FILE_READ_ACCESS, ARG_VOID) // (void) 00565 #define IOCTL_Record_SetAGCHoldTime RECORD_IOCTL_CODE( 24, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00566 #define IOCTL_Record_GetAGCHoldTime RECORD_IOCTL_CODE( 25, FILE_READ_ACCESS, ARG_VOID) // (void) 00567 #define IOCTL_Record_SetAGCAttackTime RECORD_IOCTL_CODE( 26, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00568 #define IOCTL_Record_GetAGCAttackTime RECORD_IOCTL_CODE( 27, FILE_READ_ACCESS, ARG_VOID) // (void) 00569 #define IOCTL_Record_SetAGCDecayTime RECORD_IOCTL_CODE( 28, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00570 #define IOCTL_Record_GetAGCDecayTime RECORD_IOCTL_CODE( 29, FILE_READ_ACCESS, ARG_VOID) // (void) 00571 #define IOCTL_Record_SetAGCAttackThreshold RECORD_IOCTL_CODE( 30, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00572 #define IOCTL_Record_GetAGCAttackThreshold RECORD_IOCTL_CODE( 31, FILE_READ_ACCESS, ARG_VOID) // (void) 00573 #define IOCTL_Record_SetAGCOnOff RECORD_IOCTL_CODE( 32, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00574 #define IOCTL_Record_GetAGCOnOff RECORD_IOCTL_CODE( 33, FILE_READ_ACCESS, ARG_VOID) // (void) 00575 #define IOCTL_Record_SetSyncMode RECORD_IOCTL_CODE( 34, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00576 #define IOCTL_Record_GetSyncMode RECORD_IOCTL_CODE( 35, FILE_READ_ACCESS, ARG_VOID) // (void) 00577 #define IOCTL_Record_SetBufferChannelLimit RECORD_IOCTL_CODE( 36, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00578 #define IOCTL_Record_GetBufferChannelLimit RECORD_IOCTL_CODE( 37, FILE_READ_ACCESS, ARG_VOID) // (void) 00579 #define IOCTL_Record_GetFrameSize RECORD_IOCTL_CODE( 38, FILE_READ_ACCESS, ARG_VOID) // (void) 00580 #define IOCTL_Record_GetAvgRecordLevel RECORD_IOCTL_CODE( 39, FILE_READ_ACCESS, ARG_VOID) // (void) 00581 #define IOCTL_Record_ContinueLogFrame RECORD_IOCTL_CODE( 40, FILE_READ_ACCESS, ARG_VOID) // (void) 00582 #define IOCTL_Record_Open RECORD_IOCTL_CODE( 41, FILE_READ_ACCESS, ARG_VOID) // (void) 00583 #define IOCTL_Record_Close RECORD_IOCTL_CODE( 42, FILE_READ_ACCESS, ARG_DWORD) // (DWORD) 00584 #define IOCTL_Record_SetMute RECORD_IOCTL_CODE( 43, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00585 #define IOCTL_Record_GetMute RECORD_IOCTL_CODE( 44, FILE_READ_ACCESS, ARG_VOID) // (void) 00586 #define IOCTL_Record_EnableVAD RECORD_IOCTL_CODE( 45, FILE_READ_ACCESS, ARG_VOID) // (void) 00587 #define IOCTL_Record_DisableVAD RECORD_IOCTL_CODE( 46, FILE_READ_ACCESS, ARG_VOID) // (void) 00588 #define IOCTL_Record_SetDisableOnDTMFDetect RECORD_IOCTL_CODE( 47, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00589 #define IOCTL_Record_GetDisableOnDTMFDetect RECORD_IOCTL_CODE( 48, FILE_READ_ACCESS, ARG_VOID) // (void) 00590 #define IOCTL_Record_IsRecording RECORD_IOCTL_CODE( 49, FILE_READ_ACCESS, ARG_VOID) // (void) 00591 #define IOCTL_Record_Start RECORD_IOCTL_CODE( 50, FILE_READ_ACCESS, ARG_VOID) // (void) 00592 00593 #define fnRecord_SetTFRMode IOCTL_Record_SetTFRMode 00594 #define fnRecord_GetTFRMode IOCTL_Record_GetTFRMode 00595 #define fnRecord_SetRECMODE IOCTL_Record_SetRECMODE 00596 #define fnRecord_GetRECMODE IOCTL_Record_GetRECMODE 00597 #define fnRecord_GetPEAK IOCTL_Record_GetPEAK 00598 #define fnRecord_GetDTMF_VALID IOCTL_Record_GetDTMF_VALID 00599 #define fnRecord_GetCPF_VALID IOCTL_Record_GetCPF_VALID 00600 #define fnRecord_GetDTMF_DIGIT IOCTL_Record_GetDTMF_DIGIT 00601 #define fnRecord_SetThresholdValue IOCTL_Record_SetThresholdValue 00602 #define fnRecord_GetThresholdValue IOCTL_Record_GetThresholdValue 00603 #define fnRecord_GetRecordLevelValue IOCTL_Record_GetRecordLevelValue 00604 #define fnRecord_Start IOCTL_Record_Start 00605 #define fnRecord_Continue IOCTL_Record_Continue 00606 #define fnRecord_Stop IOCTL_Record_Stop 00607 #define fnRecord_SetRate IOCTL_Record_SetRate 00608 #define fnRecord_GetRate IOCTL_Record_GetRate 00609 #define fnRecord_SetVolume IOCTL_Record_SetVolume 00610 #define fnRecord_GetVolume IOCTL_Record_GetVolume 00611 #define fnRecord_SetAGCMinGain IOCTL_Record_SetAGCMinGain 00612 #define fnRecord_GetAGCMinGain IOCTL_Record_GetAGCMinGain 00613 #define fnRecord_SetAGCMaxGain IOCTL_Record_SetAGCMaxGain 00614 #define fnRecord_GetAGCMaxGain IOCTL_Record_GetAGCMaxGain 00615 #define fnRecord_SetAGCStartGain IOCTL_Record_SetAGCStartGain 00616 #define fnRecord_GetAGCStartGain IOCTL_Record_GetAGCStartGain 00617 #define fnRecord_SetAGCHoldTime IOCTL_Record_SetAGCHoldTime 00618 #define fnRecord_GetAGCHoldTime IOCTL_Record_GetAGCHoldTime 00619 #define fnRecord_SetAGCAttackTime IOCTL_Record_SetAGCAttackTime 00620 #define fnRecord_GetAGCAttackTime IOCTL_Record_GetAGCAttackTime 00621 #define fnRecord_SetAGCDecayTime IOCTL_Record_SetAGCDecayTime 00622 #define fnRecord_GetAGCDecayTime IOCTL_Record_GetAGCDecayTime 00623 #define fnRecord_SetAGCAttackThreshold IOCTL_Record_SetAGCAttackThreshold 00624 #define fnRecord_GetAGCAttackThreshold IOCTL_Record_GetAGCAttackThreshold 00625 #define fnRecord_SetAGCOnOff IOCTL_Record_SetAGCOnOff 00626 #define fnRecord_GetAGCOnOff IOCTL_Record_GetAGCOnOff 00627 #define fnRecord_SetSyncMode IOCTL_Record_SetSyncMode 00628 #define fnRecord_GetSyncMode IOCTL_Record_GetSyncMode 00629 #define fnRecord_SetBufferChannelLimit IOCTL_Record_SetBufferChannelLimit 00630 #define fnRecord_GetBufferChannelLimit IOCTL_Record_GetBufferChannelLimit 00631 #define fnRecord_GetFrameSize IOCTL_Record_GetFrameSize 00632 #define fnRecord_GetAvgRecordLevel IOCTL_Record_GetAvgRecordLevel 00633 #define fnRecord_SetMute IOCTL_Record_SetMute 00634 #define fnRecord_GetMute IOCTL_Record_GetMute 00635 #define fnRecord_ContinueLogFrame IOCTL_Record_ContinueLogFrame 00636 #define fnRecord_IsRecording IOCTL_Record_IsRecording 00637 00638 //========================================================================== 00639 //-------------------------------------------------------------------------- 00640 // Speakerphone support 00641 //-------------------------------------------------------------------------- 00642 // 00643 #define FILE_DEVICE_SPEAKERPHONE 0x8005 00644 00645 #define SPEAKERPHONE_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_SPEAKERPHONE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00646 00647 #define IOCTL_Speakerphone_SetSpeakerVolume SPEAKERPHONE_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00648 #define IOCTL_Speakerphone_GetSpeakerVolume SPEAKERPHONE_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00649 #define IOCTL_Speakerphone_AECOn SPEAKERPHONE_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) 00650 #define IOCTL_Speakerphone_AECOff SPEAKERPHONE_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00651 #define IOCTL_Speakerphone_AECAdvancedLoOn SPEAKERPHONE_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) 00652 #define IOCTL_Speakerphone_AECAdvancedHiOn SPEAKERPHONE_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00653 #define IOCTL_Speakerphone_AECAdvancedLoOff SPEAKERPHONE_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) 00654 #define IOCTL_Speakerphone_AECAdvancedHiOff SPEAKERPHONE_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) 00655 #define IOCTL_Speakerphone_SetAEC SPEAKERPHONE_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00656 #define IOCTL_Speakerphone_GetAEC SPEAKERPHONE_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) 00657 #define IOCTL_Speakerphone_SetBaseFrameSize SPEAKERPHONE_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) 00658 #define IOCTL_Speakerphone_GetBaseFrameSize SPEAKERPHONE_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) 00659 00660 #define fnSpeakerphone_SetSpeakerVolume IOCTL_Speakerphone_SetSpeakerVolume 00661 #define fnSpeakerphone_GetSpeakerVolume IOCTL_Speakerphone_GetSpeakerVolume 00662 #define fnSpeakerphone_AECOn IOCTL_Speakerphone_AECOn 00663 #define fnSpeakerphone_AECOff IOCTL_Speakerphone_AECOff 00664 #define fnSpeakerphone_AECAdvancedLoOn IOCTL_Speakerphone_AECAdvancedLoOn 00665 #define fnSpeakerphone_AECAdvancedHiOn IOCTL_Speakerphone_AECAdvancedHiOn 00666 #define fnSpeakerphone_AECAdvancedLoOff IOCTL_Speakerphone_AECAdvancedLoOff 00667 #define fnSpeakerphone_AECAdvancedHiOff IOCTL_Speakerphone_AECAdvancedHiOff 00668 #define fnSpeakerphone_SetAEC IOCTL_Speakerphone_SetAEC 00669 #define fnSpeakerphone_GetAEC IOCTL_Speakerphone_GetAEC 00670 00671 //========================================================================== 00672 //-------------------------------------------------------------------------- 00673 // Fax support 00674 //-------------------------------------------------------------------------- 00675 // 00676 #define FILE_DEVICE_FAX 0x800B 00677 00678 #define FAX_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_FAX, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00679 00680 #define IOCTL_Fax_Start FAX_IOCTL_CODE( 0, FILE_READ_ACCESS, ARG_VOID) // (void) 00681 #define IOCTL_Fax_Stop FAX_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00682 #define IOCTL_Fax_Write FAX_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD *buf) 00683 #define IOCTL_Fax_Read FAX_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00684 00685 #define fnFax_Start IOCTL_Fax_Start 00686 #define fnFax_Stop IOCTL_Fax_Stop 00687 #define fnFax_Fax_Write IOCTL_Fax_Write 00688 #define fnFax_Read IOCTL_Fax_Read 00689 00690 //========================================================================== 00691 //-------------------------------------------------------------------------- 00692 // FSK support 00693 //-------------------------------------------------------------------------- 00694 // 00695 #define FILE_DEVICE_FSK 0x800C 00696 00697 #define FSK_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_FSK, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00698 00699 #define IOCTL_FSK_SetMsgData FSK_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (BYTE*) 00700 00701 #define fnFSK_SetMsgData IOCTL_FSK_SetMsgData 00702 00703 //========================================================================== 00704 //-------------------------------------------------------------------------- 00705 // Tone support 00706 //-------------------------------------------------------------------------- 00707 // 00708 #define FILE_DEVICE_TONE 0x800D 00709 00710 #define TONE_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_TONE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00711 00712 #define IOCTL_Tone_PlayToneCadence TONE_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (BYTE*) 00713 00714 #define fnTone_PlayToneCadence IOCTL_Tone_PlayToneCadence 00715 00716 //========================================================================== 00717 //-------------------------------------------------------------------------- 00718 // VxD support 00719 // 00720 // NOTE: These names will be changed in the future to a generic 'driver' 00721 // naming convention. 00722 //-------------------------------------------------------------------------- 00723 // 00724 #define FILE_DEVICE_VXD 0x8001 00725 00726 #define VXD_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_VXD, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) 00727 00728 #define IOCTL_VxD_SetCallback VXD_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_VOID) // (FARPROC pfnCallback) - Callback address 00729 #define IOCTL_VxD_GetInterruptEvents VXD_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) 00730 #define IOCTL_VxD_EnableInterrupts VXD_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) 00731 #define IOCTL_VxD_DisableInterrupts VXD_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) 00732 #define IOCTL_VxD_AddPerformanceStat VXD_IOCTL_CODE( 4, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (LPPERF_STAT lpPerfStat) 00733 #define IOCTL_VxD_GetVersion VXD_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) 00734 00735 #define fnVxD_SetCallback IOCTL_VxD_SetCallback 00736 #define fnVxD_GetInterruptEvents IOCTL_VxD_GetInterruptEvents 00737 #define fnVxD_EnableInterrupts IOCTL_VxD_EnableInterrupts 00738 #define fnVxD_DisableInterrupts IOCTL_VxD_DisableInterrupts 00739 #define fnVxD_AddPerformanceStat IOCTL_VxD_AddPerformanceStat 00740 #define fnVxD_GetVersion IOCTL_VxD_GetVersion 00741 00742 #endif 00743 00744 // eof: QTIoctl.h

Generated on Sat Jul 24 17:03:36 2004 for OpenH323 by doxygen 1.3.7