summaryrefslogtreecommitdiffstats
path: root/ares.h
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2010-02-01 21:23:59 +0100
committerJakub Hrozek <jhrozek@redhat.com>2010-02-19 18:04:37 +0100
commitbe7c4f5806a29298988601f9bac5a4ebab6c000c (patch)
treed6f7a07643b8e8f2509da2b563cb27ca56fe0572 /ares.h
parent228e2c0a62faaedaf98a9dad10095f0980a07dfc (diff)
downloadc-ares-master.tar.gz
c-ares-master.tar.xz
c-ares-master.zip
Allow the use of IPv6 nameserversHEADmaster
This patch allows the use of IPv6 addresses for nameserves in both /etc/resolv.conf and by using the ares_set_nameservers() API.
Diffstat (limited to 'ares.h')
-rw-r--r--ares.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/ares.h b/ares.h
index b1c2c22..a3fa6a8 100644
--- a/ares.h
+++ b/ares.h
@@ -268,6 +268,16 @@ struct ares_channeldata;
typedef struct ares_channeldata *ares_channel;
+struct ares_addr {
+ int family;
+ union {
+ struct in_addr addr4;
+ struct in6_addr addr6;
+ } addr;
+};
+#define addrV4 addr.addr4
+#define addrV6 addr.addr6
+
typedef void (*ares_callback)(void *arg,
int status,
int timeouts,
@@ -318,6 +328,10 @@ CARES_EXTERN void ares_set_socket_callback(ares_channel channel,
ares_sock_create_callback callback,
void *user_data);
+CARES_EXTERN int ares_set_nameservers(ares_channel channel,
+ struct ares_addr *servers,
+ int num_servers);
+
CARES_EXTERN void ares_send(ares_channel channel,
const unsigned char *qbuf,
int qlen,