getgroups -- get group access list
Standard C Library (libc, -lc)
#include <sys/types.h>
#include <unistd.h>
int
getgroups(int gidsetlen, gid_t *gidset);
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. No more than NGROUPS_MAX will ever 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.
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 getgroups() are:
[EINVAL] The argument gidsetlen is smaller than the number of
groups in the group set.
[EFAULT] The argument gidset specifies an invalid address.
setgroups(2), initgroups(3)
The getgroups() system call appeared in 4.2BSD.
FreeBSD 5.2.1 March 5, 1999 FreeBSD 5.2.1 [ Back ] |