| /* include/wsockcompat.h | |
| * Windows -> Berkeley Sockets compatibility things. | |
| */ | |
| #if !defined __XML_WSOCKCOMPAT_H__ | |
| #define __XML_WSOCKCOMPAT_H__ | |
| #ifdef _WIN32_WCE | |
| #include <winsock.h> | |
| #else | |
| #undef HAVE_ERRNO_H | |
| #include <winsock2.h> | |
| /* the following is a workaround a problem for 'inline' keyword in said | |
| header when compiled with Borland C++ 6 */ | |
| #if defined(__BORLANDC__) && !defined(__cplusplus) | |
| #define inline __inline | |
| #define _inline __inline | |
| #endif | |
| #include <ws2tcpip.h> | |
| /* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */ | |
| #if defined(GetAddrInfo) | |
| #include <wspiapi.h> | |
| #define HAVE_GETADDRINFO | |
| #endif | |
| #endif | |
| #if defined( __MINGW32__ ) || defined( _MSC_VER ) | |
| /* Include <errno.h> here to ensure that it doesn't get included later | |
| * (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */ | |
| #include <errno.h> | |
| #undef EWOULDBLOCK | |
| #endif | |
| #if !defined SOCKLEN_T | |
| #define SOCKLEN_T int | |
| #endif | |
| #define EWOULDBLOCK WSAEWOULDBLOCK | |
| #define ESHUTDOWN WSAESHUTDOWN | |
| #if (!defined(_MSC_VER) || (_MSC_VER < 1600)) | |
| #define EINPROGRESS WSAEINPROGRESS | |
| #define EALREADY WSAEALREADY | |
| #define ENOTSOCK WSAENOTSOCK | |
| #define EDESTADDRREQ WSAEDESTADDRREQ | |
| #define EMSGSIZE WSAEMSGSIZE | |
| #define EPROTOTYPE WSAEPROTOTYPE | |
| #define ENOPROTOOPT WSAENOPROTOOPT | |
| #define EPROTONOSUPPORT WSAEPROTONOSUPPORT | |
| #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT | |
| #define EOPNOTSUPP WSAEOPNOTSUPP | |
| #define EPFNOSUPPORT WSAEPFNOSUPPORT | |
| #define EAFNOSUPPORT WSAEAFNOSUPPORT | |
| #define EADDRINUSE WSAEADDRINUSE | |
| #define EADDRNOTAVAIL WSAEADDRNOTAVAIL | |
| #define ENETDOWN WSAENETDOWN | |
| #define ENETUNREACH WSAENETUNREACH | |
| #define ENETRESET WSAENETRESET | |
| #define ECONNABORTED WSAECONNABORTED | |
| #define ECONNRESET WSAECONNRESET | |
| #define ENOBUFS WSAENOBUFS | |
| #define EISCONN WSAEISCONN | |
| #define ENOTCONN WSAENOTCONN | |
| #define ETOOMANYREFS WSAETOOMANYREFS | |
| #define ETIMEDOUT WSAETIMEDOUT | |
| #define ECONNREFUSED WSAECONNREFUSED | |
| #define ELOOP WSAELOOP | |
| #define EHOSTDOWN WSAEHOSTDOWN | |
| #define EHOSTUNREACH WSAEHOSTUNREACH | |
| #define EPROCLIM WSAEPROCLIM | |
| #define EUSERS WSAEUSERS | |
| #define EDQUOT WSAEDQUOT | |
| #define ESTALE WSAESTALE | |
| #define EREMOTE WSAEREMOTE | |
| /* These cause conflicts with the codes from errno.h. Since they are | |
| not used in the relevant code (nanoftp, nanohttp), we can leave | |
| them disabled. | |
| #define ENAMETOOLONG WSAENAMETOOLONG | |
| #define ENOTEMPTY WSAENOTEMPTY | |
| */ | |
| #endif /* _MSC_VER */ | |
| #endif /* __XML_WSOCKCOMPAT_H__ */ |