35 inline long __attribute__((__noreturn__)) __runtime_error(
long err,
char const *extra);
37 inline long __runtime_error(
long err,
char const *extra)
62 long chksys(
long err,
char const *extra =
"",
long ret = 0)
65 Priv::__runtime_error(ret ? ret : err, extra);
87 Priv::__runtime_error(ret ? ret : l4_error_u(t, utcb), extra);
107 {
return chksys(t, extra, utcb); }
111 long chksys(
long ret,
long err,
char const *extra =
"")
114 Priv::__runtime_error(err, extra);
138 #if __cplusplus >= 201103L 145 Priv::__runtime_error(err ? err : cap.cap(), extra);
Exception signalling insufficient memory.
Exception for a failed lookup (element not found).
Common L4 ABI Data Types.
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
Exception for an abstract runtime error.
long label() const
Get the protocol value.
Exception for duplicate element insertions.
unsigned has_error() const
Test if flags indicate an error.
#define L4_UNLIKELY(x)
Expression is unlikely to execute.
T chkcap(T &&cap, char const *extra="", long err=-L4_ENOMEM)
Check for valid capability or raise C++ exception.
l4_utcb_t * l4_utcb(void) L4_NOTHROW L4_PURE
Get the UTCB address.
long chksys(long err, char const *extra="", long ret=0)
Generate C++ exception on error.
Message tag data structure.