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

📄 api.h

📁 cmpp2.0程序,c++源码
💻 H
字号:
//---------------------------------------------------------------------------

#ifndef dllapiH
#define dllapiH


//---------------------------------------------------------------------------
//定义系统所需要的宏
#define RT_OK         0             //返回成功
#define RT_ERR        -1            //返回失败

#define OUT_INF       1             //显示输出信息
#define NO_OUT_INF    0             //不显示输出信息

#define MAX_SUB_RETRY_TIMES   3     //提交短消息出错时最大重试次数

#define MAX_GET_MSG_NUM       10    //最大一次从库中取消息的数目
#define MAX_PUT_MSG_NUM       10    //最大一次往库中写消息的数目

#define MAX_PORC_MISSION      4     //最大同时执行任务的数目
#define MAX_SUBMIT_NUM        100   //轮循时,处理任务的最大消息条数
#define MAX_DELIVER_NUM       100   //处理收包时一次处理的最大消息数

//任务放入队列的返回值
#define PUT_LIST_OK            0     //任务入队列成功
#define PUT_LIST_ERR          -1     //任务入队列出错
#define PUT_LIST_FULL          1     //任务队列满
#define PUT_LIST_ALREADY       2     //此任务已经在队列中
#define PUT_LIST_FINISH        3     //此任务已经执行完
#define PUT_LIST_NO_CONDITION  4     //此任务执行条件不满足//(未到执行时间 ,或未增加用户)
#define PUT_LIST_NO_SERVICE    5     //未找到此任务业务类型
#define PUT_LIST_NOT_FOUND     6     //队列中未到到此任务

//执行任务队列的返回值
#define PROC_MIS_OK            0     //任务队列执行成功
#define PROC_MIS_ERR          -1     //执行任务队列出错(异常错)
#define PROC_MIS_FULL          1     //发送消息队列满(由傲天API返回的值获知)
#define PROC_MIS_PAUSE         2     //任务暂停执行
#define PROC_MIS_NO_API        3     //当前API服务未启动
#define PROC_NO_MIS            9     //当前无可以执行的任务

//任务状态位
#define MIS_STA_WAIT_ADD       0     //待加入任务队列
#define MIS_STA_PROC           1     //执行中
//#define MIS_STA_STOP           2   //停止
#define MIS_STA_DEL            3     //任务删除

//Sokcet命令状态
#define SCF_CMD_OK             1      //收到一条命令
#define SCF_NO_CMD             0      //没有收到命令
#define SCF_ERR_CMD           -1      //收到错误命令

//任务执行状态
#define MIS_PAUSE              1      //暂停执行任务
#define MIS_NO_PAUSE           0      //不暂停任务执行

//消息类型
#define INF_TYPE_SYS           0      //系统信息
#define INF_TYPE_OUT           1      //输出信息
#define INF_TYPE_IN            2      //输入信息
#define INF_TYPE_BAK           3      //备份信息
#define INF_TYPE_SYS_ERR       9      //系统运行出错信息

//系统错误日志
#define MAX_SYS_ERR_NUM        20     //错误日志最大自动保存条数


//---------------------------------------------------------------------------
//当前任务列
typedef struct missinlist
{
  char         Seq[20];  //任务序号
  //SubmitStr    Content;  
  int          Sta;      //任务状态  0:待加入 1:执行中, 2:停止

}MissionListStr;


//短信息的结构定义
//---------------------------------------------------------------------------
typedef unsigned char 	UINT_1;
typedef unsigned short 	UINT_2;
typedef unsigned int 	UINT_4;

//定义MO_msg结构
struct MO_msg{
        __int64 msgID;			//消息ID
        char    dest_id[21];		//消息级别
        char    service_id[10];		//业务代码
        unsigned char	tp_pid;
        unsigned char   tp_udhi;
        unsigned char   msgFormat;	//消息格式
        char    sourceUser[12];		//发送消息的手机
        unsigned char   reg_deliver;	//是否为应答消息,1=yes,0=no
        unsigned char   msgLen;		//消息长度
        char    msg[161];		//消息内容
};

//定义状态报告结构
struct status_report{
        __int64	        msgID;
        char            stat[7];
        char            submit_time[10];
        char            done_time[10];
        char            destUser[21];
        unsigned long   smsc_seq;
};


//导出动态连接库的函数
//---------------------------------------------------------------------------
extern "C" __stdcall __declspec(dllimport) int CMPP_Connect(char *gw_ip,short port,char *username,char *passwd);

extern "C" __stdcall __declspec(dllimport) int	CMPP_Submit(int conn_id,      //the return value by CMPP_Connect
			__int64 *msg_id,		                              // message ID
			unsigned char msg_level,	                      //消息级别
			char *service_id,			              //服务代码
			unsigned char msg_format,	                      //消息格式 0=ASCII 4=bin 8=UCS2 15=GB
			char *msg_src,			                      //消息来源
			char *fee_type,			                      //01=免费 02=按条 03=包月 04=封顶 05=SP收费
			char *fee_code,			                      //资费代码,以分为单位
			char *valid_time,			              //存活时间,格式为YYYYMMDDHHMISS
			char *at_time,			                      //发送时间,格式为YYYYMMDDHHMISS
			unsigned char tp_pid,
			unsigned char tp_udhi,
			unsigned char fee_usertype,
			char	*charge_mobile,
			char *src_mobile,			              //源手机号,没有写"0"
			unsigned char user_num,		                      //接收手机个数 <100
			char *dest_mobiles,		                      //接收手机号码,以空格分隔
			char *msg,				              //消息内容
			int  msg_len,			                      //消息长度
			unsigned char need_response);	                      //是否需要状态确认,0=no 1=yes

extern "C" __stdcall __declspec(dllimport) int CMPP_Disconnect(int conn_id);

extern "C" __stdcall __declspec(dllimport) int CMPP_Connect_MO(char *gw_ip,short port,char *username,char *passwd);

extern "C" __stdcall __declspec(dllimport) int CMPP_Get_MO(int conn_id,struct MO_msg *p_MO);

extern "C" __stdcall __declspec(dllimport) int is_status_report(struct MO_msg *p_MO);

//extern "C" __stdcall __declspec(dllimport) struct status_report *get_status_report(struct MO_msg *p_MO);

//短连接方式发送
extern "C" __stdcall __declspec(dllimport) int CMPP_Brief_Submit(char *gw_ip,  //网关的IP地址
			short port,					       //port :  端口号
			char *username,				               //ICP的名称
			char *passwd,				               //ICP的密码
			__int64 *msg_id,		                       // message ID
			unsigned char msg_level,	                       //消息级别
			char *service_id,			               //服务代码
			unsigned char msg_format,	                       //消息格式 0=ASCII 4=bin 8=UCS2 15=GB
			char *msg_src,			                       //消息来源
			char *fee_type,			                       //01=免费 02=按条 03=包月 04=封顶 05=SP收费
			char *fee_code,			                       //资费代码,以分为单位
			char *valid_time,			               //存活时间,格式为YYYYMMDDHHMISS
			char *at_time,			                       //发送时间,格式为YYYYMMDDHHMISS
			unsigned char tp_pid,
			unsigned char tp_udhi,
			unsigned char fee_usertype,
			char	*charge_mobile,
			char *src_mobile,			               //源手机号,没有写"0"
			unsigned char user_num,		                       //接收手机个数 <100
			char *dest_mobiles,		                       //接收手机号码,以空格分隔
			char *msg,				               //消息内容
			int  msg_len,			                       //消息长度
			unsigned char need_response);                          //是否需要状态确认,0=no 1=yes
//---------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

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