PXFSETGID(3F) Last changed: 1-6-98
PXFSETGID - Sets group ID
SUBROUTINE PXFSETGID (igid, ierror)
INTEGER igid, ierror
UNICOS, UNICOS/mk, and IRIX systems
IEEE standard interface for FORTRAN 77
On IRIX systems, this routine is in libfortran.so which is linked by
default when compiling programs with the MIPSpro 7 Fortran 90 compiler
or when compiling programs with the -craylibs option to the MIPSpro
7.2 F77 compiler.
The PXFSETGID routine uses the setgid(2) function to set the real
group ID, effective group ID, and saved-set group IDs of the calling
process. The following conditions determine the setting of an ID.
They are checked in the following order, and the first condition that
is true is applied:
* If the process has appropriate privilege, the real, effective, and
saved-set group IDs are all set to igid.
* If ID is equal to either the real group ID, the effective group ID,
or the saved-set, group ID is set to igid.
When using the CF90 compiler or MIPSpro 7 Fortran 90 compiler on
UNICOS, UNICOS/mk, or IRIX systems, all arguments must be of default
kind unless documented otherwise. On UNICOS and UNICOS/mk, default
kind is KIND=8 for integer, real, complex, and logical arguments; on
IRIX, the default kind is KIND=4.
The following is a list of valid arguments for this routine:
igid An input integer variable used to replace the current group
ID for the calling process.
ierror An output integer variable that contains zero if PXFSETGID
was successful. or nonzero if PXFSETGID was not successful.
PXFSETGID may return EINVAL if the value of the igid argument is out
of range or EPERM if the process does not have the appropriate
privileges and igid does not match the real user ID.
On a UNICOS multilevel security (MLS) system, a process with the
effective privileges shown is granted the following abilities:
Privilege Description
PRIV_SETGID The process may set the real group ID,
effective group ID, and saved set-group-ID.
On a UNICOS non-MLS system or a UNICOS MLS system with PRIV_SU
enabled, the super user may set the real group ID, effective group ID,
and saved set-group-ID.
In this example, the current user ID for the current process will be
obtained by calling PXFGETGID and then setting the group ID for the
current process by using the group ID returned by PXFGETGID.
program pxftest
integer igid, ierror
CALL PXFGETGID(igid, ierror)
if (ierror .eq. 0) then
CALL PXFSETGID(igid, ierror)
if (ierror .eq. 0) then
print *,'group id set to ',igid
else
print *,'group id not set to ',igid,' because of error'
endif
else
print *,'could not obtain user ID error = ',ierror
endif
end
setgid(2)
Application Programmer's Library Reference Manual, publication SR2165,
for the printed version of this man page.
PXFSETGID(3F) Last changed: 1-6-98
PXFSETGID - Sets group ID
SUBROUTINE PXFSETGID (igid, ierror)
INTEGER igid, ierror
UNICOS, UNICOS/mk, and IRIX systems
IEEE standard interface for FORTRAN 77
On IRIX systems, this routine is in libfortran.so which is linked by
default when compiling programs with the MIPSpro 7 Fortran 90 compiler
or when compiling programs with the -craylibs option to the MIPSpro
7.2 F77 compiler.
The PXFSETGID routine uses the setgid(2) function to set the real
group ID, effective group ID, and saved-set group IDs of the calling
process. The following conditions determine the setting of an ID.
They are checked in the following order, and the first condition that
is true is applied:
* If the process has appropriate privilege, the real, effective, and
saved-set group IDs are all set to igid.
* If ID is equal to either the real group ID, the effective group ID,
or the saved-set, group ID is set to igid.
When using the CF90 compiler or MIPSpro 7 Fortran 90 compiler on
UNICOS, UNICOS/mk, or IRIX systems, all arguments must be of default
kind unless documented otherwise. On UNICOS and UNICOS/mk, default
kind is KIND=8 for integer, real, complex, and logical arguments; on
IRIX, the default kind is KIND=4.
The following is a list of valid arguments for this routine:
igid An input integer variable used to replace the current group
ID for the calling process.
ierror An output integer variable that contains zero if PXFSETGID
was successful. or nonzero if PXFSETGID was not successful.
PXFSETGID may return EINVAL if the value of the igid argument is out
of range or EPERM if the process does not have the appropriate
privileges and igid does not match the real user ID.
On a UNICOS multilevel security (MLS) system, a process with the
effective privileges shown is granted the following abilities:
Privilege Description
PRIV_SETGID The process may set the real group ID,
effective group ID, and saved set-group-ID.
On a UNICOS non-MLS system or a UNICOS MLS system with PRIV_SU
enabled, the super user may set the real group ID, effective group ID,
and saved set-group-ID.
In this example, the current user ID for the current process will be
obtained by calling PXFGETGID and then setting the group ID for the
current process by using the group ID returned by PXFGETGID.
program pxftest
integer igid, ierror
CALL PXFGETGID(igid, ierror)
if (ierror .eq. 0) then
CALL PXFSETGID(igid, ierror)
if (ierror .eq. 0) then
print *,'group id set to ',igid
else
print *,'group id not set to ',igid,' because of error'
endif
else
print *,'could not obtain user ID error = ',ierror
endif
end
setgid(2)
Application Programmer's Library Reference Manual, publication SR2165,
for the printed version of this man page.
[ Back ]
|