#ifndef _H_JFS_BTREE
#define _H_JFS_BTREE
#define BT_TYPE …
#define BT_ROOT …
#define BT_LEAF …
#define BT_INTERNAL …
#define BT_RIGHTMOST …
#define BT_LEFTMOST …
#define BT_SWAPPED …
#define BT_RANDOM …
#define BT_SEQUENTIAL …
#define BT_LOOKUP …
#define BT_INSERT …
#define BT_DELETE …
#define BT_IS_ROOT(MP) …
#define BT_PAGE(IP, MP, TYPE, ROOT) …
#define BT_GETPAGE(IP, BN, MP, TYPE, SIZE, P, RC, ROOT) …
#define BT_MARK_DIRTY(MP, IP) …
#define BT_PUTPAGE(MP) …
struct btframe { … };
struct btstack { … };
#define BT_CLR(btstack) …
#define BT_STACK_FULL(btstack) …
#define BT_PUSH(BTSTACK, BN, INDEX) …
#define BT_POP(btstack) …
#define BT_STACK(btstack) …
static inline void BT_STACK_DUMP(struct btstack *btstack)
{ … }
#define BT_GETSEARCH(IP, LEAF, BN, MP, TYPE, P, INDEX, ROOT) …
#define BT_PUTSEARCH(BTSTACK) …
#endif