Port getaddrinfo to MSVC++.

This commit is contained in:
Martin v. Löwis 2001-07-19 17:37:46 +00:00
parent 1bdd0f2559
commit d783041a14
3 changed files with 15 additions and 15 deletions

View File

@ -105,7 +105,7 @@ struct addrinfo {
*/ */
#define _SS_MAXSIZE 128 #define _SS_MAXSIZE 128
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG
#define _SS_ALIGNSIZE (sizeof(long long)) #define _SS_ALIGNSIZE (sizeof(LONG_LONG))
#else #else
#define _SS_ALIGNSIZE (sizeof(double)) #define _SS_ALIGNSIZE (sizeof(double))
#endif #endif
@ -122,7 +122,7 @@ struct sockaddr_storage {
#endif #endif
char __ss_pad1[_SS_PAD1SIZE]; char __ss_pad1[_SS_PAD1SIZE];
#ifdef HAVE_LONG_LONG #ifdef HAVE_LONG_LONG
long long __ss_align; /* force desired structure storage alignment */ LONG_LONG __ss_align; /* force desired structure storage alignment */
#else #else
double __ss_align; /* force desired structure storage alignment */ double __ss_align; /* force desired structure storage alignment */
#endif #endif

View File

@ -117,6 +117,17 @@ static struct gai_afd {
#define PTON_MAX 4 #define PTON_MAX 4
#endif #endif
#ifndef IN_MULTICAST
#define IN_MULTICAST(i) (((i) & 0xf0000000U) == 0xe0000000U)
#endif
#ifndef IN_EXPERIMENTAL
#define IN_EXPERIMENTAL(i) (((i) & 0xe0000000U) == 0xe0000000U)
#endif
#ifndef IN_LOOPBACKNET
#define IN_LOOPBACKNET 127
#endif
static int get_name Py_PROTO((const char *, struct gai_afd *, static int get_name Py_PROTO((const char *, struct gai_afd *,
struct addrinfo **, char *, struct addrinfo *, struct addrinfo **, char *, struct addrinfo *,
@ -527,7 +538,8 @@ get_addr(hostname, af, res, pai, port0)
struct gai_afd *gai_afd; struct gai_afd *gai_afd;
int i, error = 0, h_error; int i, error = 0, h_error;
char *ap; char *ap;
#ifndef INET6 #if !defined(INET6) && !defined(MS_WIN32)
/* In winsock.h, h_errno is #defined as a function call. */
extern int h_errno; extern int h_errno;
#endif #endif

View File

@ -195,12 +195,7 @@ Socket methods:
#include <GUSI.h> #include <GUSI.h>
#endif #endif
/* XXX 24-Jun-2000 Tim: I have no idea what the code inside this block is
trying to do, and don't have time to look. Looks like Unix-specific code
in those files, though, which will never compile on Windows. */
#ifndef MS_WINDOWS
#include "addrinfo.h" #include "addrinfo.h"
#endif /* ifndef MS_WINDOWS hack */
#ifdef USE_SSL #ifdef USE_SSL
#include "openssl/rsa.h" #include "openssl/rsa.h"
@ -211,11 +206,6 @@ Socket methods:
#include "openssl/err.h" #include "openssl/err.h"
#endif /* USE_SSL */ #endif /* USE_SSL */
/* XXX 24-Jun-2000 Tim: I have no idea what the code inside this block is
trying to do, and don't have time to look. Looks like Unix-specific code
in those files, though, which will never compile on Windows. */
#ifndef MS_WINDOWS
#ifndef HAVE_INET_PTON #ifndef HAVE_INET_PTON
int inet_pton (int af, char *src, void *dst); int inet_pton (int af, char *src, void *dst);
char *inet_ntop(int af, void *src, char *dst, socklen_t size); char *inet_ntop(int af, void *src, char *dst, socklen_t size);
@ -229,8 +219,6 @@ char *inet_ntop(int af, void *src, char *dst, socklen_t size);
#include "getnameinfo.c" #include "getnameinfo.c"
#endif #endif
#endif /* ifndef MS_WINDOWS hack */
#if defined(MS_WINDOWS) || defined(__BEOS__) #if defined(MS_WINDOWS) || defined(__BEOS__)
/* BeOS suffers from the same socket dichotomy as Win32... - [cjh] */ /* BeOS suffers from the same socket dichotomy as Win32... - [cjh] */
/* seem to be a few differences in the API */ /* seem to be a few differences in the API */