cmpt_change(3)cmpt_change(3)NAMEcmpt_change(), cmpt_get() - set and get process' compartment
SYNOPSIS
Parameters
cid Compartment ID.
pid Process ID of the target process or for the calling
process.
DESCRIPTION
The and functions query and manipulate the compartment of a process.
The function returns the given process' compartment ID. If is passed
as the pid parameter, the compartment ID of the calling process is
returned.
The function changes the calling process' compartment ID to be the
value of cid.
Security Restrictions
In order for the function to be effective, the calling process must
possess the privilege. See privileges(5) for more information about
privileges.
RETURN VALUE
returns the following values:
Successful completion.
The function returns a valid compartment ID.
Function failed.
is set to indicate the error.
returns the following values:
Successful completion.
Function failed.
is set to indicate the error.
ERRORS
If any of the following conditions occur, the functions fail and set
Invalid compartment ID specified.
The function failed to allocate sufficient memory for its opera‐
tion.
The process does not have the
privilege.
pid is not valid.
EXAMPLES
#include <errno.h>
#include <sys/cmpt.h>
main()
{
cmpt_t c = cmpt_getbyname("init");
if (cmpt_change(c) == -1 )
{
perror("could not enter init compartment");
exit(1);
}
printf("The process is now running in compartment %d\n",
cmpt_get(0));
}
DEPENDENCIES
These functions are a part of the library.
SEE ALSOcmpt_getbynum(3), cmpt_getbyname(3), compartments(4), compartments(5),
privileges(5).
cmpt_change(3)