feature. See also
. The project being documented here (as the example) is the Zig library itself.
linux.O
pub const O = switch (native_arch)
File
Code
pub const O = switch (native_arch) {
.x86_64 => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u4 = 0,
CREAT: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
TRUNC: bool = false,
APPEND: bool = false,
NONBLOCK: bool = false,
DSYNC: bool = false,
ASYNC: bool = false,
DIRECT: bool = false,
_15: u1 = 0,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
SYNC: bool = false,
PATH: bool = false,
TMPFILE: bool = false,
_23: u9 = 0,
},
.x86, .riscv32, .riscv64, .loongarch32, .loongarch64 => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u4 = 0,
CREAT: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
TRUNC: bool = false,
APPEND: bool = false,
NONBLOCK: bool = false,
DSYNC: bool = false,
ASYNC: bool = false,
DIRECT: bool = false,
LARGEFILE: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
SYNC: bool = false,
PATH: bool = false,
TMPFILE: bool = false,
_23: u9 = 0,
},
.aarch64, .aarch64_be, .arm, .armeb, .thumb, .thumbeb => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u4 = 0,
CREAT: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
TRUNC: bool = false,
APPEND: bool = false,
NONBLOCK: bool = false,
DSYNC: bool = false,
ASYNC: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
DIRECT: bool = false,
LARGEFILE: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
SYNC: bool = false,
PATH: bool = false,
TMPFILE: bool = false,
_23: u9 = 0,
},
.sparc, .sparc64 => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u1 = 0,
APPEND: bool = false,
_4: u2 = 0,
ASYNC: bool = false,
_7: u2 = 0,
CREAT: bool = false,
TRUNC: bool = false,
EXCL: bool = false,
_12: u1 = 0,
DSYNC: bool = false,
NONBLOCK: bool = false,
NOCTTY: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
_18: u2 = 0,
DIRECT: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
SYNC: bool = false,
PATH: bool = false,
TMPFILE: bool = false,
_27: u6 = 0,
},
.mips, .mipsel, .mips64, .mips64el => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u1 = 0,
APPEND: bool = false,
DSYNC: bool = false,
_5: u2 = 0,
NONBLOCK: bool = false,
CREAT: bool = false,
TRUNC: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
ASYNC: bool = false,
LARGEFILE: bool = false,
SYNC: bool = false,
DIRECT: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
_20: u1 = 0,
PATH: bool = false,
TMPFILE: bool = false,
_23: u9 = 0,
},
.powerpc, .powerpcle, .powerpc64, .powerpc64le => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u4 = 0,
CREAT: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
TRUNC: bool = false,
APPEND: bool = false,
NONBLOCK: bool = false,
DSYNC: bool = false,
ASYNC: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
LARGEFILE: bool = false,
DIRECT: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
SYNC: bool = false,
PATH: bool = false,
TMPFILE: bool = false,
_23: u9 = 0,
},
.arc,
.arceb,
.csky,
.hexagon,
.microblaze,
.microblazeel,
.or1k,
.s390x,
.sh,
.sheb,
.xtensa,
.xtensaeb,
=> packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u4 = 0,
CREAT: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
TRUNC: bool = false,
APPEND: bool = false,
NONBLOCK: bool = false,
DSYNC: bool = false,
ASYNC: bool = false,
DIRECT: bool = false,
LARGEFILE: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
TMPFILE0: bool = false,
PATH: bool = false,
_22: u4 = 0,
TMPFILE1: bool = false,
_27: u5 = 0,
// #define O_SYNC 04010000
// #define O_NDELAY O_NONBLOCK
},
.m68k => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
_2: u4 = 0,
CREAT: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
TRUNC: bool = false,
APPEND: bool = false,
NONBLOCK: bool = false,
DSYNC: bool = false,
ASYNC: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
DIRECT: bool = false,
LARGEFILE: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
_20: u1 = 0,
PATH: bool = false,
_22: u10 = 0,
},
.alpha => packed struct(u32) {
ACCMODE: ACCMODE = .RDONLY,
NONBLOCK: bool = false,
APPEND: bool = false,
_4: u5 = 0,
CREAT: bool = false,
TRUNC: bool = false,
EXCL: bool = false,
NOCTTY: bool = false,
_9: u1 = 0,
DSYNC: bool = false,
DIRECTORY: bool = false,
NOFOLLOW: bool = false,
LARGEFILE: bool = false,
_14: u1 = 0,
DIRECT: bool = false,
NOATIME: bool = false,
CLOEXEC: bool = false,
SYNC: bool = false,
PATH: bool = false,
TMPFILE: bool = false,
_: u7 = 0,
},
else => @compileError("missing std.os.linux.O constants for this architecture"),
}