firedns_resolvemxalist(3)

NAME
firedns_resolvemxalist - Resolve a list of MX records of a hostname and their corresponding A records

SYNOPSIS
#include <firedns.h>
-lfiredns

struct firedns_mxlist *firedns_resolvemxalist(const char * const name)

DESCRIPTION
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).

AUTHOR
Ian Gulliver <ian@penguinhosting.net>

SEE ALSO
libfiredns(3)
firedns_free_mxalist(3)