SETGROUPS(2) BSD System Calls Manual SETGROUPS(2)
NAME
setgroups -- set group access list
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/param.h>
#include <unistd.h>
int
setgroups(int ngroups, const gid_t *gidset);
DESCRIPTION
The setgroups() system call sets the group access list of the current user process according to the array gidset. The ngroups argument indi-
cates the number of entries in the array and must be no more than {NGROUPS_MAX}+1.
Only the super-user may set a new group list.
RETURN VALUES
The setgroups() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indi-
cate the error.
ERRORS
The setgroups() system call will fail if:
[EPERM] The caller is not the super-user.
[EINVAL] The number specified in the ngroups argument is larger than the {NGROUPS_MAX}+1 limit.
[EFAULT] The address specified for gidset is outside the process address space.
SEE ALSO
getgroups(2), initgroups(3)
HISTORY
The setgroups() system call appeared in 4.2BSD.
BSD
April 16, 1994 BSD