[L4_IPC_REMAPFAILED] = "Map operation failed (receive phase)"
};
+static char const *const _l4sys_ipc_errortab2[] = {
+ [L4_ENOREPLY - 1000] = "Do not reply",
+ [L4_EMSGTOOSHORT - 1000] = "Message too short",
+ [L4_EMSGTOOLONG - 1000] = "Message too long",
+ [L4_EMSGMISSARG - 1000] = "Message is missing (an) argument(s)",
+};
+
L4_CV char const *l4sys_errtostr(long err)
{
+ static_assert(L4_ENOREPLY == 1000, "L4_ENOREPLY value change");
+ static_assert(L4_EMSGMISSARG == 1003, "L4_EMSGMISSARG value change");
+
err = -err;
if (err >= 0 && err < L4_ERRNOMAX)
return _l4sys_errortab[err];
else if (err >= L4_EIPC_LO && err < L4_EIPC_HI)
- return _l4sys_ipc_errortab[err-L4_EIPC_LO];
+ return _l4sys_ipc_errortab[err - L4_EIPC_LO];
+ else if (err >= L4_ENOREPLY && err <= L4_EMSGMISSARG)
+ return _l4sys_ipc_errortab2[err - 1000];
else
return "bad, unknown runtime error";
}