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.