GETGROUPS(2) | System Calls Manual | GETGROUPS(2)

# NAME

`getgroups` — get group access list

# SYNOPSIS

`#include <unistd.h>`

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.

# 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

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

# STANDARDS

The `getgroups`() function conforms to IEEE Std 1003.1-2008 (“POSIX.1”).

# HISTORY

The `getgroups`() system call first appeared in 4.1cBSD.

July 8, 2019 | Debian