summaryrefslogtreecommitdiffstats
path: root/cpukit/itron/src/msgbuffertranslatereturncode.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/itron/src/msgbuffertranslatereturncode.c')
-rw-r--r--cpukit/itron/src/msgbuffertranslatereturncode.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/cpukit/itron/src/msgbuffertranslatereturncode.c b/cpukit/itron/src/msgbuffertranslatereturncode.c
new file mode 100644
index 0000000000..f6cfaf85fe
--- /dev/null
+++ b/cpukit/itron/src/msgbuffertranslatereturncode.c
@@ -0,0 +1,41 @@
+/*
+ * ITRON Message Buffer 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/msgbuffer.h>
+#include <rtems/itron/task.h>
+
+/*
+ * _ITRON_Message_buffer_Translate_core_message_buffer_return_code
+ *
+ * This routine translates a core message buffer object status
+ * into the appropriate ITRON status code.
+ */
+
+ER _ITRON_Message_buffer_Translate_core_message_buffer_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;
+ }
+}