bind  9.16.7
About: BIND 9.16 implements the Domain Name System (DNS) protocols for the Internet (see the Release Notes). Source code distribution.
  Fossies Dox: bind-9.16.7.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

dyndb.c File Reference
#include <string.h>
#include <isc/buffer.h>
#include <isc/mem.h>
#include <isc/mutex.h>
#include <isc/once.h>
#include <isc/region.h>
#include <isc/result.h>
#include <isc/task.h>
#include <isc/types.h>
#include <isc/util.h>
#include <dns/dyndb.h>
#include <dns/log.h>
#include <dns/types.h>
#include <dns/view.h>
#include <dns/zone.h>
Include dependency graph for dyndb.c:

Go to the source code of this file.

Data Structures

struct  dyndb_implementation
 

Macros

#define CHECK(op)
 

Typedefs

typedef struct dyndb_implementation dyndb_implementation_t
 

Functions

static LIST (dyndb_implementation_t)
 
static dyndb_implementation_timpfind (const char *name)
 
static isc_result_t load_library (isc_mem_t *mctx, const char *filename, const char *instname, dyndb_implementation_t **impp)
 
static void unload_library (dyndb_implementation_t **impp)
 
isc_result_t dns_dyndb_load (const char *libname, const char *name, const char *parameters, const char *file, unsigned long line, isc_mem_t *mctx, const dns_dyndbctx_t *dctx)
 
void dns_dyndb_cleanup (bool exiting)
 
isc_result_t dns_dyndb_createctx (isc_mem_t *mctx, const void *hashinit, isc_log_t *lctx, dns_view_t *view, dns_zonemgr_t *zmgr, isc_task_t *task, isc_timermgr_t *tmgr, dns_dyndbctx_t **dctxp)
 
void dns_dyndb_destroyctx (dns_dyndbctx_t **dctxp)
 

Macro Definition Documentation

◆ CHECK

#define CHECK (   op)
Value:
do { \
result = (op); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)

Definition at line 36 of file dyndb.c.

Typedef Documentation

◆ dyndb_implementation_t

Definition at line 1 of file dyndb.c.

Function Documentation

◆ dns_dyndb_cleanup()

void dns_dyndb_cleanup ( bool  exiting)

Definition at line 385 of file dyndb.c.

References dyndb_implementation::destroy_func, dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, ENSURE, dyndb_implementation::inst, ISC_LOG_INFO, isc_log_write(), isc_mutex_destroy, isc_once_do, ISC_R_SUCCESS, LOCK, dyndb_implementation::name, once, PREV, RUNTIME_CHECK, TAIL, UNLINK, unload_library(), and UNLOCK.

Referenced by load_configuration(), and shutdown_server().

Here is the caller graph for this function:

◆ dns_dyndb_createctx()

isc_result_t dns_dyndb_createctx ( isc_mem_t mctx,
const void *  hashinit,
isc_log_t lctx,
dns_view_t view,
dns_zonemgr_t zmgr,
isc_task_t task,
isc_timermgr_t tmgr,
dns_dyndbctx_t **  dctxp 
)

Definition at line 412 of file dyndb.c.

References DNS_DYNDBCTX_MAGIC, dns_view_attach(), dns_zonemgr_attach(), dns_dyndbctx::hashinit, isc_bind9, isc_mem_attach(), isc_mem_get, ISC_R_SUCCESS, isc_task_attach(), lctx, dns_dyndbctx::lctx, dns_dyndbctx::magic, mctx, dns_dyndbctx::mctx, dns_dyndbctx::refvar, REQUIRE, dns_dyndbctx::task, dns_dyndbctx::timermgr, dns_dyndbctx::view, and dns_dyndbctx::zmgr.

Referenced by configure_view().

Here is the caller graph for this function:

◆ dns_dyndb_destroyctx()

void dns_dyndb_destroyctx ( dns_dyndbctx_t **  dctxp)

Definition at line 445 of file dyndb.c.

References DNS_DYNDBCTX_VALID, dns_view_detach(), dns_zonemgr_detach(), isc_mem_putanddetach, isc_task_detach(), dns_dyndbctx::lctx, dns_dyndbctx::magic, dns_dyndbctx::mctx, REQUIRE, dns_dyndbctx::task, dns_dyndbctx::timermgr, dns_dyndbctx::view, and dns_dyndbctx::zmgr.

Referenced by configure_view().

Here is the caller graph for this function:

◆ dns_dyndb_load()

isc_result_t dns_dyndb_load ( const char *  libname,
const char *  name,
const char *  parameters,
const char *  file,
unsigned long  line,
isc_mem_t mctx,
const dns_dyndbctx_t dctx 
)

◆ impfind()

static dyndb_implementation_t* impfind ( const char *  name)
static

Definition at line 73 of file dyndb.c.

References ISC_LIST_HEAD, ISC_LIST_NEXT, dyndb_implementation::name, and name.

Referenced by dns_dyndb_load().

Here is the caller graph for this function:

◆ LIST()

static LIST ( dyndb_implementation_t  )
static

Definition at line 60 of file dyndb.c.

References INIT_LIST, and isc_mutex_init.

◆ load_library()

static isc_result_t load_library ( isc_mem_t mctx,
const char *  filename,
const char *  instname,
dyndb_implementation_t **  impp 
)
static

Definition at line 327 of file dyndb.c.

References dns_lctx, DNS_LOGCATEGORY_DATABASE, DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR, isc_log_write(), ISC_R_NOTIMPLEMENTED, mctx, and UNUSED.

Referenced by dns_dyndb_load().

Here is the caller graph for this function:

◆ unload_library()

static void unload_library ( dyndb_implementation_t **  impp)
static

Definition at line 342 of file dyndb.c.

References UNUSED.

Referenced by dns_dyndb_cleanup(), and dns_dyndb_load().

Here is the caller graph for this function:
cleanup
static void cleanup(void)
Definition: main.c:1349
ISC_R_SUCCESS
#define ISC_R_SUCCESS
Definition: dlz_minimal.h:59