chiark / gitweb /
Implement SOA, RP, HINFO (but no mailbox quoting). Implement _finish.
[adns.git] / src / adns.h
index 938fb18fcbd7d21bcf9b4ad09cb3ab4f7726b82d..17e4014ad5552d1a3ceb66625a6f99f11f2623ac 100644 (file)
@@ -133,17 +133,17 @@ typedef struct {
     struct sockaddr sa;
     struct sockaddr_in inet;
   } addr;
-} adns_addr;
+} adns_rr_addr;
 
 typedef struct {
   char *host;
   adns_status astatus;
   int naddrs; /* temp fail => -1, perm fail => 0, s_ok => >0 */
-  adns_addr *addrs;
+  adns_rr_addr *addrs;
 } adns_rr_hostaddr;
 
 typedef struct {
-  char *a, *b;
+  char *(array[2]);
 } adns_rr_strpair;
 
 typedef struct {
@@ -162,7 +162,11 @@ typedef struct {
 } adns_rr_intstr;
 
 typedef struct {
-  char *ns0, *rp;
+  adns_rr_intstr array[2];
+} adns_rr_intstrpair;
+
+typedef struct {
+  char *mname, *rname;
   unsigned long serial, refresh, retry, expire, minimum;
 } adns_rr_soa;
 
@@ -176,10 +180,11 @@ typedef struct {
     unsigned char *bytes;
     char *(*str);                     /* ns_raw, cname, ptr, ptr_raw */
     adns_rr_intstr *(*manyistr);      /* txt (list of strings ends with i=-1, str=0) */
-    adns_addr *addr;                  /* addr */
+    adns_rr_addr *addr;               /* addr */
     struct in_addr *inaddr;           /* a */
     adns_rr_hostaddr *hostaddr;       /* ns */
-    adns_rr_strpair *strpair;         /* hinfo ??fixme, rp, rp_raw */
+    adns_rr_intstrpair *intstrpair;   /* hinfo */
+    adns_rr_strpair *strpair;         /* rp, rp_raw */
     adns_rr_inthostaddr *inthostaddr; /* mx */
     adns_rr_intstr *intstr;           /* mx_raw */
     adns_rr_soa *soa;                 /* soa, soa_raw */
@@ -242,7 +247,7 @@ int adns_wait(adns_state ads,
 
 void adns_cancel(adns_query query);
 
-int adns_finish(adns_state);
+void adns_finish(adns_state);
 /* You may call this even if you have queries outstanding;
  * they will be cancelled.
  */