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

📄 vaspclient.h

📁 联通的SGIP行业网关开发接口实例含源码
💻 H
字号:
/*	This file defined the export function*/#ifndef VASPCLIENT#define VASPCLIENT
#include "Afxsock.h"
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <time.h>//#include "StdAfx.h"//#include <winsock2.h>//#include "Afxsock.h"//#include <stdio.h>//#include <stdlib.h>//#include <errno.h>//#include <string.h>//#include <sys/types.h>//#include <sys/socket.h>//#include <unistd.h>//#include <netinet/in.h>//#include <sys/time.h>#include <time.h>//#include "VASP_Message.h"//Variables Definition#define MAXDATASIZE 2000#define BACKLOG 5#define MAXMSGLEN 160 //the max size of a message content#define HEADLEN 20int  MO_Sock; // 上行连接的Socket号int  MT_Sock; // 下行连接的Socket号char  ICP_id[8]; //ICP代码struct sockaddr_in Server_addr;int  Client_Sock;int Send_state = 0;int Receive_state = 0;HINSTANCE  pLib;unsigned long  i_seq = 0; //the sequence no of every packetunsigned long  m_seq = 0; //the id of every messageunsigned long  addseq(unsigned long * p_seq){	(*p_seq)++;	if((*p_seq) ==0) *p_seq = 1; //from 1 to ffffffff
	return *p_seq;}//Function Definition void printtime();extern "C" int __stdcall vasp_Initialize(char* Server_IP, int Port, char* ICP_id);
extern "C" char* __stdcall getErrorInfor();//int  ConnectServer();extern "C" int __stdcall SendSubmit (
			    unsigned int  *SequenceNumber,
				char *SPNumber,
                char *chargenumber,
                unsigned char usercount,
                char *usernumber[10],
                char *msg_src,
                char *service_id,
                char *feetype,
                char *feecode,
                char *givenvalue,
                unsigned char agentflag,
                unsigned char morelatetomtflag,
                unsigned char msg_level,
                char *valid_time,
                char *at_time,
                unsigned char reportflag,
				unsigned char TP_pid,
				unsigned char TP_udhi,
                unsigned char msg_fmt,
                unsigned char msg_type,
                unsigned int  msg_length,
                char *msg_content);int MT_Connect();
int MO_Connect();
int SendTerminate_MO();int SendTerminate_MT();
extern "C" int __stdcall GetINTTime();
int Send_Resp(int SGIP_kind,int errorcode,int *ssn);extern "C" int  __stdcall SendTerminate();extern "C" int  __stdcall SendSingleSubmit(                
				unsigned int  *SequenceNumber,
                char *chargenumber,
                unsigned char usercount,
                char *usernumber[10],
                char *msg_src,
                char *service_id,
                char *feetype,
                char *feecode,
                char *givenvalue,
                unsigned char morelatetomtflag,
                unsigned char reportflag,
                unsigned char msg_fmt,
                unsigned char msg_type,
                unsigned int  msg_length,
                char *msg_content);
extern "C" int  __stdcall ReceiveNewDeliverOrReport( 
				 int  TimeWait,
                 char *isdeliver,
                 int  *SequenceNumber,
				 char *ServiceID,
				 char *SPNumber,
                 char *Usernumber,
                 unsigned char *Msg_Fmt,
				 unsigned char *TP_pid,
				 unsigned char *TP_udhi,
				 unsigned char *Msg_Type,
                 unsigned int  *Msg_Length,
                 char *Msg_Content,
                 unsigned int  *SubmitSequenceNumber,
                 unsigned char *ReportType,
                 unsigned char *State,
                 unsigned char *ErrorCode);int MT_ReceiveResp(unsigned long code);///////////////////////////////////////////////* This head file defines all the struct of VASP message *//* The VASP Command_ID */
#define SGIP_BIND               0x00000001
#define SGIP_BIND_RESP          0x80000001
#define SGIP_UNBIND             0x00000002
#define SGIP_UNBIND_RESP        0x80000002
#define SGIP_SUBMIT             0x00000003
#define SGIP_SUBMIT_RESP        0x80000003
#define SGIP_DELIVER            0x00000004
#define SGIP_DELIVER_RESP       0x80000004
#define SGIP_REPORT             0x00000005
#define SGIP_REPORT_RESP        0x80000005
#define SGIP_ADDSP              0x00000006
#define SGIP_ADDSP_RESP         0x80000006
#define SGIP_MODIFYSP           0x00000007
#define SGIP_MODIFYSP_RESP      0x80000007
#define SGIP_DELETESP           0x00000008
#define SGIP_DELETESP_RESP      0x80000008
#define SGIP_QUERYROUTE         0x00000009
#define SGIP_QUERYROUTE_RESP    0x80000009
#define SGIP_ADDTELTSEG         0x0000000a
#define SGIP_ADDTELESEG_RESP    0x8000000a
#define SGIP_MODIFYTELESEG      0x0000000b
#define SGIP_MODIFYTELESEG_RESP 0x8000000b
#define SGIP_DELETETELESEG      0x0000000c
#define SGIP_DELETETELESEG_RESP 0x8000000c
#define SGIP_ADDSMG             0x0000000d
#define SGIP_ADDSMG_RESP        0x8000000d
#define SGIP_MODIFYSMG          0x0000000e
#define SGIP_MODIFYSMG_RESP     0x8000000e
#define SGIP_DELETESMG          0x0000000f
#define SGIP_DELETESMG_RESP     0x8000000f
#define SGIP_CHECKUSER          0x00000010
#define SGIP_CHECKUSER_RESP     0x80000010
#define SGIP_USERRPT            0x00000011
#define SGIP_USERRPT_RESP       0x80000011
#define VASP_SERVICEID_NUM      0x00000012
#define VASP_SERVICEID_REP_NUM  0x80000012
#define SGIP_TRACE              0x00001000
#define SGIP_TRACE_RESP         0x80001000
#define HEADLEN         20
#define MAXMSGLEN 160

