chiark / gitweb /
first attempt in implementinging execution logic
[elogind.git] / device.h
diff --git a/device.h b/device.h
new file mode 100644 (file)
index 0000000..e2597f7
--- /dev/null
+++ b/device.h
@@ -0,0 +1,29 @@
+/*-*- Mode: C; c-basic-offset: 8 -*-*/
+
+#ifndef foodevicehfoo
+#define foodevicehfoo
+
+typedef struct Device Device;
+
+#include "name.h"
+
+/* We simply watch devices, we cannot plug/unplug them. That
+ * simplifies the state engine greatly */
+typedef enum DeviceState {
+        DEVICE_DEAD,
+        DEVICE_AVAILABLE,
+        _DEVICE_STATE_MAX
+} DeviceState;
+
+struct Device {
+        Meta meta;
+
+        DeviceState state;
+
+        /* A single device can be created by multiple sysfs objects */
+        char **sysfs;
+};
+
+extern const NameVTable device_vtable;
+
+#endif