diff options
author | sin-ack <sin-ack@users.noreply.github.com> | 2022-10-01 12:24:56 +0000 |
---|---|---|
committer | Andrew Kaster <andrewdkaster@gmail.com> | 2022-12-11 19:55:37 -0700 |
commit | 2a502fe2326778ba7f5bded6b5e45476865b0ab1 (patch) | |
tree | b594a069d4b46d52643fc31397713de6f33cbfe2 /Kernel/API | |
parent | fa692e13f944a5808ddc9c50e4e8015487c3ae0c (diff) | |
download | serenity-2a502fe2326778ba7f5bded6b5e45476865b0ab1.zip |
Kernel+LibC+LibCore+UserspaceEmulator: Implement `faccessat(2)`
Co-Authored-By: Daniel Bertalan <dani@danielbertalan.dev>
Diffstat (limited to 'Kernel/API')
-rw-r--r-- | Kernel/API/POSIX/fcntl.h | 1 | ||||
-rw-r--r-- | Kernel/API/Syscall.h | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Kernel/API/POSIX/fcntl.h b/Kernel/API/POSIX/fcntl.h index 9b6fb615ce..1aa225a789 100644 --- a/Kernel/API/POSIX/fcntl.h +++ b/Kernel/API/POSIX/fcntl.h @@ -48,6 +48,7 @@ extern "C" { #define AT_FDCWD -100 #define AT_SYMLINK_NOFOLLOW 0x100 #define AT_REMOVEDIR 0x200 +#define AT_EACCESS 0x400 struct flock { short l_type; diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index d31e79afe1..06b38e491d 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -41,7 +41,6 @@ enum class NeedsBigProcessLock { // #define ENUMERATE_SYSCALLS(S) \ S(accept4, NeedsBigProcessLock::No) \ - S(access, NeedsBigProcessLock::Yes) \ S(adjtime, NeedsBigProcessLock::No) \ S(alarm, NeedsBigProcessLock::Yes) \ S(allocate_tls, NeedsBigProcessLock::Yes) \ @@ -68,6 +67,7 @@ enum class NeedsBigProcessLock { S(execve, NeedsBigProcessLock::Yes) \ S(exit, NeedsBigProcessLock::Yes) \ S(exit_thread, NeedsBigProcessLock::Yes) \ + S(faccessat, NeedsBigProcessLock::Yes) \ S(fchdir, NeedsBigProcessLock::No) \ S(fchmod, NeedsBigProcessLock::No) \ S(fchown, NeedsBigProcessLock::No) \ @@ -508,6 +508,13 @@ struct SC_scheduler_parameters_params { struct sched_param parameters; }; +struct SC_faccessat_params { + int dirfd; + StringArgument pathname; + int mode; + int flags; +}; + void initialize(); int sync(); |