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