diff options
Diffstat (limited to 'src/port/getaddrinfo.h')
-rwxr-xr-x | src/port/getaddrinfo.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/port/getaddrinfo.h b/src/port/getaddrinfo.h index 4582ef0..746ac47 100755 --- a/src/port/getaddrinfo.h +++ b/src/port/getaddrinfo.h @@ -27,6 +27,12 @@ #include "port/sys_internal.h" +#if !defined HAVE_GETADDRINFO || defined TEST_GETADDRINFO + +#include <sys/types.h> /* for size_t */ +#include <sys/socket.h> /* for AF_UNSPEC */ +#include <arpa/inet.h> /* for TCPPROTO and others */ + /* for errors returned by getaddrinfo */ #if !defined EAI_NONAME #define EAI_NONAME -2 /**< NAME or SERVICE is unknown */ @@ -43,7 +49,12 @@ #define AI_NUMERICHOST 4 /**< don't use name resolution */ #endif -#if !defined HAVE_GETADDRINFO || defined TEST_GETADDRINFO +/* for flags in getnameinfo */ +#if !defined NI_NUMERICHOST +#define NI_NUMERICHOST 1 /**< don't try to look up hostname. */ +#define NI_NUMERICSERV 2 /**< don't convert port number to name. */ +#endif + struct wolf_port_addrinfo { int ai_flags; @@ -60,14 +71,20 @@ extern int wolf_port_getaddrinfo( const char *host_name, const char *service_name, const struct wolf_port_addrinfo *hints, struct wolf_port_addrinfo **result ); - extern void wolf_port_freeaddrinfo( struct wolf_port_addrinfo *result ); + +extern int wolf_port_getnameinfo( const struct sockaddr *sa, socklen_t salen, + char *host, size_t hostlen, + char *serv, size_t servlen, + int flags ); + extern const char *wolf_port_gai_strerror( int errcode ); #if !defined HAVE_GETADDRINFO #define addrinfo wolf_port_addrinfo #define getaddrinfo( host_name, service_name, hints, result ) wolf_port_getaddrinfo( host_name, service_name, hints, result ) #define freeaddrinfo( result ) wolf_port_freeaddrinfo( result ) +#define getnameinfo( sa, salen, host, hostlen, serv, servlen, flags ) wolf_port_getnameinfo( sa, salen, host, hostlen, serv, servlen, flags ) #define gai_strerror( errcode ) wolf_port_gai_strerror( errcode ) #endif |