Skip to content

Commit 9c7278f

Browse files
committed
add grp.h functions to c.zig
1 parent 3fbdd58 commit 9c7278f

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

lib/std/c.zig

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,16 @@ pub const passwd = switch (native_os) {
207207
else => void,
208208
};
209209

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+
210220
pub const blkcnt_t = switch (native_os) {
211221
.linux => linux.blkcnt_t,
212222
.emscripten => emscripten.blkcnt_t,
@@ -3291,8 +3301,8 @@ pub const T = switch (native_os) {
32913301
.macos, .ios, .tvos, .watchos, .visionos => struct {
32923302
pub const IOCGWINSZ = ior(0x40000000, 't', 104, @sizeOf(winsize));
32933303

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));
32963306
}
32973307
},
32983308
.freebsd => struct {
@@ -10264,6 +10274,13 @@ pub const fstatat = switch (native_os) {
1026410274

1026510275
pub extern "c" fn getpwnam(name: [*:0]const u8) ?*passwd;
1026610276
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;
1026710284
pub extern "c" fn getrlimit64(resource: rlimit_resource, rlim: *rlimit) c_int;
1026810285
pub extern "c" fn lseek64(fd: fd_t, offset: i64, whence: c_int) i64;
1026910286
pub extern "c" fn mmap64(addr: ?*align(page_size) anyopaque, len: usize, prot: c_uint, flags: c_uint, fd: fd_t, offset: i64) *anyopaque;

0 commit comments

Comments
 (0)