Loading...
Searching...
No Matches
l4_msgtag_t Struct Reference
Base API » Object Invocation » Message Tag

Message tag data structure. More...

`#include <types.h>`

Collaboration diagram for l4_msgtag_t:

## Public Member Functions

long | label () const L4_NOTHROW
| Get the protocol value.
void | label (long v) L4_NOTHROW
| Set the protocol value.
unsigned | words () const L4_NOTHROW
| Get the number of untyped words.
unsigned | items () const L4_NOTHROW
| Get the number of typed items.
unsigned | flags () const L4_NOTHROW
| Get the flags value.
bool | is_page_fault () const L4_NOTHROW
| Test if protocol indicates page-fault protocol.
bool | is_exception () const L4_NOTHROW
| Test if protocol indicates exception protocol.
bool | is_sigma0 () const L4_NOTHROW
| Test if protocol indicates sigma0 protocol.
bool | is_io_page_fault () const L4_NOTHROW
| Test if protocol indicates IO-page-fault protocol.
bool | has_error () const L4_NOTHROW
| Test if flags indicate an error.

## Data Fields

l4_mword_t | raw
| raw value

## Detailed Description

Message tag data structure.

Include File
  #include <l4/sys/types.h>
  types.h
  Common L4 ABI Data Types.

Describes the details of an IPC operation, in particular which parts of the UTCB have to be transmitted, and also flags to enable real-time and FPU extensions.

The message tag also contains a user-defined label that could be used to specify a protocol ID. Some negative values are reserved for kernel protocols such as page faults and exceptions.

The type must be treated completely opaque.

Examples
  examples/libs/l4re/c++/shared_ds/ds_srv.cc, examples/libs/l4re/streammap/server.cc, examples/sys/aliens/main.c, examples/sys/ipc/ipc_example.c, examples/sys/singlestep/main.c, examples/sys/start-with-exc/main.c, and examples/sys/utcb-ipc/main.c.

Definition at line 153 of file types.h.

## Member Function Documentation

## flags()

unsigned l4_msgtag_t::flags | ( |  | ) | const

inline

Get the flags value.

The flags are a combination of the flags defined by L4_msgtag_flags.

Definition at line 178 of file types.h.

References L4_NOTHROW, and raw.

## has_error()

bool l4_msgtag_t::has_error | ( |  | ) | const

inline

Test if flags indicate an error.

If true, the error code is stored in the UTCB, see l4_utcb_tcr()->error.

Definition at line 191 of file types.h.

References L4_MSGTAG_ERROR, L4_NOTHROW, and raw.

Referenced by L4Re::chkipc(), L4Re::chksys(), L4::Server< LOOP_HOOKS >::internal_loop(), L4::Server< LOOP_HOOKS >::reply_n_wait(), and L4::throw_ipc_exception().

Here is the caller graph for this function:

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

- l4/sys/types.h