diff options
Diffstat (limited to 'Source/Kernel/VFS/FSNode.proto.h')
-rw-r--r-- | Source/Kernel/VFS/FSNode.proto.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Source/Kernel/VFS/FSNode.proto.h b/Source/Kernel/VFS/FSNode.proto.h index b648141..8b6974a 100644 --- a/Source/Kernel/VFS/FSNode.proto.h +++ b/Source/Kernel/VFS/FSNode.proto.h @@ -3,18 +3,13 @@ #include <common.h> #include <String.class.h> + class FSNode; #include <VFS/FileSystem.proto.h> #include <SyscallManager/Ressource.class.h> #include <FSNode.iface.h> - -enum { - NT_FILE = 1, - NT_DIRECTORY = 2, - NT_SYMLINK = 3, - NT_MOUNTPOINT = 4 -}; +#include <UserManager/User.class.h> class FSNode : public Ressource { protected: @@ -30,6 +25,8 @@ class FSNode : public Ressource { u32int getLengthSC(); u32int typeSC(); u32int getParentSC(); + u32int getPathSC(); + bool accessible(); public: static u32int scall(u8int, u32int, u32int, u32int, u32int); @@ -52,6 +49,11 @@ class FSNode : public Ressource { FileSystem *getFS() { return m_fs; } FSNode* getParent() { return m_parent; } + //Helper functions + bool readable(User* user = 0); + bool writable(User* user = 0); + bool runnable(User* user = 0); + public: bool setName(String name) { bool b = m_fs->setName(this, name); |