Man page - libwget-dns(3)
Packages contains this manual
- libwget-console(3)
- libwget-utils(3)
- libwget-error(3)
- libwget-hash(3)
- libwget-net(3)
- libwget-stringmap(3)
- libwget-xml(3)
- libwget-dns(3)
- libwget-robots(3)
- libwget-base64(3)
- libwget-io(3)
- libwget-parse_sitemap(3)
- libwget-dns-caching(3)
- libwget-printf(3)
- libwget-bitmap(3)
- libwget-vector(3)
- libwget-ip(3)
- libwget-hashmap(3)
- libwget-mem(3)
- libwget-thread(3)
- libwget-parse_atom(3)
- libwget-xalloc(3)
- libwget-random(3)
- libwget-list(3)
apt-get install wget2-dev
Manual
libwget-dns
NAMESYNOPSIS
Data Structures
Functions
Detailed Description
Function Documentation
int wget_dns_init (wget_dns ** dns)
void wget_dns_free (wget_dns ** dns)
void wget_dns_set_timeout (wget_dns * dns, int timeout)
void wget_dns_set_cache (wget_dns * dns, wget_dns_cache * cache)
wget_dns_cache * wget_dns_get_cache (wget_dns * dns)
int wget_dns_cache_ip (wget_dns * dns, const char * ip, const char * name,uint16_t port)
struct addrinfo * wget_dns_resolve (wget_dns * dns, const char * host,uint16_t port, int family, int preferred_family)
void wget_dns_freeaddrinfo (wget_dns * dns, struct addrinfo ** addrinfo)
void wget_dns_set_stats_callback (wget_dns * dns, wget_dns_stats_callback *fn, void * ctx)
Author
NAME
libwget-dns - DNS resolver functions
SYNOPSIS
Data Structures
struct
wget_dns_stats_data
struct
wget_dns_st
Functions
INITIALIZER
(dns_init)
int
wget_dns_init
(
wget_dns
**dns)
void
wget_dns_free
(
wget_dns
**dns)
void
wget_dns_set_timeout
(
wget_dns
*dns, int
timeout)
void
wget_dns_set_cache
(
wget_dns
*dns,
wget_dns_cache
*cache)
wget_dns_cache
*
wget_dns_get_cache
(
wget_dns
*dns)
int
wget_dns_cache_ip
(
wget_dns
*dns, const
char *ip, const char *name, uint16_t port)
struct addrinfo *
wget_dns_resolve
(
wget_dns
*dns, const char *host, uint16_t port, int family, int
preferred_family)
void
wget_dns_freeaddrinfo
(
wget_dns
*dns,
struct addrinfo **addrinfo)
void
wget_dns_set_stats_callback
(
wget_dns
*dns, wget_dns_stats_callback *fn, void *ctx)
Detailed Description
DNS Resolver functions.
Function Documentation
int wget_dns_init (wget_dns ** dns)
Parameters
dns Pointer to return newly allocated and initialized wget_dns instance
Returns
WGET_E_SUCCESS if OK, WGET_E_MEMORY if out-of-memory or WGET_E_INVALID if the mutex initialization failed.
Allocates and initializes a wget_dns instance. dns may be NULL for the purpose of initializing the global structures.
void wget_dns_free (wget_dns ** dns)
Parameters
[in/out] dns Pointer to wget_dns instance that will be freed and NULLified.
Free the resources allocated by wget_dns_init() . dns may be NULL for the purpose of freeing the global structures.
void wget_dns_set_timeout (wget_dns * dns, int timeout)
Parameters
dns
The wget_dns
instance to set the timeout
timeout
The timeout value.
Set the timeout (in milliseconds) for the DNS queries.
This is the maximum time to wait until we get a response from the server.
Warning: For standard getaddrinfo() a timeout can’t be set in a portable way. So this functions currently is a no-op.
The following two values are special:
|
• |
0 : No timeout, immediate. |
|||
|
• |
-1 : Infinite timeout. Wait indefinitely. |
void wget_dns_set_cache (wget_dns * dns, wget_dns_cache * cache)
Parameters
dns
A
wget_dns
instance, created by
wget_dns_init()
.
cache
A
wget_dns_cache
instance
Enable or disable DNS caching for the DNS instance provided.
The DNS cache is kept internally in memory, and is used in wget_dns_resolve() to speed up DNS queries.
wget_dns_cache * wget_dns_get_cache (wget_dns * dns)
Parameters
dns A wget_dns instance, created by wget_dns_init() .
Returns
1 if DNS caching is enabled, 0 otherwise.
Tells whether DNS caching is enabled or not.
You can enable and disable DNS caching with wget_dns_set_caching().
int wget_dns_cache_ip (wget_dns * dns, const char * ip, const char * name,uint16_t port)
Parameters
ip
IP address of name
name
Domain name, part of the cache’s lookup key
port
Port number, part of the cache’s lookup
key
Returns
0 on success, < 0 on error
Assign an IP address to the name+port key in the DNS cache. The name should be lowercase.
struct addrinfo * wget_dns_resolve (wget_dns * dns, const char * host,uint16_t port, int family, int preferred_family)
Parameters
dns
A
wget_dns
instance, created by
wget_dns_init()
.
host
Hostname
port
TCP destination port
family
Protocol family AF_INET or AF_INET6
preferred_family
Preferred protocol family AF_INET or
AF_INET6
Returns
A struct addrinfo structure (defined in libc’s <netdb.h> ). Must be freed by the caller with wget_dns_freeaddrinfo().
Resolve a host name into its IPv4/IPv6 address.
family : Desired address family for the returned addresses. This will typically be AF_INET or AF_INET6 , but it can be any of the values defined in <socket.h> . Additionally, AF_UNSPEC means you don’t care: it will return any address family that can be used with the specified host and port . If family is different than AF_UNSPEC and the specified family is not found, that’s an error condition and thus wget_dns_resolve() will return NULL.
preferred_family : Tries to resolve addresses of this family if possible. This is only honored if family (see point above) is AF_UNSPEC .
The returned addrinfo structure must be freed with wget_dns_freeaddrinfo().
void wget_dns_freeaddrinfo (wget_dns * dns, struct addrinfo ** addrinfo)
Parameters
dns
A
wget_dns
instance, created by
wget_dns_init()
.
[in/out]
addrinfo Value returned by
c
Release addrinfo, previously returned by wget_dns_resolve(). If the underlying dns uses caching, just the reference/pointer is set to NULL.
void wget_dns_set_stats_callback (wget_dns * dns, wget_dns_stats_callback *fn, void * ctx)
Parameters
dns
A
wget_dns
instance, created by
wget_dns_init()
.
fn
A
wget_dns_stats_callback
callback function
to receive resolve statistics data
ctx
Context data given to
fn
Set callback function to be called once DNS statistics for a host are collected
Author
Generated automatically by Doxygen for wget2 from the source code.