Lines Matching refs:rblist

14 int rblist__add_node(struct rblist *rblist, const void *new_entry)  in rblist__add_node()  argument
16 struct rb_node **p = &rblist->entries.rb_node; in rblist__add_node()
24 rc = rblist->node_cmp(parent, new_entry); in rblist__add_node()
33 new_node = rblist->node_new(rblist, new_entry); in rblist__add_node()
38 rb_insert_color(new_node, &rblist->entries); in rblist__add_node()
39 ++rblist->nr_entries; in rblist__add_node()
44 void rblist__remove_node(struct rblist *rblist, struct rb_node *rb_node) in rblist__remove_node() argument
46 rb_erase(rb_node, &rblist->entries); in rblist__remove_node()
47 --rblist->nr_entries; in rblist__remove_node()
48 rblist->node_delete(rblist, rb_node); in rblist__remove_node()
51 static struct rb_node *__rblist__findnew(struct rblist *rblist, in __rblist__findnew() argument
55 struct rb_node **p = &rblist->entries.rb_node; in __rblist__findnew()
63 rc = rblist->node_cmp(parent, entry); in __rblist__findnew()
73 new_node = rblist->node_new(rblist, entry); in __rblist__findnew()
76 rb_insert_color(new_node, &rblist->entries); in __rblist__findnew()
77 ++rblist->nr_entries; in __rblist__findnew()
84 struct rb_node *rblist__find(struct rblist *rblist, const void *entry) in rblist__find() argument
86 return __rblist__findnew(rblist, entry, false); in rblist__find()
89 struct rb_node *rblist__findnew(struct rblist *rblist, const void *entry) in rblist__findnew() argument
91 return __rblist__findnew(rblist, entry, true); in rblist__findnew()
94 void rblist__init(struct rblist *rblist) in rblist__init() argument
96 if (rblist != NULL) { in rblist__init()
97 rblist->entries = RB_ROOT; in rblist__init()
98 rblist->nr_entries = 0; in rblist__init()
104 void rblist__delete(struct rblist *rblist) in rblist__delete() argument
106 if (rblist != NULL) { in rblist__delete()
107 struct rb_node *pos, *next = rb_first(&rblist->entries); in rblist__delete()
112 rblist__remove_node(rblist, pos); in rblist__delete()
114 free(rblist); in rblist__delete()
118 struct rb_node *rblist__entry(const struct rblist *rblist, unsigned int idx) in rblist__entry() argument
122 for (node = rb_first(&rblist->entries); node; node = rb_next(node)) { in rblist__entry()