#include "syscall.h" #include "mem/memory.h" #include "io/log.h" int _syscall_handler_log(struct syscall_log *req) { klogf("Message ptr %#016X\n", req->message); if(!mem_check_ptr(req->message)) return -1; klogf("%s", req->message); return 0; } void *_syscall_handlers[SYSCALL_COUNT] = { _syscall_handler_log }; int syscall_handler(syscall_t *req) { if(!mem_check_ptr(req)) return -1; if(req->id >= SYSCALL_COUNT) return -1; return ((syscall_handler_t)(_syscall_handlers[req->id]))(req); }