data_def.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //data_def.h
  2. ///////////////////////////////////////////////////////////////////////////////
  3. ///////////////////////////////////////////////////////////////////////////////
  4. #ifndef _DATA_DEF_H_
  5. #define _DATA_DEF_H_
  6. ///////////////////////////////////////////////////////////////////////////////
  7. #if defined(__cplusplus)
  8. extern "C" {
  9. #endif
  10. ///////////////////////////////////////////////////////////////////////////////
  11. #ifdef VC60
  12. #include <WinSock.h>
  13. #endif
  14. #include <process.h>
  15. ///////////////////////////////////////////////////////////////////////////////
  16. #ifndef IMPORTS
  17. #define DLLENTRY __declspec(dllexport)
  18. #else
  19. #define DLLENTRY __declspec(dllimport)
  20. #endif
  21. ///////////////////////////////////////////////////////////////////////////////
  22. typedef int TransportBool;
  23. typedef int TransportStatus;
  24. typedef char TransportData;
  25. typedef unsigned long TransportLength;
  26. typedef int TransportError;
  27. typedef unsigned long ULong;
  28. typedef unsigned short UShort;
  29. typedef unsigned long TransportHandle;
  30. ///////////////////////////////////////////////////////////////////////////////
  31. typedef enum _tagTransportBool
  32. {
  33. TRANSPORT_FALSE = 0,
  34. TRANSPORT_TRUE = 1
  35. } ETransportBool;
  36. typedef enum _tagTransportStatus
  37. {
  38. TRANSPORT_UNKNOWN = -2,
  39. TRANSPORT_ERROR = -1,
  40. TRANSPORT_OK = 0,
  41. } ETransportStatus;
  42. typedef enum _tagTransportType
  43. {
  44. Transport_Undefined,
  45. Transport_Client,
  46. Transport_Server
  47. } ETransportType;
  48. typedef enum _tagTransportEvents
  49. {
  50. Transport_ReadEv,
  51. Transport_WriteEv,
  52. Transport_AcceptEv,
  53. Transport_ConnectEv,
  54. Transport_CloseEv
  55. } ETransportEvent;
  56. typedef struct _tagTransportAddress
  57. {
  58. ULong ip; /* 4 byte IP address, network format */
  59. UShort port; /* 2 byte port number, host format */
  60. } TransportAddress;
  61. ///////////////////////////////////////////////////////////////////////////////
  62. ////////////////////////define callback functions//////////////////////////////
  63. /*net event callback*/
  64. typedef void (*LPTRANSPORT_EVENT)(IN SOCKET hSocket, IN ETransportEvent eEvent,
  65. IN void *pDataBuf, IN unsigned long nDataLen,
  66. IN int nError, IN void *pContext);
  67. /*obtain packet size from packet header callback*/
  68. typedef void (*LPTRANSPORT_GETDATABUFLEN)(IN SOCKET hSocket, IN void *pHeaderBuf,
  69. OUT unsigned long *nDataLen);
  70. ///////////////////////////////////////////////////////////////////////////////
  71. ///////////////////////////////////////////////////////////////////////////////
  72. TransportStatus Transport_Init();
  73. TransportStatus Transport_UnInit();
  74. ///////////////////////////////////////////////////////////////////////////////
  75. ///////////////////////////////////////////////////////////////////////////////
  76. ///////////////////////////////////////////////////////////////////////////////
  77. #if defined(__cplusplus)
  78. }
  79. #endif
  80. ///////////////////////////////////////////////////////////////////////////////
  81. #endif /*_DATA_DEF_H_*/