📄 ncngp.h
字号:
/*$Header: /home/cvsadmin/cvsroot/wam/sms/platform/src/cngp/ncngp.h,v 1.2 2006/07/26 06:32:41 haibinz Exp $*/
/*
程序名称:Cngp.h
*/
#ifndef _CNGP__H
#define _CNGP__H
/* Common Error Code */
#define ERROR_INPUT -10
#define CONVERT_IP_FAILED -1
#define SOCKET_NOT_EXIST -2
#define CREATE_SOCKET_FAILED -3
#define CLOSE_SOCKET_FAILED -4
#define SEND_DATA_FAILED -5
#define RECEIVE_DATA_TIMEOUT -6
#define RECEIVE_DATA_FAILED -7
#define CONNECT_ISMG_FAILED -8
#define BIND_SOCKET_FAILED -9
#define LISTEN_SOCKET_FAILED -10
#define WRONG_BODY_LENGTH -11
#define NO_DATA -12
#define WRONG_RESULT -13
/* Protocol Error Code */
/* TimeOut */
#define RECV_TIMEOUT_SEC 0
#define RECV_TIMEOUT_USEC 50000
/* Command ID */
#define ID_CNGP_LOGIN 0x00000001
#define ID_CNGP_LOGIN_RESP 0x80000001
#define ID_CNGP_EXIT 0x00000006
#define ID_CNGP_EXIT_RESP 0x80000006
#define ID_CNGP_ACTIVE_TEST 0x00000004
#define ID_CNGP_ACTIVE_TEST_RESP 0x80000004
#define ID_CNGP_SUBMIT 0x00000002
#define ID_CNGP_SUBMIT_RESP 0x80000002
#define ID_CNGP_DELIVER 0x00000003
#define ID_CNGP_DELIVER_RESP 0x80000003
/* Header Length */
#define LEN_CNGP_HEADER 16
/* Body Length */
#define LEN_CNGP_Login 32
#define LEN_CNGP_LOGIN_RESP 17
#define LEN_CNGP_SUBMIT 116
#define LEN_CNGP_SUBMIT_RESP 15
#define LEN_CNGP_DELIVER_RESP 15
#define MSGID_LEN 10
typedef struct {
char rq_submit_id[30+1];
char rq_response_id[30+1];
char rq_response_time[19+1];
int rq_response_status;
int intime;
}RES_Q;
typedef struct {
u_char SPID[11]; //SP企业代码
u_int32_t SubType; //短消息子类型
u_int32_t NeedReport; //是否要求返回状态报告
u_int32_t Priority; //发送优先级
u_char ServiceID[11]; //业务类型
u_char FeeType[2+1]; //资费类型
u_int32_t FeeUserType; //计费用户类型字段
u_char FeeCode[6+1]; //每条短消息的信息费
u_int32_t MsgFormat; //短消息格式
u_char ValidTime[17+1]; //有效时间
u_char AtTime[17+1]; //定时发送时间
u_char SrcTermID[21+1]; //短消息发送号码
u_char ChargeTermID[21+1]; //计费用户号码
u_int32_t DestTermIDCount; //短消息接收号码总数
u_char DestTermID[21+1]; //短消息接收号码
u_int32_t MsgLength; //短消息长度
u_char MsgContent[500]; //短消息内容:MAX 254
}cngp_submit;
typedef struct
{
unsigned short Paramater_Tag;
unsigned short Length;
unsigned char Value;
} TLV;
int CNGP_HEADER_Recv_mem (char *socketbuffer,
unsigned long *Body_Length, unsigned long *Command_ID,
unsigned long *Command_Status, unsigned long *Sequence_ID);
int CNGP_Receive_MsgLength (char *socketbuffer, unsigned long Body_Length);
int ISMG_Connect(int *ISMG_Socket, char *ISMG_IP, unsigned short ISMG_Port);
int CNGP_Login (unsigned int CNGP_Socket, char *SP_ID, char *Passwd, int Login_Mode, int Version, unsigned long S_ID);
int CNGP_Receive_LoginRes_mem (char *socketbuffer,unsigned long Body_Length, char *Version);
int CNGP_Exit (unsigned int CNGP_Socket, unsigned long S_ID);
int CNGP_Exit_Resp (unsigned int CNGP_Socket, unsigned long S_ID);
int CNGP_Active_Test (unsigned int CNGP_Socket, unsigned long S_ID);
int CNGP_Active_TestRes (unsigned int CNGP_Socket, unsigned long S_ID);
int CNGP_Submit (unsigned int CNGP_Socket,
char *SP_ID,
int Sub_Type,
int Need_Report,
int Priority,
char *Service_ID,
char *Fee_Type,
int Fee_User_Type,
char *Fee_Code,
int Msg_Format,
char *Valid_Time,
char *At_Time,
char *Src_Term_ID,
char *Charge_Term_ID,
int Dest_Term_ID_Count,
char *Dest_Term_ID,
unsigned int Msg_Length, char *Msg_Content, TLV Protocol_ID, unsigned long S_ID);
int CNGP_Submit_mem( unsigned int CNGP_Socket, cngp_submit *submitmt,
TLV Protocol_ID, unsigned long S_ID);
int CNGP_Receive_SubmitRes_mem (char *socketbuffer,unsigned long Body_Length, char *Msg_ID);
int CNGP_Receive_Deliver_mem(char *socketbuffer,
unsigned long Body_Length,
char *Msg_ID,
int *Is_Report,
char *Recv_Time,
char *Src_Term_ID,
char *Dest_Term_ID, int *Msg_Length, char *Msg_Content);
int CNGP_DeliverRes (unsigned int CNGP_Socket,
unsigned long Sequence_id,
char *Msg_ID, TLV Congestion_State);
int parse_msgid (const char *msgid, char *dst);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -