data_def.h 2.8 KB

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