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
#ifdef HAVE_LONG_LONG
#define _SS_ALIGNSIZE (sizeof(long long))
#define _SS_ALIGNSIZE (sizeof(LONG_LONG))
#else
#define _SS_ALIGNSIZE (sizeof(double))
#endif
@ -122,7 +122,7 @@ struct sockaddr_storage {
#endif
char __ss_pad1[_SS_PAD1SIZE];
#ifdef HAVE_LONG_LONG
long long __ss_align; /* force desired structure storage alignment */
LONG_LONG __ss_align; /* force desired structure storage alignment */
#else
double __ss_align; /* force desired structure storage alignment */
#endif

View File

@ -117,6 +117,17 @@ static struct gai_afd {
#define PTON_MAX 4
#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 *,
struct addrinfo **, char *, struct addrinfo *,
@ -527,7 +538,8 @@ get_addr(hostname, af, res, pai, port0)
struct gai_afd *gai_afd;
int i, error = 0, h_error;
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;
#endif

View File

@ -195,12 +195,7 @@ Socket methods:
#include <GUSI.h>
#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"
#endif /* ifndef MS_WINDOWS hack */
#ifdef USE_SSL
#include "openssl/rsa.h"
@ -211,11 +206,6 @@ Socket methods:
#include "openssl/err.h"
#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
int inet_pton (int af, char *src, void *dst);
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"
#endif
#endif /* ifndef MS_WINDOWS hack */
#if defined(MS_WINDOWS) || defined(__BEOS__)
/* BeOS suffers from the same socket dichotomy as Win32... - [cjh] */
/* seem to be a few differences in the API */