📄 spsms.h
字号:
#ifndef SPSMS_H
#define SPSMS_H
#pragma pack(push, 1)
// 消息 Command_Id值 说明
#define CMPP_CONNECT 0x00000001 // 请求连接
#define CMPP_CONNECT_RESP 0x80000001 // 请求连接应答
#define CMPP_TERMINATE 0x00000002 // 终止连接
#define CMPP_TERMINATE_RESP 0x80000002 // 终止连接应答
#define CMPP_SUBMIT 0x00000004 // 提交短信
#define CMPP_SUBMIT_RESP 0x80000004 // 提交短信应答
#define CMPP_DELIVER 0x00000005 // 短信下发
#define CMPP_DELIVER_RESP 0x80000005 // 下发短信应答
#define CMPP_QUERY 0x00000006 // 发送短信状态查询
#define CMPP_QUERY_RESP 0x80000006 // 发送短信状态查询应答
#define CMPP_CANCEL 0x00000007 // 删除短信
#define CMPP_CANCEL_RESP 0x80000007 // 删除短信应答
#define CMPP_ACTIVE_TEST 0x00000008 // 激活测试
#define CMPP_ACTIVE_TEST_RESP 0x80000008 // 激活测试应答
#define MAX_SP_ID_LEN 6
#define MAX_MSG_ID_LEN 8
#define MAX_SERVICE_ID_LEN 10
#define MAX_FEE_TERMINALID_LEN 32
#define MAX_SRC_TERMINALID_LEN 21
#define MAX_DST_TERMINALID_LEN 32
#define MAX_VALID_TIME_LEN 17
#define MAX_FEE_CODE_LEN 6
#define MAX_FEE_TYPE_LEN 2
#define MAX_MSG_CONTENT_LEN 256
#define MAX_LINK_ID_LEN 20
#define MAX_SET_PARAM_NUM 4
#define MAX_STRING_LEN 16
#define IPLEN 16
#define SMCGWIP 16
#define SMCACCESSIDLEN 10
#define SMCACCESSPWD 10
#define WARNLEN 256
#define WARNEXPIRETIME 5 //故障持续时间阀值
typedef struct
{
char sIP[IPLEN];
char sGWIP[SMCGWIP]; //网关IP
char sAccessID[SMCACCESSIDLEN]; //企业接入ID
}SMC_ATTR;
typedef struct
{
char sIP[IPLEN]; //SMC宿主IP
char sAccessPWD[SMCACCESSPWD]; //企业接入密码
}SMC_PWD;
typedef struct
{
int cResult; //返回操作结果时:0成功 -1失败 //返回状态时:0 ISMG连接正常 -1 ISMG连接异常
}RESULT, STATUS;
typedef struct
{
int nQueenNum; //队列消息数
int nSysTimer; //Sys定时器值
int nSysStatus; //定时器状态0正常工作,-1不正常工作
// int nIsmgTimer; //Ismg定时器值
// char nIsmgStatus; //定时器状态0正常工作,-1不正常工作
}SMCSOURCE;
typedef struct
{
int nIsmgTimer;
int nIsmgStatus;
}ISMGSTATUS;
typedef struct
{
char nTimerFlag; //定时器的种类
/*
SMC_SysTimer 8
SMC_ISMGTimer 9
*/
int nTimer; //定时器值
char nStatus; //定时器状态0正常工作,-1不正常工作
}TIMER;
typedef struct
{
int kind;
//需要报警的种类
/*
(需根据需要修改)
ASR
系统队列消息告警 0x01
? 系统定时器队列告警 0x02
? 语音识别服务lisence告警 0x03
? TTS服务lisence告警 0x04
? 语音识别服务连接告警 0x05
? TTS服务连接告警 0x06
DB
作业告警 0x07
? 触发器告警 0x08
? 存储过程告警 0x09
? 函数告警 0x0a
? 性能告警 0x0b
? 控制文件告警 0x0c
? 表空间告警 0x0d
? 数据文件告警 0x0e
? 日志文件告警 0x0f
? 归档模式的切换告警 0x10
? 已用转储告警 0x11
? 活动的会话数告警 0x12
? 例程吞吐量告警 0x13
? 例程恢复告警 0x14
SMC
系统消息队列告警 0x15
? ISMG链接告警 0x16
? 系统定时器队列告警 0x17
WEB
服务异常终止告警 0x18
端口拥塞告警 0x19
内存使用率 0x1a
CPU使用率 0x1b
*/
char WarnInfo[WARNLEN]; //报警的信息
}ASRWARN, DBWARN, WEBWARN, SMCWARN;
typedef struct
{
unsigned int nTotalLen;
unsigned int nCommandId;
unsigned int nSeqId;
} TCmppHead;
typedef struct
{
char sSpId[MAX_SP_ID_LEN];
char sAuthenticatorSource[16];
unsigned char nVersion;
unsigned int nTimeStamp;
} TCmppConnectReq;
typedef struct
{
unsigned int nStatus;
char sAuthenticatorSource[16];
unsigned char nVersion;
} TCmppConnectRep;
#define TCmppTerminateReq TCmppHead
#define TCmppTerminateRep TCmppHead
#define TCmppActiveTestReq TCmppHead
#define TCmppActiveTestRep TCmppHead
typedef struct
{
char sMsgId[MAX_MSG_ID_LEN];
unsigned char nPkTotal;
unsigned char nPkNumber;
unsigned char nRegister;
unsigned char nMsgLevel;
char sServiceId[MAX_SERVICE_ID_LEN];
unsigned char nFeeUserType;
char sFeeTerminalId[MAX_FEE_TERMINALID_LEN];
unsigned char nFeeTerminalType;
unsigned char nTPPid;
unsigned char nTPUdhi;
unsigned char nMsgFmt;
char sMsgSrc[MAX_SP_ID_LEN];
char sFeeType[MAX_FEE_TYPE_LEN];
char sFeeCode[MAX_FEE_CODE_LEN];
char sValidTime[MAX_VALID_TIME_LEN];
char sAtTime[MAX_VALID_TIME_LEN];
char sSrcTerminalId[MAX_SRC_TERMINALID_LEN];
unsigned char nDstTerminadNum;
char sDstTerminalId[MAX_DST_TERMINALID_LEN];
unsigned char nDstTerminalIdType;
unsigned char nMsgLen;
char sMsgContent[MAX_MSG_CONTENT_LEN];
char sLinkId[MAX_LINK_ID_LEN];
} TCmppSubmitReq;
typedef struct
{
char sMsgId[MAX_MSG_ID_LEN];
#ifndef CMPP_VERSION_20
unsigned int nResult;
#else
unsigned char nResult;
#endif
} TCmppSubmitRep;
typedef struct
{
char sTime[8];
unsigned char nQueryType;
char sQueryCode[MAX_SERVICE_ID_LEN];
char nReserve[8];
} TCmppQueryReq;
typedef struct
{
char sTime[8];
unsigned char nQueryType;
char sQueryCode[MAX_SERVICE_ID_LEN];
unsigned int nMT_TLMsg;
unsigned int nMT_Tlusr;
unsigned int nMT_Scs;
unsigned int nMT_WT;
unsigned int nMT_FL;
unsigned int nMO_Scs;
unsigned int nMO_WT;
unsigned int nMO_FL;
} TCmppQueryRep;
typedef struct
{
char sMsgId[MAX_MSG_ID_LEN];
char sDstTerminalId[MAX_SRC_TERMINALID_LEN];
char sServiceId[MAX_SERVICE_ID_LEN];
unsigned char nTPPid;
unsigned char nTPUdhi;
unsigned char nMsgFmt;
char sSrcTerminalId[MAX_DST_TERMINALID_LEN];
unsigned char nSrcTerminalType;
unsigned char nRegistered;
unsigned char nMsgLen;
char sMsgContent[MAX_MSG_CONTENT_LEN];
char sLinkID[MAX_LINK_ID_LEN];
} TCmppDeliverReq;
typedef struct
{
char sMsgId[MAX_MSG_ID_LEN+MAX_MSG_ID_LEN+1];
unsigned char nState;
char sSubmitTime[MAX_VALID_TIME_LEN];
char sDoneTime[MAX_VALID_TIME_LEN];
char sDstTerminalId[MAX_DST_TERMINALID_LEN];
unsigned int nSeqId;
} TCmppReportMsg;
#define TCmppDeliverRep TCmppSubmitRep
typedef struct
{
char sMsgId[MAX_MSG_ID_LEN];
} TCmppCancelReq;
typedef struct
{
unsigned int nResult;
} TCmppCancelRep;
typedef struct
{
TCmppHead rMsgHead;
union
{
TCmppConnectReq rConnectReq;
TCmppConnectRep rConnectRep;
TCmppDeliverReq rDeliverReq;
TCmppDeliverRep rDeliverRep;
TCmppSubmitReq rSubmitReq;
TCmppSubmitRep rSubmitRep;
TCmppQueryReq rQueryReq;
TCmppQueryRep rQueryRep;
TCmppCancelReq rCancelReq;
TCmppCancelRep rCancelRep;
} rMsgBody;
} TCmppPacket;
typedef struct
{
unsigned char localip[32];
unsigned char ismgip[32];
unsigned char spid[7];
unsigned char sppwd[8];
unsigned char spcode[8];
char sServiceId[MAX_SERVICE_ID_LEN];
int sock;
unsigned char state;
unsigned char Tswitch;
unsigned char CheckN;
} SpNaiType;
typedef struct IsmgMsgLink
{
unsigned int SeqId;
unsigned char P_S;
unsigned char P_R;
unsigned char LWE_S;
unsigned char LWE_R;
}IsmgMsgLinkType;
typedef struct IsmgMsgStr
{
unsigned short len;
unsigned char md5[17];
TCmppPacket *buf;
}IsmgMsgType;
typedef struct LocalSPSTR {
unsigned char status;
unsigned char thisapp;
unsigned char Asr;
unsigned char DB;
unsigned char Sms;
unsigned char Man;
} LocalSP_T,*pLocalSPPTR;
//! 监控程序发送的消息体
typedef struct __WMSG
{
unsigned char nMsg;
unsigned char nflag;
}WMSG;
//! 返回给监控程序的消息体
typedef struct __RESULT
{
unsigned int nAppNo; ///< 通过GetWhoAmI()得到的本节点号
unsigned char nresult;
}WRESULT;
#pragma pack(pop)
#define MAXCHECK_N (3)
#define ISMGMESWIDOW (16)
SpNaiType SpSmc;
IsmgMsgLinkType SendMsgLink;
typedef enum
{
SPSMC_IDLE, //0
SPSMC_ISMGOK, //1
SPSMC_ISMGNOOK, //2
}RECTYPE;
extern void CMPP_GetClientEvent();
extern void StartClient();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -