INITGROUPS(3) BSD Programmer's Manual INITGROUPS(3)NAMEinitgroups - initialize group access list
SYNOPSIS
#include <unistd.h>
int
initgroups(const char *name, int basegid);
DESCRIPTION
The initgroups() function uses the getgrouplist(3) function to calculate
the group access list for the user specified in name. This group list is
then setup for the current process using setgroups(2). The basegid is
automatically included in the groups list. Typically this value is given
as the group number from the password file.
RETURN VALUES
The initgroups() function returns -1 if it was not invoked by the super-
user.
SEE ALSOsetgroups(2), getgrouplist(3)HISTORY
The initgroups function appeared in 4.2BSD.
BUGS
The getgrouplist() function called by initgroups uses the routines based
on getgrent(3). If the invoking program uses any of these routines, the
group structure will be overwritten in the call to initgroups().
The initgroups() function may not be safely called concurrently from mul-
tiple threads, e.g., the interfaces described by pthreads(3).
4.2 Berkeley Distribution June 4, 1993 1