Lines Matching defs:node

35 #define elf_hash_add(hashtable, node, key) \
36 hlist_add_head(node, &hashtable[hash_min(key, elf_hash_bits())])
46 static void rb_add(struct rb_root *tree, struct rb_node *node,
54 if (cmp(node, parent) < 0)
60 rb_link_node(node, parent, link);
61 rb_insert_color(node, tree);
67 struct rb_node *node = tree->rb_node;
70 while (node) {
71 int c = cmp(key, node);
74 match = node;
75 node = node->rb_left;
77 node = node->rb_right;
84 static struct rb_node *rb_next_match(struct rb_node *node, const void *key,
87 node = rb_next(node);
88 if (node && cmp(key, node))
89 node = NULL;
90 return node;
93 #define rb_for_each(tree, node, key, cmp) \
94 for ((node) = rb_find_first((tree), (key), (cmp)); \
95 (node); (node) = rb_next_match((node), (key), (cmp)))
99 struct symbol *sa = rb_entry(a, struct symbol, node);
100 struct symbol *sb = rb_entry(b, struct symbol, node);
117 static int symbol_by_offset(const void *key, const struct rb_node *node)
119 const struct symbol *s = rb_entry(node, struct symbol, node);
166 struct rb_node *node;
168 rb_for_each(&sec->symbol_tree, node, &offset, symbol_by_offset) {
169 struct symbol *s = rb_entry(node, struct symbol, node);
180 struct rb_node *node;
182 rb_for_each(&sec->symbol_tree, node, &offset, symbol_by_offset) {
183 struct symbol *s = rb_entry(node, struct symbol, node);
194 struct rb_node *node;
196 rb_for_each(&sec->symbol_tree, node, &offset, symbol_by_offset) {
197 struct symbol *s = rb_entry(node, struct symbol, node);
208 struct rb_node *node;
210 rb_for_each(&sec->symbol_tree, node, &offset, symbol_by_offset) {
211 struct symbol *s = rb_entry(node, struct symbol, node);
357 rb_add(&sym->sec->symbol_tree, &sym->node, symbol_to_offset);
358 pnode = rb_prev(&sym->node);
360 entry = &rb_entry(pnode, struct symbol, node)->list;
372 rb_erase(&sym->node, &sym->sec->symbol_tree);