⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qtioctl.h

📁 radius协议源码÷The Radius Stack will connect to a Radius Server. This stack implementation is built upo
💻 H
📖 第 1 页 / 共 3 页
字号:
/*	QTIoctl.h	Copyright (c) 1996-1999, Quicknet Technologies, Inc.	All Rights Reserved.	DeviceIoControl codes for Internet PhoneJACK, LineJACK, etc. drivers.	-----------------------------------------------------------------	$Header: /home/cvsroot/openh323/include/QTIoctl.h,v 1.2 2000/04/12 23:57:03 robertj Exp $*/#ifndef _QTIOCTL_H_#define _QTIOCTL_H_//// The following #defines come from <winioctl.h>.//////- Beginning of included from <winioctl.h> 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 <winioctl.h> 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//==========================================================================//==========================================================================////	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)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -