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

📄 impp_message.h

📁 SMAL是short message abstract library的缩写,是由风起水流软件工作室(www.zealware.com)开发的一个支持短信网关系统开发的C++底层抽象接口库
💻 H
字号:
/**
*	impp_message.h
*	
*	Short Message Abstractive Library.(SMAL)
*
*	Copyright 2003-2006	北京风起水流软件工作室
*	
*	http://www.zealware.com
*	
*	princetoad@gmail.com
*
*/

#ifndef _IMPP_MESSAGE_H_
#define _IMPP_MESSAGE_H_

#include <common/const.h>

#pragma pack(1)

///** Submit消息中由接口库自定义的非标准消息
//*/
//struct NonStandardInfo {
//	/**记录ID,唯一标识一条submit消息
//	例如:一条MT消息的数据库记录ID
//	*/
//	unsigned	recid;				
//
//	/**CMPP_HEAD中的消息流水号
//	*/
//	unsigned long seqid;	
//
//	/**该消息被发送的时间
//	*/
//	unsigned	sendtime;
//
//	/**该消息被回复的时间
//	*/
//	unsigned	resptime;
//
//	/**该消息被发送的次数
//	*/
//	int				submittimes;
//
//	/**短消息发送的结果
//	如果成功收到SubmitResponse,此处为SubmitResponse的status字段值,
//	如果没有发送到网关,此处为系统定义的错误
//	*/
//	int				IIResult;			
//};

/** 消息头结构
*/
//##ModelId=46B5D43300C8
typedef struct impp_head {
	DWORD	nTotalLength;
	DWORD	nCommandId;
	DWORD	nSeqId;
} IMPP_HEAD, IMPP_TERMINATE, IMPP_TERMINATE_RESP, IMPP_ACTIVETEST, IMPP_ACTIVETEST_RESP;

/** 登录消息包体
*/
//##ModelId=46B5D43300EF
typedef struct impp_connect {
	char			sSourceAddr[16];		///< 登录用户名(CPID)
	char			sAuthSource[16];		///< 登录口令(不加密,直接走明文)
	unsigned char	cVersion;				///< 使用的IMPP版本号
} IMPP_CONNECT;

/** 登录消息应答
*/
//##ModelId=46B5D43300F9
typedef struct impp_connect_resp {
	unsigned char	uchStatus;			///< 登录结果
	unsigned char	cVersion;				///< 服务器支持的最大版本号
} IMPP_CONNECT_RESP;

//##ModelId=46B5D43300FB
typedef struct impp_submit_deliver_resp {
	_int64			nMsgid;						///< Submit,Deliver消息的唯一标识
	unsigned char	uchResult;			///< Submit,Deliver消息的接收结果 

	unsigned long	nSeqId;
} IMPP_SUBMIT_RESP, IMPP_DELIVER_RESP;

//##ModelId=46B5D433010E
typedef struct impp_status_report {
	_int64			nMsgid;
	char			sStat[7];
	char			sSubmitTime[10];
	char			sDoneTime[10];
	char			sDestTerminalId[21];
	unsigned int	nSmscSeq;
} IMPP_STATUS_REPORT;

//##ModelId=46B5D4330117
typedef struct impp_deliver {
	_int64			nMsgid;
	char			sDestid[21];				///< 目标号码(SP)
	char			sServiceid[10];			///< 业务代码
	//unsigned char	uchTppid;
	//unsigned char	uchTpudhi;
	unsigned char	uchMsgfmt;			///< 消息编码
	char			sSrcterminalid[21];	///< 源手机号
	unsigned char	uchRegisteredDelivery;	///< 是否是状态报告
	unsigned char	uchMsglength;		///< 消息长度
	union {
		char				sMsgcontent[140];	///< 消息内容
		IMPP_STATUS_REPORT	csr;			///< 状态报告内容
	} MO_Msg_Content;
} IMPP_DELIVER;

//##ModelId=46B5D4330121
typedef struct impp_submit {
	unsigned char	uchRegisteredDelivery;	///< 是否要求状态报告
	unsigned char	uchMsgLevel;						///< 消息级别
	char			sServiceId[10];							///< 业务代码
	//unsigned char	uchFeeUserType;
	//char			sFeeTerminalId[21];
	//unsigned char	uchTpPid;
	//unsigned char	uchTpUdhi;
	unsigned char	uchMsgFmt;							///< 消息编码
	//char			sMsgSrc[6];
	//char			sFeeType[2];
	//char			sFeeCode[6];
	//char			sValidTime[17];
	//char			sAtTime[17];
	char			sSrcId[21];									///< 源号码(SP号码)
	//unsigned char	uchDstUsrTl;
	char			sDstTerminalId[21];					///< 目标号码(手机号)
	unsigned char	uchMsgLength;						///< 消息长度
	char			sMsgContent[140];						///< 消息内容

	/**接口库自定义的非标准消息
	*/
	NonStandardInfo	nonStdMessage;
} IMPP_SUBMIT;

//##ModelId=46B5D4330123
typedef struct impp_smgtosp {
	IMPP_HEAD	pk_head;

	union {
		IMPP_CONNECT_RESP		pk_connectresp;
		IMPP_SUBMIT_RESP		pk_submitresp;
		IMPP_DELIVER			pk_deliver;
	} pk_body;
} IMPP_SMGTOSP;

//##ModelId=46B5D4330135
typedef struct impp_sptosmg {
	IMPP_HEAD	pk_head;

	union {
		IMPP_CONNECT			pk_connect;
		IMPP_SUBMIT				pk_submit;
		IMPP_DELIVER_RESP		pk_deliverresp;
	} pk_body;
} IMPP_SPTOSMG;

//##ModelId=46B5D433013F
typedef struct impp_pkg {
	IMPP_HEAD	pk_head;
	
	union {
		IMPP_CONNECT			pk_connect;
		IMPP_CONNECT_RESP		pk_connectresp;
		
		IMPP_SUBMIT				pk_submit;
		IMPP_SUBMIT_RESP		pk_submitresp;
		
		IMPP_DELIVER			pk_deliver;
		IMPP_DELIVER_RESP		pk_deliverresp;
	} pk_body;
} IMPP_PKG;

#endif // !defined(AFX_IMPP_H__A4DFA71A_1AAF_4DE6_A299_3A154220E698__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -