win32.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /**
  2. @file win32.h
  3. @brief ENet Win32 header
  4. */
  5. #ifndef __ENET_WIN32_H__
  6. #define __ENET_WIN32_H__
  7. #ifdef _MSC_VER
  8. #ifdef ENET_BUILDING_LIB
  9. #pragma warning (disable: 4267) // size_t to int conversion
  10. #pragma warning (disable: 4244) // 64bit to 32bit int
  11. #pragma warning (disable: 4018) // signed/unsigned mismatch
  12. #pragma warning (disable: 4146) // unary minus operator applied to unsigned type
  13. #endif
  14. #endif
  15. #include <stdlib.h>
  16. #include <winsock2.h>
  17. typedef SOCKET ENetSocket;
  18. #define ENET_SOCKET_NULL INVALID_SOCKET
  19. #define ENET_HOST_TO_NET_16(value) (htons (value))
  20. #define ENET_HOST_TO_NET_32(value) (htonl (value))
  21. #define ENET_NET_TO_HOST_16(value) (ntohs (value))
  22. #define ENET_NET_TO_HOST_32(value) (ntohl (value))
  23. typedef struct
  24. {
  25. size_t dataLength;
  26. void * data;
  27. } ENetBuffer;
  28. #define ENET_CALLBACK __cdecl
  29. #ifdef ENET_DLL
  30. #ifdef ENET_BUILDING_LIB
  31. #define ENET_API __declspec( dllexport )
  32. #else
  33. #define ENET_API __declspec( dllimport )
  34. #endif /* ENET_BUILDING_LIB */
  35. #else /* !ENET_DLL */
  36. #define ENET_API extern
  37. #endif /* ENET_DLL */
  38. typedef fd_set ENetSocketSet;
  39. #define ENET_SOCKETSET_EMPTY(sockset) FD_ZERO (& (sockset))
  40. #define ENET_SOCKETSET_ADD(sockset, socket) FD_SET (socket, & (sockset))
  41. #define ENET_SOCKETSET_REMOVE(sockset, socket) FD_CLR (socket, & (sockset))
  42. #define ENET_SOCKETSET_CHECK(sockset, socket) FD_ISSET (socket, & (sockset))
  43. #endif /* __ENET_WIN32_H__ */