thmap_t
thmap_gc(thmap_t *thmap, void *ref)
thmap_t *
thmap_t *thmap;
thmap = kmem_zalloc(sizeof(thmap_t), KM_SLEEP);
kmem_free(thmap, sizeof(thmap_t));
thmap_setroot(thmap_t *thmap, uintptr_t root_off)
thmap_getroot(const thmap_t *thmap)
thmap_destroy(thmap_t *thmap)
kmem_free(thmap, sizeof(thmap_t));
static void stage_mem_gc(thmap_t *, uintptr_t, size_t);
gc_alloc(const thmap_t *thmap, size_t len)
gc_free(const thmap_t *thmap, uintptr_t addr, size_t len)
hashval_getleafslot(const thmap_t *thmap,
hashval_getl0slot(const thmap_t *thmap, const thmap_query_t *query,
key_cmp_p(const thmap_t *thmap, const thmap_leaf_t *leaf,
node_create(thmap_t *thmap, thmap_inode_t *parent)
leaf_create(const thmap_t *thmap, const void *key, size_t len, void *val)
leaf_free(const thmap_t *thmap, thmap_leaf_t *leaf)
get_leaf(const thmap_t *thmap, thmap_inode_t *parent, unsigned slot)
root_try_put(thmap_t *thmap, const thmap_query_t *query, thmap_leaf_t *leaf)
find_edge_node(const thmap_t *thmap, thmap_query_t *query,
find_edge_node_locked(const thmap_t *thmap, thmap_query_t *query,
thmap_get(thmap_t *thmap, const void *key, size_t len)
thmap_put(thmap_t *thmap, const void *key, size_t len, void *val)
thmap_del(thmap_t *thmap, const void *key, size_t len)
stage_mem_gc(thmap_t *thmap, uintptr_t addr, size_t len)
thmap_stage_gc(thmap_t *thmap)
thmap_t * cd_map;
thmap_t * map;
thmap_t * addr_map;
thmap_t * t_map;
static thmap_t *encap_map[2]; /* 0 for AF_INET, 1 for AF_INET6 */
thmap_t *emap = encap_map[0];
thmap_t *emap = encap_map[1];
thmap_t *emap;
thmap_t *emap;
thmap_t * thmap_create(uintptr_t, const thmap_ops_t *, unsigned);
void thmap_destroy(thmap_t *);
void * thmap_get(thmap_t *, const void *, size_t);
void * thmap_put(thmap_t *, const void *, size_t, void *);
void * thmap_del(thmap_t *, const void *, size_t);
void * thmap_stage_gc(thmap_t *);
void thmap_gc(thmap_t *, void *);
int thmap_setroot(thmap_t *, uintptr_t);
uintptr_t thmap_getroot(const thmap_t *);