chiark / gitweb /
New internal consistency checking with assert if right options set.
[adns.git] / src / internal.h
index eba0b05050941397f4abfb1aa0c8601c2cd492d9..6dbbff059c7a80f368410eb36a3942a98b0e159a 100644 (file)
@@ -59,6 +59,12 @@ typedef unsigned char byte;
 
 #define MAX_POLLFDS  ADNS_POLLFDS_RECOMMENDED
 
+typedef enum {
+  cc_user,
+  cc_entex,
+  cc_freq
+} consistency_checks;
+
 typedef enum {
   rcode_noerror,
   rcode_formaterror,
@@ -206,14 +212,14 @@ struct adns__query {
 
   /* Possible states:
    *
-   *  state   Queue   child  id   nextudpserver  sentudp     failedtcp
+   *  state   Queue   child  id   nextudpserver  udpsent     tcpfailed
    *                             
    *  tosend  NONE    null   >=0  0              zero        zero
    *  tosend  timew   null   >=0  any            nonzero     zero
    *  tosend  NONE    null   >=0  any            nonzero     zero
    *                             
-   *  tcpwait timew   null   >=0  irrelevant     zero        any
-   *  tcpsent timew   null   >=0  irrelevant     zero        any
+   *  tcpwait timew   null   >=0  irrelevant     any         any
+   *  tcpsent timew   null   >=0  irrelevant     any         any
    *                             
    *  child   childw  set    >=0  irrelevant     irrelevant  irrelevant
    *  child   NONE    null   >=0  irrelevant     irrelevant  irrelevant
@@ -634,6 +640,10 @@ void adns__fdevents(adns_state ads,
                    const fd_set *writefds, const fd_set *exceptfds,
                    struct timeval now, int *r_r);
 
+/* From check.c: */
+
+void adns__consistency(adns_state ads, consistency_checks cc);
+
 /* Useful static inline functions: */
 
 static inline void timevaladd(struct timeval *tv_io, long ms) {