📄 common.cpp
字号:
////maindlg. cpp /////////////////////////////////////
//
// use it to handle old sdk dialog
//
//////////////////////////////////////////
#include "stdafx.h"
#include "base.h"
#include "common.h"
#include "MsgText.h"
#define u8 unsigned char
#define u16 unsigned short
#define u32 unsigned long
#define NOPASS 0
#define PASS 0xff
#define FISUADDR 0x800
#define CRCERRADDR 0x804
#define RETRANSADDR 0x806
#define MSUADDR 0x808
#define ALLADDR 0x80c
//for rx
#define FISUADDR2 0x810
#define CRCERRADDR2 0x814
#define RETRANSADDR2 0x816
#define MSUADDR2 0x818
#define ALLADDR2 0x81c
#define TSCOMMAND 0x62
//add 7.4 wj
BYTE BUFDISPLAY[SIZE_OF_DATA_AREA];
WORD Version; //define software version LOBYTE bit0:SCCP bit1:isup bit2:map bit3:inap
char word_TotalDataStr[5000];
//--------get str------------
char DEFDATAPATH[14];
char DataStr[100];
// define Perform&Character
char PerformTab[MAX_BYTE_OF_FILE];
char PerL3Tab[MAX_BYTE_OF_FILE];
char CharacterTab[MAX_BYTE_OF_FILE];
char JuxCharacterTab[MAX_BYTE_OF_FILE];
char AllJuxChaTab[MAX_BYTE_OF_FILE];
char IsupChaTab[MAX_BYTE_OF_FILE_MY];
// define CICSTATIC
char CICTab[MAX_BYTE_OF_FILE];
////////////define app handle////////////////
char AppTab[MAX_NUM_OF_APP][9];
int byAppCounter; //------- application counter
BYTE byAppNum; //-----------Current app
//----------crit tab handle---------------
char CritTab[MAX_NUM_OF_CRIT][9];
int byCritCounter; //------------- num of crit now<>
BYTE byCritNumA; //-----------Current Crit
BYTE byCritNumB; //-----------Current Crit
int byACritCounter; //------------- num of crit now<>
tagCrit CurCrit; //--------------- Data Flow For Cur Crit
tagState TpTrig[MAX_NUM_OF_STATE];
//------------define trigtab--------------------
char TrigTab[MAX_NUM_OF_TRIG][9];
int byTrigCounter; //------------- num of trig now
BYTE byTrigNum; // -----------------Current Trig
BYTE BUFTRIG[MAX_NUM_OF_STATE*MAX_BYTE_OF_STATE];//12s//99.10.1
//------------define trigcrittab-----------------
char TrigCritTab[MAX_NUM_OF_CRIT][9];
int byTrigCritCounter; //------------- num of crit now<>
BYTE SelMode;
//0:brecdata历史数据 1:bSavData存盘数据 2:bAddData被叫号码 3:bCallData主叫号码 0xff:normal
//4:MAP Calltrac 5:MAP regist 6:MAP del 7:MAP AUC 8:ISUP 被叫号码 9:ISUP主叫号码
//10:INAP Calltrac 11:TUP/ISUP 被叫号码 12:TUP/ISUP主叫号码 13:A接口呼叫跟踪 14:A接口位置更新
//15:map handover,16:short message route 18://MAP 漫游位置更新 19://MAP 鉴权统计
//20: 实时数据 21:实时被叫号码 22:实时主叫号码 23:ISUP 实时被叫号码 24 ISUP实时主叫号码
//25:MAP位置更新,26:MAP位置删除 27://MAP 实时号码 zxw 2000-08-25
BYTE DataType;
BOOL bOnTime;
BOOL m_bSaveOn;
BOOL m_bSaveOnPrev;
BOOL bDefTimeDlg; //in deftimedlg cannot checkdeftime()
//--------datashow bool-------
BYTE MsgSU,MsgUP,MsgKind,MsgFKind,FieldNo,MsgProId;//used in data show
//TUP:1:acm*,2:sec,3:cgc,4:cfl,5:unn,6:los,7:adi,20:ANC 21:ANN 22: ANU 23: SST 24:OTHER
//2000-07-11 zxw 增加ISUP统计项 ISUP:11:busy 12:acm*,13:sec,14:cgc,15:unn,16:los,17:adi,38:sst 39:cfl,
//40:用户未应答,41:用户未响应,42:呼叫拒绝,43:定时器终了恢复,44:临时故障,45:资源不可用,
//46:业务任选未实现,47:业务任选未实现,48:协议错误,49:other
BYTE AcmKind;
BYTE CICKind;//1:CIC,2:SAM;3:ISUP CIC 4:ISUP SAM 5: A RES
BYTE InapStaticKind;//0:800,1:300; 2:自定义 ZXW 2000-08-18
//sccp
//=0:NORMAL 1:SCMG =2:TCAP 3:MAP 4:MAPERR 5:inap 6:inaperr 7:BSSMAP
//8:RADIORES 9:MOBILITY 10:CALLCONTROL,11:CAP 12:CAPErr
BYTE DataKind;
BYTE TcapKind,TcapCpntKind,ScmgKind,MapKind,MapErrKind,InapKind,InapErrKind,CapKind,CapErrKind,BssMapKind,RadioResKind,MobilityKind,CallControlKind;
//1:sccpmsg,2:tcapmsg 3:ret 4:err 5:rsr 6:cref 7:rlsd 8:scmg 9:pabo
BYTE SccpStaticKind;
//---------data show scroll---------
int OldMsg,HoldMsg; //the selected msg number
// -------data show handle--------
BOOL bOnScroll; //Scroll state
BOOL bGetScrollData;//getted scroll data to show
BOOL bRecStart;//during scroll to hold waitting
BOOL bBusyOk; //false: show true: pause View data show
BOOL bSavePC,bRecPC;//analyze window judge save or rec
BOOL byShowERL; //0--no new erl 1: got new erl
BOOL bAddr;//when one field is addr on show
BOOL bDPC;//when one field is DPCOPC on show
BYTE bRecTime; //for not show rx tx red alarm at onstop
// --------password--------------
BYTE PWflag;
char UserPW[9];
char SystemPW[9];
BOOL bExitWaitDlg; //define if the waitdlg auto exit
BYTE RecTimeType; //0: other 1:busy 1 2:busy 2 3:busy both
//-----DDE Event handle---------------
/////////////dde handle ////////////////////////////////
UINT Timer3Type; //1:cur data com 2:recdata com
BOOL bRecRun;
/*
tagDDEstatic *DdeData; //DDE tran buff
DWORD InstId=0;
HCONV HConv;
BOOL Loop;
HSZ Service;
HSZ Topic;
HSZ Item;
HSZ ItemData;
HSZ ItemPer;
HSZ ItemCha;
HSZ ItemRecData;
HSZ ItemERL;
HSZ ItemAddr;
*/
BYTE AdviceType; //0: nor adv,1:data 2:per 3:cha 4:cic 5:erl 6:addr
//0: data sendhandle,1:send only time 2:closewin 3:clearper 5:app to asm
//6: sel trig to asm 7: sel critA to asm 8:sel critB to asm 9: linksel 10:bSaveOn
//11:crittab->asm 12:trigtab->asm 13: findaddr 14: stoprec 15: storerecdata 16 chgchatypr
BYTE PokeType;
BOOL AdvicePause; //FALSE: start TRUE: pause;
WORD SpeedTime; //show the communication speed
BYTE CurRecDataPage;
//explan: REOPER,PCINFO,CINFOI SACT
void GetENCODStr(BYTE Data);
void GetNUPLStr(BYTE Data);
void GetSSNStr(BYTE Data);
/////////////常用字符串 96. 7//////////////////////////////////////////////
///////////////NO. 7 communication protocol////////////////////////////////
char MsgType[MSGTYPE_NUM+1][8]={"","FISU", "LSSU","MSU"};
char MSUHead[MSU_NUM][8]={ "", "BSN", "BIB", "FSN","FIB","LI","SIO"};
//1--2进制 2—16进制 3—10进制 0xff--不能编辑 0xee-ADDR 0xfe --DPC OPC
//1:fieldnum 2:0 3:bits got from begin 4: 1-bin 2-H 3-ADDR decimal 4:Digtal 5:Decimal换位 6:DPCOPC Decimal
//SCCP TCAP INAP MAP 在详解窗口中显示主要域时:
//SCCP TCAP:判断第三个域=0xff: not show; else :show
//MAP INAP CAP:判断第二个域=1:show =0:not show
BYTE MSUHeadCrit[MSU_NUM][4]=
{ {0,0,0,0}, {1,0,7,1}, {2,0,1,1},{3,0,7,1},{4,0,1,1},{5,0,6,1},{6,0,8,1}};
char LSSUHead[LSSU_NUM][8]={ "", "BSN", "BIB", "FSN","FIB","LI","SF"};
BYTE LSSUHeadCrit[LSSU_NUM][4]=
{ {0,0,0,0}, {1,0,7,1}, {2,0,1,1},{3,0,7,1},{4,0,1,1},{5,0,6,1},{6,0,8,1}};
char FISUHead[FISU_NUM][8]={ "", "BSN", "BIB", "FSN","FIB","LI"};
BYTE FISUHeadCrit[FISU_NUM][4]=
{ {0,0,0,0}, {1,0,7,1}, {2,0,1,1},{3,0,7,1},{4,0,1,1},{5,0,6,1}};
char LSSUType[LSSUTYPE_NUM+1][8]=
{"","SIO", "SIN", "SIE", "SIOS", "SIPO", "SIB"};
char MSUType[MSUTYPE_NUM+1][8]=
{ "", "SNM", "SNT", "SCCP", "TUP", "ISUP", "DUP1", "DUP2"};
char SNTMsgHead[MSGHEAD_NUM][8]={ "", "DPC", "OPC", "SLS","H1H0"};
BYTE SNTMsgHeadCrit[MSGHEAD_NUM][4]=
{ {0,0,0,0}, {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,4,2},{10,0,8,2}};
char SCCPMsgHead[MSGHEAD_NUM][8]={ "", "DPC", "OPC", "SLS","MT"};
BYTE SCCPMsgHeadCrit[MSGHEAD_NUM][4]=
{ {0,0,0,0}, {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,4,2},{10,0,8,2}};
char SNMMsgHead[MSGHEAD_NUM][8]={ "", "DPC", "OPC", "SLC","H1H0"};
BYTE SNMMsgHeadCrit[MSGHEAD_NUM][4]=
{ {0,0,0,0}, {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,4,2},{10,0,8,2}};
char TUPMsgHead[MSGHEAD_NUM][8]={ "", "DPC", "OPC", "CIC","H1H0"};
BYTE TUPMsgHeadCrit[MSGHEAD_NUM][4]=
{ {0,0,0,0}, {7,0,0xfe,6}, {8,0,0xfe,6},{9,0,12,2},{10,0,8,2}};
char SNTMsgField[SNTMSG_NUM+1][2][8]=
{{"", ""},{"TPLI","TP_N"},{"TPLI","TP_N"}};
BYTE SNTMsgFieldCrit[SNTMSG_NUM+1][2][4]=
{ { {0,0,0,0},{0,0,0,0}},{{11,0,0xff,2},{12,0,0xff,2}},{{11,0,0xff,2},{12,0,0xff,2}}}; //??
char SNTMsg[SNTMSG_NUM+1][8]={"", "SLTM", "SLTA"};
BYTE SNTH1H0[SNTMSG_NUM+1]={0, 0x11, 0x21};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -