aboutsummaryrefslogtreecommitdiff
path: root/resolv/netdb.h
diff options
context:
space:
mode:
Diffstat (limited to 'resolv/netdb.h')
-rw-r--r--resolv/netdb.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/resolv/netdb.h b/resolv/netdb.h
index 9282be3..3365e5e 100644
--- a/resolv/netdb.h
+++ b/resolv/netdb.h
@@ -28,6 +28,7 @@
/* This is necessary to make this include file properly replace the
Sun version. */
#include <rpc/netdb.h>
+#include <sys/socket.h> /* need socklen_t */
#define __need_size_t
#include <stddef.h>
@@ -119,7 +120,7 @@ extern struct hostent *gethostbyaddr __P ((__const char *__addr, int __len,
extern struct hostent *gethostbyname __P ((__const char *__name));
/* Return entry from host data base for host with NAME. AF must be
- set to the address type which as `AF_INET' for IPv4 or `AF_INET6'
+ set to the address type which is `AF_INET' for IPv4 or `AF_INET6'
for IPv6. */
extern struct hostent *gethostbyname2 __P ((__const char *__name, int __af));
@@ -165,6 +166,19 @@ extern int gethostbyname2_r __P ((__const char *__name, int __af,
#endif /* misc */
+/* Return entry from host data base for host with NAME. AF must be
+ set to the desired address type (either `AF_INET' or `AF_INET6').
+ FLAGS is some combination of the following AI_* values. */
+extern struct hostent *getnodebyname __P ((__const char *__name, int __af,
+ int __flags));
+
+#define AI_V4MAPPED 1 /* IPv4-mapped addresses are acceptable. */
+#define AI_ALL 2 /* Return both IPv4 and IPv6 addresses. */
+#define AI_ADDRCONFIG 4 /* Use configuration of this host to choose
+ returned address type. */
+#define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG)
+
+
/* Description of data base entry for a single network. NOTE: here a
poor assumption is made. The network number is expected to fit
into an unsigned long int variable. */
@@ -413,6 +427,7 @@ struct addrinfo
/* Possible values for `ai_flags' field in `addrinfo' structure. */
# define AI_PASSIVE 1 /* Socket address is intended for `bind'. */
# define AI_CANONNAME 2 /* Request for canonical name. */
+# define AI_NUMERICHOST 3 /* Don't use name resolution. */
/* Error values for `getaddrinfo' function. */
# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */
@@ -430,11 +445,11 @@ struct addrinfo
# define NI_MAXHOST 1025
# define NI_MAXSERV 32
-# define NI_NUMERICHOST 1
-# define NI_NUMERICSERV 2
-# define NI_NOFQDN 4
-# define NI_NAMEREQD 8
-# define NI_DGRAM 16
+# define NI_NUMERICHOST 1 /* Don't try to look up hostname. */
+# define NI_NUMERICSERV 2 /* Don't convert port number to name. */
+# define NI_NOFQDN 4 /* Only return nodename portion. */
+# define NI_NAMEREQD 8 /* Don't return numeric addresses. */
+# define NI_DGRAM 16 /* Look up UDP service rather than TCP. */
/* Translate name of a service location and/or a service name to set of
socket addresses. */
@@ -449,7 +464,7 @@ extern void freeaddrinfo __P ((struct addrinfo *__ai));
extern char *gai_strerror __P ((int __ecode));
/* Translate a socket address to a location and service name. */
-extern int getnameinfo __P ((__const struct sockaddr *__sa, size_t __salen,
+extern int getnameinfo __P ((__const struct sockaddr *__sa, socklen_t __salen,
char *__host, size_t __hostlen,
char *__serv, size_t __servlen,
int __flags));