aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/sys.txt
diff options
context:
space:
mode:
authorJiaheng Hu <jiahengh@google.com>2020-06-23 19:37:13 +0000
committerEric Biggers <ebiggers3@gmail.com>2020-06-24 12:08:15 -0700
commit9d60b18e94847a3e124d344a2255a75fb175c06c (patch)
tree53c03e891f454a278f86bb7fdc7c6dbfe2b1ee08 /sys/linux/sys.txt
parent41694dbf71b60ba591c77619e7a68e532eb6db6e (diff)
sys/linux: add openat2 description
Added the openat2 syscall for file and for directory. Details of the syscall can be seen at https://man7.org/linux/man-pages/man2/openat2.2.html.
Diffstat (limited to 'sys/linux/sys.txt')
-rw-r--r--sys/linux/sys.txt9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index f0508ff6e..64a69e581 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -80,6 +80,8 @@ open(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
open$dir(file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd_dir
openat$dir(fd const[AT_FDCWD], file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd_dir
openat(fd fd_dir[opt], file ptr[in, filename], flags flags[open_flags], mode flags[open_mode]) fd
+openat2$dir(fd const[AT_FDCWD], file ptr[in, filename], how ptr[in, open_how], size bytesize[how]) fd_dir
+openat2(fd fd_dir[opt], file ptr[in, filename], how ptr[in, open_how], size bytesize[how]) fd
creat(file ptr[in, filename], mode flags[open_mode]) fd
close(fd fd)
read(fd fd, buf buffer[out], count len[buf])
@@ -887,8 +889,15 @@ kcmp_epoll_slot {
toff int32
}
+open_how {
+ flags flags[open_flags, int64]
+ mode flags[open_mode, int64]
+ resolve flags[resolve_flags, int64]
+}
+
open_flags = O_WRONLY, O_RDWR, O_APPEND, FASYNC, O_CLOEXEC, O_CREAT, O_DIRECT, O_DIRECTORY, O_EXCL, O_LARGEFILE, O_NOATIME, O_NOCTTY, O_NOFOLLOW, O_NONBLOCK, O_PATH, O_SYNC, O_TRUNC, __O_TMPFILE
open_mode = S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH
+resolve_flags = RESOLVE_BENEATH, RESOLVE_IN_ROOT, RESOLVE_NO_MAGICLINKS, RESOLVE_NO_SYMLINKS, RESOLVE_NO_XDEV
madvise_flags = MADV_NORMAL, MADV_RANDOM, MADV_SEQUENTIAL, MADV_WILLNEED, MADV_DONTNEED, MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK, MADV_HWPOISON, MADV_SOFT_OFFLINE, MADV_MERGEABLE, MADV_UNMERGEABLE, MADV_HUGEPAGE, MADV_NOHUGEPAGE, MADV_DONTDUMP, MADV_DODUMP, MADV_WIPEONFORK, MADV_KEEPONFORK, MADV_COLD, MADV_PAGEOUT
fadvise_flags = POSIX_FADV_NORMAL, POSIX_FADV_SEQUENTIAL, POSIX_FADV_RANDOM, POSIX_FADV_NOREUSE, POSIX_FADV_WILLNEED, POSIX_FADV_DONTNEED
move_pages_flags = MPOL_MF_MOVE, MPOL_MF_MOVE_ALL