コード例 #1
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
		 dns_rdataset_t *rdataset, unsigned int options,
		 dns_rdataset_t *newrdataset)
{
	sampledb_t *sampledb = (sampledb_t *) db;
	isc_result_t result;
	dns_fixedname_t name;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_fixedname_init(&name);
	result = dns_db_subtractrdataset(sampledb->rbtdb, node, version,
					 rdataset, options, newrdataset);
	if (result != ISC_R_SUCCESS && result != DNS_R_NXRRSET)
		goto cleanup;

	if (rdataset->type == dns_rdatatype_a ||
	    rdataset->type == dns_rdatatype_aaaa) {
		CHECK(sample_name_fromnode(node, dns_fixedname_name(&name)));
		CHECK(syncptrs(sampledb->inst, dns_fixedname_name(&name),
			       rdataset, DNS_DIFFOP_DEL));
	}

cleanup:
	return (result);
}
コード例 #2
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
expirenode(dns_db_t *db, dns_dbnode_t *node, isc_stdtime_t now) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_expirenode(sampledb->rbtdb, node, now));
}
コード例 #3
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
detachnode(dns_db_t *db, dns_dbnode_t **targetp) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_detachnode(sampledb->rbtdb, targetp);
}
コード例 #4
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
closeversion(dns_db_t *db, dns_dbversion_t **versionp, isc_boolean_t commit) {
	sampledb_t *sampledb = (sampledb_t *)db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_closeversion(sampledb->rbtdb, versionp, commit);
}
コード例 #5
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
newversion(dns_db_t *db, dns_dbversion_t **versionp) {
	sampledb_t *sampledb = (sampledb_t *)db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_newversion(sampledb->rbtdb, versionp));
}
コード例 #6
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
currentversion(dns_db_t *db, dns_dbversion_t **versionp) {
	sampledb_t *sampledb = (sampledb_t *)db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_currentversion(sampledb->rbtdb, versionp);
}
コード例 #7
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
serialize(dns_db_t *db, dns_dbversion_t *version, FILE *file) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_serialize(sampledb->rbtdb, version, file));
}
コード例 #8
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
printnode(dns_db_t *db, dns_dbnode_t *node, FILE *out) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_printnode(sampledb->rbtdb, node, out);
}
コード例 #9
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
overmem(dns_db_t *db, isc_boolean_t over) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_overmem(sampledb->rbtdb, over);
}
コード例 #10
0
ファイル: db.c プロジェクト: eljefedelrodeodeljefe/BIND
static void
rpz_attach(dns_db_t *db, dns_rpz_zones_t *rpzs, dns_rpz_num_t rpz_num) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_rpz_attach(sampledb->rbtdb, rpzs, rpz_num);
}
コード例 #11
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
setcachestats(dns_db_t *db, isc_stats_t *stats) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_setcachestats(sampledb->rbtdb, stats));
}
コード例 #12
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_boolean_t
isdnssec(dns_db_t *db) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_isdnssec(sampledb->rbtdb));
}
コード例 #13
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
getsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, dns_name_t *name) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_getsigningtime(sampledb->rbtdb, rdataset, name));
}
コード例 #14
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
resigned(dns_db_t *db, dns_rdataset_t *rdataset, dns_dbversion_t *version) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_resigned(sampledb->rbtdb, rdataset, version);
}
コード例 #15
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
getoriginnode(dns_db_t *db, dns_dbnode_t **nodep) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_getoriginnode(sampledb->rbtdb, nodep));
}
コード例 #16
0
ファイル: db.c プロジェクト: eljefedelrodeodeljefe/BIND
static isc_result_t
rpz_ready(dns_db_t *db) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_rpz_ready(sampledb->rbtdb));
}
コード例 #17
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
settask(dns_db_t *db, isc_task_t *task) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_settask(sampledb->rbtdb, task);
}
コード例 #18
0
ファイル: db.c プロジェクト: pecharmin/bind9
static unsigned int
nodecount(dns_db_t *db) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_nodecount(sampledb->rbtdb));
}
コード例 #19
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
free_sampledb(sampledb_t *sampledb) {
	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_detach(&sampledb->rbtdb);
	dns_name_free(&sampledb->common.origin, sampledb->common.mctx);
	isc_mem_putanddetach(&sampledb->common.mctx, sampledb, sizeof(*sampledb));
}
コード例 #20
0
ファイル: db.c プロジェクト: pecharmin/bind9
static size_t
hashsize(dns_db_t *db) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_hashsize(sampledb->rbtdb));
}
コード例 #21
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset, isc_stdtime_t resign) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_setsigningtime(sampledb->rbtdb, rdataset, resign));
}
コード例 #22
0
ファイル: db.c プロジェクト: pecharmin/bind9
static dns_stats_t *
getrrsetstats(dns_db_t *db) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_getrrsetstats(sampledb->rbtdb));

}
コード例 #23
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
attach(dns_db_t *source, dns_db_t **targetp) {
	sampledb_t *sampledb = (sampledb_t *)source;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	isc_refcount_increment(&sampledb->refs, NULL);
	*targetp = source;
}
コード例 #24
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
transfernode(dns_db_t *db, dns_dbnode_t **sourcep, dns_dbnode_t **targetp) {
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_transfernode(sampledb->rbtdb, sourcep, targetp);

}
コード例 #25
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
findnsec3node(dns_db_t *db, const dns_name_t *name, isc_boolean_t create,
	      dns_dbnode_t **nodep)
{
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_findnsec3node(sampledb->rbtdb, name, create, nodep));
}
コード例 #26
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
attachversion(dns_db_t *db, dns_dbversion_t *source,
	      dns_dbversion_t **targetp)
{
	sampledb_t *sampledb = (sampledb_t *)db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	dns_db_attachversion(sampledb->rbtdb, source, targetp);
}
コード例 #27
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
createiterator(dns_db_t *db, unsigned int options,
	       dns_dbiterator_t **iteratorp)
{
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_createiterator(sampledb->rbtdb, options, iteratorp));
}
コード例 #28
0
ファイル: db.c プロジェクト: pecharmin/bind9
/*
 * deleterdataset() function is not used during DNS update processing so syncptr
 * implementation is left as an exercise to the reader.
 */
static isc_result_t
deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
	       dns_rdatatype_t type, dns_rdatatype_t covers)
{
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_deleterdataset(sampledb->rbtdb, node, version,
				      type, covers));
}
コード例 #29
0
ファイル: db.c プロジェクト: pecharmin/bind9
static isc_result_t
allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
	     isc_stdtime_t now, dns_rdatasetiter_t **iteratorp)
{
	sampledb_t *sampledb = (sampledb_t *) db;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	return (dns_db_allrdatasets(sampledb->rbtdb, node, version,
				    now, iteratorp));
}
コード例 #30
0
ファイル: db.c プロジェクト: pecharmin/bind9
static void
detach(dns_db_t **dbp) {
	sampledb_t *sampledb = (sampledb_t *)(*dbp);
	unsigned int refs;

	REQUIRE(VALID_SAMPLEDB(sampledb));

	isc_refcount_decrement(&sampledb->refs, &refs);
	if (refs == 0)
		free_sampledb(sampledb);
	*dbp = NULL;
}