// // Tapioid.h - file contains defs and protos for tapioid.c // // // // // // internal line states // #define CALL_ST_IDLE 0 #define CALL_ST_LISTEN 1 #define CALL_ST_WAITCONN 2 #define CALL_ST_CONN 3 #define CALL_ST_DONTCARE 0xFFFFFFFF #define MAX_STATE 4 #define PCIMAC_SPI_VER 0x00000000 // // structure for tapi used line information // typedef struct tagTAPI_LINE { // // id of this line // ULONG LineID; // // tapi's handle for this line // HTAPI_LINE htLine; // // pointers to connection objects // these are our tapi call handles // // VOID *cm[MAX_CALL_PER_LINE]; VOID *cm; // // async completion id // ULONG ulRequestPendingID; // // media modes supportd // ULONG MediaModes; // // bearer modes supported // ULONG BearerModes; // // line states // ULONG LineStates; // // address states // ULONG AddressStates; // // media mode currently being monitored // ULONG CurMediaMode; // // bearer mode of current call // ULONG CurBearerMode; // // line state // ULONG TapiLineState; // // line status // ULONG TapiLineStatus; // // the idd for this line // VOID *idd; // // the adapter for this line // VOID *Adapter; // // listening flag // ULONG TapiLineWasListening; }TAPI_LINE_INFO; #define VALIDATE_EXTENSION(version) NDIS_STATUS TSPI_LineAccept( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineAnswer( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineClose( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineCloseCall( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineConditionalMediaDetect( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineConfigDialog( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineDevSpecific( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineDial( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineDrop( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetAddressCaps( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetAddressID( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetAddressStatus( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetCallAddressID( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetCallInfo( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetCallStatus( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetDevCaps( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetDevConfig( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetExtensionID( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetID( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineGetLineDevStatus( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineMakeCall( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineNegotiateExtVersion( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineOpen( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_ProviderInit( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_ProviderShutdown( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSecureCall( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSelectExtVersion( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSendUserToUserInfo( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSetAppSpecific( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSetCallParams( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSetDefaultMediaDetection( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSetDevConfig( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSetMediaMode( ADAPTER *Adapter, PVOID InfoBuffer ); NDIS_STATUS TSPI_LineSetStatusMessage( ADAPTER *Adapter, PVOID InfoBuffer ); VOID SignalCallProceeding( CM *cm ); VOID SignalListenFailure( CM *cm ); VOID SignalListenSuccess( CM *cm ); VOID SignalConnectFailure( CM *cm ); VOID SignalConnectSuccess( CM *cm ); VOID SignalDisconnect( CM *cm ); VOID NoSignal( CM *cm ); IDD* GetIddFromDeviceID( ADAPTER* Adapter, ULONG DeviceID ); CM* GetCallFromCallHandle( ADAPTER* Adapter, HDRV_CALL hdCall ); TAPI_LINE_INFO* GetLineFromLineHandle( ADAPTER* Adapter, HDRV_LINE hdLine ); ULONG GetIDFromLine( ADAPTER *Adapter, TAPI_LINE_INFO *TapiLineInfo ); VOID DoTapiStateCheck( CM* cm ); ULONG GetCallState( CM *cm ); VOID SendLineEvent( ADAPTER *Adapter, HTAPI_LINE htLine, HTAPI_CALL htCall, ULONG ulMsg, PULONG Param1, PULONG Param2, PULONG Param3 ); VOID SetDefaultCallingProf( CM_PROF *Profile, ULONG DeviceID ); VOID SetDefaultListenProf( CM_PROF *Profile, ULONG DeviceID ); VOID StashAddress( CM_PROF *Profile, ULONG AddressLength, PUCHAR Address ); VOID FreeIddCallResources( CM *cm ); ULONG FindAndStashIdd( CM *cm, CM_PROF *Profile ); //CM* //GetCmFromDeviceID( // ADAPTER *Adapter, // ULONG DeviceID, // ULONG AddressID // ); CM* GetCmFromDeviceID( ADAPTER *Adapter, ULONG DeviceID ); ULONG GetChannelsFromIdd ( IDD* idd, CM* cm, ULONG BeginChannel, ULONG ChannelsNeeded );