System Calls getpflags(2)
NAME
getpflags, setpflags - get or set process flags
SYNOPSIS
#include
#include
uint_t getpflags(uint_t flag);
int setpflags(uint_t flag, uint_t value);
DESCRIPTION
The getpflags() and setpflags() functions obtain and modify
the current per-process flags.
The following values for flag are supported:PRIV_AWARE
This one bit flag takes the value of 0 (unset) or 1 (set). Only if this flag is set is the current processprivilege-aware. A process can attempt to unset this
flag but might fail silently if the observed set invari-
ance condition cannot be met. Setting this flag is always successful. See privileges(5) for a discussion of this flag.PRIV_AWARE_RESET
This one bit flag takes the value of 0 (unset) or 1(set). This causes a process to pretend it is non-
privilege aware. The effective and permitted privilege set change on the change of the effective uid. When all the uid sets become the same through setuid(uid) or through setreuid(uid, uid), the effective and permitted set are set to the intersection between the limit setand the inheritable set. At that point, both PRIV_AWARE
and PRIV_AWARE_RESET are unset.
This flag gets automatically reset when a file becomes privilege aware, either through calling setppriv(2) orby setting PRIV_AWARE to 1.
PRIV_DEBUG
This one bit flag takes the value of 0 (unset) or 1 (set). Only if this flag is set does the currentSunOS 5.11 Last change: 4 Jun 2009 1
System Calls getpflags(2) process have privilege debugging enabled. Processes can set and unset this flag at will.NET_MAC_AWARE
NET_MAC_AWARE_INHERIT
These flags are available only if the system is config-
ured with Trusted Extensions. These one bit flags each take the value of 0 (unset) or 1 (set). If theNET_MAC_AWARE flag is set then the current process is
allowed to communicate with peers at labels that are different than its own, subject to MAC policy.The NET_MAC_AWARE_INHERIT flag controls the propagation
of the NET_MAC_AWARE flag. When a process performs one
of the exec(2) functions, the NET_MAC_AWARE flag is
unset unless the NET_MAC_AWARE_INHERIT is set.
NET_MAC_AWARE_INHERIT is always unset on one of the exec
functions. The PRIV_NET_MAC_AWARE privilege is required
to set either of these flags.RETURN VALUES
The getpflags() returns the value associated with a givenper-process flag. If the flag argument is invalid,
(uint_t)-1 is returned and errno is set to indicate the
error.Upon successful completion, setpflags() returns 0. Other-
wise, -1 is returned and errno is set to indicate the error.
ERRORS
The getpflags() and setpflags() functions will fail if:
EINVAL The value of flag or the value to which the flag is set is out of range.The setpflags() function will fail if:
EPERM An attempt was made to unset PRIV_AWARE but the
observed set invariance condition was not met.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:SunOS 5.11 Last change: 4 Jun 2009 2
System Calls getpflags(2)____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Async-Signal-Safe |
|_____________________________|_____________________________|
SEE ALSO
ppriv(1), setppriv(2), attributes(5), privileges(5)SunOS 5.11 Last change: 4 Jun 2009 3