Provided by: manpages-dev_2.17-1_all
initgroups - initialize the supplementary group access list
int initgroups(const char *user, gid_t group);
The initgroups() function initializes the group access list by reading
the group database /etc/group and using all groups of which user is a
member. The additional group group is also added to the list.
The user argument must be non-NULL.
The initgroups() function returns 0 on success. On error, -1 is
returned, and errno is set appropriately.
ENOMEM Insufficient memory to allocate group information structure.
EPERM The calling process has insufficient privilege. See the
underlying system call setgroups(2).
/etc/group group database file
SVID 3, 4.3BSD
The prototype for initgroups() is only available if _BSD_SOURCE is
defined (either explicitly, or implicitly, by not defining
_POSIX_SOURCE or compiling with the -ansi flag).