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

FreeBSD Manual Pages

  
 
  

home | help
GETGROUPLIST(3)	       FreeBSD Library Functions Manual	       GETGROUPLIST(3)

NAME
     getgrouplist -- calculate group access list

SYNOPSIS
     #include <unistd.h>

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

DESCRIPTION
     The getgrouplist()	function reads through the group(5) file and calcu-
     lates 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.

     If	YP is active and the group file	contains no exclusions,	the netid(5)
     file and the netid.byname YP map will be used in addition to the group
     file.  If the group file contains at least	one exclusion, the
     group.byname YP map will be used in addition to the group file.

     The resulting group list is returned in the integer 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.

RETURN VALUES
     The getgrouplist()	function returns 0 if successful and -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.

FILES
     /etc/group	 group database	file
     /etc/netid	 static	group lists to override	YP data

SEE ALSO
     setgroups(2), initgroups(3), yp_match(3), group(5), netid(5), yp(8)

HISTORY
     The getgrouplist()	function first appeared	in 4.4BSD.

BUGS
     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().

FreeBSD	13.0			 June 5, 2013			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | FILES | SEE ALSO | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=getgrouplist&sektion=3&manpath=OpenBSD+6.9>

home | help