X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Funit.h;h=299ded66ac128e94e50fe2a064f507cfb70fefb0;hb=76037baee04c262f5d02a9c43ec9110c82196f36;hp=c58202bf0f00cab81841114d1a8a2ffb7bc678bc;hpb=718db96199eb307751264e4163555662c9a389fa;p=elogind.git diff --git a/src/core/unit.h b/src/core/unit.h index c58202bf0..299ded66a 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -106,6 +106,9 @@ enum UnitDependency { UNIT_PROPAGATES_RELOAD_TO, UNIT_RELOAD_PROPAGATED_FROM, + /* Joins namespace of */ + UNIT_JOINS_NAMESPACE_OF, + /* Reference information for GC logic */ UNIT_REFERENCES, /* Inverse of 'references' is 'referenced_by' */ UNIT_REFERENCED_BY, @@ -175,6 +178,7 @@ struct Unit { /* Counterparts in the cgroup filesystem */ char *cgroup_path; CGroupControllerMask cgroup_mask; + CGroupControllerMask cgroup_members_mask; UnitRef slice; @@ -229,8 +233,8 @@ struct Unit { /* Allow isolation requests */ bool allow_isolate; - /* Isolate OnFailure unit */ - bool on_failure_isolate; + /* How to start OnFailure units */ + JobMode on_failure_job_mode; /* Ignore this unit when isolating */ bool ignore_on_isolate; @@ -300,6 +304,11 @@ struct UnitVTable { * KillContext is found, if the unit type has that */ size_t kill_context_offset; + /* If greater than 0, the offset into the object where the + * pointer to ExecRuntime is found, if the unit type has + * that */ + size_t exec_runtime_offset; + /* The name of the configuration file section with the private settings of this unit*/ const char *private_section; @@ -557,6 +566,7 @@ bool unit_need_daemon_reload(Unit *u); void unit_reset_failed(Unit *u); Unit *unit_following(Unit *u); +int unit_following_set(Unit *u, Set **s); const char *unit_slice_name(Unit *u); @@ -568,8 +578,6 @@ int unit_add_default_target_dependency(Unit *u, Unit *target); char *unit_default_cgroup_path(Unit *u); -int unit_following_set(Unit *u, Set **s); - void unit_start_on_failure(Unit *u); void unit_trigger_notify(Unit *u); @@ -586,6 +594,9 @@ int unit_exec_context_defaults(Unit *u, ExecContext *c); ExecContext *unit_get_exec_context(Unit *u) _pure_; KillContext *unit_get_kill_context(Unit *u) _pure_; CGroupContext *unit_get_cgroup_context(Unit *u) _pure_; +ExecRuntime *unit_get_exec_runtime(Unit *u) _pure_; + +int unit_setup_exec_runtime(Unit *u); int unit_write_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name, const char *data); int unit_write_drop_in_format(Unit *u, UnitSetPropertiesMode mode, const char *name, const char *format, ...) _printf_(4,5);