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