aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os/linux
diff options
context:
space:
mode:
authorStephen Gregoratto <dev@sgregoratto.me>2025-12-24 13:10:38 +1100
committerStephen Gregoratto <dev@sgregoratto.me>2025-12-24 13:10:38 +1100
commitc3f2de5e519926eb0029062fe8e782a6f9df9c05 (patch)
tree137740d5ff2f6197afbca44ca74593d8f98fa6ce /lib/std/os/linux
parent985a3565c6130c7279319e9c36642f0b958e6944 (diff)
downloadzig-c3f2de5e519926eb0029062fe8e782a6f9df9c05.tar.gz
zig-c3f2de5e519926eb0029062fe8e782a6f9df9c05.zip
Linux: Update syscall list for 6.17
The 6.17 kernel added[1] syscalls for getting/setting certain file flags and attributes. It's meant to be a more extensible replacement for these ioctl's: - `FS_IOC_GETFLAGS`/`FS_IOC_SETFLAGS`. - `FS_IOC_FSGETXATTR`/`FS_IOC_FSSETXATTR`. The definitions of these calls are as follows: ```zig const file_attr = extern struct { /// Extended flags that apply to this file. (get/set). xflags: u64, /// Preferred extent allocation size, in bytes. (get/set). extsize: u32, /// One of: /// - The number of data extents in this file. /// - If `FS_IOC_FSGETXATTRA` is set, the number of extended attribute events in the file. /// (get) nextents: u32, /// Project Identifier (get/set). projid: u32, /// Preferred extent allocation size for CoW operations, in bytes (get/set). cowextsize: u32, }; // size=@sizeOf(file_attr) fn file_getattr(dirfd: fd_t, path: [*:0], fattr: *file_attr, size: usize, at_flags: u32) {} fn file_setattr(dirfd: fd_t, path: [*:0], fattr: *file_attr, size: usize, at_flags: u32) {} ``` Users need to set/check `xflags` with the `FS_XFLAG` flags defined in `linux/fs.h`. `ioctl_xfs_fsgetxattr(2)` has more information about the type of information one can retrieve. [1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=57fcb7d930d8f00f383e995aeebdcd2b416a187a
Diffstat (limited to 'lib/std/os/linux')
-rw-r--r--lib/std/os/linux/syscalls.zig48
1 files changed, 47 insertions, 1 deletions
diff --git a/lib/std/os/linux/syscalls.zig b/lib/std/os/linux/syscalls.zig
index 58005cfa35..0eec4dafee 100644
--- a/lib/std/os/linux/syscalls.zig
+++ b/lib/std/os/linux/syscalls.zig
@@ -1,6 +1,6 @@
// This file is automatically generated, DO NOT edit it manually.
// See tools/generate_linux_syscalls.zig for more info.
-// This list current as of kernel: 6.16.0
+// This list current as of kernel: 6.18.2
pub const X86 = enum(usize) {
restart_syscall = 0,
@@ -460,6 +460,8 @@ pub const X86 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const X64 = enum(usize) {
@@ -799,6 +801,7 @@ pub const X64 = enum(usize) {
io_pgetevents = 333,
rseq = 334,
uretprobe = 335,
+ uprobe = 336,
pidfd_send_signal = 424,
io_uring_setup = 425,
io_uring_enter = 426,
@@ -843,6 +846,8 @@ pub const X64 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const X32 = enum(usize) {
@@ -1135,6 +1140,7 @@ pub const X32 = enum(usize) {
io_pgetevents = 1073742157,
rseq = 1073742158,
uretprobe = 1073742159,
+ uprobe = 1073742160,
pidfd_send_signal = 1073742248,
io_uring_setup = 1073742249,
io_uring_enter = 1073742250,
@@ -1179,6 +1185,8 @@ pub const X32 = enum(usize) {
listxattrat = 1073742289,
removexattrat = 1073742290,
open_tree_attr = 1073742291,
+ file_getattr = 1073742292,
+ file_setattr = 1073742293,
rt_sigaction = 1073742336,
rt_sigreturn = 1073742337,
ioctl = 1073742338,
@@ -1640,6 +1648,8 @@ pub const Arm = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
breakpoint = arm_base + 1,
cacheflush = arm_base + 2,
@@ -2086,6 +2096,8 @@ pub const Sparc = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const Sparc64 = enum(usize) {
@@ -2488,6 +2500,8 @@ pub const Sparc64 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const M68k = enum(usize) {
@@ -2930,6 +2944,8 @@ pub const M68k = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const MipsO32 = enum(usize) {
@@ -3366,6 +3382,8 @@ pub const MipsO32 = enum(usize) {
listxattrat = 4465,
removexattrat = 4466,
open_tree_attr = 4467,
+ file_getattr = 4468,
+ file_setattr = 4469,
};
pub const MipsN64 = enum(usize) {
@@ -3738,6 +3756,8 @@ pub const MipsN64 = enum(usize) {
listxattrat = 5465,
removexattrat = 5466,
open_tree_attr = 5467,
+ file_getattr = 5468,
+ file_setattr = 5469,
};
pub const MipsN32 = enum(usize) {
@@ -4134,6 +4154,8 @@ pub const MipsN32 = enum(usize) {
listxattrat = 6465,
removexattrat = 6466,
open_tree_attr = 6467,
+ file_getattr = 6468,
+ file_setattr = 6469,
};
pub const PowerPC = enum(usize) {
@@ -4585,6 +4607,8 @@ pub const PowerPC = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const PowerPC64 = enum(usize) {
@@ -5008,6 +5032,8 @@ pub const PowerPC64 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const S390x = enum(usize) {
@@ -5397,6 +5423,8 @@ pub const S390x = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const Xtensa = enum(usize) {
@@ -5790,6 +5818,8 @@ pub const Xtensa = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const Arm64 = enum(usize) {
@@ -6116,6 +6146,8 @@ pub const Arm64 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const RiscV32 = enum(usize) {
@@ -6433,6 +6465,8 @@ pub const RiscV32 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const RiscV64 = enum(usize) {
@@ -6760,6 +6794,8 @@ pub const RiscV64 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const LoongArch64 = enum(usize) {
@@ -7082,6 +7118,8 @@ pub const LoongArch64 = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const Arc = enum(usize) {
@@ -7432,6 +7470,8 @@ pub const Arc = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const CSky = enum(usize) {
@@ -7778,6 +7818,8 @@ pub const CSky = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const Hexagon = enum(usize) {
@@ -8123,6 +8165,8 @@ pub const Hexagon = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};
pub const OpenRisc = enum(usize) {
@@ -8469,4 +8513,6 @@ pub const OpenRisc = enum(usize) {
listxattrat = 465,
removexattrat = 466,
open_tree_attr = 467,
+ file_getattr = 468,
+ file_setattr = 469,
};