X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Funit.h;h=bd60dcb1153b4b6c44e5d3bce2d0b648639b953d;hp=796aee5b5c69fcf4e954c6bd43700f0a0667ef99;hb=c0daa706d329d6cc593949b7d150d4972289ba93;hpb=ead8e4788ee31bbdc38b4cd3c6e71c8a95bbc95a;ds=sidebyside diff --git a/src/unit.h b/src/unit.h index 796aee5b5..bd60dcb11 100644 --- a/src/unit.h +++ b/src/unit.h @@ -40,7 +40,7 @@ typedef enum UnitDependency UnitDependency; #include "execute.h" #include "condition.h" -#define DEFAULT_TIMEOUT_USEC (60*USEC_PER_SEC) +#define DEFAULT_TIMEOUT_USEC (3*USEC_PER_MINUTE) #define DEFAULT_RESTART_USEC (100*USEC_PER_MSEC) enum UnitType { @@ -329,6 +329,9 @@ struct UnitVTable { /* Return the unit this unit is following */ Unit *(*following)(Unit *u); + /* Return the set of units that are following each other */ + int (*following_set)(Unit *u, Set **s); + /* This is called for each unit type and should be used to * enumerate existing devices and load them. However, * everything that is loaded here should still stay in @@ -350,11 +353,6 @@ struct UnitVTable { /* Can units of this type have multiple names? */ bool no_alias:1; - /* If true units of this types can never have "Requires" - * dependencies, because state changes can only be observed, - * not triggered */ - bool no_requires:1; - /* Instances make no sense for this type */ bool no_instances:1; @@ -416,7 +414,7 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c); int unit_add_cgroup(Unit *u, CGroupBonding *b); int unit_add_cgroup_from_text(Unit *u, const char *name); -int unit_add_default_cgroup(Unit *u); +int unit_add_default_cgroups(Unit *u); CGroupBonding* unit_get_default_cgroup(Unit *u); int unit_choose_id(Unit *u, const char *name); @@ -458,7 +456,7 @@ int unit_reload(Unit *u); int unit_kill(Unit *u, KillWho w, KillMode m, int signo, DBusError *error); -void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns); +void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_success); int unit_watch_fd(Unit *u, int fd, uint32_t events, Watch *w); void unit_unwatch_fd(Unit *u, Watch *w); @@ -508,9 +506,13 @@ bool unit_pending_active(Unit *u); int unit_add_default_target_dependency(Unit *u, Unit *target); +int unit_following_set(Unit *u, Set **s); + UnitType unit_name_to_type(const char *n); bool unit_name_is_valid(const char *n, bool template_ok); +void unit_trigger_on_failure(Unit *u); + const char *unit_load_state_to_string(UnitLoadState i); UnitLoadState unit_load_state_from_string(const char *s);