📄 tc08a32.h
字号:
#ifndef _TC08A32_H
#define _TC08A32_H
#include <windows.h>
#ifdef __cplusplus
extern "C" {
#endif
/*******************************************
define value
********************************************/
#define MAX_CARD_NO 16
#define MAX_CHANNEL_NO 8 * MAX_CARD_NO
// add for support 256 channel, 2001.11.14
#define MAX_CHANNEL_NO_256 (16 * MAX_CARD_NO)
#define LEN_FILEPATH 70
// the value of every card-type
#define CARD_TYPE_T5_64 1
#define CARD_TYPE_T5_128 2
#define CARD_TYPE_T5_REC 3
#define CARD_TYPE_T5_128_NT 10
#define CARD_TYPE_T5_REC_NT 11
#define CARD_TYPE_T5_ID_NT 12
// new-d160a
#define CARD_TYPE_D160A_NT 30
// d160an
#define CARD_TYPE_D160A_NT_NEW 31
//YY ADD FOR PCI SUPPORT 2000.10.16
#define CARD_TYPE_D160A_PCI 50
//YY ADD FOR PCI SUPPORT 2000.10.16
#define CHTYPE_USER 0
#define CHTYPE_TRUNK 1
#define CHTYPE_EMPTY 2
#define CHTYPE_RECORD 3
#define CHTYPE_CS 4
#define CHTYPE_EM_CTRL 5
#define CHTYPE_EM_4VOC 6
#define CHTYPE_EM_2VOC 7
#define NODTMF -1
#define DTMF_CODE_0 10
#define DTMF_CODE_1 1
#define DTMF_CODE_2 2
#define DTMF_CODE_3 3
#define DTMF_CODE_4 4
#define DTMF_CODE_5 5
#define DTMF_CODE_6 6
#define DTMF_CODE_7 7
#define DTMF_CODE_8 8
#define DTMF_CODE_9 9
#define DTMF_CODE_STAR 11
#define DTMF_CODE_SHARP 12
#define DTMF_CODE_A 13
#define DTMF_CODE_B 14
#define DTMF_CODE_C 15
#define DTMF_CODE_D 16
#define RECORD_CHECK 01
#define PLAY_CHECK 02
#define SEND_CHECK 03
#define SEND_READY_CHECK 04
#define R_BUSY 0x21
#define R_OTHER 0x20
#define S_NODIALTONE 0x0F
#define S_NORESULT 0x10
#define S_BUSY 0x11
#define S_NOBODY 0x13
#define S_CONNECT 0x14
#define S_NOSIGNAL 0x15
#define S_DIALSIG 0x30
#define PACK_64KBPS 0
#define PACK_32KBPS 1
#define PACK_16KBPS 2
#define PACK_8KBPS 3
// NEW ADD for Feed and Signal
#define SIG_STOP 0
#define SIG_DIALTONE 1
#define SIG_BUSY1 2
#define SIG_BUSY2 3
#define SIG_RINGBACK 4
#define SIG_CUIGUA 5
#define SIG_STOP_NEW 10
#define HANG_UP_FLAG_FALSE 0
#define HANG_UP_FLAG_TRUE 1
#define HANG_UP_FLAG_START 2
#define HANG_UP_FLAG_PRESS_R 3
// caller-ID
#define ID_STEP_NONE 0
#define ID_STEP_HEAD 1
#define ID_STEP_ID 2
#define ID_STEP_OK 3
#define ID_STEP_FAIL 4
#define ID_STEP_LEN 5
// end of caller-ID
// add by syl
#define DJ_DIAL_LEN 64
#define DIAL_MAX_NO DJ_DIAL_LEN
#define MAX_SPK_STR DJ_DIAL_LEN
// end by syl
typedef struct {
WORD PlayFlag;
WORD RecordFlag;
WORD PlayCount;
WORD RecordCount;
WORD DtmfCount;
WORD DialFlag;
WORD SigCount;
WORD SigStartPoint;
LPSTR SigBuf;
} TPD_RPB;
typedef struct {
BYTE Busy1Count1Low;
BYTE Busy1Count1High;
BYTE Busy1Count0Low;
BYTE Busy1Count0High;
WORD BusySigCount;
WORD BusySigLen;
WORD SendReadyLen;
BYTE SendBusy1Count1Low;
BYTE SendBusy1Count1High;
BYTE SendBusy1Count0Low;
BYTE SendBusy1Count0High;
BYTE SendSigCount1Low;
BYTE SendSigCount1High;
BYTE SendSigCount0Low;
BYTE SendSigCount0High;
WORD SendNoSignalLen;
BYTE MaxRingTimes;
} TPD_WPB;
//use play index file
typedef struct{
char *FileName[200];
HANDLE gHandle[200];
DWORD FileCount;
int FileFlag[200];
}TPD_PIF;
/*******************************************
define struct & type
********************************************/
typedef struct {
// get from "TC08A-V.INI"
WORD wCardNo;
WORD wCardType;
WORD wConnect;
WORD wIRQ;
char cbDir[LEN_FILEPATH];
WORD wAddress[MAX_CARD_NO];
// get from driver
WORD wMajorVer;
WORD wMinorVer;
WORD wChType[MAX_CHANNEL_NO];
WORD wMachineNo;
} TC_INI_TYPE;
/*******************************************
define function
********************************************/
long WINAPI LoadDRV(void);
void WINAPI FreeDRV(void);
void WINAPI GetSysInfo( TC_INI_TYPE *TmpIni);
WORD WINAPI CheckValidCh(void);
WORD WINAPI CheckChType(WORD wChnlNo);
BOOL WINAPI IsSupportCallerID(void);
long WINAPI EnableCard(WORD wUsedCh, WORD wFileBufLen);
void WINAPI DisableCard(void);
void WINAPI SetPackRate ( WORD wPackRate );
void WINAPI PUSH_PLAY (void);
BOOL WINAPI RingDetect(WORD wChnlNo);
BOOL WINAPI CheckPolarity(WORD wChnlNo);
void WINAPI OffHook(WORD wChnlNo);
void WINAPI HangUp(WORD wChnlNo);
long WINAPI SetLink ( WORD wOne, WORD wAnother );
long WINAPI ClearLink ( WORD wOne, WORD wAnother );
long WINAPI LinkOneToAnother ( WORD wOne, WORD wAnother );
long WINAPI ClearOneFromAnother ( WORD wOne, WORD wAnother );
long WINAPI LinkThree( WORD wOne, WORD wTwo, WORD wThree);
long WINAPI ClearThree( WORD wOne, WORD wTwo, WORD wThree);
void WINAPI InitDtmfBuf(WORD wChnlNo);
short WINAPI GetDtmfCode( WORD wChnlNo);
BOOL WINAPI DtmfHit(WORD wChnlNo);
void WINAPI StartSigCheck ( WORD wChnlNo );
void WINAPI StopSigCheck ( WORD wChnlNo );
WORD WINAPI ReadCheckResult(WORD wChnlNo, WORD wMode);
WORD WINAPI ReadBusyCount(void);
void WINAPI SetBusyPara( WORD BusyLen );
void WINAPI SetDialPara ( WORD RingBack1, WORD RingBack0, WORD BusyLen, WORD RingTimes );
void WINAPI ReadSigBuf ( WORD wChnlNo, WORD *pwStartPoint, WORD *pwCount, BYTE *SigBuf );
void WINAPI StartPlay ( WORD wChnlNo, char *PlayBuf, DWORD dwStartPos, DWORD dwPlayLen);
void WINAPI StopPlay ( WORD wChnlNo);
BOOL WINAPI CheckPlayEnd ( WORD wChnlNo );
void WINAPI ReadStatus ( WORD wChnlNo, TPD_RPB *TmpRead );
BOOL WINAPI StartPlayFile ( WORD wChnlNo, LPSTR FileName, DWORD StartPos );
void WINAPI StopPlayFile (WORD wChnlNo);
// index play file
void WINAPI RsetIndexPlayFile(WORD Line);
BOOL WINAPI AddIndexPlayFile(WORD Line, char *FileName);
BOOL WINAPI StartIndexPlayFile( WORD wChnlNo);
BOOL WINAPI CheckIndexPlayFile(WORD ChnlNo);
void WINAPI StopIndexPlayFile(WORD wChnlNo);
void WINAPI ResetIndex (void);
BOOL WINAPI SetIndex ( char *VocBuf, DWORD dwVocLen);
void WINAPI StartPlayIndex( WORD wChnlNo, WORD *pIndexTable, WORD wIndexLen);
void WINAPI SendDtmfBuf(WORD wChnlNo, LPSTR DialNum);
BOOL WINAPI CheckSendEnd(WORD wChnlNo);
//static WORD StopRecord(WORD wChnlNo);
BOOL WINAPI StartRecordFile ( WORD wChnlNo, LPSTR FileName, DWORD dwRecordLen );
BOOL WINAPI CheckRecordEnd ( WORD wChnlNo );
void WINAPI StopRecordFile (WORD wChnlNo);
void WINAPI FeedSigFunc ( void );
void WINAPI StartTimer(WORD wChnlNo, WORD ClockType);
long WINAPI ElapseTime ( WORD wChnlNo, WORD ClockType );
void WINAPI StartPlaySignal (WORD wChnlNo, WORD SigType );
void WINAPI StartHangUpDetect ( WORD wChnlNo );
WORD WINAPI HangUpDetect ( WORD wChnlNo );
void WINAPI FeedRing(WORD wChnlNo);
void WINAPI FeedRealRing(WORD wChnlNo);
void WINAPI FeedPower(WORD wChnlNo);
BOOL WINAPI OffHookDetect(WORD wChnlNo);
BOOL WINAPI ReadGenerateSigBuf (LPSTR lpFileName);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -