📄 impp_message.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 + -