typedef enum {
adns_s_ok,
adns_s_timeout,
- adns_s_unknownqtype,
adns_s_nolocalmem,
adns_s_allservfail,
+ adns_s_servfail,
+ adns_s_notimplemented,
+ adns_s_refused,
+ adns_s_reasonunknown,
+ adns_s_norecurse,
+ adns_s_serverfaulty,
+ adns_s_unknownreply,
adns_s_max_tempfail= 99,
adns_s_inconsistent, /* PTR gives domain whose A does not match */
adns_s_cname, /* CNAME found where data eg A expected (not if _qf_loosecname) */
- adns_s_max_misconfig= 199,
+ /* fixme: implement _s_cname */
+ adns_s_max_remotemisconfig= 199,
adns_s_nxdomain,
- adns_s_norecord,
- adns_s_invaliddomain
+ adns_s_nodata,
+ adns_s_invaliddomain,
+ adns_s_domaintoolong,
} adns_status;
typedef struct {
adns_rrtype type;
int nrrs;
union {
- struct in_addr *inaddr; /* a */
char *(*str); /* ns_raw, cname, ptr, ptr_raw, txt, <any>_mf */
+ struct in_addr *inaddr; /* a */
adns_rr_dmaddr *dmaddr; /* ns */
adns_rr_strpair *strpair; /* hinfo, rp, rp_raw */
adns_rr_intdmaddr *intdmaddr; /* mx */
* type will always be the type requested;
* If no (appropriate) requests are done adns_check returns EWOULDBLOCK;
* If no (appropriate) requests are outstanding adns_query and adns_wait return ESRCH;
- * If malloc failure occurs during internal allocation or processing
- * ands_check and _wait set *answer to 0.
*/
int adns_init(adns_state *newstate_r, adns_initflags flags, FILE *diagfile/*0=>stderr*/);