Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v4.9-rc4 46 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); 30void iteration_test(void); 31 32struct item * 33item_tag_set(struct radix_tree_root *root, unsigned long index, int tag); 34struct item * 35item_tag_clear(struct radix_tree_root *root, unsigned long index, int tag); 36int item_tag_get(struct radix_tree_root *root, unsigned long index, int tag); 37void tree_verify_min_height(struct radix_tree_root *root, int maxindex); 38void verify_tag_consistency(struct radix_tree_root *root, unsigned int tag); 39 40extern int nr_allocated; 41 42/* Normally private parts of lib/radix-tree.c */ 43void radix_tree_dump(struct radix_tree_root *root); 44int root_tag_get(struct radix_tree_root *root, unsigned int tag); 45unsigned long node_maxindex(struct radix_tree_node *); 46unsigned long shift_maxindex(unsigned int shift);