📄 tw8vid.h
字号:
/*****************************************************************************
FILE ........... TW8VID.H
FUNCTION ....... Header file for Telewind - TW8VID API
VERSION ........ 1.20
*****************************************************************************/
#ifndef __TW8VID_H
#define __TW8VID_H
#define MAX_ADAPTERS 16
#define MAX_CHANNELS (8 * MAX_ADAPTERS)
#define CHANNEL_MASK (MAX_CHANNELS-1)
#define FILE_FLAG 1 /* For TV_PlaySentence(...) */
#define DTMF_LEN 40
#define MAX_CALLINGID_LEN 24
/* Return code for function call
*/
#define E_DRIVER 0xff /* TW8VID 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_ARGUMENT 0x05
#define E_ERR_SYNC 0x6
#define E_OUT_OF_MEMORY 0x7
#define E_ERR 0x8
#define E_RECORD_BUSY 0x9
#define E_FILEOPEN 0xa
#define E_PLAY_BUSY 0xb
#define E_NO_CONF_PORT 0x20
#define E_NO_FAX_PORT 0x21
#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
#define CM_NORMAL 0x0 /* channel work in not compress mode */
#define CM_COMPRESS 0x1 /* channel work in compress mode */
/* CHAR_NAME is for TV_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 {
int silence_sig_min; /* Min. count of SIG_SILENCE */
int dial_sig_min; /* Min. count of SIG_DIAL */
int signal_para[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 {
unsigned char MajorVer;
unsigned char MinorVer;
unsigned char IRQNo;
unsigned char IntrNo;
PCB_STRUC PCB;
int AdapterNum;
int ChannelNum;
unsigned int TW8VIDSeg[MAX_ADAPTERS];
int far * reserved1;
unsigned char ( far * reserved2)[512];
} SP_STRUC; /* System Parameter Structure */
extern int TV_ReturnCode; /* Return code for last call */
extern int TV_CloseFile; /* Close files in TV_StartRecordFile() & TV_StartPlayFile() ? */
extern char far * *TV_VoiceData; /* Voice data for CHAR_NAME */
extern int *TV_VoiceLen; /* Voice data length for CHAR_NAME */
#ifdef __cplusplus
extern "C" {
#endif
#ifndef WIN32
#define WINAPI
#else
#define TM_NOTIFY (WM_USER+7)
#endif
int WINAPI TV_Installed (void);
int WINAPI TV_Initialize (void);
void WINAPI TV_Disable (void);
int WINAPI TV_ChannelType (int);
int WINAPI TV_OffHookDetect (int);
int WINAPI TV_RingDetect (int);
void WINAPI TV_HangUpCtrl (int);
void WINAPI TV_OffHookCtrl (int);
void WINAPI TV_RingCtrl (int);
void WINAPI TV_PowerCtrl (int);
void WINAPI TV_SysPara (SP_STRUC far *);
void WINAPI TV_CompressRatio (int);
long WINAPI TV_StartRecord (int, char far *, int);
long WINAPI TV_StartRecord2 (int, char far *, int);
long WINAPI TV_StopRecord (int);
long WINAPI TV_RecordRest (int);
long WINAPI TV_StartPlay (int, char far *, int);
long WINAPI TV_StopPlay (int);
long WINAPI TV_PlayRest (int);
int WINAPI TV_StartDial (int, char far *);
int WINAPI TV_StopDial (int);
int WINAPI TV_DialRest (int);
int WINAPI TV_ReceiveCallingID (int ch, char far *rb, int rl);
void WINAPI TV_FlushDTMF (int);
int WINAPI TV_GetDTMFChar (int);
char far *WINAPI TV_GetDTMFStr (int);
void WINAPI TV_StartTimer (int, long);
long WINAPI TV_TimerElapsed (int);
int WINAPI TV_CheckSignal (int, int *, int *);
int WINAPI TV_CheckOffHook (int, int *, int *);
int WINAPI TV_ListenerOffHook (int);
void WINAPI TV_ConnectChannels (int, int);
void WINAPI TV_DisconnectChannels (int, int);
void WINAPI TV_ConnectTo (int, int);
void WINAPI TV_Disconnect (int);
void WINAPI TV_Connect3 (int, int, int);
void WINAPI TV_Disconnect3 (int, int, int);
void WINAPI TV_GenerateSignal (int, int);
void WINAPI TV_GenerateRing (int);
long WINAPI TV_StartRecordFile (int, char *, long, long);
long WINAPI TV_RecordFileRest (int);
long WINAPI TV_StopRecordFile (int);
int WINAPI TV_TruncateFile (char *, long);
long WINAPI TV_StartPlayFile (int, char *, long, long);
long WINAPI TV_PlayFileRest (int);
long WINAPI TV_StopPlayFile (int);
void WINAPI TV_MakeSentence (double, unsigned char *);
long WINAPI TV_PlaySentence (int, unsigned char *);
long WINAPI TV_PlaySentenceRest (int);
void WINAPI TV_GetSerial (char far *);
void WINAPI TV_StartMonitor (int);
int WINAPI TV_MonitorOffHook (int, int);
int WINAPI TV_MonitorBusy (int, int, int);
void WINAPI TV_SetSignalLevel( int );
void WINAPI TV_SetChannelMode( int , int );
void WINAPI TV_SetSignalParam( int , int , int ,int ,int );
void WINAPI TV_SetDTMFSendSpeed( int ch, int speed);
void WINAPI TV_SetVoi(int ch, int v);
void WINAPI TV_SetSendMode( int ch, int m);
int WINAPI TV_SetFaxPort( int port );
int WINAPI TV_SetConfPort( int inPort, int outPort );
int WINAPI TV_SetConfPort2( int inPort, int outPort );
int WINAPI TV_AttachConf( int ch, int conf );
int WINAPI TV_AttachFax( int ch, int fax );
int WINAPI TV_AttachTwpcm( int ch );
void WINAPI TV_ConnectToTW8VID(int nCard,int srcSt, int srcCh, int dstSt,int dstCh);
int WINAPI TV_OcDetect(int ch);
int WINAPI TV_SetOcTime(int t);
int WINAPI TV_SetOcInterval(int omin,int omax);
void WINAPI TV_SetVoicei(int i,char far *filename);
int WINAPI TV_GetLastError();
int WINAPI TV_InternalRingDetect( int ch );
int WINAPI TV_SetVos( int v);
int WINAPI TV_SetAmp(int v); // 20 -- 80
int WINAPI TV_GetAdapterBuffer(int, char *, int);
int WINAPI TV_SetAdapterParam(int which,int v);
int WINAPI TV_SetChannelFreq(int ch,int Hz);
long WINAPI TV_StartRecord2 (int, char far *, int);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -