2.11BSD/man/cat3/getgrouplist.0
GETGROUPLIST(3) UNIX Programmer's Manual GETGROUPLIST(3)
NAME
getgrouplist - calculate group access list
SYNOPSIS
#include <unistd.h>
int
getgrouplist(_n_a_m_e, _b_a_s_e_g_i_d, _g_r_o_u_p_s, _n_g_r_o_u_p_s)
char *name;
gid_t basegid;
gid_t *groups;
int *ngroups;
DESCRIPTION
The getgrouplist function reads through the group file and
calculates the group access list for the user specified in
_n_a_m_e. The _b_a_s_e_g_i_d is automatically included in the groups
list. Typically this value is given as the group number
from the password file.
The resulting group list is returned in the integer array
pointed to by _g_r_o_u_p_s. The caller specifies the size of the
_g_r_o_u_p_s array in the integer pointed to by _n_g_r_o_u_p_s; the
actual number of groups found is returned in _n_g_r_o_u_p_s.
RETURN VALUES
The getgrouplist function returns -1 if the size of the
group list is too small to hold all the user's groups.
Here, the group array will be filled with as many groups as
will fit.
FILES
/etc/group group membership list
SEE ALSO
setgroups(2), initgroups(3)
HISTORY
The getgrouplist function first appeared in 4.4BSD.
BUGS
The getgrouplist function uses the routines based on get-
grent(3). If the invoking program uses any of these rou-
tines, the group structure will be overwritten in the call
to getgrouplist.
Printed 11/26/99 June 25, 1997 1