mirror of https://github.com/lianthony/NT4.0
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.
440 lines
5.1 KiB
440 lines
5.1 KiB
//
|
|
// 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
|
|
);
|
|
|