#include <btree.h>
Public Member Functions | |
| bTree (UbixFS *, fileDescriptor *) | |
| bTree (const char *, ubixfsInode *) | |
| bool | Delete (const char *) |
| ubixfsInode * | Find (const char *) |
| ubixfsInode * | GetFirstNode (bNode *) |
| ubixfsInode * | GetFirstNode (void) |
| void | Info (const bNode *) |
| void | Info (void) |
| bool | Insert (const char *, ubixfsInode *) |
| bool | Load (const char *) |
| void | Print (void) |
| void | PrintWholeTree (void) |
| bool | Save (const char *) |
| bool | Verify (void) |
| ~bTree (void) | |
Protected Member Functions | |
| bNode * | allocEmptyNode (void) |
| bNode * | findLeafNode (bNode *, const char *) |
| ubixfsInode * | inodeSearch (ubixfsInode *, const char *) |
| void | insertNode (bNode *, const char *, bNode *) |
| void | Print (bNode *) |
| void | saveNode (FILE *, bNode *, void *) |
| void | splitNode (bNode *) |
| ubixfsInode * | treeSearch (bNode *, const char *) |
Protected Attributes | |
| fileDescriptor * | fd |
| UbixFS * | fs |
| bTreeHeader * | header |
| bNode * | root |
| uInt32 | tag |
Friends | |
| class | UbixFS |
Definition at line 37 of file btree.h.
| bTree::bTree | ( | const char * | , | |
| ubixfsInode * | ||||
| ) |
Definition at line 39 of file btree.cpp.
References allocEmptyNode(), assert, B_MAX_NAME_LENGTH, bTreeHeader::firstDeleted, bTreeHeader::firstNodeOffset, header, memset(), NULL, root, strncpy(), tag, bTreeHeader::treeDepth, bTreeHeader::treeLeafCount, and bTreeHeader::treeWidth.
| bTree::bTree | ( | UbixFS * | , | |
| fileDescriptor * | ||||
| ) |
| bTree::~bTree | ( | void | ) |
Definition at line 763 of file btree.cpp.
References header, bTreeHeader::treeDepth, bTreeHeader::treeLeafCount, and bTreeHeader::treeWidth.
| bNode * bTree::allocEmptyNode | ( | void | ) | [protected] |
Definition at line 444 of file btree.cpp.
References B_NODE_MAGIC_1, B_NODE_MAGIC_2, memset(), NULL, and tag.
Referenced by bTree(), Insert(), and splitNode().
| ubixfsInode * bTree::Find | ( | const char * | ) |
Definition at line 545 of file btree.cpp.
References root, and treeSearch().
Referenced by Insert().
| ubixfsInode * bTree::GetFirstNode | ( | bNode * | ) |
| ubixfsInode * bTree::GetFirstNode | ( | void | ) |
Definition at line 603 of file btree.cpp.
References root.
Referenced by main(), Print(), splitNode(), treeSearch(), and Verify().
| void bTree::Info | ( | const bNode * | ) |
| void bTree::Info | ( | void | ) |
Definition at line 491 of file btree.cpp.
References assert, header, NULL, root, tag, bTreeHeader::treeDepth, bTreeHeader::treeLeafCount, and bTreeHeader::treeWidth.
Referenced by Print().
| ubixfsInode * bTree::inodeSearch | ( | ubixfsInode * | , | |
| const char * | ||||
| ) | [protected] |
Definition at line 558 of file btree.cpp.
References NULL, and strcmp().
Referenced by treeSearch().
| bool bTree::Insert | ( | const char * | , | |
| ubixfsInode * | ||||
| ) |
Definition at line 74 of file btree.cpp.
References allocEmptyNode(), assert, B_MAX_NAME_LENGTH, Find(), bTreeHeader::firstDeleted, bTreeHeader::firstNodeOffset, header, memset(), NULL, root, strcmp(), strncpy(), bTreeHeader::treeDepth, bTreeHeader::treeLeafCount, and bTreeHeader::treeWidth.
Referenced by main().
Definition at line 389 of file btree.cpp.
References B_MAX_KEYS, B_MAX_NAME_LENGTH, memset(), NULL, splitNode(), strcmp(), and strncpy().
Referenced by splitNode().
| void bTree::Print | ( | void | ) |
Definition at line 536 of file btree.cpp.
References GetFirstNode(), and NULL.
Referenced by Print(), and PrintWholeTree().
| void bTree::Print | ( | bNode * | ) | [protected] |
| void bTree::PrintWholeTree | ( | void | ) |
| bool bTree::Save | ( | const char * | ) |
Definition at line 696 of file btree.cpp.
References assert, fclose(), bTreeHeader::firstDeleted, bTreeHeader::firstNodeOffset, fopen(), fwrite(), header, memset(), NULL, root, saveNode(), and tag.
Referenced by main().
| void bTree::saveNode | ( | FILE * | , | |
| bNode * | , | |||
| void * | ||||
| ) | [protected] |
| void bTree::splitNode | ( | bNode * | ) | [protected] |
Definition at line 288 of file btree.cpp.
References allocEmptyNode(), assert, B_MAX_KEYS, B_MAX_NAME_LENGTH, GetFirstNode(), header, insertNode(), memcpy(), memset(), NULL, root, strncpy(), and bTreeHeader::treeDepth.
Referenced by insertNode().
| ubixfsInode * bTree::treeSearch | ( | bNode * | , | |
| const char * | ||||
| ) | [protected] |
Definition at line 578 of file btree.cpp.
References GetFirstNode(), inodeSearch(), NULL, and strcmp().
Referenced by Find().
| bool bTree::Verify | ( | void | ) |
Definition at line 733 of file btree.cpp.
References GetFirstNode(), fileSystem::next, NULL, and strcmp().
fileDescriptor* bTree::fd [protected] |
bTreeHeader* bTree::header [protected] |
bNode* bTree::root [protected] |
Definition at line 39 of file btree.h.
Referenced by bTree(), Find(), GetFirstNode(), Info(), Insert(), PrintWholeTree(), Save(), and splitNode().
uInt32 bTree::tag [protected] |
1.4.7