wget2  2.0.0
DNS caching

Data Structures

struct  cache_entry
 
struct  wget_dns_cache_st
 

Functions

int wget_dns_cache_init (wget_dns_cache **cache)
 
void wget_dns_cache_free (wget_dns_cache **cache)
 
struct addrinfo * wget_dns_cache_get (wget_dns_cache *cache, const char *host, uint16_t port)
 
int wget_dns_cache_add (wget_dns_cache *cache, const char *host, uint16_t port, struct addrinfo **addrinfo)
 

Detailed Description

DNS cache management functions.

Function Documentation

◆ wget_dns_cache_init()

int wget_dns_cache_init ( wget_dns_cache **  cache)
Parameters
[out]cachePointer to return newly allocated and initialized wget_dns_cache 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_cache instance.

◆ wget_dns_cache_free()

void wget_dns_cache_free ( wget_dns_cache **  cache)
Parameters
[in/out]cache Pointer to wget_dns_cache instance that will be freed and NULLified.

Free the resources allocated by wget_dns_cache_init().

◆ wget_dns_cache_get()

struct addrinfo* wget_dns_cache_get ( wget_dns_cache cache,
const char *  host,
uint16_t  port 
)
Parameters
[in]cacheA wget_dns_cache instance, created by wget_dns_cache_init().
[in]hostHostname to look up
[in]portPort to look up
Returns
The cached addrinfo structure or NULL if not found

◆ wget_dns_cache_add()

int wget_dns_cache_add ( wget_dns_cache cache,
const char *  host,
uint16_t  port,
struct addrinfo **  addrinfo 
)
Parameters
[in]cacheA wget_dns_cache instance, created by wget_dns_cache_init().
[in]hostHostname part of the key
[in]portPort part of the key
[in/out]addrinfo Addrinfo structure to cache, returns cached addrinfo
Returns
WGET_E_SUCCESS on success, else a WGET_E_* error value

This functions adds addrinfo to the given DNS cache cache.

If an entry for [host,port] already exists, addrinfo is free'd and replaced by the cached entry. Do not free addrinfo yourself - this will be done when the whole cache is freed.