Lines Matching refs:rb_node
36 struct rb_node { struct
38 struct rb_node *rb_right; argument
39 struct rb_node *rb_left; argument
44 struct rb_node *rb_node; member
59 struct rb_node *rb_leftmost;
62 #define rb_parent(r) ((struct rb_node *)((r)->__rb_parent_color & ~3))
68 #define RB_EMPTY_ROOT(root) (READ_ONCE((root)->rb_node) == NULL)
77 extern void rb_insert_color(struct rb_node *, struct rb_root *);
78 extern void rb_erase(struct rb_node *, struct rb_root *);
82 extern struct rb_node *rb_next(const struct rb_node *);
83 extern struct rb_node *rb_prev(const struct rb_node *);
84 extern struct rb_node *rb_first(const struct rb_root *);
85 extern struct rb_node *rb_last(const struct rb_root *);
87 extern void rb_insert_color_cached(struct rb_node *,
89 extern void rb_erase_cached(struct rb_node *node, struct rb_root_cached *);
94 extern struct rb_node *rb_first_postorder(const struct rb_root *);
95 extern struct rb_node *rb_next_postorder(const struct rb_node *);
98 extern void rb_replace_node(struct rb_node *victim, struct rb_node *new,
100 extern void rb_replace_node_rcu(struct rb_node *victim, struct rb_node *new,
102 extern void rb_replace_node_cached(struct rb_node *victim, struct rb_node *new,
105 static inline void rb_link_node(struct rb_node *node, struct rb_node *parent, in rb_link_node()
106 struct rb_node **rb_link) in rb_link_node()
114 static inline void rb_link_node_rcu(struct rb_node *node, struct rb_node *parent, in rb_link_node_rcu()
115 struct rb_node **rb_link) in rb_link_node_rcu()