X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Funit.h;h=bf961c2aacf2c8e6c503971cc0cb2041fa4cece3;hp=2483e4ea9d09a455c8e365870991a4d337cec992;hb=3ef63c317481c2b3f1fe39e1b0f130aac3544522;hpb=e06c73cc91e02a1a3dffdb0976fef754f1109e74 diff --git a/src/core/unit.h b/src/core/unit.h index 2483e4ea9..bf961c2aa 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -1,7 +1,6 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -#ifndef foounithfoo -#define foounithfoo +#pragma once /*** This file is part of systemd. @@ -76,12 +75,14 @@ enum UnitDependency { UNIT_REQUISITE_OVERRIDABLE, UNIT_WANTS, UNIT_BINDS_TO, + UNIT_PART_OF, /* Inverse of the above */ UNIT_REQUIRED_BY, /* inverse of 'requires' and 'requisite' is 'required_by' */ UNIT_REQUIRED_BY_OVERRIDABLE, /* inverse of 'requires_overridable' and 'requisite_overridable' is 'soft_required_by' */ UNIT_WANTED_BY, /* inverse of 'wants' */ UNIT_BOUND_BY, /* inverse of 'binds_to' */ + UNIT_CONSISTS_OF, /* inverse of 'part_of' */ /* Negative dependencies */ UNIT_CONFLICTS, /* inverse of 'conflicts' is 'conflicted_by' */ @@ -265,6 +266,10 @@ struct UnitVTable { /* How much memory does an object of this unit type need */ size_t object_size; + /* If greater than 0, the offset into the object where + * ExecContext is found, if the unit type has that */ + size_t exec_context_offset; + /* Config file sections this unit type understands, separated * by NUL chars */ const char *sections; @@ -284,7 +289,7 @@ struct UnitVTable { * UNIT_STUB if no configuration could be found. */ int (*load)(Unit *u); - /* If a a lot of units got created via enumerate(), this is + /* If a lot of units got created via enumerate(), this is * where to actually set the state and call unit_notify(). */ int (*coldplug)(Unit *u); @@ -294,7 +299,7 @@ struct UnitVTable { int (*stop)(Unit *u); int (*reload)(Unit *u); - int (*kill)(Unit *u, KillWho w, KillMode m, int signo, DBusError *error); + int (*kill)(Unit *u, KillWho w, int signo, DBusError *error); bool (*can_reload)(Unit *u); @@ -469,7 +474,7 @@ int unit_start(Unit *u); int unit_stop(Unit *u); int unit_reload(Unit *u); -int unit_kill(Unit *u, KillWho w, KillMode m, int signo, DBusError *error); +int unit_kill(Unit *u, KillWho w, int signo, DBusError *error); void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_success); @@ -494,12 +499,8 @@ char *unit_dbus_path(Unit *u); int unit_load_related_unit(Unit *u, const char *type, Unit **_found); int unit_get_related_unit(Unit *u, const char *type, Unit **_found); -char *unit_name_printf(Unit *u, const char* text); -char *unit_full_printf(Unit *u, const char *text); -char **unit_full_printf_strv(Unit *u, char **l); - bool unit_can_serialize(Unit *u); -int unit_serialize(Unit *u, FILE *f, FDSet *fds); +int unit_serialize(Unit *u, FILE *f, FDSet *fds, bool serialize_jobs); void unit_serialize_item_format(Unit *u, FILE *f, const char *key, const char *value, ...) _printf_attr_(4,5); void unit_serialize_item(Unit *u, FILE *f, const char *key, const char *value); int unit_deserialize(Unit *u, FILE *f, FDSet *fds); @@ -521,6 +522,8 @@ bool unit_pending_active(Unit *u); 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_trigger_on_failure(Unit *u); @@ -537,12 +540,12 @@ void unit_ref_unset(UnitRef *ref); int unit_add_one_mount_link(Unit *u, Mount *m); int unit_add_mount_links(Unit *u); -int unit_patch_working_directory(Unit *u, ExecContext *c); +int unit_exec_context_defaults(Unit *u, ExecContext *c); + +ExecContext *unit_get_exec_context(Unit *u); const char *unit_active_state_to_string(UnitActiveState i); UnitActiveState unit_active_state_from_string(const char *s); const char *unit_dependency_to_string(UnitDependency i); UnitDependency unit_dependency_from_string(const char *s); - -#endif