Lines Matching defs:elt
49 typedef struct elt {
53 ISC_LINK(struct elt) link;
105 free_elt(isccc_symtab_t *symtab, unsigned int bucket, elt_t *elt) {
106 ISC_LIST_UNLINK(symtab->table[bucket], elt, link);
108 (symtab->undefine_action)(elt->key, elt->type, elt->value,
110 free(elt);
117 elt_t *elt, *nelt;
124 for (elt = ISC_LIST_HEAD(symtab->table[i]);
125 elt != NULL;
126 elt = nelt) {
127 nelt = ISC_LIST_NEXT(elt, link);
128 free_elt(symtab, i, elt);
199 elt_t *elt;
204 FIND(symtab, key, type, bucket, elt);
206 if (elt == NULL)
210 *value = elt->value;
220 elt_t *elt;
226 FIND(symtab, key, type, bucket, elt);
228 if (exists_policy != isccc_symexists_add && elt != NULL) {
232 ISC_LIST_UNLINK(symtab->table[bucket], elt, link);
234 (symtab->undefine_action)(elt->key, elt->type,
235 elt->value,
238 elt = malloc(sizeof(*elt));
239 if (elt == NULL)
241 ISC_LINK_INIT(elt, link);
244 elt->key = key;
245 elt->type = type;
246 elt->value = value;
251 ISC_LIST_PREPEND(symtab->table[bucket], elt, link);
259 elt_t *elt;
264 FIND(symtab, key, type, bucket, elt);
266 if (elt == NULL)
269 free_elt(symtab, bucket, elt);
279 elt_t *elt, *nelt;
285 for (elt = ISC_LIST_HEAD(symtab->table[i]);
286 elt != NULL;
287 elt = nelt) {
288 nelt = ISC_LIST_NEXT(elt, link);
289 if ((action)(elt->key, elt->type, elt->value, arg))
290 free_elt(symtab, i, elt);