Man Linux: Main Page and Category List


       dns_mx - MX records


       #include <dns.h>

       dns_mx(&out, &fqdn);
       dns_mx_packet(&out, buf, len);
         stralloc out = {0};
         stralloc fqdn = {0};
         char *buf;
         unsigned int len;


       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.


       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)