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

FreeBSD Manual Pages

  
 
  

home | help
getgroups(2)			 System	Calls			  getgroups(2)

NAME
       getgroups, setgroups - get or set supplementary group access list IDs

SYNOPSIS
       #include	<unistd.h>

       int getgroups(int gidsetsize, gid_t *grouplist);

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

DESCRIPTION
       The  getgroups()	 function  gets	 the current supplemental group	access
       list of the calling process and stores the result in the	array of group
       IDs  specified by grouplist. This array has gidsetsize entries and must
       be large	enough to contain the entire list. This	list cannot be	larger
       than  NGROUPS_MAX.  If gidsetsize equals	0, getgroups() will return the
       number of groups	to which the calling process belongs without modifying
       the array pointed to by grouplist.

       The  setgroups()	 function  sets	the supplementary group	access list of
       the calling process from	the array of group IDs specified by grouplist.
       The  number  of	entries	is specified by	ngroups	and can	not be greater
       than NGROUPS_MAX.

RETURN VALUES
       Upon successful completion, getgroups() returns the number  of  supple-
       mentary	group  IDs set for the calling process and setgroups() returns
       0. Otherwise, -1	is returned and	errno is set to	indicate the error.

ERRORS
       The getgroups() and setgroups() functions will fail if:

       EFAULT	       A referenced part of the	array pointed to by  grouplist
		       is an illegal address.

       The getgroups() function	will fail if:

       EINVAL	       The  value  of gidsetsize is non-zero and less than the
		       number of supplementary group IDs set for  the  calling
		       process.

       The setgroups() function	will fail if:

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

       EPERM	       The  {PRIV_PROC_SETID} privilege	is not asserted	in the
		       effective set of	the calling process.

USAGE
       Use of the setgroups() function requires	the  {PRIV_PROC_SETID}	privi-
       lege.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |getgroups() is Standard.	   |
       +-----------------------------+-----------------------------+
       |MT-Level		     |Async-Signal-Safe		   |
       +-----------------------------+-----------------------------+

SEE ALSO
       groups(1),   chown(2),	getuid(2),   setuid(2),	  getgrnam(3C),	 init-
       groups(3C), attributes(5), privileges(5), standards(5)

SunOS 5.10			  1 Feb	2003			  getgroups(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | USAGE | ATTRIBUTES | SEE ALSO

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

home | help