Branch data Line data Source code
1 : : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : : #pragma once 3 : : 4 : : typedef struct Scope Scope; 5 : : 6 : : #include "cgroup.h" 7 : : #include "kill.h" 8 : : #include "unit.h" 9 : : 10 : : typedef enum ScopeResult { 11 : : SCOPE_SUCCESS, 12 : : SCOPE_FAILURE_RESOURCES, 13 : : SCOPE_FAILURE_TIMEOUT, 14 : : _SCOPE_RESULT_MAX, 15 : : _SCOPE_RESULT_INVALID = -1 16 : : } ScopeResult; 17 : : 18 : : struct Scope { 19 : : Unit meta; 20 : : 21 : : CGroupContext cgroup_context; 22 : : KillContext kill_context; 23 : : 24 : : ScopeState state, deserialized_state; 25 : : ScopeResult result; 26 : : 27 : : usec_t timeout_stop_usec; 28 : : 29 : : char *controller; 30 : : sd_bus_track *controller_track; 31 : : 32 : : bool was_abandoned; 33 : : 34 : : sd_event_source *timer_event_source; 35 : : }; 36 : : 37 : : extern const UnitVTable scope_vtable; 38 : : 39 : : int scope_abandon(Scope *s); 40 : : 41 : : const char* scope_result_to_string(ScopeResult i) _const_; 42 : : ScopeResult scope_result_from_string(const char *s) _pure_; 43 : : 44 [ + - - + ]: 631 : DEFINE_CAST(SCOPE, Scope);