| ... | ... | @@ -2254,40 +2254,70 @@ pub const S = switch (native_os) { |
| 2254 | 2254 | } |
| 2255 | 2255 | }, |
| 2256 | 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 | 2284 | pub const IREAD = IRUSR; |
| 2258 | 2285 | pub const IEXEC = IXUSR; |
| 2259 | 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 | 2287 | pub const ISTXT = 512; |
| 2273 | 2288 | pub const BLKSIZE = 512; |
| 2274 | | pub const ISVTX = 512; |
| 2275 | | pub const ISGID = 1024; |
| 2276 | | pub const ISUID = 2048; |
| 2277 | | pub const IFIFO = 4096; |
| 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; |
| 2289 | |
| 2290 | pub fn ISFIFO(m: u32) bool { |
| 2291 | return m & IFMT == IFIFO; |
| 2292 | } |
| 2287 | 2293 | |
| 2288 | 2294 | pub fn ISCHR(m: u32) bool { |
| 2289 | 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 | 2322 | .haiku => struct { |
| 2293 | 2323 | pub const IFMT = 0o170000; |