OLD | NEW |
1 /* include/wsockcompat.h | 1 /* include/wsockcompat.h |
2 * Windows -> Berkeley Sockets compatibility things. | 2 * Windows -> Berkeley Sockets compatibility things. |
3 */ | 3 */ |
4 | 4 |
5 #if !defined __XML_WSOCKCOMPAT_H__ | 5 #if !defined __XML_WSOCKCOMPAT_H__ |
6 #define __XML_WSOCKCOMPAT_H__ | 6 #define __XML_WSOCKCOMPAT_H__ |
7 | 7 |
8 #ifdef _WIN32_WCE | 8 #ifdef _WIN32_WCE |
9 #include <winsock.h> | 9 #include <winsock.h> |
10 #else | 10 #else |
11 #undef HAVE_ERRNO_H | 11 #undef HAVE_ERRNO_H |
12 #include <winsock2.h> | 12 #include <winsock2.h> |
13 | 13 |
14 /* the following is a workaround a problem for 'inline' keyword in said | 14 /* the following is a workaround a problem for 'inline' keyword in said |
15 header when compiled with Borland C++ 6 */ | 15 header when compiled with Borland C++ 6 */ |
16 #if defined(__BORLANDC__) && !defined(__cplusplus) | 16 #if defined(__BORLANDC__) && !defined(__cplusplus) |
17 #define inline __inline | 17 #define inline __inline |
18 #define _inline __inline | 18 #define _inline __inline |
19 #endif | 19 #endif |
20 | 20 |
21 #include <ws2tcpip.h> | 21 #include <ws2tcpip.h> |
22 | 22 |
23 /* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */ | 23 /* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */ |
24 #if defined(GetAddrInfo) | 24 #if defined(GetAddrInfo) |
25 #include <wspiapi.h> | 25 #include <wspiapi.h> |
26 #define HAVE_GETADDRINFO | 26 #define HAVE_GETADDRINFO |
27 #endif | 27 #endif |
28 #endif | 28 #endif |
29 | 29 |
30 #ifdef __MINGW32__ | 30 #if defined( __MINGW32__ ) || defined( _MSC_VER ) |
31 /* Include <errno.h> here to ensure that it doesn't get included later | 31 /* Include <errno.h> here to ensure that it doesn't get included later |
32 * (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */ | 32 * (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */ |
33 #include <errno.h> | 33 #include <errno.h> |
34 #undef EWOULDBLOCK | 34 #undef EWOULDBLOCK |
35 #endif | 35 #endif |
36 | 36 |
37 #if !defined SOCKLEN_T | 37 #if !defined SOCKLEN_T |
38 #define SOCKLEN_T int | 38 #define SOCKLEN_T int |
39 #endif | 39 #endif |
40 | 40 |
41 #define EWOULDBLOCK WSAEWOULDBLOCK | 41 #define EWOULDBLOCK WSAEWOULDBLOCK |
| 42 #define ESHUTDOWN WSAESHUTDOWN |
| 43 |
| 44 #if (!defined(_MSC_VER) || (_MSC_VER < 1600)) |
42 #define EINPROGRESS WSAEINPROGRESS | 45 #define EINPROGRESS WSAEINPROGRESS |
43 #define EALREADY WSAEALREADY | 46 #define EALREADY WSAEALREADY |
44 #define ENOTSOCK WSAENOTSOCK | 47 #define ENOTSOCK WSAENOTSOCK |
45 #define EDESTADDRREQ WSAEDESTADDRREQ | 48 #define EDESTADDRREQ WSAEDESTADDRREQ |
46 #define EMSGSIZE WSAEMSGSIZE | 49 #define EMSGSIZE WSAEMSGSIZE |
47 #define EPROTOTYPE WSAEPROTOTYPE | 50 #define EPROTOTYPE WSAEPROTOTYPE |
48 #define ENOPROTOOPT WSAENOPROTOOPT | 51 #define ENOPROTOOPT WSAENOPROTOOPT |
49 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT | 52 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT |
50 #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT | 53 #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT |
51 #define EOPNOTSUPP WSAEOPNOTSUPP | 54 #define EOPNOTSUPP WSAEOPNOTSUPP |
52 #define EPFNOSUPPORT WSAEPFNOSUPPORT | 55 #define EPFNOSUPPORT WSAEPFNOSUPPORT |
53 #define EAFNOSUPPORT WSAEAFNOSUPPORT | 56 #define EAFNOSUPPORT WSAEAFNOSUPPORT |
54 #define EADDRINUSE WSAEADDRINUSE | 57 #define EADDRINUSE WSAEADDRINUSE |
55 #define EADDRNOTAVAIL WSAEADDRNOTAVAIL | 58 #define EADDRNOTAVAIL WSAEADDRNOTAVAIL |
56 #define ENETDOWN WSAENETDOWN | 59 #define ENETDOWN WSAENETDOWN |
57 #define ENETUNREACH WSAENETUNREACH | 60 #define ENETUNREACH WSAENETUNREACH |
58 #define ENETRESET WSAENETRESET | 61 #define ENETRESET WSAENETRESET |
59 #define ECONNABORTED WSAECONNABORTED | 62 #define ECONNABORTED WSAECONNABORTED |
60 #define ECONNRESET WSAECONNRESET | 63 #define ECONNRESET WSAECONNRESET |
61 #define ENOBUFS WSAENOBUFS | 64 #define ENOBUFS WSAENOBUFS |
62 #define EISCONN WSAEISCONN | 65 #define EISCONN WSAEISCONN |
63 #define ENOTCONN WSAENOTCONN | 66 #define ENOTCONN WSAENOTCONN |
64 #define ESHUTDOWN WSAESHUTDOWN | |
65 #define ETOOMANYREFS WSAETOOMANYREFS | 67 #define ETOOMANYREFS WSAETOOMANYREFS |
66 #define ETIMEDOUT WSAETIMEDOUT | 68 #define ETIMEDOUT WSAETIMEDOUT |
67 #define ECONNREFUSED WSAECONNREFUSED | 69 #define ECONNREFUSED WSAECONNREFUSED |
68 #define ELOOP WSAELOOP | 70 #define ELOOP WSAELOOP |
69 #define EHOSTDOWN WSAEHOSTDOWN | 71 #define EHOSTDOWN WSAEHOSTDOWN |
70 #define EHOSTUNREACH WSAEHOSTUNREACH | 72 #define EHOSTUNREACH WSAEHOSTUNREACH |
71 #define EPROCLIM WSAEPROCLIM | 73 #define EPROCLIM WSAEPROCLIM |
72 #define EUSERS WSAEUSERS | 74 #define EUSERS WSAEUSERS |
73 #define EDQUOT WSAEDQUOT | 75 #define EDQUOT WSAEDQUOT |
74 #define ESTALE WSAESTALE | 76 #define ESTALE WSAESTALE |
75 #define EREMOTE WSAEREMOTE | 77 #define EREMOTE WSAEREMOTE |
76 /* These cause conflicts with the codes from errno.h. Since they are | 78 /* These cause conflicts with the codes from errno.h. Since they are |
77 not used in the relevant code (nanoftp, nanohttp), we can leave | 79 not used in the relevant code (nanoftp, nanohttp), we can leave |
78 them disabled. | 80 them disabled. |
79 #define ENAMETOOLONG WSAENAMETOOLONG | 81 #define ENAMETOOLONG WSAENAMETOOLONG |
80 #define ENOTEMPTY WSAENOTEMPTY | 82 #define ENOTEMPTY WSAENOTEMPTY |
81 */ | 83 */ |
| 84 #endif /* _MSC_VER */ |
82 | 85 |
83 #endif /* __XML_WSOCKCOMPAT_H__ */ | 86 #endif /* __XML_WSOCKCOMPAT_H__ */ |
OLD | NEW |