FXSend/Sgip/sgip_bak2.h
2025-02-28 17:05:50 +08:00

106 lines
2.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// sgip.h
#ifndef _SGIP_H
#define _SGIP_H
typedef unsigned char UINT_1;
typedef unsigned short UINT_2;
typedef unsigned int UINT_4;
typedef int INT_4;
//Deliver包结构
typedef struct deliverstr
{
UINT_4 sequencenumber1;
UINT_4 sequencenumber2;
UINT_4 sequencenumber3;
char usernumber[22];
char spnumber[22];
UINT_1 tp_pid;
UINT_1 tp_udhi;
UINT_1 messagecoding;
UINT_4 messagelength;
char messagecontent[160];
}DeliverStr;
//Report包结构
typedef struct reportstr
{
UINT_4 sequencenumber1;
UINT_4 sequencenumber2;
UINT_4 sequencenumber3;
char usernumber[22];
UINT_1 state;
UINT_1 errcode;
}ReportStr;
//MT Response结构
typedef struct mtrespstr
{
UINT_4 sequencenumber1;
UINT_4 sequencenumber2;
UINT_4 sequencenumber3;
UINT_1 result;
}MTRespStr;
//Submit错误结构,当Submit发送不成功时在Deliver处理中返回该结构
typedef struct mterrorstr
{
UINT_4 sequencenumber1 ;
UINT_4 sequencenumber2 ;
UINT_4 sequencenumber3 ;
INT_4 errortype ; //1因为连接不上SMG网关系统导致包超时 2发送前发现该包超时 3包发送失败且超过重发次数
INT_4 result ;//如果失败是因为对方回了错误的Response则result中保留错误的Response Result值否则是内部的错误码负值。
}MTErrorStr;
int WINAPI Startup(char* cLocalIp,short iLocalPort,
char* cSmgIp,short iSmgPort,
char* cLoginName,char* cPassword,
int lSocketTimeOut,int lMTTimeOut,
unsigned int iSrcNode,int lMTThread,
int lMaxListNode,int lMTMaxRetryTime,int lMOThread,
void (* fProcessDeliver)(DeliverStr deliver),
void (* fProcessReport)(ReportStr report),
void (* fProcessResponse)(MTRespStr response),
void (*fProcessMTError)(MTErrorStr mterror));
//int WINAPI Cleanup();
int WINAPI Cleanup();
int WINAPI Submit(char* spnumber,
char* chargenumber,
int user_count,
char* usernumber,
char* corpid,
char* service_type,
UINT_1 fee_type,
char* fee_value,
char* given_value,
UINT_1 agent_flag,
UINT_1 mo_flag,
UINT_1 priority,
char* expire_time,
char* schedule_time,
UINT_1 report_flag,
UINT_1 tp_pid,
UINT_1 tp_udhi,
UINT_1 message_coding,
UINT_1 message_type,
UINT_4 message_length,
char* message_content,
char* reserve,
UINT_4 *sequencenumber1,
UINT_4 *sequencenumber2,
UINT_4 *sequencenumber3);
int WINAPI Deliver(int *type,
DeliverStr* DeliverStruct,
ReportStr* ReportStruct,
MTRespStr* RespStruct,
MTErrorStr* MTErrorStruct);
#endif