Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2088 → Rev 2089

/trunk/kernel/generic/include/adt/btree.h
36,7 → 36,6
#define KERN_BTREE_H_
 
#include <arch/types.h>
#include <typedefs.h>
#include <adt/list.h>
 
#define BTREE_M 5
45,7 → 44,7
typedef uint64_t btree_key_t;
 
/** B-tree node structure. */
struct btree_node {
typedef struct btree_node {
/** Number of keys. */
count_t keys;
 
65,10 → 64,10
* ...
* There is room for storing a subtree pointer for the extra key.
*/
btree_node_t *subtree[BTREE_M + 1];
struct btree_node *subtree[BTREE_M + 1];
 
/** Pointer to parent node. Root node has NULL parent. */
btree_node_t *parent;
struct btree_node *parent;
 
/** Link connecting leaf-level nodes. Defined only when this node is a leaf. */
link_t leaf_link;
76,13 → 75,13
/** Variables needed by btree_print(). */
link_t bfs_link;
int depth;
};
} btree_node_t;
 
/** B-tree structure. */
struct btree {
typedef struct {
btree_node_t *root; /**< B-tree root node pointer. */
link_t leaf_head; /**< Leaf-level list head. */
};
} btree_t;
 
extern void btree_init(void);