📄 datadef.h
字号:
////////////////////////////////////////////////////////////////////////////////////
//文件名: DataDef.h
//功能: 平台通信接口模块的数据类型定义
//
//创建时间:2001-9-11
//修改人: 杨祖明
//修改时间:2001-10-18
////////////////////////////////////////////////////////////////////////////////////
#ifndef _DATA_DEF_H_
#define _DATA_DEF_H_
///配置文件的信息SMSCINFO结构
//SMSCINFO节
typedef struct tagSMSCINFO
{
char szRemark[128];//短信中心备注
BYTE nIVersion;//接口版本号
char szServiceNo[15];//特服号
char szCorpID[6];
}STRUCT_SMSCINFO,*PSTRUCT_SMSCINFO;
//短信中心发送链路配置[SMC_TRANSINFO]
typedef struct tagTRANSINFO
{
char szTransIP[50];//发送链路的IP
short nPort;//发送链路的端口
char szICPID[50];//发送链路的登录帐号
char szPAS[50];//发送链路的登录密码
}STRUCT_TRANSINFO,*PSTRUCT_TRANSINFO;
//短信中心接收链路配置[SMC_TRANSINFO]
typedef struct tagRECVINFO
{
char szIP[50];//接收链路的IP
short nPort;//接收链路的端口
char szICPID[50];//接收链路的登录帐号
char szPAS[50];//接收链路的登录密码
}STRUCT_RECVINFO,*PSTRUCT_RECVINFO;
//系统模块连接参数配置[CLIENTINFO]
typedef struct tagCLIENTINFO
{
char szIP[50];//系统模块的IP
short nPort; //系统模块连接的端口
}STRUCT_CLIENTINFO,*PSTRUCT_CLIENTINFO;
//监控模块连接参数配置[CLIENTINFO]
typedef struct tagWATCHCENTER
{
char szIP[50];//系统模块的IP
short nPort; //系统模块连接的端口
}STRUCT_WATCHCENTER,*PSTRUCT_WATCHCENTER;
//主框架类
class CMainFrame;
////////////////////////////////////////////////////////////////////////////////////////////
//CMPP命令数据结构定义
//CMPP协议版本号:CMPP1.2 (2001.06.12)
//消息头结构
struct STRUCT_CMPP12_MSG_HEADER
{
DWORD dwTotal_Length; //4消息总长度
DWORD dwCommand_ID; //4命令或响应类型
DWORD dwSequence_ID; //4消息流水号
STRUCT_CMPP12_MSG_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_MSG_HEADER));
}
};
//短信提交数据包结构
struct STRUCT_CMPP12_SUBMIT
{
STRUCT_CMPP12_MSG_HEADER sHeader; //CMPP12包头
__int64 n64Msg_ID; //信息标识
BYTE cPk_total; //1相同Msg_ID的消息总数
BYTE cPk_number; //1相同Msg_ID的消息序号
BYTE cRegistered_Delivery; //1是否返回确认状态报告
BYTE cMsg_Level; //1消息优先级别
char szService_ID[10]; //业务类型
BYTE cFee_UserType; //计费用户类型
char szFee_terminal_ID[21]; //被计费用户号码
BYTE cTP_pid; //GSM协议类型,GSM3.40中的9.2.3.9
BYTE cTP_udhi; //GSM协议类型,GSM3.40中的9.2.3.23
BYTE cMsg_Fmt; //1消息格式
char szMsg_src[6]; //信息内容来源
char szFeeType[2]; //资费类别
char szFeeCode[6]; //资费代码
char szValid_Time[17]; //存活有效期
char szAt_Time[17]; //定时发送时间
char szSrc_terminal_id[21]; //源终端MSISDN号码
BYTE cDestUsr_tl; //1接受消息的用户数量(<100)
char szDest_terminal_ids[21]; //接受业务的MSISDN号码
//以下两个字段不是标准CMPP12协议,由腾瑞通平台小组共同协商更改
WORD wMsg_Length; //消息长度(<512个字节)
char szMsg_Content[512]; //消息内容
char szReserve[8]; //保留
STRUCT_CMPP12_SUBMIT()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_SUBMIT));
}
};
//提交短信回应消息包结构
struct STRUCT_CMPP12_SUBMIT_REP
{
STRUCT_CMPP12_MSG_HEADER sHeader; //12数据包头
__int64 Msg_ID; //8消息标识
unsigned char Result; //1结果
STRUCT_CMPP12_SUBMIT_REP()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_SUBMIT_REP));
}
};
//网关下发短消息数据包结构
struct STRUCT_CMPP12_DELIVERY
{
STRUCT_CMPP12_MSG_HEADER sHeader; //CMPP12包头
__int64 n64Msg_ID; //信息标识
char szDestinationID[21]; //消息标识
char szService_ID[10]; //service id
BYTE cTP_Pid; //GSM协议类型,GSM3.40中的9.2.3.9
BYTE cTP_Udhi; //GSM协议类型,GSM3.40中的9.2.3.23
BYTE cMsg_Fmt; //1消息格式
char szSrc_terminalID[21]; //源终端MSISDN号码
BYTE cRegistered_Delivery; //1是否返回确认状态报告
//以下两个字段不是标准CMPP12协议,由腾瑞通平台小组共同协商更改
WORD wMsg_Length; //1消息长度
char Msg_Content[512]; //消息内容
char Reserve[8]; //保留
STRUCT_CMPP12_DELIVERY()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_DELIVERY));
}
};
//回应网管下发短消息结构
typedef struct STRUCT_CMPP12_DELIVER_REPTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
__int64 Msg_ID; //8消息标识
unsigned char Result; //1结果 0:正确
}STRUCT_CMPP12_DELIVER_REP;
//连接数据包结构
struct STRUCT_CMPP12_CONNECT
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
char Source_Addr[6]; //ICP_ID;
char AuthenticatorICP[16]; //ICP 认证码;
unsigned char Version; //双方协商的版本号
DWORD Timestamp; //时间戳的明文,由客户端产生,格式为MMDDHHMMSS,即月日时分秒,10位,右对齐
STRUCT_CMPP12_CONNECT()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_CONNECT));
}
};
//连接回应数据包结构
struct STRUCT_CMPP12_CONNECT_REP
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
unsigned char Status; //1字节Integer状态
char AuthenticatorISMG[16];//ISMG认证码
unsigned char Version; //服务器支持的最高版本号
STRUCT_CMPP12_CONNECT_REP()
{
ZeroMemory(this,sizeof(STRUCT_CMPP12_CONNECT_REP));
}
};
//短信查询消息结构
typedef struct STRUCT_CMPP12_QUERYTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
char Time[8]; //时间(精确到日)
unsigned char Query_Type; //1查询类型
char Query_Code[10]; //查询码(业务类型)
char Reserve[8]; //保留
}STRUCT_CMPP12_QUERY;
//短信查询回应消息结构(短信查询结果)
typedef struct STRUCT_CMPP12_QUERY_REPTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
char Time[8]; //时间(精确到日)
unsigned char Query_Type; //1查询类别 0:总数查询1:按业务代码查询
char Query_Code[10]; //查询码(业务类型)
unsigned long MT_TlMsg; //4从SP接收信息总数
unsigned long MT_Tlusr; //4从SP接收用户总数
unsigned long MT_Scs; //4成功转发数量
unsigned long MT_WT; //4待转发数量
unsigned long MT_FL; //4转发失败数量
unsigned long MO_Scs; //4向SP成功送达数量
unsigned long MO_WT; //4向SP待送达数量
unsigned long MO_FL; //4向SP失败送达数量
}STRUCT_CMPP12_QUERY_REP;
//短信删除
typedef struct STRUCT_CMPP12_CANCELTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
__int64 Msg_ID; //8消息标识
}STRUCT_CMPP12_CANNEL;
//短信删除回应
typedef struct STRUCT_CMPP12_CANCEL_REPTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
unsigned char Success_ID; //1成功标识
}STRUCT_CMPP12_CANCEL_REP;
//连接测试
typedef struct STRUCT_CMPP12_ACTIVE_TESTTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
}STRUCT_CMPP12_ACTIVE_TEST;
//连接测试回应
typedef struct STRUCT_CMPP12_ACTIVE_TEST_REPTag
{
STRUCT_CMPP12_MSG_HEADER sHeader; //数据包头
unsigned char Success_ID; //1成功标识
}STRUCT_CMPP12_ACTIVE_TEST_REP;
//CENTEK 平台内部通信协议 UNIDATA 消息数据结构
///////////////////////////////////////////////////////////////////////////////////
//腾瑞通平台数据包结构定义
///////////////////////////////////////////////////////////////////////////////////
//消息头
typedef struct STRUCT_TRP_MSG_HEADER
{
DWORD dwTotalLen; //总长
DWORD dwCommandId; //命令ID
DWORD dwSeqNo; //消息流水号
DWORD dwStatus; //命令执行状态
STRUCT_TRP_MSG_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_TRP_MSG_HEADER));
}
}STRUCT_TRP_MSG_HEADER, *PSTRUCT_TRP_MSG_HEADER;
//MSGID消息结构
struct STRUCT_MSGID
{
BYTE cMsgID_Type; //MsgID类型
BYTE cMsgID_Length; //MsgID长度
char szMsgID[64]; //MsgID内容
STRUCT_MSGID()
{
ZeroMemory(this,sizeof(STRUCT_MSGID));
}
};
//应用代理系统连接消息
struct STRUCT_CHANNEL_CONNECT//STRUCT_CHANNEL_CONNECT
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
char szChannelName[16]; //通道名称
char szPwd[16]; //通道密码
BYTE cChannelProtocol; //通道使用的协议
BYTE cChannelType; //通道类型(电信运营商)
STRUCT_CHANNEL_CONNECT()
{
ZeroMemory(this,sizeof(STRUCT_CHANNEL_CONNECT));
}
};
//应用代理系统连接响应
struct STRUCT_CHANNEL_CONNECT_RSP//STRUCT_CHANNEL_CONNECT_RSP
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
STRUCT_CHANNEL_CONNECT_RSP()
{
ZeroMemory(this,sizeof(STRUCT_CHANNEL_CONNECT_RSP));
}
};
//连接请求数据包
struct STRUCT_CONNECT //TRP_CONNECT
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
WORD wAppID; //应用ID
char szAppName[16]; //应用名称
char szPassword[16]; //密码
DWORD dwVersion; //接口版本号
STRUCT_CONNECT()
{
ZeroMemory(this,sizeof(STRUCT_CONNECT));
}
};
//连接请求应答数据包
struct STRUCT_CONNECT_RSP //TRP_CONNECT_RSP
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
//此结构的消息体为空
};
//手机上发数据包包头
typedef struct STRUCT_DELIVERY_HEADER
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
WORD wAppID; //应用ID
BYTE cReDelivery_Count; //重发计数
BYTE cTNO; //电信网络运营商
BYTE cChannel_Protocol; //通道协议类型
BYTE cService_ChannelID; //服务通道ID
char szService_Number[6]; //服务通道的特服号
BYTE cOriginate_Plat; //发起平台ID
BYTE cService_Plat; //服务平台ID
BYTE cProtocol_Type; //数据包协议类型
WORD wProtocol_Length; //数据包长度
STRUCT_DELIVERY_HEADER()
{
ZeroMemory(this,sizeof(STRUCT_DELIVERY_HEADER));
}
}STRUCT_DELIVERY_HEADER, *PSTRUCT_DELIVERY_HEADER;
//手机上发数据包
struct STRUCT_DELIVERY
{
STRUCT_DELIVERY_HEADER sDeliveryHeader; //手机上发数据包包头
STRUCT_CMPP12_DELIVERY sCMPP12Delivery; //CMPP12_DELIVERY包
STRUCT_DELIVERY()
{
ZeroMemory(this,sizeof(STRUCT_DELIVERY));
}
};
//应用平台向应用发送的状态报告
struct STRUCT_MSG_REPORT_TOAPP
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
WORD wAppID;
DWORD dwPlat_MsgID;
BYTE cTNO; //电信网络运营商
BYTE cChannel_Protocol; //通道协议类型
BYTE cService_ChannelID; //服务通道ID
char szService_Number[6]; //服务通道的特服号
BYTE cService_Plat; //服务平台ID
BYTE cRequest_Plat; //请求平台ID
STRUCT_MSG_REPORT_TOAPP()
{
ZeroMemory(this,sizeof(STRUCT_MSG_REPORT_TOAPP));
}
};
//应用平台与通讯模块之间的状态报告
struct STRUCT_MSG_REPORT //TRP_MSG_REPORT
{
STRUCT_MSG_REPORT_TOAPP sMsgReportToApp; //应用平台向应用发送的状态报告
STRUCT_MSGID sMsgID; //MsgID结构
};
//应用向应用平台提交短消息包头
struct STRUCT_SUBMIT_HEADER
{
STRUCT_TRP_MSG_HEADER sHeader; //消息头
WORD wAppID; //应用ID
BYTE cReSubmit_Count; //重发计数
BYTE cTNO; //电信网络运营商
BYTE cChannel_Protocol; //通道协议类型
BYTE cService_ChannelID; //服务通道ID
char szService_Number[6]; //服务通道的特服号
BYTE cService_Plat; //服务平台ID
BYTE cRequest_Plat; //请求平台ID
BYTE cPriority_Flag; //优先级标志
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -