Eneboo - Documentación para desarrolladores
|
00001 /* include/wsockcompat.h 00002 * Windows -> Berkeley Sockets compatibility things. 00003 */ 00004 00005 #if !defined __XML_WSOCKCOMPAT_H__ 00006 #define __XML_WSOCKCOMPAT_H__ 00007 00008 #ifdef _WIN32_WCE 00009 #include <winsock.h> 00010 #else 00011 #undef HAVE_ERRNO_H 00012 #include <winsock2.h> 00013 00014 /* the following is a workaround a problem for 'inline' keyword in said 00015 header when compiled with Borland C++ 6 */ 00016 #if defined(__BORLANDC__) && !defined(__cplusplus) 00017 #define inline __inline 00018 #define _inline __inline 00019 #endif 00020 00021 #include <ws2tcpip.h> 00022 00023 /* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */ 00024 #if defined(GetAddrInfo) 00025 #include <wspiapi.h> 00026 #define HAVE_GETADDRINFO 00027 #endif 00028 #endif 00029 00030 #ifdef __MINGW32__ 00031 /* Include <errno.h> here to ensure that it doesn't get included later 00032 * (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */ 00033 #include <errno.h> 00034 #undef EWOULDBLOCK 00035 #endif 00036 00037 #if !defined SOCKLEN_T 00038 #define SOCKLEN_T int 00039 #endif 00040 00041 #define EWOULDBLOCK WSAEWOULDBLOCK 00042 #define EINPROGRESS WSAEINPROGRESS 00043 #define EALREADY WSAEALREADY 00044 #define ENOTSOCK WSAENOTSOCK 00045 #define EDESTADDRREQ WSAEDESTADDRREQ 00046 #define EMSGSIZE WSAEMSGSIZE 00047 #define EPROTOTYPE WSAEPROTOTYPE 00048 #define ENOPROTOOPT WSAENOPROTOOPT 00049 #define EPROTONOSUPPORT WSAEPROTONOSUPPORT 00050 #define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT 00051 #define EOPNOTSUPP WSAEOPNOTSUPP 00052 #define EPFNOSUPPORT WSAEPFNOSUPPORT 00053 #define EAFNOSUPPORT WSAEAFNOSUPPORT 00054 #define EADDRINUSE WSAEADDRINUSE 00055 #define EADDRNOTAVAIL WSAEADDRNOTAVAIL 00056 #define ENETDOWN WSAENETDOWN 00057 #define ENETUNREACH WSAENETUNREACH 00058 #define ENETRESET WSAENETRESET 00059 #define ECONNABORTED WSAECONNABORTED 00060 #define ECONNRESET WSAECONNRESET 00061 #define ENOBUFS WSAENOBUFS 00062 #define EISCONN WSAEISCONN 00063 #define ENOTCONN WSAENOTCONN 00064 #define ESHUTDOWN WSAESHUTDOWN 00065 #define ETOOMANYREFS WSAETOOMANYREFS 00066 #define ETIMEDOUT WSAETIMEDOUT 00067 #define ECONNREFUSED WSAECONNREFUSED 00068 #define ELOOP WSAELOOP 00069 #define EHOSTDOWN WSAEHOSTDOWN 00070 #define EHOSTUNREACH WSAEHOSTUNREACH 00071 #define EPROCLIM WSAEPROCLIM 00072 #define EUSERS WSAEUSERS 00073 #define EDQUOT WSAEDQUOT 00074 #define ESTALE WSAESTALE 00075 #define EREMOTE WSAEREMOTE 00076 /* These cause conflicts with the codes from errno.h. Since they are 00077 not used in the relevant code (nanoftp, nanohttp), we can leave 00078 them disabled. 00079 #define ENAMETOOLONG WSAENAMETOOLONG 00080 #define ENOTEMPTY WSAENOTEMPTY 00081 */ 00082 00083 #endif /* __XML_WSOCKCOMPAT_H__ */