Go to the documentation of this file. 1 #ifndef __ARES_PRIVATE_H
2 #define __ARES_PRIVATE_H
25 #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32)
29 #ifdef HAVE_NETINET_IN_H
30 #include <netinet/in.h>
35 #include <sys/ioctl.h>
36 #define writev(s,v,c) writev_s(s,v,c)
40 #define DEFAULT_TIMEOUT 5000
41 #define DEFAULT_TRIES 4
43 #define INADDR_NONE 0xffffffff
46 #ifdef CARES_EXPOSE_STATICS
48 #define STATIC_TESTABLE
50 #define STATIC_TESTABLE static
56 #define CARES_INADDR_CAST(type, var) ((type)((void *)var))
58 #if defined(WIN32) && !defined(WATT32)
60 #define WIN_NS_9X "System\\CurrentControlSet\\Services\\VxD\\MSTCP"
61 #define WIN_NS_NT_KEY "System\\CurrentControlSet\\Services\\Tcpip\\Parameters"
62 #define WIN_DNSCLIENT "Software\\Policies\\Microsoft\\System\\DNSClient"
63 #define WIN_NT_DNSCLIENT "Software\\Policies\\Microsoft\\Windows NT\\DNSClient"
64 #define NAMESERVER "NameServer"
65 #define DHCPNAMESERVER "DhcpNameServer"
66 #define DATABASEPATH "DatabasePath"
67 #define WIN_PATH_HOSTS "\\hosts"
68 #define SEARCHLIST_KEY "SearchList"
69 #define PRIMARYDNSSUFFIX_KEY "PrimaryDNSSuffix"
70 #define INTERFACES_KEY "Interfaces"
71 #define DOMAIN_KEY "Domain"
72 #define DHCPDOMAIN_KEY "DhcpDomain"
76 #define PATH_RESOLV_CONF "/dev/ENV/etc/resolv.conf"
77 W32_FUNC
const char *_w32_GetHostsFile (
void);
79 #elif defined(NETWARE)
81 #define PATH_RESOLV_CONF "sys:/etc/resolv.cfg"
82 #define PATH_HOSTS "sys:/etc/hosts"
84 #elif defined(__riscos__)
86 #define PATH_HOSTS "InetDBase:Hosts"
90 #define PATH_RESOLV_CONF "/etc/resolv.conf"
92 #define PATH_HOSTS "/etc/inet/hosts"
94 #define PATH_HOSTS "/etc/hosts"
99 #define ARES_ID_KEY_LEN 31
106 # define getenv(ptr) ares_getenv(ptr)
112 #ifndef HAVE_STRCASECMP
114 # define strcasecmp(p1,p2) ares_strcasecmp(p1,p2)
117 #ifndef HAVE_STRNCASECMP
119 # define strncasecmp(p1,p2,n) ares_strncasecmp(p1,p2,n)
124 # define writev(s,ptr,cnt) ares_writev(s,ptr,cnt)
128 #define EDNSPACKETSZ 1280
130 #define MAXENDSSZ 4096
131 #define EDNSFIXEDSZ 11
143 #define addrV4 addr.addr4
144 #define addrV6 addr.addr6
241 #define PATTERN_MASK 0x1
242 #define PATTERN_CIDR 0x2
252 struct in_addr
addr4;
317 #define ARES_QID_TABLE_SIZE 2048
320 #define ARES_TIMEOUT_TABLE_SIZE 1024
343 extern void *(*ares_malloc)(
size_t size);
344 extern void *(*ares_realloc)(
void *
ptr,
size_t size);
360 const unsigned char *abuf,
361 int alen,
char **s,
long *enclen,
364 const unsigned char *abuf,
int alen,
365 char **s,
long *enclen,
int is_hostname);
399 char **question_hostname,
411 const struct sockaddr *
addr,
412 ares_socklen_t addrlen);
414 #define ARES_SWAP_BYTE(a,b) \
415 { unsigned char swapByte = *(a); *(a) = *(b); *(b) = swapByte; }
417 #define SOCK_STATE_CALLBACK(c, s, r, w) \
419 if ((c)->sock_state_cb) \
420 (c)->sock_state_cb((c)->sock_state_cb_data, (s), (r), (w)); \
struct list_node queries_by_qid
void(* ares_free)(void *ptr)
void(* ares_sock_state_cb)(void *data, ares_socket_t socket_fd, int readable, int writable)
int(* ares_sock_config_callback)(ares_socket_t socket_fd, int type, void *data)
struct ares_in6_addr addr6
void * sock_state_cb_data
int ares__get_hostent(FILE *fp, int family, struct hostent **host)
struct ares_addrinfo_node * ares__append_addrinfo_node(struct ares_addrinfo_node **ai_node)
ares_sock_state_cb sock_state_cb
void ares__send_query(ares_channel channel, struct query *query, struct timeval *now)
struct list_node queries_to_server
struct server_state * servers
void(* ares_callback)(void *arg, int status, int timeouts, unsigned char *abuf, int alen)
int ares__is_onion_domain(const char *name)
struct list_node queries_by_timeout
struct send_request * qtail
union apattern::@388 mask
unsigned short ares__generate_new_id(rc4_key *key)
int ares__parse_into_addrinfo2(const unsigned char *abuf, int alen, char **question_hostname, struct ares_addrinfo *ai)
ares_socket_t ares__open_socket(ares_channel channel, int af, int type, int protocol)
int tcp_connection_generation
#define ARES_TIMEOUT_TABLE_SIZE
struct send_request * qhead
int ares__read_line(FILE *fp, char **buf, size_t *bufsize)
time_t last_timeout_processed
int ares__parse_qtype_reply(const unsigned char *abuf, int alen, int *qtype)
void ares__destroy_servers_state(ares_channel channel)
struct send_request * next
int socket_send_buffer_size
const unsigned char * data
wrapped_grpc_channel * channel
ares_sock_config_callback sock_config_cb
void ares__close_sockets(ares_channel channel, struct server_state *server)
struct ares_addrinfo * ares__malloc_addrinfo(void)
void ares__init_servers_state(ares_channel channel)
struct ares_addrinfo_node * ares__malloc_addrinfo_node(void)
void * sock_create_cb_data
const unsigned char * qbuf
struct ares_addrinfo_cname * ares__append_addrinfo_cname(struct ares_addrinfo_cname **ai_cname)
union apattern::@387 addr
unsigned char * data_storage
#define ARES_QID_TABLE_SIZE
ares_sock_create_callback sock_create_cb
int ares__parse_into_addrinfo(const unsigned char *abuf, int alen, struct ares_addrinfo *ai)
int ares__connect_socket(ares_channel channel, ares_socket_t sockfd, const struct sockaddr *addr, ares_socklen_t addrlen)
void * sock_config_cb_data
struct list_node all_queries
struct list_node queries_by_qid[ARES_QID_TABLE_SIZE]
struct list_node all_queries
int socket_receive_buffer_size
unsigned char tcp_lenbuf[2]
void ares__close_socket(ares_channel, ares_socket_t)
int ares__readaddrinfo(FILE *fp, const char *name, unsigned short port, const struct ares_addrinfo_hints *hints, struct ares_addrinfo *ai)
int ares__timedout(struct timeval *now, struct timeval *check)
int tcp_connection_generation
void ares__freeaddrinfo_cnames(struct ares_addrinfo_cname *ai_cname)
void ares__free_query(struct query *query)
unsigned char local_ip6[16]
int ares__expand_name_for_response(const unsigned char *encoded, const unsigned char *abuf, int alen, char **s, long *enclen, int is_hostname)
void ares__addrinfo_cat_cnames(struct ares_addrinfo_cname **head, struct ares_addrinfo_cname *tail)
static void check(upb_inttable *t)
int(* ares_sock_create_callback)(ares_socket_t socket_fd, int type, void *data)
struct apattern * sortlist
int ares__expand_name_validated(const unsigned char *encoded, const unsigned char *abuf, int alen, char **s, long *enclen, int is_hostname)
void ares__addrinfo_cat_nodes(struct ares_addrinfo_node **head, struct ares_addrinfo_node *tail)
union ares_addr::@386 addr
int ares__single_domain(ares_channel channel, const char *name, char **s)
struct timeval ares__tvnow(void)
unsigned char * tcp_buffer
int ares__cat_domain(const char *name, const char *domain, char **s)
int ares__sortaddrinfo(ares_channel channel, struct ares_addrinfo_node *ai_node)
const struct ares_socket_functions * sock_funcs
struct query * owner_query
void ares__freeaddrinfo_nodes(struct ares_addrinfo_node *ai_node)
int tcp_connection_generation
struct query_server_info * server_info
struct ares_in6_addr addr6
struct list_node queries_by_timeout[ARES_TIMEOUT_TABLE_SIZE]
struct list_node queries_to_server
struct ares_addrinfo_cname * ares__malloc_addrinfo_cname(void)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:33