The
getgroups()
system call
gets the current group access list of the user process
and stores it in the array
gidset.
The
gidsetlen
argument
indicates the number of entries that may be placed in
gidset.
The
getgroups()
system call
returns the actual number of groups returned in
gidset.
At least one and as many as {NGROUPS_MAX}+1 values may be returned.
If
gidsetlen
is zero,
getgroups()
returns the number of supplementary group IDs associated with
the calling process without modifying the array pointed to by
gidset.
The value of
{NGROUPS_MAX}
should be obtained using
sysconf(3)
to avoid hard-coding it into the executable.