Go to the source code of this file.
|
static index_t | fib_node_list_elt_get_index (fib_node_list_elt_t *elt) |
|
static fib_node_list_elt_t * | fib_node_list_elt_get (index_t fi) |
|
static index_t | fib_node_list_head_get_index (fib_node_list_head_t *head) |
|
static fib_node_list_head_t * | fib_node_list_head_get (fib_node_list_t fi) |
|
static fib_node_list_elt_t * | fib_node_list_elt_create (fib_node_list_head_t *head, int id, fib_node_type_t type, fib_node_index_t index) |
|
static void | fib_node_list_head_init (fib_node_list_head_t *head) |
|
fib_node_list_t | fib_node_list_create (void) |
| Create a new node list. More...
|
|
void | fib_node_list_destroy (fib_node_list_t *list) |
|
u32 | fib_node_list_push_front (fib_node_list_t list, int owner_id, fib_node_type_t type, fib_node_index_t index) |
| Insert an element at the from of the list. More...
|
|
u32 | fib_node_list_push_back (fib_node_list_t list, int owner_id, fib_node_type_t type, fib_node_index_t index) |
|
static void | fib_node_list_extract (fib_node_list_head_t *head, fib_node_list_elt_t *elt) |
|
static void | fib_node_list_insert_after (fib_node_list_head_t *head, fib_node_list_elt_t *prev, fib_node_list_elt_t *elt) |
|
void | fib_node_list_remove (fib_node_list_t list, u32 sibling) |
|
void | fib_node_list_elt_remove (u32 sibling) |
|
int | fib_node_list_advance (u32 sibling) |
| Advance the sibling one step (toward the tail) in the list. More...
|
|
int | fib_node_list_elt_get_next (u32 sibling, fib_node_ptr_t *ptr) |
|
u32 | fib_node_list_get_size (fib_node_list_t list) |
|
int | fib_node_list_get_front (fib_node_list_t list, fib_node_ptr_t *ptr) |
|
void | fib_node_list_walk (fib_node_list_t list, fib_node_list_walk_cb_t fn, void *args) |
| Walk the list of node. More...
|
|
void | fib_node_list_memory_show (void) |
|
◆ fib_node_list_elt_t
a hetrogeneous w.r.t.
FIB node type, of FIB nodes. Since we cannot use C pointers, due to memeory reallocs, the next/prev are described as key:{type,index}.
An element in the list
◆ fib_node_list_head_t
◆ fib_node_list_advance()
int fib_node_list_advance |
( |
u32 |
sibling | ) |
|
Advance the sibling one step (toward the tail) in the list.
return 0 if at the end of the list, 1 otherwise.
Definition at line 264 of file fib_node_list.c.
◆ fib_node_list_create()
Create a new node list.
a hetrogeneous w.r.t.
Definition at line 125 of file fib_node_list.c.
◆ fib_node_list_destroy()
◆ fib_node_list_elt_create()
◆ fib_node_list_elt_get()
◆ fib_node_list_elt_get_index()
◆ fib_node_list_elt_get_next()
◆ fib_node_list_elt_remove()
void fib_node_list_elt_remove |
( |
u32 |
sibling | ) |
|
◆ fib_node_list_extract()
◆ fib_node_list_get_front()
◆ fib_node_list_get_size()
◆ fib_node_list_head_get()
◆ fib_node_list_head_get_index()
◆ fib_node_list_head_init()
◆ fib_node_list_insert_after()
◆ fib_node_list_memory_show()
void fib_node_list_memory_show |
( |
void |
| ) |
|
◆ fib_node_list_push_back()
◆ fib_node_list_push_front()
Insert an element at the from of the list.
Definition at line 156 of file fib_node_list.c.
◆ fib_node_list_remove()
◆ fib_node_list_walk()
Walk the list of node.
This must be safe w.r.t. the removal of nodes during the walk.
Definition at line 354 of file fib_node_list.c.
◆ fib_node_list_elt_pool
◆ fib_node_list_head_pool