Lines Matching defs:elt
40 typedef struct elt {
44 ISC_LINK(struct elt) link;
96 free_elt(isccc_symtab_t *symtab, unsigned int bucket, elt_t *elt) {
97 ISC_LIST_UNLINK(symtab->table[bucket], elt, link);
99 (symtab->undefine_action)(elt->key, elt->type, elt->value,
101 free(elt);
108 elt_t *elt, *nelt;
115 for (elt = ISC_LIST_HEAD(symtab->table[i]);
116 elt != NULL;
117 elt = nelt) {
118 nelt = ISC_LIST_NEXT(elt, link);
119 free_elt(symtab, i, elt);
190 elt_t *elt;
195 FIND(symtab, key, type, bucket, elt);
197 if (elt == NULL)
201 *value = elt->value;
211 elt_t *elt;
217 FIND(symtab, key, type, bucket, elt);
219 if (exists_policy != isccc_symexists_add && elt != NULL) {
223 ISC_LIST_UNLINK(symtab->table[bucket], elt, link);
225 (symtab->undefine_action)(elt->key, elt->type,
226 elt->value,
229 elt = malloc(sizeof(*elt));
230 if (elt == NULL)
232 ISC_LINK_INIT(elt, link);
235 elt->key = key;
236 elt->type = type;
237 elt->value = value;
242 ISC_LIST_PREPEND(symtab->table[bucket], elt, link);
250 elt_t *elt;
255 FIND(symtab, key, type, bucket, elt);
257 if (elt == NULL)
260 free_elt(symtab, bucket, elt);
270 elt_t *elt, *nelt;
276 for (elt = ISC_LIST_HEAD(symtab->table[i]);
277 elt != NULL;
278 elt = nelt) {
279 nelt = ISC_LIST_NEXT(elt, link);
280 if ((action)(elt->key, elt->type, elt->value, arg))
281 free_elt(symtab, i, elt);