HP-UX Reference (11i v2 03/08) - 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
Section 2336 Hewlett-Packard Company 1 HP-UX 11i Version 2: August 2003