//Message format
#define FMT_ASCII 0//ASCII串
#define FMT_BIN 4//二进制信息
#define FMT_UCS 8//unicode 编码
#define FMT_GB  15//含GB汉字  。
/*0:正确
1:消息结构错
 2:命令字错
 3:消息序号重复
4:消息长度错
5:资费代码错
6:超过最大信息长
7:业务代码错
8: 流量控制错
9 :其他错误
10:参数错误
11:服务器忙
12:icp 认证错误
*/
#define REP_SUCCESS 0
#define REP_ERR_STRUCT 1
#define SGIP_TRACE_RESP         0x80001000
#define HEADLEN         20
#define MAXMSGLEN 160

//Message format
#define FMT_ASCII 0//ASCII串
#define FMT_BIN 4//二进制信息
#define FMT_UCS 8//unicode 编码
#define FMT_GB  15//含GB汉字  。
/*0:正确
1:消息结构错
 2:命令字错
 3:消息序号重复
4:消息长度错
5:资费代码错
6:超过最大信息长
7:业务代码错
8: 流量控制错
9 :其他错误
10:参数错误
11:服务器忙
12:icp 认证错误
*/
#define REP_SUCCESS 0
#define REP_ERR_LOGIN 1
#define REP_ERR_RELOGIN 2
#define REP_ERR_LINKFULL 3
#define REP_ERR_LOGTYPE 4
#define REP_ERR_PARAFMT 5
#define REP_ERR_PHONE 6
#define REP_ERR_ID 7
#define REP_ERR_LENGTH 8
#define REP_ERR_SEQUENCE 9
#define REP_ERR_GNS 10
#define REP_ERR_BUSY 11
#define REP_ERR_ROUTEAR 21
#define REP_ERR_ROUTE 22
#define REP_ERR_NOROUTE 23
#define REP_ERR_SRCPHONE 24
#define REP_ERR_PHONEAR 25
#define REP_ERR_PHONESTORE 26
#define REP_ERR_PHONENOSM 27
#define REP_ERR_RECVSM 28
#define REP_ERR_UNKOWNPHONE 29
#define REP_ERR_NOSERV 30
#define REP_ERR_SERVICE 31
#define REP_ERR_SYSTEM 32
//subscribe packet type
#define USER_CNANCEL 0
#define USER_ADD 1
#define USER_MODIFY 2
#define USER_QUERY 4
/* VASP message head */
struct VASP_Head
{
        /* Message head */
        unsigned int Total_Length;
        unsigned int Command_ID;
        unsigned int Sequence_ID[3];
};

/* Struct of PointToReport */
struct PointToReport
{
        unsigned int ssn[3];
        unsigned int  SubmitSequenceNumber[3];
        unsigned char ReportType;
        char     UserNumber[21];
        unsigned char State;
        unsigned char ErrorCode;
};

/* Struct of PointToDeliver */
struct PointToDeliver
{
        unsigned int ssn[3];
        char Usernumber[21];
        unsigned char Msg_Fmt;
        unsigned int  Msg_Length;
        char *Msg_Content;
};

/* VASP connect response */
struct VASP_Connect_REP
{

        /* Message body */
        unsigned char Status;
        char AuthenticatorISMG[16];
        unsigned char Tls_available;
};

/* VASP connect */
struct VASP_Connect
{
        /* Message body */
        char Source_Addr[6];
        char AuthenticatorICP[16];
        char Reserve[8];
};

/* VASP deliver response */
struct VASP_Deliver_Rep
{
        unsigned int  Msg_Id;
        unsigned char Tls_available;
        unsigned char Result;
};

/* VASP Submit */
struct VASP_Submit
{       
        char Chargenumber[21];
        unsigned char Usercount;
        char Usernumber[210];
        char Msg_src[6];
        char Service_id[10];
        char Feetype[2];
        char Feecode[6];
        char Givenvalue[6];
        unsigned char Agentflag;
        unsigned char Morelatetomtflag;
        unsigned char Msg_level;
        char Valid_time[16];
        char At_time[16];
        unsigned char Reportflag;
        unsigned char Msg_fmt;
        unsigned char Msg_type;
        unsigned int  Msg_length;
        char Msg_content[700];
};

/* VASP Submit Response */
struct VASP_Submit_Rep
{
        unsigned char Result;
        char Reserve[8];
        /*0:正确
        1:消息结构错
         2:命令字错
         3:消息序号重复
        4:消息长度错
        5:资费代码错
        6:超过最大信息长
        7:业务代码错
        8: 流量控制错
        9~ :其他错误
        */
};

/* SGIP Report */


/* VASP report response */
struct VASP_Report_Rep
{
        unsigned char Result;
        char     Reserve[8];
        /*
        0:接收成功
        其他: 错误码
        */
};
//////////////////////////////////////////////#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -