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