dns_mx(3)
NAME
dns_mx - MX records
SYNOPSIS
#include <dns.h> dns_mx(&out, &fqdn); dns_mx_packet(&out, buf, len); stralloc out = {0}; stralloc fqdn = {0}; char *buf; unsigned int len;
DESCRIPTION
dns_mx looks up MX records for the fully-qualified domain name in fqdn.
It puts the MX records into out and returns 0. Each MX record is a
two-byte MX distance followed by a \0-terminated dot-encoded domain
name. If the domain does not exist in DNS, or has no MX records, out
will be empty.
If dns_mx 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_mx_packet is a low-level component of dns_mx, designed to support asynchronous DNS lookups. It reads a DNS packet of length len from buf, extracts the MX records from the answer section of the packet, puts the results into out, and returns 0 or -1 the same way as dns_mx.
SEE ALSO
dns_domain(3), dns_ip4(3), dns_ip4_qualify(3), dns_name4(3),
dns_packet(3), dns_random(3), dns_transmit(3), dns_txt(3)
- http://cr.yp.to/djbdns/blurb/library.html