summaryrefslogtreecommitdiff
path: root/Source/Kernel/VFS/FSNode.proto.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Kernel/VFS/FSNode.proto.h')
-rw-r--r--Source/Kernel/VFS/FSNode.proto.h16
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);