ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

This manual page is associated with the Mac OS X developer tools. The software or headers described may not be present on your Mac OS X installation until you install the developer tools package. This package is available on your Mac OS X installation DVD, and the latest versions can be downloaded from developer.apple.com.

For more information about the manual page format, see the manual page for manpages(5).



SETGROUPS(2)                BSD System Calls Manual               SETGROUPS(2)

NAME
     setgroups -- set group access list

SYNOPSIS
     #include <sys/param.h>
     #include <unistd.h>

     int
     setgroups(int ngroups, const gid_t *gidset);

DESCRIPTION
     Setgroups() sets the group access list of the current user process according to the array gidset.  The
     parameter ngroups indicates the number of entries in the array and must be no more than {NGROUPS_MAX}.

     Only the super-user may set new groups.

RETURN VALUES
     A 0 value is returned on success, -1 on error, with an error code stored in errno.

ERRORS
     The setgroups() call will fail if:

     [EINVAL]           The value of ngroups is greater than {NGROUPS_MAX}.

     [EPERM]            The caller is not the super-user.

     [EFAULT]           The address specified for gidset is outside the process address space.

SEE ALSO
     getgroups(2), initgroups(3)

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

4.2 Berkeley Distribution       April 16, 1994       4.2 Berkeley Distribution

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.