diff options
| author | LemonBoy <thatlemon@gmail.com> | 2019-10-12 14:55:02 +0200 |
|---|---|---|
| committer | LemonBoy <thatlemon@gmail.com> | 2019-10-12 20:51:51 +0200 |
| commit | 40fc7a1fdac23b1799ebce69c2a65236886bc360 (patch) | |
| tree | 724e184f57ab33daa05aa94959e5017dfd35d8a0 /lib/std/os/linux.zig | |
| parent | 8b45921664c8f679c8154b45add84f84e3ec8128 (diff) | |
| download | zig-40fc7a1fdac23b1799ebce69c2a65236886bc360.tar.gz zig-40fc7a1fdac23b1799ebce69c2a65236886bc360.zip | |
Add support for the statx syscall
Diffstat (limited to 'lib/std/os/linux.zig')
| -rw-r--r-- | lib/std/os/linux.zig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/std/os/linux.zig b/lib/std/os/linux.zig index 46aeb28f2f..c91b6ad98b 100644 --- a/lib/std/os/linux.zig +++ b/lib/std/os/linux.zig @@ -860,6 +860,20 @@ pub fn fstatat(dirfd: i32, path: [*]const u8, stat_buf: *Stat, flags: u32) usize } } +pub fn statx(dirfd: i32, path: [*]const u8, flags: u32, mask: u32, statx_buf: *Statx) usize { + if (@hasDecl(@This(), "SYS_statx")) { + return syscall5( + SYS_statx, + @bitCast(usize, isize(dirfd)), + @ptrToInt(path), + flags, + mask, + @ptrToInt(statx_buf), + ); + } + return @bitCast(usize, isize(-ENOSYS)); +} + // TODO https://github.com/ziglang/zig/issues/265 pub fn listxattr(path: [*]const u8, list: [*]u8, size: usize) usize { return syscall3(SYS_listxattr, @ptrToInt(path), @ptrToInt(list), size); |
