135 #ifndef _EVENT2_DNS_H_
136 #define _EVENT2_DNS_H_
146 #define DNS_ERR_NONE 0
148 #define DNS_ERR_FORMAT 1
151 #define DNS_ERR_SERVERFAILED 2
153 #define DNS_ERR_NOTEXIST 3
155 #define DNS_ERR_NOTIMPL 4
158 #define DNS_ERR_REFUSED 5
160 #define DNS_ERR_TRUNCATED 65
162 #define DNS_ERR_UNKNOWN 66
164 #define DNS_ERR_TIMEOUT 67
166 #define DNS_ERR_SHUTDOWN 68
168 #define DNS_ERR_CANCEL 69
172 #define DNS_ERR_NODATA 70
176 #define DNS_IPv6_AAAA 3
178 #define DNS_QUERY_NO_SEARCH 1
180 #define DNS_OPTION_SEARCH 1
181 #define DNS_OPTION_NAMESERVERS 2
182 #define DNS_OPTION_MISC 4
183 #define DNS_OPTION_HOSTSFILE 8
184 #define DNS_OPTIONS_ALL 15
187 #define DNS_NO_SEARCH DNS_QUERY_NO_SEARCH
199 typedef void (*
evdns_callback_type) (
int result,
char type,
int count,
int ttl,
void *addresses,
void *arg);
254 unsigned long int address);
312 const char *ip_as_string);
319 const struct sockaddr *sa, ev_socklen_t len,
unsigned flags);
321 struct evdns_request;
454 int evdns_base_config_windows_nameservers(
struct evdns_base *);
455 #define EVDNS_BASE_CONFIG_WINDOWS_NAMESERVERS_IMPLEMENTED
528 struct evdns_server_request;
529 struct evdns_server_question;
543 #define EVDNS_ANSWER_SECTION 0
544 #define EVDNS_AUTHORITY_SECTION 1
545 #define EVDNS_ADDITIONAL_SECTION 2
547 #define EVDNS_TYPE_A 1
548 #define EVDNS_TYPE_NS 2
549 #define EVDNS_TYPE_CNAME 5
550 #define EVDNS_TYPE_SOA 6
551 #define EVDNS_TYPE_PTR 12
552 #define EVDNS_TYPE_MX 15
553 #define EVDNS_TYPE_TXT 16
554 #define EVDNS_TYPE_AAAA 28
556 #define EVDNS_QTYPE_AXFR 252
557 #define EVDNS_QTYPE_ALL 255
559 #define EVDNS_CLASS_INET 1
562 #define EVDNS_FLAGS_AA 0x400
563 #define EVDNS_FLAGS_RD 0x080
586 int evdns_server_request_add_reply(
struct evdns_server_request *req,
int section,
const char *name,
int type,
int dns_class,
int ttl,
int datalen,
int is_name,
const char *data);
587 int evdns_server_request_add_a_reply(
struct evdns_server_request *req,
const char *name,
int n,
const void *addrs,
int ttl);
588 int evdns_server_request_add_aaaa_reply(
struct evdns_server_request *req,
const char *name,
int n,
const void *addrs,
int ttl);
589 int evdns_server_request_add_ptr_reply(
struct evdns_server_request *req,
struct in_addr *in,
const char *inaddr_name,
const char *hostname,
int ttl);
590 int evdns_server_request_add_cname_reply(
struct evdns_server_request *req,
const char *name,
const char *cname,
int ttl);
610 struct evdns_getaddrinfo_request;
629 struct evdns_base *dns_base,
630 const char *nodename,
const char *servname,
637 void evdns_getaddrinfo_cancel(
struct evdns_getaddrinfo_request *req);