X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Funit.h;h=6dd750f8c2102ac667808622e221360064a848e5;hb=da7e457c5b9339721454ae8401a03ffdd781e6a9;hp=8a62787b3824e4dce3ad1293b0b8664872e8ec9a;hpb=c2756a68401102786be343712c0c35acbd73d28d;p=elogind.git diff --git a/src/core/unit.h b/src/core/unit.h index 8a62787b3..6dd750f8c 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -173,7 +173,6 @@ struct Unit { /* Counterparts in the cgroup filesystem */ char *cgroup_path; - bool cgroup_realized; CGroupControllerMask cgroup_mask; UnitRef slice; @@ -255,6 +254,8 @@ struct Unit { bool no_gc:1; bool in_audit:1; + + bool cgroup_realized:1; }; struct UnitStatusMessageFormats { @@ -280,6 +281,7 @@ typedef enum UnitSetPropertiesMode { #include "swap.h" #include "path.h" #include "slice.h" +#include "scope.h" struct UnitVTable { /* How much memory does an object of this unit type need */ @@ -462,6 +464,7 @@ DEFINE_CAST(SNAPSHOT, Snapshot); DEFINE_CAST(SWAP, Swap); DEFINE_CAST(PATH, Path); DEFINE_CAST(SLICE, Slice); +DEFINE_CAST(SCOPE, Scope); Unit *unit_new(Manager *m, size_t size); void unit_free(Unit *u); @@ -587,7 +590,6 @@ void unit_ref_unset(UnitRef *ref); #define UNIT_DEREF(ref) ((ref).unit) #define UNIT_ISSET(ref) (!!(ref).unit) -int unit_add_one_mount_link(Unit *u, Mount *m); int unit_add_mount_links(Unit *u); int unit_exec_context_defaults(Unit *u, ExecContext *c); @@ -596,13 +598,19 @@ ExecContext *unit_get_exec_context(Unit *u) _pure_; CGroupContext *unit_get_cgroup_context(Unit *u) _pure_; int unit_write_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name, const char *data); -int unit_write_drop_in_private_section(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_attr_(4,5); + +int unit_write_drop_in_private(Unit *u, UnitSetPropertiesMode mode, const char *name, const char *data); +int unit_write_drop_in_private_format(Unit *u, UnitSetPropertiesMode mode, const char *name, const char *format, ...) _printf_attr_(4,5); + int unit_remove_drop_in(Unit *u, UnitSetPropertiesMode mode, const char *name); int unit_kill_context(Unit *u, KillContext *c, bool sigkill, pid_t main_pid, pid_t control_pid, bool main_pid_alien); int unit_make_transient(Unit *u); +int unit_require_mounts_for(Unit *u, const char *path); + const char *unit_active_state_to_string(UnitActiveState i) _const_; UnitActiveState unit_active_state_from_string(const char *s) _pure_;