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
];