#include <ubixfs.h>
Inheritance diagram for UbixFS:

Definition at line 132 of file ubixfs.h.
Public Member Functions | |
| UbixFS (device_t *) | |
| UbixFS (void) | |
| virtual int | vfs_format (device_t *) |
| virtual int | vfs_init (void) |
| virtual int | vfs_mkdir (const char *, mode_t) |
| virtual void * | vfs_mknod (const char *, mode_t) |
| virtual int | vfs_open (const char *, fileDescriptor *, int,...) |
| virtual size_t | vfs_read (fileDescriptor *, void *, off_t, size_t) |
| virtual int | vfs_stop (void) |
| virtual int | vfs_sync (void) |
| virtual size_t | vfs_write (fileDescriptor *, void *, off_t, size_t) |
| virtual | ~UbixFS (void) |
Protected Member Functions | |
| blockRun | get8FreeBlocks (uInt32) |
| blockRun | getFreeBlock (void) |
| blockRun | getFreeBlock (uInt32) |
| blockRun | getFreeBlock (blockRun) |
| uInt32 | getNextAG (void) |
| void * | mknod (const char *, ubixfsInode *, mode_t) |
| void | printFreeBlockList (uInt32) |
| void | printSuperBlock (void) |
| void | setFreeBlock (blockRun) |
Protected Attributes | |
| signed char * | freeBlockList |
| fileDescriptor * | root |
| diskSuperBlock * | superBlock |
Friends | |
| class | bTree |
| UbixFS::UbixFS | ( | void | ) |
| UbixFS::UbixFS | ( | device_t * | ) |
Definition at line 21 of file ubixfs.cpp.
References dev, freeBlockList, NULL, root, and superBlock.
| UbixFS::~UbixFS | ( | void | ) | [virtual] |
| blockRun UbixFS::getFreeBlock | ( | void | ) | [protected] |
Definition at line 777 of file ubixfs.cpp.
References getNextAG().
Referenced by getFreeBlock(), mknod(), and vfs_write().
Definition at line 616 of file ubixfs.cpp.
References freeBlockList, getFreeBlock(), NULL, and superBlock.
| uInt32 UbixFS::getNextAG | ( | void | ) | [protected] |
| void * UbixFS::mknod | ( | const char * | , | |
| ubixfsInode * | , | |||
| mode_t | ||||
| ) | [protected] |
Definition at line 835 of file ubixfs.cpp.
References assert, getFreeBlock(), getgid(), getuid(), MAX_FILENAME_LENGTH, memset(), NULL, strncpy(), superBlock, and UBIXFS_INODE_MAGIC.
Referenced by vfs_mkdir(), and vfs_mknod().
| void UbixFS::printFreeBlockList | ( | uInt32 | ) | [protected] |
| void UbixFS::printSuperBlock | ( | void | ) | [protected] |
| void UbixFS::setFreeBlock | ( | blockRun | ) | [protected] |
| int UbixFS::vfs_format | ( | device_t * | ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 118 of file ubixfs.cpp.
References assert, dev, bTreeHeader::firstDeleted, bTreeHeader::firstNodeOffset, getgid(), getuid(), INODE_DIRECTORY, memset(), NULL, strcpy(), bTreeHeader::treeDepth, bTreeHeader::treeLeafCount, bTreeHeader::treeWidth, UBIXFS_INODE_MAGIC, UBIXFS_MAGIC1, UBIXFS_MAGIC2, and UBIXFS_MAGIC3.
Referenced by main().
| int UbixFS::vfs_init | ( | void | ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 50 of file ubixfs.cpp.
References assert, bTree, freeBlockList, fileDescriptor::inode, memset(), NULL, printSuperBlock(), root, strcmp(), superBlock, UBIXFS_CLEAN, UBIXFS_MAGIC1, UBIXFS_MAGIC2, and UBIXFS_MAGIC3.
Referenced by main().
| int UbixFS::vfs_mkdir | ( | const char * | , | |
| mode_t | ||||
| ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 891 of file ubixfs.cpp.
References assert, fileDescriptor::inode, INODE_DIRECTORY, MAX_FILENAME_LENGTH, memset(), mknod(), name, NULL, root, strlen(), and strncpy().
Referenced by main().
| void * UbixFS::vfs_mknod | ( | const char * | , | |
| mode_t | ||||
| ) | [virtual] |
| int UbixFS::vfs_open | ( | const char * | , | |
| fileDescriptor * | , | |||
| int | , | |||
| ... | ||||
| ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 310 of file ubixfs.cpp.
References fileDescriptor::inode, NULL, fileDescriptor::offset, and fileDescriptor::size.
| size_t UbixFS::vfs_read | ( | fileDescriptor * | , | |
| void * | , | |||
| off_t | , | |||
| size_t | ||||
| ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 321 of file ubixfs.cpp.
References assert, fileDescriptor::inode, NULL, NUM_DIRECT_BLOCKS, and superBlock.
| int UbixFS::vfs_stop | ( | void | ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 557 of file ubixfs.cpp.
References freeBlockList, fileDescriptor::inode, NULL, root, superBlock, and vfs_sync().
Referenced by main().
| int UbixFS::vfs_sync | ( | void | ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 588 of file ubixfs.cpp.
References freeBlockList, NULL, and superBlock.
Referenced by vfs_stop().
| size_t UbixFS::vfs_write | ( | fileDescriptor * | , | |
| void * | , | |||
| off_t | , | |||
| size_t | ||||
| ) | [virtual] |
Reimplemented from vfs_abstract.
Definition at line 387 of file ubixfs.cpp.
References assert, getFreeBlock(), fileDescriptor::inode, NULL, NUM_DIRECT_BLOCKS, and superBlock.
friend class bTree [friend] |
signed char* UbixFS::freeBlockList [protected] |
Definition at line 134 of file ubixfs.h.
Referenced by get8FreeBlocks(), getFreeBlock(), printFreeBlockList(), setFreeBlock(), UbixFS(), vfs_init(), vfs_stop(), vfs_sync(), and ~UbixFS().
fileDescriptor* UbixFS::root [protected] |
Definition at line 136 of file ubixfs.h.
Referenced by UbixFS(), vfs_init(), vfs_mkdir(), and vfs_stop().
diskSuperBlock* UbixFS::superBlock [protected] |
Definition at line 135 of file ubixfs.h.
Referenced by get8FreeBlocks(), getFreeBlock(), getNextAG(), mknod(), printFreeBlockList(), printSuperBlock(), setFreeBlock(), UbixFS(), vfs_init(), vfs_read(), vfs_stop(), vfs_sync(), and vfs_write().
1.4.7