From 9d60b18e94847a3e124d344a2255a75fb175c06c Mon Sep 17 00:00:00 2001 From: Jiaheng Hu Date: Tue, 23 Jun 2020 19:37:13 +0000 Subject: 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. --- sys/linux/sys.txt | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'sys/linux/sys.txt') 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 -- cgit mrf-deployment