cap_init(3) — Linux manual page
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);
Link with -lcap.
DESCRIPTION
The capabilities associated with a file or process are never
edited directly. Instead, working storage is allocated 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
returns 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 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 duplicated, no operation on either
capability state affects the other in any way. When the
duplicated capability state in working storage is no longer
required, the caller should free any releasable memory by calling
cap_free() with the cap_t as an argument.
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 is set to EINVAL or ENOMEM.
CONFORMING TO
These functions are specified in the withdrawn POSIX.1e draft
specification.
SEE ALSO
libcap(3), cap_clear(3), cap_copy_ext(3), cap_from_text(3),
cap_get_file(3), cap_get_proc(3), capabilities(7)
COLOPHON
This page is part of the libcap (capabilities commands and
library) project. Information about the project can be found at
⟨https://git.kernel.org/pub/scm/libs/libcap/libcap.git/⟩. If you
have a bug report for this manual page, send it to
morgan@kernel.org (please put "libcap" in the Subject line).
This page was obtained from the project's upstream Git repository
⟨https://git.kernel.org/pub/scm/libs/libcap/libcap.git/⟩ on
2024-06-14. (At that time, the date of the most recent commit
that was found in the repository was 2024-05-18.) If you
discover any rendering problems in this HTML version of the page,
or you believe there is a better or more up-to-date source for
the page, or you have corrections or improvements to the
information in this COLOPHON (which is not part of the original
manual page), send a mail to man-pages@man7.org
2021-03-06 CAP_INIT(3)
Pages that refer to this page: cap_clear(3), cap_copy_ext(3), cap_from_text(3), cap_get_file(3), cap_get_proc(3), cap_iab(3), cap_launch(3), libcap(3), capabilities(7)