HP-UX Reference (11i v2 04/09) - 2 System Calls (vol 5)
s
setgroups(2) setgroups(2)
NAME
setgroups - set group access list
SYNOPSIS
#include <unistd.h>
int setgroups(int ngroups, const gid_t *gidset);
DESCRIPTION
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.
RETURN VALUE
Upon successful completion,
setgroups() returns 0; otherwise it returns −1 and sets
errno to indi-
cate the error.
ERRORS
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 positive.
[EINVAL] An entry in gidset is not a valid group ID.
AUTHOR
setgroups() was developed by the University of California, Berkeley.
SEE ALSO
getgroups(2), initgroups(3C).
STANDARDS CONFORMANCE
setgroups(): AES, SVID3
HP-UX 11i Version 2: September 2004 − 1 − Hewlett-Packard Company Section 2−−341