chiark / gitweb /
shutdown: Don't skip bind mounts on shutdown
[elogind.git] / src / core / unit.h
index 33920892fdc0942136c897017849b188cf3289f9..cfb38d0aae751e79eae95e685a8bfbd68c18fc68 100644 (file)
@@ -32,6 +32,7 @@ typedef enum UnitLoadState UnitLoadState;
 typedef enum UnitActiveState UnitActiveState;
 typedef enum UnitDependency UnitDependency;
 typedef struct UnitRef UnitRef;
+typedef struct UnitStatusMessageFormats UnitStatusMessageFormats;
 
 #include "set.h"
 #include "util.h"
@@ -156,9 +157,12 @@ struct Unit {
         char **requires_mounts_for;
 
         char *description;
+        char **documentation;
 
         char *fragment_path; /* if loaded from a config file this is the primary path to it */
+        char *source_path; /* if converted, the source file */
         usec_t fragment_mtime;
+        usec_t source_mtime;
 
         /* If there is something to do with this unit, then this is the installed job for it */
         Job *job;
@@ -266,6 +270,12 @@ struct UnitRef {
         LIST_FIELDS(UnitRef, refs);
 };
 
+struct UnitStatusMessageFormats {
+        const char *starting_stopping[2];
+        const char *finished_start_job[_JOB_RESULT_MAX];
+        const char *finished_stop_job[_JOB_RESULT_MAX];
+};
+
 #include "service.h"
 #include "timer.h"
 #include "socket.h"
@@ -345,9 +355,6 @@ struct UnitVTable {
         void (*sigchld_event)(Unit *u, pid_t pid, int code, int status);
         void (*timer_event)(Unit *u, uint64_t n_elapsed, Watch *w);
 
-        /* Check whether unit needs a daemon reload */
-        bool (*need_daemon_reload)(Unit *u);
-
         /* Reset failed state if we are in failed state */
         void (*reset_failed)(Unit *u);
 
@@ -392,6 +399,8 @@ struct UnitVTable {
         /* The interface name */
         const char *bus_interface;
 
+        UnitStatusMessageFormats status_message_formats;
+
         /* Can units of this type have multiple names? */
         bool no_alias:1;
 
@@ -400,9 +409,6 @@ struct UnitVTable {
 
         /* Exclude from automatic gc */
         bool no_gc:1;
-
-        /* Show status updates on the console */
-        bool show_status:1;
 };
 
 extern const UnitVTable * const unit_vtable[_UNIT_TYPE_MAX];