ABCDEFGHIJKLMNOPQRSTUVWXYZ

cap_free

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)