L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
L4::Smart_cap< T, SMART > Class Template Reference

Smart capability class. More...

#include <smart_capability>

+ Inheritance diagram for L4::Smart_cap< T, SMART >:
+ Collaboration diagram for L4::Smart_cap< T, SMART >:

Public Member Functions

template<typename O >
 Smart_cap (Cap< O > const &p) noexcept
 Internal constructor, use to generate a capability from a this pointer.
 
Cap< T > operator-> () const noexcept
 Member access of a T.
 
- Public Member Functions inherited from L4::Cap_base
l4_cap_idx_t cap () const noexcept
 Return capability selector.
 
bool is_valid () const noexcept
 Test whether the capability is a valid capability index (i.e., not L4_INVALID_CAP).
 
l4_fpage_t fpage (unsigned rights=L4_CAP_FPAGE_RWS) const noexcept
 Return flex-page for the capability.
 
l4_umword_t snd_base (unsigned grant=L4_MAP_ITEM_MAP, l4_cap_idx_t base=L4_INVALID_CAP) const noexcept
 Return send base.
 
bool operator== (Cap_base const &o) const noexcept
 Test if two capabilities are equal.
 
bool operator!= (Cap_base const &o) const noexcept
 Test if two capabilities are not equal.
 
l4_msgtag_t validate (l4_utcb_t *u=l4_utcb()) const noexcept
 Check whether a capability is present (refers to an object).
 
l4_msgtag_t validate (Cap< Task > task, l4_utcb_t *u=l4_utcb()) const noexcept
 Check whether a capability is present (refers to an object).
 
void invalidate () noexcept
 Set this capability to invalid (L4_INVALID_CAP).
 

Additional Inherited Members

- Public Types inherited from L4::Cap_base
enum  No_init_type { No_init }
 Special value for uninitialized capability objects. More...
 
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) noexcept
 Generate a capability from its C representation.
 
 Cap_base (Cap_type cap) noexcept
 Constructor to create an invalid capability.
 
 Cap_base (l4_default_caps_t cap) noexcept
 Initialize capability with one of the default capabilities.
 
 Cap_base () noexcept
 Create an uninitialized instance.
 
void move (Cap_base const &src) const
 Replace this capability with the contents of src.
 
void copy (Cap_base const &src) const
 Copy a capability.
 
- Protected Attributes inherited from L4::Cap_base
l4_cap_idx_t _c
 The C representation of a capability selector.
 

Detailed Description

template<typename T, typename SMART>
class L4::Smart_cap< T, SMART >

Smart capability class.

Definition at line 36 of file smart_capability.

Constructor & Destructor Documentation

◆ Smart_cap()

template<typename T , typename SMART >
template<typename O >
L4::Smart_cap< T, SMART >::Smart_cap ( Cap< O > const &  p)
inlinenoexcept

Internal constructor, use to generate a capability from a this pointer.

Attention
This constructor is only useful to generate a capability from the this pointer of an objected that is an L4::Kobject. Do never use this constructor for something else!
Parameters
pThe this pointer of the Kobject or derived object

Definition at line 73 of file smart_capability.


The documentation for this class was generated from the following file: