Set *dependencies[_UNIT_DEPENDENCY_MAX];
char *description;
+
char *fragment_path; /* if loaded from a config file this is the primary path to it */
usec_t fragment_mtime;
* the job for it */
Job *job;
+ usec_t job_timeout;
+
dual_timestamp inactive_exit_timestamp;
dual_timestamp active_enter_timestamp;
dual_timestamp active_exit_timestamp;
/* GC queue */
LIST_FIELDS(Meta, gc_queue);
+ /* This follows another unit in state */
+ Unit *following;
+
/* Used during GC sweeps */
unsigned gc_marker;
void (*sigchld_event)(Unit *u, pid_t pid, int code, int status);
void (*timer_event)(Unit *u, uint64_t n_elapsed, Watch *w);
+ /* Reset maintenance state if we are in maintainance state */
+ void (*reset_maintenance)(Unit *u);
+
/* Called whenever any of the cgroups this unit watches for
* ran empty */
void (*cgroup_notify_empty)(Unit *u);
bool unit_need_daemon_reload(Unit *u);
+void unit_reset_maintenance(Unit *u);
+
const char *unit_type_to_string(UnitType i);
UnitType unit_type_from_string(const char *s);