feature. See also
. The project being documented here (as the example) is the Zig library itself.
linux.F
pub const F = struct
File
Code
pub const F = struct {
pub const DUPFD = 0;
pub const GETFD = 1;
pub const SETFD = 2;
pub const GETFL = 3;
pub const SETFL = 4;
pub const GETLK = GET_SET_LK.GETLK;
pub const SETLK = GET_SET_LK.SETLK;
pub const SETLKW = GET_SET_LK.SETLKW;
pub const SETOWN = GET_SET_OWN.SETOWN;
pub const GETOWN = GET_SET_OWN.GETOWN;
const GET_SET_LK = switch (native_arch) {
.mips, .mipsel => struct {
const GETLK = 33;
const SETLK = 34;
const SETLKW = 35;
},
.mips64, .mips64el => switch (native_abi) {
.gnuabin32, .muslabin32, .abin32 => struct {
const GETLK = 33;
const SETLK = 34;
const SETLKW = 35;
},
else => struct {
const GETLK = 14;
const SETLK = 6;
const SETLKW = 7;
},
},
.alpha, .sparc, .sparc64 => struct {
const GETLK = 7;
const SETLK = 8;
const SETLKW = 9;
},
.hppa, .hppa64 => struct {
const GETLK = 8;
const SETLK = 9;
const SETLKW = 10;
},
else => if (@sizeOf(usize) == 8) struct {
const GETLK = 5;
const SETLK = 6;
const SETLKW = 7;
} else struct {
const GETLK = 12;
const SETLK = 13;
const SETLKW = 14;
},
};
const GET_SET_OWN = switch (native_arch) {
.mips, .mipsel, .mips64, .mips64el => struct {
const GETOWN = 23;
const SETOWN = 24;
},
.alpha, .sparc, .sparc64 => struct {
const GETOWN = 5;
const SETOWN = 6;
},
.hppa, .hppa64 => struct {
const GETOWN = 11;
const SETOWN = 12;
},
else => struct {
const GETOWN = 8;
const SETOWN = 9;
},
};
pub const SETSIG = if (is_hppa or native_arch == .alpha) 13 else 11;
pub const GETSIG = if (is_hppa or native_arch == .alpha) 14 else 12;
pub const SETOWN_EX = 15;
pub const GETOWN_EX = 16;
pub const GETOWNER_UIDS = 17;
pub const OFD_GETLK = 36;
pub const OFD_SETLK = 37;
pub const OFD_SETLKW = 38;
pub const RDLCK = if (is_sparc) 1 else 0;
pub const WRLCK = if (is_sparc) 2 else 1;
pub const UNLCK = if (is_sparc) 3 else if (native_arch == .alpha) 8 else 2;
pub const LINUX_SPECIFIC_BASE = 1024;
pub const SETLEASE = LINUX_SPECIFIC_BASE + 0;
pub const GETLEASE = LINUX_SPECIFIC_BASE + 1;
pub const NOTIFY = LINUX_SPECIFIC_BASE + 2;
pub const DUPFD_QUERY = LINUX_SPECIFIC_BASE + 3;
pub const CREATED_QUERY = LINUX_SPECIFIC_BASE + 4;
pub const CANCELLK = LINUX_SPECIFIC_BASE + 5;
pub const DUPFD_CLOEXEC = LINUX_SPECIFIC_BASE + 6;
pub const SETPIPE_SZ = LINUX_SPECIFIC_BASE + 7;
pub const GETPIPE_SZ = LINUX_SPECIFIC_BASE + 8;
pub const ADD_SEALS = LINUX_SPECIFIC_BASE + 9;
pub const GET_SEALS = LINUX_SPECIFIC_BASE + 10;
pub const SEAL_SEAL = 0x0001;
pub const SEAL_SHRINK = 0x0002;
pub const SEAL_GROW = 0x0004;
pub const SEAL_WRITE = 0x0008;
pub const SEAL_FUTURE_WRITE = 0x0010;
pub const SEAL_EXEC = 0x0020;
pub const GET_RW_HINT = LINUX_SPECIFIC_BASE + 11;
pub const SET_RW_HINT = LINUX_SPECIFIC_BASE + 12;
pub const GET_FILE_RW_HINT = LINUX_SPECIFIC_BASE + 13;
pub const SET_FILE_RW_HINT = LINUX_SPECIFIC_BASE + 14;
}