/* $Id: fake-getaddrinfo.h,v 1.4 2003/02/24 01:35:09 djm Exp $ */ #ifndef _FAKE_GETADDRINFO_H #define _FAKE_GETADDRINFO_H #include "socketheaders.h" /* Whenever a function isn't found, we define the name to have a fake_ prefix. * This enables the --disable-ipv6 flag to bypass the real functions without * requiring any ifdefs in code using these functions. * It can also help if a header file is included which prototypes something * even though the appropriate library wasn't linked, then it will avoid * conflicting types errors. */ #include "fake-gai-errnos.h" #ifndef AI_PASSIVE # define AI_PASSIVE 1 # define AI_CANONNAME 2 #endif #ifndef NI_NUMERICHOST # define NI_NUMERICHOST 2 # define NI_NAMEREQD 4 # define NI_NUMERICSERV 8 #endif #ifndef HAVE_STRUCT_ADDRINFO #undef addrinfo #define addrinfo fake_addrinfo struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ int ai_family; /* PF_xxx */ int ai_socktype; /* SOCK_xxx */ int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ size_t ai_addrlen; /* length of ai_addr */ char *ai_canonname; /* canonical name for hostname */ struct sockaddr *ai_addr; /* binary address */ struct addrinfo *ai_next; /* next structure in linked list */ }; #endif /* !HAVE_STRUCT_ADDRINFO */ #ifndef HAVE_GETADDRINFO #undef getaddrinfo #define getaddrinfo fake_getaddrinfo int getaddrinfo(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res); #endif /* !HAVE_GETADDRINFO */ #ifndef HAVE_GAI_STRERROR #undef gai_strerror #define gai_strerror fake_gake_strerror char *gai_strerror(int ecode); #endif /* !HAVE_GAI_STRERROR */ #ifndef HAVE_FREEADDRINFO #undef freeaddrinfo #define freeaddrinfo fake_freeaddroinfo void freeaddrinfo(struct addrinfo *ai); #endif /* !HAVE_FREEADDRINFO */ #endif /* _FAKE_GETADDRINFO_H */