Loading...
Searching...
No Matches
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

  fp | Flexpage defining where and which kind of capabilities may be received.
  snd_base | Reserved; should be zero.
  rcv_task | Optional destination task for received capabilities. If invalid, capabilities are received in the invoking task.

Definition at line 561 of file ipc_types.

References L4_INVALID_CAP, L4_ITEM_MAP, L4_RCV_ITEM_FORWARD_MAPPINGS, and rcv_task().

Here is the call graph for this function:

## Member Function Documentation

## io()

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

  base | Start of flexpage (see l4_iofpage()).
  order | Log₂ size of flexpage (see l4_iofpage()).
  snd_base | Reserved; should be zero.
  rcv_task | Optional destination task for received capabilities. If invalid, capabilities are received in the invoking task.

Definition at line 609 of file ipc_types.

References L4::Cap_base::Invalid, l4_iofpage(), Rcv_fpage(), and rcv_task().

Here is the call graph for this function:

## mem()

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

  base | Start of flexpage (see l4_fpage()).
  order | Log₂ size of flexpage (see l4_fpage()).
  snd_base | Reserved; should be zero.
  rcv_task | Optional 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::Cap_base::Invalid, l4_fpage(), Rcv_fpage(), and rcv_task().

Here is the call graph for this function:

## obj()

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

  base | Start of flexpage (see l4_obj_fpage()).
  order | Log₂ size of flexpage (see l4_obj_fpage()).
  snd_base | Reserved; should be zero.
  rcv_task | Optional destination task for received capabilities. If invalid, capabilities are received in the invoking task.

Definition at line 578 of file ipc_types.

References L4::Cap_base::Invalid, 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(), obj(), and Rcv_fpage().

Here is the caller graph for this function:

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

- l4/sys/cxx/ipc_types