#include <unistd.h> int
setregid (gid_t rgid gid_t egid);
DESCRIPTION
The real and effective group ID's of the current process
are set to the arguments.
If the real group ID is changed, the saved group ID is changed to the
new value of the effective group ID.
Unprivileged users may change the real group
ID to the effective group ID and vice-versa; only the super-user may
make other changes.
Supplying a value of -1 for either the real or effective
group ID forces the system to substitute the current
ID in place of the -1 argument.
The
setregid ();
system call was intended to allow swapping
the real and effective group IDs
in set-group-ID programs to temporarily relinquish the set-group-ID value.
This system call did not work correctly,
and its purpose is now better served by the use of the
setegid(2)
system call.
When setting the real and effective group IDs to the same value,
the standard
setgid ();
system call is preferred.
RETURN VALUES
Rv -std setregid
ERRORS
Bq Er EPERM
The current process is not the super-user and a change
other than changing the effective group-id to the real group-id
was specified.