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.