Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

GETGROUPLIST(3)          BSD Library Functions Manual          GETGROUPLIST(3)

     getgrouplist -- calculate group access list

     Standard C Library (libc, -lc)

     #include <unistd.h>

     getgrouplist(const char *name, int basegid, int *groups, int *ngroups);

     The getgrouplist() function reads through the group file and calculates the group access list for the
     user specified in name.  The basegid is automatically included in the groups list.  Typically this
     value is given as the group number from the password file.

     The resulting group list is returned in the array pointed to by groups.  The caller specifies the size
     of the groups array in the integer pointed to by ngroups; the actual number of groups found is returned
     in ngroups.

     The getgrouplist() function returns -1 if the size of the group list is too small to hold all the
     user's groups.  Here, the group array will be filled with as many groups as will fit.

     /etc/group  group membership list

     setgroups(2), initgroups(3)

     The getgrouplist() function first appeared in 4.4BSD.

     The getgrouplist() function uses the routines based on getgrent(3).  If the invoking program uses any
     of these routines, the group structure will be overwritten in the call to getgrouplist().

BSD                              June 9, 1993                              BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.