⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tdi.h

📁 TSapi 软件电话源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
} TDIIPAddr_t;

typedef struct
{
	LoginID_t			loginID;			/* Login for this session */
	AppName_t			appName;			/* Application name for this session */
	LoginTime_t			timeOpened;			/* Time the ACS stream was opened */
	char				homeDeviceID[16];	/* Primary device ID of Home 
					   						 * WorkTop record 
					   						 */
	char				awayDeviceID[16];	/* Primary device ID of Away Worktop
					   						 * record.
						   					 */
	unsigned short		transportType;		/* Transport type (see below)	*/
	union {
		char			pad[32];			/* struct padding	*/
		TDISPXAddr_t	spxAddress;			/* SPX/IPX address	*/
		TDIIPAddr_t		ipAddress;			/* IP address		*/
	} address;
} TDISessionInfo_t;

/* defines for transportType field */
#define TDI_SPX_IPX		1	  /* SPX/IPX transport		*/
#define TDI_TCP_IP		2	  /* TCP/IP transport		*/

typedef struct SetFlowControl_t {
    char           alternateCall;
    char           answerCall;
    char           callCompletion;
    char           clearCall;
    char           clearConnection;
    char           conferenceCall;
    char           consultationCall;
    char           deflectCall;
    char           pickupCall;
    char           groupPickupCall;
    char           holdCall;
    char           makeCall;
    char           makePredictiveCall;
    char           queryMwi;
    char           queryDnd;
    char           queryFwd;
    char           queryAgentState;
    char           queryLastNumber;
    char           queryDeviceInfo;
    char           reconnectCall;
    char           retrieveCall;
    char           setMwi;
    char           setDnd;
    char           setFwd;
    char           setAgentState;
    char           transferCall;
    char           eventReport;
    char	       routeRegister;
    char	       routeRegisterCancel;
    char           reRoute;
    char           routeSelect;
    char           monitorDevice;
    char           monitorCall;
    char           monitorCallsViaDevice;
    char           changeMonitorFilter;
    char           monitorStop;
    char           monitorEnded;
    char           snapshotDeviceReq;
    char           snapshotCallReq;
    char           escapeService;
    char           escapeServiceConf;
    char           sysStatReq;
    char           sysStatStart;
    char           sysStatStop;
    char           sysStatFilter;
    char           changeSysStatFilter;
    char           sysStatReqConf;
    char  	       acsOpenStream;
} SetFlowControl_t;

#pragma pack (4)
typedef struct TdiAbout_t
{
	char	aboutVer[20];  		/* Module version */
	char	aboutString[40];	/* Module name */
} TdiAbout_t;
#pragma pack ()

