xref: /original-bsd/lib/libc/sys/getgroups.2 (revision 5f5c18da)
Copyright (c) 1983 The Regents of the University of California.
All rights reserved.

Redistribution and use in source and binary forms are permitted
provided that the above copyright notice and this paragraph are
duplicated in all such forms and that any documentation,
advertising materials, and other materials related to such
distribution and use acknowledge that the software was developed
by the University of California, Berkeley. The name of the
University may not be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

@(#)getgroups.2 6.5 (Berkeley) 05/18/89

GETGROUPS 2 ""
C 5
NAME
getgroups - get group access list
SYNOPSIS
#include <sys/param.h>

ngroups = getgroups(gidsetlen, gidset) int ngroups, gidsetlen, *gidset;

DESCRIPTION
Getgroups gets the current group access list of the user process and stores it in the array gidset . The parameter gidsetlen indicates the number of entries that may be placed in gidset. Getgroups returns the actual number of groups returned in gidset . No more than NGROUPS, as defined in < sys/param.h >, will ever be returned.
"RETURN VALUE
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 getgroup are:

15 [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)
BUGS
The gidset array should be of type gid_t , but remains integer for compatibility with earlier systems.