EN JA
INITGROUPS(3)
INITGROUPS(3) FreeBSD Library Functions Manual INITGROUPS(3)

NAME

initgroupsinitialize group access list

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include < unistd.h>

int
initgroups( const char *name, gid_t 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 the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

ERRORS

The initgroups() function may fail and set errno for any of the errors specified for the library function setgroups(2). It may also return:
[ ENOMEM]
The initgroups() function was unable to allocate temporary storage.

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().
June 4, 1993 FreeBSD