Lines Matching defs:elt
46 typedef struct elt {
50 ISC_LINK(struct elt) link;
102 free_elt(isccc_symtab_t *symtab, unsigned int bucket, elt_t *elt) {
103 ISC_LIST_UNLINK(symtab->table[bucket], elt, link);
105 (symtab->undefine_action)(elt->key, elt->type, elt->value,
108 free(elt);
115 elt_t *elt, *nelt;
123 for (elt = ISC_LIST_HEAD(symtab->table[i]); elt != NULL;
124 elt = nelt)
126 nelt = ISC_LIST_NEXT(elt, link);
127 free_elt(symtab, i, elt);
192 elt_t *elt;
197 FIND(symtab, key, type, bucket, elt);
199 if (elt == NULL) {
203 SET_IF_NOT_NULL(value, elt->value);
212 elt_t *elt;
218 FIND(symtab, key, type, bucket, elt);
220 if (exists_policy != isccc_symexists_add && elt != NULL) {
225 ISC_LIST_UNLINK(symtab->table[bucket], elt, link);
227 (symtab->undefine_action)(elt->key, elt->type,
228 elt->value,
232 elt = malloc(sizeof(*elt));
233 if (elt == NULL) {
236 ISC_LINK_INIT(elt, link);
239 elt->key = key;
240 elt->type = type;
241 elt->value = value;
246 ISC_LIST_PREPEND(symtab->table[bucket], elt, link);
255 elt_t *elt;
260 FIND(symtab, key, type, bucket, elt);
262 if (elt == NULL) {
266 free_elt(symtab, bucket, elt);
275 elt_t *elt, *nelt;
281 for (elt = ISC_LIST_HEAD(symtab->table[i]); elt != NULL;
282 elt = nelt)
284 nelt = ISC_LIST_NEXT(elt, link);
285 if ((action)(elt->key, elt->type, elt->value, arg)) {
286 free_elt(symtab, i, elt);