summaryrefslogtreecommitdiff
path: root/Source/Kernel/SyscallManager/Ressource.class.h
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-23 17:28:25 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-23 17:28:25 +0200
commitf0556ed7f051fb101dc68752526696365bf79a11 (patch)
tree61345fbadbf76c6f12b36b48a9dfadd744f6cbbd /Source/Kernel/SyscallManager/Ressource.class.h
parentdf179c18baab4b5d85a283924fb23dfee7ea7fdb (diff)
downloadMelon-f0556ed7f051fb101dc68752526696365bf79a11.tar.gz
Melon-f0556ed7f051fb101dc68752526696365bf79a11.zip
More work on syscalls and shell
Diffstat (limited to 'Source/Kernel/SyscallManager/Ressource.class.h')
-rw-r--r--Source/Kernel/SyscallManager/Ressource.class.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/Source/Kernel/SyscallManager/Ressource.class.h b/Source/Kernel/SyscallManager/Ressource.class.h
index f58276b..2ccdcc1 100644
--- a/Source/Kernel/SyscallManager/Ressource.class.h
+++ b/Source/Kernel/SyscallManager/Ressource.class.h
@@ -2,6 +2,7 @@
#define DEF_RESSOURCE_CLASS_H
#include <SimpleList.class.h>
+#include <Mutex.class.h>
class Ressource;
@@ -37,18 +38,25 @@ class Ressource {
Ressource(const Ressource&);
Ressource& operator=(const Ressource&);
+ Mutex m_lock;
+
u32int m_id;
u32int m_type;
SimpleList<call_t*> *m_callTables;
+ u32int doCall(u8int id, u32int a, u32int b, u32int c, u32int d, u32int e);
+
protected:
Ressource(u8int type, call_t* callTable = 0);
~Ressource();
+ //This function's role is to tell the Ressource if it is supposed to be accesible from current user or not
+ virtual bool accessible() = 0; //This function should be overloaded by all derivated classes
+
void addCallTable(call_t* callTable);
public:
- u32int doCall(u8int id, u32int a, u32int b, u32int c, u32int d, u32int e);
+ u32int call(u8int id, u32int a, u32int b, u32int c, u32int d, u32int e);
u32int resId() { return m_id; }
u32int resType() { return m_type; }
};