setgroups - set group access list
int setgroups(int ngroups, const gid_t *gidset);
setgroups() sets the group access list of the current user process
according to the array gidset. The parameter ngroups indicates the
number of entries in the array and must be no more than NGROUPS_MAX,
as defined in <<<<limits.h>>>>.
Only super-user can set new groups by adding to the group access list
of the current user process; any user can delete groups from it.
Upon successful completion, setgroups() returns 0; otherwise it
returns -1 and sets errno to indicate the error.
setgroups() fails if any of the following conditions are encountered:
[EPERM] The caller is not super-user and has attempted to
set new groups.
[EFAULT] The address specified for gidset is outside the
process address space. The reliable detection of
this error is implementation dependent.
[EINVAL] ngroups is greater than NGROUPS_MAX or not
[EINVAL] An entry in gidset is not a valid group ID.
setgroups() was developed by the University of California, Berkeley.
setgroups(): AES, SVID3
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000