win32.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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: 4996) // 'strncpy' was declared deprecated
  10. #pragma warning (disable: 4267) // size_t to int conversion
  11. #pragma warning (disable: 4244) // 64bit to 32bit int
  12. #pragma warning (disable: 4018) // signed/unsigned mismatch
  13. #pragma warning (disable: 4146) // unary minus operator applied to unsigned type
  14. #endif
  15. #endif
  16. #include <stdlib.h>
  17. #include <winsock2.h>
  18. typedef SOCKET ENetSocket;
  19. #define ENET_SOCKET_NULL INVALID_SOCKET
  20. #define ENET_HOST_TO_NET_16(value) (htons (value))
  21. #define ENET_HOST_TO_NET_32(value) (htonl (value))
  22. #define ENET_NET_TO_HOST_16(value) (ntohs (value))
  23. #define ENET_NET_TO_HOST_32(value) (ntohl (value))
  24. typedef struct
  25. {
  26. size_t dataLength;
  27. void * data;
  28. } ENetBuffer;
  29. #define ENET_CALLBACK __cdecl
  30. #ifdef ENET_DLL
  31. #ifdef ENET_BUILDING_LIB
  32. #define ENET_API __declspec( dllexport )
  33. #else
  34. #define ENET_API __declspec( dllimport )
  35. #endif /* ENET_BUILDING_LIB */
  36. #else /* !ENET_DLL */
  37. #define ENET_API extern
  38. #endif /* ENET_DLL */
  39. typedef fd_set ENetSocketSet;
  40. #define ENET_SOCKETSET_EMPTY(sockset) FD_ZERO (& (sockset))
  41. #define ENET_SOCKETSET_ADD(sockset, socket) FD_SET (socket, & (sockset))
  42. #define ENET_SOCKETSET_REMOVE(sockset, socket) FD_CLEAR (socket, & (sockset))
  43. #define ENET_SOCKETSET_CHECK(sockset, socket) FD_ISSET (socket, & (sockset))
  44. #endif /* __ENET_WIN32_H__ */