asyncmac.h

来自「wince下的源代码集合打包」· C头文件 代码 · 共 182 行

H
182
字号
// Copyright (c) 1999-2000 Microsoft Corporation.  All rights reserved.#define ASYNC_NDIS_MAJOR_VERSION	4#define ASYNC_NDIS_MINOR_VERSION	0typedef struct _ASYNCMAC_ADAPTER_ *PASYNCMAC_ADAPTER;////	The bigger this value is, the fewer the number of calls to ReadFile//	to receive bytes.////	This value may be overridden with the registry setting://		HKLM\Comm\AsyncMac1\Parms\ReceiveBufferSize//#define DEFAULT_RX_BUF_SIZE	2000////	Default receive thread priority.////	This value may be overridden with the registry setting://		HKLM\Comm\AsyncMac1\Parms\ReceiveThreadPriority256////#define DEFAULT_RX_THREAD_PRIORITY	130typedef struct _ASYNCMAC_OPEN_LINE{#ifdef DEBUG	DWORD						dwDebugSigStart;#endif	struct _ASYNCMAC_OPEN_LINE	*pNext;	DWORD						dwRefCnt;	PASYNCMAC_ADAPTER			pAdapter;	DWORD						dwDeviceID;	HLINE						hLine;		// hLine from TAPI	HTAPI_LINE					htLine;		// Handle from caller	HCALL						hCall;	DWORD						dwCallState;// The last callstate	HTAPI_CALL					htCall;	long						TapiReqID;	NDIS_HANDLE					hNdisLinkContext;	HANDLE						hPort;		// The serial port handle	DWORD						dwBaudRate;	// The link baud rate (in 100's b/s)#define AOL_DEF_BAUD_RATE		288			// The initial default	DWORD						dwFlags;	// Some state flags#define AOL_FLAGS_SENT_LINE_UP		0x00000001#define AOL_FLAGS_ERROR_INDICATED	0x00000002	HANDLE						hRxThrd;	// Recv Thread handle	NDIS_WAN_GET_LINK_INFO		WanLinkInfo;#ifdef DEBUG	DWORD						dwDebugSigEnd;#endif} ASYNCMAC_OPEN_LINE, *PASYNCMAC_OPEN_LINE;#define	AOL_SIG_START	'AOLS'#define	AOL_SIG_END		'AOLE'#ifdef DEBUG#define CHK_AOL(ptr)	(ptr && (ptr->dwDebugSigStart == AOL_SIG_START) && (ptr->dwDebugSigEnd == AOL_SIG_END))#else#define CHK_AOL(ptr)	(1)#endiftypedef struct _ASYNCMAC_ADAPTER_{#ifdef DEBUG	DWORD				dwDebugSigStart;#endif	NDIS_HANDLE			hMiniportAdapter;	HLINEAPP			hLineApp;	DWORD				dwAPIVersion;	DWORD				dwNumDevs;	NDIS_MINIPORT_TIMER	ntLineInit;			// LineInitialize Timer	NDIS_WAN_INFO		Info;	DWORD				MaxSendFrameSize;	DWORD				MaxRecvFrameSize;	DWORD				dwRecvBufSize;		// Size of buffer passed to ReadFile	DWORD				dwRecvThreadPrio;	// Priority of RxThread	PASYNCMAC_OPEN_LINE	pHead;	#ifdef DEBUG	DWORD				dwDebugSigEnd;#endif} ASYNCMAC_ADAPTER, *PASYNCMAC_ADAPTER;#define	AA_SIG_START	'AA_S'#define	AA_SIG_END		'AA_E'#ifdef DEBUG#define CHK_AA(ptr)	(ptr && (ptr->dwDebugSigStart == AA_SIG_START) && (ptr->dwDebugSigEnd == AA_SIG_END))#else#define CHK_AA(ptr)	(1)#endif#define	MAX_FRAME_SIZE	1500#define FRAME_PADDING	256#define DEFAULT_ACCM	0xFFFFFFFF// ----------------------------------------------------------------//// Global Data//// ----------------------------------------------------------------extern HINSTANCE		v_hInstance;extern NDIS_HANDLE		v_hNdisMac;extern NDIS_HANDLE		v_hNdisWrapper;extern PDRIVER_OBJECT	v_AsyncDriverObject;extern DWORD			v_GlobalAdapterCount;// ----------------------------------------------------------------//// Debug Defines//// ----------------------------------------------------------------#ifdef DEBUG#define ZONE_INIT		DEBUGZONE(0)		// 0x0001//#define ZONE_???		DEBUGZONE(1)		// 0x0002//#define ZONE_???		DEBUGZONE(2)		// 0x0004//#define ZONE_???		DEBUGZONE(3)		// 0x0008//#define ZONE_???		DEBUGZONE(4)		// 0x0010#define ZONE_SEND		DEBUGZONE(5)		// 0x0020//#define ZONE_???		DEBUGZONE(6)		// 0x0040//#define ZONE_???		DEBUGZONE(7)		// 0x0080#define ZONE_TAPI		DEBUGZONE(8)		// 0x0100#define ZONE_RECV       DEBUGZONE(9)		// 0x0200#define ZONE_INTERFACE	DEBUGZONE(10)		// 0x0400#define ZONE_MISC		DEBUGZONE(11)		// 0x0800#define ZONE_ALLOC		DEBUGZONE(12)		// 0x1000#define ZONE_FUNCTION	DEBUGZONE(13)		// 0x2000#define ZONE_WARN		DEBUGZONE(14)		// 0x4000#define ZONE_ERROR		DEBUGZONE(15)		// 0x8000#endif// ----------------------------------------------------------------//// Extern declarations//// ----------------------------------------------------------------// ASYNCMAC.cVOID MpHalt(NDIS_HANDLE MiniportAdapterContext);NDIS_STATUS MpInit(PNDIS_STATUS	OpenErrorStatus, PUINT SelectedMediumIndex,				   PNDIS_MEDIUM MediumArray,				   UINT	MediumArraySize, NDIS_HANDLE MiniportAdapterHandle,				   NDIS_HANDLE WrapperConfigurationContext);NDIS_STATUS MpQueryInfo(NDIS_HANDLE MiniportAdapterContext, NDIS_OID Oid,						PVOID InformationBuffer, ULONG InformationBufferLength,						PULONG BytesWritten, PULONG BytesNeeded);NDIS_STATUS MpSetInfo(NDIS_HANDLE MiniportAdapterContext,NDIS_OID Oid,					  PVOID InformationBuffer, ULONG InformationBufferLength,					  PULONG BytesRead, PULONG BytesNeeded);NDIS_STATUS MpReconfigure(PNDIS_STATUS OpenErrorStatus,						  NDIS_HANDLE MiniportAdapterContext,						  NDIS_HANDLE WrapperConfigurationContext);NDIS_STATUS MpReset(PBOOLEAN AddressingReset,					NDIS_HANDLE MiniportAdapterContext);NDIS_STATUS MpSend(NDIS_HANDLE MacBindingHandle, NDIS_HANDLE NdisLinkHandle,				   PNDIS_WAN_PACKET Packet);PASYNCMAC_OPEN_LINE GetOpenLinePtr (void *context);void ReleaseOpenLinePtr (PASYNCMAC_OPEN_LINE pOpenLine);PVOID	AsyncMacAllocateMemory(IN UINT	nBytes);void	AsyncMacFreeMemory(IN void *pMem, IN	UINT	 nBytes);BOOL	AsyncMacGuardRegionOk(IN void *pMem, IN	UINT	nBytes);// tapifun.cvoid CALLBACK	lineCallbackFunc(DWORD dwDevice, DWORD dwMsg,								 DWORD dwCallbackInstance, DWORD dwParam1,								 DWORD dwParam2, DWORD dwParam3);VOID NDISAPI	DoLineInitialize(PVOID SystemSpecific1,								 PVOID FunctionContext,								 PVOID SystemSpecific2,								 PVOID SystemSpecific3);void			SendLineDown(PASYNCMAC_OPEN_LINE pOpenLine);// Recv.cDWORD WINAPI	MacRxThread (LPVOID pOpenLine);

⌨️ 快捷键说明

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