chiark / gitweb /
Reentrancy: adns__internal_submit does list handling
[adns.git] / src / internal.h
index 552db151b7ff495da637c416324c743fd7dd2c21..4fd6ee802fb622f1586a2428cbcfd2e4f7f0e131 100644 (file)
@@ -217,6 +217,12 @@ typedef struct typeinfo {
   /* Return the output resource-record element size; if this is null, then
    * the rrsz member can be used.
    */
   /* Return the output resource-record element size; if this is null, then
    * the rrsz member can be used.
    */
+
+  void (*query_send)(adns_query qu, struct timeval now);
+  /* Send the query to nameservers, and hook it into the appropriate queue.
+   * Normal behaviour is to call adns__query_send, but this can be overridden
+   * for special effects.
+   */
 } typeinfo;
 
 adns_status adns__ckl_hostname(adns_state ads, adns_queryflags flags,
 } typeinfo;
 
 adns_status adns__ckl_hostname(adns_state ads, adns_queryflags flags,
@@ -595,6 +601,7 @@ void adns__query_send(adns_query qu, struct timeval now);
 /* From query.c: */
 
 adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
 /* From query.c: */
 
 adns_status adns__internal_submit(adns_state ads, adns_query *query_r,
+                                 adns_query parent,
                                  const typeinfo *typei, adns_rrtype type,
                                  vbuf *qumsg_vb, int id,
                                  adns_queryflags flags, struct timeval now,
                                  const typeinfo *typei, adns_rrtype type,
                                  vbuf *qumsg_vb, int id,
                                  adns_queryflags flags, struct timeval now,