mirror of https://github.com/axmolengine/axmol.git
84 lines
2.7 KiB
C
84 lines
2.7 KiB
C
|
/* include/wsockcompat.h
|
||
|
* Windows -> Berkeley Sockets compatibility things.
|
||
|
*/
|
||
|
|
||
|
#if !defined __XML_WSOCKCOMPAT_H__
|
||
|
#define __XML_WSOCKCOMPAT_H__
|
||
|
|
||
|
#ifdef _WIN32_WCE
|
||
|
#include <winsock.h>
|
||
|
#else
|
||
|
#undef HAVE_ERRNO_H
|
||
|
#include <winsock2.h>
|
||
|
|
||
|
/* the following is a workaround a problem for 'inline' keyword in said
|
||
|
header when compiled with Borland C++ 6 */
|
||
|
#if defined(__BORLANDC__) && !defined(__cplusplus)
|
||
|
#define inline __inline
|
||
|
#define _inline __inline
|
||
|
#endif
|
||
|
|
||
|
#include <ws2tcpip.h>
|
||
|
|
||
|
/* Check if ws2tcpip.h is a recent version which provides getaddrinfo() */
|
||
|
#if defined(GetAddrInfo)
|
||
|
#include <wspiapi.h>
|
||
|
#define HAVE_GETADDRINFO
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#ifdef __MINGW32__
|
||
|
/* Include <errno.h> here to ensure that it doesn't get included later
|
||
|
* (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */
|
||
|
#include <errno.h>
|
||
|
#undef EWOULDBLOCK
|
||
|
#endif
|
||
|
|
||
|
#if !defined SOCKLEN_T
|
||
|
#define SOCKLEN_T int
|
||
|
#endif
|
||
|
|
||
|
#define EWOULDBLOCK WSAEWOULDBLOCK
|
||
|
#define EINPROGRESS WSAEINPROGRESS
|
||
|
#define EALREADY WSAEALREADY
|
||
|
#define ENOTSOCK WSAENOTSOCK
|
||
|
#define EDESTADDRREQ WSAEDESTADDRREQ
|
||
|
#define EMSGSIZE WSAEMSGSIZE
|
||
|
#define EPROTOTYPE WSAEPROTOTYPE
|
||
|
#define ENOPROTOOPT WSAENOPROTOOPT
|
||
|
#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
|
||
|
#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
|
||
|
#define EOPNOTSUPP WSAEOPNOTSUPP
|
||
|
#define EPFNOSUPPORT WSAEPFNOSUPPORT
|
||
|
#define EAFNOSUPPORT WSAEAFNOSUPPORT
|
||
|
#define EADDRINUSE WSAEADDRINUSE
|
||
|
#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
|
||
|
#define ENETDOWN WSAENETDOWN
|
||
|
#define ENETUNREACH WSAENETUNREACH
|
||
|
#define ENETRESET WSAENETRESET
|
||
|
#define ECONNABORTED WSAECONNABORTED
|
||
|
#define ECONNRESET WSAECONNRESET
|
||
|
#define ENOBUFS WSAENOBUFS
|
||
|
#define EISCONN WSAEISCONN
|
||
|
#define ENOTCONN WSAENOTCONN
|
||
|
#define ESHUTDOWN WSAESHUTDOWN
|
||
|
#define ETOOMANYREFS WSAETOOMANYREFS
|
||
|
#define ETIMEDOUT WSAETIMEDOUT
|
||
|
#define ECONNREFUSED WSAECONNREFUSED
|
||
|
#define ELOOP WSAELOOP
|
||
|
#define EHOSTDOWN WSAEHOSTDOWN
|
||
|
#define EHOSTUNREACH WSAEHOSTUNREACH
|
||
|
#define EPROCLIM WSAEPROCLIM
|
||
|
#define EUSERS WSAEUSERS
|
||
|
#define EDQUOT WSAEDQUOT
|
||
|
#define ESTALE WSAESTALE
|
||
|
#define EREMOTE WSAEREMOTE
|
||
|
/* These cause conflicts with the codes from errno.h. Since they are
|
||
|
not used in the relevant code (nanoftp, nanohttp), we can leave
|
||
|
them disabled.
|
||
|
#define ENAMETOOLONG WSAENAMETOOLONG
|
||
|
#define ENOTEMPTY WSAENOTEMPTY
|
||
|
*/
|
||
|
|
||
|
#endif /* __XML_WSOCKCOMPAT_H__ */
|