]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blame - repair/btree.h
xfsprogs: Release v6.7.0
[thirdparty/xfsprogs-dev.git] / repair / btree.h
CommitLineData
959ef981 1// SPDX-License-Identifier: GPL-2.0
379397bf
BN
2/*
3 * Copyright (c) 2007 Silicon Graphics, Inc.
4 * All Rights Reserved.
379397bf
BN
5 */
6
7#ifndef _BTREE_H
8#define _BTREE_H
9
10
11struct btree_root;
12
13void
14btree_init(
15 struct btree_root **root);
16
17void
18btree_destroy(
19 struct btree_root *root);
20
21int
22btree_is_empty(
23 struct btree_root *root);
24
25void *
26btree_lookup(
27 struct btree_root *root,
28 unsigned long key);
29
30void *
31btree_find(
32 struct btree_root *root,
33 unsigned long key,
34 unsigned long *actual_key);
35
36void *
37btree_peek_prev(
38 struct btree_root *root,
39 unsigned long *key);
40
41void *
42btree_peek_next(
43 struct btree_root *root,
44 unsigned long *key);
45
46void *
47btree_lookup_next(
48 struct btree_root *root,
49 unsigned long *key);
50
51void *
52btree_lookup_prev(
53 struct btree_root *root,
54 unsigned long *key);
55
56int
57btree_insert(
58 struct btree_root *root,
59 unsigned long key,
60 void *value);
61
62void *
63btree_delete(
64 struct btree_root *root,
65 unsigned long key);
66
67int
68btree_update_key(
69 struct btree_root *root,
70 unsigned long old_key,
71 unsigned long new_key);
72
73int
74btree_update_value(
75 struct btree_root *root,
76 unsigned long key,
77 void *new_value);
78
79void
80btree_clear(
81 struct btree_root *root);
82
83#ifdef BTREE_STATS
84void
85btree_print_stats(
86 struct btree_root *root,
87 FILE *f);
88#endif
89
90#endif /* _BTREE_H */