Content-type: text/html Man page of priv_addset


Section: Standard C Library Functions (3C)
Updated: 28 Jan 2005
Index Return to Main Contents


priv_addset, priv_allocset, priv_copyset, priv_delset, priv_emptyset, priv_fillset, priv_freeset, priv_intersect, priv_inverse, priv_isemptyset, priv_isequalset, priv_isfullset, priv_ismember, priv_issubset, priv_union - privilege set manipulation functions  


#include <priv.h>

int priv_addset(priv_set_t *sp, const char *priv);

priv_set_t *priv_allocset(void);

void priv_copyset(const priv_set_t *src, priv_set_t *dst);

int priv_delset(priv_set_t *sp, const char *priv);

void priv_emptyset(priv_set_t *sp);

void priv_fillset(priv_set_t *sp);

void priv_freeset(priv_set_t *sp);

void priv_intersect(const priv_set_t *src, priv_set_t *dst);

void priv_inverse(priv_set_t *sp);

boolean_t priv_isemptyset(const priv_set_t *sp);

boolean_t priv_isequalset(const priv_set_t *src, const priv_set_t *dst);

boolean_t priv_isfullset(const priv_set_t *sp);

boolean_t priv_ismember(const priv_set_t *sp, const char *priv);

boolean_t priv_issubset(const priv_set_t *src, const priv_set_t *dst);

void priv_union(const priv_set_t *src, priv_set_t *dst);  


The sp, src, and dst arguments point to privilege sets. The priv argument points to a named privilege.

The priv_addset() function adds the named privilege priv to sp.

The priv_allocset() function allocates sufficient memory to contain a privilege set. The value of the returned privilege set is indeterminate. The function returns NULL and sets errno when it fails to allocate memory.

The priv_copyset() function copies the set src to dst.

The priv_delset() function removes the named privilege priv from sp.

The priv_emptyset() function clears all privileges from sp.

The priv_fillset() function asserts all privileges in sp, including the privileges not currently defined in the system.

The priv_freeset() function frees the storage allocated by priv_allocset().

The priv_intersect() function intersects src with dst and places the results in dst.

The priv_inverse() function inverts the privilege set given as argument in place.

The priv_isemptyset() function checks whether the argument is an empty set.

The priv_isequalset() function checks whether the privilege set src is equal to dst.

The priv_isfullset() function checks whether the argument is a full set. A full set is a set with all bits set, regardless of whether the privilege is currently defined in the system.

The priv_ismember() function checks whether the named privilege priv is a member of sp.

The priv_issubset() function checks whether src is a subset of dst.

The priv_union() function takes the union of src and dst and places the result in dst.  


Upon successful completion, priv_allocset() returns a pointer to an opaque data structure. It returns NULL if memory allocation fails and sets errno to indicate the error.

Upon successful completion, priv_isemptyset(), priv_isfullset(), priv_isequalset(), priv_issubset(), and priv_ismember() return B_TRUE. Otherwise, they return B_FALSE.

Upon successful completion, priv_delset() and priv_addset() return 0. Otherwise, they return -1 and set errno to indicate the error.  


The priv_allocset() function will fail if:

ENOMEM The physical limits of the system are exceeded by the memory allocation needed to hold a privilege set.

EAGAIN There is insufficient memory for allocation to hold a privilege set. The application can try again later.

The priv_delset() and priv_addset() functions will fail if:

EINVAL The privilege argument is not a valid privilege name.



See attributes(5) for descriptions of the following attributes:

Interface StabilityEvolving



setppriv(2), malloc(3C), priv_str_to_set(3C), attributes(5), privileges(5)  


The functions that compare sets operate on all bits of the set, regardless of whether the specific privileges are currently defined in the system.




This document was created by man2html, using the manual pages.
Time: 02:37:18 GMT, October 02, 2010