Langue: en

Autres versions - même langue

Version: 298593 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)


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)