L4Re – L4 Runtime Environment
|
API related to the message tag data type. More...
Data Structures | |
struct | l4_msgtag_t |
Message tag data structure. More... | |
Typedefs | |
typedef struct l4_msgtag_t | l4_msgtag_t |
Message tag data structure. More... | |
Functions | |
l4_msgtag_t | l4_msgtag (long label, unsigned words, unsigned items, unsigned flags) L4_NOTHROW |
Create a message tag from the specified values. More... | |
long | l4_msgtag_label (l4_msgtag_t t) L4_NOTHROW |
Get the protocol of tag. More... | |
unsigned | l4_msgtag_words (l4_msgtag_t t) L4_NOTHROW |
Get the number of untyped words. More... | |
unsigned | l4_msgtag_items (l4_msgtag_t t) L4_NOTHROW |
Get the number of typed items. More... | |
unsigned | l4_msgtag_flags (l4_msgtag_t t) L4_NOTHROW |
Get the flags. More... | |
unsigned | l4_msgtag_has_error (l4_msgtag_t t) L4_NOTHROW |
Test for error indicator flag. More... | |
unsigned | l4_msgtag_is_page_fault (l4_msgtag_t t) L4_NOTHROW |
Test for page-fault protocol. More... | |
unsigned | l4_msgtag_is_preemption (l4_msgtag_t t) L4_NOTHROW |
Test for preemption protocol. More... | |
unsigned | l4_msgtag_is_sys_exception (l4_msgtag_t t) L4_NOTHROW |
Test for system-exception protocol. More... | |
unsigned | l4_msgtag_is_exception (l4_msgtag_t t) L4_NOTHROW |
Test for exception protocol. More... | |
unsigned | l4_msgtag_is_sigma0 (l4_msgtag_t t) L4_NOTHROW |
Test for sigma0 protocol. More... | |
unsigned | l4_msgtag_is_io_page_fault (l4_msgtag_t t) L4_NOTHROW |
Test for IO-page-fault protocol. More... | |
API related to the message tag data type.
typedef struct l4_msgtag_t l4_msgtag_t |
Message tag data structure.
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.
enum l4_msgtag_flags |
Flags for message tags.
enum l4_msgtag_protocol |
Message tag for IPC operations.
All predefined protocols used by the kernel.
Predefined protocol type for messages to platform-control objects.
Enumerator | |
---|---|
L4_PROTO_PLATFORM_CTL | Protocol messages to a platform control object. See L4_platform_ctl_ops for allowed operations. |
Definition at line 147 of file platform_control.h.
|
inline |
Create a message tag from the specified values.
Message tag functions.
label | The user-defined label |
words | The number of untyped words within the UTCB |
items | The number of typed items (e.g., flex pages) within the UTCB |
flags | The IPC flags for realtime and FPU extensions |
Definition at line 408 of file types.h.
Referenced by L4::Irqep_t< Derived, BASE, bool >::dispatch(), L4::Server< LOOP_HOOKS >::internal_loop(), l4_irq_trigger_u(), l4util_ioport_map(), L4::Thread::modify_senders(), and L4::Ipc_svr::Exc_dispatch< R, Exc >::operator()().
|
inline |
|
inline |
Test for error indicator flag.
t | The tag |
Return whether the kernel operation caused a communication error, e.g. with IPC. if true: utcb->error is valid, otherwise utcb->error is not valid
Definition at line 437 of file types.h.
References L4_MSGTAG_ERROR.
Referenced by l4_ipc_error(), and l4_vcon_write_u().
|
inline |
Test for exception protocol.
t | The tag |
Definition at line 451 of file types.h.
References l4_msgtag_label(), and L4_PROTO_EXCEPTION.
|
inline |
Test for IO-page-fault protocol.
t | The tag |
Definition at line 457 of file types.h.
References l4_msgtag_label(), and L4_PROTO_IO_PAGE_FAULT.
|
inline |
Test for page-fault protocol.
t | The tag |
Definition at line 442 of file types.h.
References l4_msgtag_label(), and L4_PROTO_PAGE_FAULT.
|
inline |
Test for preemption protocol.
t | The tag |
Definition at line 445 of file types.h.
References l4_msgtag_label(), and L4_PROTO_PREEMPTION.
|
inline |
Test for sigma0 protocol.
t | The tag |
Definition at line 454 of file types.h.
References l4_msgtag_label(), and L4_PROTO_SIGMA0.
|
inline |
Test for system-exception protocol.
t | The tag |
Definition at line 448 of file types.h.
References l4_msgtag_label(), and L4_PROTO_SYS_EXCEPTION.
|
inline |
Get the number of typed items.
t | The tag |
Definition at line 428 of file types.h.
Referenced by l4util_ioport_map().
|
inline |
Get the protocol of tag.
t | The tag |
Definition at line 420 of file types.h.
Referenced by l4_msgtag_is_exception(), l4_msgtag_is_io_page_fault(), l4_msgtag_is_page_fault(), l4_msgtag_is_preemption(), l4_msgtag_is_sigma0(), and l4_msgtag_is_sys_exception().
|
inline |
Get the number of untyped words.
t | The tag |