Port getaddrinfo to MSVC++.
This commit is contained in:
parent
1bdd0f2559
commit
d783041a14
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue