NAME
getgroups - get group access list

SYNOPSIS
#include <sys/param.h>

ngroups = getgroups(gidsetlen, gidset)
int ngroups, gidsetlen, *gidset;

DESCRIPTION
Getgroups gets the current group access list of the 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, as defined in <sys/param.h>, will ever be
returned.

RETURN VALUE
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 getgroup 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)

BUGS
The gidset array should be of type gid_t, but remains integer for
compatibility with earlier systems.