diff options
author | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2008-06-13 00:42:22 +0000 |
---|---|---|
committer | Amaury Forgeot d'Arc <amauryfa@gmail.com> | 2008-06-13 00:42:22 +0000 |
commit | e000b21702037201b0ed91b4593ec81da6e7b1a6 (patch) | |
tree | 82cb9fd11e31e5d435ba590b521540414dcab336 /Modules/socketmodule.h | |
parent | e3d5374b2800a568d45f03c88a786a875db54bed (diff) | |
download | cpython-e000b21702037201b0ed91b4593ec81da6e7b1a6.tar.gz |
Restore support for Microsoft VC6 compiler.
Some functions in the msvcrt module are skipped,
and socket.ioctl is enabled only when using a more recent Platform SDK.
(and yes, there are still companies that use a 10-years old compiler)
Diffstat (limited to 'Modules/socketmodule.h')
-rw-r--r-- | Modules/socketmodule.h | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h index 285c1fe6e5..44483cb35b 100644 --- a/Modules/socketmodule.h +++ b/Modules/socketmodule.h @@ -13,19 +13,23 @@ # endif #else /* MS_WINDOWS */ -#if _MSC_VER >= 1300 # include <winsock2.h> # include <ws2tcpip.h> -# include <MSTcpIP.h> /* for SIO_RCVALL */ -# define HAVE_ADDRINFO -# define HAVE_SOCKADDR_STORAGE -# define HAVE_GETADDRINFO -# define HAVE_GETNAMEINFO -# define ENABLE_IPV6 -#else -# include <winsock.h> -#endif -#endif +/* VC6 is shipped with old platform headers, and does not have MSTcpIP.h + * Separate SDKs have all the functions we want, but older ones don't have + * any version information. I use IPPROTO_IPV6 to detect a decent SDK. + */ +# ifdef IPPROTO_IPV6 +# include <MSTcpIP.h> /* for SIO_RCVALL */ +# define HAVE_ADDRINFO +# define HAVE_SOCKADDR_STORAGE +# define HAVE_GETADDRINFO +# define HAVE_GETNAMEINFO +# define ENABLE_IPV6 +# else +typedef int socklen_t; +# endif /* IPPROTO_IPV6 */ +#endif /* MS_WINDOWS */ #ifdef HAVE_SYS_UN_H # include <sys/un.h> |