summaryrefslogtreecommitdiff
path: root/Source/Kernel/VFS/VFS.ns.h
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-11-15 13:17:58 +0100
committerAlexis211 <alexis211@gmail.com>2009-11-15 13:17:58 +0100
commit21bfca4ad4b84768f05eb4fa2bc0ad7a76b6c536 (patch)
tree7e68b92e80aadec75b5263bd9058c8336d29b77b /Source/Kernel/VFS/VFS.ns.h
parente48f1166ae7402f973ea4aab8e53c7612459048c (diff)
downloadMelon-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.h12
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);