//data_def.h /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #ifndef _DATA_DEF_H_ #define _DATA_DEF_H_ /////////////////////////////////////////////////////////////////////////////// #if defined(__cplusplus) extern "C" { #endif //#if /////////////////////////////////////////////////////////////////////////////// typedef int TransportBool; typedef int TransportStatus; typedef char TransportData; typedef unsigned long TransportLength; typedef int TransportError; typedef unsigned long ULong; typedef unsigned short UShort; typedef unsigned long TransportHandle; /////////////////////////////////////////////////////////////////////////////// typedef enum _tagTransportBool { TRANSPORT_FALSE = 0, TRANSPORT_TRUE = 1 } ETransportBool; //传输状态 typedef enum _tagTransportStatus { TRANSPORT_UNKNOWN = -2, TRANSPORT_ERROR = -1, TRANSPORT_OK = 0, } ETransportStatus; //TPC类型 typedef enum _tagTransportType { Transport_Undefined, Transport_Client, Transport_Server } ETransportType; //传输事件 typedef enum _tagTransportEvents { Transport_ReadEv, Transport_WriteEv, Transport_AcceptEv, Transport_ConnectEv, Transport_CloseEv } ETransportEvent; //传输地址 typedef struct _tagTransportAddress { ULong ip; /* 4 byte IP address, network format */ UShort port; /* 2 byte port number, host format */ } TransportAddress; /*协议头的数据结构*/ typedef struct tagMessageHeader { BYTE byVersion; /*版本号说明版本的信息*/ BYTE byHeaderFlag; /*标识符用来检测消息的正确性*/ WORD wHeaderFlag; /*标识符用来检测消息的正确性*/ WORD wMessageId; /*消息ID指明该消息的用途*/ WORD wMessageSubId; /*子消息ID作为第2层消息的用途*/ DWORD dwDataLen; /*数据长度是指除了协议头之外的消息长度*/ WORD wCheckSum; /*校验和用来校验消息是否正确,暂时不用(填0)*/ WORD wReserve; /*保留字暂时不用(填0)*/ } TMessageHeader; /*协议头的标识符*/ #define MESSAGE_HEADER_FLAG (0xCDAB) /*协议头的长度*/ #define MESSAGE_HEADER_LEN ( (sizeof(TMessageHeader)) ) /*/////////////////////////////////////////////////////////////////////////*/ #define SERVER_PORT (5678) /////////////////////////////////////////////////////////////////////////////// ////////////////////////define callback functions////////////////////////////// /*net event callback*/ typedef void (*LPTRANSPORT_EVENT)( IN SOCKET hSocket, IN ETransportEvent eEvent, IN void *pDataBuf, IN unsigned long nDataLen, IN int nError, IN void *pContext); /*obtain packet size from packet header callback*/ typedef void (*LPTRANSPORT_GETDATABUFLEN)( IN SOCKET hSocket, IN void *pHeaderBuf, OUT unsigned long *nDataLen); /////////////////////////////////////////////////////////////////////////////// #if defined(__cplusplus) } #endif /////////////////////////////////////////////////////////////////////////////// #endif /*_DATA_DEF_H_*/