import source from lvm2 2.02.79
[external/device-mapper.git] / lib / datastruct / btree.h
1 /*
2  * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.  
3  * Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved.
4  *
5  * This file is part of LVM2.
6  *
7  * This copyrighted material is made available to anyone wishing to use,
8  * modify, copy, or redistribute it subject to the terms and conditions
9  * of the GNU Lesser General Public License v.2.1.
10  *
11  * You should have received a copy of the GNU Lesser General Public License
12  * along with this program; if not, write to the Free Software Foundation,
13  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
14  */
15
16 #ifndef _LVM_BTREE_H
17 #define _LVM_BTREE_H
18
19 struct btree;
20
21 struct btree *btree_create(struct dm_pool *mem);
22
23 void *btree_lookup(const struct btree *t, uint32_t k);
24 int btree_insert(struct btree *t, uint32_t k, void *data);
25
26 struct btree_iter;
27 void *btree_get_data(const struct btree_iter *it);
28
29 struct btree_iter *btree_first(const struct btree *t);
30 struct btree_iter *btree_next(const struct btree_iter *it);
31
32 #endif