|
|
/*++
Copyright (c) 1995-1996 Microsoft Corporation
Module Name:
Proxy.h
Abstract:
Fuction prototypes and globals
Author:
Tony Bell
Revision History:
Who When What -------- -------- ---------------------------------------------- TonyBe 03/04/99 Created
--*/
#ifndef _PROXY__H
#define _PROXY__H
#include "pxtapi.h"
#include "pxdefs.h"
#include "pxtypes.h"
#include "ndpif.h"
//
// Global data
//
extern NPAGED_LOOKASIDE_LIST ProviderEventLookaside; extern NPAGED_LOOKASIDE_LIST VcLookaside; extern TAPI_LINE_TABLE LineTable; extern VC_TABLE VcTable; extern TAPI_TSP_CB TspCB; extern PX_DEVICE_EXTENSION *DeviceExtension; extern TSP_EVENT_LIST TspEventList;
//
// Functions from pxntinit.c
//
NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath );
VOID PxCancelSetQuery( IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp );
//
// Functions from pxinit.c
//
BOOLEAN InitNDISProxy( VOID );
VOID GetRegistryParameters( IN PUNICODE_STRING RegistryPath );
NDIS_STATUS GetConfigDword( NDIS_HANDLE Handle, PWCHAR ParameterName, PULONG Destination, ULONG MinValue, ULONG MaxValue );
//
// From pxcm.c
//
NDIS_STATUS PxCmCreateVc( IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisVcHandle, OUT PNDIS_HANDLE pProtocolVcContext );
NDIS_STATUS PxCmDeleteVc( IN NDIS_HANDLE ProtocolVcContext );
NDIS_STATUS PxCmOpenAf( IN NDIS_HANDLE CallMgrBindingContext, IN PCO_ADDRESS_FAMILY pAddressFamily, IN NDIS_HANDLE NdisAfHandle, OUT PNDIS_HANDLE pCallMgrAfContext );
NDIS_STATUS PxCmCloseAf( IN NDIS_HANDLE CallMgrAfContext );
NDIS_STATUS PxCmRegisterSap( IN NDIS_HANDLE CallMgrAfContext, IN PCO_SAP pCoSap, IN NDIS_HANDLE NdisSapHandle, OUT PNDIS_HANDLE pCallMgrSapContext );
NDIS_STATUS PxCmDeRegisterSap( IN NDIS_HANDLE CallMgrSapContext );
NDIS_STATUS PxCmMakeCall( IN NDIS_HANDLE CallMgrVcContext, IN OUT PCO_CALL_PARAMETERS pCallParameters, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, OUT PNDIS_HANDLE pCallMgrPartyContext OPTIONAL );
NDIS_STATUS PxCmCloseCall( IN NDIS_HANDLE CallMgrVcContext, IN NDIS_HANDLE CallMgrPartyContext OPTIONAL, IN PVOID Buffer OPTIONAL, IN UINT Size OPTIONAL );
VOID PxCmIncomingCallComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS pCallParameters );
NDIS_STATUS PxCmAddParty( IN NDIS_HANDLE CallMgrVcContext, IN OUT PCO_CALL_PARAMETERS pCallParameters, IN NDIS_HANDLE NdisPartyHandle, OUT PNDIS_HANDLE pCallMgrPartyContext );
NDIS_STATUS PxCmDropParty( IN NDIS_HANDLE CallMgrPartyContext, IN PVOID Buffer OPTIONAL, IN UINT Size OPTIONAL );
VOID PxCmActivateVcComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS pCallParameters );
VOID PxCmDeActivateVcComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE CallMgrVcContext );
NDIS_STATUS PxCmModifyCallQos( IN NDIS_HANDLE CallMgrVcContext, IN PCO_CALL_PARAMETERS pCallParameters );
NDIS_STATUS PxCmRequest( IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE ProtocolVcContext OPTIONAL, IN NDIS_HANDLE ProtocolPartyContext OPTIONAL, IN OUT PNDIS_REQUEST NdisRequest );
VOID PxCmRequestComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE ProtocolPartyContext, IN PNDIS_REQUEST NdisRequest );
NDIS_STATUS PxCmMakeCall( IN NDIS_HANDLE CallMgrVcContext, IN OUT PCO_CALL_PARAMETERS pCallParameters, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, OUT PNDIS_HANDLE pCallMgrPartyContext OPTIONAL );
//
// From pxutils.c
//
BOOLEAN PxIsAdapterAlreadyBound( PNDIS_STRING pDeviceName );
PPX_ADAPTER PxAllocateAdapter( ULONG ulAdditionalLength );
VOID PxFreeAdapter( PPX_ADAPTER pAdapter );
PPX_CM_AF PxAllocateCmAf( IN PCO_ADDRESS_FAMILY pFamily );
VOID PxFreeCmAf( PPX_CM_AF pCmAf );
PPX_CL_AF PxAllocateClAf( IN PCO_ADDRESS_FAMILY pFamily, IN PPX_ADAPTER pAdapter );
VOID PxFreeClAf( PPX_CL_AF pAfBlock );
PPX_CM_SAP PxAllocateCmSap( PCO_SAP Sap );
VOID PxFreeCmSap( PPX_CM_SAP pCmSap );
VOID PxFreeClSap( PPX_CL_SAP pClSap );
PPX_VC PxAllocateVc( IN PPX_CL_AF pClAf );
VOID PxFreeVc( PPX_VC pVc );
#if 0
NDIS_STATUS GenericGetNdisCallParams( IN PPX_VC pProxyVc, IN ULONG ulLineID, IN ULONG ulAddressID, IN ULONG ulFlags, IN PNDIS_TAPI_MAKE_CALL TapiBuffer, OUT PCO_CALL_PARAMETERS *pNdisCallParameters );
NDIS_STATUS GenericGetTapiCallParams( IN PPX_VC pProxyVc, IN PCO_CALL_PARAMETERS pCallParams );
PPX_CL_SAP GenericTranslateTapiSap( IN PPX_CL_AF pClAf, IN PPX_TAPI_LINE TapiLine );
VOID GenericFreeNdisSap( IN PPX_CL_AF pAfBlock, IN PCO_SAP pCoSap ); #endif
NDIS_STATUS PxAfXyzTranslateTapiCallParams( IN PPX_VC pProxyVc, IN ULONG ulLineID, IN ULONG ulAddressID, IN ULONG ulFlags, IN PNDIS_TAPI_MAKE_CALL pTapiParams, OUT PCO_CALL_PARAMETERS * ppNdisCallParams );
NDIS_STATUS PxAfXyzTranslateNdisCallParams( IN PPX_VC pProxyVc, IN PCO_CALL_PARAMETERS pNdisCallParams );
PPX_CL_SAP PxAfXyzTranslateTapiSap( IN PPX_CL_AF pClAf, IN PPX_TAPI_LINE TapiLine );
NDIS_STATUS PxAfTapiTranslateTapiCallParams( IN PPX_VC pProxyVc, IN ULONG ulLineID, IN ULONG ulAddressID, IN ULONG ulFlags, IN PNDIS_TAPI_MAKE_CALL pTapiParams, OUT PCO_CALL_PARAMETERS * ppNdisCallParams );
ULONG PxCopyLineCallParams( IN LINE_CALL_PARAMS *pSrcLineCallParams, OUT LINE_CALL_PARAMS *pDstLineCallParams );
NDIS_STATUS PxAfTapiTranslateNdisCallParams( IN PPX_VC pProxyVc, IN PCO_CALL_PARAMETERS pNdisCallParams );
PPX_CL_SAP PxAfTapiTranslateTapiSap( IN PPX_CL_AF pClAf, IN PPX_TAPI_LINE TapiLine );
VOID PxAfTapiFreeNdisSap( IN PPX_CL_AF pClAf, IN PCO_SAP pCoSap );
PCO_CALL_PARAMETERS PxCopyCallParameters( IN PCO_CALL_PARAMETERS pCallParameters );
VOID PxStartIncomingCallTimeout( IN PPX_VC pProxyVc );
VOID PxStopIncomingCallTimeout( IN PPX_VC pProxyVc );
VOID PxIncomingCallTimeout( IN PVOID SystemSpecific1, IN PVOID FunctionContext, IN PVOID SystemSpecific2, IN PVOID SystemSpecific3 );
ULONG PxMapNdisStatusToTapiDisconnectMode( IN NDIS_STATUS NdisStatus, IN BOOLEAN bMakeCallStatus );
NTSTATUS IntegerToChar ( IN ULONG Value, IN LONG OutputLength, OUT PSZ String );
NTSTATUS IntegerToWChar ( IN ULONG Value, IN LONG OutputLength, OUT PWCHAR String );
BOOLEAN PxAfAndSapFromDevClass( PPX_ADAPTER pAdapter, LPCWSTR DevClass, PPX_CM_AF *pCmAf, PPX_CM_SAP *pCmSap );
VOID GetAllDevClasses( PPX_ADAPTER pAdapter, LPCWSTR DevClass, PULONG DevClassSize );
VOID PxCloseCallWithCm( PPX_VC pVc );
NDIS_STATUS PxCloseCallWithCl( PPX_VC pVc );
VOID DoDerefVcWork( PPX_VC pVc );
VOID DoDerefClAfWork( PPX_CL_AF pClAf );
VOID DoDerefCmAfWork( PPX_CM_AF pCmAf );
//
// Functions from pxco.c
//
VOID PxCoBindAdapter( OUT PNDIS_STATUS pStatus, IN NDIS_HANDLE BindContext, IN PNDIS_STRING DeviceName, IN PVOID SystemSpecific1, IN PVOID SystemSpecific2 );
VOID PxCoOpenAdaperComplete( NDIS_HANDLE BindingContext, NDIS_STATUS Status, NDIS_STATUS OpenErrorStatus );
VOID PxCoUnbindAdapter( OUT PNDIS_STATUS pStatus, IN NDIS_HANDLE ProtocolBindContext, IN PNDIS_HANDLE UnbindContext );
VOID PxCoCloseAdaperComplete( NDIS_HANDLE BindingContext, NDIS_STATUS Status );
VOID PxCoRequestComplete( IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_REQUEST NdisRequest, IN NDIS_STATUS Status );
VOID PxCoNotifyAfRegistration( IN NDIS_HANDLE BindingContext, IN PCO_ADDRESS_FAMILY pFamily );
VOID PxCoUnloadProtocol( VOID );
NDIS_STATUS PxCoPnPEvent( IN NDIS_HANDLE ProtocolBindingContext, IN PNET_PNP_EVENT pNetPnPEvent );
NDIS_STATUS PxPnPSetPower( IN PPX_ADAPTER pAdapter, IN PNET_PNP_EVENT pNetPnPEvent );
NDIS_STATUS PxPnPQueryPower( IN PPX_ADAPTER pAdapter, IN PNET_PNP_EVENT pNetPnPEvent );
NDIS_STATUS PxPnPQueryRemove( IN PPX_ADAPTER pAdapter, IN PNET_PNP_EVENT pNetPnPEvent );
NDIS_STATUS PxPnPCancelRemove( IN PPX_ADAPTER pAdapter, IN PNET_PNP_EVENT pNetPnPEvent );
NDIS_STATUS PxPnPReconfigure( IN PPX_ADAPTER pAdapter OPTIONAL, IN PNET_PNP_EVENT pNetPnPEvent );
VOID PxCoSendComplete( IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status );
VOID PxCoTransferDataComplete( IN NDIS_HANDLE ProtocolBindingContext, IN PNDIS_PACKET Packet, IN NDIS_STATUS Status, IN UINT BytesTransferred );
VOID PxCoResetComplete( IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_STATUS Status );
VOID PxCoStatusComplete( IN NDIS_HANDLE ProtocolBindingContext );
VOID PxCoReceiveComplete( IN NDIS_HANDLE ProtocolBindingContext );
VOID PxCoStatus( IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE ProtocolVcContext OPTIONAL, IN NDIS_STATUS GeneralStatus, IN PVOID StatusBuffer, IN UINT StatusBufferSize );
UINT PxCoReceivePacket( IN NDIS_HANDLE ProtocolBindingContext, IN NDIS_HANDLE ProtocolVcContext, IN PNDIS_PACKET pNdisPacket );
VOID PxTerminateDigitDetection( IN PPX_VC pVc, IN PNDISTAPI_REQUEST pNdisTapiRequest, IN ULONG ulReason );
VOID PxDigitTimerRoutine( IN PVOID SystemSpecific1, IN PVOID FunctionContext, IN PVOID SystemSpecific2, IN PVOID SystemSpecific3 );
NDIS_STATUS PxStopDigitReporting( PPX_VC pVc );
VOID PxHandleReceivedDigit( IN PPX_VC pVc, IN PVOID Buffer, IN UINT BufferSize );
VOID PxHandleWanLinkParams( IN PPX_VC pVc, IN PVOID Buffer, IN UINT BufferSize );
//
// Functions from pxcl.c
//
NDIS_STATUS PxClCreateVc( IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisVcHandle, OUT PNDIS_HANDLE ProtocolVcContext );
NDIS_STATUS PxClDeleteVc( IN NDIS_HANDLE ProtocolVcContext );
NDIS_STATUS PxClRequest( IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE ProtocolVcContext OPTIONAL, IN NDIS_HANDLE ProtocolPartyContext OPTIONAL, IN OUT PNDIS_REQUEST NdisRequest );
VOID PxClRequestComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE ProtocolPartyContext, IN PNDIS_REQUEST NdisRequest );
VOID PxClOpenAfComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolAfContext, IN NDIS_HANDLE NdisAfHandle );
VOID PxClCloseAfComplete( IN NDIS_STATUS status, IN NDIS_HANDLE ProtocolAfContext );
VOID PxClRegisterSapComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolSapContext, IN PCO_SAP Sap, IN NDIS_HANDLE NdisSapHandle );
VOID PxClDeregisterSapComplete( IN NDIS_STATUS status, IN NDIS_HANDLE ProtocolSapContext );
VOID PxClMakeCallComplete( IN NDIS_STATUS Status, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE NdisPartyHandle OPTIONAL, IN PCO_CALL_PARAMETERS CallParameters );
VOID PxClModifyCallQosComplete( IN NDIS_STATUS status, IN NDIS_HANDLE ProtocolVcContext, IN PCO_CALL_PARAMETERS CallParameters );
VOID PxClCloseCallComplete( IN NDIS_STATUS status, IN NDIS_HANDLE ProtocolVcContext, IN NDIS_HANDLE ProtocolPartyContext OPTIONAL );
VOID PxClAddPartyComplete( IN NDIS_STATUS status, IN NDIS_HANDLE ProtocolPartyContext, IN NDIS_HANDLE NdisPartyHandle, IN PCO_CALL_PARAMETERS CallParameters );
VOID PxClDropPartyComplete( IN NDIS_STATUS status, IN NDIS_HANDLE ProtocolPartyContext );
NDIS_STATUS PxClIncomingCall( IN NDIS_HANDLE ProtocolSapContext, IN NDIS_HANDLE ProtocolVcContext, IN OUT PCO_CALL_PARAMETERS pCallParams );
VOID PxClIncomingCallQosChange( IN NDIS_HANDLE ProtocolVcContext, IN PCO_CALL_PARAMETERS CallParameters );
VOID PxClIncomingCloseCall( IN NDIS_STATUS closeStatus, IN NDIS_HANDLE ProtocolVcContext, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL );
VOID PxClIncomingDropParty( IN NDIS_STATUS DropStatus, IN NDIS_HANDLE ProtocolPartyContext, IN PVOID CloseData OPTIONAL, IN UINT Size OPTIONAL );
VOID PxClCallConnected( IN NDIS_HANDLE ProtocolVcContext );
//
// Functions from pxtapi.c
//
ULONG GetLineEvents( PCHAR EventBuffer, ULONG BufferSize );
NDIS_STATUS PxTapiPlaceHolder( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiMakeCall( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetDevCaps( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiAccept( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiAnswer( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiLineGetID ( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiClose( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiCloseCall( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiConditionalMediaDetection( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiConfigDialog( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiDevSpecific( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiDial( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiDrop( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetAddressCaps( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetAddressID( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetAddressStatus( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetCallInfo( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetCallStatus( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetDevConfig( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetExtensionID( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetID( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetLineDevStatus( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiNegotiateExtVersion( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSendUserUserInfo( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSetAppSpecific( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSetCallParams( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSetDefaultMediaDetection( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSetDevConfig( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSetMediaMode( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSetStatusMessages ( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGetCallAddressID( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiOpen( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiProviderInit( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiProviderShutdown( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSecureCall( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiSelectExtVersion( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiGatherDigits( IN PNDISTAPI_REQUEST pndisTapiRequest );
NDIS_STATUS PxTapiMonitorDigits( IN PNDISTAPI_REQUEST pndisTapiRequest );
VOID PxTapiCompleteDropIrps( IN PPX_VC pVc, IN ULONG Status );
VOID PxTapiCompleteAllIrps( IN PPX_VC pVc, IN ULONG Status );
VOID PxIndicateStatus( IN PVOID StatusBuffer, IN UINT StatusBufferSize );
NDIS_STATUS AllocateTapiResources( IN PPX_ADAPTER ClAdapter, IN PPX_CL_AF pClAf );
PPX_TAPI_PROVIDER AllocateTapiProvider( IN PPX_ADAPTER ClAdapter, IN PPX_CL_AF pClAf );
VOID MarkProviderOnline( PPX_TAPI_PROVIDER TapiProvider );
VOID MarkProviderOffline( PPX_TAPI_PROVIDER TapiProvider );
VOID MarkProviderConnected( PPX_TAPI_PROVIDER TapiProvider );
VOID MarkProviderDisconnected( PPX_TAPI_PROVIDER TapiProvider );
VOID ClearSapWithTapiLine( PPX_CL_SAP pClSap );
VOID FreeTapiProvider( PPX_TAPI_PROVIDER TapiProvider );
PPX_TAPI_LINE AllocateTapiLine( IN PPX_TAPI_PROVIDER TapiProvider, IN ULONG LineID );
VOID FreeTapiLine( IN PPX_TAPI_LINE TapiLine );
PPX_TAPI_ADDR AllocateTapiAddr( IN PPX_TAPI_PROVIDER TapiProvider, IN PPX_TAPI_LINE TapiLine, IN ULONG AddrID );
VOID FreeTapiAddr( IN PPX_TAPI_ADDR TapiAddr );
NDIS_STATUS AllocateTapiCallInfo( PPX_VC pVC, LINE_CALL_INFO UNALIGNED *LineCallInfo );
BOOLEAN InsertVcInTable( PPX_VC pVc );
VOID RemoveVcFromTable( PPX_VC pVc );
BOOLEAN IsTapiLineValid( ULONG hdLine, PPX_TAPI_LINE *TapiLine );
BOOLEAN IsTapiDeviceValid( ULONG ulDeviceID, PPX_TAPI_LINE *TapiLine );
BOOLEAN IsVcValid( ULONG_PTR CallId, PPX_VC *pVc );
VOID GetVcFromCtx( NDIS_HANDLE VcCtx, PPX_VC *pVc );
BOOLEAN IsAddressValid( PPX_TAPI_LINE TapiLine, ULONG AddressId, PPX_TAPI_ADDR *TapiAddr );
BOOLEAN GetLineFromCmLineID( PPX_TAPI_PROVIDER TapiProvider, ULONG CmLineID, PPX_TAPI_LINE *TapiLine );
PPX_TAPI_ADDR GetAvailAddrFromProvider( PPX_TAPI_PROVIDER TapiProvider );
PPX_TAPI_ADDR GetAvailAddrFromLine( PPX_TAPI_LINE TapiLine );
BOOLEAN GetAvailLineFromProvider( PPX_TAPI_PROVIDER TapiProvider, PPX_TAPI_LINE *TapiLine, PPX_TAPI_ADDR *TapiAddr );
BOOLEAN InsertLineInTable( PPX_TAPI_LINE TapiLine );
VOID RemoveTapiLineFromTable( PPX_TAPI_LINE TapiLine );
NDIS_STATUS PxVcCleanup( PPX_VC pVc, ULONG DropPending );
#endif // _PROXY__H
|