chiark / gitweb /
remove GTK pieces
[elogind.git] / src / automount.h
index 014482cc5a8be261a2b8c6a042d04c21cf447765..19baee208b2dc62b911b1236b0c82e6e5efc9a17 100644 (file)
@@ -1,4 +1,4 @@
-/*-*- Mode: C; c-basic-offset: 8 -*-*/
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
 
 #ifndef fooautomounthfoo
 #define fooautomounthfoo
@@ -30,27 +30,35 @@ typedef enum AutomountState {
         AUTOMOUNT_DEAD,
         AUTOMOUNT_WAITING,
         AUTOMOUNT_RUNNING,
-        AUTOMOUNT_MAINTAINANCE,
+        AUTOMOUNT_FAILED,
         _AUTOMOUNT_STATE_MAX,
         _AUTOMOUNT_STATE_INVALID = -1
 } AutomountState;
 
+typedef enum AutomountResult {
+        AUTOMOUNT_SUCCESS,
+        AUTOMOUNT_FAILURE_RESOURCES,
+        _AUTOMOUNT_RESULT_MAX,
+        _AUTOMOUNT_RESULT_INVALID = -1
+} AutomountResult;
+
 struct Automount {
-        Meta meta;
+        Unit meta;
 
         AutomountState state, deserialized_state;
 
         char *where;
 
-        Mount *mount;
+        UnitRef mount;
 
         int pipe_fd;
+        mode_t directory_mode;
         Watch pipe_watch;
         dev_t dev_id;
 
         Set *tokens;
 
-        bool failure:1;
+        AutomountResult result;
 };
 
 extern const UnitVTable automount_vtable;
@@ -62,4 +70,7 @@ int automount_add_one_mount_link(Automount *a, Mount *m);
 const char* automount_state_to_string(AutomountState i);
 AutomountState automount_state_from_string(const char *s);
 
+const char* automount_result_to_string(AutomountResult i);
+AutomountResult automount_result_from_string(const char *s);
+
 #endif