📄 cmpplowapi.h
字号:
/*************************************************************************** Copyright : 2002, ASPIRE TECHNOLOGIES (SHENZHEN) LTD. Program ID : cmpplowapi.h Description : cmpplowapi 低层功能函数头文件 Version : cmppapi 1.6 Modification Log: DATE AUTHOR DESCRIPTION -------------------------------------------------------------------------- 2002-12-13 wenyz create 从原来的cmppapi.h中分离底层接口产生该文件***************************************************************************/#ifndef _CMPP_LOW_API_H_#define _CMPP_LOW_API_H_#include "cmppapi.h" // 数据定义和高层函数定义/**************************************************************** 本头文件中所定义函数接口中的指针类型参数 未特别声明者均由调用者负责空间的分配和销毁 ****************************************************************/ typedef struct _tagCmppSubmit { unsigned char uchMsgId[MacMsgId+1]; /* 消息标识 */ unsigned char ucPkTotal; /* 信息总条数 */ unsigned char ucPkNumber; /* 消息序号 */ unsigned char ucRegisterDelivery; /* 是否需要状态确认报告 */ unsigned char ucMsgLevel; /* 信息级别 */ char chServiceId[MacServiceId+1]; /* 业务类型 */ unsigned char ucFeeUserType; /* 用户类型 */ char chFeeTerminateId[MacFeeTermId+1];/* 计费用户号码 */ unsigned char ucFeeTerminalType; /* 被计费用户的号码类型, 0: 真实号码;1: 伪码*/ unsigned char ucTpPid; /* GSM协议类型 */ unsigned char ucTpUdhi; /* GSM协议类型 */ unsigned char ucMsgFmt; /* 信息格式 */ char chMsgSrc[MacMsgSrc+1]; /* 信息内容来源 */ char chFeeType[MacFeeType+1]; /* 资费类别 */ char chFeeCode[MacFeeCode+1]; /* 资费代码 */ char chValidTime[MacValidTime+1]; /* 存活有效期 */ char chAtTime[MacAtTime+1]; /* 定时发送时间 */ char chSrcId[MacSrcId+1]; /* 源号码 */ unsigned char ucDestUsrTl; /* 接收信息用户数 */ char chDstTerminalId[MacDesTermId+1]; /* 接收信息的用户号码 */ unsigned char ucDstTerminalType; /* 接收短信的用户的号码类型, 0:真实号;1:伪码*/ unsigned char ucMsgLength; /* 消息长度 */ char chMsgContent[MacMsgLen+1]; /* 消息内容 */ char chLinkId[MacLinkId+1]; /* 点播业务使用的LinkID */} recCmppSubmit; typedef struct _tagCmppSubmitResp { unsigned char uchMsgId[MacMsgId+1]; /* 消息标识 */ unsigned int unResult; /* 结果 */} recCmppSubmitResp;typedef struct _tagCmppDeliverResp { unsigned char uchMsgId[MacMsgId+1]; /* 消息标识 */ unsigned int unResult; /* 结果 */} recCmppDeliverResp;/*************************************************************** 调用函数接口定义***************************************************************/ /*************************************************************** 底层接口函数 ***************************************************************/ #ifdef __cplusplusextern "C"{#endif/* * 描述:(1) 连接MTBS服务器 * (2) 创建连接接收线程 * (3) 创建连接发送线程 * (4) 创建接收缓冲区 * (5) 创建发送缓冲区 * (6) 创建MO、回执缓冲区 * 输入:const char* sIniFile * 输出:CONNFD* pCONNFD 连接句柄 * 返回值:API_OK 成功 * 其它 失败 */int ASPAPI nInitInterface( const char* sIniFile, CONNFD* pCONNFD ); /* *描述:(1)释放API资源 (2)关闭同MTBS的连接 注意:系统退出时必须调用nExitInterface,释放线程资源 *输入:CONNFD connDesc 连接句柄 *输出:无 *返回值:API_OK 成功 * 其它 失败 */int ASPAPI nExitInterface( CONNFD connDesc ); /* * 描述:初始化submit结构体,根据配置参数设置相关缺省值 * 输入:CONNFD connDesc * recCmppSubmit *prCmppSubmit submit结构体指针 * 输出:无 * 返回值:API_OK 成功 * 其它 失败 */int ASPAPI nInitSubmitValue(CONNFD connDesc, recCmppSubmit *prCmppSubmit);/* * 函数集 nSetSubmit*( ) * 描述:对SUBMIT的结构体设置各域值 * 输入:各个域值 * 输出:recCmppSubmit *prCmppSubmit * 返回值:API_OK 成功 * 其它 失败 */int ASPAPI nSetSubmitMsgId( recCmppSubmit *prCmppSubmit, const char* sMsgId);int ASPAPI nSetSubmitRegisterDelivery( recCmppSubmit *prCmppSubmit, const unsigned char ucRegisterDelivery );int ASPAPI nSetSubmitMsgLevel( recCmppSubmit *prCmppSubmit, const unsigned char ucMsgLevel );int ASPAPI nSetSubmitServiceId( recCmppSubmit *prCmppSubmit, const char *sServiceId );int ASPAPI nSetSubmitFeeUserType( recCmppSubmit *prCmppSubmit, const unsigned char ucFeeUserType );int ASPAPI nSetSubmitFeeTerminateId( recCmppSubmit *prCmppSubmit, const char *pFeeTerminateId );int ASPAPI nSetSubmitTpPid( recCmppSubmit *prCmppSubmit, const unsigned char ucTpPid );int ASPAPI nSetSubmitTpUdhi( recCmppSubmit *prCmppSubmit, const unsigned char ucTpUdhi );int ASPAPI nSetSubmitMsgSrc( recCmppSubmit *prCmppSubmit, const char *sMsgSrc );int ASPAPI nSetSubmitFeeType( recCmppSubmit *prCmppSubmit, const char *sFeeType );int ASPAPI nSetSubmitFeeCode( recCmppSubmit *prCmppSubmit, const char *sFeeCode );int ASPAPI nSetSubmitValidTime( recCmppSubmit *prCmppSubmit, const char *sValidTime, int nTimeFmt);int ASPAPI nSetSubmitAtTime( recCmppSubmit *prCmppSubmit, const char *sAtTime, int nTimeFmt);int ASPAPI nSetSubmitSrcId(recCmppSubmit *prCmppSubmit, const char *sSrcId );int ASPAPI nSetSubmitMsgFmt( recCmppSubmit *prCmppSubmit, const unsigned char ucMsgFmt );int ASPAPI nSetSubmitPkTotol( recCmppSubmit *prCmppSubmit, unsigned char ucPkTotal );int ASPAPI nSetSubmitPkNumber( recCmppSubmit *prCmppSubmit, unsigned char ucPkNumber );int ASPAPI nSetSubmitFeeTerminalType( recCmppSubmit *prCmppSubmit, const unsigned char ucFeeTerminalType );int ASPAPI nSetSubmitDstTerminalType( recCmppSubmit *prCmppSubmit, const unsigned char ucDstTerminalType );int ASPAPI nSetSubmitLinkId( recCmppSubmit *prCmppSubmit, const char *sLinkId );/* * 描述:低层群发包(拆分包)接口 * (1) 发送MT请求 * (2) 接收MT响应 * 该接口支持群发,和内容超长度的拆分 * 群发的目的地址号码用","号分割, 返回API_OK,表明发送都 * 成功,如果非API_OK, 输出参数sLastTerminateId * 说明最后一个失败的目标号码, 如果返回的是API_ERR_RESP, * 说明是网关返回了一个RESPONSE表明错误, prCmppSubmitResp * 表明结果 * 输入:CONNFD connDesc 连接句柄 * const char *sDstTerminateId 目标地址号码( 以,号分割多个号码) * const unsigned char ucDstTerminateType 接收短信的用户的号码类型 * const unsigned int unMsgLength 内容长度 * const char *sMsgContent 内容 * recCmppSubmit* prCmppSubmit * 输出:recCmppSubmitResp* prCmppSubmitResp * sLastTerminateId 最后处理的目标号码 * 返回值:API_OK 成功 * 其它 失败 */int ASPAPI nSubmit( CONNFD connDesc, const char *sDstTerminateId, const unsigned char ucDstTerminateType, const unsigned int unMsgLength, const char *sMsgContent, recCmppSubmit *prCmppSubmit, recCmppSubmitResp* prCmppSubmitResp, char *sLastTerminateId );/* * 描述:低层取缓冲中的普通MO,回执 * 输入:CONNFD connDesc 连接句柄 * int nTimeOut 超时时间(秒) * 输出:int* pnReceiptOrNot * 类型:1 回执 0 deliver * unsigned int* punSequenceId * ( CMPP中的sequence, 用于回delivery response 填入 ) * recCmppDeliver* prCmppDeliver * recCmppReceiptBody* prReceiptBody, * (在*pnReceiptOrNot为1时有效) * int nTimeOut 超时时间(秒) * 返回值:API_OK 成功 * API_NOCELL 没有数据包 * 其它 失败 */int ASPAPI nGetDeliver( CONNFD connDesc, int* pnReceiptOrNot, unsigned int* punSequenceId, recCmppDeliver* prCmppDeliver, recCmppReceiptBody* prReceiptBody, int nTimeOut );/* * 描述:向网关返回delivery response * 输入:CONNFD connDesc 连接句柄 * unsigned int nSequenceId * ( 和取出的deliver包的sequence一样 ) * recCmppDeliverResp* prCmppDeliverResp 包结构 * 返回值:API_OK 成功 * * 其它 失败 */int ASPAPI nSendDeliverResponse(CONNFD connnDesc, unsigned int nSequenceId, recCmppDeliverResp* prCmppDeliverResp ); #ifdef __cplusplus}#endif #endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -