#ifndef _ASPIRE_CMPP_API_H_
#define _ASPIRE_CMPP_API_H_
struct recCConnect
{
int nSeqId; char sSrcAddr[ 6+1 ];
u_char usAuthSp[ 16 ];
u_char ucVersion;
int nTimeStamp;
};
typedef struct recCConnect RecCConnect;
typedef struct recCConnect RecCConnRqst;
struct recCConnectRep
{
int nSeqId; u_char ucStatus;
u_char usAuthIsmg[ 16 ];
u_char ucVersion;
};
typedef struct recCConnectRep RecCConnectRep;
typedef struct recCConnectRep RecCConnRep;
/* 2. Terminate */struct recCTerminate
{
int nSeqId;
};
typedef struct recCTerminate RecCTerminate;
typedef struct recCTerminate RecCTermRqst;struct recCTerminateRep
{
int nSeqId;
};
typedef struct recCTerminateRep RecCTerminateRep;
typedef struct recCTerminateRep RecCTermRep;/* 3. Deliver */struct recCDeliver
{
int nSeqId; u_char usMsgId[ 8 ];
char sDstAddr[ 21+1 ];
char sServiceId[ 10+1 ];
u_char ucTpPid;
u_char ucTpUdhi;
u_char ucMsgFmt;
char sSrcAddr[ 21+1 ];
u_char ucRegister;
u_char ucMsgLen;
u_char usMsgContent[ 256 ];
u_char usReserve[ 8 ];
};
typedef struct recCDeliver RecCDeliver;
typedef struct recCDeliver RecCDelvRqst;struct recCDeliverRcpt
{
int nSeqId;
u_char usMsgId[ 8 ];
char sStat[ 7+1 ];
char sSubmitTime[ 10+1 ];
char sDoneTime[ 10+1 ];
char sDstAddr[ 21+1 ];
int nSmscSeqId;
};
typedef struct recCDeliverRcpt RecCDeliverRcpt;
typedef struct recCDeliverRcpt RecCDelvRcpt;struct recCDeliverRep
{
int nSeqId;
u_char usMsgId[ 8 ];
u_char ucResult;
};
typedef struct recCDeliverRep RecCDeliverRep;
typedef struct recCDeliverRep RecCDelvRep;/* 4. Submit */struct recCSubmit
{
int nSeqId; u_char usMsgId[ 8 ];
u_char ucPkTotal;
u_char ucPkNumber;
u_char ucRegister;
u_char ucMsgLevel;
char sServiceId[ 10+1 ];
u_char ucFeeUserType;
char sFeeTermId[ 21+1 ];
u_char ucTpPid;
u_char ucTpUdhi;
u_char ucMsgFmt;
char sMsgSrc[ 6+1 ];
char sFeeType[ 2+1 ];
char sFeeCode[ 6+1 ];
char sValidTime[ 17+1 ];
char sAtTime[ 17+1 ];
char sSrcTermId[ 21+1 ];
u_char ucDestUsrTl;
char sDstTermId[ 99*21+1 ];
u_char ucMsgLen;
u_char usMsgContent[ 160 ];
u_char usReserve[ 8 ];
};
typedef struct recCSubmit RecCSubmit;
typedef struct recCSubmit RecCSbmtRqst;struct recCSubmitRep
{
int nSeqId; u_char usMsgId[ 8 ];
u_char ucResult;
};
typedef struct recCSubmitRep RecCSubmitRep;
typedef struct recCSubmitRep RecCSbmtRep;/* 5. Query */struct recCQuery
{
int nSeqId; char sTime[ 8+1 ];
u_char ucQueryType;
char sQueryCode[ 10+1 ];
u_char usReserve[ 8 ];
};
typedef struct recCQuery RecCQuery;
typedef struct recCQuery RecCQuryRqst;struct recCQueryRep
{
int nSeqId; char sTime[ 8+1 ];
u_char ucQueryType;
char sQueryCode[ 10+1 ]; int nMtTlMsg;
int nMtTlUsr;
int nMtScs;
int nMtWt;
int nMtFl;
int nMoScs;
int nMoWt;
int nMoFl;
};
typedef struct recCQueryRep RecCQueryRep;
typedef struct recCQueryRep RecCQuryRep;/* 6. Cancel */
struct recCCancel
{
int nSeqId; u_char usMsgId[ 8 ];
};
typedef struct recCCancel RecCCancel;
typedef struct recCCancel RecCCancRqst;struct recCCancelRep
{
int nSeqId; u_char ucSuccId;
};
typedef struct recCCancelRep RecCCancelRep;
typedef struct recCCancelRep RecCCancRep;/* 7. ActiveTest */
struct recCActiveTest
{
int nSeqId;
};
typedef struct recCActiveTest RecCActiveTest;
typedef struct recCActiveTest RecCActvRqst;struct recCActiveTestRep
{
int nSeqId; u_char ucSuccId;
};
typedef struct recCActiveTestRep RecCActiveTestRep;
typedef struct recCActiveTestRep RecCActvRep;
/* Macro of CMPP Command Id */
#define MacC_ConnectRqst 0x00000001
#define MacC_ConnectRep 0x80000001#define MacC_TerminateRqst 0x00000002
#define MacC_TerminateRep 0x80000002#define MacC_DeliverRqst 0x00000005
#define MacC_DeliverRep 0x80000005#define MacC_SubmitRqst 0x00000004
#define MacC_SubmitRep 0x80000004#define MacC_QueryRqst 0x00000006
#define MacC_QueryRep 0x80000006#define MacC_CancelRqst 0x00000007
#define MacC_CancelRep 0x80000007#define MacC_ActiveRqst 0x00000008
#define MacC_ActiveRep 0x80000008/* Extend Macro of CMPP Command Id */
#define MacC_ReceiptRqst 0x01000005
#define MacC_ErrCommand 0x01000009
typedef struct {
int nCmdId; // command id
union{
RecCConnect recConnect;
RecCConnectRep recConnectRep;
RecCTerminate recTerminate;
RecCTerminateRep recTerminateRep;
RecCDeliver recDeliver;
RecCDeliverRcpt recReceipt;
RecCDeliverRep recDeliverRep;
RecCSubmit recSubmit;
RecCSubmitRep recSubmitRep;
RecCQuery recQuery;
RecCQueryRep recQueryRep;
RecCCancel recCancel;
RecCCancelRep recCancelRep;
RecCActiveTest recActiveTest;
RecCActiveTestRep recActiveRep;
} pkg;
u_char ucaBuff[ MacMaxBufferLen ];
} RecCCMPPPacket;/*==========================================================*
* Part_2: Export Functions. *
*==========================================================*/#ifdef __cplusplus
extern "C" {
#endifint WINAPI nCMPP_Init( char * pcIniFile );
int WINAPI nCMPP_Connect( void );
int WINAPI nCMPP_Terminate( void );
int WINAPI nCMPP_ReplyTerminate( RecCTerminateRep * precPkg );
int WINAPI nCMPP_PrepSubmit( RecCSubmit * precSubmit,
u_char * usMsgId, u_char ucPkTotal, u_char ucPkNumber,
u_char ucRegisterDelivery, u_char ucMsgLevel,
char * sServiceId,
u_char ucFeeUserType, char * sFeeTerminalId,
u_char ucTpPid, u_char ucTpUdhi, u_char ucMsgFmt,
char * sMsgSrc, char * sFeeType, char * sFeeCode,
char * sAtTime,
char * sSrcTerminalId,
u_char * usReserve );
int WINAPI nCMPP_SendSubmit( int *pnSequence,
RecCSubmit * precSubmit,
char * sValidTime, char * sDestTerminalId,
int nMsgLen, u_char * usMsgContent );
int WINAPI nCMPP_SendPacket(RecCCMPPPacket *precPkg);
int WINAPI nCMPP_RecvPacket(RecCCMPPPacket *precPkg);
int WINAPI nCMPP_GetApiVersion( int * pnApiVersion,
char **psVerDesc);
int WINAPI nCMPP_GetHostVersion( int * pnHostVersion );
int WINAPI nCMPP_ParseDeliver( u_char *usPkgRecv,
RecCDeliver * precDeliver, RecCDelvRcpt * precReceipt );#ifdef __cplusplus
}
#endif
#endif
翻译成适用于delphi的object pascal语言,先者得100分,谢谢各位大虾!
#define _ASPIRE_CMPP_API_H_
struct recCConnect
{
int nSeqId; char sSrcAddr[ 6+1 ];
u_char usAuthSp[ 16 ];
u_char ucVersion;
int nTimeStamp;
};
typedef struct recCConnect RecCConnect;
typedef struct recCConnect RecCConnRqst;
struct recCConnectRep
{
int nSeqId; u_char ucStatus;
u_char usAuthIsmg[ 16 ];
u_char ucVersion;
};
typedef struct recCConnectRep RecCConnectRep;
typedef struct recCConnectRep RecCConnRep;
/* 2. Terminate */struct recCTerminate
{
int nSeqId;
};
typedef struct recCTerminate RecCTerminate;
typedef struct recCTerminate RecCTermRqst;struct recCTerminateRep
{
int nSeqId;
};
typedef struct recCTerminateRep RecCTerminateRep;
typedef struct recCTerminateRep RecCTermRep;/* 3. Deliver */struct recCDeliver
{
int nSeqId; u_char usMsgId[ 8 ];
char sDstAddr[ 21+1 ];
char sServiceId[ 10+1 ];
u_char ucTpPid;
u_char ucTpUdhi;
u_char ucMsgFmt;
char sSrcAddr[ 21+1 ];
u_char ucRegister;
u_char ucMsgLen;
u_char usMsgContent[ 256 ];
u_char usReserve[ 8 ];
};
typedef struct recCDeliver RecCDeliver;
typedef struct recCDeliver RecCDelvRqst;struct recCDeliverRcpt
{
int nSeqId;
u_char usMsgId[ 8 ];
char sStat[ 7+1 ];
char sSubmitTime[ 10+1 ];
char sDoneTime[ 10+1 ];
char sDstAddr[ 21+1 ];
int nSmscSeqId;
};
typedef struct recCDeliverRcpt RecCDeliverRcpt;
typedef struct recCDeliverRcpt RecCDelvRcpt;struct recCDeliverRep
{
int nSeqId;
u_char usMsgId[ 8 ];
u_char ucResult;
};
typedef struct recCDeliverRep RecCDeliverRep;
typedef struct recCDeliverRep RecCDelvRep;/* 4. Submit */struct recCSubmit
{
int nSeqId; u_char usMsgId[ 8 ];
u_char ucPkTotal;
u_char ucPkNumber;
u_char ucRegister;
u_char ucMsgLevel;
char sServiceId[ 10+1 ];
u_char ucFeeUserType;
char sFeeTermId[ 21+1 ];
u_char ucTpPid;
u_char ucTpUdhi;
u_char ucMsgFmt;
char sMsgSrc[ 6+1 ];
char sFeeType[ 2+1 ];
char sFeeCode[ 6+1 ];
char sValidTime[ 17+1 ];
char sAtTime[ 17+1 ];
char sSrcTermId[ 21+1 ];
u_char ucDestUsrTl;
char sDstTermId[ 99*21+1 ];
u_char ucMsgLen;
u_char usMsgContent[ 160 ];
u_char usReserve[ 8 ];
};
typedef struct recCSubmit RecCSubmit;
typedef struct recCSubmit RecCSbmtRqst;struct recCSubmitRep
{
int nSeqId; u_char usMsgId[ 8 ];
u_char ucResult;
};
typedef struct recCSubmitRep RecCSubmitRep;
typedef struct recCSubmitRep RecCSbmtRep;/* 5. Query */struct recCQuery
{
int nSeqId; char sTime[ 8+1 ];
u_char ucQueryType;
char sQueryCode[ 10+1 ];
u_char usReserve[ 8 ];
};
typedef struct recCQuery RecCQuery;
typedef struct recCQuery RecCQuryRqst;struct recCQueryRep
{
int nSeqId; char sTime[ 8+1 ];
u_char ucQueryType;
char sQueryCode[ 10+1 ]; int nMtTlMsg;
int nMtTlUsr;
int nMtScs;
int nMtWt;
int nMtFl;
int nMoScs;
int nMoWt;
int nMoFl;
};
typedef struct recCQueryRep RecCQueryRep;
typedef struct recCQueryRep RecCQuryRep;/* 6. Cancel */
struct recCCancel
{
int nSeqId; u_char usMsgId[ 8 ];
};
typedef struct recCCancel RecCCancel;
typedef struct recCCancel RecCCancRqst;struct recCCancelRep
{
int nSeqId; u_char ucSuccId;
};
typedef struct recCCancelRep RecCCancelRep;
typedef struct recCCancelRep RecCCancRep;/* 7. ActiveTest */
struct recCActiveTest
{
int nSeqId;
};
typedef struct recCActiveTest RecCActiveTest;
typedef struct recCActiveTest RecCActvRqst;struct recCActiveTestRep
{
int nSeqId; u_char ucSuccId;
};
typedef struct recCActiveTestRep RecCActiveTestRep;
typedef struct recCActiveTestRep RecCActvRep;
/* Macro of CMPP Command Id */
#define MacC_ConnectRqst 0x00000001
#define MacC_ConnectRep 0x80000001#define MacC_TerminateRqst 0x00000002
#define MacC_TerminateRep 0x80000002#define MacC_DeliverRqst 0x00000005
#define MacC_DeliverRep 0x80000005#define MacC_SubmitRqst 0x00000004
#define MacC_SubmitRep 0x80000004#define MacC_QueryRqst 0x00000006
#define MacC_QueryRep 0x80000006#define MacC_CancelRqst 0x00000007
#define MacC_CancelRep 0x80000007#define MacC_ActiveRqst 0x00000008
#define MacC_ActiveRep 0x80000008/* Extend Macro of CMPP Command Id */
#define MacC_ReceiptRqst 0x01000005
#define MacC_ErrCommand 0x01000009
typedef struct {
int nCmdId; // command id
union{
RecCConnect recConnect;
RecCConnectRep recConnectRep;
RecCTerminate recTerminate;
RecCTerminateRep recTerminateRep;
RecCDeliver recDeliver;
RecCDeliverRcpt recReceipt;
RecCDeliverRep recDeliverRep;
RecCSubmit recSubmit;
RecCSubmitRep recSubmitRep;
RecCQuery recQuery;
RecCQueryRep recQueryRep;
RecCCancel recCancel;
RecCCancelRep recCancelRep;
RecCActiveTest recActiveTest;
RecCActiveTestRep recActiveRep;
} pkg;
u_char ucaBuff[ MacMaxBufferLen ];
} RecCCMPPPacket;/*==========================================================*
* Part_2: Export Functions. *
*==========================================================*/#ifdef __cplusplus
extern "C" {
#endifint WINAPI nCMPP_Init( char * pcIniFile );
int WINAPI nCMPP_Connect( void );
int WINAPI nCMPP_Terminate( void );
int WINAPI nCMPP_ReplyTerminate( RecCTerminateRep * precPkg );
int WINAPI nCMPP_PrepSubmit( RecCSubmit * precSubmit,
u_char * usMsgId, u_char ucPkTotal, u_char ucPkNumber,
u_char ucRegisterDelivery, u_char ucMsgLevel,
char * sServiceId,
u_char ucFeeUserType, char * sFeeTerminalId,
u_char ucTpPid, u_char ucTpUdhi, u_char ucMsgFmt,
char * sMsgSrc, char * sFeeType, char * sFeeCode,
char * sAtTime,
char * sSrcTerminalId,
u_char * usReserve );
int WINAPI nCMPP_SendSubmit( int *pnSequence,
RecCSubmit * precSubmit,
char * sValidTime, char * sDestTerminalId,
int nMsgLen, u_char * usMsgContent );
int WINAPI nCMPP_SendPacket(RecCCMPPPacket *precPkg);
int WINAPI nCMPP_RecvPacket(RecCCMPPPacket *precPkg);
int WINAPI nCMPP_GetApiVersion( int * pnApiVersion,
char **psVerDesc);
int WINAPI nCMPP_GetHostVersion( int * pnHostVersion );
int WINAPI nCMPP_ParseDeliver( u_char *usPkgRecv,
RecCDeliver * precDeliver, RecCDelvRcpt * precReceipt );#ifdef __cplusplus
}
#endif
#endif
翻译成适用于delphi的object pascal语言,先者得100分,谢谢各位大虾!
解决方案 »
- 关于显示网页代码
- 请教:我通过Adoquery1.NextRecordset(aRow)的方法取得了存储过程返回的多个数据集,但我想针对其中的某一个数据集进行编辑,为什么找不
- 有什么vcl决策分析控件,不是delphi自代的
- 如何在调用动态链接库的时候识别对象的继承单元?
- 能否把一个Form嵌到Panel中去?
- 请问各位:在IW里如何实现网页之间的跳转?
- 熟悉fastreport的速进。分不够可加,在线等候!!!!!!!!
- 监视进程的问题?
- 大家快来帮帮我吧!!!SQl。。。。。。。。。高分!!
- 如何在delphi写程序旋转和反转一幅wmf或bmp的图像
- 如何对一个lookup字段进行查询、过滤等操作,在线等。
- 在Delphi6.0中怎样做多语言的应用!!!
recCConnect=record nSeqId:integer; sSrcAddr:array[0..6] of char;
usAuthSp:array[0..15] of char;
ucVersion:char;
nTimeStamp:integer;
end;RecCConnRqst=recCConnect;
recCConnectRep=record nSeqId:integer; ucStatus:char;
usAuthIsmg:array[0..15] of char;
ucVersion:char;
end;
RecCConnRep=recCConnectRep ;recCTerminate=record nSeqId:integer;
end;RecCTermRqst=recCTerminate ;recCTerminateRep=record nSeqId:integer;
end;
RecCTermRep=recCTerminateRep ; recCDeliver=record nSeqId :integer; usMsgId:array[0..7] of char;
sDstAddr:array[ 0..21] of char;
sServiceId:array[ 0..10] of char;
ucTpPid:char;
ucTpUdhi:char;
ucMsgFmt:char;
sSrcAddr:array[ 0..21] of char;
ucRegister:char;
ucMsgLen:char;
usMsgContent:array[ 0..255] of char;
usReserve:array[ 0..7] of char;
end;
RecCDelvRqst=recCDeliver ;
//太长了自己对照一下
typedef struct {
int nCmdId; // command id
union{
RecCConnect recConnect;
RecCConnectRep recConnectRep;
RecCTerminate recTerminate;
RecCTerminateRep recTerminateRep;
RecCDeliver recDeliver;
RecCDeliverRcpt recReceipt;
RecCDeliverRep recDeliverRep;
RecCSubmit recSubmit;
RecCSubmitRep recSubmitRep;
RecCQuery recQuery;
RecCQueryRep recQueryRep;
RecCCancel recCancel;
RecCCancelRep recCancelRep;
RecCActiveTest recActiveTest;
RecCActiveTestRep recActiveRep;
} pkg;
u_char ucaBuff[ MacMaxBufferLen ];
} RecCCMPPPacket;如何转换成delphi代码,谢谢!
pkgtype=record
case integer of
0:recConnect:RecCConnect;
1:recConnectRep: RecCConnectRep ;
2:recTerminate: RecCTerminate ;
3:recTerminateRep: RecCTerminateRep ;
4:recDeliver: RecCDeliver ;
5:recReceipt: RecCDeliverRcpt ;
6:recDeliverRep: RecCDeliverRep ;
7:recSubmit: RecCSubmit ;
8:recSubmitRep: RecCSubmitRep ;
9:recQuery: RecCQuery ;
10:recQueryRep: RecCQueryRep ;
11:recCancel: RecCCancel ;
12:recCancelRep: RecCCancelRep ;
13:recActiveTest: RecCActiveTest ;
14:recActiveRep: RecCActiveTestRep ;
end;
end;
RecCCMPPPacket=record
nCmdId:integer; // command id
pkg:pkgtype;
ucaBuff:array[0..MacMaxBufferLen-1] of char;end ;