Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GETGROUPS(2)		  FreeBSD 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
     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.  At least one and as many as {NGROUPS_MAX}+1 values may be	re-
     turned.  If gidsetlen is zero, getgroups()	returns	the number of supple-
     mentary group IDs associated with the calling process without modifying
     the array pointed to by gidset.

     The value of {NGROUPS_MAX}	should be obtained using sysconf(3) to avoid
     hard-coding it into the executable.

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), sysconf(3)

STANDARDS
     The getgroups() system call conforms to IEEE Std 1003.1-2008 ("POSIX.1").

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

FreeBSD	13.0		       January 21, 2011			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=getgroups&sektion=2&manpath=FreeBSD+13.2-RELEASE>

home | help