| 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
 getgroups() gets the current group access list of the current user process and stores it in the array 
gidset. The parameter 
gidsetlen indicates the number of entries that may be placed in 
gidset. 
getgroups() returns the actual number of groups returned in 
gidset. No more than 
{NGROUPS_MAX} will ever be returned. If 
gidsetlen is 0, 
getgroups() returns the number of groups without modifying the 
gidset array.
This system call only returns the secondary groups.
 
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 for 
getgroups() are:
- 
[EINVAL]
- 
The argument gidsetlen is non-zero and is smaller than the number of groups in the group set.
- 
[EFAULT]
- 
The argument gidset specifies an invalid address.
 
STANDARDS
 The getgroups() function conforms to IEEE Std 1003.1-1990 (“POSIX.1”).
HISTORY
 The getgroups() function call appeared in 4.2BSD.