#include <sys/types.h>
#include <unistd.h> int
getgroups (int gidsetlen gid_t *gidset);
DESCRIPTION
The
getgroups ();
system call
gets the current group access list of the user process
and stores it in the array
Fa gidset .
The
Fa gidsetlen
argument
indicates the number of entries that may be placed in
Fa gidset .
The
getgroups ();
system call
returns the actual number of groups returned in
Fa gidset .
No more than
NGROUPS_MAX
will ever
be returned.
If
Fa gidsetlen
is zero,
getgroups ();
returns the number of supplementary group IDs associated with
the calling process without modifying the array pointed to by
Fa gidset .
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:
Bq Er EINVAL
The argument
Fa gidsetlen
is smaller than the number of groups in the group set.
Bq Er EFAULT
The argument
Fa gidset
specifies
an invalid address.