diff options
| author | Chinmay Dalal <dalal.chinmay.0101@gmail.com> | 2025-07-27 12:34:40 +0530 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-07-30 21:28:42 -0700 |
| commit | e941ce3e689991081d0ae726bfa1ccccf4fc196f (patch) | |
| tree | 13c3799f5c9c9d4ff9918c46a4faba88485b8e78 /lib/std/c.zig | |
| parent | 032bbd68a7a17b4f8167f9644430c375f43da60c (diff) | |
| download | zig-e941ce3e689991081d0ae726bfa1ccccf4fc196f.tar.gz zig-e941ce3e689991081d0ae726bfa1ccccf4fc196f.zip | |
add grp.h functions to c.zig
Diffstat (limited to 'lib/std/c.zig')
| -rw-r--r-- | lib/std/c.zig | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/std/c.zig b/lib/std/c.zig index e2f55dd6fb..32f5fc1c3b 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -207,6 +207,16 @@ pub const passwd = switch (native_os) { else => void, }; +pub const group = switch (native_os) { + .linux, .freebsd, .openbsd, .dragonfly, .netbsd, .macos => extern struct { + name: ?[*:0]const u8, + passwd: ?[*:0]const u8, + gid: gid_t, + mem: [*:null]?[*:0]const u8, + }, + else => void, +}; + pub const blkcnt_t = switch (native_os) { .linux => linux.blkcnt_t, .emscripten => emscripten.blkcnt_t, @@ -3291,8 +3301,8 @@ pub const T = switch (native_os) { .macos, .ios, .tvos, .watchos, .visionos => struct { pub const IOCGWINSZ = ior(0x40000000, 't', 104, @sizeOf(winsize)); - fn ior(inout: u32, group: usize, num: usize, len: usize) usize { - return (inout | ((len & IOCPARM_MASK) << 16) | ((group) << 8) | (num)); + fn ior(inout: u32, group_arg: usize, num: usize, len: usize) usize { + return (inout | ((len & IOCPARM_MASK) << 16) | ((group_arg) << 8) | (num)); } }, .freebsd => struct { @@ -10264,6 +10274,13 @@ pub const fstatat = switch (native_os) { pub extern "c" fn getpwnam(name: [*:0]const u8) ?*passwd; pub extern "c" fn getpwuid(uid: uid_t) ?*passwd; +pub extern "c" fn getgrent() ?*group; +pub extern "c" fn setgrent() void; +pub extern "c" fn endgrent() void; +pub extern "c" fn getgrnam(name: [*:0]const u8) ?*passwd; +pub extern "c" fn getgrnam_r(name: [*:0]const u8, grp: *group, buf: [*]u8, buflen: usize, result: *?*group) c_int; +pub extern "c" fn getgrgid(gid: gid_t) ?*group; +pub extern "c" fn getgrgid_r(gid: gid_t, grp: *group, buf: [*]u8, buflen: usize, result: *?*group) c_int; pub extern "c" fn getrlimit64(resource: rlimit_resource, rlim: *rlimit) c_int; pub extern "c" fn lseek64(fd: fd_t, offset: i64, whence: c_int) i64; pub extern "c" fn mmap64(addr: ?*align(page_size) anyopaque, len: usize, prot: c_uint, flags: c_uint, fd: fd_t, offset: i64) *anyopaque; |
