radix-tree.h
来自「此工具是arm-linux-GCC交叉编译工具(cross-3.4.4)」· C头文件 代码 · 共 72 行
H
72 行
/* * Copyright (C) 2001 Momchil Velikov * Portions Copyright (C) 2001 Christoph Hellwig * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2, or (at * your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifndef _LINUX_RADIX_TREE_H#define _LINUX_RADIX_TREE_H#include <linux/preempt.h>#include <linux/types.h>struct radix_tree_root { unsigned int height; unsigned int gfp_mask; struct radix_tree_node *rnode;};#define RADIX_TREE_INIT(mask) { \ .height = 0, \ .gfp_mask = (mask), \ .rnode = NULL, \}#define RADIX_TREE(name, mask) \ struct radix_tree_root name = RADIX_TREE_INIT(mask)#define INIT_RADIX_TREE(root, mask) \do { \ (root)->height = 0; \ (root)->gfp_mask = (mask); \ (root)->rnode = NULL; \} while (0)int radix_tree_insert(struct radix_tree_root *, unsigned long, void *);void *radix_tree_lookup(struct radix_tree_root *, unsigned long);void *radix_tree_delete(struct radix_tree_root *, unsigned long);unsigned intradix_tree_gang_lookup(struct radix_tree_root *root, void **results, unsigned long first_index, unsigned int max_items);int radix_tree_preload(gfp_t gfp_mask);void radix_tree_init(void);void *radix_tree_tag_set(struct radix_tree_root *root, unsigned long index, int tag);void *radix_tree_tag_clear(struct radix_tree_root *root, unsigned long index, int tag);int radix_tree_tag_get(struct radix_tree_root *root, unsigned long index, int tag);unsigned intradix_tree_gang_lookup_tag(struct radix_tree_root *root, void **results, unsigned long first_index, unsigned int max_items, int tag);int radix_tree_tagged(struct radix_tree_root *root, int tag);static inline void radix_tree_preload_end(void){ preempt_enable();}#endif /* _LINUX_RADIX_TREE_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?