+adns_status adns__mkquery(adns_state ads, vbuf *vb,
+ const char *owner, int ol, int *id_r,
+ const typeinfo *typei, adns_queryflags flags);
+/* Assembles a query packet in vb, and returns id at *id_r. */
+
+void adns__query_tcp(adns_state ads, adns_query qu, struct timeval now);
+/* Query must be in state tcpwait/timew; it will be moved to a new state
+ * if possible and no further processing can be done on it for now.
+ * (Resulting state is one of tcpwait/timew (if server not connected),
+ * tcpsent/timew, child/childw or done/output.)
+ *
+ * adns__tcp_tryconnect should already have been called - _tcp
+ * will only use an existing connection (if there is one), which it
+ * may break. If the conn list lost then the caller is responsible for any
+ * reestablishment and retry.
+ */
+
+void adns__query_udp(adns_state ads, adns_query qu, struct timeval now);
+/* Query must be in state udp/NONE; it will be moved to a new state,
+ * and no further processing can be done on it for now.
+ * (Resulting state is one of udp/timew, tcpwait/timew (if server not connected),
+ * tcpsent/timew, child/childw or done/output.)
+ */
+
+/* From query.c: */