L4Re - L4 Runtime Environment
L4::Ipc::Gen_fpage< T > Class Template Reference

Generic RPC wrapper for L4 flex-pages. More...

Inherits T.

+ Collaboration diagram for L4::Ipc::Gen_fpage< T >:

Public Types

enum  Type
 Type of mapping object, see L4_fpage_type.
 
enum  Map_type
 Kind of mapping.
 
enum  Cacheopt
 Caching options, see l4_fpage_cacheability_opt_t.
 

Public Member Functions

bool is_valid () const
 Check if the capability is valid.
 
bool cap_received () const
 Check if the capability has been mapped. More...
 
bool id_received () const
 Check if a label was received instead of a mapping. More...
 
bool local_id_received () const
 Check if a local capability id has been received. More...
 
bool is_compound () const
 Check if the received item has the compound bit set. More...
 
l4_umword_t data () const
 Return the raw flex page descriptor.
 
l4_umword_t base_x () const
 Return the raw base descriptor.
 

Detailed Description

template<typename T>
class L4::Ipc::Gen_fpage< T >

Generic RPC wrapper for L4 flex-pages.

Template Parameters
TUnderlying specific flexpage type.

Definition at line 321 of file ipc_types.

Member Function Documentation

◆ cap_received()

template<typename T >
bool L4::Ipc::Gen_fpage< T >::cap_received ( ) const
inline

Check if the capability has been mapped.

The capability itself can then be retrieved from the cap slot that has been provided in the receive operation.

Definition at line 438 of file ipc_types.

◆ id_received()

template<typename T >
bool L4::Ipc::Gen_fpage< T >::id_received ( ) const
inline

Check if a label was received instead of a mapping.

For IPC gates, if the L4_RCV_ITEM_LOCAL_ID has been set, then only the label of the IPC gate will be provided if the gate is local to the receiver, i.e. the target thread of the IPC gate is in the same task as the receiving thread.

The label can be retrieved with Gen_fpage::data().

Definition at line 450 of file ipc_types.

◆ is_compound()

template<typename T >
bool L4::Ipc::Gen_fpage< T >::is_compound ( ) const
inline

Check if the received item has the compound bit set.

A set compound bit means the next message item of the same type will be mapped to the same receive buffer as this message item.

Definition at line 468 of file ipc_types.

◆ local_id_received()

template<typename T >
bool L4::Ipc::Gen_fpage< T >::local_id_received ( ) const
inline

Check if a local capability id has been received.

If the L4_RCV_ITEM_LOCAL_ID flag has been set by the receiver, and sender and receiver are in the same task, then only the capability index is transferred.

The capability can be retrieved with Gen_fpage::data().

Definition at line 460 of file ipc_types.


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