Lines Matching defs:nametree
1 /* $NetBSD: nametree.c,v 1.2 2025/01/26 16:25:23 christos Exp $ */
28 #include <dns/nametree.h>
87 dns_nametree_t *nametree = NULL;
91 nametree = isc_mem_get(mctx, sizeof(*nametree));
92 *nametree = (dns_nametree_t){
96 isc_mem_attach(mctx, &nametree->mctx);
97 isc_refcount_init(&nametree->references, 1);
100 strlcpy(nametree->name, name, sizeof(nametree->name));
103 dns_qpmulti_create(mctx, &qpmethods, nametree, &nametree->table);
104 *ntp = nametree;
108 destroy_nametree(dns_nametree_t *nametree) {
109 nametree->magic = 0;
111 dns_qpmulti_destroy(&nametree->table);
113 isc_mem_putanddetach(&nametree->mctx, nametree, sizeof(*nametree));
148 dns_nametree_add(dns_nametree_t *nametree, const dns_name_t *name,
155 REQUIRE(VALID_NAMETREE(nametree));
158 dns_qpmulti_write(nametree->table, &qp);
160 switch (nametree->type) {
162 new = newnode(nametree->mctx, name);
167 new = newnode(nametree->mctx, name);
188 new = newnode(nametree->mctx, name);
189 new->bits = isc_mem_cget(nametree->mctx, size, sizeof(char));
212 dns_qpmulti_commit(nametree->table, &qp);
217 dns_nametree_delete(dns_nametree_t *nametree, const dns_name_t *name) {
223 REQUIRE(VALID_NAMETREE(nametree));
226 dns_qpmulti_write(nametree->table, &qp);
228 switch (nametree->type) {
235 dns_ntnode_t *new = newnode(nametree->mctx, name);
246 dns_qpmulti_commit(nametree->table, &qp);
252 dns_nametree_find(dns_nametree_t *nametree, const dns_name_t *name,
258 REQUIRE(VALID_NAMETREE(nametree));
262 dns_qpmulti_query(nametree->table, &qpr);
267 dns_qpread_destroy(nametree->table, &qpr);
273 dns_nametree_covered(dns_nametree_t *nametree, const dns_name_t *name,
280 REQUIRE(VALID_NAMETREE(nametree));
282 dns_qpmulti_query(nametree->table, &qpr);
289 switch (nametree->type) {
302 dns_qpread_destroy(nametree->table, &qpr);
329 dns_nametree_t *nametree = uctx;
330 snprintf(buf, size, "%s nametree", nametree->name);