xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/grp.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef	_GRP_H
2*cda5da8dSAndroid Build Coastguard Worker #define	_GRP_H
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
5*cda5da8dSAndroid Build Coastguard Worker extern "C" {
6*cda5da8dSAndroid Build Coastguard Worker #endif
7*cda5da8dSAndroid Build Coastguard Worker 
8*cda5da8dSAndroid Build Coastguard Worker #include <features.h>
9*cda5da8dSAndroid Build Coastguard Worker 
10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t
11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_gid_t
12*cda5da8dSAndroid Build Coastguard Worker 
13*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
14*cda5da8dSAndroid Build Coastguard Worker #define __NEED_FILE
15*cda5da8dSAndroid Build Coastguard Worker #endif
16*cda5da8dSAndroid Build Coastguard Worker 
17*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h>
18*cda5da8dSAndroid Build Coastguard Worker 
19*cda5da8dSAndroid Build Coastguard Worker struct group {
20*cda5da8dSAndroid Build Coastguard Worker 	char *gr_name;
21*cda5da8dSAndroid Build Coastguard Worker 	char *gr_passwd;
22*cda5da8dSAndroid Build Coastguard Worker 	gid_t gr_gid;
23*cda5da8dSAndroid Build Coastguard Worker 	char **gr_mem;
24*cda5da8dSAndroid Build Coastguard Worker };
25*cda5da8dSAndroid Build Coastguard Worker 
26*cda5da8dSAndroid Build Coastguard Worker struct group  *getgrgid(gid_t);
27*cda5da8dSAndroid Build Coastguard Worker struct group  *getgrnam(const char *);
28*cda5da8dSAndroid Build Coastguard Worker 
29*cda5da8dSAndroid Build Coastguard Worker int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **);
30*cda5da8dSAndroid Build Coastguard Worker int getgrnam_r(const char *, struct group *, char *, size_t, struct group **);
31*cda5da8dSAndroid Build Coastguard Worker 
32*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
33*cda5da8dSAndroid Build Coastguard Worker struct group  *getgrent(void);
34*cda5da8dSAndroid Build Coastguard Worker void           endgrent(void);
35*cda5da8dSAndroid Build Coastguard Worker void           setgrent(void);
36*cda5da8dSAndroid Build Coastguard Worker #endif
37*cda5da8dSAndroid Build Coastguard Worker 
38*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
39*cda5da8dSAndroid Build Coastguard Worker struct group  *fgetgrent(FILE *);
40*cda5da8dSAndroid Build Coastguard Worker int putgrent(const struct group *, FILE *);
41*cda5da8dSAndroid Build Coastguard Worker #endif
42*cda5da8dSAndroid Build Coastguard Worker 
43*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
44*cda5da8dSAndroid Build Coastguard Worker int getgrouplist(const char *, gid_t, gid_t *, int *);
45*cda5da8dSAndroid Build Coastguard Worker int setgroups(size_t, const gid_t *);
46*cda5da8dSAndroid Build Coastguard Worker int initgroups(const char *, gid_t);
47*cda5da8dSAndroid Build Coastguard Worker #endif
48*cda5da8dSAndroid Build Coastguard Worker 
49*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
50*cda5da8dSAndroid Build Coastguard Worker }
51*cda5da8dSAndroid Build Coastguard Worker #endif
52*cda5da8dSAndroid Build Coastguard Worker 
53*cda5da8dSAndroid Build Coastguard Worker #endif
54