sofia-resolv/sres_cache.h File Reference


Detailed Description

Sofia DNS Resolver Cache.

Author:
Pekka Pessi <Pekka.Pessi@nokia-email.address.hidden>,
Include Context
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <sofia-resolv/sres_cache.h>

#include "sofia-resolv/sres_config.h"

Include dependency graph for sres_cache.h:

Go to the source code of this file.

Typedefs

typedef sres_cache sres_cache_t
 Opaque type of DNS cache object.
typedef sres_record sres_record_t
 Type representing any DNS record.

Enumerations

enum  {
  SRES_CACHE_TIMER_INTERVAL ,
  SRES_CACHE_TIMER_INTERVAL
}

Functions

SRESPUBFUN sres_cache_tsres_cache_new (int n)
 Create a resolver cache object.
SRESPUBFUN sres_cache_tsres_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_tsres_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 Documentation

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.


Enumeration Type Documentation

anonymous enum

Enumerator:
SRES_CACHE_TIMER_INTERVAL  Cache cleanup interval in seconds.

SRES_CACHE_TIMER_INTERVAL  Cache cleanup interval in seconds.


Function Documentation

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 *  rr 
)

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.

Parameters:
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.


Sofia-SIP 1.12.6 - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.