#ifndef _KERNEL_SYSCALLS_HANDLERS_H #define _KERNEL_SYSCALLS_HANDLERS_H #include #include #include #define ksys0(sysid) ksyscall_impl(sysid, 0, 0, 0, 0); #define ksys1(sysid, a) ksyscall_impl(sysid, (intptr_t)a, 0, 0, 0); #define ksys2(sysid, a, b) ksyscall_impl(sysid, (intptr_t)a, (intptr_t)b, 0, 0); #define ksys3(sysid, a, b, c) ksyscall_impl(sysid, (intptr_t)a, (intptr_t)b, (intptr_t)c, 0); #define ksys4(sysid, a, b, c, d) ksyscall_impl(sysid, (intptr_t)a, (intptr_t)b, (intptr_t)c, (intptr_t)d); int ksyscall_impl(intptr_t sysid, intptr_t a, intptr_t b, intptr_t c, intptr_t d); void sys_handler(trapframe_t* tf); void sys_restart_syscall(trapframe_t* tf); void sys_exit(trapframe_t* tf); void sys_fork(trapframe_t* tf); void sys_read(trapframe_t* tf); void sys_write(trapframe_t* tf); void sys_open(trapframe_t* tf); void sys_close(trapframe_t* tf); void sys_waitpid(trapframe_t* tf); void sys_creat(trapframe_t* tf); void sys_exec(trapframe_t* tf); void sys_chdir(trapframe_t* tf); void sys_chmod(trapframe_t* tf); void sys_fchmod(trapframe_t* tf); void sys_getcwd(trapframe_t* tf); void sys_sigaction(trapframe_t* tf); void sys_sigreturn(trapframe_t* tf); void sys_gettimeofday(trapframe_t* tf); void sys_lseek(trapframe_t* tf); void sys_getpid(trapframe_t* tf); void sys_getuid(trapframe_t* tf); void sys_setuid(trapframe_t* tf); void sys_setgid(trapframe_t* tf); void sys_setreuid(trapframe_t* tf); void sys_setregid(trapframe_t* tf); void sys_kill(trapframe_t* tf); void sys_mkdir(trapframe_t* tf); void sys_rmdir(trapframe_t* tf); void sys_unlink(trapframe_t* tf); void sys_mmap(trapframe_t* tf); void sys_munmap(trapframe_t* tf); void sys_dup(trapframe_t* tf); void sys_dup2(trapframe_t* tf); void sys_socket(trapframe_t* tf); void sys_bind(trapframe_t* tf); void sys_connect(trapframe_t* tf); void sys_getdents(trapframe_t* tf); void sys_ioctl(trapframe_t* tf); void sys_setpgid(trapframe_t* tf); void sys_getpgid(trapframe_t* tf); void sys_create_thread(trapframe_t* tf); void sys_sleep(trapframe_t* tf); void sys_select(trapframe_t* tf); void sys_fstat(trapframe_t* tf); void sys_fsync(trapframe_t* tf); void sys_sched_yield(trapframe_t* tf); void sys_uname(trapframe_t* tf); void sys_clock_settime(trapframe_t* tf); void sys_clock_gettime(trapframe_t* tf); void sys_clock_getres(trapframe_t* tf); void sys_nice(trapframe_t* tf); void sys_shbuf_create(trapframe_t* tf); void sys_shbuf_get(trapframe_t* tf); void sys_shbuf_free(trapframe_t* tf); void sys_ptrace(trapframe_t* tf); void sys_none(trapframe_t* tf); #endif // _KERNEL_SYSCALLS_HANDLERS_H