ngroups = getgroups(gidsetlen, gidset)
int ngroups, gidsetlen, *gidset;
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
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.
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.