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

📄 cmpplowapi.h

📁 用c/c++实现的一个CMPP API
💻 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 + -