#include <sys/types.h>
     #include <unistd.h>

     int
     getgroups(int gidsetlen, gid_t *gidset);


DESCRIPTION

     Getgroups() gets the current group access list of the current user
     process and stores it in the array gidset.  The parameter gidsetlen indi-
     cates 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.


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() function call appeared in 4.2BSD.

4.2 Berkeley Distribution       April 16, 1994       4.2 Berkeley Distribution

Man(1) output converted with man2html