00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _EVENT2_DNS_COMPAT_H_
00028 #define _EVENT2_DNS_COMPAT_H_
00029
00038 #ifdef __cplusplus
00039 extern "C" {
00040 #endif
00041
00042 #include <event2/event-config.h>
00043 #ifdef _EVENT_HAVE_SYS_TYPES_H
00044 #include <sys/types.h>
00045 #endif
00046 #ifdef _EVENT_HAVE_SYS_TIME_H
00047 #include <sys/time.h>
00048 #endif
00049
00050
00051 #include <event2/util.h>
00052
00069 int evdns_init(void);
00070
00071 struct evdns_base;
00079 struct evdns_base *evdns_get_global_base(void);
00080
00096 void evdns_shutdown(int fail_requests);
00097
00112 int evdns_nameserver_add(unsigned long int address);
00113
00129 int evdns_count_nameservers(void);
00130
00143 int evdns_clear_nameservers_and_suspend(void);
00144
00158 int evdns_resume(void);
00159
00173 int evdns_nameserver_ip_add(const char *ip_as_string);
00174
00189 int evdns_resolve_ipv4(const char *name, int flags, evdns_callback_type callback, void *ptr);
00190
00201 int evdns_resolve_ipv6(const char *name, int flags, evdns_callback_type callback, void *ptr);
00202
00203 struct in_addr;
00204 struct in6_addr;
00205
00220 int evdns_resolve_reverse(const struct in_addr *in, int flags, evdns_callback_type callback, void *ptr);
00221
00236 int evdns_resolve_reverse_ipv6(const struct in6_addr *in, int flags, evdns_callback_type callback, void *ptr);
00237
00254 int evdns_set_option(const char *option, const char *val, int flags);
00255
00281 int evdns_resolv_conf_parse(int flags, const char *const filename);
00282
00290 void evdns_search_clear(void);
00291
00301 void evdns_search_add(const char *domain);
00302
00315 void evdns_search_ndots_set(const int ndots);
00316
00325 struct evdns_server_port *evdns_add_server_port(evutil_socket_t socket, int flags, evdns_request_callback_fn_type callback, void *user_data);
00326
00327 #ifdef WIN32
00328 int evdns_config_windows_nameservers(void);
00329 #define EVDNS_CONFIG_WINDOWS_NAMESERVERS_IMPLEMENTED
00330 #endif
00331
00332 #ifdef __cplusplus
00333 }
00334 #endif
00335
00336 #endif