at v4.7-rc2 45 lines 1.8 kB view raw
1#include <linux/gfp.h> 2#include <linux/types.h> 3#include <linux/radix-tree.h> 4#include <linux/rcupdate.h> 5 6struct item { 7 unsigned long index; 8}; 9 10struct item *item_create(unsigned long index); 11int __item_insert(struct radix_tree_root *root, struct item *item, 12 unsigned order); 13int item_insert(struct radix_tree_root *root, unsigned long index); 14int item_insert_order(struct radix_tree_root *root, unsigned long index, 15 unsigned order); 16int item_delete(struct radix_tree_root *root, unsigned long index); 17struct item *item_lookup(struct radix_tree_root *root, unsigned long index); 18 19void item_check_present(struct radix_tree_root *root, unsigned long index); 20void item_check_absent(struct radix_tree_root *root, unsigned long index); 21void item_gang_check_present(struct radix_tree_root *root, 22 unsigned long start, unsigned long nr, 23 int chunk, int hop); 24void item_full_scan(struct radix_tree_root *root, unsigned long start, 25 unsigned long nr, int chunk); 26void item_kill_tree(struct radix_tree_root *root); 27 28void tag_check(void); 29void multiorder_checks(void); 30 31struct item * 32item_tag_set(struct radix_tree_root *root, unsigned long index, int tag); 33struct item * 34item_tag_clear(struct radix_tree_root *root, unsigned long index, int tag); 35int item_tag_get(struct radix_tree_root *root, unsigned long index, int tag); 36void tree_verify_min_height(struct radix_tree_root *root, int maxindex); 37void verify_tag_consistency(struct radix_tree_root *root, unsigned int tag); 38 39extern int nr_allocated; 40 41/* Normally private parts of lib/radix-tree.c */ 42void radix_tree_dump(struct radix_tree_root *root); 43int root_tag_get(struct radix_tree_root *root, unsigned int tag); 44unsigned long node_maxindex(struct radix_tree_node *); 45unsigned long shift_maxindex(unsigned int shift);