Lines Matching refs:fwdtable

52 	dns_fwdtable_t *fwdtable;
57 fwdtable = isc_mem_get(mctx, sizeof(dns_fwdtable_t));
58 if (fwdtable == NULL)
61 fwdtable->table = NULL;
62 result = dns_rbt_create(mctx, auto_detach, fwdtable, &fwdtable->table);
66 result = isc_rwlock_init(&fwdtable->rwlock, 0, 0);
70 fwdtable->mctx = NULL;
71 isc_mem_attach(mctx, &fwdtable->mctx);
72 fwdtable->magic = FWDTABLEMAGIC;
73 *fwdtablep = fwdtable;
78 dns_rbt_destroy(&fwdtable->table);
81 isc_mem_put(mctx, fwdtable, sizeof(dns_fwdtable_t));
87 dns_fwdtable_add(dns_fwdtable_t *fwdtable, dns_name_t *name,
94 REQUIRE(VALID_FWDTABLE(fwdtable));
96 forwarders = isc_mem_get(fwdtable->mctx, sizeof(dns_forwarders_t));
105 nsa = isc_mem_get(fwdtable->mctx, sizeof(isc_sockaddr_t));
116 RWLOCK(&fwdtable->rwlock, isc_rwlocktype_write);
117 result = dns_rbt_addname(fwdtable->table, name, forwarders);
118 RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_write);
129 isc_mem_put(fwdtable->mctx, sa, sizeof(isc_sockaddr_t));
131 isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));
136 dns_fwdtable_find(dns_fwdtable_t *fwdtable, dns_name_t *name,
139 return (dns_fwdtable_find2(fwdtable, name, NULL, forwardersp));
143 dns_fwdtable_find2(dns_fwdtable_t *fwdtable, dns_name_t *name,
148 REQUIRE(VALID_FWDTABLE(fwdtable));
150 RWLOCK(&fwdtable->rwlock, isc_rwlocktype_read);
152 result = dns_rbt_findname(fwdtable->table, name, 0, foundname,
157 RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_read);
164 dns_fwdtable_t *fwdtable;
169 fwdtable = *fwdtablep;
171 dns_rbt_destroy(&fwdtable->table);
172 isc_rwlock_destroy(&fwdtable->rwlock);
173 fwdtable->magic = 0;
174 mctx = fwdtable->mctx;
175 isc_mem_put(mctx, fwdtable, sizeof(dns_fwdtable_t));
188 dns_fwdtable_t *fwdtable = arg;
196 isc_mem_put(fwdtable->mctx, sa, sizeof(isc_sockaddr_t));
198 isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));