L4Re Operating System Framework
Interface and Usage Documentation
|
Error handling for L4 object invocation. More...
Enumerations | |
enum | l4_ipc_tcr_error_t { L4_IPC_ERROR_MASK = 0x1F , L4_IPC_SND_ERR_MASK = 0x01 , L4_IPC_ENOT_EXISTENT = 0x04 , L4_IPC_RETIMEOUT = 0x03 , L4_IPC_SETIMEOUT = 0x02 , L4_IPC_RECANCELED = 0x07 , L4_IPC_SECANCELED = 0x06 , L4_IPC_REMAPFAILED = 0x11 , L4_IPC_SEMAPFAILED = 0x10 , L4_IPC_RESNDPFTO = 0x0b , L4_IPC_SESNDPFTO = 0x0a , L4_IPC_RERCVPFTO = 0x0d , L4_IPC_SERCVPFTO = 0x0c , L4_IPC_REABORTED = 0x0f , L4_IPC_SEABORTED = 0x0e , L4_IPC_REMSGCUT = 0x09 , L4_IPC_SEMSGCUT = 0x08 } |
Error codes in the error TCR. More... | |
Functions | |
l4_umword_t | l4_ipc_error (l4_msgtag_t tag, l4_utcb_t *utcb) L4_NOTHROW |
Get the IPC error code for an IPC operation. | |
long | l4_error (l4_msgtag_t tag) L4_NOTHROW |
Get IPC error code if any or message tag label otherwise for an IPC call. | |
int | l4_ipc_is_snd_error (l4_utcb_t *utcb) L4_NOTHROW |
Returns whether an error occurred in send phase of an invocation. | |
int | l4_ipc_is_rcv_error (l4_utcb_t *utcb) L4_NOTHROW |
Returns whether an error occurred in receive phase of an invocation. | |
int | l4_ipc_error_code (l4_utcb_t *utcb) L4_NOTHROW |
Get the error condition of the last invocation from the TCR. | |
Error handling for L4 object invocation.
enum l4_ipc_tcr_error_t |
Error codes in the error TCR.
The error codes are accessible via the error TCR, see l4_thread_regs_t.error.
|
inline |
Get IPC error code if any or message tag label otherwise for an IPC call.
This function shall only be used if the IPC operation includes a receive phase (usually a call operation), otherwise no tag label is received and the return value of this function is undefined.
tag | Message tag returned by the IPC call. |
Definition at line 657 of file ipc.h.
References l4_utcb().
Referenced by L4Re::Mem_alloc::alloc(), L4virtio::Driver::Device::bind_notification_irq(), L4::cap_dynamic_cast(), L4virtio::Driver::Device::driver_connect(), fiasco_tbuf_log(), fiasco_tbuf_log_3val(), fiasco_tbuf_log_binary(), L4Re::Util::Event_t< PAYLOAD >::init(), l4_vcon_write_u(), and L4Re::Util::Event_buffer_consumer_t< PAYLOAD >::process().
|
inline |
Get the IPC error code for an IPC operation.
tag | Message tag returned by the IPC operation. |
utcb | UTCB that was used for the IPC operation. |
Definition at line 640 of file ipc.h.
References l4_thread_regs_t::error, L4_IPC_ERROR_MASK, L4_LIKELY, and l4_msgtag_has_error().
Referenced by l4util_ioport_map(), L4Re::Util::Event_buffer_consumer_t< PAYLOAD >::process(), and L4virtio::Driver::Device::wait().
|
inline |
Get the error condition of the last invocation from the TCR.
utcb | UTCB to check. |
Definition at line 669 of file ipc.h.
References l4_thread_regs_t::error, and L4_IPC_ERROR_MASK.
|
inline |
Returns whether an error occurred in receive phase of an invocation.
utcb | UTCB to check. |
Definition at line 666 of file ipc.h.
References l4_thread_regs_t::error.