L4Re Operating System Framework
Interface and Usage Documentation
|
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. | |
Functions | |
l4_msgtag_t | l4_msgtag (long label, unsigned words, unsigned items, unsigned flags) L4_NOTHROW |
Create a message tag from the specified values. | |
long | l4_msgtag_label (l4_msgtag_t t) L4_NOTHROW |
Get the protocol of tag. | |
unsigned | l4_msgtag_words (l4_msgtag_t t) L4_NOTHROW |
Get the number of untyped words. | |
unsigned | l4_msgtag_items (l4_msgtag_t t) L4_NOTHROW |
Get the number of typed items. | |
unsigned | l4_msgtag_flags (l4_msgtag_t t) L4_NOTHROW |
Get the flags. | |
unsigned | l4_msgtag_has_error (l4_msgtag_t t) L4_NOTHROW |
Test for error indicator flag. | |
unsigned | l4_msgtag_is_page_fault (l4_msgtag_t t) L4_NOTHROW |
Test for page-fault protocol. | |
unsigned | l4_msgtag_is_preemption (l4_msgtag_t t) L4_NOTHROW |
Test for preemption protocol. | |
unsigned | l4_msgtag_is_sys_exception (l4_msgtag_t t) L4_NOTHROW |
Test for system-exception protocol. | |
unsigned | l4_msgtag_is_exception (l4_msgtag_t t) L4_NOTHROW |
Test for exception protocol. | |
unsigned | l4_msgtag_is_sigma0 (l4_msgtag_t t) L4_NOTHROW |
Test for sigma0 protocol. | |
unsigned | l4_msgtag_is_io_page_fault (l4_msgtag_t t) L4_NOTHROW |
Test for IO-page-fault protocol. | |
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 185 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 428 of file types.h.
Referenced by __kdebug_3_text(), __kdebug_op(), __kdebug_op_1(), __kdebug_text(), L4::Irqep_t< Derived, BASE, bool >::dispatch(), enter_kdebug(), fiasco_amd64_segment_info(), fiasco_amd64_set_fs(), fiasco_amd64_set_segment_base(), fiasco_gdt_get_entry_offset(), fiasco_gdt_set(), fiasco_ldt_set(), L4::Server< LOOP_HOOKS >::internal_loop(), l4_icu_bind_u(), l4_icu_info_u(), l4_icu_msi_info_u(), l4_icu_set_mode_u(), l4_icu_unbind_u(), l4_irq_detach_u(), l4_irq_mux_chain_u(), l4_irq_receive_u(), l4_irq_trigger_u(), l4_irq_unmask_u(), l4_irq_wait_u(), l4_thread_ex_regs_u(), l4_thread_vcpu_control_ext_u(), l4_thread_vcpu_control_u(), l4_thread_yield(), l4_vcon_get_attr_u(), l4_vcon_send_u(), l4_vcon_set_attr_u(), l4util_ioport_map(), L4::Thread::modify_senders(), L4::Ipc_svr::Exc_dispatch< R, Exc >::operator()(), L4::Cap_base::validate(), and L4::Cap_base::validate().
|
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 457 of file types.h.
References L4_MSGTAG_ERROR.
Referenced by l4_icu_msi_info_u(), l4_ipc_error(), and l4_vcon_write_u().
|
inline |
Test for exception protocol.
t | The tag |
Definition at line 471 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 477 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 462 of file types.h.
References l4_msgtag_label(), and L4_PROTO_PAGE_FAULT.
|
inline |
Test for preemption protocol.
t | The tag |
Definition at line 465 of file types.h.
References l4_msgtag_label(), and L4_PROTO_PREEMPTION.
|
inline |
Test for sigma0 protocol.
t | The tag |
Definition at line 474 of file types.h.
References l4_msgtag_label(), and L4_PROTO_SIGMA0.
|
inline |
Test for system-exception protocol.
t | The tag |
Definition at line 468 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 448 of file types.h.
Referenced by l4util_ioport_map().
|
inline |
Get the protocol of tag.
t | The tag |
Definition at line 440 of file types.h.
References l4_msgtag_t::raw.
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 |
Definition at line 444 of file types.h.
Referenced by l4_icu_msi_info_u().