flaming pile of shit
This commit is contained in:
@@ -16,7 +16,9 @@ enum class ID : size_t {
|
||||
SEM_SIGNAL=7,
|
||||
SYS_GETPID = 8,
|
||||
SYS_EXIT = 9,
|
||||
SYS_KILL = 10
|
||||
SYS_KILL = 10,
|
||||
MAP = 11,
|
||||
UNMAP = 12
|
||||
};
|
||||
} // namespace Syscall
|
||||
|
||||
@@ -64,10 +66,18 @@ extern "C" ssize_t sys_safe_call(Syscall::ID id, size_t p1, size_t p2,
|
||||
}
|
||||
|
||||
[[gnu::always_inline]] static inline void sys_exit(){
|
||||
sys_call(Syscall::ID::SYS_EXIT, 0, 0, 0, 0, 0);
|
||||
sys_call(Syscall::ID::SYS_EXIT, 0, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
[[gnu::always_inline]] static inline void sys_kill(size_t pid){
|
||||
sys_call(Syscall::ID::SYS_KILL, pid, 0, 0, 0, 0);
|
||||
sys_call(Syscall::ID::SYS_KILL, pid, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
[[gnu::always_inline]] static inline void* map(size_t size) {
|
||||
return (void*) sys_call(Syscall::ID::MAP, size,0,0,0,0);
|
||||
}
|
||||
|
||||
[[gnu::always_inline]] static inline int unmap(void* start, size_t size) {
|
||||
return sys_call(Syscall::ID::UNMAP, (size_t) start, size,0,0,0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user