]>
Commit | Line | Data |
---|---|---|
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 | ||
11 | struct btree_root; | |
12 | ||
13 | void | |
14 | btree_init( | |
15 | struct btree_root **root); | |
16 | ||
17 | void | |
18 | btree_destroy( | |
19 | struct btree_root *root); | |
20 | ||
21 | int | |
22 | btree_is_empty( | |
23 | struct btree_root *root); | |
24 | ||
25 | void * | |
26 | btree_lookup( | |
27 | struct btree_root *root, | |
28 | unsigned long key); | |
29 | ||
30 | void * | |
31 | btree_find( | |
32 | struct btree_root *root, | |
33 | unsigned long key, | |
34 | unsigned long *actual_key); | |
35 | ||
36 | void * | |
37 | btree_peek_prev( | |
38 | struct btree_root *root, | |
39 | unsigned long *key); | |
40 | ||
41 | void * | |
42 | btree_peek_next( | |
43 | struct btree_root *root, | |
44 | unsigned long *key); | |
45 | ||
46 | void * | |
47 | btree_lookup_next( | |
48 | struct btree_root *root, | |
49 | unsigned long *key); | |
50 | ||
51 | void * | |
52 | btree_lookup_prev( | |
53 | struct btree_root *root, | |
54 | unsigned long *key); | |
55 | ||
56 | int | |
57 | btree_insert( | |
58 | struct btree_root *root, | |
59 | unsigned long key, | |
60 | void *value); | |
61 | ||
62 | void * | |
63 | btree_delete( | |
64 | struct btree_root *root, | |
65 | unsigned long key); | |
66 | ||
67 | int | |
68 | btree_update_key( | |
69 | struct btree_root *root, | |
70 | unsigned long old_key, | |
71 | unsigned long new_key); | |
72 | ||
73 | int | |
74 | btree_update_value( | |
75 | struct btree_root *root, | |
76 | unsigned long key, | |
77 | void *new_value); | |
78 | ||
79 | void | |
80 | btree_clear( | |
81 | struct btree_root *root); | |
82 | ||
83 | #ifdef BTREE_STATS | |
84 | void | |
85 | btree_print_stats( | |
86 | struct btree_root *root, | |
87 | FILE *f); | |
88 | #endif | |
89 | ||
90 | #endif /* _BTREE_H */ |