chiark / gitweb /
Simplify execute_directory()
[elogind.git] / src / core / manager.h
index 782b85da00d2393329ff521347d3b4cf6fde080c..ab75f902e58092e5dc8c2496b05eef4629b02271 100644 (file)
@@ -60,6 +60,12 @@ typedef enum ManagerExitCode {
         _MANAGER_EXIT_CODE_INVALID = -1
 } ManagerExitCode;
 
+typedef enum StatusType {
+        STATUS_TYPE_EPHEMERAL,
+        STATUS_TYPE_NORMAL,
+        STATUS_TYPE_EMERGENCY,
+} StatusType;
+
 #include "unit.h"
 #include "job.h"
 #include "hashmap.h"
@@ -176,6 +182,8 @@ struct Manager {
         /* Data specific to the mount subsystem */
         FILE *proc_self_mountinfo;
         sd_event_source *mount_event_source;
+        int utab_inotify_fd;
+        sd_event_source *mount_utab_event_source;
 
         /* Data specific to the swap filesystem */
         FILE *proc_swaps;
@@ -290,7 +298,7 @@ struct Manager {
 };
 
 int manager_new(SystemdRunningAs running_as, bool test_run, Manager **m);
-void manager_free(Manager *m);
+Manager* manager_free(Manager *m);
 
 int manager_enumerate(Manager *m);
 int manager_startup(Manager *m, FILE *serialization, FDSet *fds);
@@ -349,7 +357,7 @@ void manager_recheck_journal(Manager *m);
 void manager_set_show_status(Manager *m, ShowStatus mode);
 void manager_set_first_boot(Manager *m, bool b);
 
-void manager_status_printf(Manager *m, bool ephemeral, const char *status, const char *format, ...) _printf_(4,5);
+void manager_status_printf(Manager *m, StatusType type, const char *status, const char *format, ...) _printf_(4,5);
 void manager_flip_auto_status(Manager *m, bool enable);
 
 Set *manager_get_units_requiring_mounts_for(Manager *m, const char *path);