authorgravatar for me@benbuhse.emailBen Buhse <me@benbuhse.email> 2026-02-07 16:21:42-06:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-02-08 02:11:20+01:00
log52a6242443e30265ff9e0961ff39bdea8607db45
tree741f9a50ad8f6eb0ca2a48844a12a15777fd23b4
parent703df73f389dae88776caa3a0a026eb8acc7d8f4

std.os.linux: add F_SEAL constants to F struct

Add the missing F_SEAL_SEAL, F_SEAL_SHRINK, F_SEAL_GROW, F_SEAL_WRITE, F_SEAL_FUTURE_WRITE, and F_SEAL_EXEC constants used with F.ADD_SEALS/F.GET_SEALS for memfd file sealing. These are defined in the Linux kernel at include/uapi/linux/fcntl.h. The FreeBSD equivalents already exist in std.c (freebsd.F), but the Linux side was missing them.

1 files changed, 8 insertions(+), 0 deletions(-)

lib/std/os/linux.zig+8
...@@ -1862,6 +1862,14 @@ pub const F = struct {...@@ -1862,6 +1862,14 @@ pub const F = struct {
1862 pub const GETPIPE_SZ = LINUX_SPECIFIC_BASE + 8;1862 pub const GETPIPE_SZ = LINUX_SPECIFIC_BASE + 8;
1863 pub const ADD_SEALS = LINUX_SPECIFIC_BASE + 9;1863 pub const ADD_SEALS = LINUX_SPECIFIC_BASE + 9;
1864 pub const GET_SEALS = LINUX_SPECIFIC_BASE + 10;1864 pub const GET_SEALS = LINUX_SPECIFIC_BASE + 10;
1865
1866 pub const SEAL_SEAL = 0x0001;
1867 pub const SEAL_SHRINK = 0x0002;
1868 pub const SEAL_GROW = 0x0004;
1869 pub const SEAL_WRITE = 0x0008;
1870 pub const SEAL_FUTURE_WRITE = 0x0010;
1871 pub const SEAL_EXEC = 0x0020;
1872
1865 pub const GET_RW_HINT = LINUX_SPECIFIC_BASE + 11;1873 pub const GET_RW_HINT = LINUX_SPECIFIC_BASE + 11;
1866 pub const SET_RW_HINT = LINUX_SPECIFIC_BASE + 12;1874 pub const SET_RW_HINT = LINUX_SPECIFIC_BASE + 12;
1867 pub const GET_FILE_RW_HINT = LINUX_SPECIFIC_BASE + 13;1875 pub const GET_FILE_RW_HINT = LINUX_SPECIFIC_BASE + 13;