📄 api.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 + -