RTEMS CPU Kit with SuperCore
Macros | Functions
compat-rbtree.c File Reference
#include <linux/rbtree.h>
Include dependency graph for compat-rbtree.c:

Macros

#define RB_HEAD(head)   (head)->rb_node
 
#define RB_LEFT(elm)   (elm)->rb_left
 
#define RB_RIGHT(elm)   (elm)->rb_right
 
#define RB_PARENT(elm)   (elm)->rb_parent
 
#define RB_COLOR(elm)   (elm)->rb_color
 
#define RB_SET(elm, parent)
 
#define RB_SET_BLACKRED(black, red)
 
#define RB_AUGMENT(x)
 
#define RB_ROTATE_LEFT(head, elm, tmp)
 
#define RB_ROTATE_RIGHT(head, elm, tmp)
 

Functions

void rb_insert_color (struct rb_node *elm, struct rb_root *head)
 
void rb_erase (struct rb_node *elm, struct rb_root *head)
 
struct rb_noderb_next (struct rb_node *elm)
 
struct rb_noderb_prev (struct rb_node *elm)
 
struct rb_noderb_first (struct rb_root *root)
 
struct rb_noderb_last (struct rb_root *root)
 
void rb_replace_node (struct rb_node *victim, struct rb_node *new, struct rb_root *root)
 

Macro Definition Documentation

◆ RB_ROTATE_LEFT

#define RB_ROTATE_LEFT (   head,
  elm,
  tmp 
)
Value:
do { \
(tmp) = RB_RIGHT(elm); \
if ((RB_RIGHT(elm) = RB_LEFT(tmp))) { \
RB_PARENT(RB_LEFT(tmp)) = (elm); \
} \
RB_AUGMENT(elm); \
if ((RB_PARENT(tmp) = RB_PARENT(elm))) { \
if ((elm) == RB_LEFT(RB_PARENT(elm))) \
RB_LEFT(RB_PARENT(elm)) = (tmp); \
else \
RB_RIGHT(RB_PARENT(elm)) = (tmp); \
} else \
(head)->rb_node = (tmp); \
RB_LEFT(tmp) = (elm); \
RB_PARENT(elm) = (tmp); \
RB_AUGMENT(tmp); \
if ((RB_PARENT(tmp))) { \
RB_AUGMENT(RB_PARENT(tmp)); \
} \
} while (0)
Definition: libfs/src/jffs2/include/linux/rbtree.h:7

◆ RB_ROTATE_RIGHT

#define RB_ROTATE_RIGHT (   head,
  elm,
  tmp 
)
Value:
do { \
(tmp) = RB_LEFT(elm); \
if ((RB_LEFT(elm) = RB_RIGHT(tmp))) { \
RB_PARENT(RB_RIGHT(tmp)) = (elm); \
} \
RB_AUGMENT(elm); \
if ((RB_PARENT(tmp) = RB_PARENT(elm))) { \
if ((elm) == RB_LEFT(RB_PARENT(elm))) \
RB_LEFT(RB_PARENT(elm)) = (tmp); \
else \
RB_RIGHT(RB_PARENT(elm)) = (tmp); \
} else \
(head)->rb_node = (tmp); \
RB_RIGHT(tmp) = (elm); \
RB_PARENT(elm) = (tmp); \
RB_AUGMENT(tmp); \
if ((RB_PARENT(tmp))) { \
RB_AUGMENT(RB_PARENT(tmp)); \
} \
} while(0)
Definition: libfs/src/jffs2/include/linux/rbtree.h:7

◆ RB_SET

#define RB_SET (   elm,
  parent 
)
Value:
do { \
RB_PARENT(elm) = parent; \
RB_LEFT(elm) = RB_RIGHT(elm) = NULL; \
RB_COLOR(elm) = RB_RED; \
} while (0)

◆ RB_SET_BLACKRED

#define RB_SET_BLACKRED (   black,
  red 
)
Value:
do { \
RB_COLOR(black) = RB_BLACK; \
RB_COLOR(red) = RB_RED; \
} while (0)