+.TH SETGROUPS 2 "7 July 1983"
+.UC 4
+.SH NAME
+setgroups \- set group access list
+.SH SYNOPSIS
+.nf
+.ft B
+#include <sys/param.h>
+.PP
+.ft B
+setgroups(ngroups, gidset)
+int ngroups, *gidset;
+.fi
+.SH DESCRIPTION
+.I Setgroups
+sets the group access list of the current user process
+according to the array
+.IR gidset .
+The parameter
+.I ngroups
+indicates the number of entries in the array and must be no
+more than NGRPS, as defined in
+.RI < sys/param.h >.
+.PP
+Only the super-user may set new groups.
+.SH "RETURN VALUE
+A 0 value is returned on success, \-1 on error, with
+a error code stored in \fIerrno\fP.
+.SH "ERRORS
+The \fIsetgroups\fP call will fail if:
+.TP 15
+[EPERM]
+The caller is not the super-user.
+.TP 15
+[EFAULT]
+The address specified for \fIgidset\fP is outside the process
+address space.
+.SH "SEE ALSO
+getgroups(2), initgroups(3X)