RB_PARENT
RB_PARENT(elm, field) = parent; \
RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \
if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
RB_PARENT(elm, field) = (tmp); \
if ((RB_PARENT(tmp, field))) \
RB_AUGMENT(RB_PARENT(tmp, field)); \
RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \
if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
RB_PARENT(elm, field) = (tmp); \
if ((RB_PARENT(tmp, field))) \
RB_AUGMENT(RB_PARENT(tmp, field)); \
while ((parent = RB_PARENT(elm, field)) && \
gparent = RB_PARENT(parent, field); \
parent = RB_PARENT(elm, field); \
parent = RB_PARENT(elm, field); \
parent = RB_PARENT(elm, field); \
RB_PARENT(child, field) = parent; \
if (RB_PARENT(elm, field) == old) \
if (RB_PARENT(old, field)) { \
if (RB_LEFT(RB_PARENT(old, field), field) == old)\
RB_LEFT(RB_PARENT(old, field), field) = elm;\
RB_RIGHT(RB_PARENT(old, field), field) = elm;\
RB_AUGMENT(RB_PARENT(old, field)); \
RB_PARENT(RB_LEFT(old, field), field) = elm; \
RB_PARENT(RB_RIGHT(old, field), field) = elm; \
} while ((left = RB_PARENT(left, field))); \
parent = RB_PARENT(elm, field); \
RB_PARENT(child, field) = parent; \
if (RB_PARENT(elm, field) && \
(elm == RB_LEFT(RB_PARENT(elm, field), field))) \
elm = RB_PARENT(elm, field); \
while (RB_PARENT(elm, field) && \
(elm == RB_RIGHT(RB_PARENT(elm, field), field)))\
elm = RB_PARENT(elm, field); \
elm = RB_PARENT(elm, field); \
if (RB_PARENT(elm, field) && \
(elm == RB_RIGHT(RB_PARENT(elm, field), field))) \
elm = RB_PARENT(elm, field); \
while (RB_PARENT(elm, field) && \
(elm == RB_LEFT(RB_PARENT(elm, field), field)))\
elm = RB_PARENT(elm, field); \
elm = RB_PARENT(elm, field); \
RB_PARENT(__DECONST(struct rb_node *, node), __entry);
#define rb_parent(r) RB_PARENT(r, __entry)
#define RB_EMPTY_NODE(node) (RB_PARENT(node, __entry) == node)
nbr = RB_PARENT(entry, rb_entry);
while ((next = RB_PARENT(curr, rb_entry)) != NULL &&
first = RB_PARENT(first, rb_entry);
first = RB_PARENT(first, rb_entry);
curr = RB_PARENT(curr, rb_entry);
RB_PARENT(rbctd64, rblnk))) {
parent = RB_PARENT(rbctd64, rblnk);
RB_PARENT(rbctd64, rblnk)),
(rb_update_tmp = RB_PARENT(rb_update_tmp, field)) != NULL) \
(elm = RB_PARENT(elm, field)) != NULL)
parent = RB_PARENT(in, field); \
parent = RB_PARENT(parent, field); \
(void)RB_AUGMENT_CHECK(RB_PARENT(opar, field)); \
while (RB_PARENT(elm, field) && \
(elm == RB_RIGHT(RB_PARENT(elm, field), field))) \
elm = RB_PARENT(elm, field); \
elm = RB_PARENT(elm, field); \
while (RB_PARENT(elm, field) && \
(elm == RB_LEFT(RB_PARENT(elm, field), field))) \
elm = RB_PARENT(elm, field); \
elm = RB_PARENT(elm, field); \