firedns_resolvemxalist3
Resolve a list of mx records of a hostname and their corresponding a records
Usage
#include <firedns.h>
-lfiredns
struct firedns_mxlist *firedns_resolvemxalist(const char * const name)
Overview
firedns_resolvemxalist() attempts to resolve a list of MX records for the hostname name. If it fails, it treats the host as having a priority 0 MX record, and attempts to resolve a list of A and AAAA records for the hostname. If the MX record lookup succeeds, it looks up the list of A and AAAA records for each MX record in parallel. It also checks for RFC-violating CNAMEs for each MX record.
Return value
Returns a pointer to an internal static struct firedns_mxlist *. This structure is the first of a linked list. It contains:
char *name;
char *cname;
struct firedns_ip4list *ip4list;
struct firedns_ip6list *ip6list;
unsigned int protocol; (FIREDNS_MX_SMTP or FIREDNS_MX_QMTP)
unsigned int priority;
struct firedns_mxlist *next;
This function returns NULL on error.
Any result return by this function should be freed with firedns_free_mxalist(3).
Releases
Unchanged in 2 releases since Debian 3.1 (Sarge).