summaryrefslogtreecommitdiff
path: root/interfaces/distrio_common.idl
diff options
context:
space:
mode:
Diffstat (limited to 'interfaces/distrio_common.idl')
-rw-r--r--interfaces/distrio_common.idl59
1 files changed, 59 insertions, 0 deletions
diff --git a/interfaces/distrio_common.idl b/interfaces/distrio_common.idl
new file mode 100644
index 0000000..8756732
--- /dev/null
+++ b/interfaces/distrio_common.idl
@@ -0,0 +1,59 @@
+#ifndef DISTRIO_COMMON_IDL
+#define DISTRIO_COMMON_IDL
+
+/**
+ * @brief shared between different modules
+ *
+ * - definitions for error handling
+ *
+ * @author Manuel Traut <manut@mecka.net>
+ * @copyright GPLv2
+ *
+ */
+module Distrio {
+
+/**
+ * @brief kind of error
+ */
+ enum Error_code {
+ SUCCESS,
+ E_INVAL,
+ E_NOTSUPPORTED
+ };
+
+/**
+ * @brief used for filtering and classification
+ */
+ enum Error_level {
+ L_DEBUG,
+ L_INFO,
+ L_WARNING,
+ L_NORMAL,
+ L_CRITICAL
+ };
+
+/**
+ * @brief describes when the error was detected
+ * (it's helpful to sync all boards with ntp)
+ */
+ struct Error_timestamp {
+ long seconds;
+ long nanoseconds;
+ };
+
+/**
+ * @brief description of an error
+ */
+ struct Error {
+ Error_code code;
+ Error_level level;
+ Error_timestamp time;
+ /** id of the digital/analog IO or the IO device */
+ long module_id;
+ /** a human readable description which can be displayed in GUIs */
+ string description;
+ };
+
+};
+
+#endif