L4Re Operating System Framework
Interface and Usage Documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
L4::Ipc::Rcv_fpage Class Reference

Non-small receive item. More...

#include <ipc_types>

+ Inheritance diagram for L4::Ipc::Rcv_fpage:
+ Collaboration diagram for L4::Ipc::Rcv_fpage:

Public Member Functions

 Rcv_fpage () noexcept
 Construct a void receive item.
 
 Rcv_fpage (l4_fpage_t const &fp, l4_addr_t snd_base=0, l4_cap_idx_t rcv_task=L4_INVALID_CAP) noexcept
 Construct a non-small receive item.
 
l4_cap_idx_t rcv_task () const
 Get the capability index of the destination task for received capabilities.
 
bool forward_mappings () const noexcept
 Check if rcv_task() shall be used as destination for received capabilities.
 
- Public Member Functions inherited from L4::Ipc::Gen_fpage
 Gen_fpage (l4_umword_t base, l4_umword_t data) noexcept
 Construct from raw values.
 
l4_umword_t data () const noexcept
 Return the raw flexpage descriptor.
 
l4_umword_t base_x () const noexcept
 Return the raw base descriptor.
 

Static Public Member Functions

static Rcv_fpage obj (l4_cap_idx_t base, int order, l4_addr_t snd_base=0, L4::Cap< void > rcv_task=L4::Cap< void >::Invalid) noexcept
 Construct a non-small receive item for the object space.
 
static Rcv_fpage mem (l4_addr_t base, int order, l4_addr_t snd_base=0, L4::Cap< void > rcv_task=L4::Cap< void >::Invalid) noexcept
 Construct a receive item for the memory space.
 
static Rcv_fpage io (unsigned long base, int order, l4_addr_t snd_base=0, L4::Cap< void > rcv_task=L4::Cap< void >::Invalid) noexcept
 Construct a receive item for the I/O port space.
 

Additional Inherited Members

- Public Types inherited from L4::Ipc::Gen_fpage
enum  Type { Special = L4_FPAGE_SPECIAL << 4 , Memory = L4_FPAGE_MEMORY << 4 , Io = L4_FPAGE_IO << 4 , Obj = L4_FPAGE_OBJ << 4 }
 Type of mapping object, see L4_fpage_type. More...
 

Detailed Description

Non-small receive item.

This class represents a non-small receive item. A receive item is a message item in the buffer registers of the UTCB of the receiver (see l4_utcb_br()).

Definition at line 544 of file ipc_types.

Constructor & Destructor Documentation

◆ Rcv_fpage()

L4::Ipc::Rcv_fpage::Rcv_fpage ( l4_fpage_t const &  fp,
l4_addr_t  snd_base = 0,
l4_cap_idx_t  rcv_task = L4_INVALID_CAP 
)
inlinenoexcept

Construct a non-small receive item.

Parameters
fpFlexpage defining where and which kind of capabilities may be received.
snd_baseReserved; should be zero.
rcv_taskOptional destination task for received capabilities. If invalid, capabilities are received in the invoking task.

Definition at line 561 of file ipc_types.

Member Function Documentation

◆ io()

static Rcv_fpage L4::Ipc::Rcv_fpage::io ( unsigned long  base,
int  order,
l4_addr_t  snd_base = 0,
L4::Cap< void >  rcv_task = L4::Cap<void>::Invalid 
)
inlinestaticnoexcept

Construct a receive item for the I/O port space.

Parameters
baseStart of flexpage (see l4_iofpage()).
orderLog₂ size of flexpage (see l4_iofpage()).
snd_baseReserved; should be zero.
rcv_taskOptional destination task for received capabilities. If invalid, capabilities are received in the invoking task.

Definition at line 609 of file ipc_types.

References l4_iofpage(), Rcv_fpage(), and rcv_task().

+ Here is the call graph for this function:

◆ mem()

static Rcv_fpage L4::Ipc::Rcv_fpage::mem ( l4_addr_t  base,
int  order,
l4_addr_t  snd_base = 0,
L4::Cap< void >  rcv_task = L4::Cap<void>::Invalid 
)
inlinestaticnoexcept

Construct a receive item for the memory space.

Parameters
baseStart of flexpage (see l4_fpage()).
orderLog₂ size of flexpage (see l4_fpage()).
snd_baseReserved; should be zero.
rcv_taskOptional destination task for received capabilities. If invalid, capabilities are received in the invoking task.
Examples
examples/libs/l4re/streammap/client.cc.

Definition at line 594 of file ipc_types.

References l4_fpage(), Rcv_fpage(), and rcv_task().

+ Here is the call graph for this function:

◆ obj()

static Rcv_fpage L4::Ipc::Rcv_fpage::obj ( l4_cap_idx_t  base,
int  order,
l4_addr_t  snd_base = 0,
L4::Cap< void >  rcv_task = L4::Cap<void>::Invalid 
)
inlinestaticnoexcept

Construct a non-small receive item for the object space.

Parameters
baseStart of flexpage (see l4_obj_fpage()).
orderLog₂ size of flexpage (see l4_obj_fpage()).
snd_baseReserved; should be zero.
rcv_taskOptional destination task for received capabilities. If invalid, capabilities are received in the invoking task.

Definition at line 578 of file ipc_types.

References l4_obj_fpage(), Rcv_fpage(), and rcv_task().

+ Here is the call graph for this function:

◆ rcv_task()

l4_cap_idx_t L4::Ipc::Rcv_fpage::rcv_task ( ) const
inline

Get the capability index of the destination task for received capabilities.

Only relevant if forward_mappings() is true.

Definition at line 620 of file ipc_types.

Referenced by io(), mem(), and obj().

+ Here is the caller graph for this function:

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