?? vaspclient.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 + -