www.pudn.com > PPPOE.rar > adapter.h


 
//******************************************************************** 
//	ÈÕÆÚ:	2004/08/25 - 25:8:2004   3:23 
//	Ãûǰ:	tiamo 
//	ÃèÊö:	adapter 
//********************************************************************* 
 
#pragma once 
 
typedef struct __tagChannel *PCHANNEL; 
 
#define ADAPTER_SIG									MAKE_SIG('A','D','A','P') 
#define CHANNEL_PTR_SIG								MAKE_SIG('C','N','P','T') 
 
// adapter 
typedef struct __tagAdapter 
{ 
	ULONG											m_ulSig;						// sig 
	LONG											m_lRefCount;					// ref count 
	ULONG											m_ulFlags;						// flags 
	NDIS_SPIN_LOCK									m_lockSelf;						// lock 
	NDIS_EVENT										m_evRemove;						// remove event 
 
	NDIS_HANDLE										m_hNdisAdapter;					// ndis miniport handle 
	NDIS_WAN_CO_INFO								m_wanCoInfo;					// wan info 
	NDIS_HANDLE										m_hNdisAfHandle;				// af handle 
 
	ULONG											m_ulNumChannels;				// total channel 
	PCHANNEL*										m_ppChannels;					// channel ptr array 
	ULONG											m_ulSendTimeOut;				// send time out 
	ULONG											m_ulRecvTimeOut;				// recv time out 
	ULONG											m_ulMaxRetryTimes;				// retry 
 
	PUCHAR											m_ucService[256];				// service 
	PUCHAR											m_ucAC[256];					// ac name 
	USHORT											m_usServiceLen;					// service len 
	USHORT											m_usACLen;						// ac len 
}ADAPTER,*PADAPTER; 
 
extern PADAPTER g_pAdapter; 
 
// public 
extern "C" 
{ 
	// create adapter <= DISPATCH_LEVEL 
	PADAPTER CreateAdapter(); 
 
	// init adapter PASSIVE_LEVEL only 
	NDIS_STATUS InitializeAdapter(PADAPTER pAdapter,NDIS_HANDLE hNdisAdapter,NDIS_HANDLE hConfigContext); 
 
	// shut down PASSIVE_LEVEL 
	VOID ShutdownAdapter(PADAPTER pAdapter); 
 
	// reference adapter <= DISPATCH_LEVEL 
	VOID ReferenceAdapter(PADAPTER pAdapter,BOOLEAN bAcquireLock); 
 
	// derefence adapter <= DISPATCH_LEVEL 
	VOID DereferenceAdapter(PADAPTER pAdapter); 
}