L4Re - L4 Runtime Environment
+ Collaboration diagram for L4Re Capability API:

Data Structures

class  L4Re::Cap_alloc
 Capability allocator interface. More...
 
class  L4Re::Smart_cap_auto< Unmap_flags >
 Helper for Auto_cap and Auto_del_cap. More...
 
class  L4Re::Smart_count_cap< Unmap_flags >
 Helper for Ref_cap and Ref_del_cap. More...
 
class  L4Re::Util::Smart_cap_auto< Unmap_flags >
 Helper for Auto_cap and Auto_del_cap. More...
 
class  L4Re::Util::Smart_count_cap< Unmap_flags >
 Helper for Ref_cap and Ref_del_cap. More...
 
struct  L4Re::Util::Auto_cap< T >
 Automatic capability that implements automatic free and unmap of the capability selector. More...
 
struct  L4Re::Util::Auto_del_cap< T >
 Automatic capability that implements automatic free and unmap+delete of the capability selector. More...
 
struct  L4Re::Util::Ref_cap< T >
 Automatic capability that implements automatic free and unmap of the capability selector. More...
 
struct  L4Re::Util::Ref_del_cap< T >
 Automatic capability that implements automatic free and unmap+delete of the capability selector. More...
 

Functions

template<typename T >
Auto_cap< T >::Cap L4Re::Util::make_auto_cap ()
 Allocate a capability slot and wrap it in an Auto_cap. More...
 
template<typename T >
Auto_del_cap< T >::Cap L4Re::Util::make_auto_del_cap ()
 Allocate a capability slot and wrap it in an Auto_del_cap. More...
 
template<typename T >
Ref_cap< T >::Cap L4Re::Util::make_ref_cap ()
 Allocate a capability slot and wrap it in a Ref_cap. More...
 
template<typename T >
Ref_del_cap< T >::Cap L4Re::Util::make_ref_del_cap ()
 Allocate a capability slot and wrap it in a Ref_del_cap. More...
 
virtual L4Re::Cap_alloc::~Cap_alloc ()=0
 Destructor.
 

Variables

_Cap_allocL4Re::Util::cap_alloc
 Capability allocator. More...
 

Detailed Description

Function Documentation

◆ make_auto_cap()

template<typename T >
Auto_cap<T>::Cap L4Re::Util::make_auto_cap ( )

Allocate a capability slot and wrap it in an Auto_cap.

Template Parameters
TType of capability the slot is used for.
Deprecated:
Use L4Re::Util::make_unique_cap().

Definition at line 293 of file cap_alloc.

◆ make_auto_del_cap()

template<typename T >
Auto_del_cap<T>::Cap L4Re::Util::make_auto_del_cap ( )

Allocate a capability slot and wrap it in an Auto_del_cap.

Template Parameters
TType of capability the slot is used for.
Deprecated:
Use L4Re::Util::make_unique_del_cap().

Definition at line 305 of file cap_alloc.

◆ make_ref_cap()

template<typename T >
Ref_cap<T>::Cap L4Re::Util::make_ref_cap ( )

Allocate a capability slot and wrap it in a Ref_cap.

Template Parameters
TType of capability the slot is used for.

Definition at line 316 of file cap_alloc.

◆ make_ref_del_cap()

template<typename T >
Ref_del_cap<T>::Cap L4Re::Util::make_ref_del_cap ( )

Allocate a capability slot and wrap it in a Ref_del_cap.

Template Parameters
TType of capability the slot is used for.

Definition at line 325 of file cap_alloc.

Variable Documentation

◆ cap_alloc

_Cap_alloc& L4Re::Util::cap_alloc

Capability allocator.

This is the instance of the capability allocator that is used by usual applications. The actual implementation of the allocator depends on the configuration of the system.

Per default we use Counting_cap_alloc, a reference-counting capability allocator, that keeps a reference counter for each managed capability selector.

Note
This capability allocator is not thread-safe.
Examples:
examples/libs/l4re/c++/mem_alloc/ma+rm.cc, examples/libs/l4re/c++/shared_ds/ds_clnt.cc, examples/libs/l4re/c++/shared_ds/ds_srv.cc, and examples/libs/l4re/streammap/client.cc.