📄 smgapi.h
字号:
#ifndef _SMGAPI_H_
#define _SMGAPI_H_
#ifndef u_char
#define u_char unsigned char
#endif
#pragma pack(push, 1)
#define SMG_DeliverReq 0x8001
#define SMG_DeliverRep 0x9001
#define SMG_SubmitReq 0x8002
#define SMG_SubmitRep 0x9002
#define SMG_CancelReq 0x8003
#define SMG_CancelRep 0x9003
#define SMG_RegisterReq 0x8004
#define SMG_RegisterRep 0x9004
#define SMG_UnRegisterReq 0x8005
#define SMG_UnRegisterRep 0x9005
#define SMG_LinkDown 0x0001
#define SMG_LinkUp 0x0002
#define SMG_Monitor 0x0003
#define SMG_ReloadConfig 0x0004 // 命令业务程序重新读取配置文件
#define SMG_ReloadData 0x0005 // 命令业务程序重新读取数据库配置
#define SMG_ServiceExit 0x0006 // 命令业务程序自动退出
// 定义监控子命令
#define MONI_CONNECT_SET 0x1000 // 和运营商的连接告警
#define MONI_CONNECT_CANCEL 0x1001 // 取消和运营商的连接告警
#define MONI_SERVICE_FLOW_SET 0x1003 // 业务流量告警
#define MONI_SERVICE_FLOW_CANCEL 0x1004
#define MONI_SERVICE_QUIT_SET 0x1005 // 业务退出告警
#define MONI_SERVICE_QUIT_CANCEL 0x1006 // 取消业务退出告警
#define MONI_OPNE_SERVICE_INFO 0x1007 // 开通业务通知
#define MONI_CDR_INFO 0x1008 //话单监控信息
#define MONI_SERVICE_NO_FIND 0x1009 // 业务已开通,但没有相应的业务处理程序登录到网关
#define MONI_SERVICE_LOGON 0x100a // 业务注册
#define MONI_SERVICE_LOGOUT 0x100b // 业务注销
#define MONI_CDR_ERR_INFO 0x100c //网关自动回复用户拨错号码的话单日志
#define MONI_SET 0x100d // 对网关设置监控
#define MONI_CANCEL 0x100e // 对网关取消监控
#define MONI_SMG_MOMT_QUERY 0x100f // 查询短信网关当天MOMT的数量
#define MONI_SERV_MOMT_QUERY 0x1010 // 查询单项业务当天的MOMT数量
#define MONI_SMG_QUIT 0x1011 // 通知网关退出
#define MONI_SERV_RELOAD_CONFIG 0x1012 //通知业务程序重新加载配置文件
#define MONI_SERV_RELOAD_DATA 0x1013 //通知业务程序重新加载数据库配置
#define MONI_SERV_QUIT 0x1014 //通知业务程序退出
#define MO_ACTION 0x00
#define MT_ACTION 0x02
typedef struct TMsgHead
{
int nCmdId;
int nChannelId;
int nLinkId;
char sLinkIp[16];
int nPort;
} TMsgHead;
typedef struct TSmgRegisterReq
{
char sServiceNumber[8];
} TSmgRegisterReq;
typedef struct TSmgRegisterRep
{
char sServiceNumber[8];
u_char ucResult;
} TSmgRegisterRep;
typedef struct TSmgUnRegisterReq
{
char sServiceNumber[8];
} TSmgUnRegisterReq;
typedef struct TSmgUnRegisterRep
{
char sServiceNumber[8];
u_char ucResult;
} TSmgUnRegisterRep;
typedef struct TSmgDeliverReq
{
u_char ucSmgNodeId;
char sMsgId[16];
char sLinkId[20];
char sDstAddr[24];
char sSrcAddr[24];
char sServiceId[12];
u_char ucMsgFmt;
u_char ucRegister;
u_char ucMsgLen;
u_char usMsgContent[256];
} TSmgDeliverReq;
typedef struct TSmgDeliverRep
{
u_char ucResult;
} TSmgDeliverRep;
typedef struct TSmgSubmitReq
{
char sMsgId[16];
char sLinkId[20];
u_char ucActionType;
int nClientSeqId;
int nMsgCounts;
int nMsgNumber;
u_char ucRegister;
char sServiceId[12];
u_char ucFeeUserType;
char sFeeAddr[24];
u_char ucMsgFmt;
char sFeeType[4];
char sFeeCode[8];
char sSrcAddr[24];
char sDstAddr[24];
int ucMsgLen;
char sMsgContext[1024];
} TSmgSubmitReq;
typedef struct TSmgSubmitRep
{
char sMsgId[16];
int nClientSeqId;
u_char ucActionType;
u_char ucResult;
} TSmgSubmitRep;
typedef struct TSmgCancelReq
{
char sDstAddr[24];
} TSmgCancelReq;
typedef struct TSmgCancelRep
{
u_char ucSuccId;
} TSmgCancelRep;
typedef struct TSmgDeliverRcpt
{
char sStat[8];
char sSubmitTime[12];
char sDoneTime[12];
char sDstAddr[24];
int nSmscSeqId;
} TSmgDeliverRcpt;
typedef struct TSmgLinkDown
{
TMsgHead rMsgHead;
} TSmgLinkDown;
typedef struct TMsgLinkUp
{
TMsgHead rMsgHead;
} TSmgLinkUp;
typedef struct
{
int nMoniType;
char sMoniMsg[1024];
} TMonitorMesg;
typedef struct TSmgPacket
{
TMsgHead rMsgHead;
union
{
TSmgRegisterReq rSmgRegisterReq;
TSmgRegisterRep rSmgRegisterRep;
TSmgUnRegisterReq rSmgUnRegisterReq;
TSmgUnRegisterRep rSmgUnRegisterRep;
TSmgDeliverReq rSmgDeliverReq;
TSmgDeliverRep rSmgDeliverRep;
TSmgSubmitReq rSmgSubmitReq;
TSmgSubmitRep rSmgSubmitRep;
TSmgCancelReq rSmgCancelReq;
TSmgCancelRep rSmgCancelRep;
TSmgDeliverRcpt rSmgDeliverRcpt;
TSmgLinkUp rSmgLinkUp;
TSmgLinkDown rSmgLinkDown;
TMonitorMesg rMonitorMesg;
} rMsgBody;
} TSmgPacket;
// begin delcare function for SMG client
int SMG_InitClient(char *sSmgServerIp, int nPort);
int SMG_GetClientEvent(TSmgPacket *prSmgPacket);
void SMG_CloseClient();
int SMG_SendRegisterReq(TMsgHead rMsgHead, TSmgRegisterReq rSmgRegisterReq);
int SMG_SendUnRegisterReq(TMsgHead rMsgHead, TSmgUnRegisterReq rSmgRegisterReq);
int SMG_SendDeliverRep(TMsgHead rMsgHead, TSmgDeliverRep rSmgDeliverRep);
int SMG_SendSubmitReq(TMsgHead rMsgHead, TSmgSubmitReq rSmgSubmitReq);
int SMG_SendCancleReq(TMsgHead rMsgHead, TSmgCancelReq rSmgCancleReq);
int SMG_SendMonitorAction(int nLinkId, int nActType, char *sMsg);
// end delcare function for SMG client
// begin delcare function for SMG server
int SMG_InitServer(int nPort);
int SMG_GetServerEvent(TSmgPacket *prSmgPacket);
void SMG_CloseServer();
int SMG_SendRegisterRep(TMsgHead rMsgHead, TSmgRegisterRep rSmgRegisterRep);
int SMG_SendUnRegisterRep(TMsgHead rMsgHead, TSmgUnRegisterRep rSmgRegisterRep);
int SMG_SendDeliverReq(TMsgHead rMsgHead, TSmgDeliverReq rSmgDeliverReq);
int SMG_SendSubmitRep(TMsgHead rMsgHead, TSmgSubmitRep rSmgSubmitRep);
int SMG_SendCancleRep(TMsgHead rMsgHead, TSmgCancelRep rSmgCancleRep);
int SMG_SendMonitorMsg(int nLinkId, char *sMonMsg, unsigned short nLen);
int SMG_SendReloadConfig(int nLinkId);
int SMG_SendReloadData(int nLinkId);
int SMG_SendServiceExit(int nLinkId);
// end delcare function for SMG server
#pragma pack(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -