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.