File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / include / wsockcompat.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:37:58 2012 UTC (12 years, 4 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_7_8, HEAD
libxml2

    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>