1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:17:36 +00:00

Kernel: Add statvfs & fstatvfs Syscalls

These syscalls fill a statvfs struct with various data
about the mount on the VFS.
This commit is contained in:
Justin 2021-05-19 11:31:43 +02:00 committed by Andreas Kling
parent 721a867c65
commit 1c3badede3
5 changed files with 133 additions and 1 deletions

View file

@ -410,6 +410,8 @@ public:
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);
template<bool sockname, typename Params>
int get_sock_or_peer_name(const Params&);
@ -529,6 +531,8 @@ private:
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 Elf32_Ehdr& main_program_header);
KResultOr<ssize_t> do_write(FileDescription&, const UserOrKernelBuffer&, size_t);
KResultOr<int> do_statvfs(String path, statvfs* buf);
KResultOr<RefPtr<FileDescription>> find_elf_interpreter_for_executable(const String& path, const Elf32_Ehdr& elf_header, int nread, size_t file_size);
int alloc_fd(int first_candidate_fd = 0);