summaryrefslogtreecommitdiffstats
path: root/cpukit/itron/src/mboxtranslatereturncode.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/itron/src/mboxtranslatereturncode.c')
-rw-r--r--cpukit/itron/src/mboxtranslatereturncode.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/cpukit/itron/src/mboxtranslatereturncode.c b/cpukit/itron/src/mboxtranslatereturncode.c
new file mode 100644
index 0000000000..7056afaa37
--- /dev/null
+++ b/cpukit/itron/src/mboxtranslatereturncode.c
@@ -0,0 +1,41 @@
+/*
+ * ITRON 3.0 Mailbox Manager
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <itron.h>
+
+#include <rtems/itron/mbox.h>
+#include <rtems/itron/task.h>
+
+/*
+ * _ITRON_Mailbox_Translate_core_message_queue_return_code
+ *
+ * This routine translates a core message queue object status
+ * into the appropriate ITRON status code.
+ */
+
+ER _ITRON_Mailbox_Translate_core_message_queue_return_code(
+ CORE_message_queue_Status status
+)
+{
+ switch (status) {
+ case CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL:
+ return E_OK;
+ case CORE_MESSAGE_QUEUE_STATUS_TOO_MANY:
+ return E_TMOUT;
+ case CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE:
+ return E_PAR;
+ case CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT:
+ return E_TMOUT;
+ case CORE_MESSAGE_QUEUE_STATUS_TIMEOUT:
+ return E_TMOUT;
+ default:
+ return E_ID;
+ }
+}