summaryrefslogtreecommitdiff
path: root/Source/Library/Userland/Syscall
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-20 18:30:50 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-20 18:30:50 +0200
commit90b49b6f171108f272ff529f7546bd9625ca7d17 (patch)
treec32f714fc7936867decb3a359effbc1f5c07dc64 /Source/Library/Userland/Syscall
parent866580161b826443bed3862b8315cefd505de37c (diff)
downloadMelon-90b49b6f171108f272ff529f7546bd9625ca7d17.tar.gz
Melon-90b49b6f171108f272ff529f7546bd9625ca7d17.zip
Implemented static syscalls, specific to a class and not an object.
Diffstat (limited to 'Source/Library/Userland/Syscall')
-rw-r--r--Source/Library/Userland/Syscall/RessourceCaller.class.cpp4
-rw-r--r--Source/Library/Userland/Syscall/RessourceCaller.class.h5
2 files changed, 6 insertions, 3 deletions
diff --git a/Source/Library/Userland/Syscall/RessourceCaller.class.cpp b/Source/Library/Userland/Syscall/RessourceCaller.class.cpp
index 2d7b6ba..f3b61a8 100644
--- a/Source/Library/Userland/Syscall/RessourceCaller.class.cpp
+++ b/Source/Library/Userland/Syscall/RessourceCaller.class.cpp
@@ -7,8 +7,8 @@ RessourceCaller::RessourceCaller(u32int id, u32int type) {
if (m_type != type) m_type = 0;
}
-u32int RessourceCaller::getObjId(u32int type) {
- return syscall(0xFFFFFE00, type);
+u32int RessourceCaller::sCall(u32int type, u8int wat, u32int a, u32int b, u32int c, u32int d) {
+ return syscall(0xFFFFFE00 | wat, type, a, b, c, d);
}
u32int RessourceCaller::doCall(u8int call, u32int a, u32int b, u32int c, u32int d, u32int e) {
diff --git a/Source/Library/Userland/Syscall/RessourceCaller.class.h b/Source/Library/Userland/Syscall/RessourceCaller.class.h
index 3602ef0..85beacf 100644
--- a/Source/Library/Userland/Syscall/RessourceCaller.class.h
+++ b/Source/Library/Userland/Syscall/RessourceCaller.class.h
@@ -21,7 +21,10 @@ class RessourceCaller {
protected:
RessourceCaller(u32int id, u32int type);
- static u32int getObjId(u32int type);
+
+ //Static call -- a call specific to a class and not an object
+ static u32int sCall(u32int type, u8int wat, u32int a = 0, u32int b = 0, u32int c = 0, u32int d = 0);
+
u32int doCall(u8int call, u32int a = 0, u32int b = 0, u32int c = 0, u32int d = 0, u32int e = 0);
public: