diff options
| -rw-r--r-- | include/grp.h | 6 | ||||
| -rw-r--r-- | include/unistd.h | 2 | ||||
| -rw-r--r-- | src/linux/setgroups.c | 2 | 
3 files changed, 8 insertions, 2 deletions
diff --git a/include/grp.h b/include/grp.h index d4a3526a..51851851 100644 --- a/include/grp.h +++ b/include/grp.h @@ -28,6 +28,12 @@ struct group  *getgrent(void);  void           endgrent(void);  void           setgrent(void); +#ifdef _GNU_SOURCE +int getgrouplist(const char *, gid_t, gid_t *, int *); +int setgroups(size_t, const gid_t *); +int initgroups(const char *, gid_t); +#endif +  #ifdef __cplusplus  }  #endif diff --git a/include/unistd.h b/include/unistd.h index b8f783ed..05180de0 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -154,7 +154,7 @@ int getpagesize(void);  int sethostname(const char *, size_t);  int usleep(unsigned);  unsigned ualarm(unsigned, unsigned); -int setgroups(int, const gid_t []); +int setgroups(size_t, const gid_t []);  int setresuid(uid_t, uid_t, uid_t);  int setresgid(gid_t, gid_t, gid_t);  #endif diff --git a/src/linux/setgroups.c b/src/linux/setgroups.c index bdee58d5..9758940a 100644 --- a/src/linux/setgroups.c +++ b/src/linux/setgroups.c @@ -1,7 +1,7 @@  #include <unistd.h>  #include "syscall.h" -int setgroups(int count, const gid_t list[]) +int setgroups(size_t count, const gid_t list[])  {  	return syscall(SYS_setgroups, count, list);  }  | 
