📄 dkcj.h
字号:
#if !defined(__MYDKCJ_H__)
#define __MYDKCJ_H__
#define ZERO_OFFSET 32400
#define ZERO_LENGTH 2000
#define ONE_OFFSET 2000
#define ONE_LENGTH 2000
#define TWO_OFFSET 5000
#define TWO_LENGTH 2000
#define THREE_OFFSET 8400
#define THREE_LENGTH 2000
#define FOUR_OFFSET 12000
#define FOUR_LENGTH 2000
#define FIVE_OFFSET 15400
#define FIVE_LENGTH 2000
#define SIX_OFFSET 18400
#define SIX_LENGTH 2000
#define SEVEN_OFFSET 22000
#define SEVEN_LENGTH 2000
#define EIGHT_OFFSET 25400
#define EIGHT_LENGTH 2000
#define NINE_OFFSET 28800
#define NINE_LENGTH 2000
#define YEAR_OFFSET 37000
#define YEAR_LENGTH 2000
#define MONTH_OFFSET 40600
#define MONTH_LENGTH 2000
#define DAY_OFFSET 44400
#define DAY_LENGTH 2000
#define YUAN_OFFSET 62400
#define YUAN_LENGTH 2000
#define JIAO_OFFSET 66000
#define JIAO_LENGTH 2000
#define FEN_OFFSET 70200
#define FEN_LENGTH 2000
#define MYRIAD_OFFSET 47600
#define MYRIAD_LENGTH 2000
#define THOUSAND_OFFSET 51600
#define THOUSAND_LENGTH 2000
#define HUNDRED_OFFSET 55000
#define HUNDRED_LENGTH 2000
#define TEN_OFFSET 58400
#define TEN_LENGTH 2400
#define ZEROF_OFFSET 31840
#define ZEROF_LENGTH 1800
#define ONEF_OFFSET 1340
#define ONEF_LENGTH 1440
#define TWOF_OFFSET 4580
#define TWOF_LENGTH 1600
#define THREEF_OFFSET 7900
#define THREEF_LENGTH 1760
#define FOURF_OFFSET 10980
#define FOURF_LENGTH 1600
#define FIVEF_OFFSET 14820
#define FIVEF_LENGTH 1680
#define SIXF_OFFSET 18300
#define SIXF_LENGTH 1440
#define SEVENF_OFFSET 21500
#define SEVENF_LENGTH 1560
#define EIGHTF_OFFSET 24980
#define EIGHTF_LENGTH 1320
#define NINEF_OFFSET 28460
#define NINEF_LENGTH 1440
#define YEARF_OFFSET 35900
#define YEARF_LENGTH 1600
#define MONTHF_OFFSET 39820
#define MONTHF_LENGTH 1440
#define DAYF_OFFSET 43540
#define DAYF_LENGTH 1440
#define TENF_OFFSET 46700
#define TENF_LENGTH 2120
#define HELLO_OFFSET 400
#define HELLO_LENGTH 21000
#define NINDAO_OFFSET 0
#define NINDAO_LENGTH 4400
#define ZIYIYOU_OFFSET 11200
#define ZIYIYOU_LENGTH 20800
#define LIXI_OFFSET 36000
#define LIXI_LENGTH 3600
#define GJ_OFFSET 43600
#define GJ_LENGTH 3600
#define OTHER_OFFSET 51200
#define OTHER_LENGTH 50800
#define MAX_TONES 9
#define MAX_CHAN 4
#define STOPCHANNUM 4
#define MAXFILE 4
#define LENGTH_CJSE 20
#define LENGTH_RQ 12
#define TELEPHONE 15
#define LENGTH_VALUE 80
#define MAXTIME 120
#define TIME_A 1
#define TIME_B 2
#define TIME_C 3
#define TIME_U 0
#define ID_WORK 1
#define ID_UNWORK 0
#define CHDEVZT_A 1
typedef struct {
int ca_dtn_pres; // duration dial tone must be present
int ca_dtn_npres; // time to wait before declaring no dial tone
int ca_dtn_deboff; // max gap allowed in an otherwise continuous dial tone
int ca_noanswer; // wait period after first ringback before no answer
int ca_intflg; // PVD and PAMD mode flag
} _CAP;
typedef struct {
int freq; // frequency Hz
int deviation; // deviation in Hz
} Freq_T;
typedef struct {
int time; // time in 10ms
int deviation; // deviation in ms
} State_T;
typedef struct {
char * str; // informational string
int tid; // tone id
Freq_T freq1; // frequency 1
Freq_T freq2; // frequency 2
State_T on; // on time
State_T off; // off time
int repcnt; // repitition count
} Tone_T;
typedef struct tele_count{
long int all_count;
long int success_count;
long int failure_count;
int success_flag;
}TELE_COUNT;
typedef struct tele_info{
char dkbj[LENGTH_CJSE+1];
char dklx[LENGTH_CJSE+1];
char hjje[LENGTH_CJSE+1];
char telephone[TELEPHONE+1];
char zzrq[LENGTH_RQ+1];
}TELE_INFO;
typedef struct sz_file{
int filehandle;
char filename[21];
}SZ_FILE;
typedef struct cj_state{
long current_number; //当前的催缴记录号
int time_state; //当前催缴时间
int time_oldstate; //上一次催缴时间
}CJ_STATE;
typedef struct header_message{
long record_number;
int header_length;
int record_length;
long year;
long month;
long day;
long wjrql;
char wjrqc[LENGTH_RQ+1];
char* szdbffile;
FILE* handle;
}HEADER_MESSAGE;
typedef struct record_message{
int dkbj_offset;
int dkbj_length;
int dklx_offset;
int dklx_length;
int hjje_offset;
int hjje_length;
int telephone_offset;
int telephone_length;
}RECORD_MESSAGE;
typedef struct number_filewz{
char* szchar;
unsigned long offset;
long length;
}NUMBER_FILEWZ;
/*
* Channel status information structure
*/
TELE_COUNT telecount;
typedef struct {
int chdev; // channel device name
int chdevzt; // channal device current state
int playflag; //play vox flag
int xbflag; //next play file flag
int chtime; //max over time
int idlework; //channal working flag
_CAP callp; // parameters for PerfectCall
Tone_T tmplts[MAX_TONES]; // PerfectCall tone definitions
int volPos; // current volume setting for playback
} CHINFO;
CHINFO dxinfo[MAX_CHAN];
TELE_INFO teleinfo[MAX_CHAN];
SZ_FILE szfile[MAXFILE];
CJ_STATE cjstate;
HEADER_MESSAGE headermessage;
RECORD_MESSAGE recordmessage;
NUMBER_FILEWZ numberfilewz[]={
{"0",ZERO_OFFSET,ZERO_LENGTH},
{"1",ONE_OFFSET,ONE_LENGTH},
{"2",TWO_OFFSET,TWO_LENGTH},
{"3",THREE_OFFSET,THREE_LENGTH},
{"4",FOUR_OFFSET,FOUR_LENGTH},
{"5",FIVE_OFFSET,FIVE_LENGTH},
{"6",SIX_OFFSET,SIX_LENGTH},
{"7",SEVEN_OFFSET,SEVEN_LENGTH},
{"8",EIGHT_OFFSET,EIGHT_LENGTH},
{"9",NINE_OFFSET,NINE_LENGTH}
};
NUMBER_FILEWZ fastnumfilewz[]={
{"0",ZEROF_OFFSET,ZEROF_LENGTH},
{"1",ONEF_OFFSET,ONEF_LENGTH},
{"2",TWOF_OFFSET,TWOF_LENGTH},
{"3",THREEF_OFFSET,THREEF_LENGTH},
{"4",FOURF_OFFSET,FOURF_LENGTH},
{"5",FIVEF_OFFSET,FIVEF_LENGTH},
{"6",SIXF_OFFSET,SIXF_LENGTH},
{"7",SEVENF_OFFSET,SEVENF_LENGTH},
{"8",EIGHTF_OFFSET,EIGHTF_LENGTH},
{"9",NINEF_OFFSET,NINEF_LENGTH}
};
char* szfilename[]={
{"hello.vox"},
{"base.vox"},
{"b11.vox"},
{"d2.vox"}
};
char szdbffile[]="./dbf/dkcj.dbf";
char logfile[]="./cuijiao.log";
char* period[]={
{"1-7"},
{"8-14"},
{"15-20"}
};
_CAP capDflt = {100, 300, 10, 3000, DX_PVDENABLE}; // PerfectCall params
DX_IOTT iott_cjvalue[MAX_CHAN][LENGTH_VALUE];
//DX_IOTT iottvalue;
DV_TPT tptplay[] = {
{IO_CONT, DX_MAXTIME, 30000, TF_10MS},
{IO_EOT, DX_LCOFF, 1, TF_LCOFF}
};
Tone_T DefaultTones[MAX_TONES] = {
{{": Local dial tone"}, {TID_DIAL_LCL}, {400,125}, {400,125}, {0,0}, {0,0}, 0},
{{": Int'l dial tone"}, {TID_DIAL_INTL}, {402,125}, {402,125}, {0,0}, {0,0}, 0},
{{": Extra dial tone"}, {TID_DIAL_XTRA}, {401,125}, {401,125}, {0,0}, {0,0}, 0},
{{": Busy tone 1"}, {TID_BUSY1}, {500,200}, {0,0}, {55,40}, {55,40}, 4},
{{": Busy tone 2"}, {TID_BUSY2}, {500,200}, {500,200}, {55,40}, {55,40}, 4},
{{": Ringback tone 1"}, {TID_RNGBK1}, {450,150}, {0,0}, {130,105}, {580,415}, 0},
{{": Ringback tone 2"}, {TID_RNGBK2}, {450,150}, {450,150}, {130,105}, {580,415}, 0},
{{": Faxtone 1"}, {TID_FAX1}, {2150,150}, {0,0}, {25,-25}, {0,0}, 0},
{{": Faxtone 2"}, {TID_FAX2}, {1100, 50}, {0,0}, {25,-25}, {0,0}, 0}
};
static char dkbj_name[]="YQHJE";
static char dklx_name[]="QXHJE";
static char hjje_name[]="HJJE";
static char telephone_name[]="DHHM";
int argnum;
char argnames[MAX_CHAN][20];
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -