#include <stdlib.h>

Data Structures | |
| struct | rb_node |
| struct | rb_root |
Macros | |
| #define | RB_RED 0 |
| #define | RB_BLACK 1 |
| #define | rb_parent(r) ((struct rb_node *)((r)->rb_parent_color & ~3)) |
| #define | rb_color(r) ((r)->rb_parent_color & 1) |
| #define | rb_is_red(r) (!rb_color(r)) |
| #define | rb_is_black(r) rb_color(r) |
| #define | rb_set_red(r) do { (r)->rb_parent_color &= ~1; } while (0) |
| #define | rb_set_black(r) do { (r)->rb_parent_color |= 1; } while (0) |
| #define | RB_ROOT { NULL, } |
| #define | rb_entry(ptr, type, member) container_of(ptr, type, member) |
| #define | RB_EMPTY_ROOT(root) ((root)->rb_node == NULL) |
| #define | RB_EMPTY_NODE(node) (rb_parent(node) == node) |
| #define | RB_CLEAR_NODE(node) (rb_set_parent(node, node)) |
Functions | |
| struct rb_node | __attribute__ ((aligned(sizeof(long)))) |
| void | rb_insert_color (struct rb_node *, struct rb_root *) |
| void | rb_erase (struct rb_node *, struct rb_root *) |
| struct rb_node * | rb_next (struct rb_node *) |
| struct rb_node * | rb_prev (struct rb_node *) |
| struct rb_node * | rb_first (struct rb_root *) |
| struct rb_node * | rb_last (struct rb_root *) |
| void | rb_replace_node (struct rb_node *victim, struct rb_node *new, struct rb_root *root) |
Variables | |
| unsigned long | rb_parent_color |
| struct rb_node * | rb_right |
| struct rb_node * | rb_left |
| struct rb_root | __attribute__ |
| #define RB_BLACK 1 |
Referenced by rb_erase().
| #define RB_CLEAR_NODE | ( | node | ) | (rb_set_parent(node, node)) |
Referenced by del_alarm(), do_alarm_run(), init_alarm(), ulogd_del_timer(), ulogd_do_timer_run(), and ulogd_init_timer().
| #define rb_color | ( | r | ) | ((r)->rb_parent_color & 1) |
Referenced by rb_erase().
| #define RB_EMPTY_NODE | ( | node | ) | (rb_parent(node) == node) |
Referenced by alarm_pending(), del_alarm(), ulogd_del_timer(), and ulogd_timer_pending().
| #define rb_entry | ( | ptr, | |
| type, | |||
| member | |||
| ) | container_of(ptr, type, member) |
| #define rb_is_black | ( | r | ) | rb_color(r) |
| #define rb_is_red | ( | r | ) | (!rb_color(r)) |
Referenced by rb_insert_color().
| #define rb_parent | ( | r | ) | ((struct rb_node *)((r)->rb_parent_color & ~3)) |
Referenced by rb_erase(), rb_insert_color(), rb_next(), rb_prev(), and rb_replace_node().
| #define RB_RED 0 |
| #define RB_ROOT { NULL, } |
| #define rb_set_black | ( | r | ) | do { (r)->rb_parent_color |= 1; } while (0) |
Referenced by rb_insert_color().
| #define rb_set_red | ( | r | ) | do { (r)->rb_parent_color &= ~1; } while (0) |
Referenced by rb_insert_color().
Referenced by del_alarm(), do_alarm_run(), ulogd_del_timer(), and ulogd_do_timer_run().

Referenced by do_alarm_run(), get_next_alarm_run(), ulogd_do_timer_run(), and ulogd_get_next_timer_run().

Referenced by rb_erase().
| unsigned long rb_parent_color |