Lines Matching refs:rblist

13 int rblist__add_node(struct rblist *rblist, const void *new_entry)  in rblist__add_node()  argument
15 struct rb_node **p = &rblist->entries.rb_root.rb_node; in rblist__add_node()
24 rc = rblist->node_cmp(parent, new_entry); in rblist__add_node()
35 new_node = rblist->node_new(rblist, new_entry); in rblist__add_node()
40 rb_insert_color_cached(new_node, &rblist->entries, leftmost); in rblist__add_node()
41 ++rblist->nr_entries; in rblist__add_node()
46 void rblist__remove_node(struct rblist *rblist, struct rb_node *rb_node) in rblist__remove_node() argument
48 rb_erase_cached(rb_node, &rblist->entries); in rblist__remove_node()
49 --rblist->nr_entries; in rblist__remove_node()
50 rblist->node_delete(rblist, rb_node); in rblist__remove_node()
53 static struct rb_node *__rblist__findnew(struct rblist *rblist, in __rblist__findnew() argument
57 struct rb_node **p = &rblist->entries.rb_root.rb_node; in __rblist__findnew()
66 rc = rblist->node_cmp(parent, entry); in __rblist__findnew()
78 new_node = rblist->node_new(rblist, entry); in __rblist__findnew()
82 &rblist->entries, leftmost); in __rblist__findnew()
83 ++rblist->nr_entries; in __rblist__findnew()
90 struct rb_node *rblist__find(struct rblist *rblist, const void *entry) in rblist__find() argument
92 return __rblist__findnew(rblist, entry, false); in rblist__find()
95 struct rb_node *rblist__findnew(struct rblist *rblist, const void *entry) in rblist__findnew() argument
97 return __rblist__findnew(rblist, entry, true); in rblist__findnew()
100 void rblist__init(struct rblist *rblist) in rblist__init() argument
102 if (rblist != NULL) { in rblist__init()
103 rblist->entries = RB_ROOT_CACHED; in rblist__init()
104 rblist->nr_entries = 0; in rblist__init()
110 void rblist__exit(struct rblist *rblist) in rblist__exit() argument
112 struct rb_node *pos, *next = rb_first_cached(&rblist->entries); in rblist__exit()
117 rblist__remove_node(rblist, pos); in rblist__exit()
121 void rblist__delete(struct rblist *rblist) in rblist__delete() argument
123 if (rblist != NULL) { in rblist__delete()
124 rblist__exit(rblist); in rblist__delete()
125 free(rblist); in rblist__delete()
129 struct rb_node *rblist__entry(const struct rblist *rblist, unsigned int idx) in rblist__entry() argument
133 for (node = rb_first_cached(&rblist->entries); node; in rblist__entry()