chiark / gitweb /
sd-daemon: add gcc format string attribute to sd_notifyf
[elogind.git] / src / manager.h
index a2084e924bae6ec36fe017894426e241ff777961..5ee75d524810711e24490466bc703518cb82999c 100644 (file)
@@ -56,6 +56,7 @@ typedef enum ManagerRunningAs {
 enum WatchType {
         WATCH_INVALID,
         WATCH_SIGNAL,
+        WATCH_NOTIFY,
         WATCH_FD,
         WATCH_TIMER,
         WATCH_MOUNT,
@@ -82,6 +83,7 @@ struct Watch {
 #include "list.h"
 #include "set.h"
 #include "dbus.h"
+#include "path-lookup.h"
 
 #define SPECIAL_DEFAULT_TARGET "default.target"
 
@@ -111,6 +113,10 @@ struct Watch {
 #define SPECIAL_SYSINIT_TARGET "sysinit.target"
 #define SPECIAL_RESCUE_TARGET "rescue.target"
 #define SPECIAL_EXIT_SERVICE "exit.service"
+#define SPECIAL_EMERGENCY_SERVICE "emergency.service"
+#define SPECIAL_HALT_TARGET "halt.target"
+#define SPECIAL_POWEROFF_TARGET "poweroff.target"
+#define SPECIAL_REBOOT_TARGET "reboot.target"
 
 #ifndef SPECIAL_DBUS_SERVICE
 #define SPECIAL_DBUS_SERVICE "dbus.service"
@@ -170,15 +176,14 @@ struct Manager {
 
         Hashmap *watch_pids;  /* pid => Unit object n:1 */
 
+        Watch notify_watch;
         Watch signal_watch;
 
         int epoll_fd;
 
         unsigned n_snapshots;
 
-        char **unit_path;
-        char **sysvinit_path;
-        char **sysvrcnd_path;
+        LookupPaths lookup_paths;
 
         char **environment;
 
@@ -216,7 +221,6 @@ struct Manager {
         char *cgroup_hierarchy;
 
         usec_t gc_queue_timestamp;
-
         int gc_marker;
         unsigned n_in_gc_queue;