Lines Matching refs:rb_node

26 	void (*propagate)(struct rb_node *node, struct rb_node *stop);
27 void (*copy)(struct rb_node *old, struct rb_node *new);
28 void (*rotate)(struct rb_node *old, struct rb_node *new);
31 extern void __rb_insert_augmented(struct rb_node *node, struct rb_root *root,
32 void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
34 rb_insert_augmented(struct rb_node *node, struct rb_root *root, in rb_insert_augmented()
43 rbname ## _propagate(struct rb_node *rb, struct rb_node *stop) \
55 rbname ## _copy(struct rb_node *rb_old, struct rb_node *rb_new) \
62 rbname ## _rotate(struct rb_node *rb_old, struct rb_node *rb_new) \
76 #define __rb_parent(pc) ((struct rb_node *)(pc & ~3))
85 static inline void rb_set_parent(struct rb_node *rb, struct rb_node *p) in rb_set_parent()
90 static inline void rb_set_parent_color(struct rb_node *rb, in rb_set_parent_color()
91 struct rb_node *p, int color) in rb_set_parent_color()
97 __rb_change_child(struct rb_node *old, struct rb_node *new, in __rb_change_child()
98 struct rb_node *parent, struct rb_root *root) in __rb_change_child()
106 root->rb_node = new; in __rb_change_child()
109 extern void __rb_erase_color(struct rb_node *parent, struct rb_root *root,
110 void (*augment_rotate)(struct rb_node *old, struct rb_node *new));
112 static __always_inline struct rb_node *
113 __rb_erase_augmented(struct rb_node *node, struct rb_root *root, in __rb_erase_augmented()
116 struct rb_node *child = node->rb_right, *tmp = node->rb_left; in __rb_erase_augmented()
117 struct rb_node *parent, *rebalance; in __rb_erase_augmented()
145 struct rb_node *successor = child, *child2; in __rb_erase_augmented()
210 rb_erase_augmented(struct rb_node *node, struct rb_root *root, in rb_erase_augmented()
213 struct rb_node *rebalance = __rb_erase_augmented(node, root, augment); in rb_erase_augmented()