From 90b49b6f171108f272ff529f7546bd9625ca7d17 Mon Sep 17 00:00:00 2001 From: Alexis211 Date: Tue, 20 Oct 2009 18:30:50 +0200 Subject: Implemented static syscalls, specific to a class and not an object. --- Source/Library/Userland/Syscall/RessourceCaller.class.cpp | 4 ++-- Source/Library/Userland/Syscall/RessourceCaller.class.h | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'Source/Library/Userland/Syscall') 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: -- cgit v1.2.3