Lines Matching refs:parent
70 rbe_set(struct rb_entry *rbe, struct rb_entry *parent) in rbe_set() argument
72 RBE_PARENT(rbe) = parent; in rbe_set()
101 struct rb_entry *parent; in rbe_rotate_left() local
109 parent = RBE_PARENT(rbe); in rbe_rotate_left()
110 RBE_PARENT(tmp) = parent; in rbe_rotate_left()
111 if (parent != NULL) { in rbe_rotate_left()
112 if (rbe == RBE_LEFT(parent)) in rbe_rotate_left()
113 RBE_LEFT(parent) = tmp; in rbe_rotate_left()
115 RBE_RIGHT(parent) = tmp; in rbe_rotate_left()
125 parent = RBE_PARENT(tmp); in rbe_rotate_left()
126 if (parent != NULL) in rbe_rotate_left()
127 rbe_augment(t, parent); in rbe_rotate_left()
135 struct rb_entry *parent; in rbe_rotate_right() local
143 parent = RBE_PARENT(rbe); in rbe_rotate_right()
144 RBE_PARENT(tmp) = parent; in rbe_rotate_right()
145 if (parent != NULL) { in rbe_rotate_right()
146 if (rbe == RBE_LEFT(parent)) in rbe_rotate_right()
147 RBE_LEFT(parent) = tmp; in rbe_rotate_right()
149 RBE_RIGHT(parent) = tmp; in rbe_rotate_right()
159 parent = RBE_PARENT(tmp); in rbe_rotate_right()
160 if (parent != NULL) in rbe_rotate_right()
161 rbe_augment(t, parent); in rbe_rotate_right()
169 struct rb_entry *parent, *gparent, *tmp; in rbe_insert_color() local
171 while ((parent = RBE_PARENT(rbe)) != NULL && in rbe_insert_color()
172 RBE_COLOR(parent) == RB_RED) { in rbe_insert_color()
173 gparent = RBE_PARENT(parent); in rbe_insert_color()
175 if (parent == RBE_LEFT(gparent)) { in rbe_insert_color()
179 rbe_set_blackred(parent, gparent); in rbe_insert_color()
184 if (RBE_RIGHT(parent) == rbe) { in rbe_insert_color()
185 rbe_rotate_left(t, rbt, parent); in rbe_insert_color()
186 tmp = parent; in rbe_insert_color()
187 parent = rbe; in rbe_insert_color()
191 rbe_set_blackred(parent, gparent); in rbe_insert_color()
197 rbe_set_blackred(parent, gparent); in rbe_insert_color()
202 if (RBE_LEFT(parent) == rbe) { in rbe_insert_color()
203 rbe_rotate_right(t, rbt, parent); in rbe_insert_color()
204 tmp = parent; in rbe_insert_color()
205 parent = rbe; in rbe_insert_color()
209 rbe_set_blackred(parent, gparent); in rbe_insert_color()
219 struct rb_entry *parent, struct rb_entry *rbe) in rbe_remove_color() argument
225 if (RBE_LEFT(parent) == rbe) { in rbe_remove_color()
226 tmp = RBE_RIGHT(parent); in rbe_remove_color()
228 rbe_set_blackred(tmp, parent); in rbe_remove_color()
229 rbe_rotate_left(t, rbt, parent); in rbe_remove_color()
230 tmp = RBE_RIGHT(parent); in rbe_remove_color()
237 rbe = parent; in rbe_remove_color()
238 parent = RBE_PARENT(rbe); in rbe_remove_color()
250 tmp = RBE_RIGHT(parent); in rbe_remove_color()
253 RBE_COLOR(tmp) = RBE_COLOR(parent); in rbe_remove_color()
254 RBE_COLOR(parent) = RB_BLACK; in rbe_remove_color()
258 rbe_rotate_left(t, rbt, parent); in rbe_remove_color()
263 tmp = RBE_LEFT(parent); in rbe_remove_color()
265 rbe_set_blackred(tmp, parent); in rbe_remove_color()
266 rbe_rotate_right(t, rbt, parent); in rbe_remove_color()
267 tmp = RBE_LEFT(parent); in rbe_remove_color()
275 rbe = parent; in rbe_remove_color()
276 parent = RBE_PARENT(rbe); in rbe_remove_color()
288 tmp = RBE_LEFT(parent); in rbe_remove_color()
291 RBE_COLOR(tmp) = RBE_COLOR(parent); in rbe_remove_color()
292 RBE_COLOR(parent) = RB_BLACK; in rbe_remove_color()
296 rbe_rotate_right(t, rbt, parent); in rbe_remove_color()
310 struct rb_entry *child, *parent, *old = rbe; in rbe_remove() local
325 parent = RBE_PARENT(rbe); in rbe_remove()
328 RBE_PARENT(child) = parent; in rbe_remove()
329 if (parent != NULL) { in rbe_remove()
330 if (RBE_LEFT(parent) == rbe) in rbe_remove()
331 RBE_LEFT(parent) = child; in rbe_remove()
333 RBE_RIGHT(parent) = child; in rbe_remove()
335 rbe_if_augment(t, parent); in rbe_remove()
339 parent = rbe; in rbe_remove()
357 if (t->t_augment != NULL && parent != NULL) { in rbe_remove()
358 tmp = parent; in rbe_remove()
368 parent = RBE_PARENT(rbe); in rbe_remove()
372 RBE_PARENT(child) = parent; in rbe_remove()
373 if (parent != NULL) { in rbe_remove()
374 if (RBE_LEFT(parent) == rbe) in rbe_remove()
375 RBE_LEFT(parent) = child; in rbe_remove()
377 RBE_RIGHT(parent) = child; in rbe_remove()
379 rbe_if_augment(t, parent); in rbe_remove()
384 rbe_remove_color(t, rbt, parent, child); in rbe_remove()
406 struct rb_entry *parent = NULL; in _rb_insert() local
412 parent = tmp; in _rb_insert()
424 rbe_set(rbe, parent); in _rb_insert()
426 if (parent != NULL) { in _rb_insert()
428 RBE_LEFT(parent) = rbe; in _rb_insert()
430 RBE_RIGHT(parent) = rbe; in _rb_insert()
432 rbe_if_augment(t, parent); in _rb_insert()
553 struct rb_entry *parent = NULL; in _rb_min() local
556 parent = rbe; in _rb_min()
560 return (parent == NULL ? NULL : rb_e2n(t, parent)); in _rb_min()
568 struct rb_entry *parent = NULL; in _rb_max() local
571 parent = rbe; in _rb_max()
575 return (parent == NULL ? NULL : rb_e2n(t, parent)); in _rb_max()
627 _rb_set_parent(const struct rb_type *t, void *node, void *parent) in _rb_set_parent() argument
630 struct rb_entry *rbp = (parent == NULL) ? NULL : rb_n2e(t, parent); in _rb_set_parent()