October 7, 2006 GETGROUPS 2

### NAME

getgroups - get group access list

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```int` getgroups(```int gidsetlen``, gid_t *gidset`)

### DESCRIPTION

getgroups(``) gets the current group access list of the current 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_MAX}` will ever be returned. If ```gidsetlen` is 0, getgroups(``) returns the number of groups without modifying the ```gidset` array.

This system call only returns the secondary groups.

### 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 non-zero and is smaller than the number of groups in the group set.

[```EFAULT`]
  The argument ```gidset` specifies an invalid address.

### SEE ALSO

getegid(2), getgid(2), setgroups(2), initgroups(3)

### STANDARDS

The getgroups(``) function conforms to ISO/IEC 9945-1:1990 (``POSIX.1'') .

### HISTORY

The getgroups(``) function call appeared in 4.2BSD.