Lines Matching defs: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_delete(dns_fwdtable_t *fwdtable, dns_name_t *name) {
139 REQUIRE(VALID_FWDTABLE(fwdtable));
141 RWLOCK(&fwdtable->rwlock, isc_rwlocktype_write);
142 result = dns_rbt_deletename(fwdtable->table, name, ISC_FALSE);
143 RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_write);
152 dns_fwdtable_find(dns_fwdtable_t *fwdtable, dns_name_t *name,
155 return (dns_fwdtable_find2(fwdtable, name, NULL, forwardersp));
159 dns_fwdtable_find2(dns_fwdtable_t *fwdtable, dns_name_t *name,
164 REQUIRE(VALID_FWDTABLE(fwdtable));
166 RWLOCK(&fwdtable->rwlock, isc_rwlocktype_read);
168 result = dns_rbt_findname(fwdtable->table, name, 0, foundname,
173 RWUNLOCK(&fwdtable->rwlock, isc_rwlocktype_read);
180 dns_fwdtable_t *fwdtable;
185 fwdtable = *fwdtablep;
187 dns_rbt_destroy(&fwdtable->table);
188 isc_rwlock_destroy(&fwdtable->rwlock);
189 fwdtable->magic = 0;
190 mctx = fwdtable->mctx;
191 isc_mem_put(mctx, fwdtable, sizeof(dns_fwdtable_t));
204 dns_fwdtable_t *fwdtable = arg;
212 isc_mem_put(fwdtable->mctx, sa, sizeof(isc_sockaddr_t));
214 isc_mem_put(fwdtable->mctx, forwarders, sizeof(dns_forwarders_t));