| ... | ... | @@ -207,6 +207,16 @@ pub const passwd = switch (native_os) { |
| 207 | 207 | else => void, |
| 208 | 208 | }; |
| 209 | 209 | |
| 210 | pub const group = switch (native_os) { |
| 211 | .linux, .freebsd, .openbsd, .dragonfly, .netbsd, .macos => extern struct { |
| 212 | name: ?[*:0]const u8, |
| 213 | passwd: ?[*:0]const u8, |
| 214 | gid: gid_t, |
| 215 | mem: [*:null]?[*:0]const u8, |
| 216 | }, |
| 217 | else => void, |
| 218 | }; |
| 219 | |
| 210 | 220 | pub const blkcnt_t = switch (native_os) { |
| 211 | 221 | .linux => linux.blkcnt_t, |
| 212 | 222 | .emscripten => emscripten.blkcnt_t, |
| ... | ... | @@ -3291,8 +3301,8 @@ pub const T = switch (native_os) { |
| 3291 | 3301 | .macos, .ios, .tvos, .watchos, .visionos => struct { |
| 3292 | 3302 | pub const IOCGWINSZ = ior(0x40000000, 't', 104, @sizeOf(winsize)); |
| 3293 | 3303 | |
| 3294 | | fn ior(inout: u32, group: usize, num: usize, len: usize) usize { |
| 3295 | | return (inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num)); |
| 3304 | fn ior(inout: u32, group_arg: usize, num: usize, len: usize) usize { |
| 3305 | return (inout | ((len & IOCPARM_MASK) << 16) | ((group_arg) << 8) | (num)); |
| 3296 | 3306 | } |
| 3297 | 3307 | }, |
| 3298 | 3308 | .freebsd => struct { |
| ... | ... | @@ -10264,6 +10274,13 @@ pub const fstatat = switch (native_os) { |
| 10264 | 10274 | |
| 10265 | 10275 | pub extern "c" fn getpwnam(name: [*:0]const u8) ?*passwd; |
| 10266 | 10276 | pub extern "c" fn getpwuid(uid: uid_t) ?*passwd; |
| 10277 | pub extern "c" fn getgrent() ?*group; |
| 10278 | pub extern "c" fn setgrent() void; |
| 10279 | pub extern "c" fn endgrent() void; |
| 10280 | pub extern "c" fn getgrnam(name: [*:0]const u8) ?*passwd; |
| 10281 | pub extern "c" fn getgrnam_r(name: [*:0]const u8, grp: *group, buf: [*]u8, buflen: usize, result: *?*group) c_int; |
| 10282 | pub extern "c" fn getgrgid(gid: gid_t) ?*group; |
| 10283 | pub extern "c" fn getgrgid_r(gid: gid_t, grp: *group, buf: [*]u8, buflen: usize, result: *?*group) c_int; |
| 10267 | 10284 | pub extern "c" fn getrlimit64(resource: rlimit_resource, rlim: *rlimit) c_int; |
| 10268 | 10285 | pub extern "c" fn lseek64(fd: fd_t, offset: i64, whence: c_int) i64; |
| 10269 | 10286 | pub extern "c" fn mmap64(addr: ?*align(page_size) anyopaque, len: usize, prot: c_uint, flags: c_uint, fd: fd_t, offset: i64) *anyopaque; |