cap_init (3)

CAP_INIT(3) Linux Programmer's Manual CAP_INIT(3) NAME cap_init, cap_free, cap_dup - capability data object storage 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 allocated to contain a represen- tation of the capability state. Capabilities are edited and manipu- lated only within this working storage area. Once editing of the capa- bility 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 capa- bility state in working 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 dupli- cated, 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. SEE ALSO cap_clear(3), cap_copy_ext(3), cap_from_text(3), cap_get_file(3), cap_get_proc(3) 26th May 1997 CAP_INIT(3)