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

📄 tw8a.h

📁 处理各种电话投诉的危机情况
💻 H
字号:

/*****************************************************************************

	(C) Copyright by Beijing Taixing Data Engineering Co., Ltd.

	FILE ........... TW8A.H
	FUNCTION ....... Header file for TurboWay - TW8A API
	VERSION ........ 1.00
	AUTHOR ......... Mr. Zhang Qilin
	CREATE ......... October 5, 1994
	UPDATE ......... June 19, 1998

	May 23, 1995	- Modify MAX_ADAPTERS from 4 to 8
	August 1, 1995	- Add:	   TW_TW8BRingTimes(...)
	August 9, 1995	- Add:	   TW_PulseMode(...)
	September 8, 1995 - Add :  TW_TW8BMode(...)
				   TW_TW8BVoltage(...)
	September 24, 1998 - Add:	TW_GetPcb, TW_SetPcb

*****************************************************************************/
#ifndef __TW8A_H__
#define __TW8A_H__

/*
#ifdef	_DLL_MAIN_
#define	TW8A_VAR	_declspec(dllexport)
#else

#ifdef _MSC_VER
#define	TW8A_VAR	_declspec(dllimport)
#else
#define TW8A_VAR	extern
#endif
#endif
*/

#define TW8A_API	__stdcall

#ifdef _MSC_VER
#pragma pack(push, enter_tw8a_h)
#pragma pack(1)
#endif

#define MAX_ADAPTERS	8
#define MAX_CHANNELS	(8 * MAX_ADAPTERS)

#define FILE_FLAG	1	/* For TW_PlaySentence(...) */
#define DTMF_LEN	32

/*
 *	Return code for function call
 */
#define E_DRIVER		0xff	/* TW8A driver not installed */
#define E_OK			0x00	/* OK */
#define E_COMMAND		0x01	/* Invalid command 当驱动没装上时,所有后继命令均返回此值 */
#define E_LENGTH		0x02	/* Too few buffer length */
#define E_PLAY_RECORD	0x03	/* Play/Record conflict */
#define E_CHANNEL		0x04	/* Invalid channel number */
#define E_INTERRUPT		0x05	/* Interrupt not installed (can be regarded as E_DRIVER) */

#define	CT_INTERNAL	0	/* Internal channel */
#define	CT_EXTERNAL	1	/* External channel */
#define	CT_EMPTY	2	/* Empty channel */

#define	RATE_64K	0
#define RATE_32K	1
#define RATE_16K	2
#define RATE_8K		3
#define RATE_48K	4
#define RATE_24K	5
#define RATE_12K	6
#define RATE_6K		7

#define SIGNAL_TYPE	8
/*
 *	Signal type
 */
#define	SIG_UNKNOWN	0x60
#define SIG_TIMEOUT	0x61
#define SIG_OFFHOOK	0x62
#define SIG_NOBODY	0x63

#define SIG_SILENCE	0x40
#define SIG_DIAL	0x41

#define SIG_RING	0x00
#define SIG_BUSY1	0x01
#define SIG_BUSY2	0x02

/* 
 *	CHAR_NAME is for TW_MakeSentence(...)
 */
typedef enum {
	CN_END = 0,		/* End of sentence (Also end of string) */
	CN_NOTHING,		/* Do nothing */
	CN_DIGIT0, CN_DIGIT1, CN_DIGIT2, CN_DIGIT3, CN_DIGIT4,	/* 0 - 4 */
	CN_DIGIT5, CN_DIGIT6, CN_DIGIT7, CN_DIGIT8, CN_DIGIT9,	/* 5 - 9 */
	CN_TEN,			/*          10 */
	CN_HUNDRED,		/*         100 */
	CN_THOUSAND,		/*       1,000 */
	CN_10THOUSAND,		/*      10,000 */
	CN_100MILLION,		/* 100,000,000 */
	CN_POINT,		/* "." */
	CN_NEGATIVE,		/* "-" */

	CN_LAST			/* To be continued by YOU ! */
} CHAR_NAME;

typedef struct {
	WORD	SilenceSigMin;	/* Min. count of SIG_SILENCE */
	WORD	DialSigMin;	/* Min. count of SIG_DIAL */
	WORD	SignalPara[SIGNAL_TYPE][4];
	/*	[x][0] : Min count of low
	 *	[x][1] : Max count of low
	 *	[x][2] : Min count of high
	 *	[x][3] : Max count of high
	 */
} PCB_STRUC;	/* Parameter Control Block Structure */

typedef struct {
	BYTE	MajorVer;
	BYTE	MinorVer;
	BYTE	IRQNo;
	BYTE	IntrNo;				/* reserved, always 0 */
	PCB_STRUC	*PCBAddr;
	WORD	AdapterNum;
	WORD	ChannelNum;
	WORD	TW8ASeg[MAX_ADAPTERS];
} SP_STRUC;	/* System Parameter Structure */

#ifdef __cplusplus
extern "C" {
#endif

typedef void (*TW_CALLBACK_FUNC)(DWORD);

//TW8A_VAR BYTE	TW_ReturnCode;	/* TW_ReturnCode 是最近所调用函数的返回码. */
//TW8A_VAR DWORD	TW_BufLength;	/* 2048 */
//TW8A_VAR LPSTR*	TW_VoiceData;	/* Voice data for CHAR_NAME */

void TW8A_API	TW_SetCallback(TW_CALLBACK_FUNC);

/* 初始化函数 */
WORD TW8A_API	TW_Installed(void);
void TW8A_API	TW_Initialize(void);
void TW8A_API	TW_Disable(void);

/* 检测及控制函数 */
WORD TW8A_API	TW_ChannelType(WORD);
BOOL TW8A_API	TW_OffHookDetect (WORD);
WORD TW8A_API	TW_RingDetect (WORD);
void TW8A_API	TW_HangUpCtrl (WORD);
void TW8A_API	TW_OffHookCtrl (WORD);
void TW8A_API	TW_RingCtrl (WORD);
void TW8A_API	TW_PowerCtrl (WORD);

void TW8A_API	TW_SysPara (SP_STRUC*);
void TW8A_API	TW_CompressRatio (WORD);

DWORD TW8A_API	TW_StartRecord (WORD, PBYTE, DWORD);
DWORD TW8A_API	TW_StopRecord (WORD);
DWORD TW8A_API	TW_RecordRest (WORD);
DWORD TW8A_API	TW_StartPlay (WORD, PBYTE, DWORD);
DWORD TW8A_API	TW_StopPlay (WORD);
DWORD TW8A_API	TW_PlayRest (WORD);
DWORD TW8A_API	TW_StartDial (WORD Channel, LPCSTR DialStr);
DWORD TW8A_API	TW_StopDial (WORD Channel);
DWORD TW8A_API	TW_DialRest (WORD);

void TW8A_API	TW_FlushDTMF (WORD);
int TW8A_API	TW_GetDTMFChar (WORD);
LPSTR TW8A_API	TW_GetDTMFStr (WORD, LPSTR);
void TW8A_API	TW_StartTimer (WORD, LONG);
LONG TW8A_API	TW_TimerElapsed (WORD);
WORD TW8A_API	TW_CheckSignal (WORD, DWORD *, DWORD *);
WORD TW8A_API	TW_CheckOffHook (WORD, DWORD *, DWORD *);
BOOL TW8A_API	TW_ListenerOffHook (WORD);

void TW8A_API	TW_ConnectChannels (WORD, WORD);
void TW8A_API	TW_DisconnectChannels (WORD, WORD);
void TW8A_API	TW_ConnectTo (WORD, WORD);
void TW8A_API	TW_Disconnect (WORD);
void TW8A_API	TW_Connect3 (WORD, WORD, WORD);
void TW8A_API	TW_Disconnect3 (WORD, WORD, WORD);

void TW8A_API	TW_GenerateSignal (WORD, WORD);
void TW8A_API	TW_GenerateRing (WORD);

LONG TW8A_API	TW_StartRecordFile (WORD, LPCSTR, LONG, DWORD);
LONG TW8A_API	TW_RecordFileRest (WORD);
LONG TW8A_API	TW_StopRecordFile (WORD);
BOOL TW8A_API	TW_TruncateFile (LPCSTR, LONG);
LONG TW8A_API	TW_StartPlayFile (WORD, LPCSTR, DWORD, DWORD);
LONG TW8A_API	TW_PlayFileRest (WORD);
LONG TW8A_API	TW_StopPlayFile (WORD);

void TW8A_API	TW_MakeSentence (double, LPSTR);
LONG TW8A_API	TW_PlaySentence (WORD, LPSTR);
LONG TW8A_API	TW_PlaySentenceRest (WORD);

void TW8A_API	TW_GetSerial (LPSTR);

void TW8A_API	TW_StartMonitor (WORD);
BOOL TW8A_API	TW_MonitorOffHook (WORD, WORD);
BOOL TW8A_API	TW_MonitorBusy (WORD, WORD, DWORD);

void TW8A_API	TW_PulseMode (BYTE);

BYTE TW8A_API	TW_GetReturnCode (void);
DWORD TW8A_API	TW_SetLength (DWORD);
void TW8A_API	TW_SetVoice (LPSTR *);
void TW8A_API	TW_SetVoicei (int, LPSTR);

void TW8A_API	TW_GetPcb (PCB_STRUC *);
void TW8A_API	TW_SetPcb (PCB_STRUC *);

WORD TW8A_API	TW_TW8BRingStatus (WORD);
void TW8A_API	TW_TW8BVoltage (WORD, WORD);

#ifdef __cplusplus
}
#endif

#ifdef _MSC_VER
#pragma pack(pop, enter_tw8a_h)
#endif

#endif
/*****************************************************************************
	End Of File     - TW8A.H
	Last Update     - October 13, 1998
	(C) Copyright by Beijing Taixing Data Engineering Co., Ltd.
*****************************************************************************/

⌨️ 快捷键说明

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