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);
}