Capability Selector a la C++. More...
Inheritance diagram for L4::Cap< T >:
Collaboration diagram for L4::Cap< T >:Public Member Functions | |
| template<typename O > | |
| Cap (Cap< O > const &o) throw () | |
| Create a copy from o, supporting implicit type casting. | |
| Cap (Cap_type cap) throw () | |
| Constructor to create an invalid capability selector. | |
| Cap (l4_default_caps_t cap) throw () | |
| Initialize capability with one of the default capability selectors. | |
| Cap (l4_cap_idx_t idx=L4_INVALID_CAP) throw () | |
| Initialize capability, defaults to the invalid capability selector. | |
| Cap (No_init_type) throw () | |
| Create an uninitialized cap selector. | |
| Cap | move (Cap const &src) const |
| Move a capability to this cap slot. | |
| T * | operator-> () const throw () |
| Member access of a T. | |
Public Member Functions inherited from L4::Cap_base | |
| l4_cap_idx_t | cap () const throw () |
| Return capability selector. | |
| bool | is_valid () const throw () |
| Test whether capability selector is not the invalid capability selector. | |
| l4_fpage_t | fpage (unsigned rights=L4_FPAGE_RWX) const throw () |
| Returns flex-page of the capability selector. | |
| l4_umword_t | snd_base (unsigned grant=0, l4_cap_idx_t base=L4_INVALID_CAP) const throw () |
| Returns send base. | |
| bool | operator== (Cap_base const &o) const throw () |
| Test if two capability selectors are equal. | |
| bool | operator!= (Cap_base const &o) const throw () |
| Test if two capability selectors are not equal. | |
| l4_msgtag_t | validate (l4_utcb_t *u=l4_utcb()) const throw () |
| Check whether a capability selector points to a valid capability. | |
| l4_msgtag_t | validate (Cap< Task > task, l4_utcb_t *u=l4_utcb()) const throw () |
| Check whether a capability selector points to a valid capability. | |
| void | invalidate () throw () |
| Set this selector to the invalid capability (L4_INVALID_CAP). | |
Friends | |
| class | L4::Kobject |
Additional Inherited Members | |
Public Types inherited from L4::Cap_base | |
| enum | No_init_type { No_init } |
| enum | Cap_type { Invalid = L4_INVALID_CAP } |
| Invalid capability type. More... | |
Protected Member Functions inherited from L4::Cap_base | |
| Cap_base (l4_cap_idx_t c) throw () | |
| Generate a capability from its C representation. | |
| Cap_base (Cap_type cap) throw () | |
| Constructor to create an invalid capability selector. | |
| Cap_base (l4_default_caps_t cap) throw () | |
| Initialize capability with one of the default capability selectors. | |
| Cap_base () throw () | |
| Create an uninitialized instance. | |
Protected Attributes inherited from L4::Cap_base | |
| l4_cap_idx_t | _c |
| The C representation of a capability selector. | |
Capability Selector a la C++.
| T | the type of the object the capability points to |
The C++ version of a capability looks just as a pointer, in fact it is a kind of a smart pointer for our kernel objects and the objects derived from the kernel objects (L4::Kobject).
Definition at line 199 of file capability.
Create a copy from o, supporting implicit type casting.
| o | is the source selector that shall be copied (and casted). |
Definition at line 224 of file capability.
|
inline |
Initialize capability with one of the default capability selectors.
| cap | Capability selector. |
Definition at line 236 of file capability.
|
inlineexplicit |
Initialize capability, defaults to the invalid capability selector.
| idx | Capability selector. |
Definition at line 242 of file capability.
Move a capability to this cap slot.
| src | the source capability slot. |
After this operation the source slot is no longer valid.
Definition at line 255 of file capability.