Zig 0.17.0-dev (Split by item)
This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig library itself.
Zig › std/ › c.zig › S
S
c.S
pub const S = switch (native_os )
File
Code
pub const S = switch (native_os ) {
.linux => linux .S ,
.emscripten => emscripten .S ,
.wasi => struct {
pub const IFBLK = 0x6000 ;
pub const IFCHR = 0x2000 ;
pub const IFDIR = 0x4000 ;
pub const IFIFO = 0x1000 ;
pub const IFLNK = 0xa000 ;
pub const IFMT = IFBLK | IFCHR | IFDIR | IFIFO | IFLNK | IFREG | IFSOCK ;
pub const IFREG = 0x8000 ;
pub const IFSOCK = 0xc000 ;
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
},
.driverkit , .ios , .maccatalyst , .macos , .tvos , .visionos , .watchos => struct {
pub const IFMT = 0o170000 ;
pub const IFIFO = 0o010000 ;
pub const IFCHR = 0o020000 ;
pub const IFDIR = 0o040000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const IFWHT = 0o160000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
pub fn IWHT (m : u32 ) bool {
return m & IFMT == IFWHT ;
}
},
.freebsd => struct {
pub const IFMT = 0o170000 ;
pub const IFIFO = 0o010000 ;
pub const IFCHR = 0o020000 ;
pub const IFDIR = 0o040000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const IFWHT = 0o160000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
pub fn IWHT (m : u32 ) bool {
return m & IFMT == IFWHT ;
}
},
.illumos => struct {
pub const IFMT = 0o170000 ;
pub const IFIFO = 0o010000 ;
pub const IFCHR = 0o020000 ;
pub const IFDIR = 0o040000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const IFDOOR = 0o150000 ;
pub const IFPORT = 0o160000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
pub fn ISDOOR (m : u32 ) bool {
return m & IFMT == IFDOOR ;
}
pub fn ISPORT (m : u32 ) bool {
return m & IFMT == IFPORT ;
}
},
.netbsd => struct {
pub const IFMT = 0o170000 ;
pub const IFIFO = 0o010000 ;
pub const IFCHR = 0o020000 ;
pub const IFDIR = 0o040000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const IFWHT = 0o160000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
pub fn IWHT (m : u32 ) bool {
return m & IFMT == IFWHT ;
}
},
.dragonfly => struct {
pub const IFMT = 0o170000 ;
pub const IFIFO = 0o010000 ;
pub const IFCHR = 0o020000 ;
pub const IFDIR = 0o040000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const IFWHT = 0o160000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub const IREAD = IRUSR ;
pub const IEXEC = IXUSR ;
pub const IWRITE = IWUSR ;
pub const ISTXT = 512 ;
pub const BLKSIZE = 512 ;
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
pub fn IWHT (m : u32 ) bool {
return m & IFMT == IFWHT ;
}
},
.haiku => struct {
pub const IFMT = 0o170000 ;
pub const IFSOCK = 0o140000 ;
pub const IFLNK = 0o120000 ;
pub const IFREG = 0o100000 ;
pub const IFBLK = 0o060000 ;
pub const IFDIR = 0o040000 ;
pub const IFCHR = 0o020000 ;
pub const IFIFO = 0o010000 ;
pub const INDEX_DIR = 0o4000000000 ;
pub const IUMSK = 0o7777 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
pub fn ISINDEX (m : u32 ) bool {
return m & INDEX_DIR == INDEX_DIR ;
}
},
.openbsd => struct {
pub const IFMT = 0o170000 ;
pub const IFIFO = 0o010000 ;
pub const IFCHR = 0o020000 ;
pub const IFDIR = 0o040000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRWXU = 0o700 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IRWXG = 0o070 ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IRWXO = 0o007 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub const BLKSIZE = 512 ;
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
},
.serenity => struct {
pub const IFMT = 0o170000 ;
pub const IFDIR = 0o040000 ;
pub const IFCHR = 0o020000 ;
pub const IFBLK = 0o060000 ;
pub const IFREG = 0o100000 ;
pub const IFIFO = 0o010000 ;
pub const IFLNK = 0o120000 ;
pub const IFSOCK = 0o140000 ;
pub const ISUID = 0o4000 ;
pub const ISGID = 0o2000 ;
pub const ISVTX = 0o1000 ;
pub const IRUSR = 0o400 ;
pub const IWUSR = 0o200 ;
pub const IXUSR = 0o100 ;
pub const IREAD = IRUSR ;
pub const IWRITE = IWUSR ;
pub const IEXEC = IXUSR ;
pub const IRGRP = 0o040 ;
pub const IWGRP = 0o020 ;
pub const IXGRP = 0o010 ;
pub const IROTH = 0o004 ;
pub const IWOTH = 0o002 ;
pub const IXOTH = 0o001 ;
pub const IRWXU = IRUSR | IWUSR | IXUSR ;
pub const IRWXG = IRWXU >> 3 ;
pub const IRWXO = IRWXG >> 3 ;
pub fn ISDIR (m : u32 ) bool {
return m & IFMT == IFDIR ;
}
pub fn ISCHR (m : u32 ) bool {
return m & IFMT == IFCHR ;
}
pub fn ISBLK (m : u32 ) bool {
return m & IFMT == IFBLK ;
}
pub fn ISREG (m : u32 ) bool {
return m & IFMT == IFREG ;
}
pub fn ISFIFO (m : u32 ) bool {
return m & IFMT == IFIFO ;
}
pub fn ISLNK (m : u32 ) bool {
return m & IFMT == IFLNK ;
}
pub fn ISSOCK (m : u32 ) bool {
return m & IFMT == IFSOCK ;
}
},
else => void ,
}