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 + -
显示快捷键?