107 lines
3.1 KiB
Groff
107 lines
3.1 KiB
Groff
.TH LIBCAP 3 "2021-03-06" "" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
cap_clear, cap_clear_flag, cap_compare, cap_copy_ext, cap_copy_int, \
|
|
cap_free, cap_from_name, cap_from_text, cap_get_fd, cap_get_file, \
|
|
cap_get_flag, cap_get_pid, cap_get_proc, cap_set_fd, cap_set_file, \
|
|
cap_set_flag, cap_set_proc, cap_size, cap_to_name, cap_to_text, \
|
|
cap_get_pid, cap_dup \- capability data object manipulation
|
|
.SH SYNOPSIS
|
|
.nf
|
|
#include <sys/capability.h>
|
|
|
|
int cap_clear(cap_t cap_p);
|
|
int cap_clear_flag(cap_t cap_p, cap_flag_t flag);
|
|
int cap_compare(cap_t cap_a, cap_t cap_b);
|
|
ssize_t cap_copy_ext(void *ext_p, cap_t cap_p, ssize_t size);
|
|
cap_t cap_copy_int(const void *ext_p);
|
|
int cap_free(void *obj_d);
|
|
int cap_from_name(const char *name, cap_value_t *cap_p);
|
|
cap_t cap_from_text(const char *buf_p);
|
|
cap_t cap_get_fd(int fd);
|
|
cap_t cap_get_file(const char *path_p);
|
|
int cap_get_flag(cap_t cap_p, cap_value_t cap ,
|
|
cap_flag_t flag, cap_flag_value_t *value_p);
|
|
|
|
#include <sys/types.h>
|
|
|
|
cap_t cap_get_pid(pid_t pid);
|
|
cap_t cap_get_proc(void);
|
|
int cap_set_fd(int fd, cap_t caps);
|
|
int cap_set_file(const char *path_p, cap_t cap_p);
|
|
int cap_set_flag(cap_t cap_p, cap_flag_t flag, int ncap ,
|
|
const cap_value_t *caps, cap_flag_value_t value);
|
|
int cap_set_proc(cap_t cap_p);
|
|
ssize_t cap_size(cap_t cap_p);
|
|
char *cap_to_name(cap_value_t cap);
|
|
char *cap_to_text(cap_t caps, ssize_t *length_p);
|
|
cap_t cap_get_pid(pid_t pid);
|
|
cap_t cap_dup(cap_t cap_p);
|
|
.fi
|
|
.sp
|
|
Link with \fI\-lcap\fP.
|
|
.fi
|
|
.SH DESCRIPTION
|
|
These functions work on a capability state held in working storage.
|
|
A
|
|
.I cap_t
|
|
holds information about the capabilities in each of the three sets,
|
|
Permitted, Inheritable, and Effective.
|
|
Each capability in a set may be clear (disabled, 0) or set (enabled, 1).
|
|
.PP
|
|
These functions work with the following data types:
|
|
.TP 18
|
|
.I cap_value_t
|
|
identifies a capability, such as
|
|
.BR CAP_CHOWN .
|
|
.TP
|
|
.I cap_flag_t
|
|
identifies one of the three flags associated with a capability
|
|
(i.e., it identifies one of the three capability sets).
|
|
Valid values for this type are
|
|
.BR CAP_EFFECTIVE ,
|
|
.B CAP_INHERITABLE
|
|
or
|
|
.BR CAP_PERMITTED .
|
|
.TP
|
|
.I cap_flag_value_t
|
|
identifies the setting of a particular capability flag
|
|
(i.e, the value of a capability in a set).
|
|
Valid values for this type are
|
|
.BR CAP_CLEAR (0)
|
|
or
|
|
.BR CAP_SET (1).
|
|
.SH "RETURN VALUE"
|
|
The return value is generally specific to the individual function called.
|
|
On failure,
|
|
.I errno
|
|
is set appropriately.
|
|
.SH "CONFORMING TO"
|
|
These functions are as per the withdrawn POSIX.1e draft specification.
|
|
The following functions are Linux extensions:
|
|
.BR cap_clear_flag (),
|
|
.BR cap_from_name (),
|
|
.BR cap_to_name (),
|
|
and
|
|
.BR cap_compare ().
|
|
.SH "REPORTING BUGS"
|
|
The
|
|
.B libcap
|
|
library is distributed from
|
|
https://sites.google.com/site/fullycapable/ where the release notes
|
|
may already cover recent issues. Please report newly discovered bugs
|
|
via:
|
|
.TP
|
|
https://bugzilla.kernel.org/buglist.cgi?component=libcap&list_id=1090757
|
|
.SH "SEE ALSO"
|
|
.BR cap_clear (3),
|
|
.BR cap_copy_ext (3),
|
|
.BR cap_from_text (3),
|
|
.BR cap_get_file (3),
|
|
.BR cap_get_proc (3),
|
|
.BR cap_init (3),
|
|
.BR capabilities (7),
|
|
.BR getpid (2),
|
|
.BR capsh (1)
|
|
and
|
|
.BR libpsx (3).
|