|
libubox
C utility functions for OpenWrt.
|
#include "avl.h"Go to the source code of this file.
Data Structures | |
| struct | vlist_tree |
| struct | vlist_node |
Macros | |
| #define | VLIST_TREE_INIT(_name, _comp, _update, _keep_old, _no_delete) |
| #define | VLIST_TREE(_name, ...) |
| #define | vlist_find(tree, name, element, node_member) avl_find_element(&(tree)->avl, name, element, node_member.avl) |
| #define | vlist_for_each_element(tree, element, node_member) avl_for_each_element(&(tree)->avl, element, node_member.avl) |
| #define | vlist_for_each_element_safe(tree, element, node_member, ptr) avl_for_each_element_safe(&(tree)->avl, element, node_member.avl, ptr) |
| #define | vlist_for_each_element_reverse(tree, element, node_member) avl_for_each_element_reverse(&(tree)->avl, element, node_member.avl) |
| #define | vlist_for_first_to_element(tree, last, element, node_member) avl_for_element_range(avl_first_element(&(tree)->avl, element, node_member.avl), last, element, node_member.avl) |
| #define | vlist_for_first_to_element_reverse(tree, last, element, node_member) avl_for_element_range_reverse(avl_first_element(&(tree)->avl, element, node_member.avl), last, element, node_member.avl) |
| #define | vlist_for_element_to_last(tree, first, element, node_member) avl_for_element_range(first, avl_last_element(&(tree)->avl, element, node_member.avl), element, node_member.avl) |
| #define | vlist_for_element_to_last_reverse(tree, first, element, node_member) avl_for_element_range_reverse(first, avl_last_element(&(tree)->avl, element, node_member.avl), element, node_member.avl) |
Typedefs | |
| typedef void(* | vlist_update_cb) (struct vlist_tree *tree, struct vlist_node *node_new, struct vlist_node *node_old) |
Functions | |
| void | vlist_init (struct vlist_tree *tree, avl_tree_comp cmp, vlist_update_cb update) |
| static void | vlist_update (struct vlist_tree *tree) |
| void | vlist_add (struct vlist_tree *tree, struct vlist_node *node, const void *key) |
| void | vlist_delete (struct vlist_tree *tree, struct vlist_node *node) |
| void | vlist_flush (struct vlist_tree *tree) |
| void | vlist_flush_all (struct vlist_tree *tree) |
| #define vlist_find | ( | tree, | |
| name, | |||
| element, | |||
| node_member | |||
| ) | avl_find_element(&(tree)->avl, name, element, node_member.avl) |
| #define vlist_for_each_element | ( | tree, | |
| element, | |||
| node_member | |||
| ) | avl_for_each_element(&(tree)->avl, element, node_member.avl) |
| #define vlist_for_each_element_reverse | ( | tree, | |
| element, | |||
| node_member | |||
| ) | avl_for_each_element_reverse(&(tree)->avl, element, node_member.avl) |
| #define vlist_for_each_element_safe | ( | tree, | |
| element, | |||
| node_member, | |||
| ptr | |||
| ) | avl_for_each_element_safe(&(tree)->avl, element, node_member.avl, ptr) |
| #define vlist_for_element_to_last | ( | tree, | |
| first, | |||
| element, | |||
| node_member | |||
| ) | avl_for_element_range(first, avl_last_element(&(tree)->avl, element, node_member.avl), element, node_member.avl) |
| #define vlist_for_element_to_last_reverse | ( | tree, | |
| first, | |||
| element, | |||
| node_member | |||
| ) | avl_for_element_range_reverse(first, avl_last_element(&(tree)->avl, element, node_member.avl), element, node_member.avl) |
| #define vlist_for_first_to_element | ( | tree, | |
| last, | |||
| element, | |||
| node_member | |||
| ) | avl_for_element_range(avl_first_element(&(tree)->avl, element, node_member.avl), last, element, node_member.avl) |
| #define vlist_for_first_to_element_reverse | ( | tree, | |
| last, | |||
| element, | |||
| node_member | |||
| ) | avl_for_element_range_reverse(avl_first_element(&(tree)->avl, element, node_member.avl), last, element, node_member.avl) |
| #define VLIST_TREE | ( | _name, | |
| ... | |||
| ) |
| #define VLIST_TREE_INIT | ( | _name, | |
| _comp, | |||
| _update, | |||
| _keep_old, | |||
| _no_delete | |||
| ) |
| typedef void(* vlist_update_cb) (struct vlist_tree *tree, struct vlist_node *node_new, struct vlist_node *node_old) |
| void vlist_add | ( | struct vlist_tree * | tree, |
| struct vlist_node * | node, | ||
| const void * | key | ||
| ) |
Definition at line 36 of file vlist.c.

| void vlist_delete | ( | struct vlist_tree * | tree, |
| struct vlist_node * | node | ||
| ) |
| void vlist_flush | ( | struct vlist_tree * | tree | ) |
Definition at line 62 of file vlist.c.


| void vlist_flush_all | ( | struct vlist_tree * | tree | ) |
| void vlist_init | ( | struct vlist_tree * | tree, |
| avl_tree_comp | cmp, | ||
| vlist_update_cb | update | ||
| ) |
|
inlinestatic |