UNIT_BEFORE, /* inverse of 'before' is 'after' and vice versa */
UNIT_AFTER,
+ /* On Failure */
+ UNIT_ON_FAILURE,
+
/* Reference information for GC logic */
UNIT_REFERENCES, /* Inverse of 'references' is 'referenced_by' */
UNIT_REFERENCED_BY,
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;
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);