#include <rbt.h>
Public Member Functions | |
ISC_LINK (dns_rbtnode_t) deadlink | |
Used for LRU cache. This linked list is used to mark nodes which have no data any longer, but we cannot unlink at that exact moment because we did not or could not obtain a write lock on the tree. | |
Data Fields | |
unsigned int | magic |
dns_rbtnode_t * | parent |
dns_rbtnode_t * | left |
dns_rbtnode_t * | right |
dns_rbtnode_t * | down |
dns_rbtnode_t * | hashnext |
unsigned int | is_mmapped: 1 |
unsigned int | parent_is_relative: 1 |
unsigned int | left_is_relative: 1 |
unsigned int | right_is_relative: 1 |
unsigned int | down_is_relative: 1 |
unsigned int | data_is_relative: 1 |
unsigned int | rpz: 1 |
unsigned int | hashval |
unsigned int | is_root: 1 |
range is 0..1 | |
unsigned int | color: 1 |
range is 0..1 | |
unsigned int | find_callback: 1 |
range is 0..1 | |
unsigned int | attributes: 3 |
range is 0..2 | |
unsigned int | nsec: 2 |
range is 0..3 | |
unsigned int | namelen: 8 |
range is 1..255 | |
unsigned int | offsetlen: 8 |
range is 1..128 | |
unsigned int | oldnamelen: 8 |
range is 1..255 | |
void * | data |
unsigned int | dirty:1 |
unsigned int | wild:1 |
unsigned int | locknum:DNS_RBT_LOCKLENGTH |
unsigned int | references:DNS_RBT_REFLENGTH |
Definition at line 81 of file rbt.h.
dns_rbtnode::ISC_LINK | ( | dns_rbtnode_t | ) |
Used for LRU cache. This linked list is used to mark nodes which have no data any longer, but we cannot unlink at that exact moment because we did not or could not obtain a write lock on the tree.
unsigned int dns_rbtnode::magic |
Definition at line 83 of file rbt.h.
Referenced by create_node(), deletetree(), deletetreeflat(), and dns_rbt_deletenode().
Definition at line 85 of file rbt.h.
Referenced by decrement_reference(), dns_rbt_printnodeinfo(), dns_rpz_find_name(), getparent(), prune_tree(), serialize_node(), and treefix().
Definition at line 86 of file rbt.h.
Referenced by decrement_reference(), dns_rbt_printnodeinfo(), getleft(), serialize_node(), and treefix().
Definition at line 87 of file rbt.h.
Referenced by decrement_reference(), dns_rbt_printnodeinfo(), getright(), serialize_node(), and treefix().
Definition at line 88 of file rbt.h.
Referenced by dbiterator_current(), decrement_reference(), dns_rbt_printnodeinfo(), expirenode(), getdown(), prune_tree(), serialize_node(), and treefix().
unsigned int dns_rbtnode::is_root |
range is 0..1
The following bitfields add up to a total bitwidth of 32. The range of values necessary for each item is indicated, but in the case of "attributes" the field is wider to accommodate possible future expansion.
In each case below the "range" indicated is what's _necessary_ for the bitfield to hold, not what it actually _can_ hold.
Definition at line 110 of file rbt.h.
Referenced by addonlevel(), create_node(), deletefromlevel(), dns_rbt_addnode(), rotate_left(), and rotate_right().
unsigned int dns_rbtnode::color |
unsigned int dns_rbtnode::find_callback |
range is 0..1
Definition at line 112 of file rbt.h.
Referenced by add_wildcard_magic(), addrdataset(), create_node(), loading_addrdataset(), and zone_find().
unsigned int dns_rbtnode::attributes |
unsigned int dns_rbtnode::nsec |
range is 0..3
Definition at line 114 of file rbt.h.
Referenced by add_empty_wildcards(), add_wildcard_magic(), addrdataset(), create_node(), delete_node(), dns_rbt_addnode(), dns_rbtdb_create(), findnodeintree(), loading_addrdataset(), loadnode(), and subtractrdataset().
unsigned int dns_rbtnode::namelen |
unsigned int dns_rbtnode::offsetlen |
unsigned int dns_rbtnode::oldnamelen |
unsigned int dns_rbtnode::is_mmapped |
Definition at line 121 of file rbt.h.
Referenced by create_node(), freenode(), and serialize_node().
unsigned int dns_rbtnode::parent_is_relative |
Definition at line 122 of file rbt.h.
Referenced by create_node(), dns_rbt_printnodeinfo(), getparent(), serialize_node(), and treefix().
unsigned int dns_rbtnode::left_is_relative |
Definition at line 123 of file rbt.h.
Referenced by create_node(), dns_rbt_printnodeinfo(), getleft(), serialize_node(), and treefix().
unsigned int dns_rbtnode::right_is_relative |
Definition at line 124 of file rbt.h.
Referenced by create_node(), dns_rbt_printnodeinfo(), getright(), serialize_node(), and treefix().
unsigned int dns_rbtnode::down_is_relative |
Definition at line 125 of file rbt.h.
Referenced by create_node(), dns_rbt_printnodeinfo(), getdown(), serialize_node(), and treefix().
unsigned int dns_rbtnode::data_is_relative |
Definition at line 126 of file rbt.h.
Referenced by create_node(), dns_rbt_printnodeinfo(), getdata(), serialize_node(), and treefix().
unsigned int dns_rbtnode::rpz |
Definition at line 129 of file rbt.h.
Referenced by create_node(), delete_node(), and findnodeintree().
unsigned int dns_rbtnode::hashval |
Definition at line 132 of file rbt.h.
Referenced by dns_rbtdb_create(), findnodeintree(), and loading_addrdataset().
void* dns_rbtnode::data |
These values are used in the RBT DB implementation. The appropriate node lock must be held before accessing them.
Definition at line 140 of file rbt.h.
Referenced by activeempty(), activeemtpynode(), add32(), add_nm(), ATF_TC_BODY(), cache_find(), cache_findrdataset(), cache_findzonecut(), cache_zonecut_callback(), clean_cache_node(), clean_zone_node(), cleanup_dead_nodes(), cleanup_ring(), cname_and_other_data(), decrement_reference(), del_name(), delete(), delete_keynames(), dns_keytable_delete(), dns_keytable_deletekeynode(), dns_keytable_find(), dns_keytable_issecuredomain(), dns_keytable_totext(), dns_ntatable_add(), dns_ntatable_covered(), dns_ntatable_save(), dns_ntatable_totext(), dns_rbt_printnodeinfo(), dns_resolver_disable_algorithm(), dns_resolver_disable_ds_digest(), dns_rpz_find_name(), dns_rpz_ready(), dns_tsigkeyring_dumpanddetach(), dns_zt_apply2(), expirenode(), find_closest_nsec(), find_coveringnsec(), find_deepest_zonecut(), find_wildcard(), fix_data(), getdata(), insert(), list_keynames(), print_text_helper(), printnode(), rbt_datafixer(), rdatasetiter_first(), rollback_node(), serialize_node(), serialize_nodes(), setnsec3parameters(), subtractrdataset(), sync_keyzone(), treefix(), zone_find(), zone_findrdataset(), and zone_zonecut_callback().
unsigned int dns_rbtnode::dirty |
These values are used in the RBT DB implementation. The appropriate node lock must be held before accessing them.
Definition at line 141 of file rbt.h.
Referenced by add32(), clean_cache_node(), clean_zone_node(), decrement_reference(), mark_stale_header(), rollback_node(), and subtractrdataset().
unsigned int dns_rbtnode::wild |
These values are used in the RBT DB implementation. The appropriate node lock must be held before accessing them.
Definition at line 142 of file rbt.h.
Referenced by add_wildcard_magic(), find_wildcard(), and zone_zonecut_callback().
unsigned int dns_rbtnode::locknum |
These values are used in the RBT DB implementation. The appropriate node lock must be held before accessing them.
Definition at line 143 of file rbt.h.
Referenced by acache_callback(), activeempty(), activeemtpynode(), add32(), addrdataset(), allrdatasets(), attachnode(), cache_find(), cache_findrdataset(), cache_findzonecut(), cache_zonecut_callback(), closeversion(), dbiterator_current(), decrement_reference(), delete_callback(), deleterdataset(), dereference_iter_node(), detachnode(), dns_rbt_printnodeinfo(), dns_rbtdb_create(), expirenode(), find_closest_nsec(), find_coveringnsec(), find_deepest_zonecut(), find_wildcard(), findnodeintree(), flush_deletions(), free_rdataset(), getoriginnode(), getsigningtime(), loading_addrdataset(), new_reference(), printnode(), prune_tree(), rbt_datafixer(), rdataset_clearprefetch(), rdataset_expire(), rdataset_getadditional(), rdataset_putadditional(), rdataset_settrust(), rdatasetiter_current(), rdatasetiter_first(), rdatasetiter_next(), reactivate_node(), resign_delete(), resigned(), set_ttl(), setnsec3parameters(), setsigningtime(), setup_delegation(), subtractrdataset(), update_header(), zone_find(), zone_findrdataset(), and zone_zonecut_callback().
unsigned int dns_rbtnode::references |