diff options
author | Alexis211 <alexis211@gmail.com> | 2009-11-15 13:17:58 +0100 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-11-15 13:17:58 +0100 |
commit | 21bfca4ad4b84768f05eb4fa2bc0ad7a76b6c536 (patch) | |
tree | 7e68b92e80aadec75b5263bd9058c8336d29b77b /Source/Kernel/VFS/VFS.ns.h | |
parent | e48f1166ae7402f973ea4aab8e53c7612459048c (diff) | |
download | Melon-21bfca4ad4b84768f05eb4fa2bc0ad7a76b6c536.tar.gz Melon-21bfca4ad4b84768f05eb4fa2bc0ad7a76b6c536.zip |
Mount points seem to work, mostly owing to dark magic.
Diffstat (limited to 'Source/Kernel/VFS/VFS.ns.h')
-rw-r--r-- | Source/Kernel/VFS/VFS.ns.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Kernel/VFS/VFS.ns.h b/Source/Kernel/VFS/VFS.ns.h index f1d628f..21a1e77 100644 --- a/Source/Kernel/VFS/VFS.ns.h +++ b/Source/Kernel/VFS/VFS.ns.h @@ -3,15 +3,21 @@ #include <VFS/DirectoryNode.class.h> #include <VFS/FileSystem.proto.h> +#include <Vector.class.h> -typedef FileSystem* (* mountcallback)(Partition* partition); +typedef FileSystem* (* mount_callback_t)(Partition* partition); namespace VFS { - void registerMountCallback(mountcallback mcb); + extern Vector<FileSystem*> filesystems; + + void registerMountCallback(mount_callback_t mcb); bool mount(Partition* partition, DirectoryNode *mountpoint); - bool setRootNode(DirectoryNode* root); DirectoryNode* getRootNode(); + void registerFilesystem(FileSystem* fs); + void unregisterFilesystem(FileSystem* fs); + bool unmount(FileSystem* fs); + FSNode* find(const String& path, FSNode* start = 0); FSNode* createFile(const String& path, FSNode* start = 0, bool vrfyperm = false); FSNode* createDirectory(const String& path, FSNode* start = 0, bool vrfyperm = false); |