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

📄 cmpplib.h

📁 中国移动的短信网关程序
💻 H
字号:
#ifndef _CMPPLIB_H_
#define _CMPPLIB_H_

#pragma pack(push, 1)

//#define CMPP_VERSION_20
//		消息				Command_Id值	说明
#define CMPP_CONNECT		0x00000001		// 请求连接
#define CMPP_CONNECT_RESP	0x80000001		// 请求连接应答
#define CMPP_TERMINATE		0x00000002		// 终止连接
#define CMPP_TERMINATE_RESP	0x80000002		// 终止连接应答
#define CMPP_SUBMIT			0x00000004		// 提交短信
#define CMPP_SUBMIT_RESP	0x80000004		// 提交短信应答
#define CMPP_DELIVER		0x00000005		// 短信下发
#define CMPP_DELIVER_RESP	0x80000005		// 下发短信应答
#define CMPP_QUERY			0x00000006		// 发送短信状态查询
#define CMPP_QUERY_RESP		0x80000006		// 发送短信状态查询应答
#define CMPP_CANCEL			0x00000007		// 删除短信
#define CMPP_CANCEL_RESP	0x80000007		// 删除短信应答
#define CMPP_ACTIVE_TEST	0x00000008		// 激活测试
#define CMPP_ACTIVE_TEST_RESP	0x80000008	// 激活测试应答

#define CMPP_LinkDown		0x8001
#define CMPP_LinkUp			0x8002

#define MAX_SP_ID_LEN 6
#define MAX_MSG_ID_LEN 8
#define MAX_SERVICE_ID_LEN 10
#define MAX_FEE_TERMINALID_LEN 32
#define MAX_SRC_TERMINALID_LEN 21
#define MAX_DST_TERMINALID_LEN 32
#define MAX_VALID_TIME_LEN 17
#define MAX_FEE_CODE_LEN 6
#define MAX_FEE_TYPE_LEN 2
#define MAX_MSG_CONTENT_LEN 256
#define MAX_LINK_ID_LEN 20

typedef struct
{
    unsigned int    nTotalLen;
    unsigned int	nCommandId;
	unsigned int	nSeqId;
}  TCmppHead;


typedef struct
{
    char	sSpId[MAX_SP_ID_LEN];
	char	sAuthenticatorSource[16];
	unsigned char nVersion;
	unsigned int  nTimeStamp;
} TCmppConnectReq;



typedef struct
{
    unsigned int nStatus;
	char	sAuthenticatorSource[16];
	unsigned char nVersion;
} TCmppConnectRep;

#define TCmppTerminateReq TCmppHead
#define TCmppTerminateRep TCmppHead

#define TCmppActiveTestReq TCmppHead
#define TCmppActiveTestRep TCmppHead

typedef struct
{
	char sMsgId[MAX_MSG_ID_LEN];
	unsigned char nPkTotal;
	unsigned char nPkNumber;
	unsigned char nRegister;
	unsigned char nMsgLevel;
	char sServiceId[MAX_SERVICE_ID_LEN];
	unsigned char nFeeUserType;
	char sFeeTerminalId[MAX_FEE_TERMINALID_LEN];
	unsigned char nFeeTerminalType;
	unsigned char nTPPid;
	unsigned char nTPUdhi;
	unsigned char nMsgFmt;
	char sMsgSrc[MAX_SP_ID_LEN];
	char sFeeType[MAX_FEE_TYPE_LEN];
	char sFeeCode[MAX_FEE_CODE_LEN];
	char sValidTime[MAX_VALID_TIME_LEN];
	char sAtTime[MAX_VALID_TIME_LEN];
	char sSrcTerminalId[MAX_SRC_TERMINALID_LEN];
	unsigned char nDstTerminadNum;
	char sDstTerminalId[MAX_DST_TERMINALID_LEN];
	unsigned char nDstTerminalIdType;
	unsigned char nMsgLen;
	char sMsgContent[MAX_MSG_CONTENT_LEN];
	char sLinkId[MAX_LINK_ID_LEN];
} TCmppSubmitReq;

typedef struct
{
	char sMsgId[MAX_MSG_ID_LEN];
#ifndef CMPP_VERSION_20	
	unsigned int nResult;
#else
	unsigned char nResult;
#endif
} TCmppSubmitRep;

