int dns_name6(stralloc* out,const char* ip);
dns_name6 looks up the domain name for the 16-byte IPv6 address in ip. It puts the (first) domain name into out and returns 0. If the relevant ip6.arpa domain does not exist in DNS, or has no PTR records, out will be empty.
If dns_name6 has trouble with the DNS lookup or runs out of memory, it returns -1, setting errno appropriately. It may or may not change out.
dns_name_packet(3), dns_name6_domain(3), dns_name4(3), dns_ip6(3)
dns_ip6(3), dns_name4(3), dns_name6_domain(3), dns_name_packet(3).