chiark / gitweb /
src/: Separate context state into parts for the type itself and its parent.
[adns.git] / src / internal.h
index 9df4da5f839ea89bc299a2400c86c6dbf33e3aad..512a2b11e4e4511b61e946482fe823b7886ac089 100644 (file)
@@ -181,10 +181,15 @@ union maxalign {
 typedef struct {
   void *ext;
   void (*callback)(adns_query parent, adns_query child);
+
+  union {
+    adns_rr_addr ptr_addr;
+  } tinfo; /* type-specific state for the query itself: zero-init if you
+           * don't know better. */
+
   union {
-    adns_rr_addr ptr_parent_addr;
     adns_rr_hostaddr *hostaddr;
-  } info;
+  } pinfo; /* state for use by parent's callback function */
 } qcontext;
 
 struct adns__query {