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

📄 cmppif.h

📁 Unix/Linux下的cmpp实现源程序
💻 H
字号:

#ifndef _CMPPIF_H_
#define _CMPPIF_H_


typedef void * CMPPHandle ;


/*返回:系统自动生成一个独立唯一的消息序列号,为无符号整型。*/
unsigned int CMPPGetSeqID ();


/* CMPP协议栈系统初始化 */
int CMPPSysInit ();


/* CMPP协议栈系统清除操作 */
void CMPPSysCleanup ();


/*返回:成功初始化时,返回协议实例句柄,否则返回NULL*/
CMPPHandle CMPPInit (unsigned char * ismgaddr,
                     unsigned int    ismgport,
                     unsigned char * spid,
                     unsigned char * secret,
                     int             mtnum,
                     int             monum,
                     unsigned char   mtmajorver,
                     unsigned char   mtminorver,
                     unsigned char   momajorver,
                     unsigned char   mominorver,
                     int             slidingwin,
                     unsigned short  routeid);


/*返回:成功注销CMPP协议栈系统,返回0,否则返回-1 */
int CMPPCleanup (CMPPHandle hcmpp);


/* 返回   0   标识成功
 * 返回 < 0   标识发送失败,返回值给出了失败原因 */
int CMPPSubmit (
   CMPPHandle    hcmpp,
   unsigned int  seq_id,       /*消息序列号 */
   unsigned char msg_level,    /*消息级别 */

   unsigned char *service_id,  /* 业务代码 */

   unsigned char *valid_time,  /*存活时间,格式为YYYYMMDDHHMISS */
   unsigned char *at_time,     /*发送时间,格式为YYYYMMDDHHMISS */

   unsigned char *fee_type,    /*01=免费 02=按条 03=包月 04=封顶 05=SP收费 */
   unsigned char *fee_code,    /*资费代码,以分为单位 */
   unsigned char feeusertype,  /*0=对目的手机收费,1=对源手机收费,2=对SP收费,3=对charge_mobile收费 */
   unsigned char *charge_mobile,/*收费手机号 */

   unsigned char *src_mobile,  /*源手机号,没有写"0" */

   unsigned char user_num,     /*接收手机个数 <100 */
   unsigned char *dest_mobiles,/*接收手机号码,以空格分隔 */

   unsigned char msg_format,   /*消息格式 0=ASCII 4=bin 8=UCS2 15=GB */
   unsigned char msg_len,      /*消息长度 */
   unsigned char *msg,         /*消息内容 */
   unsigned char need_resp);   /*是否需要状态确认,0=no 1=yes 2=取消包月 */


/* 返回   0   标识成功
 * 返回 < 0   标识发送失败,返回值给出了失败原因 */
int CMPPSubmitResp (
    CMPPHandle      hcmpp,
    unsigned int  * seq_id,    /*消息序列号*/
    unsigned char   msg_id[8], /*消息标识*/
    unsigned char * result     /*消息发送结果:0正确,1消息结构错,2命令字错,*/
                               /*3消息序列号重复,4消息长度错,5资费代码错*/
                               /*6超过最大信息长,7业务代码错,8流量控制错,9其它错误*/
    );



/* 返回   0   标识成功
 * 返回 < 0   标识发送失败,返回值给出了失败原因 */
int CMPPDeliver (
    CMPPHandle      hcmpp,
    unsigned int  * seq_id,        /*消息序列号*/
    unsigned char   msg_id[8],     /*消息标识 */
    unsigned char * dest_mobile,   /*SP的服务代码 */
    unsigned char * service_id,    /*业务类型 */
    unsigned char * msg_fmt,       /*消息格式:0-ASCII,3-短信写卡操作,4-二进制信息,8-UCS2编码,15-含GB汉字 */
    unsigned char * src_mobile,    /*源手机号 */
    unsigned char * status_report, /*是否为状态报告 */
    unsigned char * msg_len,       /*消息长度 */
    unsigned char * msg            /*消息内容 */
    );




/* 获取给定CMPP实例句柄的路由标识*/
unsigned short CMPPGetRoute (CMPPHandle hcmpp);



/* 设置给定CMPP实例句柄的路由标识*/
int CMPPSetRoute (CMPPHandle hcmpp, unsigned short routeid);


/* 获取给定CMPP实例句柄对应的远程短消息网关IP地址 */
struct in_addr CMPPGetRemoteIP (CMPPHandle hcmpp);


/* 获取给定CMPP实例句柄对应的远程短消息网关端口号 */
unsigned short CMPPGetRemotePort (CMPPHandle hcmpp);



#endif


⌨️ 快捷键说明

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