Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


GETGROUPS(2)                  System Calls Manual                 GETGROUPS(2)

NAME
     getgroups - get group access list

LIBRARY
     Standard C Library (libc, -lc)

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

     This system call only returns the secondary groups.

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 non-zero and is smaller than
                        the number of groups in the group set.

     [EFAULT]           The argument gidset specifies an invalid address.

SEE ALSO
     getegid(2), getgid(2), setgroups(2), initgroups(3)

STANDARDS
     The getgroups() function conforms to IEEE Std 1003.1-1990 ("POSIX.1").

HISTORY
     The getgroups() function call appeared in 4.2BSD.

NetBSD 10.99                    October 7, 2006                   NetBSD 10.99