System Calls getppriv(2)
NAME
getppriv, setppriv - get or set a privilege set
SYNOPSIS
#include
int getppriv(priv_ptype_t which, priv_set_t *set);
int setppriv(priv_op_t op, priv_ptype_t which, priv_set_t *set);
DESCRIPTION
The getppriv() function returns the process privilege set
specified by which in the set pointed to by set. The memoryfor set is allocated with priv_allocset() and freed with
priv_freeset(). Both functions are documented on the
priv_addset(3C) manual page.
The setppriv() function sets or changes the process privilege set. The op argument specifies the operation andcan be one of PRIV_OFF, PRIV_ON or PRIV_SET. The which argu-
ment specifies the name of the privilege set. The set argu-
ment specifies the set.If op is PRIV_OFF, the privileges in set are removed from
the process privilege set specified by which. There are no restrictions on removing privileges from process privileges sets, but the following apply:o Privileges removed from PRIV_PERMITTED are silently
removed from PRIV_EFFECTIVE.
o If privileges are removed from PRIV_LIMIT, they are
not removed from the other sets until one of exec(2) functions has successfully completed.If op is PRIV_ON, the privileges in set are added to the
process privilege set specified by which. The following operations are permitted:o Privileges in PRIV_PERMITTED can be added to
PRIV_EFFECTIVE without restriction.
o Privileges in PRIV_PERMITTED can be added to
PRIV_INHERITABLE without restriction.
o All operations that attempt to add privileges that are already present are permitted.SunOS 5.11 Last change: 10 Sep 2004 1
System Calls getppriv(2)
If op is PRIV_SET, the privileges in set replace completely
the process privilege set specified by which. PRIV_SET is
implemented in terms of PRIV_OFF and PRIV_ON. The same res-
trictions apply.RETURN VALUES
Upon successful completion, 0 is returned. Otherwise, -1 is
returned and errno is set to indicate the error.ERRORS
The getppriv() and setppriv() functions will fail if:
EINVAL The value of op or which is out of range. EFAULT The set argument points to an illegal address. The setppriv() function will fail if: EPERM The application attempted to add privileges toPRIV_LIMIT or PRIV_PERMITTED, or the application
attempted to add privileges to PRIV_INHERITABLE or
PRIV_EFFECTIVE which were not in PRIV_PERMITTED.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
priv_addset(3C), attributes(5), privileges(5)
SunOS 5.11 Last change: 10 Sep 2004 2