cap_init, cap_free, cap_dup - capability data object stor
age management
SYNOPSIS
#include <sys/capability.h>
cap_t cap_init(void);
int cap_free(void *obj_d);
cap_t cap_dup(cap_t cap_p);
USAGE
cc ... -lcap
DESCRIPTION
The capabilities associated with a file or process are
never edited directly. Instead, working storage is allo
cated to contain a representation of the capability state.
Capabilities are edited and manipulated only within this
working storage area. Once editing of the capability
state is complete, the updated capability state is used to
replace the capability state associated with the file or
process.
cap_init creates a capability state in working storage and
return a pointer to the capability state. The initial
value of all flags are cleared. The caller should free
any releasable memory, when the capability state in work
ing storage is no longer required, by calling cap_free
with the cap_t as an argument.
cap_free liberates any releasable memory that has been
allocated to the capability state identified by obj_d.
The obj_d argument may identify either a cap_t entity, or
a char * entity allocated by the cap_to_text function.
cap_dup returns a duplicate capability state in working
storage given by the source object cap_p, allocating any
memory necessary, and returning a pointer to the newly
created capability state. Once duplicated, no operation
on either capability state affects the other in any way.
RETURN VALUE
cap_init and cap_dup return a non-NULL value on success,
and NULL on failure.
cap_free returns zero on success, and -1 on failure.
On failure, errno(3) is set to EINVAL, or ENOMEM.
CONFORMING TO
These functions are specified by POSIX.1e.
cap_clear(3), cap_copy_ext(3), cap_from_text(3),
cap_get_file(3), cap_get_proc(3)
Man(1) output converted with
man2html