table of contents
other sections
GETGROUPS(2) | System Calls Manual | GETGROUPS(2) |
NAME¶
getgroups
—
get group access list
LIBRARY¶
Standard C Library (libc, -lc)SYNOPSIS¶
#include
<unistd.h>
int
getgroups
(int
gidsetlen, gid_t
*gidset);
DESCRIPTION¶
Thegetgroups
() 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.
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.ERRORS¶
The possible errors forgetgroups
() are:
- [
EINVAL
] - The argument gidsetlen is smaller than the number of groups in the group set.
- [
EFAULT
] - The argument gidset specifies an invalid address.
SEE ALSO¶
setgroups(2), initgroups(3), sysconf(3)STANDARDS¶
Thegetgroups
() system call conforms to
IEEE Std 1003.1-2008
(“POSIX.1”).
HISTORY¶
Thegetgroups
() system call appeared in
4.2BSD.January 21, 2011 | Debian |