chiark / gitweb /
All except rrtype-specific stuff complete but largely untest. That is
[adns.git] / src / adns.h
index 901ea0348614efe8601a3ebb65f4a6d7b5628795..b110a94ce8a7f1d414aa1b7c4b7d27ec00364c6b 100644 (file)
@@ -93,17 +93,22 @@ typedef enum {
   adns_s_timeout,
   adns_s_nolocalmem,
   adns_s_allservfail,
-  adns_s_serverfailure,
-  adns_s_max_tempfail= 99,
+  adns_s_servfail,
+  adns_s_notimplemented,
+  adns_s_refused,
+  adns_s_reasonunknown,
   adns_s_norecurse,
   adns_s_serverfaulty,
-  adns_s_max_localmisconfig= 199,
+  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_remotemisconfig= 299,
+  /* 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 {
@@ -138,8 +143,8 @@ 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 */
@@ -168,8 +173,6 @@ typedef struct {
  *  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*/);