Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

getgroups(2)

initgroups(3C)

setgroups(2)

NAME

setgroups − set group access list

SYNOPSIS

#include <unistd.h>

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

DESCRIPTION

setgroups() sets the group access list of the current user process according to the array gidset. The parameter ngroups indicates the number of entries in the array and must be no more than NGROUPS, as defined in <sys/param.h>. 

Only super-user can set new groups by adding to the group access list of the current user process; any user can delete groups from it. 

RETURN VALUE

Upon successful completion, setgroups() returns 0; otherwise it returns −1 and sets errno to indicate the error. 

ERRORS

setgroups() fails if any of the following conditions are encountered:

[EPERM] The caller is not super-user and has attempted to set new groups. 

[EFAULT] The address specified for gidset is outside the process address space.  The reliable detection of this error is implementation dependent. 

[EINVAL] ngroups is greater than NGROUPS or not positive. 

[EINVAL] An entry in gidset is not a valid group ID. 

AUTHOR

setgroups() was developed by the University of California, Berkeley. 

SEE ALSO

getgroups(2), initgroups(3C)

STANDARDS CONFORMANCE

setgroups(): AES, SVID3

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026