axa  1.2.1
Farsight Security Advanced Exchange Access (AXA)
trie_roots_t Struct Reference

This is the handle on an AXA trie. More...

Data Fields

trie_node_tipv4_root
 root of the internal IPv4 trie More...
 
trie_node_tipv6_root
 root of the internal IPv6 trie More...
 
trie_node_tdom_root
 root of the domain name trie More...
 
int hitlist_max
 hit array limit; default 10 More...
 
void(* node_free )(trie_node_t *node)
 Delete or schedule the deletion of a trie node. More...
 
void(* tval_list_free )(tval_list_t *tval_list)
 Delete or schedule the deletion of an array of values that once belonged to a trie node. More...
 
bool(* hitlist_find )(const hitlist_t *hitlist, tval_t tval)
 NULL or return -1 or the index of an identical, previously found 'hit' on a node value. More...
 
void(* lock )(void)
 Lock to add or delete a node. More...
 
void(* unlock )(void)
 Unlock the trie. More...
 
void(* assert_lock )(void)
 Check the trie lock. More...
 

Detailed Description

This is the handle on an AXA trie.

Trie users must create and initialize one of these structures before first using an AXA trie. Zero or NULL is acceptable for all of its entries.

Field Documentation

trie_node_t* trie_roots_t::ipv4_root

root of the internal IPv4 trie

trie_node_t* trie_roots_t::ipv6_root

root of the internal IPv6 trie

trie_node_t* trie_roots_t::dom_root

root of the domain name trie

int trie_roots_t::hitlist_max

hit array limit; default 10

void(* trie_roots_t::node_free) (trie_node_t *node)

Delete or schedule the deletion of a trie node.

AXA trie users that do not need non-blocking trie searches can set this to NULL or axa_trie_node_delete. A supplied function must eventually call axa_trie_node_free().

void(* trie_roots_t::tval_list_free) (tval_list_t *tval_list)

Delete or schedule the deletion of an array of values that once belonged to a trie node.

AXA trie users that do not need non-blocking trie searches can set this to NULL or axa_trie_node_delete. A supplied function must eventually call free().

bool(* trie_roots_t::hitlist_find) (const hitlist_t *hitlist, tval_t tval)

NULL or return -1 or the index of an identical, previously found 'hit' on a node value.

void(* trie_roots_t::lock) (void)

Lock to add or delete a node.

void(* trie_roots_t::unlock) (void)

Unlock the trie.

void(* trie_roots_t::assert_lock) (void)

Check the trie lock.