diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-03-29 17:39:12 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-03-29 17:39:12 +0200 |
commit | a285896c04fb2a205f270a4ae55a62b003adb87e (patch) | |
tree | 7ba5212644451d5e9809853c12554ba772c4f556 /src/port | |
parent | 93d9ab3932e86b0491e295ccd6f3842bc5ebd542 (diff) | |
download | wolfbones-a285896c04fb2a205f270a4ae55a62b003adb87e.tar.gz wolfbones-a285896c04fb2a205f270a4ae55a62b003adb87e.tar.bz2 |
cleaned up Cygwin getaddrinfo and started Win32 getaddrinfo
Diffstat (limited to 'src/port')
-rwxr-xr-x | src/port/getaddrinfo.h | 169 | ||||
-rw-r--r-- | src/port/netdb.c | 6 |
2 files changed, 4 insertions, 171 deletions
diff --git a/src/port/getaddrinfo.h b/src/port/getaddrinfo.h index e95efc1..4582ef0 100755 --- a/src/port/getaddrinfo.h +++ b/src/port/getaddrinfo.h @@ -74,172 +74,3 @@ extern const char *wolf_port_gai_strerror( int errcode ); #endif /* !defined HAVE_GETADDRINFO || defined TEST_GETADDRINFO */ #endif /* ifndef __GETADDRINFO_H */ - -#if 0 - -/*------------------------------------------------------------------------- - * - * getaddrinfo.h - * Support getaddrinfo() on platforms that don't have it. - * - * Note: we use our own routines on platforms that don't HAVE_STRUCT_ADDRINFO, - * whether or not the library routine getaddrinfo() can be found. This - * policy is needed because on some platforms a manually installed libbind.a - * may provide getaddrinfo(), yet the system headers may not provide the - * struct definitions needed to call it. To avoid conflict with the libbind - * definition in such cases, we rename our routines to pg_xxx() via macros. - * - * This code will also work on platforms where struct addrinfo is defined - * in the system headers but no getaddrinfo() can be located. - * - * Copyright (c) 2003-2008, PostgreSQL Global Development Group - * - * $PostgreSQL: pgsql/src/include/getaddrinfo.h,v 1.25 2008/01/01 19:45:56 momjian Exp $ - * - *------------------------------------------------------------------------- - */ -#ifndef GETADDRINFO_H -#define GETADDRINFO_H - -#include <sys/socket.h> -#include <netdb.h> - - -/* Various macros that ought to be in <netdb.h>, but might not be */ - -#ifndef EAI_FAIL -#ifndef WIN32 -#define EAI_BADFLAGS (-1) -#define EAI_NONAME (-2) -#define EAI_AGAIN (-3) -#define EAI_FAIL (-4) -#define EAI_FAMILY (-6) -#define EAI_SOCKTYPE (-7) -#define EAI_SERVICE (-8) -#define EAI_MEMORY (-10) -#define EAI_SYSTEM (-11) -#else /* WIN32 */ -#ifdef WIN32_ONLY_COMPILER -#ifndef WSA_NOT_ENOUGH_MEMORY -#define WSA_NOT_ENOUGH_MEMORY (WSAENOBUFS) -#endif -#ifndef __BORLANDC__ -#define WSATYPE_NOT_FOUND (WSABASEERR+109) -#endif -#endif -#define EAI_AGAIN WSATRY_AGAIN -#define EAI_BADFLAGS WSAEINVAL -#define EAI_FAIL WSANO_RECOVERY -#define EAI_FAMILY WSAEAFNOSUPPORT -#define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY -#define EAI_NODATA WSANO_DATA -#define EAI_NONAME WSAHOST_NOT_FOUND -#define EAI_SERVICE WSATYPE_NOT_FOUND -#define EAI_SOCKTYPE WSAESOCKTNOSUPPORT -#endif /* !WIN32 */ -#endif /* !EAI_FAIL */ - -#ifndef AI_PASSIVE -#define AI_PASSIVE 0x0001 -#endif - -#ifndef AI_NUMERICHOST -/* - * some platforms don't support AI_NUMERICHOST; define as zero if using - * the system version of getaddrinfo... - */ -#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO) -#define AI_NUMERICHOST 0 -#else -#define AI_NUMERICHOST 0x0004 -#endif -#endif - -#ifndef NI_NUMERICHOST -#define NI_NUMERICHOST 1 -#endif -#ifndef NI_NUMERICSERV -#define NI_NUMERICSERV 2 -#endif - -#ifndef NI_MAXHOST -#define NI_MAXHOST 1025 -#endif -#ifndef NI_MAXSERV -#define NI_MAXSERV 32 -#endif - - -#ifndef HAVE_STRUCT_ADDRINFO - -#ifndef WIN32 -struct addrinfo -{ - int ai_flags; - int ai_family; - int ai_socktype; - int ai_protocol; - size_t ai_addrlen; - struct sockaddr *ai_addr; - char *ai_canonname; - struct addrinfo *ai_next; -}; -#else -/* - * The order of the structure elements on Win32 doesn't match the - * order specified in the standard, but we have to match it for - * IPv6 to work. - */ -struct addrinfo -{ - int ai_flags; - int ai_family; - int ai_socktype; - int ai_protocol; - size_t ai_addrlen; - char *ai_canonname; - struct sockaddr *ai_addr; - struct addrinfo *ai_next; -}; -#endif -#endif /* HAVE_STRUCT_ADDRINFO */ - - -#ifndef HAVE_GETADDRINFO - -#if 0 -/* Rename private copies per comments above */ -#ifdef getaddrinfo -#undef getaddrinfo -#endif -#define getaddrinfo pg_getaddrinfo - -#ifdef freeaddrinfo -#undef freeaddrinfo -#endif -#define freeaddrinfo pg_freeaddrinfo - -#ifdef gai_strerror -#undef gai_strerror -#endif -#define gai_strerror pg_gai_strerror - -#ifdef getnameinfo -#undef getnameinfo -#endif -#define getnameinfo pg_getnameinfo -#endif - - -extern int getaddrinfo(const char *node, const char *service, - const struct addrinfo * hints, struct addrinfo ** res); -extern void freeaddrinfo(struct addrinfo * res); -extern const char *gai_strerror(int errcode); -extern int getnameinfo(const struct sockaddr * sa, int salen, - char *node, int nodelen, - char *service, int servicelen, int flags); -#endif /* HAVE_GETADDRINFO */ - -#endif /* GETADDRINFO_H */ - -#endif diff --git a/src/port/netdb.c b/src/port/netdb.c index 1e5b2eb..771ed5e 100644 --- a/src/port/netdb.c +++ b/src/port/netdb.c @@ -18,7 +18,9 @@ #include "port/netdb.h" #if !defined HAVE_GETADDRINFO || defined TEST_GETADDRINFO - #include "port/getaddrinfo.c" - #endif /* !defined HAVE_GETADDRINFO || defined TEST_GETADDRINFO */ + +#if !defined HAVE_INET_NTOP || defined TEST_INET_NTOP +#include "port/inet_ntop.c" +#endif /* !defined HAVE_INET_NTOP || defined TEST_INET_NTOP */ |