NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO
#include <tsol/priv.h>int getppriv(priv_ptype_ttype, priv_set_t*pset);
getppriv() copies the type privilege set of the invoking process into the pset address. type may have one of four values, specified in <tsol/priv.h>:
The effective privilege set
The inheritable privilege set
The permitted privilege set
The saved privilege set
setppriv() assigns or modifies the type privilege set (the target set) of the invoking process. Modification occurs according to the values of op and of the pset privilege set (the source set). op values are specified in <tsol/priv.h>:
Each privilege asserted in the source set is asserted in the target set.
Each privilege asserted in the source set is cleared in the target set.
The target set is made exactly equal to the source set.
Values for type are the same as those for type in getppriv(), exclusive of PRIV_SAVED
.
If the target set is the permitted set, all privileges cleared from the target set are also cleared from the effective set. Any attempted assignment of a privilege cleared in the permitted set is always an error. Attempting to clear a privilege that is already cleared is not an error.
getppriv() fails if either of these conditions prevails:
An illegal or undefined value was supplied for type.
pset refers to an invalid address.
setppriv() fails and the target set is not modified if any of these conditions prevails:
An illegal or undefined value is supplied for type or op.
set refers to an invalid address.
In a process privilege set, an attempt is made to assert a privilege that is cleared in the permitted set of the process.
getfpriv(2), setfpriv(2), priv_to_str(3TSOL), priv_set_to_str(3TSOL), str_to_priv(3TSOL), str_to_priv_set(3TSOL), priv_macros(5)
NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO