mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-10 17:50:00 -04:00
add dns_db_allrdatasets
This commit is contained in:
parent
b70e90d44f
commit
efe6d8f066
2 changed files with 50 additions and 4 deletions
15
lib/dns/db.c
15
lib/dns/db.c
|
|
@ -327,6 +327,21 @@ dns_db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
|||
rdataset));
|
||||
}
|
||||
|
||||
dns_result_t
|
||||
dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdatasetiter_t **iteratorp)
|
||||
{
|
||||
/*
|
||||
* Make '*iteratorp' an rdataset iteratator for all rdatasets at
|
||||
* 'node' in version 'version' of 'db'.
|
||||
*/
|
||||
|
||||
REQUIRE(DNS_DB_VALID(db));
|
||||
REQUIRE(iteratorp != NULL && *iteratorp == NULL);
|
||||
|
||||
return ((db->methods->allrdatasets)(db, node, version, iteratorp));
|
||||
}
|
||||
|
||||
dns_result_t
|
||||
dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdataset_t *rdataset)
|
||||
|
|
|
|||
|
|
@ -98,6 +98,9 @@ typedef struct dns_dbmethods {
|
|||
dns_dbversion_t *version,
|
||||
dns_rdatatype_t type,
|
||||
dns_rdataset_t *rdataset);
|
||||
dns_result_t (*allrdatasets)(dns_db_t *db, dns_dbnode_t *node,
|
||||
dns_dbversion_t *version,
|
||||
dns_rdatasetiter_t **iteratorp);
|
||||
dns_result_t (*addrdataset)(dns_db_t *db, dns_dbnode_t *node,
|
||||
dns_dbversion_t *version,
|
||||
dns_rdataset_t *rdataset);
|
||||
|
|
@ -521,6 +524,38 @@ dns_db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
|||
* implementation used.
|
||||
*/
|
||||
|
||||
dns_result_t
|
||||
dns_db_allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdatasetiter_t **iteratorp);
|
||||
/*
|
||||
* Make '*iteratorp' an rdataset iteratator for all rdatasets at 'node' in
|
||||
* version 'version' of 'db'.
|
||||
*
|
||||
* Notes:
|
||||
*
|
||||
* If 'version' is NULL, then the current version will be used.
|
||||
*
|
||||
* Requires:
|
||||
*
|
||||
* 'db' is a valid database.
|
||||
*
|
||||
* 'node' is a valid node.
|
||||
*
|
||||
* iteratorp != NULL && *iteratorp == NULL
|
||||
*
|
||||
* Ensures:
|
||||
*
|
||||
* On success, '*iteratorp' is a valid rdataset iterator.
|
||||
*
|
||||
* Returns:
|
||||
*
|
||||
* DNS_R_SUCCESS
|
||||
* DNS_R_NOTFOUND
|
||||
*
|
||||
* Other results are possible, depending upon the database
|
||||
* implementation used.
|
||||
*/
|
||||
|
||||
dns_result_t
|
||||
dns_db_addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
|
||||
dns_rdataset_t *rdataset);
|
||||
|
|
@ -592,10 +627,6 @@ dns_db_deleterdataset(dns_db_t *db, dns_dbnode_t *node,
|
|||
* implementation used.
|
||||
*/
|
||||
|
||||
/*
|
||||
* XXX Need rdataset iterator for ANY queries.
|
||||
*/
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
||||
#endif /* DNS_DB_H */
|
||||
|
|
|
|||
Loading…
Reference in a new issue