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

📄 ncngp.h

📁 增值业务的sngp协议。
💻 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 + -