/* platform.syscall.fn.c * ~ lexi hale * this file provides a unified interface * to the host operating system's syscalls. * its function signature may vary across * OSes, as the details of each's syscall * implementation may vary drastically. */ #include #include #ifdef KFenv_posix # include #else Knoimpl(k_platform_syscall) #endif extern void k_platform_syscall_raw ( k_platform_syscall_return* return_slot, k_platform_syscall_error* error_no_slot, enum k_platform_syscall syscall_no, u8 valency, s64* args); struct k_platform_syscall_answer k_platform_syscall(enum k_platform_syscall call, u8 valency, s64 args[]) { struct k_platform_syscall_answer answer; k_platform_syscall_raw (&answer.ret, &answer.error, call, valency, args); return answer; }