Sofia DNS Resolver Cache.
#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <sofia-resolv/sres_cache.h>
#include "sofia-resolv/sres_config.h"
Go to the source code of this file.
Typedefs | |
typedef struct sres_cache | sres_cache_t |
Opaque type of DNS cache object. | |
typedef union sres_record | sres_record_t |
Type representing any DNS record. | |
Enumerations | |
enum | { SRES_CACHE_TIMER_INTERVAL, SRES_CACHE_TIMER_INTERVAL } |
Functions | |
SRESPUBFUN sres_cache_t * | sres_cache_new (int n) |
Create a resolver cache object. | |
SRESPUBFUN sres_cache_t * | sres_cache_ref (sres_cache_t *) |
Increase reference count on a resolver cache object. | |
SRESPUBFUN void | sres_cache_unref (sres_cache_t *) |
Decrease the reference count on a resolver cache object. | |
SRESPUBFUN int | sres_cache_get (sres_cache_t *cache, uint16_t type, char const *domain, sres_record_t ***return_cached) |
Get a list of matching records from cache. | |
SRESPUBFUN int | sres_cache_filter (sres_cache_t *cache, sres_record_t **answers, uint16_t type) |
Free answers not matching with type. | |
SRESPUBFUN void | sres_cache_free_answers (sres_cache_t *, sres_record_t **) |
Free the list records. | |
SRESPUBFUN void | sres_cache_free_one (sres_cache_t *, sres_record_t *answer) |
Free and zero one record. | |
SRESPUBFUN sres_record_t * | sres_cache_alloc_record (sres_cache_t *cache, sres_record_t const *template, size_t extra) |
Allocate a cache record. | |
SRESPUBFUN void | sres_cache_free_record (sres_cache_t *cache, void *rr) |
Free a record that has not been stored. | |
SRESPUBFUN void | sres_cache_store (sres_cache_t *, sres_record_t *, time_t now) |
Store a record to cache. |
typedef struct sres_cache sres_cache_t |
Opaque type of DNS cache object.
typedef union sres_record sres_record_t |
Type representing any DNS record.
anonymous enum |
SRESPUBFUN void sres_cache_free_answers | ( | sres_cache_t * | cache, | |
sres_record_t ** | answers | |||
) |
Free the list records.
SRESPUBFUN void sres_cache_free_one | ( | sres_cache_t * | cache, | |
sres_record_t * | answer | |||
) |
Free and zero one record.
SRESPUBFUN void sres_cache_free_record | ( | sres_cache_t * | cache, | |
void * | _sr | |||
) |
Free a record that has not been stored.
SRESPUBFUN int sres_cache_get | ( | sres_cache_t * | cache, | |
uint16_t | type, | |||
char const * | domain, | |||
sres_record_t *** | return_cached | |||
) |
Get a list of matching records from cache.
SRESPUBFUN sres_cache_t* sres_cache_new | ( | int | n | ) |
Create a resolver cache object.
n | initial size of cache |
SRESPUBFUN sres_cache_t* sres_cache_ref | ( | sres_cache_t * | cache | ) |
Increase reference count on a resolver cache object.
SRESPUBFUN void sres_cache_unref | ( | sres_cache_t * | cache | ) |
Decrease the reference count on a resolver cache object.