![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
Capability type for RPC interfaces (see L4::Cap<T>). More...
#include <ipc_types>
Public Types | |
| enum | { Rights_mask = 0xff , Map_type_mask = 0x100 , Cap_mask = L4_CAP_MASK } |
| enum | Map_type { Map = 0 , Grant = 0x100 } |
| Kind of mapping. More... | |
Public Member Functions | |
| template<typename O> | |
| Cap (Cap< O > const &o) noexcept | |
| Make copy with conversion. | |
| Cap (L4::Cap< T > cap) noexcept | |
| Make a Cap from L4::Cap<T>, with minimal rights. | |
| template<typename O> | |
| Cap (L4::Cap< O > cap) noexcept | |
| Make IPC Cap from L4::Cap with conversion (and minimal rights). | |
| Cap () noexcept | |
| Make an invalid cap. | |
| Cap (L4::Cap< T > cap, unsigned char rights) noexcept | |
| Make a Cap from L4::Cap<T> with the given rights. | |
| Cap (L4::Cap< T > cap, unsigned char rights, Map_type map_type) noexcept | |
| Make a Cap from L4::Cap<T> with the given rights and map type. | |
| L4::Cap< T > | cap () const noexcept |
| Return the L4::Cap<T> of this Cap. | |
| unsigned | rights () const noexcept |
| Return the rights bits stored in this IPC cap. | |
| L4::Ipc::Snd_fpage | fpage () const noexcept |
| Return the send flexpage for this Cap (see l4_fpage_t). | |
| bool | is_valid () const noexcept |
| Return true if this Cap is valid. | |
Static Public Member Functions | |
| static Cap | from_ci (l4_cap_idx_t c) noexcept |
| Create an IPC capability from a C capability index plus rights. | |
Capability type for RPC interfaces (see L4::Cap<T>).
| T | type of the interface referenced by the capability. |
In contrast to L4::Cap<T> this type additionally stores a rights mask that shall be used when the capability is transferred to the receiver. This allows to apply restrictions to the transferred capability in the form of a subset of the rights possessed by the sender.
| anonymous enum |
| Enumerator | |
|---|---|
| Rights_mask | Mask for rights bits stored internally. L4_FPAGE_RIGHTS_MASK | L4_FPAGE_C_NO_REF_CNT | L4_FPAGE_C_OBJ_RIGHTS). |
| Map_type_mask | Mask for map vs. grant operation. |
| Cap_mask | Mask for significant capability bits. (incl. the invalid bit to support invalid caps) |
| enum L4::Ipc::Cap::Map_type |
Kind of mapping.
| Enumerator | |
|---|---|
| Map | Map capability in RPC operation. |
| Grant | Grant capability in RPC operation.
|
|
inlinenoexcept |
Make a Cap from L4::Cap<T> with the given rights.
| cap | Capability to be sent. |
| rights | Rights to be sent. Consists of L4_fpage_rights and Attributes and additional permissions for object send items. |
|
inlinenoexcept |
Make a Cap from L4::Cap<T> with the given rights and map type.
| cap | Capability to be sent. |
| rights | Rights to be sent. Consists of L4_fpage_rights and Attributes and additional permissions for object send items. |
| map_type | Indicate if capability is mapped or granted. |
|
inlinestaticnoexcept |
Create an IPC capability from a C capability index plus rights.
| c | C capability index with the lowest 8 bits used as rights for the map operation (see L4_fpage_rights). |