SETREGID(2)                      System Calls                      SETREGID(2)




NAME

       setregid - set real and effective group ID


SYNOPSIS

       #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.  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
       parameter.

       The setregid function 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 function did not work correctly, and  its
       purpose  is  now  better served by the use of the setegid function (see
       setuid(2)).

       When setting the real and effective group IDs to the  same  value,  the
       standard setgid function is preferred.


RETURN VALUES

       Upon  successful  completion,  a  value of 0 is returned.  Otherwise, a
       value of -1 is returned and errno is set to indicate the error.


ERRORS

              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.


SEE ALSO

       getgid(2), setegid(2), setgid(2), setuid(2)


HISTORY

       The setregid system call appeared in 4.2BSD.



GNO                             16 January 1997                    SETREGID(2)

Man(1) output converted with man2html