Performs capability transfer with the specified list of access rights.
In this case, the capability holder (master) will not be able to revoke the transferred capability from the recipient. Only an entity that is a parent of the master and recipient in the capability derivation tree (CDT) will be able to revoke the capability.
The list of access rights is passed in the policy configuration.
Type: call policy
Syntax
transferR <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 Transfer permissions for the resource.master is the resource driver and capability owner (in this case, only the derive policy can be used).All specified restrictions apply only within the ocap family instance.