Provided by: freebsd-manpages_7.1~beta1-1_all bug

NAME

     getgroups - get group access list

LIBRARY

     Standard C Library (libc, -lc)

SYNOPSIS

     #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 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.

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:

     [EINVAL]           The argument gidsetlen is smaller than the number of
                        groups in the group set.

     [EFAULT]           The argument gidset specifies an invalid address.

SEE ALSO

     setgroups(2), initgroups(3)

HISTORY

     The getgroups() system call appeared in 4.2BSD.