1 #ifndef __DNS_PRIVATE_H__
2 #define __DNS_PRIVATE_H__
6 #define MDNS_HANDLE_NAME "*MDNS*"
8 #define DNS_FLAG_DEBUG 0x00000001
9 #define DNS_FLAG_CHECK_RESOLVER_DIR 0x00000002
10 #define DNS_FLAG_HAVE_IPV6_SERVER 0x00000004
11 #define DNS_FLAG_OK_TO_SKIP_AAAA 0x00000008
12 #define DNS_FLAG_DEFAULT_RESOLVER 0x00000010
13 #define DNS_FLAG_FORWARD_TO_MDNSRESPONDER 0x00000020
20 uint32_t search_count
;
24 uint32_t total_timeout
;
25 uint32_t send_timeout
;
26 uint32_t search_order
;
28 void *reserved_pointer1
;
33 pdns_handle_t
*pdns_primary
;
34 uint32_t client_count
;
35 pdns_handle_t
**client
;
38 uint32_t stat_latency
;
40 int notify_sys_config_token
;
42 int notify_delay_token
;
45 void *reserved_pointer1
;
48 typedef struct __dns_handle_private_struct
57 void *reserved_pointer1
;
58 void *reserved_pointer2
;
59 } dns_private_handle_t
;
65 * Returns the number of nameserver addresses available to the input
66 * DNS client. Returns zero if the input handle is a "Super" DNS handle.
68 extern uint32_t dns_server_list_count(dns_handle_t d
);
71 * Returns the nameserver address at the given index. Returns NULL
72 * if the index is out of range. Caller should free the returned sockaddr.
74 extern struct sockaddr
*dns_server_list_address(dns_handle_t d
, uint32_t i
);
77 * Returns a list of all server addresses for all clients.
78 * Caller must free each list entry, and the returned list.
80 extern void dns_all_server_addrs(dns_handle_t d
, struct sockaddr
***addrs
, uint32_t *count
);
83 * Returns the number of names in the search list.
85 uint32_t dns_search_list_count(dns_handle_t d
);
89 #endif /* __DNS_PRIVATE_H__ */