int dns_ip6_qualify(stralloc* out,stralloc* fqdn,
const stralloc* udn);
dns_ip6_qualify feeds the name udn through qualification and looks up 16-byte IPv6 addresses for the result. It puts the fully qualified domain name into fqdn, puts the concatenation of the IP 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_qualify also looks up 4-byte IPv4 addresses and converts them into IPv4-mapped IPv6 addresses (::ffff:188.8.131.52) to provide easy backwards compatibility for IPv6 applications.
If dns_ip6_qualify has trouble with the qualification, has trouble with DNS, or runs out of memory, it returns -1, setting errno appropriately. It may or may not change out and fqdn.
dns_ip6(3), dns_ip6_packet(3), dns_ip4_qualify(3)