Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1142 lines
18 KiB

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
D:\nt\private\ntos\tdi\rawwan\core\externs.h
Abstract:
All external declarations for Null Transport (functions, globals)
are here.
Revision History:
Who When What
-------- -------- ----------------------------------------------
arvindm 06-13-97 Created
Notes:
--*/
#ifndef __TDI_RWAN_EXTERNS__H
#define __TDI_RWAN_EXTERNS__H
#ifndef EXTERN
#define EXTERN extern
#endif // EXTERN
//
// ---- From space.c
//
EXTERN ULONG RWanMaxTdiConnections;
EXTERN RWAN_STATUS RWanAtmSpInitialize(VOID);
EXTERN VOID RWanAtmSpShutdown(VOID);
EXTERN NDIS_HANDLE RWanCopyBufferPool;
EXTERN NDIS_HANDLE RWanCopyPacketPool;
EXTERN NDIS_HANDLE RWanSendPacketPool;
EXTERN RWAN_GLOBALS RWanGlobals;
EXTERN PRWAN_GLOBALS pRWanGlobal;
EXTERN NDIS_PROTOCOL_CHARACTERISTICS RWanNdisProtocolCharacteristics;
EXTERN NDIS_CLIENT_CHARACTERISTICS RWanNdisClientCharacteristics;
EXTERN RWAN_AFSP_MODULE_CHARS RWanMediaSpecificInfo[];
//
// ---- From addr.c
//
EXTERN
TDI_STATUS
RWanTdiOpenAddress(
IN PTDI_REQUEST pTdiRequest,
IN TRANSPORT_ADDRESS UNALIGNED *pAddrList,
IN ULONG AddrListLength,
IN UINT Protocol,
IN PUCHAR pOptions
);
EXTERN
TDI_STATUS
RWanTdiSetEvent(
IN PVOID AddrObjContext,
IN INT TdiEventType,
IN PVOID Handler,
IN PVOID HandlerContext
);
EXTERN
TDI_STATUS
RWanTdiCloseAddress(
IN PTDI_REQUEST pTdiRequest
);
EXTERN
TDI_STATUS
RWanCreateNdisSaps(
IN PRWAN_TDI_ADDRESS pAddrObject,
IN PRWAN_TDI_PROTOCOL pProtocol
);
EXTERN
VOID
RWanNdisRegisterSapComplete(
IN NDIS_STATUS NdisStatus,
IN NDIS_HANDLE OurSapContext,
IN PCO_SAP pCoSap,
IN NDIS_HANDLE NdisSapHandle
);
EXTERN
VOID
RWanDeleteNdisSaps(
IN PRWAN_TDI_ADDRESS pAddrObject
);
EXTERN
VOID
RWanNdisDeregisterSapComplete(
IN NDIS_STATUS NdisStatus,
IN NDIS_HANDLE ProtocolSapContext
);
//
// ---- From info.c
//
EXTERN
TDI_STATUS
RWanTdiQueryInformation(
IN PTDI_REQUEST pTdiRequest,
IN UINT QueryType,
IN PNDIS_BUFFER pNdisBuffer,
IN PUINT pBufferSize,
IN UINT IsConnection
);
EXTERN
RWAN_STATUS
RWanHandleGenericConnQryInfo(
IN HANDLE AddrHandle,
IN PVOID pInputBuffer,
IN ULONG InputBufferLength,
OUT PVOID pOutputBuffer,
IN OUT PVOID pOutputBufferLength
);
EXTERN
RWAN_STATUS
RWanHandleGenericAddrSetInfo(
IN HANDLE AddrHandle,
IN PVOID pInputBuffer,
IN ULONG InputBufferLength
);
EXTERN
RWAN_STATUS
RWanHandleMediaSpecificAddrSetInfo(
IN HANDLE AddrHandle,
IN PVOID pInputBuffer,
IN ULONG InputBufferLength
);
EXTERN
RWAN_STATUS
RWanHandleMediaSpecificConnQryInfo(
IN HANDLE ConnectionContext,
IN PVOID pInputBuffer,
IN ULONG InputBufferLength,
OUT PVOID pOutputBuffer,
IN OUT PVOID pOutputBufferLength
);
EXTERN
PNDIS_BUFFER
RWanCopyFlatToNdis(
IN PNDIS_BUFFER pDestBuffer,
IN PUCHAR pSrcBuffer,
IN UINT LengthToCopy,
IN OUT PUINT pStartOffset,
OUT PUINT pBytesCopied
);
//
// ---- From mediasp.c
//
RWAN_STATUS
RWanInitMediaSpecific(
VOID
);
EXTERN
VOID
RWanShutdownMediaSpecific(
VOID
);
//
// ---- From ndisbind.c
//
VOID
RWanNdisBindAdapter(
OUT PNDIS_STATUS pStatus,
IN NDIS_HANDLE BindContext,
IN PNDIS_STRING pDeviceName,
IN PVOID SystemSpecific1,
IN PVOID SystemSpecific2
);
EXTERN
VOID
RWanNdisUnbindAdapter(
OUT PNDIS_STATUS pStatus,
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE UnbindContext
);
EXTERN
VOID
RWanNdisOpenAdapterComplete(
IN NDIS_HANDLE ProtocolContext,
IN NDIS_STATUS Status,
IN NDIS_STATUS OpenErrorStatus
);
EXTERN
VOID
RWanNdisCloseAdapterComplete(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_STATUS Status
);
EXTERN
VOID
RWanNdisAfRegisterNotify(
IN NDIS_HANDLE ProtocolContext,
IN PCO_ADDRESS_FAMILY pAddressFamily
);
EXTERN
VOID
RWanNdisOpenAddressFamilyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolAfContext,
IN NDIS_HANDLE NdisAfHandle
);
EXTERN
VOID
RWanShutdownAf(
IN PRWAN_NDIS_AF pAf
);
EXTERN
VOID
RWanNdisCloseAddressFamilyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE OurAfContext
);
EXTERN
PNDIS_MEDIUM
RWanGetSupportedMedia(
IN PULONG pMediaCount
);
EXTERN
VOID
RWanCloseAdapter(
IN PRWAN_NDIS_ADAPTER pAdapter
);
EXTERN
VOID
RWanNdisRequestComplete(
IN NDIS_HANDLE OurBindingContext,
IN PNDIS_REQUEST pNdisRequest,
IN NDIS_STATUS Status
);
EXTERN
VOID
RWanNdisStatus(
IN NDIS_HANDLE OurBindingContext,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize
);
EXTERN
VOID
RWanNdisCoStatus(
IN NDIS_HANDLE OurBindingContext,
IN NDIS_HANDLE OurVcContext OPTIONAL,
IN NDIS_STATUS GeneralStatus,
IN PVOID StatusBuffer,
IN UINT StatusBufferSize
);
EXTERN
VOID
RWanNdisStatusComplete(
IN NDIS_HANDLE OurBindingContext
);
EXTERN
NDIS_STATUS
RWanNdisCoRequest(
IN NDIS_HANDLE OurAfContext,
IN NDIS_HANDLE OurVcContext OPTIONAL,
IN NDIS_HANDLE OurPartyContext OPTIONAL,
IN OUT PNDIS_REQUEST pNdisRequest
);
EXTERN
VOID
RWanNdisCoRequestComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE OurAfContext,
IN NDIS_HANDLE OurVcContext OPTIONAL,
IN NDIS_HANDLE OurPartyContext OPTIONAL,
IN PNDIS_REQUEST pNdisRequest
);
EXTERN
NDIS_STATUS
RWanNdisReset(
IN NDIS_HANDLE OurBindingContext
);
EXTERN
VOID
RWanNdisResetComplete(
IN NDIS_HANDLE OurBindingContext,
IN NDIS_STATUS Status
);
EXTERN
NDIS_STATUS
RWanNdisPnPEvent(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNET_PNP_EVENT pNetPnPEvent
);
EXTERN
NDIS_STATUS
RWanNdisPnPSetPower(
IN PRWAN_NDIS_ADAPTER pAdapter,
IN PNET_PNP_EVENT pNetPnPEvent
);
EXTERN
NDIS_STATUS
RWanNdisPnPQueryPower(
IN PRWAN_NDIS_ADAPTER pAdapter,
IN PNET_PNP_EVENT pNetPnPEvent
);
EXTERN
NDIS_STATUS
RWanNdisPnPQueryRemove(
IN PRWAN_NDIS_ADAPTER pAdapter,
IN PNET_PNP_EVENT pNetPnPEvent
);
EXTERN
NDIS_STATUS
RWanNdisPnPCancelRemove(
IN PRWAN_NDIS_ADAPTER pAdapter,
IN PNET_PNP_EVENT pNetPnPEvent
);
//
// ---- From ndisconn.c
//
NDIS_STATUS
RWanNdisCreateVc(
IN NDIS_HANDLE ProtocolAfContext,
IN NDIS_HANDLE NdisVcHandle,
OUT PNDIS_HANDLE pProtocolVcContext
);
EXTERN
NDIS_STATUS
RWanNdisDeleteVc(
IN NDIS_HANDLE ProtocolVcContext
);
EXTERN
VOID
RWanNdisMakeCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
IN PCO_CALL_PARAMETERS pCallParameters
);
EXTERN
VOID
RWanNdisAddPartyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolPartyContext,
IN NDIS_HANDLE NdisPartyHandle,
IN PCO_CALL_PARAMETERS pCallParameters
);
EXTERN
NDIS_STATUS
RWanNdisIncomingCall(
IN NDIS_HANDLE ProtocolSapContext,
IN NDIS_HANDLE ProtocolVcContext,
IN OUT PCO_CALL_PARAMETERS pCallParameters
);
EXTERN
VOID
RWanNdisCallConnected(
IN NDIS_HANDLE ProtocolVcContext
);
EXTERN
VOID
RWanNdisIncomingCloseCall(
IN NDIS_STATUS CloseStatus,
IN NDIS_HANDLE ProtocolVcContext,
IN PVOID pCloseData,
IN UINT CloseDataLength
);
EXTERN
VOID
RWanNdisCloseCallComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolVcContext,
IN NDIS_HANDLE ProtocolPartyContext
);
EXTERN
VOID
RWanNdisDropPartyComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE ProtocolPartyContext
);
EXTERN
VOID
RWanNdisIncomingDropParty(
IN NDIS_STATUS Status,
IN NDIS_HANDLE OurPartyContext,
IN PVOID pBuffer,
IN UINT BufferLength
);
EXTERN
VOID
RWanNdisModifyQoSComplete(
IN NDIS_STATUS Status,
IN NDIS_HANDLE OurVcContext,
IN PCO_CALL_PARAMETERS pCallParameters
);
EXTERN
VOID
RWanNdisRejectIncomingCall(
IN PRWAN_TDI_CONNECTION pConnObject,
IN NDIS_STATUS RejectStatus
);
EXTERN
VOID
RWanStartCloseCall(
IN PRWAN_TDI_CONNECTION pConnObject,
IN PRWAN_NDIS_VC pVc
);
EXTERN
VOID
RWanUnlinkVcFromAf(
IN PRWAN_NDIS_VC pVc
);
EXTERN
VOID
RWanCompleteConnReq(
IN PRWAN_NDIS_AF pAf,
IN PRWAN_CONN_REQUEST pConnReq,
IN BOOLEAN IsOutgoingCall,
IN PCO_CALL_PARAMETERS pCallParameters OPTIONAL,
IN RWAN_HANDLE AfSpConnContext,
IN TDI_STATUS TdiStatus
);
//
// ---- From ntentry.c
//
NTSTATUS
DriverEntry(
IN PDRIVER_OBJECT pDriverObject,
IN PUNICODE_STRING pRegistryPath
);
EXTERN
VOID
RWanUnload(
IN PDRIVER_OBJECT pDriverObject
);
EXTERN
VOID
RWanUnloadProtocol(
VOID
);
EXTERN
NTSTATUS
RWanDispatch(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
EXTERN
NTSTATUS
RWanCreate(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanCleanup(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanClose(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanDispatchInternalDeviceControl(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
EXTERN
NTSTATUS
RWanDispatchPrivateDeviceControl(
IN PIRP pIrp,
IN PIO_STACK_LOCATION pIrpSp
);
EXTERN
FILE_FULL_EA_INFORMATION UNALIGNED *
RWanFindEa(
IN FILE_FULL_EA_INFORMATION * pStartEa,
IN CHAR * pTargetName,
IN USHORT TargetNameLength
);
EXTERN
NTSTATUS
RWanSendData(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanReceiveData(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanAssociateAddress(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanDisassociateAddress(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanConnect(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanDisconnect(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanListen(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanAccept(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanSetEventHandler(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
NTSTATUS
RWanQueryInformation(
IN PIRP pIrp,
PIO_STACK_LOCATION pIrpSp
);
EXTERN
VOID
RWanCloseObjectComplete(
IN PVOID Context,
IN UINT Status,
IN UINT Unused
);
EXTERN
VOID
RWanDataRequestComplete(
IN PVOID Context,
IN UINT Status,
IN UINT ByteCount
);
EXTERN
VOID
RWanRequestComplete(
IN PVOID Context,
IN UINT Status,
IN UINT Unused
);
EXTERN
VOID
RWanNonCancellableRequestComplete(
IN PVOID Context,
IN UINT Status,
IN UINT Unused
);
EXTERN
VOID
RWanCancelComplete(
IN PVOID Context,
IN UINT Unused1,
IN UINT Unused2
);
EXTERN
VOID
RWanCancelRequest(
IN PDEVICE_OBJECT pDeviceObject,
IN PIRP pIrp
);
EXTERN
NTSTATUS
RWanPrepareIrpForCancel(
IN PRWAN_ENDPOINT pEndpoint,
IN PIRP pIrp,
IN PDRIVER_CANCEL pCancelRoutine
);
EXTERN
ULONG
RWanGetMdlChainLength(
IN PMDL pMdl
);
EXTERN
NTSTATUS
RWanToNTStatus(
IN RWAN_STATUS RWanStatus
);
//
// ---- From receive.c
//
RWAN_STATUS
RWanInitReceive(
VOID
);
EXTERN
VOID
RWanShutdownReceive(
VOID
);
EXTERN
TDI_STATUS
RWanTdiReceive(
IN PTDI_REQUEST pTdiRequest,
OUT PUSHORT pFlags,
IN PUINT pReceiveLength,
IN PNDIS_BUFFER pNdisBuffer
);
EXTERN
UINT
RWanNdisCoReceivePacket(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE ProtocolVcContext,
IN PNDIS_PACKET pNdisPacket
);
EXTERN
VOID
RWanIndicateData(
IN PRWAN_TDI_CONNECTION pConnObject
);
EXTERN
VOID
RWanNdisReceiveComplete(
IN NDIS_HANDLE ProtocolBindingContext
);
EXTERN
VOID
RWanNdisTransferDataComplete(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET pNdisPacket,
IN NDIS_STATUS Status,
IN UINT BytesTransferred
);
EXTERN
NDIS_STATUS
RWanNdisReceive(
IN NDIS_HANDLE ProtocolBindingContext,
IN NDIS_HANDLE MacReceiveContext,
IN PVOID HeaderBuffer,
IN UINT HeaderBufferSize,
IN PVOID pLookAheadBuffer,
IN UINT LookAheadBufferSize,
IN UINT PacketSize
);
EXTERN
INT
RWanNdisReceivePacket(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET pNdisPacket
);
EXTERN
PRWAN_RECEIVE_REQUEST
RWanAllocateReceiveReq(
VOID
);
EXTERN
VOID
RWanFreeReceiveReq(
IN PRWAN_RECEIVE_REQUEST pRcvReq
);
EXTERN
PRWAN_RECEIVE_INDICATION
RWanAllocateReceiveInd(
VOID
);
EXTERN
VOID
RWanFreeReceiveInd(
IN PRWAN_RECEIVE_INDICATION pRcvInd
);
EXTERN
PNDIS_PACKET
RWanMakeReceiveCopy(
IN PNDIS_PACKET pNdisPacket
);
EXTERN
VOID
RWanFreeReceiveCopy(
IN PNDIS_PACKET pCopyPacket
);
EXTERN
VOID
RWanFreeReceiveIndList(
IN PRWAN_RECEIVE_INDICATION pRcvInd
);
//
// ---- From send.c
//
RWAN_STATUS
RWanInitSend(
VOID
);
EXTERN
VOID
RWanShutdownSend(
VOID
);
EXTERN
TDI_STATUS
RWanTdiSendData(
IN PTDI_REQUEST pTdiRequest,
IN USHORT SendFlags,
IN UINT SendLength,
IN PNDIS_BUFFER pSendBuffer
);
EXTERN
VOID
RWanNdisCoSendComplete(
IN NDIS_STATUS NdisStatus,
IN NDIS_HANDLE ProtocolVcContext,
IN PNDIS_PACKET pNdisPacket
);
EXTERN
PNDIS_PACKET
RWanAllocateSendPacket(
VOID
);
EXTERN
VOID
RWanFreeSendPacket(
IN PNDIS_PACKET pSendPacket
);
EXTERN
VOID
RWanNdisSendComplete(
IN NDIS_HANDLE ProtocolBindingContext,
IN PNDIS_PACKET pNdisPacket,
IN NDIS_STATUS Status
);
//
// ---- From tdiconn.c
//
TDI_STATUS
RWanTdiOpenConnection(
IN OUT PTDI_REQUEST pTdiRequest,
IN PVOID ConnectionHandle
);
#if DBG
PVOID
RWanTdiDbgGetConnObject(
IN HANDLE ConnectionContext
);
#endif
EXTERN
TDI_STATUS
RWanTdiCloseConnection(
IN PTDI_REQUEST pTdiRequest
);
EXTERN
TDI_STATUS
RWanTdiAssociateAddress(
IN PTDI_REQUEST pTdiRequest,
IN PVOID AddressContext
);
EXTERN
TDI_STATUS
RWanTdiDisassociateAddress(
IN PTDI_REQUEST pTdiRequest
);
EXTERN
TDI_STATUS
RWanTdiConnect(
IN PTDI_REQUEST pTdiRequest,
IN PVOID pTimeout OPTIONAL,
IN PTDI_CONNECTION_INFORMATION pRequestInfo,
IN PTDI_CONNECTION_INFORMATION pReturnInfo
);
EXTERN
TDI_STATUS
RWanTdiPMPConnect(
IN PRWAN_NDIS_AF_INFO pAfInfo,
IN PRWAN_TDI_ADDRESS pAddrObject,
IN PRWAN_TDI_CONNECTION pConnObject,
IN PCO_CALL_PARAMETERS pCallParameters,
IN ULONG CallFlags,
IN PRWAN_CONN_REQUEST pConnReq
);
EXTERN
TDI_STATUS
RWanTdiListen(
IN PTDI_REQUEST pTdiRequest,
IN USHORT Flags,
IN PTDI_CONNECTION_INFORMATION pAcceptableAddr,
IN PTDI_CONNECTION_INFORMATION pConnectedAddr
);
EXTERN
TDI_STATUS
RWanTdiUnListen(
IN PTDI_REQUEST pTdiRequest
);
EXTERN
TDI_STATUS
RWanTdiAccept(
IN PTDI_REQUEST pTdiRequest,
IN PTDI_CONNECTION_INFORMATION pAcceptInfo,
IN PTDI_CONNECTION_INFORMATION pConnectInfo
);
EXTERN
TDI_STATUS
RWanTdiDisconnect(
IN PTDI_REQUEST pTdiRequest,
IN PVOID pTimeout,
IN USHORT Flags,
IN PTDI_CONNECTION_INFORMATION pDisconnInfo,
OUT PTDI_CONNECTION_INFORMATION pReturnInfo
);
EXTERN
TDI_STATUS
RWanDoTdiDisconnect(
IN PRWAN_TDI_CONNECTION pConnObject,
IN PTDI_REQUEST pTdiRequest OPTIONAL,
IN PVOID pTimeout OPTIONAL,
IN USHORT Flags,
IN PTDI_CONNECTION_INFORMATION pDisconnInfo OPTIONAL,
OUT PTDI_CONNECTION_INFORMATION pReturnInfo OPTIONAL
);
EXTERN
RWAN_CONN_ID
RWanGetConnId(
IN PRWAN_TDI_CONNECTION pConnObject
);
EXTERN
PRWAN_TDI_CONNECTION
RWanGetConnFromId(
IN RWAN_CONN_ID ConnId
);
EXTERN
VOID
RWanFreeConnId(
IN RWAN_CONN_ID ConnId
);
EXTERN
TDI_STATUS
RWanToTdiStatus(
IN RWAN_STATUS RWanStatus
);
EXTERN
PRWAN_CONN_REQUEST
RWanAllocateConnReq(
VOID
);
EXTERN
VOID
RWanFreeConnReq(
IN PRWAN_CONN_REQUEST pConnReq
);
EXTERN
VOID
RWanAbortConnection(
IN CONNECTION_CONTEXT ConnectionContext
);
EXTERN
VOID
RWanDoAbortConnection(
IN PRWAN_TDI_CONNECTION pConnObject
);
EXTERN
VOID
RWanScheduleDisconnect(
IN PRWAN_TDI_CONNECTION pConnObject
);
EXTERN
VOID
RWanDelayedDisconnectHandler(
IN PNDIS_WORK_ITEM pCloseWorkItem,
IN PVOID Context
);
//
// ---- From utils.c
//
RWAN_STATUS
RWanInitGlobals(
IN PDRIVER_OBJECT pDriverObject
);
EXTERN
VOID
RWanDeinitGlobals(
VOID
);
EXTERN
PRWAN_TDI_PROTOCOL
RWanGetProtocolFromNumber(
IN UINT Protocol
);
EXTERN
TA_ADDRESS *
RWanGetValidAddressFromList(
IN TRANSPORT_ADDRESS UNALIGNED *pAddrList,
IN PRWAN_TDI_PROTOCOL pProtocol
);
EXTERN
PRWAN_TDI_CONNECTION
RWanAllocateConnObject(
VOID
);
EXTERN
VOID
RWanReferenceConnObject(
IN PRWAN_TDI_CONNECTION pConnObject
);
EXTERN
INT
RWanDereferenceConnObject(
IN PRWAN_TDI_CONNECTION pConnObject
);
EXTERN
PRWAN_TDI_ADDRESS
RWanAllocateAddressObject(
IN TA_ADDRESS * pTransportAddress
);
EXTERN
VOID
RWanReferenceAddressObject(
IN PRWAN_TDI_ADDRESS pAddrObject
);
EXTERN
INT
RWanDereferenceAddressObject(
IN PRWAN_TDI_ADDRESS pAddrObject
);
EXTERN
PRWAN_NDIS_AF
RWanAllocateAf(
VOID
);
EXTERN
VOID
RWanReferenceAf(
IN PRWAN_NDIS_AF pAf
);
EXTERN
INT
RWanDereferenceAf(
IN PRWAN_NDIS_AF pAf
);
#if 0
EXTERN
VOID
RWanReferenceAdapter(
IN PRWAN_NDIS_ADAPTER pAdapter
);
EXTERN
INT
RWanDereferenceAdapter(
IN PRWAN_NDIS_ADAPTER pAdapter
);
#endif // 0
EXTERN
TDI_STATUS
RWanNdisToTdiStatus(
IN NDIS_STATUS Status
);
//
// ---- vc.c
//
PRWAN_NDIS_VC
RWanAllocateVc(
IN PRWAN_NDIS_AF pAf,
IN BOOLEAN IsOutgoing
);
EXTERN
VOID
RWanFreeVc(
IN PRWAN_NDIS_VC pVc
);
#endif // __TDI_RWAN_EXTERNS__H