data_def.h 2.8 KB

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