typedef struct
{
	char sTime[8];
	unsigned char nQueryType;
	char sQueryCode[MAX_SERVICE_ID_LEN];
	char nReserve[8];
} TCmppQueryReq;

typedef struct
{
	char sTime[8];
	unsigned char nQueryType;
	char sQueryCode[MAX_SERVICE_ID_LEN];
	unsigned int nMT_TLMsg;
	unsigned int nMT_Tlusr;
	unsigned int nMT_Scs;
	unsigned int nMT_WT;
	unsigned int nMT_FL;
	unsigned int nMO_Scs;
	unsigned int nMO_WT;
	unsigned int nMO_FL;
} TCmppQueryRep;

typedef struct
{
	char sMsgId[MAX_MSG_ID_LEN];
	char sDstTerminalId[MAX_SRC_TERMINALID_LEN];
	char sServiceId[MAX_SERVICE_ID_LEN];
	unsigned char nTPPid;
	unsigned char nTPUdhi;
	unsigned char nMsgFmt;
	char sSrcTerminalId[MAX_DST_TERMINALID_LEN];
	unsigned char nSrcTerminalType;
	unsigned char nRegistered;
	unsigned char nMsgLen;
	char sMsgContent[MAX_MSG_CONTENT_LEN];
	char sLinkID[MAX_LINK_ID_LEN];
} TCmppDeliverReq;

typedef struct
{
	char sMsgId[MAX_MSG_ID_LEN+MAX_MSG_ID_LEN+1];
	unsigned char nState;
	char sSubmitTime[MAX_VALID_TIME_LEN];
	char sDoneTime[MAX_VALID_TIME_LEN];
	char sDstTerminalId[MAX_DST_TERMINALID_LEN];
	unsigned int nSeqId;
} TCmppReportMsg;

#define TCmppDeliverRep TCmppSubmitRep

typedef struct
{
	char sMsgId[MAX_MSG_ID_LEN];
} TCmppCancelReq;

typedef struct
{
	unsigned int nResult;
} TCmppCancelRep;


typedef struct
{
	TCmppHead rMsgHead;
	union
	{
		TCmppConnectReq rConnectReq;
		TCmppConnectRep rConnectRep;
		TCmppDeliverReq rDeliverReq;
		TCmppDeliverRep rDeliverRep;
		TCmppSubmitReq  rSubmitReq;
		TCmppSubmitRep  rSubmitRep;
		TCmppQueryReq	rQueryReq;
		TCmppQueryRep	rQueryRep;
		TCmppCancelReq	rCancelReq;
		TCmppCancelRep  rCancelRep;
	} rMsgBody;
} TCmppPacket;

int CMPP_InitClient(char *sMiscIp, int nMiscPort);
void CMPP_GetClientEvent();
void CMPP_CloseClient();

int  CMPP_Connect(char *sSpId, char *sSpPwd);
int  CMPP_SendSubmitReq(unsigned int *pnSeqId,
						char *sMsgId,
						unsigned char nPkTotal,
						unsigned char nPkNumber,
						unsigned char nRegister,
						unsigned char nMsgLevel,
						char *sServiceId,
						unsigned char nFeeUserType,
						char *sFeeTerminalId,
						unsigned char nFeeTerminalType,
						unsigned char nTPPid,
						unsigned char nTPUdhi,
						unsigned char nMsgFmt,
						char *sSpId,
						unsigned char nFeeType,
						char *sFeeCode,
						char *sSrcTerminalId,
						unsigned char nDstAddrNumber,
						char *sDstTerminalId,
						unsigned char nDstTerminalType,
						unsigned char nMsgLen,
						char *sMsgContent,
						char *sLinkId);
void CMPP_SendDeliverRep(unsigned int nSeqId);
void CMPP_SendQureyReq(char * sServiceId, char *sTime, unsigned char nQueryType);
void CMPP_SendActiveTestReq();
void CMPP_SendActiveTestRep(unsigned int nSeqId);
void CMPP_SendTerminateReq();
void CMPP_SendTerminateRep(unsigned int nSeqId);
int  CMPP_PraseMsgId(char *sMsgId, int nMsgIdLen, char *sStrMsgId);
void CMPP_PraseReport(char *sReport, TCmppReportMsg *pCmppReportMsg);


#pragma pack(pop)


#endif

⌨️ 快捷键说明

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