mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 11:18:11 +00:00
Kernel: Fix the return type for syscalls
The Process::Handler type has KResultOr<FlatPtr> as its return type. Using a different return type with an equally-sized template parameter sort of works but breaks once that condition is no longer true, e.g. for KResultOr<int> on x86_64. Ideally the syscall handlers would also take FlatPtrs as their args so we can get rid of the reinterpret_cast for the function pointer but I didn't quite feel like cleaning that up as well.
This commit is contained in:
parent
b6435372cc
commit
2a78bf8596
71 changed files with 313 additions and 301 deletions
298
Kernel/Process.h
298
Kernel/Process.h
|
@ -263,158 +263,158 @@ public:
|
|||
void stop_tracing();
|
||||
void tracer_trap(Thread&, const RegisterState&);
|
||||
|
||||
KResultOr<int> sys$emuctl();
|
||||
KResultOr<int> sys$yield();
|
||||
KResultOr<int> sys$sync();
|
||||
KResultOr<int> sys$beep();
|
||||
KResultOr<int> sys$get_process_name(Userspace<char*> buffer, size_t buffer_size);
|
||||
KResultOr<int> sys$set_process_name(Userspace<const char*> user_name, size_t user_name_length);
|
||||
KResultOr<int> sys$create_inode_watcher(u32 flags);
|
||||
KResultOr<int> sys$inode_watcher_add_watch(Userspace<const Syscall::SC_inode_watcher_add_watch_params*> user_params);
|
||||
KResultOr<int> sys$inode_watcher_remove_watch(int fd, int wd);
|
||||
KResultOr<int> sys$dbgputch(u8);
|
||||
KResultOr<size_t> sys$dbgputstr(Userspace<const u8*>, size_t);
|
||||
KResultOr<int> sys$dump_backtrace();
|
||||
KResultOr<pid_t> sys$gettid();
|
||||
KResultOr<int> sys$donate(pid_t tid);
|
||||
KResultOr<pid_t> sys$setsid();
|
||||
KResultOr<pid_t> sys$getsid(pid_t);
|
||||
KResultOr<int> sys$setpgid(pid_t pid, pid_t pgid);
|
||||
KResultOr<pid_t> sys$getpgrp();
|
||||
KResultOr<pid_t> sys$getpgid(pid_t);
|
||||
KResultOr<uid_t> sys$getuid();
|
||||
KResultOr<gid_t> sys$getgid();
|
||||
KResultOr<uid_t> sys$geteuid();
|
||||
KResultOr<gid_t> sys$getegid();
|
||||
KResultOr<pid_t> sys$getpid();
|
||||
KResultOr<pid_t> sys$getppid();
|
||||
KResultOr<int> sys$getresuid(Userspace<uid_t*>, Userspace<uid_t*>, Userspace<uid_t*>);
|
||||
KResultOr<int> sys$getresgid(Userspace<gid_t*>, Userspace<gid_t*>, Userspace<gid_t*>);
|
||||
KResultOr<mode_t> sys$umask(mode_t);
|
||||
KResultOr<int> sys$open(Userspace<const Syscall::SC_open_params*>);
|
||||
KResultOr<int> sys$close(int fd);
|
||||
KResultOr<size_t> sys$read(int fd, Userspace<u8*>, size_t);
|
||||
KResultOr<size_t> sys$readv(int fd, Userspace<const struct iovec*> iov, int iov_count);
|
||||
KResultOr<size_t> sys$write(int fd, Userspace<const u8*>, size_t);
|
||||
KResultOr<size_t> sys$writev(int fd, Userspace<const struct iovec*> iov, int iov_count);
|
||||
KResultOr<int> sys$fstat(int fd, Userspace<stat*>);
|
||||
KResultOr<int> sys$stat(Userspace<const Syscall::SC_stat_params*>);
|
||||
KResultOr<int> sys$lseek(int fd, Userspace<off_t*>, int whence);
|
||||
KResultOr<int> sys$ftruncate(int fd, Userspace<off_t*>);
|
||||
KResultOr<int> sys$kill(pid_t pid_or_pgid, int sig);
|
||||
KResultOr<FlatPtr> sys$emuctl();
|
||||
KResultOr<FlatPtr> sys$yield();
|
||||
KResultOr<FlatPtr> sys$sync();
|
||||
KResultOr<FlatPtr> sys$beep();
|
||||
KResultOr<FlatPtr> sys$get_process_name(Userspace<char*> buffer, size_t buffer_size);
|
||||
KResultOr<FlatPtr> sys$set_process_name(Userspace<const char*> user_name, size_t user_name_length);
|
||||
KResultOr<FlatPtr> sys$create_inode_watcher(u32 flags);
|
||||
KResultOr<FlatPtr> sys$inode_watcher_add_watch(Userspace<const Syscall::SC_inode_watcher_add_watch_params*> user_params);
|
||||
KResultOr<FlatPtr> sys$inode_watcher_remove_watch(int fd, int wd);
|
||||
KResultOr<FlatPtr> sys$dbgputch(u8);
|
||||
KResultOr<FlatPtr> sys$dbgputstr(Userspace<const u8*>, size_t);
|
||||
KResultOr<FlatPtr> sys$dump_backtrace();
|
||||
KResultOr<FlatPtr> sys$gettid();
|
||||
KResultOr<FlatPtr> sys$donate(pid_t tid);
|
||||
KResultOr<FlatPtr> sys$setsid();
|
||||
KResultOr<FlatPtr> sys$getsid(pid_t);
|
||||
KResultOr<FlatPtr> sys$setpgid(pid_t pid, pid_t pgid);
|
||||
KResultOr<FlatPtr> sys$getpgrp();
|
||||
KResultOr<FlatPtr> sys$getpgid(pid_t);
|
||||
KResultOr<FlatPtr> sys$getuid();
|
||||
KResultOr<FlatPtr> sys$getgid();
|
||||
KResultOr<FlatPtr> sys$geteuid();
|
||||
KResultOr<FlatPtr> sys$getegid();
|
||||
KResultOr<FlatPtr> sys$getpid();
|
||||
KResultOr<FlatPtr> sys$getppid();
|
||||
KResultOr<FlatPtr> sys$getresuid(Userspace<uid_t*>, Userspace<uid_t*>, Userspace<uid_t*>);
|
||||
KResultOr<FlatPtr> sys$getresgid(Userspace<gid_t*>, Userspace<gid_t*>, Userspace<gid_t*>);
|
||||
KResultOr<FlatPtr> sys$umask(mode_t);
|
||||
KResultOr<FlatPtr> sys$open(Userspace<const Syscall::SC_open_params*>);
|
||||
KResultOr<FlatPtr> sys$close(int fd);
|
||||
KResultOr<FlatPtr> sys$read(int fd, Userspace<u8*>, size_t);
|
||||
KResultOr<FlatPtr> sys$readv(int fd, Userspace<const struct iovec*> iov, int iov_count);
|
||||
KResultOr<FlatPtr> sys$write(int fd, Userspace<const u8*>, size_t);
|
||||
KResultOr<FlatPtr> sys$writev(int fd, Userspace<const struct iovec*> iov, int iov_count);
|
||||
KResultOr<FlatPtr> sys$fstat(int fd, Userspace<stat*>);
|
||||
KResultOr<FlatPtr> sys$stat(Userspace<const Syscall::SC_stat_params*>);
|
||||
KResultOr<FlatPtr> sys$lseek(int fd, Userspace<off_t*>, int whence);
|
||||
KResultOr<FlatPtr> sys$ftruncate(int fd, Userspace<off_t*>);
|
||||
KResultOr<FlatPtr> sys$kill(pid_t pid_or_pgid, int sig);
|
||||
[[noreturn]] void sys$exit(int status);
|
||||
KResultOr<int> sys$sigreturn(RegisterState& registers);
|
||||
KResultOr<pid_t> sys$waitid(Userspace<const Syscall::SC_waitid_params*>);
|
||||
KResultOr<FlatPtr> sys$sigreturn(RegisterState& registers);
|
||||
KResultOr<FlatPtr> sys$waitid(Userspace<const Syscall::SC_waitid_params*>);
|
||||
KResultOr<FlatPtr> sys$mmap(Userspace<const Syscall::SC_mmap_params*>);
|
||||
KResultOr<FlatPtr> sys$mremap(Userspace<const Syscall::SC_mremap_params*>);
|
||||
KResultOr<int> sys$munmap(Userspace<void*>, size_t);
|
||||
KResultOr<int> sys$set_mmap_name(Userspace<const Syscall::SC_set_mmap_name_params*>);
|
||||
KResultOr<int> sys$mprotect(Userspace<void*>, size_t, int prot);
|
||||
KResultOr<int> sys$madvise(Userspace<void*>, size_t, int advice);
|
||||
KResultOr<int> sys$msyscall(Userspace<void*>);
|
||||
KResultOr<int> sys$purge(int mode);
|
||||
KResultOr<int> sys$select(Userspace<const Syscall::SC_select_params*>);
|
||||
KResultOr<int> sys$poll(Userspace<const Syscall::SC_poll_params*>);
|
||||
KResultOr<size_t> sys$get_dir_entries(int fd, Userspace<void*>, size_t);
|
||||
KResultOr<int> sys$getcwd(Userspace<char*>, size_t);
|
||||
KResultOr<int> sys$chdir(Userspace<const char*>, size_t);
|
||||
KResultOr<int> sys$fchdir(int fd);
|
||||
KResultOr<int> sys$adjtime(Userspace<const timeval*>, Userspace<timeval*>);
|
||||
KResultOr<int> sys$gettimeofday(Userspace<timeval*>);
|
||||
KResultOr<int> sys$clock_gettime(clockid_t, Userspace<timespec*>);
|
||||
KResultOr<int> sys$clock_settime(clockid_t, Userspace<const timespec*>);
|
||||
KResultOr<int> sys$clock_nanosleep(Userspace<const Syscall::SC_clock_nanosleep_params*>);
|
||||
KResultOr<int> sys$gethostname(Userspace<char*>, size_t);
|
||||
KResultOr<int> sys$sethostname(Userspace<const char*>, size_t);
|
||||
KResultOr<int> sys$uname(Userspace<utsname*>);
|
||||
KResultOr<int> sys$readlink(Userspace<const Syscall::SC_readlink_params*>);
|
||||
KResultOr<int> sys$ttyname(int fd, Userspace<char*>, size_t);
|
||||
KResultOr<int> sys$ptsname(int fd, Userspace<char*>, size_t);
|
||||
KResultOr<pid_t> sys$fork(RegisterState&);
|
||||
KResultOr<int> sys$execve(Userspace<const Syscall::SC_execve_params*>);
|
||||
KResultOr<int> sys$dup2(int old_fd, int new_fd);
|
||||
KResultOr<int> sys$sigaction(int signum, Userspace<const sigaction*> act, Userspace<sigaction*> old_act);
|
||||
KResultOr<int> sys$sigprocmask(int how, Userspace<const sigset_t*> set, Userspace<sigset_t*> old_set);
|
||||
KResultOr<int> sys$sigpending(Userspace<sigset_t*>);
|
||||
KResultOr<int> sys$getgroups(size_t, Userspace<gid_t*>);
|
||||
KResultOr<int> sys$setgroups(size_t, Userspace<const gid_t*>);
|
||||
KResultOr<int> sys$pipe(int pipefd[2], int flags);
|
||||
KResultOr<int> sys$killpg(pid_t pgrp, int sig);
|
||||
KResultOr<int> sys$seteuid(uid_t);
|
||||
KResultOr<int> sys$setegid(gid_t);
|
||||
KResultOr<int> sys$setuid(uid_t);
|
||||
KResultOr<int> sys$setgid(gid_t);
|
||||
KResultOr<int> sys$setreuid(uid_t, uid_t);
|
||||
KResultOr<int> sys$setresuid(uid_t, uid_t, uid_t);
|
||||
KResultOr<int> sys$setresgid(gid_t, gid_t, gid_t);
|
||||
KResultOr<unsigned> sys$alarm(unsigned seconds);
|
||||
KResultOr<int> sys$access(Userspace<const char*> pathname, size_t path_length, int mode);
|
||||
KResultOr<int> sys$fcntl(int fd, int cmd, u32 extra_arg);
|
||||
KResultOr<int> sys$ioctl(int fd, unsigned request, FlatPtr arg);
|
||||
KResultOr<int> sys$mkdir(Userspace<const char*> pathname, size_t path_length, mode_t mode);
|
||||
KResultOr<clock_t> sys$times(Userspace<tms*>);
|
||||
KResultOr<int> sys$utime(Userspace<const char*> pathname, size_t path_length, Userspace<const struct utimbuf*>);
|
||||
KResultOr<int> sys$link(Userspace<const Syscall::SC_link_params*>);
|
||||
KResultOr<int> sys$unlink(Userspace<const char*> pathname, size_t path_length);
|
||||
KResultOr<int> sys$symlink(Userspace<const Syscall::SC_symlink_params*>);
|
||||
KResultOr<int> sys$rmdir(Userspace<const char*> pathname, size_t path_length);
|
||||
KResultOr<int> sys$mount(Userspace<const Syscall::SC_mount_params*>);
|
||||
KResultOr<int> sys$umount(Userspace<const char*> mountpoint, size_t mountpoint_length);
|
||||
KResultOr<int> sys$chmod(Userspace<const char*> pathname, size_t path_length, mode_t);
|
||||
KResultOr<int> sys$fchmod(int fd, mode_t);
|
||||
KResultOr<int> sys$chown(Userspace<const Syscall::SC_chown_params*>);
|
||||
KResultOr<int> sys$fchown(int fd, uid_t, gid_t);
|
||||
KResultOr<int> sys$socket(int domain, int type, int protocol);
|
||||
KResultOr<int> sys$bind(int sockfd, Userspace<const sockaddr*> addr, socklen_t);
|
||||
KResultOr<int> sys$listen(int sockfd, int backlog);
|
||||
KResultOr<int> sys$accept4(Userspace<const Syscall::SC_accept4_params*>);
|
||||
KResultOr<int> sys$connect(int sockfd, Userspace<const sockaddr*>, socklen_t);
|
||||
KResultOr<int> sys$shutdown(int sockfd, int how);
|
||||
KResultOr<size_t> sys$sendmsg(int sockfd, Userspace<const struct msghdr*>, int flags);
|
||||
KResultOr<size_t> sys$recvmsg(int sockfd, Userspace<struct msghdr*>, int flags);
|
||||
KResultOr<int> sys$getsockopt(Userspace<const Syscall::SC_getsockopt_params*>);
|
||||
KResultOr<int> sys$setsockopt(Userspace<const Syscall::SC_setsockopt_params*>);
|
||||
KResultOr<int> sys$getsockname(Userspace<const Syscall::SC_getsockname_params*>);
|
||||
KResultOr<int> sys$getpeername(Userspace<const Syscall::SC_getpeername_params*>);
|
||||
KResultOr<int> sys$socketpair(Userspace<const Syscall::SC_socketpair_params*>);
|
||||
KResultOr<int> sys$sched_setparam(pid_t pid, Userspace<const struct sched_param*>);
|
||||
KResultOr<int> sys$sched_getparam(pid_t pid, Userspace<struct sched_param*>);
|
||||
KResultOr<int> sys$create_thread(void* (*)(void*), Userspace<const Syscall::SC_create_thread_params*>);
|
||||
KResultOr<FlatPtr> sys$munmap(Userspace<void*>, size_t);
|
||||
KResultOr<FlatPtr> sys$set_mmap_name(Userspace<const Syscall::SC_set_mmap_name_params*>);
|
||||
KResultOr<FlatPtr> sys$mprotect(Userspace<void*>, size_t, int prot);
|
||||
KResultOr<FlatPtr> sys$madvise(Userspace<void*>, size_t, int advice);
|
||||
KResultOr<FlatPtr> sys$msyscall(Userspace<void*>);
|
||||
KResultOr<FlatPtr> sys$purge(int mode);
|
||||
KResultOr<FlatPtr> sys$select(Userspace<const Syscall::SC_select_params*>);
|
||||
KResultOr<FlatPtr> sys$poll(Userspace<const Syscall::SC_poll_params*>);
|
||||
KResultOr<FlatPtr> sys$get_dir_entries(int fd, Userspace<void*>, size_t);
|
||||
KResultOr<FlatPtr> sys$getcwd(Userspace<char*>, size_t);
|
||||
KResultOr<FlatPtr> sys$chdir(Userspace<const char*>, size_t);
|
||||
KResultOr<FlatPtr> sys$fchdir(int fd);
|
||||
KResultOr<FlatPtr> sys$adjtime(Userspace<const timeval*>, Userspace<timeval*>);
|
||||
KResultOr<FlatPtr> sys$gettimeofday(Userspace<timeval*>);
|
||||
KResultOr<FlatPtr> sys$clock_gettime(clockid_t, Userspace<timespec*>);
|
||||
KResultOr<FlatPtr> sys$clock_settime(clockid_t, Userspace<const timespec*>);
|
||||
KResultOr<FlatPtr> sys$clock_nanosleep(Userspace<const Syscall::SC_clock_nanosleep_params*>);
|
||||
KResultOr<FlatPtr> sys$gethostname(Userspace<char*>, size_t);
|
||||
KResultOr<FlatPtr> sys$sethostname(Userspace<const char*>, size_t);
|
||||
KResultOr<FlatPtr> sys$uname(Userspace<utsname*>);
|
||||
KResultOr<FlatPtr> sys$readlink(Userspace<const Syscall::SC_readlink_params*>);
|
||||
KResultOr<FlatPtr> sys$ttyname(int fd, Userspace<char*>, size_t);
|
||||
KResultOr<FlatPtr> sys$ptsname(int fd, Userspace<char*>, size_t);
|
||||
KResultOr<FlatPtr> sys$fork(RegisterState&);
|
||||
KResultOr<FlatPtr> sys$execve(Userspace<const Syscall::SC_execve_params*>);
|
||||
KResultOr<FlatPtr> sys$dup2(int old_fd, int new_fd);
|
||||
KResultOr<FlatPtr> sys$sigaction(int signum, Userspace<const sigaction*> act, Userspace<sigaction*> old_act);
|
||||
KResultOr<FlatPtr> sys$sigprocmask(int how, Userspace<const sigset_t*> set, Userspace<sigset_t*> old_set);
|
||||
KResultOr<FlatPtr> sys$sigpending(Userspace<sigset_t*>);
|
||||
KResultOr<FlatPtr> sys$getgroups(size_t, Userspace<gid_t*>);
|
||||
KResultOr<FlatPtr> sys$setgroups(size_t, Userspace<const gid_t*>);
|
||||
KResultOr<FlatPtr> sys$pipe(int pipefd[2], int flags);
|
||||
KResultOr<FlatPtr> sys$killpg(pid_t pgrp, int sig);
|
||||
KResultOr<FlatPtr> sys$seteuid(uid_t);
|
||||
KResultOr<FlatPtr> sys$setegid(gid_t);
|
||||
KResultOr<FlatPtr> sys$setuid(uid_t);
|
||||
KResultOr<FlatPtr> sys$setgid(gid_t);
|
||||
KResultOr<FlatPtr> sys$setreuid(uid_t, uid_t);
|
||||
KResultOr<FlatPtr> sys$setresuid(uid_t, uid_t, uid_t);
|
||||
KResultOr<FlatPtr> sys$setresgid(gid_t, gid_t, gid_t);
|
||||
KResultOr<FlatPtr> sys$alarm(unsigned seconds);
|
||||
KResultOr<FlatPtr> sys$access(Userspace<const char*> pathname, size_t path_length, int mode);
|
||||
KResultOr<FlatPtr> sys$fcntl(int fd, int cmd, u32 extra_arg);
|
||||
KResultOr<FlatPtr> sys$ioctl(int fd, unsigned request, FlatPtr arg);
|
||||
KResultOr<FlatPtr> sys$mkdir(Userspace<const char*> pathname, size_t path_length, mode_t mode);
|
||||
KResultOr<FlatPtr> sys$times(Userspace<tms*>);
|
||||
KResultOr<FlatPtr> sys$utime(Userspace<const char*> pathname, size_t path_length, Userspace<const struct utimbuf*>);
|
||||
KResultOr<FlatPtr> sys$link(Userspace<const Syscall::SC_link_params*>);
|
||||
KResultOr<FlatPtr> sys$unlink(Userspace<const char*> pathname, size_t path_length);
|
||||
KResultOr<FlatPtr> sys$symlink(Userspace<const Syscall::SC_symlink_params*>);
|
||||
KResultOr<FlatPtr> sys$rmdir(Userspace<const char*> pathname, size_t path_length);
|
||||
KResultOr<FlatPtr> sys$mount(Userspace<const Syscall::SC_mount_params*>);
|
||||
KResultOr<FlatPtr> sys$umount(Userspace<const char*> mountpoint, size_t mountpoint_length);
|
||||
KResultOr<FlatPtr> sys$chmod(Userspace<const char*> pathname, size_t path_length, mode_t);
|
||||
KResultOr<FlatPtr> sys$fchmod(int fd, mode_t);
|
||||
KResultOr<FlatPtr> sys$chown(Userspace<const Syscall::SC_chown_params*>);
|
||||
KResultOr<FlatPtr> sys$fchown(int fd, uid_t, gid_t);
|
||||
KResultOr<FlatPtr> sys$socket(int domain, int type, int protocol);
|
||||
KResultOr<FlatPtr> sys$bind(int sockfd, Userspace<const sockaddr*> addr, socklen_t);
|
||||
KResultOr<FlatPtr> sys$listen(int sockfd, int backlog);
|
||||
KResultOr<FlatPtr> sys$accept4(Userspace<const Syscall::SC_accept4_params*>);
|
||||
KResultOr<FlatPtr> sys$connect(int sockfd, Userspace<const sockaddr*>, socklen_t);
|
||||
KResultOr<FlatPtr> sys$shutdown(int sockfd, int how);
|
||||
KResultOr<FlatPtr> sys$sendmsg(int sockfd, Userspace<const struct msghdr*>, int flags);
|
||||
KResultOr<FlatPtr> sys$recvmsg(int sockfd, Userspace<struct msghdr*>, int flags);
|
||||
KResultOr<FlatPtr> sys$getsockopt(Userspace<const Syscall::SC_getsockopt_params*>);
|
||||
KResultOr<FlatPtr> sys$setsockopt(Userspace<const Syscall::SC_setsockopt_params*>);
|
||||
KResultOr<FlatPtr> sys$getsockname(Userspace<const Syscall::SC_getsockname_params*>);
|
||||
KResultOr<FlatPtr> sys$getpeername(Userspace<const Syscall::SC_getpeername_params*>);
|
||||
KResultOr<FlatPtr> sys$socketpair(Userspace<const Syscall::SC_socketpair_params*>);
|
||||
KResultOr<FlatPtr> sys$sched_setparam(pid_t pid, Userspace<const struct sched_param*>);
|
||||
KResultOr<FlatPtr> sys$sched_getparam(pid_t pid, Userspace<struct sched_param*>);
|
||||
KResultOr<FlatPtr> sys$create_thread(void* (*)(void*), Userspace<const Syscall::SC_create_thread_params*>);
|
||||
[[noreturn]] void sys$exit_thread(Userspace<void*>, Userspace<void*>, size_t);
|
||||
KResultOr<int> sys$join_thread(pid_t tid, Userspace<void**> exit_value);
|
||||
KResultOr<int> sys$detach_thread(pid_t tid);
|
||||
KResultOr<int> sys$set_thread_name(pid_t tid, Userspace<const char*> buffer, size_t buffer_size);
|
||||
KResultOr<int> sys$get_thread_name(pid_t tid, Userspace<char*> buffer, size_t buffer_size);
|
||||
KResultOr<int> sys$rename(Userspace<const Syscall::SC_rename_params*>);
|
||||
KResultOr<int> sys$mknod(Userspace<const Syscall::SC_mknod_params*>);
|
||||
KResultOr<int> sys$halt();
|
||||
KResultOr<int> sys$reboot();
|
||||
KResultOr<int> sys$realpath(Userspace<const Syscall::SC_realpath_params*>);
|
||||
KResultOr<size_t> sys$getrandom(Userspace<void*>, size_t, unsigned int);
|
||||
KResultOr<int> sys$getkeymap(Userspace<const Syscall::SC_getkeymap_params*>);
|
||||
KResultOr<int> sys$setkeymap(Userspace<const Syscall::SC_setkeymap_params*>);
|
||||
KResultOr<int> sys$module_load(Userspace<const char*> path, size_t path_length);
|
||||
KResultOr<int> sys$module_unload(Userspace<const char*> name, size_t name_length);
|
||||
KResultOr<int> sys$profiling_enable(pid_t, u64);
|
||||
KResultOr<int> sys$profiling_disable(pid_t);
|
||||
KResultOr<int> sys$profiling_free_buffer(pid_t);
|
||||
KResultOr<int> sys$futex(Userspace<const Syscall::SC_futex_params*>);
|
||||
KResultOr<int> sys$chroot(Userspace<const char*> path, size_t path_length, int mount_flags);
|
||||
KResultOr<int> sys$pledge(Userspace<const Syscall::SC_pledge_params*>);
|
||||
KResultOr<int> sys$unveil(Userspace<const Syscall::SC_unveil_params*>);
|
||||
KResultOr<int> sys$perf_event(int type, FlatPtr arg1, FlatPtr arg2);
|
||||
KResultOr<int> sys$get_stack_bounds(Userspace<FlatPtr*> stack_base, Userspace<size_t*> stack_size);
|
||||
KResultOr<int> sys$ptrace(Userspace<const Syscall::SC_ptrace_params*>);
|
||||
KResultOr<int> sys$sendfd(int sockfd, int fd);
|
||||
KResultOr<int> sys$recvfd(int sockfd, int options);
|
||||
KResultOr<long> sys$sysconf(int name);
|
||||
KResultOr<int> sys$disown(ProcessID);
|
||||
KResultOr<FlatPtr> sys$join_thread(pid_t tid, Userspace<void**> exit_value);
|
||||
KResultOr<FlatPtr> sys$detach_thread(pid_t tid);
|
||||
KResultOr<FlatPtr> sys$set_thread_name(pid_t tid, Userspace<const char*> buffer, size_t buffer_size);
|
||||
KResultOr<FlatPtr> sys$get_thread_name(pid_t tid, Userspace<char*> buffer, size_t buffer_size);
|
||||
KResultOr<FlatPtr> sys$rename(Userspace<const Syscall::SC_rename_params*>);
|
||||
KResultOr<FlatPtr> sys$mknod(Userspace<const Syscall::SC_mknod_params*>);
|
||||
KResultOr<FlatPtr> sys$halt();
|
||||
KResultOr<FlatPtr> sys$reboot();
|
||||
KResultOr<FlatPtr> sys$realpath(Userspace<const Syscall::SC_realpath_params*>);
|
||||
KResultOr<FlatPtr> sys$getrandom(Userspace<void*>, size_t, unsigned int);
|
||||
KResultOr<FlatPtr> sys$getkeymap(Userspace<const Syscall::SC_getkeymap_params*>);
|
||||
KResultOr<FlatPtr> sys$setkeymap(Userspace<const Syscall::SC_setkeymap_params*>);
|
||||
KResultOr<FlatPtr> sys$module_load(Userspace<const char*> path, size_t path_length);
|
||||
KResultOr<FlatPtr> sys$module_unload(Userspace<const char*> name, size_t name_length);
|
||||
KResultOr<FlatPtr> sys$profiling_enable(pid_t, u64);
|
||||
KResultOr<FlatPtr> sys$profiling_disable(pid_t);
|
||||
KResultOr<FlatPtr> sys$profiling_free_buffer(pid_t);
|
||||
KResultOr<FlatPtr> sys$futex(Userspace<const Syscall::SC_futex_params*>);
|
||||
KResultOr<FlatPtr> sys$chroot(Userspace<const char*> path, size_t path_length, int mount_flags);
|
||||
KResultOr<FlatPtr> sys$pledge(Userspace<const Syscall::SC_pledge_params*>);
|
||||
KResultOr<FlatPtr> sys$unveil(Userspace<const Syscall::SC_unveil_params*>);
|
||||
KResultOr<FlatPtr> sys$perf_event(int type, FlatPtr arg1, FlatPtr arg2);
|
||||
KResultOr<FlatPtr> sys$get_stack_bounds(Userspace<FlatPtr*> stack_base, Userspace<size_t*> stack_size);
|
||||
KResultOr<FlatPtr> sys$ptrace(Userspace<const Syscall::SC_ptrace_params*>);
|
||||
KResultOr<FlatPtr> sys$sendfd(int sockfd, int fd);
|
||||
KResultOr<FlatPtr> sys$recvfd(int sockfd, int options);
|
||||
KResultOr<FlatPtr> sys$sysconf(int name);
|
||||
KResultOr<FlatPtr> sys$disown(ProcessID);
|
||||
KResultOr<FlatPtr> sys$allocate_tls(Userspace<const char*> initial_data, size_t);
|
||||
KResultOr<int> sys$prctl(int option, FlatPtr arg1, FlatPtr arg2);
|
||||
KResultOr<int> sys$set_coredump_metadata(Userspace<const Syscall::SC_set_coredump_metadata_params*>);
|
||||
KResultOr<int> sys$anon_create(size_t, int options);
|
||||
KResultOr<int> sys$statvfs(Userspace<const Syscall::SC_statvfs_params*> user_params);
|
||||
KResultOr<int> sys$fstatvfs(int fd, statvfs* buf);
|
||||
KResultOr<FlatPtr> sys$prctl(int option, FlatPtr arg1, FlatPtr arg2);
|
||||
KResultOr<FlatPtr> sys$set_coredump_metadata(Userspace<const Syscall::SC_set_coredump_metadata_params*>);
|
||||
KResultOr<FlatPtr> sys$anon_create(size_t, int options);
|
||||
KResultOr<FlatPtr> sys$statvfs(Userspace<const Syscall::SC_statvfs_params*> user_params);
|
||||
KResultOr<FlatPtr> sys$fstatvfs(int fd, statvfs* buf);
|
||||
|
||||
template<bool sockname, typename Params>
|
||||
int get_sock_or_peer_name(const Params&);
|
||||
|
@ -532,9 +532,9 @@ private:
|
|||
void delete_perf_events_buffer();
|
||||
|
||||
KResult do_exec(NonnullRefPtr<FileDescription> main_program_description, Vector<String> arguments, Vector<String> environment, RefPtr<FileDescription> interpreter_description, Thread*& new_main_thread, u32& prev_flags, const ElfW(Ehdr) & main_program_header);
|
||||
KResultOr<size_t> do_write(FileDescription&, const UserOrKernelBuffer&, size_t);
|
||||
KResultOr<FlatPtr> do_write(FileDescription&, const UserOrKernelBuffer&, size_t);
|
||||
|
||||
KResultOr<int> do_statvfs(String path, statvfs* buf);
|
||||
KResultOr<FlatPtr> do_statvfs(String path, statvfs* buf);
|
||||
|
||||
KResultOr<RefPtr<FileDescription>> find_elf_interpreter_for_executable(const String& path, const ElfW(Ehdr) & elf_header, int nread, size_t file_size);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue