mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-03 13:59:27 -04:00
add base, dns_db_load
This commit is contained in:
parent
f305d86668
commit
b03b67a6f1
2 changed files with 20 additions and 5 deletions
14
lib/dns/db.c
14
lib/dns/db.c
|
|
@ -27,15 +27,15 @@
|
|||
#include "rbtdb.h"
|
||||
|
||||
dns_result_t
|
||||
dns_db_create(isc_mem_t *mctx, char *db_type, isc_boolean_t cache,
|
||||
dns_rdataclass_t class,
|
||||
dns_db_create(isc_mem_t *mctx, char *db_type, dns_name_t *base,
|
||||
isc_boolean_t cache, dns_rdataclass_t class,
|
||||
unsigned int argc, char *argv[], dns_db_t **dbp)
|
||||
{
|
||||
/* find the create method for 'db_type', and call it. */
|
||||
|
||||
/* Temporary minor hack... */
|
||||
if (strcasecmp(db_type, "rbt") == 0)
|
||||
return (dns_rbtdb_create(mctx, cache, class, argc, argv,
|
||||
return (dns_rbtdb_create(mctx, base, cache, class, argc, argv,
|
||||
dbp));
|
||||
|
||||
return (DNS_R_NOTIMPLEMENTED);
|
||||
|
|
@ -97,6 +97,14 @@ dns_db_iszone(dns_db_t *db) {
|
|||
return (!db->cache);
|
||||
}
|
||||
|
||||
dns_result_t
|
||||
dns_db_load(dns_db_t *db, char *filename) {
|
||||
|
||||
REQUIRE(DNS_DB_VALID(db));
|
||||
|
||||
return (db->methods->load(db, filename));
|
||||
}
|
||||
|
||||
/*
|
||||
* Version Operations.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -53,11 +53,13 @@
|
|||
|
||||
#include <dns/types.h>
|
||||
#include <dns/result.h>
|
||||
#include <dns/name.h>
|
||||
|
||||
typedef struct dns_dbmethods {
|
||||
void (*attach)(dns_db_t *source, dns_db_t **targetp);
|
||||
void (*detach)(dns_db_t **dbp);
|
||||
void (*shutdown)(dns_db_t *db);
|
||||
dns_result_t (*load)(dns_db_t *db, char *filename);
|
||||
void (*currentversion)(dns_db_t *db,
|
||||
dns_dbversion_t **versionp);
|
||||
dns_result_t (*newversion)(dns_db_t *db,
|
||||
|
|
@ -103,11 +105,13 @@ struct dns_db {
|
|||
dns_dbmethods_t * methods;
|
||||
isc_boolean_t cache;
|
||||
dns_rdataclass_t class;
|
||||
dns_name_t base;
|
||||
isc_mem_t * mctx;
|
||||
};
|
||||
|
||||
dns_result_t
|
||||
dns_db_create(isc_mem_t *mctx, char *db_type, isc_boolean_t cache,
|
||||
dns_rdataclass_t class,
|
||||
dns_db_create(isc_mem_t *mctx, char *db_type, dns_name_t *base,
|
||||
isc_boolean_t cache, dns_rdataclass_t class,
|
||||
unsigned int argc, char *argv[], dns_db_t **dbp);
|
||||
|
||||
void
|
||||
|
|
@ -128,6 +132,9 @@ dns_db_iscache(dns_db_t *db);
|
|||
isc_boolean_t
|
||||
dns_db_iszone(dns_db_t *db);
|
||||
|
||||
dns_result_t
|
||||
dns_db_load(dns_db_t *db, char *filename);
|
||||
|
||||
void
|
||||
dns_db_currentversion(dns_db_t *db, dns_dbversion_t **versionp);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue