📄 show.h
字号:
/*
file: "show.h"
autor: Ye Long Fei
date: 2002,6,5
*/
#ifndef __SHOW_H__
#define __SHOW_H__
class CShowMsg
{
public:
class showmsg//需要显示的内容
{
public:
unsigned char linkid;
unsigned short timeofm;
unsigned short timeofs;
unsigned short cic;
unsigned char opc[3];
unsigned char dpc[3];
unsigned char bsn;
unsigned char bib;
unsigned char fsn;
unsigned char fib;
char msgtype[80]; // msu消息、tup、isup、sccp消息、标题码、cap 消息类型编码
unsigned char submsgtype;
char acalladd[100];
char cause[80];
char temp[800];
short msgtracknum;
unsigned char *pBuf;
public:
showmsg(){memset(this,0,sizeof(showmsg));pBuf=NULL;};
~showmsg(){if(pBuf)delete pBuf;};
void LoadBuf(unsigned char * buffer,unsigned short msglen){pBuf=new unsigned char[msglen];memcpy(pBuf,buffer,msglen);};
};
public:
showmsg mshowmsg;
public:
BOOL PreProcMsg(unsigned char * buffer);//初步解码
CShowMsg& operator=(CShowMsg* pMsgList);
private:
//*****************函数声明*******************
void ProcSNMmsg(unsigned char *buffer); //调用ProcSNMmsg(buffer)函数,提取SNM消息类型
void ProcSNTmsg(unsigned char *buffer); //调用ProcSNTmsg(buffer)函数,提取SNT消息类型
void ProcTUPmsg(unsigned char *buffer);
void ProcISUPmsg(unsigned char *buffer);
void ProcSCCPmsg(unsigned char *buffer,unsigned char pclen);
void ProcMAPmsg(unsigned char *buffer);
void ProcCAPmsg(unsigned char *buffer);
void ProcBSSAPmsg(unsigned char *buffer);
int SccpSSN(unsigned char *buffer,unsigned char pclen);
void INVISDNnum(unsigned char *buffer,unsigned char operatecode); //提取map主叫号码(invoke)
void RETISDNnum(unsigned char *buffer,unsigned char operatecode); //提取map主叫号码(reset)
int MAPmessage(unsigned char *buffer); //提取map操作类型
int CAPmessage(unsigned char *buffer); //提取cap操作类型
void CALLINGnum(unsigned char *buffer,unsigned char operatecode); //提取cap主叫号码
int BSSMAPmsgtype(unsigned char *buffer);
void Thirdlayermsg(unsigned char *buffer); //提取第三层消息
void BSSMAPnumtaking(unsigned char *buffer,unsigned char operatecode);
void TCAPmsgtype(unsigned char tcapmtype,int msgstrlen);
void IMSIcode(unsigned char *buffer,int imsilen);
void MSISDNcode(unsigned char *buffer,int isdnlen);
void ROAMNUMcode(unsigned char *buffer,int roamnumlen);
void BSSAPIMSIcode(unsigned char *buffer,int len); //提取IMSI号
void BSSAPIMEIcode(unsigned char *buffer,int len); //提取IMEI号
void BSSAPIMEISVcode(unsigned char *buffer,int len); //提取IMEISV号
void BSSAPTMSIcode(unsigned char *buffer,int len); //提取TMSI号
int GetLength(unsigned char *buffer); //提取标签长度值
int LenByteNum(unsigned char *buffer);
void GetCapCompolent(unsigned char *buffer);
void GetMapCompolent(unsigned char *buffer);
void GetTUPAddrNum(unsigned char *buffer,int len);
void GetISUPCause(unsigned char *buffer);
void GetISDNAddrNum(unsigned char *buffer,int len,int even);
};
typedef CTypedPtrList<CPtrList, CShowMsg*> defShowMsgList;
class CShowMsgList
{
public:
defShowMsgList m_list;
int nMaxCount;
int m_msgType;
public:
int Insert(int nCurSelItem,BOOL bInsertAfter,CShowMsgList &msgList);//return index
void SerializeMsgFile(CArchive& ar);
POSITION FindTrackNumPos(short tracknum);
int GetMsgStr(CString *strs,int index);
CString GetMsgStr(int index);
CString GetLengthText();
int GetCount();
int GetMsgType();
void SetMsgType(int msgType);
CShowMsgList();
CShowMsgList& operator=(CShowMsgList* pMsgList);
CShowMsgList& operator+=(CShowMsgList* pMsgList);
void SetMaxCount(int v=-1);
CShowMsg* Add(unsigned char *msgBuf);
int AddList(unsigned char *msgMultiBuf);
void DeleteAllItem();
unsigned char *GetMsgBufFromIndex(int id);
CShowMsg* GetItemFromIndex(int id);
BOOL DeleteItemFromIndex(int id);
~CShowMsgList();
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -