|
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... | |
Enumerations | |
| enum | L4_msgtag_protocol { L4_PROTO_NONE = 0 , L4_PROTO_ALLOW_SYSCALL = 1 , L4_PROTO_PF_EXCEPTION = 1 , L4_PROTO_PLATFORM_CTL = 0L , L4_PROTO_IRQ = -1L , L4_PROTO_PAGE_FAULT = -2L , L4_PROTO_EXCEPTION = -5L , L4_PROTO_SIGMA0 = -6L , L4_PROTO_IO_PAGE_FAULT = -8L , L4_PROTO_THREAD_GROUP = -9L , L4_PROTO_KOBJECT = -10L , L4_PROTO_TASK = -11L , L4_PROTO_THREAD = -12L , L4_PROTO_LOG = -13L , L4_PROTO_SCHEDULER = -14L , L4_PROTO_FACTORY = -15L , L4_PROTO_VM = -16L , L4_PROTO_DMA_SPACE = -17L , L4_PROTO_IRQ_SENDER = -18L , L4_PROTO_SEMAPHORE = -20L , L4_PROTO_META = -21L , L4_PROTO_IOMMU = -22L , L4_PROTO_DEBUGGER = -23L , L4_PROTO_SMCCC = -24L , L4_PROTO_VCPU_CONTEXT = -25L , L4_PROTO_PI_MUTEX = -26L } |
| Message tag for IPC operations. More... | |
| enum | L4_msgtag_flags { L4_MSGTAG_ERROR , L4_MSGTAG_TRANSFER_FPU , L4_MSGTAG_SCHEDULE , L4_MSGTAG_PROPAGATE = 0x4000 , L4_MSGTAG_FLAGS } |
| Flags for message tags. More... | |
Functions | |
| 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_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. | |
| l4_msgtag_t | l4_msgtag (long label, unsigned words, unsigned items, unsigned flags) L4_NOTHROW |
| Create a message tag from the specified values. | |
API related to the message tag data type.
| enum L4_msgtag_flags |
Flags for message tags.
| enum L4_msgtag_protocol |
Message tag for IPC operations.
All predefined protocols used by the kernel.
|
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., flexpages) within the UTCB |
| flags | The IPC flags for realtime and FPU extensions |
Definition at line 441 of file types.h.
References L4_NOTHROW.
Referenced by __l4_kdebug_3_text(), __l4_kdebug_op(), __l4_kdebug_op_1(), __l4_kdebug_text(), L4::Irqep_t< Derived, BASE, bool >::dispatch(), fiasco_amd64_segment_info(), fiasco_amd64_set_fs(), fiasco_amd64_set_segment_base(), fiasco_gdt_get_entry_offset(), fiasco_gdt_set(), fiasco_ldt_set(), fiasco_tbuf_map_slots(), fiasco_tbuf_map_status(), 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_bind_vcpu_u(), l4_irq_detach_u(), l4_irq_receive_u(), l4_irq_trigger_u(), l4_irq_unmask_u(), l4_irq_wait_u(), l4_kd_enter(), 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::Dbg_dispatch< R, Exc, Printer >::operator()(), L4::Ipc_svr::Exc_dispatch< R, Exc >::operator()(), L4::Reply_cap::reset(), L4::Cap_base::validate(), and L4::Cap_base::validate().
|
inline |
Get the flags.
The flag are defined by L4_msgtag_flags.
| t | The tag |
Definition at line 471 of file types.h.
References L4_NOTHROW.
Referenced by l4_msgtag_t::flags().
|
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 476 of file types.h.
References L4_MSGTAG_ERROR, and L4_NOTHROW.
Referenced by fiasco_tbuf_map_slots(), fiasco_tbuf_map_status(), l4_msgtag_t::has_error(), l4_icu_msi_info_u(), l4_ipc_error(), and l4_vcon_write_u().
|
inline |
Test for exception protocol.
| t | The tag |
Definition at line 484 of file types.h.
References L4_INLINE, l4_msgtag_label(), L4_NOTHROW, and L4_PROTO_EXCEPTION.
Referenced by l4_msgtag_t::is_exception().
|
inline |
Test for IO-page-fault protocol.
| t | The tag |
Definition at line 490 of file types.h.
References L4_INLINE, l4_msgtag_label(), L4_NOTHROW, and L4_PROTO_IO_PAGE_FAULT.
Referenced by l4_msgtag_t::is_io_page_fault().
|
inline |
Test for page-fault protocol.
| t | The tag |
Definition at line 481 of file types.h.
References L4_INLINE, l4_msgtag_label(), L4_NOTHROW, and L4_PROTO_PAGE_FAULT.
Referenced by l4_msgtag_t::is_page_fault().
|
inline |
Test for sigma0 protocol.
| t | The tag |
Definition at line 487 of file types.h.
References L4_INLINE, l4_msgtag_label(), L4_NOTHROW, and L4_PROTO_SIGMA0.
Referenced by l4_msgtag_t::is_sigma0().
|
inline |
Get the number of typed items.
| t | The tag |
Definition at line 467 of file types.h.
References L4_NOTHROW.
Referenced by l4_msgtag_t::items(), and l4util_ioport_map().
|
inline |
Get the protocol of tag.
| t | The tag |
Definition at line 453 of file types.h.
References L4_NOTHROW.
Referenced by l4_msgtag_is_exception(), l4_msgtag_is_io_page_fault(), l4_msgtag_is_page_fault(), l4_msgtag_is_sigma0(), and l4_msgtag_t::label().
|
inline |
Get the number of untyped words.
| t | The tag |
Definition at line 463 of file types.h.
References L4_NOTHROW.
Referenced by l4_icu_msi_info_u(), and l4_msgtag_t::words().