Annotation of embedaddon/libxml2/include/wsockcompat.h, revision 1.1.1.1
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:
30: #ifdef __MINGW32__
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
42: #define EINPROGRESS WSAEINPROGRESS
43: #define EALREADY WSAEALREADY
44: #define ENOTSOCK WSAENOTSOCK
45: #define EDESTADDRREQ WSAEDESTADDRREQ
46: #define EMSGSIZE WSAEMSGSIZE
47: #define EPROTOTYPE WSAEPROTOTYPE
48: #define ENOPROTOOPT WSAENOPROTOOPT
49: #define EPROTONOSUPPORT WSAEPROTONOSUPPORT
50: #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
51: #define EOPNOTSUPP WSAEOPNOTSUPP
52: #define EPFNOSUPPORT WSAEPFNOSUPPORT
53: #define EAFNOSUPPORT WSAEAFNOSUPPORT
54: #define EADDRINUSE WSAEADDRINUSE
55: #define EADDRNOTAVAIL WSAEADDRNOTAVAIL
56: #define ENETDOWN WSAENETDOWN
57: #define ENETUNREACH WSAENETUNREACH
58: #define ENETRESET WSAENETRESET
59: #define ECONNABORTED WSAECONNABORTED
60: #define ECONNRESET WSAECONNRESET
61: #define ENOBUFS WSAENOBUFS
62: #define EISCONN WSAEISCONN
63: #define ENOTCONN WSAENOTCONN
64: #define ESHUTDOWN WSAESHUTDOWN
65: #define ETOOMANYREFS WSAETOOMANYREFS
66: #define ETIMEDOUT WSAETIMEDOUT
67: #define ECONNREFUSED WSAECONNREFUSED
68: #define ELOOP WSAELOOP
69: #define EHOSTDOWN WSAEHOSTDOWN
70: #define EHOSTUNREACH WSAEHOSTUNREACH
71: #define EPROCLIM WSAEPROCLIM
72: #define EUSERS WSAEUSERS
73: #define EDQUOT WSAEDQUOT
74: #define ESTALE WSAESTALE
75: #define EREMOTE WSAEREMOTE
76: /* These cause conflicts with the codes from errno.h. Since they are
77: not used in the relevant code (nanoftp, nanohttp), we can leave
78: them disabled.
79: #define ENAMETOOLONG WSAENAMETOOLONG
80: #define ENOTEMPTY WSAENOTEMPTY
81: */
82:
83: #endif /* __XML_WSOCKCOMPAT_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>