.\" .\" $Id: _setproccap.2,v 1.1.1.1 1999/04/17 22:16:31 morgan Exp $ .\" written by Andrew Main <zefram@dcs.warwick.ac.uk> .\" .TH _SETPROCCAP 2 "26th April 1997" "Linux 2.1" "Linux Programmer's Manual" .SH NAME _setproccap, _getproccap \- set/get process capabilities .SH SYNOPSIS .B #include <sys/capability.h> .sp .BI "int _setproccap(size_t " usize ", __cap_s const *" iset ", __cap_s const *" pset ", __cap_s const *" eset ); .sp .BI "int _getproccap(size_t " usize ", __cap_s *" iset ", __cap_s *" pset ", __cap_s *" eset ); .SH DESCRIPTION .B _setproccap sets the calling process' Inheritable, Permitted and Effective capabilities to the sets specified. A NULL pointer specifies that a set should not be changed. .PP .B _getproccap copies the process' capability sets into the sets provided. A NULL pointer specifies that a set should not be returned. .PP The .I usize argument specifies the size of the user-space capability sets, in bytes. If the kernel uses a different size internally, it will truncate or zero-fill as required. .SH "RETURN VALUE" On success, zero is returned. On error, -1 is returned, and .I errno is set appropriately. .SH ERRORS .TP .SB EFAULT One of the capability arguments was an invalid data pointer. .TP .SB EPERM An attempt was made to add a capability to the Permitted set, or to set a capability in the Effective or Inheritable sets that is not in the Permitted set. .TP .SB ENOSYS The POSIX.1e capability system was not configured into the kernel. .SH "CONFORMING TO" These system calls are specific to Linux. The portable interfaces are .IR cap_set_proc (3) and .IR cap_get_proc (3). .SH "SEE ALSO" .IR _setfilecap (2).