NAME
getgroups —
    get group access list
SYNOPSIS
#include
    <sys/types.h>
  
  #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.
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 smaller than the number of groups in the group set.
- [EFAULT]
- The argument gidset specifies an invalid address.
SEE ALSO
HISTORY
The getgroups() function call appeared in
    4.2BSD.