www.pudn.com > openh323-v1_15_1-src.zip > QTIoctl.h
/* QTIoctl.h Copyright (c) 1996-1999, Quicknet Technologies, Inc. All Rights Reserved. DeviceIoControl codes for Internet PhoneJACK, LineJACK, etc. drivers. ----------------------------------------------------------------- $Header: /cvsroot/openh323/openh323/include/QTIoctl.h,v 1.5 2001/09/20 23:58:40 robertj Exp $ */ #ifndef _QTIOCTL_H_ #define _QTIOCTL_H_ // // The following #defines come from. // // //- Beginning of included from section ------------------------------ // // Macro definition for defining IOCTL and FSCTL function control codes. Note // that function codes 0-2047 are reserved for Microsoft Corporation, and // 2048-4095 are reserved for customers. // #undef CTL_CODE #define CTL_CODE( DeviceType, Function, Method, Access ) ( \ ((DWORD)(DeviceType) << 16) | ((DWORD)(Access) << 14) | ((DWORD)(Function) << 2) | (DWORD)(Method) \ ) // // Define the method codes for how buffers are passed for I/O and FS controls // #define METHOD_BUFFERED 0 #define METHOD_IN_DIRECT 1 #define METHOD_OUT_DIRECT 2 #define METHOD_NEITHER 3 // // Define the access check value for any access // // // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these // constants *MUST* always be in sync. // #define FILE_ANY_ACCESS 0 #define FILE_READ_ACCESS ( 0x0001 ) // file & pipe #define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe // //- End of included from section ------------------------------ // #define FILE_READ_WRITE_ACCESS (FILE_WRITE_ACCESS|FILE_READ_ACCESS) #define ARG_DWORD 0x400 #define ARG_VOID 0 #define MASK_DWORD ( ARG_DWORD << 2 ) #define MASK_VOID ( ARG_VOID << 2 ) #define MASK_WRITE ( FILE_WRITE_ACCESS << 14 ) #define MASK_READ ( FILE_READ_ACCESS << 14 ) #define MASK_READ_WRITE ( FILE_READ_WRITE_ACCESS << 14 ) #define IoctlTransferType( Code ) (Code & 3) #define IoctlDeviceType( Code ) ((Code >> 16) & 0xffff) #define IoctlRequiredAccess( Code ) ((Code & 0xc000)>>14) #define IoctlControlCode( Code ) ((Code >> 2) & 0x03ff) #define IoctlFunctionCode( Code ) ((Code >> 2) & 0x0bff) #define IoctlIsVoidArg( Code ) ((Code & MASK_DWORD) == MASK_VOID) #define IoctlIsRead( Code ) ((Code & MASK_READ) == MASK_READ) #define IoctlIsWrite( Code ) ((Code & MASK_WRITE) == MASK_WRITE) #define IoctlIsReadWrite( Code ) ((Code & MASK_READ_WRITE) == MASK_READ_WRITE) #define IoctlHasArgument( Code ) ((Code & (MASK_WRITE|MASK_DWORD))== (MASK_WRITE|MASK_DWORD)) #define IoctlHasBuffer( Code ) ((Code & MASK_READ_WRITE) != 0) #ifndef LPVOID #ifndef FAR #define FAR #endif typedef void FAR * LPVOID; #endif #ifndef DEVNODE #define DEVNODE DWORD #endif ///////////////////////////////////////////////////////////////////////////////////////////////////////// // Win32 device operations #define FILE_DEVICE_DEVICE 0x8009 #define DEVICE_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_DEVICE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) // Function codes #define IOCTL_Device_Open DEVICE_CODE( 0, FILE_WRITE_ACCESS, ARG_DWORD) // (ARG_DWORD dwSerialNo) #define IOCTL_Device_Close DEVICE_CODE( 1, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Device_Read DEVICE_CODE( 2, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Device_Write DEVICE_CODE( 3, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Device_CancelIO DEVICE_CODE( 6, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Device_GetSerialNumber DEVICE_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // void #define IOCTL_Device_GetG729Enable DEVICE_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // void #define IOCTL_Device_SetG729Enable DEVICE_CODE( 9, FILE_WRITE_ACCESS, ARG_DWORD) // (void) //========================================================================== //========================================================================== // // IOCTL and function codes for Quicknet's Internet PhoneJACK and // Internet LineJACK cards. // //========================================================================== //-------------------------------------------------------------------------- // Codec support //-------------------------------------------------------------------------- // #define FILE_DEVICE_CODEC 0x8002 #define CODEC_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_CODEC, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Codec_SetSetRate CODEC_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wSetRate) #define IOCTL_Codec_GetSetRate CODEC_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetINPUT_CODEC CODEC_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetINPUT_CODEC CODEC_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetOUTPUT_CODEC CODEC_IOCTL_CODE( 4, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetOUTPUT_CODEC CODEC_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetLong CODEC_IOCTL_CODE( 6, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetLong CODEC_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetMaster CODEC_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetMaster CODEC_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetLaw CODEC_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetLaw CODEC_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetWidth CODEC_IOCTL_CODE( 12, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetWidth CODEC_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetCO_RATE CODEC_IOCTL_CODE( 14, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetCO_RATE CODEC_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetFSYNC_RATE CODEC_IOCTL_CODE( 16, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetFSYNC_RATE CODEC_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetWIDE CODEC_IOCTL_CODE( 18, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetWIDE CODEC_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_Loopback CODEC_IOCTL_CODE( 20, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetKHz CODEC_IOCTL_CODE( 23, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetKHz CODEC_IOCTL_CODE( 24, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetLegacyKHz CODEC_IOCTL_CODE( 25, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetLegacyKHz CODEC_IOCTL_CODE( 26, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Codec_SetChannels CODEC_IOCTL_CODE( 27, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wData) #define IOCTL_Codec_GetChannels CODEC_IOCTL_CODE( 28, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnCodec_SetSetRate IOCTL_Codec_SetSetRate #define fnCodec_GetSetRate IOCTL_Codec_GetSetRate #define fnCodec_SetINPUT_CODEC IOCTL_Codec_SetINPUT_CODEC #define fnCodec_GetINPUT_CODEC IOCTL_Codec_GetINPUT_CODEC #define fnCodec_SetOUTPUT_CODEC IOCTL_Codec_SetOUTPUT_CODEC #define fnCodec_GetOUTPUT_CODEC IOCTL_Codec_GetOUTPUT_CODEC #define fnCodec_SetLong IOCTL_Codec_SetLong #define fnCodec_GetLong IOCTL_Codec_GetLong #define fnCodec_SetMaster IOCTL_Codec_SetMaster #define fnCodec_GetMaster IOCTL_Codec_GetMaster #define fnCodec_SetLaw IOCTL_Codec_SetLaw #define fnCodec_GetLaw IOCTL_Codec_GetLaw #define fnCodec_SetWidth IOCTL_Codec_SetWidth #define fnCodec_GetWidth IOCTL_Codec_GetWidth #define fnCodec_SetCO_RATE IOCTL_Codec_SetCO_RATE #define fnCodec_GetCO_RATE IOCTL_Codec_GetCO_RATE #define fnCodec_SetFSYNC_RATE IOCTL_Codec_SetFSYNC_RATE #define fnCodec_GetFSYNC_RATE IOCTL_Codec_GetFSYNC_RATE #define fnCodec_SetWIDE IOCTL_Codec_SetWIDE #define fnCodec_GetWIDE IOCTL_Codec_GetWIDE #define fnCodec_Loopback IOCTL_Codec_Loopback #define fnCodec_SetKHz IOCTL_Codec_SetKHz #define fnCodec_GetKHz IOCTL_Codec_GetKHz #define fnCodec_SetLegacyKHz IOCTL_Codec_SetLegacyKHz #define fnCodec_GetLegacyKHz IOCTL_Codec_GetLegacyKHz #define fnCodec_SetChannels IOCTL_Codec_SetChannels #define fnCodec_GetChannels IOCTL_Codec_GetChannels //========================================================================== //-------------------------------------------------------------------------- // Compression/Decompression support //-------------------------------------------------------------------------- // #define FILE_DEVICE_COMPRESS 0x8008 #define COMPRESS_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_COMPRESS, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Compress_Start COMPRESS_IOCTL_CODE( 0, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Compress_Continue COMPRESS_IOCTL_CODE( 1, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Compress_Stop COMPRESS_IOCTL_CODE( 2, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Compress_SetRate COMPRESS_IOCTL_CODE( 3, FILE_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Compress_GetRate COMPRESS_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Compress_SetTFRMode COMPRESS_IOCTL_CODE( 5, FILE_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Compress_GetTFRMode COMPRESS_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Decompress_Start COMPRESS_IOCTL_CODE( 7, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Decompress_Continue COMPRESS_IOCTL_CODE( 8, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Decompress_Stop COMPRESS_IOCTL_CODE( 9, FILE_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_Decompress_SetRate COMPRESS_IOCTL_CODE( 10, FILE_WRITE_ACCESS, ARG_VOID) // (ARG_DWORD wNew) #define IOCTL_Decompress_GetRate COMPRESS_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Decompress_SetTFRMode COMPRESS_IOCTL_CODE( 12, FILE_WRITE_ACCESS, ARG_VOID) // (ARG_DWORD wNew) #define IOCTL_Decompress_GetTFRMode COMPRESS_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnCompress_Start IOCTL_Compress_Start #define fnCompress_Continue IOCTL_Compress_Continue #define fnCompress_Stop IOCTL_Compress_Stop #define fnCompress_SetRate IOCTL_Compress_SetRate #define fnCompress_GetRate IOCTL_Compress_GetRate #define fnCompress_SetTFRMode IOCTL_Compress_SetTFRMode #define fnCompress_GetTFRMode IOCTL_Compress_GetTFRMode #define fnDecompress_Start IOCTL_Decompress_Start #define fnDecompress_Continue IOCTL_Decompress_Continue #define fnDecompress_Stop IOCTL_Decompress_Stop #define fnDecompress_SetRate IOCTL_Decompress_SetRate #define fnDecompress_GetRate IOCTL_Decompress_GetRate #define fnDecompress_SetTFRMode IOCTL_Decompress_SetTFRMode #define fnDecompress_GetTFRMode IOCTL_Decompress_GetTFRMode //========================================================================== //-------------------------------------------------------------------------- // Device support //-------------------------------------------------------------------------- // #define FILE_DEVICE_DEVCTRL 0x8007 #define DEVCTRL_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_DEVCTRL, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_DevCtrl_CheckROM DEVCTRL_IOCTL_CODE( 0, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_TestSRAM DEVCTRL_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SRAM8Bit DEVCTRL_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SRAM16Bit DEVCTRL_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetIdCode DEVCTRL_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetVersionCode DEVCTRL_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_TestCountMode DEVCTRL_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_TestDigitalMilliwatt DEVCTRL_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_TestLoopback DEVCTRL_IOCTL_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_TestExit DEVCTRL_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_Slowdown DEVCTRL_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GPIODirection DEVCTRL_IOCTL_CODE( 11, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GPIOWrite DEVCTRL_IOCTL_CODE( 12, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GPIORead DEVCTRL_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_EnableFR DEVCTRL_IOCTL_CODE( 14, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_DisableFR DEVCTRL_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_ClearFR DEVCTRL_IOCTL_CODE( 16, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_ReadFR DEVCTRL_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SetAnalogSource DEVCTRL_IOCTL_CODE( 18, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GetAnalogSource DEVCTRL_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SetSLICState DEVCTRL_IOCTL_CODE( 20, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GetSLICState DEVCTRL_IOCTL_CODE( 21, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_ReadHookState DEVCTRL_IOCTL_CODE( 22, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetOnHook DEVCTRL_IOCTL_CODE( 23, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SetRingPattern DEVCTRL_IOCTL_CODE( 24, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_SetLineJackMode DEVCTRL_IOCTL_CODE( 25, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GetLineJackMode DEVCTRL_IOCTL_CODE( 26, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_LineSetOnHook DEVCTRL_IOCTL_CODE( 27, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_LineGetRinging DEVCTRL_IOCTL_CODE( 28, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SetPotsToSlic DEVCTRL_IOCTL_CODE( 29, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GetPotsToSlic DEVCTRL_IOCTL_CODE( 30, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetLineOnHook DEVCTRL_IOCTL_CODE( 31, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetLineCallerOnHook DEVCTRL_IOCTL_CODE( 32, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetLinePhoneOnHook DEVCTRL_IOCTL_CODE( 33, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SetSpeaker DEVCTRL_IOCTL_CODE( 34, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD) #define IOCTL_DevCtrl_GetLineTestResult DEVCTRL_IOCTL_CODE( 35, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_LineTest DEVCTRL_IOCTL_CODE( 36, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_Wink DEVCTRL_IOCTL_CODE( 37, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_Flash DEVCTRL_IOCTL_CODE( 38, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_LineGetCallerID DEVCTRL_IOCTL_CODE( 39, FILE_READ_ACCESS, ARG_VOID) // char* returned in input buffer #define IOCTL_DevCtrl_GetAttachedDevices DEVCTRL_IOCTL_CODE( 40, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetFlashState DEVCTRL_IOCTL_CODE( 41, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_GetCoefficientGroup DEVCTRL_IOCTL_CODE( 42, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_DevCtrl_SetCoefficientGroup DEVCTRL_IOCTL_CODE( 43, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetPhoneType DEVCTRL_IOCTL_CODE( 44, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetPhoneType DEVCTRL_IOCTL_CODE( 45, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetRingCadence DEVCTRL_IOCTL_CODE( 46, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetWinkGenTime DEVCTRL_IOCTL_CODE( 47, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetWinkGenTime DEVCTRL_IOCTL_CODE( 48, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetFlashDetTime DEVCTRL_IOCTL_CODE( 49, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetFlashDetTime DEVCTRL_IOCTL_CODE( 50, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetLineFlashGenTime DEVCTRL_IOCTL_CODE( 51, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetLineFlashGenTime DEVCTRL_IOCTL_CODE( 52, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetLineWinkDetTime DEVCTRL_IOCTL_CODE( 53, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetLineWinkDetTime DEVCTRL_IOCTL_CODE( 54, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetAutoPhoneHookSwitch DEVCTRL_IOCTL_CODE( 55, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetAutoPhoneHookSwitch DEVCTRL_IOCTL_CODE( 56, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_SetLEDState DEVCTRL_IOCTL_CODE( 57, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_DevCtrl_GetLEDState DEVCTRL_IOCTL_CODE( 58, FILE_READ_WRITE_ACCESS, ARG_VOID) // (void) #define fnDevCtrl_CheckROM IOCTL_DevCtrl_CheckROM #define fnDevCtrl_TestSRAM IOCTL_DevCtrl_TestSRAM #define fnDevCtrl_SRAM8Bit IOCTL_DevCtrl_SRAM8Bit #define fnDevCtrl_SRAM16Bit IOCTL_DevCtrl_SRAM16Bit #define fnDevCtrl_GetIdCode IOCTL_DevCtrl_GetIdCode #define fnDevCtrl_GetVersionCode IOCTL_DevCtrl_GetVersionCode #define fnDevCtrl_TestCountMode IOCTL_DevCtrl_TestCountMode #define fnDevCtrl_TestDigitalMilliwatt IOCTL_DevCtrl_TestDigitalMilliwatt #define fnDevCtrl_TestLoopback IOCTL_DevCtrl_TestLoopback #define fnDevCtrl_TestExit IOCTL_DevCtrl_TestExit #define fnDevCtrl_Slowdown IOCTL_DevCtrl_Slowdown #define fnDevCtrl_GPIODirection IOCTL_DevCtrl_GPIODirection #define fnDevCtrl_GPIOWrite IOCTL_DevCtrl_GPIOWrite #define fnDevCtrl_GPIORead IOCTL_DevCtrl_GPIORead #define fnDevCtrl_EnableFR IOCTL_DevCtrl_EnableFR #define fnDevCtrl_DisableFR IOCTL_DevCtrl_DisableFR #define fnDevCtrl_ClearFR IOCTL_DevCtrl_ClearFR #define fnDevCtrl_ReadFR IOCTL_DevCtrl_ReadFR #define fnDevCtrl_SetAnalogSource IOCTL_DevCtrl_SetAnalogSource #define fnDevCtrl_GetAnalogSource IOCTL_DevCtrl_GetAnalogSource #define fnDevCtrl_SetSLICState IOCTL_DevCtrl_SetSLICState #define fnDevCtrl_GetSLICState IOCTL_DevCtrl_GetSLICState #define fnDevCtrl_ReadHookState IOCTL_DevCtrl_ReadHookState #define fnDevCtrl_GetOnHook IOCTL_DevCtrl_GetOnHook #define fnDevCtrl_SetRingPattern IOCTL_DevCtrl_SetRingPattern #define fnDevCtrl_SetLineJackMode IOCTL_DevCtrl_SetLineJackMode #define fnDevCtrl_GetLineJackMode IOCTL_DevCtrl_GetLineJackMode #define fnDevCtrl_LineSetOnHook IOCTL_DevCtrl_LineSetOnHook #define fnDevCtrl_LineGetRinging IOCTL_DevCtrl_LineGetRinging #define fnDevCtrl_SetPotsToSlic IOCTL_DevCtrl_SetPotsToSlic #define fnDevCtrl_GetPotsToSlic IOCTL_DevCtrl_GetPotsToSlic #define fnDevCtrl_GetLineOnHook IOCTL_DevCtrl_GetLineOnHook #define fnDevCtrl_GetLineCallerOnHook IOCTL_DevCtrl_GetLineCallerOnHook #define fnDevCtrl_GetLinePhoneOnHook IOCTL_DevCtrl_GetLinePhoneOnHook #define fnDevCtrl_SetSpeaker IOCTL_DevCtrl_SetSpeaker #define fnDevCtrl_GetLineTestResult IOCTL_DevCtrl_GetLineTestResult #define fnDevCtrl_LineTest IOCTL_DevCtrl_LineTest #define fnDevCtrl_Wink IOCTL_DevCtrl_Wink #define fnDevCtrl_Flash IOCTL_DevCtrl_Flash #define fnDevCtrl_LineGetCallerID IOCTL_DevCtrl_LineGetCallerID #define fnDevCtrl_GetAttachedDevices IOCTL_DevCtrl_GetAttachedDevices #define fnDevCtrl_GetFlashState IOCTL_DevCtrl_GetFlashState #define fnDevCtrl_GetCoefficientGroup IOCTL_DevCtrl_GetCoefficientGroup #define fnDevCtrl_SetCoefficientGroup IOCTL_DevCtrl_SetCoefficientGroup #define fnDevCtrl_GetPhoneType IOCTL_DevCtrl_GetPhoneType #define fnDevCtrl_SetPhoneType IOCTL_DevCtrl_SetPhoneType #define fnDevCtrl_SetRingCadence IOCTL_DevCtrl_SetRingCadence #define fnDevCtrl_SetWinkGenTime IOCTL_DevCtrl_SetWinkGenTime #define fnDevCtrl_GetWinkGenTime IOCTL_DevCtrl_GetWinkGenTime #define fnDevCtrl_SetFlashDetTime IOCTL_DevCtrl_SetFlashDetTime #define fnDevCtrl_GetFlashDetTime IOCTL_DevCtrl_GetFlashDetTime #define fnDevCtrl_SetLineFlashGenTime IOCTL_DevCtrl_SetLineFlashGenTime #define fnDevCtrl_GetLineFlashGenTime IOCTL_DevCtrl_GetLineFlashGenTime #define fnDevCtrl_SetLineWinkDetTime IOCTL_DevCtrl_SetLineWinkDetTime #define fnDevCtrl_GetLineWinkDetTime IOCTL_DevCtrl_GetLineWinkDetTime #define fnDevCtrl_SetAutoPhoneHookSwitch IOCTL_DevCtrl_SetAutoPhoneHookSwitch #define fnDevCtrl_GetAutoPhoneHookSwitch IOCTL_DevCtrl_GetAutoPhoneHookSwitch #define fnDevCtrl_SetLEDState IOCTL_DevCtrl_SetLEDState #define fnDevCtrl_GetLEDState IOCTL_DevCtrl_GetLEDState //========================================================================== //-------------------------------------------------------------------------- // Filter support //-------------------------------------------------------------------------- // #define FILE_DEVICE_FILTER 0x8006 #define FILTER_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_FILTER, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Filter_SetFilterModeSync FILTER_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Filter_SetFilterModeAsync FILTER_IOCTL_CODE( 1, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Filter_GetFilterMode FILTER_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_EnableDTMFDetect FILTER_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_DisableDTMFDetect FILTER_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_IsDTMFValid FILTER_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_GetDTMFDigit FILTER_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_GetFrameCount FILTER_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_IsCPFValid FILTER_IOCTL_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_SetFilterPrescaler FILTER_IOCTL_CODE( 9, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wScale ) #define IOCTL_Filter_GetFilterPrescaler FILTER_IOCTL_CODE( 10, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_LineMonitor FILTER_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_ProgramFilter FILTER_IOCTL_CODE( 12, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_EnableFilter FILTER_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_DisableFilter FILTER_IOCTL_CODE( 14, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_DetectToneCadence FILTER_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_StopDetectToneCadence FILTER_IOCTL_CODE( 16, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Filter_IsToneCadenceValid FILTER_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnFilter_SetFilterModeSync IOCTL_Filter_SetFilterModeSync #define fnFilter_SetFilterModeAsync IOCTL_Filter_SetFilterModeAsync #define fnFilter_GetFilterMode IOCTL_Filter_GetFilterMode #define fnFilter_EnableDTMFDetect IOCTL_Filter_EnableDTMFDetect #define fnFilter_DisableDTMFDetect IOCTL_Filter_DisableDTMFDetect #define fnFilter_IsDTMFValid IOCTL_Filter_IsDTMFValid #define fnFilter_GetDTMFDigit IOCTL_Filter_GetDTMFDigit #define fnFilter_GetFrameCount IOCTL_Filter_GetFrameCount #define fnFilter_IsCPFValid IOCTL_Filter_IsCPFValid #define fnFilter_SetFilterPrescaler IOCTL_Filter_SetFilterPrescaler #define fnFilter_GetFilterPrescaler IOCTL_Filter_GetFilterPrescaler #define fnFilter_LineMonitor IOCTL_Filter_LineMonitor #define fnFilter_ProgramFilter IOCTL_Filter_ProgramFilter #define fnFilter_EnableFilter IOCTL_Filter_EnableFilter #define fnFilter_DisableFilter IOCTL_Filter_DisableFilter #define fnFilter_DetectToneCadence IOCTL_Filter_DetectToneCadence #define fnFilter_StopDetectToneCadence IOCTL_Filter_StopDetectToneCadence #define fnFilter_IsToneCadenceValid IOCTL_Filter_IsToneCadenceValid //========================================================================== //-------------------------------------------------------------------------- // Idle support //-------------------------------------------------------------------------- // #define FILE_DEVICE_IDLE 0x8000 #define IDLE_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_IDLE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Idle_Idle IDLE_IOCTL_CODE( 0, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_SetMasterGain IDLE_IOCTL_CODE( 1, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Idle_GetMasterGain IDLE_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_SetSyncToneMode IDLE_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_SetAsyncToneMode IDLE_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_SetToneIndex IDLE_IOCTL_CODE( 5, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Idle_GetToneIndex IDLE_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_GetToneMode IDLE_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_SetToneOnPeriod IDLE_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Idle_GetToneOnPeriod IDLE_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_SetToneOffPeriod IDLE_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Idle_GetToneOffPeriod IDLE_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_GetToneState IDLE_IOCTL_CODE( 12, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_GenerateTone IDLE_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Idle_NewToneInit IDLE_IOCTL_CODE( 14, FILE_READ_ACCESS, ARG_VOID) // (IDLE_NEW_TONE*) #define IOCTL_Idle_PlayTone IDLE_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_DWORD) // (IDLE_TONE*) #define IOCTL_Idle_StopTone IDLE_IOCTL_CODE( 16, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnIdle_Idle IOCTL_Idle_Idle #define fnIdle_SetMasterGain IOCTL_Idle_SetMasterGain #define fnIdle_GetMasterGain IOCTL_Idle_GetMasterGain #define fnIdle_SetSyncToneMode IOCTL_Idle_SetSyncToneMode #define fnIdle_SetAsyncToneMode IOCTL_Idle_SetAsyncToneMode #define fnIdle_SetToneIndex IOCTL_Idle_SetToneIndex #define fnIdle_GetToneIndex IOCTL_Idle_GetToneIndex #define fnIdle_GetToneMode IOCTL_Idle_GetToneMode #define fnIdle_SetToneOnPeriod IOCTL_Idle_SetToneOnPeriod #define fnIdle_GetToneOnPeriod IOCTL_Idle_GetToneOnPeriod #define fnIdle_SetToneOffPeriod IOCTL_Idle_SetToneOffPeriod #define fnIdle_GetToneOffPeriod IOCTL_Idle_GetToneOffPeriod #define fnIdle_GetToneState IOCTL_Idle_GetToneState #define fnIdle_GenerateTone IOCTL_Idle_GenerateTone #define fnIdle_NewToneInit IOCTL_Idle_NewToneInit #define fnIdle_PlayTone IOCTL_Idle_PlayTone #define fnIdle_StopTone IOCTL_Idle_StopTone //========================================================================== //-------------------------------------------------------------------------- // Mixer support //-------------------------------------------------------------------------- // #define FILE_DEVICE_MIXER 0x800A #define MIXER_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_MIXER, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Mixer_SetPlaybackLineControls MIXER_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_GetPlaybackLineControls MIXER_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_SetRecordLineControls MIXER_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_GetRecordLineControls MIXER_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_SetOutputMixer MIXER_IOCTL_CODE( 4, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_GetOutputMixer MIXER_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_SetInputMixer MIXER_IOCTL_CODE( 6, FILE_READ_WRITE_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_GetInputMixer MIXER_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // MIXER_LINE* pMixerLine #define IOCTL_Mixer_SetMasterRecordGain MIXER_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB #define IOCTL_Mixer_SetMasterPlaybackGain MIXER_IOCTL_CODE( 9, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB #define IOCTL_Mixer_SetPSTNRecordGain MIXER_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB #define IOCTL_Mixer_SetPSTNPlaybackGain MIXER_IOCTL_CODE( 11, FILE_READ_WRITE_ACCESS, ARG_DWORD) // LONG lGain in 1/10 dB //========================================================================== //-------------------------------------------------------------------------- // Playback support //-------------------------------------------------------------------------- // #define FILE_DEVICE_PLAYBACK 0x8004 #define PLAYBACK_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_PLAYBACK, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Playback_SetTFRMode PLAYBACK_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetTFRMode PLAYBACK_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_SetPLAYMODE PLAYBACK_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetPLAYMODE PLAYBACK_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetDTMF_VALID PLAYBACK_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetCPF_VALID PLAYBACK_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetDTMF_DIGIT PLAYBACK_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_SetRate PLAYBACK_IOCTL_CODE( 7, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetRate PLAYBACK_IOCTL_CODE( 8, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_Start_Old PLAYBACK_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) //#define IOCTL_Playback_Continue PLAYBACK_IOCTL_CODE( 10, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_Continue CTL_CODE( FILE_DEVICE_PLAYBACK, 0x80a, METHOD_NEITHER, FILE_READ_ACCESS ) // (void) #define IOCTL_Playback_Stop PLAYBACK_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_SetVolume PLAYBACK_IOCTL_CODE( 12, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetVolume PLAYBACK_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_SetSyncMode PLAYBACK_IOCTL_CODE( 14, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetSyncMode PLAYBACK_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_SetBufferChannelLimit PLAYBACK_IOCTL_CODE( 16, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetBufferChannelLimit PLAYBACK_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetFrameSize PLAYBACK_IOCTL_CODE( 18, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetAvgPlaybackLevel PLAYBACK_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_ContinueLogFrame PLAYBACK_IOCTL_CODE( 20, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_Open PLAYBACK_IOCTL_CODE( 21, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_Close PLAYBACK_IOCTL_CODE( 22, FILE_READ_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_Playback_SetMute PLAYBACK_IOCTL_CODE( 23, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Playback_GetMute PLAYBACK_IOCTL_CODE( 24, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetBufferDepth PLAYBACK_IOCTL_CODE( 25, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_GetPlaybackLevelValue PLAYBACK_IOCTL_CODE( 26, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_IsPlaying PLAYBACK_IOCTL_CODE( 27, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Playback_Start PLAYBACK_IOCTL_CODE( 28, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnPlayback_SetTFRMode IOCTL_Playback_SetTFRMode #define fnPlayback_GetTFRMode IOCTL_Playback_GetTFRMode #define fnPlayback_SetPLAYMODE IOCTL_Playback_SetPLAYMODE #define fnPlayback_GetPLAYMODE IOCTL_Playback_GetPLAYMODE #define fnPlayback_GetDTMF_VALID IOCTL_Playback_GetDTMF_VALID #define fnPlayback_GetCPF_VALID IOCTL_Playback_GetCPF_VALID #define fnPlayback_GetDTMF_DIGIT IOCTL_Playback_GetDTMF_DIGIT #define fnPlayback_SetRate IOCTL_Playback_SetRate #define fnPlayback_GetRate IOCTL_Playback_GetRate #define fnPlayback_Start IOCTL_Playback_Start #define fnPlayback_Continue IOCTL_Playback_Continue #define fnPlayback_Stop IOCTL_Playback_Stop #define fnPlayback_SetVolume IOCTL_Playback_SetVolume #define fnPlayback_GetVolume IOCTL_Playback_GetVolume #define fnPlayback_SetSyncMode IOCTL_Playback_SetSyncMode #define fnPlayback_GetSyncMode IOCTL_Playback_GetSyncMode #define fnPlayback_SetBufferChannelLimit IOCTL_Playback_SetBufferChannelLimit #define fnPlayback_GetBufferChannelLimit IOCTL_Playback_GetBufferChannelLimit #define fnPlayback_GetFrameSize IOCTL_Playback_GetFrameSize #define fnPlayback_GetAvgPlaybackLevel IOCTL_Playback_GetAvgPlaybackLevel #define fnPlayback_ContinueLogFrame IOCTL_Playback_ContinueLogFrame #define fnPlayback_Open IOCTL_Playback_Open #define fnPlayback_Close IOCTL_Playback_Close #define fnPlayback_SetMute IOCTL_Playback_SetMute #define fnPlayback_GetMute IOCTL_Playback_GetMute #define fnPlayback_GetBufferDepth IOCTL_Playback_GetBufferDepth #define fnPlayback_GetPlaybackLevelValue IOCTL_Playback_GetPlaybackLevelValue #define fnPlayback_IsPlaying IOCTL_Playback_IsPlaying //========================================================================== //-------------------------------------------------------------------------- // Record support //-------------------------------------------------------------------------- // #define FILE_DEVICE_RECORD 0x8003 #define RECORD_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_RECORD, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Record_SetTFRMode RECORD_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetTFRMode RECORD_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetRECMODE RECORD_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetRECMODE RECORD_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetPEAK RECORD_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetDTMF_VALID RECORD_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetCPF_VALID RECORD_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetDTMF_DIGIT RECORD_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetThresholdValue RECORD_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetThresholdValue RECORD_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetRecordLevelValue RECORD_IOCTL_CODE( 10, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_Start_Old RECORD_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) //#define IOCTL_Record_Continue RECORD_IOCTL_CODE( 12, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_Continue CTL_CODE( FILE_DEVICE_RECORD, 0x80c, METHOD_NEITHER, FILE_READ_ACCESS ) // (void) #define IOCTL_Record_Stop RECORD_IOCTL_CODE( 13, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetRate RECORD_IOCTL_CODE( 14, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetRate RECORD_IOCTL_CODE( 15, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetVolume RECORD_IOCTL_CODE( 16, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetVolume RECORD_IOCTL_CODE( 17, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCMinGain RECORD_IOCTL_CODE( 18, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCMinGain RECORD_IOCTL_CODE( 19, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCMaxGain RECORD_IOCTL_CODE( 20, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCMaxGain RECORD_IOCTL_CODE( 21, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCStartGain RECORD_IOCTL_CODE( 22, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCStartGain RECORD_IOCTL_CODE( 23, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCHoldTime RECORD_IOCTL_CODE( 24, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCHoldTime RECORD_IOCTL_CODE( 25, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCAttackTime RECORD_IOCTL_CODE( 26, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCAttackTime RECORD_IOCTL_CODE( 27, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCDecayTime RECORD_IOCTL_CODE( 28, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCDecayTime RECORD_IOCTL_CODE( 29, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCAttackThreshold RECORD_IOCTL_CODE( 30, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCAttackThreshold RECORD_IOCTL_CODE( 31, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetAGCOnOff RECORD_IOCTL_CODE( 32, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetAGCOnOff RECORD_IOCTL_CODE( 33, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetSyncMode RECORD_IOCTL_CODE( 34, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetSyncMode RECORD_IOCTL_CODE( 35, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetBufferChannelLimit RECORD_IOCTL_CODE( 36, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetBufferChannelLimit RECORD_IOCTL_CODE( 37, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetFrameSize RECORD_IOCTL_CODE( 38, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_GetAvgRecordLevel RECORD_IOCTL_CODE( 39, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_ContinueLogFrame RECORD_IOCTL_CODE( 40, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_Open RECORD_IOCTL_CODE( 41, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_Close RECORD_IOCTL_CODE( 42, FILE_READ_ACCESS, ARG_DWORD) // (DWORD) #define IOCTL_Record_SetMute RECORD_IOCTL_CODE( 43, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetMute RECORD_IOCTL_CODE( 44, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_EnableVAD RECORD_IOCTL_CODE( 45, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_DisableVAD RECORD_IOCTL_CODE( 46, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_SetDisableOnDTMFDetect RECORD_IOCTL_CODE( 47, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Record_GetDisableOnDTMFDetect RECORD_IOCTL_CODE( 48, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_IsRecording RECORD_IOCTL_CODE( 49, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Record_Start RECORD_IOCTL_CODE( 50, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnRecord_SetTFRMode IOCTL_Record_SetTFRMode #define fnRecord_GetTFRMode IOCTL_Record_GetTFRMode #define fnRecord_SetRECMODE IOCTL_Record_SetRECMODE #define fnRecord_GetRECMODE IOCTL_Record_GetRECMODE #define fnRecord_GetPEAK IOCTL_Record_GetPEAK #define fnRecord_GetDTMF_VALID IOCTL_Record_GetDTMF_VALID #define fnRecord_GetCPF_VALID IOCTL_Record_GetCPF_VALID #define fnRecord_GetDTMF_DIGIT IOCTL_Record_GetDTMF_DIGIT #define fnRecord_SetThresholdValue IOCTL_Record_SetThresholdValue #define fnRecord_GetThresholdValue IOCTL_Record_GetThresholdValue #define fnRecord_GetRecordLevelValue IOCTL_Record_GetRecordLevelValue #define fnRecord_Start IOCTL_Record_Start #define fnRecord_Continue IOCTL_Record_Continue #define fnRecord_Stop IOCTL_Record_Stop #define fnRecord_SetRate IOCTL_Record_SetRate #define fnRecord_GetRate IOCTL_Record_GetRate #define fnRecord_SetVolume IOCTL_Record_SetVolume #define fnRecord_GetVolume IOCTL_Record_GetVolume #define fnRecord_SetAGCMinGain IOCTL_Record_SetAGCMinGain #define fnRecord_GetAGCMinGain IOCTL_Record_GetAGCMinGain #define fnRecord_SetAGCMaxGain IOCTL_Record_SetAGCMaxGain #define fnRecord_GetAGCMaxGain IOCTL_Record_GetAGCMaxGain #define fnRecord_SetAGCStartGain IOCTL_Record_SetAGCStartGain #define fnRecord_GetAGCStartGain IOCTL_Record_GetAGCStartGain #define fnRecord_SetAGCHoldTime IOCTL_Record_SetAGCHoldTime #define fnRecord_GetAGCHoldTime IOCTL_Record_GetAGCHoldTime #define fnRecord_SetAGCAttackTime IOCTL_Record_SetAGCAttackTime #define fnRecord_GetAGCAttackTime IOCTL_Record_GetAGCAttackTime #define fnRecord_SetAGCDecayTime IOCTL_Record_SetAGCDecayTime #define fnRecord_GetAGCDecayTime IOCTL_Record_GetAGCDecayTime #define fnRecord_SetAGCAttackThreshold IOCTL_Record_SetAGCAttackThreshold #define fnRecord_GetAGCAttackThreshold IOCTL_Record_GetAGCAttackThreshold #define fnRecord_SetAGCOnOff IOCTL_Record_SetAGCOnOff #define fnRecord_GetAGCOnOff IOCTL_Record_GetAGCOnOff #define fnRecord_SetSyncMode IOCTL_Record_SetSyncMode #define fnRecord_GetSyncMode IOCTL_Record_GetSyncMode #define fnRecord_SetBufferChannelLimit IOCTL_Record_SetBufferChannelLimit #define fnRecord_GetBufferChannelLimit IOCTL_Record_GetBufferChannelLimit #define fnRecord_GetFrameSize IOCTL_Record_GetFrameSize #define fnRecord_GetAvgRecordLevel IOCTL_Record_GetAvgRecordLevel #define fnRecord_SetMute IOCTL_Record_SetMute #define fnRecord_GetMute IOCTL_Record_GetMute #define fnRecord_ContinueLogFrame IOCTL_Record_ContinueLogFrame #define fnRecord_IsRecording IOCTL_Record_IsRecording //========================================================================== //-------------------------------------------------------------------------- // Speakerphone support //-------------------------------------------------------------------------- // #define FILE_DEVICE_SPEAKERPHONE 0x8005 #define SPEAKERPHONE_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_SPEAKERPHONE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Speakerphone_SetSpeakerVolume SPEAKERPHONE_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Speakerphone_GetSpeakerVolume SPEAKERPHONE_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_AECOn SPEAKERPHONE_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_AECOff SPEAKERPHONE_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_AECAdvancedLoOn SPEAKERPHONE_IOCTL_CODE( 4, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_AECAdvancedHiOn SPEAKERPHONE_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_AECAdvancedLoOff SPEAKERPHONE_IOCTL_CODE( 6, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_AECAdvancedHiOff SPEAKERPHONE_IOCTL_CODE( 7, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_SetAEC SPEAKERPHONE_IOCTL_CODE( 8, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Speakerphone_GetAEC SPEAKERPHONE_IOCTL_CODE( 9, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Speakerphone_SetBaseFrameSize SPEAKERPHONE_IOCTL_CODE( 10, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD wNew) #define IOCTL_Speakerphone_GetBaseFrameSize SPEAKERPHONE_IOCTL_CODE( 11, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnSpeakerphone_SetSpeakerVolume IOCTL_Speakerphone_SetSpeakerVolume #define fnSpeakerphone_GetSpeakerVolume IOCTL_Speakerphone_GetSpeakerVolume #define fnSpeakerphone_AECOn IOCTL_Speakerphone_AECOn #define fnSpeakerphone_AECOff IOCTL_Speakerphone_AECOff #define fnSpeakerphone_AECAdvancedLoOn IOCTL_Speakerphone_AECAdvancedLoOn #define fnSpeakerphone_AECAdvancedHiOn IOCTL_Speakerphone_AECAdvancedHiOn #define fnSpeakerphone_AECAdvancedLoOff IOCTL_Speakerphone_AECAdvancedLoOff #define fnSpeakerphone_AECAdvancedHiOff IOCTL_Speakerphone_AECAdvancedHiOff #define fnSpeakerphone_SetAEC IOCTL_Speakerphone_SetAEC #define fnSpeakerphone_GetAEC IOCTL_Speakerphone_GetAEC //========================================================================== //-------------------------------------------------------------------------- // Fax support //-------------------------------------------------------------------------- // #define FILE_DEVICE_FAX 0x800B #define FAX_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_FAX, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Fax_Start FAX_IOCTL_CODE( 0, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Fax_Stop FAX_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_Fax_Write FAX_IOCTL_CODE( 2, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (WORD *buf) #define IOCTL_Fax_Read FAX_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnFax_Start IOCTL_Fax_Start #define fnFax_Stop IOCTL_Fax_Stop #define fnFax_Fax_Write IOCTL_Fax_Write #define fnFax_Read IOCTL_Fax_Read //========================================================================== //-------------------------------------------------------------------------- // FSK support //-------------------------------------------------------------------------- // #define FILE_DEVICE_FSK 0x800C #define FSK_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_FSK, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_FSK_SetMsgData FSK_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (BYTE*) #define fnFSK_SetMsgData IOCTL_FSK_SetMsgData //========================================================================== //-------------------------------------------------------------------------- // Tone support //-------------------------------------------------------------------------- // #define FILE_DEVICE_TONE 0x800D #define TONE_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_TONE, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_Tone_PlayToneCadence TONE_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (BYTE*) #define fnTone_PlayToneCadence IOCTL_Tone_PlayToneCadence //========================================================================== //-------------------------------------------------------------------------- // VxD support // // NOTE: These names will be changed in the future to a generic 'driver' // naming convention. //-------------------------------------------------------------------------- // #define FILE_DEVICE_VXD 0x8001 #define VXD_IOCTL_CODE( fn, Access, ArgSize ) CTL_CODE( FILE_DEVICE_VXD, (0x800 + ArgSize + fn ), METHOD_BUFFERED, Access ) #define IOCTL_VxD_SetCallback VXD_IOCTL_CODE( 0, FILE_READ_WRITE_ACCESS, ARG_VOID) // (FARPROC pfnCallback) - Callback address #define IOCTL_VxD_GetInterruptEvents VXD_IOCTL_CODE( 1, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_VxD_EnableInterrupts VXD_IOCTL_CODE( 2, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_VxD_DisableInterrupts VXD_IOCTL_CODE( 3, FILE_READ_ACCESS, ARG_VOID) // (void) #define IOCTL_VxD_AddPerformanceStat VXD_IOCTL_CODE( 4, FILE_READ_WRITE_ACCESS, ARG_DWORD) // (LPPERF_STAT lpPerfStat) #define IOCTL_VxD_GetVersion VXD_IOCTL_CODE( 5, FILE_READ_ACCESS, ARG_VOID) // (void) #define fnVxD_SetCallback IOCTL_VxD_SetCallback #define fnVxD_GetInterruptEvents IOCTL_VxD_GetInterruptEvents #define fnVxD_EnableInterrupts IOCTL_VxD_EnableInterrupts #define fnVxD_DisableInterrupts IOCTL_VxD_DisableInterrupts #define fnVxD_AddPerformanceStat IOCTL_VxD_AddPerformanceStat #define fnVxD_GetVersion IOCTL_VxD_GetVersion #endif // eof: QTIoctl.h