getgroups — get group access list
Contents
Description
The getgroups() system call gets the current group access list of the user process and stores it in the
array gidset. The gidsetlen argument indicates the number of entries that may be placed in gidset. The
getgroups() system call returns the actual number of groups returned in gidset. At least one and as many
as {NGROUPS_MAX}+1 values may be returned. If gidsetlen is zero, getgroups() returns the number of
supplementary group IDs associated with the calling process without modifying the array pointed to by
gidset.
The value of {NGROUPS_MAX} should be obtained using sysconf(3) to avoid hard-coding it into the
executable.
Errors
The possible errors for getgroups() are:
[EINVAL] The argument gidsetlen is smaller than the number of groups in the group set.
[EFAULT] The argument gidset specifies an invalid address.
History
The getgroups() system call appeared in 4.2BSD.
Debian January 21, 2011 GETGROUPS(2)
Library
Standard C Library (libc, -lc)
Name
getgroups — get group access list
Return Values
A successful call returns the number of groups in the group set. A value of -1 indicates that an error
occurred, and the error code is stored in the global variable errno.
See Also
setgroups(2), initgroups(3), sysconf(3)
Standards
The getgroups() system call conforms to IEEE Std 1003.1-2008 (“POSIX.1”).
Synopsis
#include<unistd.h>intgetgroups(intgidsetlen, gid_t*gidset);
