#include <event-config.h>
#include <sys/types.h>
#include <sys/time.h>
#include <event2/util.h>
Go to the source code of this file.
Functions | |
struct evdns_server_port * | evdns_add_server_port (evutil_socket_t socket, int is_tcp, evdns_request_callback_fn_type callback, void *user_data) |
As evdns_server_new_with_base. | |
int | evdns_clear_nameservers_and_suspend (void) |
Remove all configured nameservers, and suspend all pending resolves. | |
int | evdns_count_nameservers (void) |
Get the number of configured nameservers. | |
int | evdns_init (void) |
Initialize the asynchronous DNS library. | |
int | evdns_nameserver_add (unsigned long int address) |
Add a nameserver. | |
int | evdns_nameserver_ip_add (const char *ip_as_string) |
Add a nameserver. | |
int | evdns_resolv_conf_parse (int flags, const char *const filename) |
Parse a resolv.conf file. | |
int | evdns_resolve_ipv4 (const char *name, int flags, evdns_callback_type callback, void *ptr) |
Lookup an A record for a given name. | |
int | evdns_resolve_ipv6 (const char *name, int flags, evdns_callback_type callback, void *ptr) |
Lookup an AAAA record for a given name. | |
int | evdns_resolve_reverse (const struct in_addr *in, int flags, evdns_callback_type callback, void *ptr) |
Lookup a PTR record for a given IP address. | |
int | evdns_resolve_reverse_ipv6 (const struct in6_addr *in, int flags, evdns_callback_type callback, void *ptr) |
Lookup a PTR record for a given IPv6 address. | |
int | evdns_resume (void) |
Resume normal operation and continue any suspended resolve requests. | |
void | evdns_search_add (const char *domain) |
Add a domain to the list of search domains. | |
void | evdns_search_clear (void) |
Clear the list of search domains. | |
void | evdns_search_ndots_set (const int ndots) |
Set the 'ndots' parameter for searches. | |
int | evdns_set_option (const char *option, const char *val, int flags) |
Set the value of a configuration option. | |
void | evdns_shutdown (int fail_requests) |
Shut down the asynchronous DNS resolver and terminate all active requests. |
struct evdns_server_port* evdns_add_server_port | ( | evutil_socket_t | socket, | |
int | is_tcp, | |||
evdns_request_callback_fn_type | callback, | |||
void * | user_data | |||
) | [read] |
As evdns_server_new_with_base.
int evdns_clear_nameservers_and_suspend | ( | void | ) |
Remove all configured nameservers, and suspend all pending resolves.
Resolves will not necessarily be re-attempted until evdns_resume() is called.
int evdns_count_nameservers | ( | void | ) |
Get the number of configured nameservers.
This returns the number of configured nameservers (not necessarily the number of running nameservers). This is useful for double-checking whether our calls to the various nameserver configuration functions have been successful.
int evdns_init | ( | void | ) |
Initialize the asynchronous DNS library.
This function initializes support for non-blocking name resolution by calling evdns_resolv_conf_parse() on UNIX and evdns_config_windows_nameservers() on Windows.
int evdns_nameserver_add | ( | unsigned long int | address | ) |
Add a nameserver.
The address should be an IPv4 address in network byte order. The type of address is chosen so that it matches in_addr.s_addr.
address | an IP address in network byte order |
int evdns_nameserver_ip_add | ( | const char * | ip_as_string | ) |
Add a nameserver.
This wraps the evdns_nameserver_add() function by parsing a string as an IP address and adds it as a nameserver.
int evdns_resolv_conf_parse | ( | int | flags, | |
const char *const | filename | |||
) |
Parse a resolv.conf file.
The 'flags' parameter determines what information is parsed from the resolv.conf file. See the man page for resolv.conf for the format of this file.
The following directives are not parsed from the file: sortlist, rotate, no-check-names, inet6, debug.
If this function encounters an error, the possible return values are: 1 = failed to open file, 2 = failed to stat file, 3 = file too large, 4 = out of memory, 5 = short read from file, 6 = no nameservers listed in the file
flags | any of DNS_OPTION_NAMESERVERS|DNS_OPTION_SEARCH|DNS_OPTION_MISC| DNS_OPTIONS_ALL | |
filename | the path to the resolv.conf file |
int evdns_resolve_ipv4 | ( | const char * | name, | |
int | flags, | |||
evdns_callback_type | callback, | |||
void * | ptr | |||
) |
Lookup an A record for a given name.
name | a DNS hostname | |
flags | either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. | |
callback | a callback function to invoke when the request is completed | |
ptr | an argument to pass to the callback function |
int evdns_resolve_ipv6 | ( | const char * | name, | |
int | flags, | |||
evdns_callback_type | callback, | |||
void * | ptr | |||
) |
Lookup an AAAA record for a given name.
name | a DNS hostname | |
flags | either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. | |
callback | a callback function to invoke when the request is completed | |
ptr | an argument to pass to the callback function |
int evdns_resolve_reverse | ( | const struct in_addr * | in, | |
int | flags, | |||
evdns_callback_type | callback, | |||
void * | ptr | |||
) |
Lookup a PTR record for a given IP address.
in | an IPv4 address | |
flags | either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. | |
callback | a callback function to invoke when the request is completed | |
ptr | an argument to pass to the callback function |
int evdns_resolve_reverse_ipv6 | ( | const struct in6_addr * | in, | |
int | flags, | |||
evdns_callback_type | callback, | |||
void * | ptr | |||
) |
Lookup a PTR record for a given IPv6 address.
in | an IPv6 address | |
flags | either 0, or DNS_QUERY_NO_SEARCH to disable searching for this query. | |
callback | a callback function to invoke when the request is completed | |
ptr | an argument to pass to the callback function |
int evdns_resume | ( | void | ) |
Resume normal operation and continue any suspended resolve requests.
Re-attempt resolves left in limbo after an earlier call to evdns_clear_nameservers_and_suspend().
void evdns_search_add | ( | const char * | domain | ) |
Add a domain to the list of search domains.
domain | the domain to be added to the search list |
void evdns_search_clear | ( | void | ) |
Clear the list of search domains.
void evdns_search_ndots_set | ( | const int | ndots | ) |
Set the 'ndots' parameter for searches.
Sets the number of dots which, when found in a name, causes the first query to be without any search domain.
ndots | the new ndots parameter |
int evdns_set_option | ( | const char * | option, | |
const char * | val, | |||
int | flags | |||
) |
Set the value of a configuration option.
The currently available configuration options are:
ndots, timeout, max-timeouts, max-inflight, and attempts
option | the name of the configuration option to be modified | |
val | the value to be set | |
flags | either 0 | DNS_OPTION_SEARCH | DNS_OPTION_MISC |
void evdns_shutdown | ( | int | fail_requests | ) |
Shut down the asynchronous DNS resolver and terminate all active requests.
If the 'fail_requests' option is enabled, all active requests will return an empty result with the error flag set to DNS_ERR_SHUTDOWN. Otherwise, the requests will be silently discarded.
fail_requests | if zero, active requests will be aborted; if non-zero, active requests will return DNS_ERR_SHUTDOWN. |