Performs capability transfer with the specified list of access rights.
In this case, the capability holder (master
) retains the ability to revoke the transferred capability from the recipient
. The capability holder must have the Derive
permission.
The list of access rights is passed in the policy configuration.
Type: call
policy
Syntax
deriveR <configuration> (in SID master,
in SID recipient,
in SID resource)
Parameters
|
Holder transferring the capability. |
|
Recipient of the capability. |
|
Resource SID associated with the capability. |
Policy configuration
<configuration> ::= "{" <type> "," <rights> "}"
<type> ::= "type" ":" <resource-type>
<rights> ::= "rights" ":" "[" <right> {"," <right>} "]"
Configuration elements
|
Resource type assigned during initialization of the capability. It must match one of the types in the family instance configuration. |
|
List of access rights. It must be a subset of the list of embedded rights and access rights for the specified resource type in the |
Returned value
KSS_GRANT
in the following cases:
INVALID_HANDLE
is passed as the resource SID.KSS_DENY
in the following cases:
<type>
) does not match the type assigned during capability initialization.master
is not a capability holder for the specified resource.master
does not have all the specified access rights to the resource.master
does not have Derive
permissions for the resource.master
is not the owner of the capability.All specified restrictions apply only within the ocap
family instance.