186d7f5d3SJohn Marino /* $NetBSD: btree.h,v 1.1.1.1 2008/12/22 00:18:47 haad Exp $ */ 286d7f5d3SJohn Marino 386d7f5d3SJohn Marino /* 486d7f5d3SJohn Marino * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. 586d7f5d3SJohn Marino * Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved. 686d7f5d3SJohn Marino * 786d7f5d3SJohn Marino * This file is part of LVM2. 886d7f5d3SJohn Marino * 986d7f5d3SJohn Marino * This copyrighted material is made available to anyone wishing to use, 1086d7f5d3SJohn Marino * modify, copy, or redistribute it subject to the terms and conditions 1186d7f5d3SJohn Marino * of the GNU Lesser General Public License v.2.1. 1286d7f5d3SJohn Marino * 1386d7f5d3SJohn Marino * You should have received a copy of the GNU Lesser General Public License 1486d7f5d3SJohn Marino * along with this program; if not, write to the Free Software Foundation, 1586d7f5d3SJohn Marino * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1686d7f5d3SJohn Marino */ 1786d7f5d3SJohn Marino 1886d7f5d3SJohn Marino #ifndef _LVM_BTREE_H 1986d7f5d3SJohn Marino #define _LVM_BTREE_H 2086d7f5d3SJohn Marino 2186d7f5d3SJohn Marino struct btree; 2286d7f5d3SJohn Marino 2386d7f5d3SJohn Marino struct btree *btree_create(struct dm_pool *mem); 2486d7f5d3SJohn Marino 2586d7f5d3SJohn Marino void *btree_lookup(const struct btree *t, uint32_t k); 2686d7f5d3SJohn Marino int btree_insert(struct btree *t, uint32_t k, void *data); 2786d7f5d3SJohn Marino 2886d7f5d3SJohn Marino struct btree_iter; 2986d7f5d3SJohn Marino void *btree_get_data(const struct btree_iter *it); 3086d7f5d3SJohn Marino 3186d7f5d3SJohn Marino struct btree_iter *btree_first(const struct btree *t); 3286d7f5d3SJohn Marino struct btree_iter *btree_next(const struct btree_iter *it); 3386d7f5d3SJohn Marino 3486d7f5d3SJohn Marino #endif 35