CAP_COPY_EXT(3C)CAP_COPY_EXT(3C)NAME
cap_copy_ext, cap_copy_int - copy capability from system to user space or
from user to system space
SYNOPSIS
#include <sys/capability.h>
ssize_t cap_copy_ext(void *bufp, cap_t cap, ssize_t size);
cap_t cap_copy_int(void *bufp);
DESCRIPTIONcap_copy_ext copies the capability from *cap to *bufp, if the arguments
are valid. cap_copy_int allocates a cap_t and copies the cap_t pointed to
by *bufp into it, if the arguments are valid. The storage should be
freed by calling cap_free(3c) when no longer needed.
In the POSIX specifications, the internal form of an capability may be
different from the external form, hence the need for these functions. In
IRIX, both forms are the same.
RETURN VALUEScap_copy_ext returns sizeof(cap_t) in the normal case, or -1 if cap is
null.
cap_copy_int returns an allocated cap_t in the normal case or (cap_t)0 if
the arguments are invalid.
ERRORS
cap_copy_ext:
EINVAL cap is null or bufp is null or size is 0 or negative.
ERANGE size is less than sizeof(cap_t)
cap_copy_int:
EINVAL bufp is null
ENOMEM memory allocation failure
SEE ALSOcapabilities(4)
Page 1