#ifdef __cplusplus
extern "C" {
#endif
     /*
      * FUNCTION PROTOTYPES
      */

TDILIBAPI TDIHandle_t tdiDriverRegister(
	const char			*service_name,          /* INPUT  */
	const char			*driver_name,           /* INPUT  */
	int					service_type,           /* INPUT  */
	TDIProtocol_t		protocol_descriptor,    /* INPUT  */
	const char			*vendor_name,           /* INPUT  */
	const TDIVersion_t	version,        		/* INPUT  */
	TDISecurity_t		driver_security,		/* INPUT  */
	const TDIBuf_info_t	*buffer_descriptor); 	/* INPUT  */

TDILIBAPI TDIReturn_t tdiDriverUnregister (
	TDIHandle_t     	driverID);     	/* INPUT */

TDILIBAPI TDIReturn_t tdiAllocBuffer (
	TDIHandle_t     driverID,	/* INPUT   */
	char            **bufptr,	/* OUTPUT */
	unsigned int    length,		/* INPUT   */
	TDIBuf_flag_t   *buf_flag);	/* OUTPUT */

TDILIBAPI TDIReturn_t tdiFreeBuffer (
	TDIHandle_t     driverID,      /* INPUT   */
	char            *bufptr);       /* INPUT   */


TDILIBAPI TDIReturn_t tdiReceiveFromTserver(
	TDIHandle_t     driverID,      	/* INPUT  */
	char            **bufptr);      /* OUTPUT */

TDILIBAPI TDIReturn_t tdiSendToTserver(
	TDIHandle_t     driverID,      	/* INPUT  */
	char            *bufptr,        /* INPUT  */
	TDIPriority_t   priority);      /* INPUT  */

TDILIBAPI TDIReturn_t tdiQueueSize (
	TDIHandle_t     driverID,      		/* INPUT  */
	TDIQueue_info_t *queue_descriptor); /* OUTPUT */

TDILIBAPI TDIReturn_t tdiGetTDISize (
	TDIHandle_t     driverID,      			/* INPUT  */
	TDIBuf_info_t	*buffer_descriptor);	/* OUTPUT  */

TDILIBAPI TDIReturn_t tdiMemAllocSize (
	TDIHandle_t     driverID,      			/* INPUT  */
	TDIMemAlloc_info_t *mem_descriptor);	/* OUTPUT */

TDILIBAPI TDIReturn_t tdiDriverSanity (
	TDIHandle_t     driverID);     			/* INPUT  */

TDILIBAPI TDIReturn_t tdiGetSessionIDInfo (
	TDIHandle_t		driverID,		/* INPUT  */
	SessionID_t		sessionID,		/* INPUT  */
	TDISessionID_t	*sessionIDInfo);/* OUTPUT */

TDILIBAPI TDIReturn_t tdiGetSessionInformation (
	TDIHandle_t			driverID,		/* INPUT  */
	SessionID_t			sessionID,		/* INPUT  */
	TDISessionInfo_t	*sessionInfo); /* OUTPUT */

TDILIBAPI TDIReturn_t tdiMapInvokeID(
	TDIHandle_t		driverID,		/* INPUT  */
	SessionID_t		sessionID,		/* INPUT  */
	InvokeID_t		invokeID,		/* INPUT  */
	InvokeID_t  	*appInvokeID);   /* OUTPUT */

TDILIBAPI TDIReturn_t tdiSetMessageFlowControl(
	TDIHandle_t			driverID,	/* INPUT */
	short	int			msgLevel,	/* INPUT */
	SetFlowControl_t	*cstaMsgs);	/* INPUT */

TDILIBAPI TDIReturn_t tdiGetMessageFlowControl(
	TDIHandle_t			driverID,	/* INPUT */
	short	int			*msgLevel,	/* INPUT */
	SetFlowControl_t	*cstaMsgs);	/* INPUT */

TDILIBAPI TDIReturn_t tdiGetTservVersion(
	char			*customer_version,	/* OUTPUT */
	char			*internal_version,	/* OUTPUT */
	TDIVersion_t	tsdi_version,		/* OUTPUT */
	int				service_type,		/* INPUT */
	TDIProtocol_t	*protocol_version);	/* OUTPUT */

typedef void	(*TrafficMeasCB) (TDIHandle_t driverID, int cbParam);

TDILIBAPI TDIReturn_t tdiTrafficRegister(
	TDIHandle_t			driverID,		/* INPUT */
	TDITrafficType_t	trafficType,	/* INPUT */
	TrafficMeasCB		callback ); 	/* INPUT */

TDILIBAPI TDIReturn_t tdiTrafficReport(
	TDIHandle_t			driverID,		/* INPUT */
	TDITrafficType_t	trafficType,	/* INPUT */
	TDIStatType_t		statType,		/* INPUT */
	TDIStatValue_t		statValue );	/* INPUT */

TDILIBAPI TDIReturn_t tdiTrafficUnregister (
	TDIHandle_t     	driverID,		/* INPUT */
	TDITrafficType_t	trafficType);	/* INPUT */

TDILIBAPI TDIReturn_t tdiGetAboutInfo(TdiAbout_t	*tdiAbout);

TDILIBAPI char* tdiGetPDUName(EventClass_t msgClass,EventType_t msgType);
 
#ifdef _WINNT_NTS_
/* This API only applies to the Windows NT platform */
TDILIBAPI TDIReturn_t tdiDriverUnload(const char	*driverName);
#endif

/*
 * Error Levels used by tdiLogError
 */
#undef TRACE
#undef ERROR
typedef enum error_level {
	TRACE 		= 0x1,		/* trace message for debugging */
	CAUTION 	= 0x2,		/* unexpected software error (non-fatal) */
	AUDIT_TRAIL = 0x4,		/* important (normal) event */
	WARNING 	= 0x8,		/* non-service-affecting condition */
	ERROR 		= 0x10,		/* non-fatal, service-affecting condition */
	FATAL 		= 0x20,		/* FATAL condition (calling module aborting) */

	/* FORCE_PRINTF is only used in the NetWare target */
	FORCE_PRINTF = 0x80,	/* If or'd in with one of the other levels,
				 			 * forces a ConsolePrintf regardless of how
				 			 * the system errlog settings are
				 			 */
	FORCE_LOG	= 0x100		/* Force the message into the error log
							 * regardless of the system error log settings.
							 */
} ElogLevel_t;

typedef enum error_level ElogLevelMask_t;
typedef int ElogDestMask_t;


TDILIBAPI void tdiLogError(
		const char      *module,        /* I - module name */
		ElogLevel_t     level,          /* I - TRACE, ERROR, FATAL,...*/
		int		location_code,  /* I - unique location number */
		int		error_code,     /* I - error code */
		const char      *format,        /* I - printf style format */
		...				/* I - optional arguments 
						 * (0 or more)   */
		);


#ifdef __cplusplus
}
#endif

/* Driver Service Type - passed in tdiDriverRegister() */
#define TDI_ST_OAM      1       
#define TDI_ST_CSTA     2
#define TDI_ST_SIM      3
#define TDI_ST_NMSRV	4
#define TDI_ST_TSRVOAM  5
#define TDI_ST_CSRVOAM  6
#define TDI_ST_SDBADMIN 7

#define CS_HOME_WORKTOP 1
#define CS_DEVICE_DEVICE 2
#define CS_DEVICE_CALL  3
#define CS_CALL_CALL    4
#define CS_CONTROL      5
#define CS_ROUTE        6

/* Driver Control Block Structure */
typedef struct {
    unsigned short              messageOffset;
    unsigned short              messageLength;
    unsigned short              privateOffset;
    unsigned short              privateLength;
    InvokeID_t                  invokeID;
    CSTAMonitorCrossRefID_t     monitorCrossRefID;
    SessionID_t              	sessionID;
    EventClass_t                messageClass;
    EventType_t                 messageType;
    short                       class_of_service;
} TDIDriverControlBlock_t;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -