3 #ifndef ADNS_INTERNAL_H_INCLUDED
4 #define ADNS_INTERNAL_H_INCLUDED
11 #define MAXUDPRETRIES 10
12 #define UDPRETRYMS 2000
16 adns_query next, back;
17 adns_query parent, child;
20 int id, flags, udpretries, nextserver;
21 unsigned long sentudp, senttcp; /* bitmaps indexed by server */
22 struct timeval timeout;
24 unsigned char *querymsg;
28 * Queue child answer nextserver sentudp senttcp
29 * input null null 0 all bits zero all bits zero
30 * timew null null any at least 1 bit set any
31 * childw set partial any any any
32 * output null set any any any
37 adns_initflags iflags;
38 struct { adns_query head, tail; } input, timew, childw, output;
39 int nextid, udpsocket;
40 int qbufavail, tcpbufavail, tcpbufused, tcpbufdone;
41 unsigned char *qbuf, *tcpbuf;
45 enum { server_disc, server_connecting, server_ok } state;
47 struct timeval timeout;
48 struct { adns_query head, tail; } connw;
49 } servers[MAXSERVERS];