@@ -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 ;
0 commit comments