summaryrefslogtreecommitdiffstats
path: root/c/src/librtems++/include/rtems++/rtemsStatusCode.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/librtems++/include/rtems++/rtemsStatusCode.h')
-rw-r--r--c/src/librtems++/include/rtems++/rtemsStatusCode.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/c/src/librtems++/include/rtems++/rtemsStatusCode.h b/c/src/librtems++/include/rtems++/rtemsStatusCode.h
new file mode 100644
index 0000000000..fee230868b
--- /dev/null
+++ b/c/src/librtems++/include/rtems++/rtemsStatusCode.h
@@ -0,0 +1,57 @@
+/*
+ ------------------------------------------------------------------------
+ $Id$
+ ------------------------------------------------------------------------
+
+ COPYRIGHT (c) 1997
+ Objective Design Systems Ltd Pty (ODS)
+ All rights reserved (R) Objective Design Systems Ltd Pty
+
+ 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.
+
+ ------------------------------------------------------------------------
+
+ rtemsStatusCode controls and manages status codes from the RTEMS kernel.
+
+ ------------------------------------------------------------------------
+*/
+
+#if !defined(_rtemsStatusCode_h_)
+#define _rtemsStatusCode_h_
+
+#include <rtems.h>
+
+/* ----
+ rtemsStatusCode
+*/
+
+class rtemsStatusCode
+{
+public:
+
+ rtemsStatusCode() { last_status = RTEMS_NOT_CONFIGURED; }
+
+ const bool successful() { return last_status == RTEMS_SUCCESSFUL; }
+ const bool unsuccessful() { return last_status != RTEMS_SUCCESSFUL; }
+
+ // return the last status code
+ const rtems_status_code last_status_code() { return last_status; }
+
+ // return the last status as a string
+ const char *last_status_string();
+
+ const char *status_string(rtems_status_code status_code);
+
+protected:
+ const rtems_status_code set_status_code(const rtems_status_code status)
+ { return (last_status = status); }
+
+private:
+
+ // public at the moment, this might change
+ rtems_status_code last_status;
+};
+
+#endif // _rtemsStatusCode_h_