1 #ifndef __res_state_defined
2 #define __res_state_defined 1
5 #include <netinet/in.h>
7 /* res_state: the global state used by the resolver stub. */
8 #define MAXNS 3 /* max # name servers we'll track */
9 #define MAXDFLSRCH 3 /* # default domain levels to try */
10 #define MAXDNSRCH 6 /* max # domains in search path */
11 #define MAXRESOLVSORT 10 /* number of net to sort on */
14 int retrans
; /* retransmission time interval */
15 int retry
; /* number of times to retransmit */
16 unsigned long options
; /* option flags - see below. */
17 int nscount
; /* number of name servers */
19 nsaddr_list
[MAXNS
]; /* address of name server */
20 unsigned short id
; /* current message id */
21 /* 2 byte hole here. */
22 char *dnsrch
[MAXDNSRCH
+1]; /* components of domain to search */
23 char defdname
[256]; /* default domain (deprecated) */
24 unsigned long pfcode
; /* RES_PRF_ flags - see below. */
25 unsigned ndots
:4; /* threshold for initial abs. query */
26 unsigned nsort
:4; /* number of elements in sort_list[] */
27 unsigned ipv6_unavail
:1; /* connecting to IPv6 server failed */
32 } sort_list
[MAXRESOLVSORT
];
33 /* 4 byte hole here on 64-bit architectures. */
34 void * __glibc_unused_qhook
;
35 void * __glibc_unused_rhook
;
36 int res_h_errno
; /* last one set for this context */
37 int _vcsock
; /* PRIVATE: for res_send VC i/o */
38 unsigned int _flags
; /* PRIVATE: see below */
39 /* 4 byte hole here on 64-bit architectures. */
41 char pad
[52]; /* On an i386 this means 512b total. */
44 uint16_t nsmap
[MAXNS
];
48 struct sockaddr_in6
*nsaddrs
[MAXNS
];
50 unsigned long long int __glibc_extension_index
51 __attribute__((packed
));
53 unsigned int __glibc_reserved
[2];
59 typedef struct __res_state
*res_state
;
61 #endif /* __res_state_defined */