/* generated by syscall.c.awk * don't modify manually, instead run: * make src/user/lib/syscall.c */ #include _Noreturn void _syscall_exit(int ret) { _syscall(_SYSCALL_EXIT, ret, 0, 0, 0); __builtin_unreachable(); } int _syscall_await(void) { return _syscall(_SYSCALL_AWAIT, 0, 0, 0, 0); } int _syscall_fork(int flags, handle_t __user *fs_front) { return _syscall(_SYSCALL_FORK, flags, (int)fs_front, 0, 0); } handle_t _syscall_open(const char __user *path, int len, int flags) { return (handle_t)_syscall(_SYSCALL_OPEN, (int)path, len, flags, 0); } int _syscall_mount(handle_t h, const char __user *path, int len) { return _syscall(_SYSCALL_MOUNT, (int)h, (int)path, len, 0); } handle_t _syscall_dup(handle_t from, handle_t to, int flags) { return (handle_t)_syscall(_SYSCALL_DUP, (int)from, (int)to, flags, 0); } int _syscall_read(handle_t h, void __user *buf, size_t len, int offset) { return _syscall(_SYSCALL_READ, (int)h, (int)buf, (int)len, offset); } int _syscall_write(handle_t h, const void __user *buf, size_t len, int offset) { return _syscall(_SYSCALL_WRITE, (int)h, (int)buf, (int)len, offset); } int _syscall_close(handle_t h) { return _syscall(_SYSCALL_CLOSE, (int)h, 0, 0, 0); } int _syscall_fs_wait(char __user *buf, int max_len, struct fs_wait_response __user *res) { return _syscall(_SYSCALL_FS_WAIT, (int)buf, max_len, (int)res, 0); } int _syscall_fs_respond(void __user *buf, int ret, int flags) { return _syscall(_SYSCALL_FS_RESPOND, (int)buf, ret, flags, 0); } void __user *_syscall_memflag(void __user *addr, size_t len, int flags) { return (void __user *)_syscall(_SYSCALL_MEMFLAG, (int)addr, (int)len, flags, 0); } int _syscall_pipe(handle_t __user user_ends[2], int flags) { return _syscall(_SYSCALL_PIPE, (int)user_ends, flags, 0, 0); } void _syscall_debug_klog(const void __user *buf, size_t len) { return (void)_syscall(_SYSCALL_DEBUG_KLOG, (int)buf, (int)len, 0, 0); }