| ... | @@ -2254,40 +2254,70 @@ pub const S = switch (native_os) { | ... | @@ -2254,40 +2254,70 @@ pub const S = switch (native_os) { |
| 2254 | } | 2254 | } |
| 2255 | }, | 2255 | }, |
| 2256 | .dragonfly => struct { | 2256 | .dragonfly => struct { |
| | 2257 | pub const IFMT = 0o170000; |
| | 2258 | |
| | 2259 | pub const IFIFO = 0o010000; |
| | 2260 | pub const IFCHR = 0o020000; |
| | 2261 | pub const IFDIR = 0o040000; |
| | 2262 | pub const IFBLK = 0o060000; |
| | 2263 | pub const IFREG = 0o100000; |
| | 2264 | pub const IFLNK = 0o120000; |
| | 2265 | pub const IFSOCK = 0o140000; |
| | 2266 | pub const IFWHT = 0o160000; |
| | 2267 | |
| | 2268 | pub const ISUID = 0o4000; |
| | 2269 | pub const ISGID = 0o2000; |
| | 2270 | pub const ISVTX = 0o1000; |
| | 2271 | pub const IRWXU = 0o700; |
| | 2272 | pub const IRUSR = 0o400; |
| | 2273 | pub const IWUSR = 0o200; |
| | 2274 | pub const IXUSR = 0o100; |
| | 2275 | pub const IRWXG = 0o070; |
| | 2276 | pub const IRGRP = 0o040; |
| | 2277 | pub const IWGRP = 0o020; |
| | 2278 | pub const IXGRP = 0o010; |
| | 2279 | pub const IRWXO = 0o007; |
| | 2280 | pub const IROTH = 0o004; |
| | 2281 | pub const IWOTH = 0o002; |
| | 2282 | pub const IXOTH = 0o001; |
| | 2283 | |
| 2257 | pub const IREAD = IRUSR; | 2284 | pub const IREAD = IRUSR; |
| 2258 | pub const IEXEC = IXUSR; | 2285 | pub const IEXEC = IXUSR; |
| 2259 | pub const IWRITE = IWUSR; | 2286 | pub const IWRITE = IWUSR; |
| 2260 | pub const IXOTH = 1; | | |
| 2261 | pub const IWOTH = 2; | | |
| 2262 | pub const IROTH = 4; | | |
| 2263 | pub const IRWXO = 7; | | |
| 2264 | pub const IXGRP = 8; | | |
| 2265 | pub const IWGRP = 16; | | |
| 2266 | pub const IRGRP = 32; | | |
| 2267 | pub const IRWXG = 56; | | |
| 2268 | pub const IXUSR = 64; | | |
| 2269 | pub const IWUSR = 128; | | |
| 2270 | pub const IRUSR = 256; | | |
| 2271 | pub const IRWXU = 448; | | |
| 2272 | pub const ISTXT = 512; | 2287 | pub const ISTXT = 512; |
| 2273 | pub const BLKSIZE = 512; | 2288 | pub const BLKSIZE = 512; |
| 2274 | pub const ISVTX = 512; | 2289 | |
| 2275 | pub const ISGID = 1024; | 2290 | pub fn ISFIFO(m: u32) bool { |
| 2276 | pub const ISUID = 2048; | 2291 | return m & IFMT == IFIFO; |
| 2277 | pub const IFIFO = 4096; | 2292 | } |
| 2278 | pub const IFCHR = 8192; | | |
| 2279 | pub const IFDIR = 16384; | | |
| 2280 | pub const IFBLK = 24576; | | |
| 2281 | pub const IFREG = 32768; | | |
| 2282 | pub const IFDB = 36864; | | |
| 2283 | pub const IFLNK = 40960; | | |
| 2284 | pub const IFSOCK = 49152; | | |
| 2285 | pub const IFWHT = 57344; | | |
| 2286 | pub const IFMT = 61440; | | |
| 2287 | | 2293 | |
| 2288 | pub fn ISCHR(m: u32) bool { | 2294 | pub fn ISCHR(m: u32) bool { |
| 2289 | return m & IFMT == IFCHR; | 2295 | return m & IFMT == IFCHR; |
| 2290 | } | 2296 | } |
| | 2297 | |
| | 2298 | pub fn ISDIR(m: u32) bool { |
| | 2299 | return m & IFMT == IFDIR; |
| | 2300 | } |
| | 2301 | |
| | 2302 | pub fn ISBLK(m: u32) bool { |
| | 2303 | return m & IFMT == IFBLK; |
| | 2304 | } |
| | 2305 | |
| | 2306 | pub fn ISREG(m: u32) bool { |
| | 2307 | return m & IFMT == IFREG; |
| | 2308 | } |
| | 2309 | |
| | 2310 | pub fn ISLNK(m: u32) bool { |
| | 2311 | return m & IFMT == IFLNK; |
| | 2312 | } |
| | 2313 | |
| | 2314 | pub fn ISSOCK(m: u32) bool { |
| | 2315 | return m & IFMT == IFSOCK; |
| | 2316 | } |
| | 2317 | |
| | 2318 | pub fn IWHT(m: u32) bool { |
| | 2319 | return m & IFMT == IFWHT; |
| | 2320 | } |
| 2291 | }, | 2321 | }, |
| 2292 | .haiku => struct { | 2322 | .haiku => struct { |
| 2293 | pub const IFMT = 0o170000; | 2323 | pub const IFMT = 0o170000; |