VMS Help  —  CRTL  setgid
    With POSIX IDs disabled, setgid is implemented for program
    portability and serves no function. It returns 0 (to indicate
    success).

    With POSIX IDs enabled, setgid sets the group IDs.

    Format

      #include  <types.h>

      #include  <unistd.h>

      int setgid  (__gid_t gid); (_DECC_V4_SOURCE)

      int setgid  (gid_t gid); (not _DECC_V4_SOURCE)

1  –  Argument

 gid

    The value to which you want the group IDs set.

2  –  Description

    The setgid function can be used with POSIX style identifiers
    enabled or disabled.

    POSIX style IDs are supported on OpenVMS Version 7.3-2 and
    higher.

    With POSIX IDs disabled, the setgid function is implemented for
    program portability and serves no function. It returns 0 (to
    indicate success).

    With POSIX style IDs enabled:

    o  If the process has the IMPERSONATE privilege, the setgid
       function sets the real group ID, effective group ID, and the
       saved set-group-ID to gid.

    o  If the process does not have appropriate privileges but gid is
       equal to the real group ID or to the saved set-group-ID, then
       the setgid function sets the effective group ID to gid. The
       real group ID and saved set-group-ID remain unchanged.

    o  Any supplementary group IDs of the calling process remain
       unchanged.

3  –  Return Values

    0                  Successful completion.
    -1                 Indicates an error. The function sets errno to
                       one of the following values:

                       o  EINVAL - The value of the gid argument
                          is invalid and not supported by the
                          implementation.

                       o  EPERM - The process does not have
                          appropriate privileges and gid does not
                          match the real group ID or the saved set-
                          group-ID.
Close Help