dns_ip6(3) look up IPv6 addresses

SYNTAX

#include <dns.h>

int dns_ip6(stralloc* out,stralloc* fqdn);

DESCRIPTION

dns_ip6 looks up 16-byte IPv6 addresses for the fully-qualified domain name in fqdn. It puts the concatenation of the IPv6 addresses into out and returns 0. If the domain does not exist in DNS, or has no IP addresses, out will be empty.

dns_ip6 also looks up 4-byte IPv4 addresses and converts them into IPv4-mapped IPv6 addresses (::ffff:1.2.3.4) to provide easy backwards compatibility for IPv6 applications.

If dns_ip6 has trouble with the DNS lookup or runs out of memory, it returns -1, setting errno appropriately. It may or may not change out.

If fqdn is an IPv6 address, dns_ip6 puts that IP address into out without checking DNS. IPv4 addresses are also used directly without DNS lookup.