wsockcompat.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* include/wsockcompat.h
  2. * Windows -> Berkeley Sockets compatibility things.
  3. */
  4. #if !defined __XML_WSOCKCOMPAT_H__
  5. #define __XML_WSOCKCOMPAT_H__
  6. #include <errno.h>
  7. #include <winsock2.h>
  8. /* Fix for old MinGW. */
  9. #ifndef _WINSOCKAPI_
  10. #define _WINSOCKAPI_
  11. #endif
  12. /* the following is a workaround a problem for 'inline' keyword in said
  13. header when compiled with Borland C++ 6 */
  14. #if defined(__BORLANDC__) && !defined(__cplusplus)
  15. #define inline __inline
  16. #define _inline __inline
  17. #endif
  18. #include <ws2tcpip.h>
  19. /* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */
  20. #if defined(GetAddrInfo)
  21. #include <wspiapi.h>
  22. #ifndef SUPPORT_IP6
  23. #define SUPPORT_IP6
  24. #endif
  25. #endif
  26. #ifndef XML_SOCKLEN_T
  27. #define XML_SOCKLEN_T int
  28. #endif
  29. #ifndef ECONNRESET
  30. #define ECONNRESET WSAECONNRESET
  31. #endif
  32. #ifndef EINPROGRESS
  33. #define EINPROGRESS WSAEINPROGRESS
  34. #endif
  35. #ifndef EINTR
  36. #define EINTR WSAEINTR
  37. #endif
  38. #ifndef ESHUTDOWN
  39. #define ESHUTDOWN WSAESHUTDOWN
  40. #endif
  41. #ifndef EWOULDBLOCK
  42. #define EWOULDBLOCK WSAEWOULDBLOCK
  43. #endif
  44. #endif /* __XML_WSOCKCOMPAT_H__ */