?? tc08a32.h
字號(hào):
#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 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_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
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);
// caller-id
void WINAPI ResetCallerIDBuffer(WORD wChnlNo);
WORD WINAPI GetCallerIDRawStr (WORD wChnlNo, LPSTR IDRawStr);
WORD WINAPI GetCallerIDStr (WORD wChnlNo, LPSTR IDStr);
BOOL WINAPI StartRecordFileNew ( WORD wChnlNo, LPSTR FileName,
DWORD dwRecordLen,DWORD dwRecordStartPos );
long WINAPI NewReadPass ( WORD wCardNo );
long WINAPI CheckSilence(WORD wChnlNo, WORD wCheckNum);
// add about fast send dtmf
int WINAPI SetSendPara ( int ToneLen, int SilenceLen );
void WINAPI NewSendDtmfBuf(int ChannelNo, LPSTR DialNum);
int WINAPI NewCheckSendEnd(int ChannelNo);
// add for T5-REC-NT card
#define FREQWIDTH_ALL 0
#define FREQWIDTH_WIDE 1
#define SENSVAL_1_OF_16 00
#define SENSVAL_1_OF_8 01
#define SENSVAL_1_OF_4 02
#define SENSVAL_1_OF_2 03
#define SPEAKER_VOL_NONE 0
#define SPEAKER_VOL_1 1
#define SPEAKER_VOL_2 2
#define SPEAKER_VOL_3 3
#define SPEAKER_VOL_4 4
#define SPEAKER_VOL_5 5
#define SPEAKER_VOL_6 6
#define SPEAKER_VOL_7 7
#define SPEAKER_VOL_8 8
void WINAPI LinkZeroTo ( WORD wChnlNo );
void WINAPI ClearZeroLink (void);
void WINAPI SetSpkVol ( WORD wVol );
//end of add
//----------- add for convert FAX
int WINAPI DJCvt_ClientStartConvert( WORD wFaxChnl, char *NowTxtName, char *NowFaxName, BYTE cbResolution, BYTE cbPageLineNo);
int WINAPI DJCvt_ClientStopConvert( WORD wFaxChnl );
int WINAPI DJCvt_ClientCheckCvt ( WORD wFaxChnl );
// add for new-d160a
#define WORK_MODE_DTMF 0
#define DTMF_MODE_VAL_NORMAL 0
#define DTMF_MODE_VAL_QUICK 1
#define WORK_MODE_TEST_DTMF 1
#define WORK_MODE_TEST_FAX 2
#define WORK_MODE_SET_SIG_PARA 3
#define WORK_MODE_CHECK_RING 4
#define CHECK_RING_MODE_VAL_NEW 0
#define CHECK_RING_MODE_VAL_OLD 1
#define WORK_MODE_REC_AGC 5
#define REC_AGC_MODE_VAL_DISABLE 0
#define REC_AGC_MODE_VAL_ENABLE 1
void WINAPI D_SetWorkMode ( WORD wChnl, char cbWorkMode, char cbModeVal );
// more info function
typedef struct {
WORD wMemAddr;
WORD wCardNum;
BYTE cbCardType[MAX_CARD_NO]; // add for D160A, also mean Channel of this card type
BYTE cbCardNeiWai[MAX_CARD_NO]; // add for D160A, TRUNK or USER
WORD wChnlNum;
BYTE cbChType[MAX_CHANNEL_NO];
BYTE cbChnlCardNo[MAX_CHANNEL_NO];
BYTE cbChnlInternal[MAX_CHANNEL_NO];
BYTE cbConnectChnl[MAX_CHANNEL_NO];
BYTE cbConnectStream[MAX_CHANNEL_NO];
BYTE cbDtmfModeVal[MAX_CHANNEL_NO];
BYTE cbIsSupportCallerID[MAX_CHANNEL_NO];
} TC_INI_TYPE_MORE;
#define CARD_TYPE_D160A 16
#define CARD_TYPE_D080A 8
WORD WINAPI D_GetSysInfoMore( TC_INI_TYPE_MORE *TmpMore);
// end of add
#define VOL_ADJUST_RECORD 0
#define VOL_ADJUST_PLAY 1
int WINAPI D_AdjustVocVol_ForVB ( WORD wChnl, WORD wMode, WORD wVolAdjust );
int WINAPI D_AdjustVocVol ( WORD wChnl, char cMode, char cVolAdjust );
// add for D160A or D080A card
void WINAPI ReadSigBufAll ( WORD wChnlNo, WORD *pwStartPoint, WORD *pwCount, BYTE *SigBuf );
void WINAPI SetSigFreqAll ( WORD wIndex, WORD wFreq );
// end
// add for-vr
int WINAPI VR_SetRefreshSize ( WORD wSize );
void WINAPI VR_StartRecord ( WORD wChnlNo );
void WINAPI VR_StopRecord(WORD wChnlNo);
int WINAPI VR_GetRecordData ( WORD wChnlNo, char *pBuffer );
void WINAPI VR_ReadSigBuf ( WORD wChnlNo, WORD *pwStartPoint, WORD *pwCount, BYTE *SigBuf );
void WINAPI VR_SetEcrMode ( WORD wChnl, BYTE cbEnableFlag, WORD wParam1, WORD wParam2 );
// end
//for-tts
int WINAPI IsNowSupportTTS(void);
// for hn, dyq, 2000.09.06
void WINAPI NewSetBusyPara( WORD Busy1Low, WORD Busy1High,WORD Busy0Low, WORD Busy0High );
// add for zyb, 2000.09.07
BOOL WINAPI AddIndexPlayFile_ZYB(WORD Line, char *FileName, int DNum );
//YY ADD FOR PCI 2000.11.26
int GetPciInfo();
//YY ADD FOR PCI 2000.11.26
// add for HZARKJ, 2000.10.19
int WINAPI HZ_inp (WORD wPort);
void WINAPI HZ_outp(WORD wPort, int DataByte );
// end
// add for-FSK, 2000.11.14
WORD WINAPI D_GetFSKRawStr (WORD wChnlNo, LPSTR FSKRawStr);
WORD WINAPI D_GetFSKStr (WORD wChnlNo, LPSTR IDStr);
// add for SWT, 2001.04.28
DWORD WINAPI NewReadPass_SWT ( WORD wCardNo );
//YY ADD FOR FSK 2001.7.2
WORD WINAPI FSK_InitForFSK(void);
void WINAPI FSK_ResetCallerIDBuffer(WORD wChnlNo);
WORD WINAPI FSK_GetFSKRawStr (WORD wChnlNo, LPSTR FSKRawStr);
//YY ADD FOR FSK 2001.7.2
//YY ADD FOR BELL 103 2001.7.9
WORD WINAPI Bell103_SetWorkMode(WORD wChnlNo, WORD wWorkMode);
WORD WINAPI Bell103_GetRecvData(WORD wHandle, char * pData);
WORD WINAPI Bell103_SendData(WORD wHandle, char * pData, WORD nLen);
WORD WINAPI Bell103_Stop(WORD wHandle);
//YY ADD FOR BELL 103 2001.7.9
//YY ADD FOR DFM 2001.8.16
WORD WINAPI D160PCI_GetTimeSlot(WORD wD160AChnl);
WORD WINAPI D160PCI_ConnectFromTS(WORD wD160AChnl, WORD wChnlTS);
WORD WINAPI D160PCI_DisconnectTS(WORD wD160AChnl);
//YY ADD FOR DFM 2001.8.16
// add for BJMR,2002.11.26
WORD WINAPI D160PCI_CT_Connect_CT ( WORD wD160AChnl, BYTE input_stream, BYTE input_slot );
// YY ADD for RealTime Memory Play, 2001.10.17
void WINAPI SYS_StartLoopPlay ( WORD wChnlNo, DWORD dwPlayLen, DWORD dwStartPos );
void WINAPI SYS_MoveBufToSys ( WORD wChnlNo, char *p, DWORD dwMoveLen, DWORD dwSysStartPos );
// end of add
// YY ADD for DFM support NADK, 2002.01.09
int WINAPI DFM_Fax_GetTimeSlot ( int DFM_Fax_ChnlID );
int WINAPI DFM_Fax_ConnectFromTS ( int DFM_Fax_ChnlID, int iTS );
int WINAPI DFM_Fax_DisconnectTS ( int DFM_Fax_ChnlID );
// end of add
// HJN ADD FOR D160A-REV2 RECORD MODULE, 2002.06.28
WORD WINAPI CheckChTypeNew(WORD wChnlNo);
BOOL WINAPI DRec_OffHookDetect(WORD wChnlNo);
// END OF ADD
// add next function in 2003.04.21, just for "New M2R module, you can adjust threshold voltage"
#define NREC_MAX_VOLTAGE_LEVEL 52
BOOL WINAPI DRec_IsVoltageAdjust(WORD wChnlNo);
BOOL WINAPI DRec_SetVoltageLevel(WORD wChnlNo, BYTE cbVoltageVal);
BYTE WINAPI DRec_GetVoltageLevel(WORD wChnlNo);
// add in 2003.05.21
BYTE WINAPI DRec_FetchVoltageValue(WORD wChnlNo);
// end of add
// add next 2 function in 2003.04.30
BOOL WINAPI StartRecordFile_Ex ( WORD wChnlNo, LPSTR FileName, DWORD dwRecordLen, BOOL IsShareOpen );
BOOL WINAPI StartRecordFileNew_Ex ( WORD wChnlNo, LPSTR FileName,
DWORD dwRecordLen,DWORD dwRecordStartPos, BOOL IsShareOpen );
// end of add
#ifdef __cplusplus
}
#endif
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -