⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datadef.h

📁 短信网管的原代码。用于与sp通信
💻 H
📖 第 1 页 / 共 2 页
字号:
////////////////////////////////////////////////////////////////////////////////////
//文件名:  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 + -