📄 mtp.h
字号:
/* MTP2 header */
#ifndef BYTE
typedef unsigned char BYTE;
#endif
#define SS7_MTP2_HEADER_OFFSET 3
#define SS7_MTP3_HEADER_OFFSET 5
#define SS7_MTP2_BSN(a) (BYTE)(*((BYTE*)a)& 0x7F)
#define SS7_MTP2_FSN(a) (BYTE)(*((BYTE*)a+1)& 0x7F)
#define SS7_MTP2_LI(a) (BYTE)(*((BYTE*)a+2)& 0x3F)
#define SS7_MTP3_SI(a) (BYTE)(*((BYTE*)a)& 0x0F)
#define SS7_MTP3_SSF(a) (BYTE)((*((BYTE*)a)& 0x30)>>4)
#define SS7_MTP3_DPC(a) (*((unsigned short*)((BYTE*)a+1))& 0x3FFF)
#define SS7_MTP3_OPC(a) (((*((BYTE*)a+2))& 0xC0)>>6 | ((*((BYTE*)a+3))& 0xFF)<<2 | ((*((BYTE*)a+4))& 0x0F)<<10)
#define SS7_MTP3_SLS(a) (BYTE)((*((BYTE*)a+4)& 0xF0)>>4)
#define SS7_PC_FORMAT_3_8_3_PART1(a) ((int) (a & 0x3800) >> 11)
#define SS7_PC_FORMAT_3_8_3_PART2(a) ((int) (a & 0x07F8) >> 3)
#define SS7_PC_FORMAT_3_8_3_PART3(a) ((int) (a & 0x0007))
char* SS7_PC_ZONE[8] =
{ "?", "?", "EUROPE", "UNITED STATES", "ASIA", "AUSTRALIA", "AFRICA", "SOUTH AMERICA"};
char* SS7_MTP_USER[16] =
{ "SNM", "MTN", "MTNS", "SCCP", "TUP", "ISUP", "DUP", "Reserved for MTP testing user part.",
"Not defined", "Not defined", "Not defined", "Not defined", "Not defined", "Not defined", "Not defined", "Not defined"};
#define SS7_SI_DUP 6
#define SS7_SI_ISUP 5
#define SS7_SI_TUP 4
#define SS7_SI_SCCP 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -