]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
basic: add RuntimeScope enum
authorLennart Poettering <lennart@poettering.net>
Fri, 10 Mar 2023 08:47:10 +0000 (09:47 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 10 Mar 2023 08:47:39 +0000 (09:47 +0100)
In various tools and services we have a per-system and per-user concept.
So far we sometimes used a boolean indicating whether we are in system
mode, or a reversed boolean indicating whether we are in user mode, or
the LookupScope enum used by the lookup path logic.

Let's address that, in introduce a common enum for this, we can use all
across the board.

This is mostly just search/replace, no actual code changes.

89 files changed:
src/analyze/analyze-condition.c
src/analyze/analyze-plot.c
src/analyze/analyze-security.c
src/analyze/analyze-time-data.c
src/analyze/analyze-unit-files.c
src/analyze/analyze-unit-paths.c
src/analyze/analyze-verify-util.c
src/analyze/analyze-verify-util.h
src/analyze/analyze-verify.c
src/analyze/analyze.c
src/analyze/analyze.h
src/basic/meson.build
src/basic/path-lookup.c
src/basic/path-lookup.h
src/basic/runtime-scope.c [new file with mode: 0644]
src/basic/runtime-scope.h [new file with mode: 0644]
src/busctl/busctl.c
src/cgls/cgls.c
src/core/dbus-manager.c
src/core/dbus-unit.c
src/core/emergency-action.c
src/core/emergency-action.h
src/core/execute.c
src/core/fuzz-unit-file.c
src/core/load-fragment.c
src/core/main.c
src/core/manager.c
src/core/manager.h
src/core/unit-printf.c
src/core/unit.c
src/home/homectl.c
src/hostname/hostnamectl.c
src/libsystemd/sd-bus/bus-internal.h
src/libsystemd/sd-bus/sd-bus.c
src/libsystemd/sd-path/sd-path.c
src/locale/localectl.c
src/login/loginctl.c
src/machine/machine-dbus.c
src/machine/machinectl.c
src/mount/mount-tool.c
src/portable/portable.c
src/portable/portablectl.c
src/run/run.c
src/shared/bus-util.c
src/shared/bus-util.h
src/shared/cgroup-show.c
src/shared/install-printf.c
src/shared/install-printf.h
src/shared/install.c
src/shared/install.h
src/shared/specifier.c
src/stdio-bridge/stdio-bridge.c
src/systemctl/systemctl-add-dependency.c
src/systemctl/systemctl-edit.c
src/systemctl/systemctl-enable.c
src/systemctl/systemctl-is-enabled.c
src/systemctl/systemctl-list-unit-files.c
src/systemctl/systemctl-preset-all.c
src/systemctl/systemctl-set-default.c
src/systemctl/systemctl-show.c
src/systemctl/systemctl-start-special.c
src/systemctl/systemctl-start-unit.c
src/systemctl/systemctl-sysv-compat.c
src/systemctl/systemctl-util.c
src/systemctl/systemctl.c
src/systemctl/systemctl.h
src/sysv-generator/sysv-generator.c
src/test/test-bpf-firewall.c
src/test/test-bpf-foreign-programs.c
src/test/test-bpf-lsm.c
src/test/test-cgroup-mask.c
src/test/test-cgroup-unit-default.c
src/test/test-emergency-action.c
src/test/test-engine.c
src/test/test-execute.c
src/test/test-install-root.c
src/test/test-install.c
src/test/test-load-fragment.c
src/test/test-path-lookup.c
src/test/test-path.c
src/test/test-sched-prio.c
src/test/test-socket-bind.c
src/test/test-specifier.c
src/test/test-unit-file.c
src/test/test-unit-name.c
src/test/test-unit-serialize.c
src/test/test-watch-pid.c
src/timedate/timedatectl.c
src/tmpfiles/tmpfiles.c

index b29fc0cd71b53ff2d59640e461ad7509580cbdd5..6da61cd0cf84c33182f52e875251227178490323 100644 (file)
@@ -72,7 +72,7 @@ static int log_helper(void *userdata, int level, int error, const char *file, in
         return r;
 }
 
-static int verify_conditions(char **lines, LookupScope scope, const char *unit, const char *root) {
+static int verify_conditions(char **lines, RuntimeScope scope, const char *unit, const char *root) {
         _cleanup_(manager_freep) Manager *m = NULL;
         Unit *u;
         int r, q = 1;
@@ -137,7 +137,7 @@ static int verify_conditions(char **lines, LookupScope scope, const char *unit,
 int verb_condition(int argc, char *argv[], void *userdata) {
         int r;
 
-        r = verify_conditions(strv_skip(argv, 1), arg_scope, arg_unit, arg_root);
+        r = verify_conditions(strv_skip(argv, 1), arg_runtime_scope, arg_unit, arg_root);
         if (r < 0)
                 return r;
 
index 8aca691b3d67206e5115a6190971df0db4cc6560..0f39484f92b5c6fb3f9e89356c77340621dcefca 100644 (file)
@@ -80,8 +80,8 @@ static int acquire_host_info(sd_bus *bus, HostInfo **hi) {
         if (!host)
                 return log_oom();
 
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM) {
-                r = bus_connect_transport(arg_transport, arg_host, false, &system_bus);
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM) {
+                r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &system_bus);
                 if (r < 0) {
                         log_debug_errno(r, "Failed to connect to system bus, ignoring: %m");
                         goto manager;
@@ -431,7 +431,7 @@ int verb_plot(int argc, char *argv[], void *userdata) {
         _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
         _cleanup_(unit_times_free_arrayp) UnitTimes *times = NULL;
         _cleanup_free_ char *pretty_times = NULL;
-        bool use_full_bus = arg_scope == LOOKUP_SCOPE_SYSTEM;
+        bool use_full_bus = arg_runtime_scope == RUNTIME_SCOPE_SYSTEM;
         BootTimes *boot;
         int n, r;
 
@@ -447,7 +447,7 @@ int verb_plot(int argc, char *argv[], void *userdata) {
         if (n < 0)
                 return n;
 
-        if (use_full_bus || arg_scope != LOOKUP_SCOPE_SYSTEM) {
+        if (use_full_bus || arg_runtime_scope != RUNTIME_SCOPE_SYSTEM) {
                 n = acquire_host_info(bus, &host);
                 if (n < 0)
                         return n;
index 585dd01f689fffdd2ff806005b00a89bf4c44aff..7662bf1827d356c3566707b73c4735000f251c8f 100644 (file)
@@ -2665,16 +2665,17 @@ static int offline_security_check(Unit *u,
         return assess(info, overview_table, flags, threshold, policy, pager_flags, json_format_flags);
 }
 
-static int offline_security_checks(char **filenames,
-                                   JsonVariant *policy,
-                                   LookupScope scope,
-                                   bool check_man,
-                                   bool run_generators,
-                                   unsigned threshold,
-                                   const char *root,
-                                   const char *profile,
-                                   PagerFlags pager_flags,
-                                   JsonFormatFlags json_format_flags) {
+static int offline_security_checks(
+                char **filenames,
+                JsonVariant *policy,
+                RuntimeScope scope,
+                bool check_man,
+                bool run_generators,
+                unsigned threshold,
+                const char *root,
+                const char *profile,
+                PagerFlags pager_flags,
+                JsonFormatFlags json_format_flags) {
 
         const ManagerTestRunFlags flags =
                 MANAGER_TEST_RUN_MINIMAL |
@@ -2779,7 +2780,7 @@ static int offline_security_checks(char **filenames,
 static int analyze_security(sd_bus *bus,
                      char **units,
                      JsonVariant *policy,
-                     LookupScope scope,
+                     RuntimeScope scope,
                      bool check_man,
                      bool run_generators,
                      bool offline,
@@ -2937,17 +2938,18 @@ int verb_security(int argc, char *argv[], void *userdata) {
                 }
         }
 
-        return analyze_security(bus,
-                                strv_skip(argv, 1),
-                                policy,
-                                arg_scope,
-                                arg_man,
-                                arg_generators,
-                                arg_offline,
-                                arg_threshold,
-                                arg_root,
-                                arg_profile,
-                                arg_json_format_flags,
-                                arg_pager_flags,
-                                /*flags=*/ 0);
+        return analyze_security(
+                        bus,
+                        strv_skip(argv, 1),
+                        policy,
+                        arg_runtime_scope,
+                        arg_man,
+                        arg_generators,
+                        arg_offline,
+                        arg_threshold,
+                        arg_root,
+                        arg_profile,
+                        arg_json_format_flags,
+                        arg_pager_flags,
+                        /*flags=*/ 0);
 }
index aa42d69322011cdd3dfbd9b2b6f2644630a4cb69..07843f74bc21b12865f02771772c2c13dd4fb7a1 100644 (file)
@@ -67,9 +67,9 @@ int acquire_boot_times(sd_bus *bus, BootTimes **ret) {
                                        "Please try again later.\n"
                                        "Hint: Use 'systemctl%s list-jobs' to see active jobs",
                                        times.finish_time,
-                                       arg_scope == LOOKUP_SCOPE_SYSTEM ? "" : " --user");
+                                       arg_runtime_scope == RUNTIME_SCOPE_SYSTEM ? "" : " --user");
 
-        if (arg_scope == LOOKUP_SCOPE_SYSTEM && times.security_start_time > 0) {
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM && times.security_start_time > 0) {
                 /* security_start_time is set when systemd is not running under container environment. */
                 if (times.initrd_time > 0)
                         times.kernel_done_time = times.initrd_time;
index ec9be336e1ab1ed140e42972825b430fc36c9da7..d9b3313be43e45581b20274d52f71023ec0e7e55 100644 (file)
@@ -21,7 +21,7 @@ int verb_unit_files(int argc, char *argv[], void *userdata) {
         char **v;
         int r;
 
-        r = lookup_paths_init_or_warn(&lp, arg_scope, 0, NULL);
+        r = lookup_paths_init_or_warn(&lp, arg_runtime_scope, 0, NULL);
         if (r < 0)
                 return r;
 
index c2254619bca0084c4a72c478ac6bbead8bac3236..bb00a4fcd2c921eb01b84b66f5adf1818768eae9 100644 (file)
@@ -9,7 +9,7 @@ int verb_unit_paths(int argc, char *argv[], void *userdata) {
         _cleanup_(lookup_paths_free) LookupPaths paths = {};
         int r;
 
-        r = lookup_paths_init_or_warn(&paths, arg_scope, 0, NULL);
+        r = lookup_paths_init_or_warn(&paths, arg_runtime_scope, 0, NULL);
         if (r < 0)
                 return r;
 
index b9f08b6d859dccc2daf085e81641a63f7db463a6..132a84649b3d2ea023be52c8108634dff5a78a9d 100644 (file)
@@ -248,7 +248,14 @@ static void set_destroy_ignore_pointer_max(Set** s) {
         set_free_free(*s);
 }
 
-int verify_units(char **filenames, LookupScope scope, bool check_man, bool run_generators, RecursiveErrors recursive_errors, const char *root) {
+int verify_units(
+                char **filenames,
+                RuntimeScope scope,
+                bool check_man,
+                bool run_generators,
+                RecursiveErrors recursive_errors,
+                const char *root) {
+
         const ManagerTestRunFlags flags =
                 MANAGER_TEST_RUN_MINIMAL |
                 MANAGER_TEST_RUN_ENV_GENERATORS |
index 385d635e33fbac46bc5596542018b6d5dcbfb10a..2e3b0604c31540f82d69c3c32d3565fcaaf6b301 100644 (file)
@@ -17,7 +17,7 @@ typedef enum RecursiveErrors {
 int verify_generate_path(char **var, char **filenames);
 int verify_prepare_filename(const char *filename, char **ret);
 int verify_executable(Unit *u, const ExecCommand *exec, const char *root);
-int verify_units(char **filenames, LookupScope scope, bool check_man, bool run_generators, RecursiveErrors recursive_errors, const char *root);
+int verify_units(char **filenames, RuntimeScope scope, bool check_man, bool run_generators, RecursiveErrors recursive_errors, const char *root);
 
 const char* recursive_errors_to_string(RecursiveErrors i) _const_;
 RecursiveErrors recursive_errors_from_string(const char *s) _pure_;
index 35e4e1eb31d666a3b96b58ac9f4aff2f22bfdf56..98d48f627665344f4ce415d1da7ab18f179397b6 100644 (file)
@@ -66,5 +66,5 @@ int verb_verify(int argc, char *argv[], void *userdata) {
         if (r < 0)
                 return log_error_errno(r, "Couldn't process aliases: %m");
 
-        return verify_units(filenames, arg_scope, arg_man, arg_generators, arg_recursive_errors, arg_root);
+        return verify_units(filenames, arg_runtime_scope, arg_man, arg_generators, arg_recursive_errors, arg_root);
 }
index d7688c1a85b7a71567567260d5d6235201e1bd25..12c0bd653fa68d6dbcfe6ededeae2d4f8b78508c 100644 (file)
@@ -91,7 +91,7 @@ usec_t arg_fuzz = 0;
 PagerFlags arg_pager_flags = 0;
 BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
 const char *arg_host = NULL;
-LookupScope arg_scope = LOOKUP_SCOPE_SYSTEM;
+RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 RecursiveErrors arg_recursive_errors = _RECURSIVE_ERRORS_INVALID;
 bool arg_man = true;
 bool arg_generators = false;
@@ -118,18 +118,17 @@ STATIC_DESTRUCTOR_REGISTER(arg_unit, freep);
 STATIC_DESTRUCTOR_REGISTER(arg_profile, freep);
 
 int acquire_bus(sd_bus **bus, bool *use_full_bus) {
-        bool user = arg_scope != LOOKUP_SCOPE_SYSTEM;
         int r;
 
         if (use_full_bus && *use_full_bus) {
-                r = bus_connect_transport(arg_transport, arg_host, user, bus);
+                r = bus_connect_transport(arg_transport, arg_host, arg_runtime_scope, bus);
                 if (IN_SET(r, 0, -EHOSTDOWN))
                         return r;
 
                 *use_full_bus = false;
         }
 
-        return bus_connect_transport_systemd(arg_transport, arg_host, user, bus);
+        return bus_connect_transport_systemd(arg_transport, arg_host, arg_runtime_scope, bus);
 }
 
 int bus_get_unit_property_strv(sd_bus *bus, const char *path, const char *property, char ***strv) {
@@ -384,15 +383,15 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_SYSTEM:
-                        arg_scope = LOOKUP_SCOPE_SYSTEM;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case ARG_USER:
-                        arg_scope = LOOKUP_SCOPE_USER;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_GLOBAL:
-                        arg_scope = LOOKUP_SCOPE_GLOBAL;
+                        arg_runtime_scope = RUNTIME_SCOPE_GLOBAL;
                         break;
 
                 case ARG_ORDER:
@@ -540,12 +539,12 @@ static int parse_argv(int argc, char *argv[]) {
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Option --threshold= is only supported for security right now.");
 
-        if (arg_scope == LOOKUP_SCOPE_GLOBAL &&
+        if (arg_runtime_scope == RUNTIME_SCOPE_GLOBAL &&
             !STR_IN_SET(argv[optind] ?: "time", "dot", "unit-paths", "verify"))
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Option --global only makes sense with verbs dot, unit-paths, verify.");
 
-        if (streq_ptr(argv[optind], "cat-config") && arg_scope == LOOKUP_SCOPE_USER)
+        if (streq_ptr(argv[optind], "cat-config") && arg_runtime_scope == RUNTIME_SCOPE_USER)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Option --user is not supported for cat-config right now.");
 
index 35b1cddb38ff8721c4da00d10e4a31e651730d13..2f623e3201256b99fa29fc85d1a1430ea18760f8 100644 (file)
@@ -22,7 +22,7 @@ extern usec_t arg_fuzz;
 extern PagerFlags arg_pager_flags;
 extern BusTransport arg_transport;
 extern const char *arg_host;
-extern LookupScope arg_scope;
+extern RuntimeScope arg_runtime_scope;
 extern RecursiveErrors arg_recursive_errors;
 extern bool arg_man;
 extern bool arg_generators;
index b9da0544c20c29ee6f6d0a4508e4e0d9934f6d06..98b4d0ee9517340a7c80c1c8371e6d8a7e459c7a 100644 (file)
@@ -71,6 +71,7 @@ basic_sources = files(
         'recurse-dir.c',
         'replace-var.c',
         'rlimit-util.c',
+        'runtime-scope.c',
         'sigbus.c',
         'signal-util.c',
         'siphash24.c',
index c99e9d8786cb1d7b1f21ae1a0cab82b9ee4960ad..7d158a82959f07603fbc6872ac2ae0c991cdc38a 100644 (file)
@@ -232,7 +232,7 @@ bool path_is_user_config_dir(const char *path) {
 }
 
 static int acquire_generator_dirs(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *tempdir,
                 char **generator,
                 char **generator_early,
@@ -244,17 +244,17 @@ static int acquire_generator_dirs(
         assert(generator);
         assert(generator_early);
         assert(generator_late);
-        assert(IN_SET(scope, LOOKUP_SCOPE_SYSTEM, LOOKUP_SCOPE_USER, LOOKUP_SCOPE_GLOBAL));
+        assert(IN_SET(scope, RUNTIME_SCOPE_SYSTEM, RUNTIME_SCOPE_USER, RUNTIME_SCOPE_GLOBAL));
 
-        if (scope == LOOKUP_SCOPE_GLOBAL)
+        if (scope == RUNTIME_SCOPE_GLOBAL)
                 return -EOPNOTSUPP;
 
         if (tempdir)
                 prefix = tempdir;
-        else if (scope == LOOKUP_SCOPE_SYSTEM)
+        else if (scope == RUNTIME_SCOPE_SYSTEM)
                 prefix = "/run/systemd";
         else {
-                /* LOOKUP_SCOPE_USER */
+                /* RUNTIME_SCOPE_USER */
                 const char *e;
 
                 e = getenv("XDG_RUNTIME_DIR");
@@ -288,21 +288,21 @@ static int acquire_generator_dirs(
 }
 
 static int acquire_transient_dir(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *tempdir,
                 char **ret) {
 
         char *transient;
 
         assert(ret);
-        assert(IN_SET(scope, LOOKUP_SCOPE_SYSTEM, LOOKUP_SCOPE_USER, LOOKUP_SCOPE_GLOBAL));
+        assert(IN_SET(scope, RUNTIME_SCOPE_SYSTEM, RUNTIME_SCOPE_USER, RUNTIME_SCOPE_GLOBAL));
 
-        if (scope == LOOKUP_SCOPE_GLOBAL)
+        if (scope == RUNTIME_SCOPE_GLOBAL)
                 return -EOPNOTSUPP;
 
         if (tempdir)
                 transient = path_join(tempdir, "transient");
-        else if (scope == LOOKUP_SCOPE_SYSTEM)
+        else if (scope == RUNTIME_SCOPE_SYSTEM)
                 transient = strdup("/run/systemd/transient");
         else
                 return xdg_user_runtime_dir(ret, "/systemd/transient");
@@ -313,7 +313,7 @@ static int acquire_transient_dir(
         return 0;
 }
 
-static int acquire_config_dirs(LookupScope scope, char **persistent, char **runtime) {
+static int acquire_config_dirs(RuntimeScope scope, char **persistent, char **runtime) {
         _cleanup_free_ char *a = NULL, *b = NULL;
         int r;
 
@@ -322,17 +322,17 @@ static int acquire_config_dirs(LookupScope scope, char **persistent, char **runt
 
         switch (scope) {
 
-        case LOOKUP_SCOPE_SYSTEM:
+        case RUNTIME_SCOPE_SYSTEM:
                 a = strdup(SYSTEM_CONFIG_UNIT_DIR);
                 b = strdup("/run/systemd/system");
                 break;
 
-        case LOOKUP_SCOPE_GLOBAL:
+        case RUNTIME_SCOPE_GLOBAL:
                 a = strdup(USER_CONFIG_UNIT_DIR);
                 b = strdup("/run/systemd/user");
                 break;
 
-        case LOOKUP_SCOPE_USER:
+        case RUNTIME_SCOPE_USER:
                 r = xdg_user_config_dir(&a, "/systemd/user");
                 if (r < 0 && r != -ENXIO)
                         return r;
@@ -364,7 +364,7 @@ static int acquire_config_dirs(LookupScope scope, char **persistent, char **runt
         return 0;
 }
 
-static int acquire_control_dirs(LookupScope scope, char **persistent, char **runtime) {
+static int acquire_control_dirs(RuntimeScope scope, char **persistent, char **runtime) {
         _cleanup_free_ char *a = NULL;
         int r;
 
@@ -373,7 +373,7 @@ static int acquire_control_dirs(LookupScope scope, char **persistent, char **run
 
         switch (scope) {
 
-        case LOOKUP_SCOPE_SYSTEM:  {
+        case RUNTIME_SCOPE_SYSTEM:  {
                 _cleanup_free_ char *b = NULL;
 
                 a = strdup("/etc/systemd/system.control");
@@ -389,7 +389,7 @@ static int acquire_control_dirs(LookupScope scope, char **persistent, char **run
                 break;
         }
 
-        case LOOKUP_SCOPE_USER:
+        case RUNTIME_SCOPE_USER:
                 r = xdg_user_config_dir(&a, "/systemd/user.control");
                 if (r < 0 && r != -ENXIO)
                         return r;
@@ -406,7 +406,7 @@ static int acquire_control_dirs(LookupScope scope, char **persistent, char **run
 
                 break;
 
-        case LOOKUP_SCOPE_GLOBAL:
+        case RUNTIME_SCOPE_GLOBAL:
                 return -EOPNOTSUPP;
 
         default:
@@ -419,7 +419,7 @@ static int acquire_control_dirs(LookupScope scope, char **persistent, char **run
 }
 
 static int acquire_attached_dirs(
-                LookupScope scope,
+                RuntimeScope scope,
                 char **ret_persistent,
                 char **ret_runtime) {
 
@@ -429,7 +429,7 @@ static int acquire_attached_dirs(
         assert(ret_runtime);
 
         /* Portable services are not available to regular users for now. */
-        if (scope != LOOKUP_SCOPE_SYSTEM)
+        if (scope != RUNTIME_SCOPE_SYSTEM)
                 return -EOPNOTSUPP;
 
         a = strdup("/etc/systemd/system.attached");
@@ -509,7 +509,7 @@ static int get_paths_from_environ(const char *var, char ***paths, bool *append)
 
 int lookup_paths_init(
                 LookupPaths *lp,
-                LookupScope scope,
+                RuntimeScope scope,
                 LookupPathsFlags flags,
                 const char *root_dir) {
 
@@ -528,14 +528,14 @@ int lookup_paths_init(
 
         assert(lp);
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
 #if HAVE_SPLIT_USR
         flags |= LOOKUP_PATHS_SPLIT_USR;
 #endif
 
         if (!empty_or_root(root_dir)) {
-                if (scope == LOOKUP_SCOPE_USER)
+                if (scope == RUNTIME_SCOPE_USER)
                         return -EINVAL;
 
                 r = is_dir(root_dir, true);
@@ -560,8 +560,8 @@ int lookup_paths_init(
         if (r < 0)
                 return r;
 
-        if (scope == LOOKUP_SCOPE_USER) {
-                r = acquire_config_dirs(LOOKUP_SCOPE_GLOBAL, &global_persistent_config, &global_runtime_config);
+        if (scope == RUNTIME_SCOPE_USER) {
+                r = acquire_config_dirs(RUNTIME_SCOPE_GLOBAL, &global_persistent_config, &global_runtime_config);
                 if (r < 0)
                         return r;
         }
@@ -606,7 +606,7 @@ int lookup_paths_init(
 
                 switch (scope) {
 
-                case LOOKUP_SCOPE_SYSTEM:
+                case RUNTIME_SCOPE_SYSTEM:
                         add = strv_new(
                                         /* If you modify this you also want to modify
                                          * systemdsystemunitpath= in systemd.pc.in! */
@@ -629,7 +629,7 @@ int lookup_paths_init(
                                         STRV_IFNOTNULL(generator_late));
                         break;
 
-                case LOOKUP_SCOPE_GLOBAL:
+                case RUNTIME_SCOPE_GLOBAL:
                         add = strv_new(
                                         /* If you modify this you also want to modify
                                          * systemduserunitpath= in systemd.pc.in, and
@@ -652,7 +652,7 @@ int lookup_paths_init(
                                         STRV_IFNOTNULL(generator_late));
                         break;
 
-                case LOOKUP_SCOPE_USER:
+                case RUNTIME_SCOPE_USER:
                         add = user_dirs(persistent_config, runtime_config,
                                         global_persistent_config, global_runtime_config,
                                         generator, generator_early, generator_late,
@@ -741,7 +741,7 @@ int lookup_paths_init(
         return 0;
 }
 
-int lookup_paths_init_or_warn(LookupPaths *lp, LookupScope scope, LookupPathsFlags flags, const char *root_dir) {
+int lookup_paths_init_or_warn(LookupPaths *lp, RuntimeScope scope, LookupPathsFlags flags, const char *root_dir) {
         int r;
 
         r = lookup_paths_init(lp, scope, flags, root_dir);
@@ -790,7 +790,7 @@ void lookup_paths_log(LookupPaths *lp) {
         }
 }
 
-char **generator_binary_paths(LookupScope scope) {
+char **generator_binary_paths(RuntimeScope scope) {
         bool append = false; /* Add items from SYSTEMD_GENERATOR_PATH before normal directories */
         _cleanup_strv_free_ char **paths = NULL;
         int r;
@@ -805,15 +805,15 @@ char **generator_binary_paths(LookupScope scope) {
 
                 switch (scope) {
 
-                case LOOKUP_SCOPE_SYSTEM:
+                case RUNTIME_SCOPE_SYSTEM:
                         add = strv_new("/run/systemd/system-generators",
                                        "/etc/systemd/system-generators",
                                        "/usr/local/lib/systemd/system-generators",
                                        SYSTEM_GENERATOR_DIR);
                         break;
 
-                case LOOKUP_SCOPE_GLOBAL:
-                case LOOKUP_SCOPE_USER:
+                case RUNTIME_SCOPE_GLOBAL:
+                case RUNTIME_SCOPE_USER:
                         add = strv_new("/run/systemd/user-generators",
                                        "/etc/systemd/user-generators",
                                        "/usr/local/lib/systemd/user-generators",
@@ -823,7 +823,6 @@ char **generator_binary_paths(LookupScope scope) {
                 default:
                         assert_not_reached();
                 }
-
                 if (!add)
                         return NULL;
 
@@ -840,10 +839,9 @@ char **generator_binary_paths(LookupScope scope) {
         return TAKE_PTR(paths);
 }
 
-char **env_generator_binary_paths(bool is_system) {
+char **env_generator_binary_paths(RuntimeScope runtime_scope) {
+        _cleanup_strv_free_ char **paths = NULL, **add = NULL;
         bool append = false; /* Add items from SYSTEMD_ENVIRONMENT_GENERATOR_PATH before normal directories */
-        _cleanup_strv_free_ char **paths = NULL;
-        _cleanup_strv_free_ char **add = NULL;
         int r;
 
         /* First priority is whatever has been passed to us via env vars */
@@ -852,17 +850,25 @@ char **env_generator_binary_paths(bool is_system) {
                 return NULL;
 
         if (!paths || append) {
-                if (is_system)
+                switch (runtime_scope) {
+
+                case RUNTIME_SCOPE_SYSTEM:
                         add = strv_new("/run/systemd/system-environment-generators",
                                         "/etc/systemd/system-environment-generators",
                                         "/usr/local/lib/systemd/system-environment-generators",
                                         SYSTEM_ENV_GENERATOR_DIR);
-                else
+                        break;
+
+                case RUNTIME_SCOPE_USER:
                         add = strv_new("/run/systemd/user-environment-generators",
                                        "/etc/systemd/user-environment-generators",
                                        "/usr/local/lib/systemd/user-environment-generators",
                                        USER_ENV_GENERATOR_DIR);
+                        break;
 
+                default:
+                        assert_not_reached();
+                }
                 if (!add)
                         return NULL;
         }
index 46eb32c4b0b6d5d551e3db1ff3b30c32de2bcc9f..6d6163fb9d70c2d203835864e61464eb640ea841 100644 (file)
@@ -5,6 +5,7 @@
 
 #include "constants.h"
 #include "macro.h"
+#include "runtime-scope.h"
 
 typedef enum LookupPathsFlags {
         LOOKUP_PATHS_EXCLUDE_GENERATED   = 1 << 0,
@@ -12,14 +13,6 @@ typedef enum LookupPathsFlags {
         LOOKUP_PATHS_SPLIT_USR           = 1 << 2,
 } LookupPathsFlags;
 
-typedef enum LookupScope {
-        LOOKUP_SCOPE_SYSTEM,
-        LOOKUP_SCOPE_GLOBAL,
-        LOOKUP_SCOPE_USER,
-        _LOOKUP_SCOPE_MAX,
-        _LOOKUP_SCOPE_INVALID = -EINVAL,
-} LookupScope;
-
 typedef struct LookupPaths {
         /* Where we look for unit files. This includes the individual special paths below, but also any vendor
          * supplied, static unit file paths. */
@@ -59,8 +52,8 @@ typedef struct LookupPaths {
         char *temporary_dir;
 } LookupPaths;
 
-int lookup_paths_init(LookupPaths *lp, LookupScope scope, LookupPathsFlags flags, const char *root_dir);
-int lookup_paths_init_or_warn(LookupPaths *lp, LookupScope scope, LookupPathsFlags flags, const char *root_dir);
+int lookup_paths_init(LookupPaths *lp, RuntimeScope scope, LookupPathsFlags flags, const char *root_dir);
+int lookup_paths_init_or_warn(LookupPaths *lp, RuntimeScope scope, LookupPathsFlags flags, const char *root_dir);
 
 int xdg_user_dirs(char ***ret_config_dirs, char ***ret_data_dirs);
 int xdg_user_runtime_dir(char **ret, const char *suffix);
@@ -73,8 +66,8 @@ bool path_is_user_config_dir(const char *path);
 void lookup_paths_log(LookupPaths *p);
 void lookup_paths_free(LookupPaths *p);
 
-char **generator_binary_paths(LookupScope scope);
-char **env_generator_binary_paths(bool is_system);
+char **generator_binary_paths(RuntimeScope scope);
+char **env_generator_binary_paths(RuntimeScope scope);
 
 #define NETWORK_DIRS ((const char* const*) CONF_PATHS_STRV("systemd/network"))
 #define NETWORK_DIRS_NULSTR CONF_PATHS_NULSTR("systemd/network")
diff --git a/src/basic/runtime-scope.c b/src/basic/runtime-scope.c
new file mode 100644 (file)
index 0000000..88afb53
--- /dev/null
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+#include "runtime-scope.h"
+#include "string-table.h"
+
+static const char* const runtime_scope_table[_RUNTIME_SCOPE_MAX] = {
+        [RUNTIME_SCOPE_SYSTEM] = "system",
+        [RUNTIME_SCOPE_USER]   = "user",
+        [RUNTIME_SCOPE_GLOBAL] = "global",
+};
+
+DEFINE_STRING_TABLE_LOOKUP(runtime_scope, RuntimeScope);
diff --git a/src/basic/runtime-scope.h b/src/basic/runtime-scope.h
new file mode 100644 (file)
index 0000000..6a7f9e6
--- /dev/null
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+#pragma once
+
+#include <errno.h>
+
+#include "macro.h"
+
+typedef enum RuntimeScope {
+        RUNTIME_SCOPE_SYSTEM,           /* for the system */
+        RUNTIME_SCOPE_USER,             /* for a user */
+        RUNTIME_SCOPE_GLOBAL,           /* for all users */
+        _RUNTIME_SCOPE_MAX,
+        _RUNTIME_SCOPE_INVALID = -EINVAL,
+} RuntimeScope;
+
+const char *runtime_scope_to_string(RuntimeScope scope) _const_;
+RuntimeScope runtime_scope_from_string(const char *s) _const_;
index 87becdbc7ead17de323b8d9c04360c245d1ce08f..e176710dfa859f8bef0f0db49120a635b2db4f7d 100644 (file)
@@ -27,6 +27,7 @@
 #include "parse-util.h"
 #include "path-util.h"
 #include "pretty-print.h"
+#include "runtime-scope.h"
 #include "set.h"
 #include "sort-util.h"
 #include "strv.h"
@@ -47,7 +48,7 @@ static bool arg_show_machine = false;
 static char **arg_matches = NULL;
 static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
 static const char *arg_host = NULL;
-static bool arg_user = false;
+static RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 static size_t arg_snaplen = 4096;
 static bool arg_list = false;
 static bool arg_quiet = false;
@@ -109,10 +110,21 @@ static int acquire_bus(bool set_monitor, sd_bus **ret) {
                 switch (arg_transport) {
 
                 case BUS_TRANSPORT_LOCAL:
-                        if (arg_user)
+
+                        switch (arg_runtime_scope) {
+
+                        case RUNTIME_SCOPE_USER:
                                 r = bus_set_address_user(bus);
-                        else
+                                break;
+
+                        case RUNTIME_SCOPE_SYSTEM:
                                 r = bus_set_address_system(bus);
+                                break;
+
+                        default:
+                                assert_not_reached();
+                        }
+
                         break;
 
                 case BUS_TRANSPORT_REMOTE:
@@ -120,7 +132,7 @@ static int acquire_bus(bool set_monitor, sd_bus **ret) {
                         break;
 
                 case BUS_TRANSPORT_MACHINE:
-                        r = bus_set_address_machine(bus, arg_user, arg_host);
+                        r = bus_set_address_machine(bus, arg_runtime_scope, arg_host);
                         break;
 
                 default:
@@ -2405,11 +2417,11 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_USER:
-                        arg_user = true;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_SYSTEM:
-                        arg_user = false;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case ARG_ADDRESS:
index a6ec6326f35bc7338a71ca1741fef2e27d2a7989..d6703634e111614c4da11756838d62360bd4b4a9 100644 (file)
@@ -215,9 +215,10 @@ static int run(int argc, char *argv[]) {
 
                                 if (!bus) {
                                         /* Connect to the bus only if necessary */
-                                        r = bus_connect_transport_systemd(BUS_TRANSPORT_LOCAL, NULL,
-                                                                          arg_show_unit == SHOW_UNIT_USER,
-                                                                          &bus);
+                                        r = bus_connect_transport_systemd(
+                                                        BUS_TRANSPORT_LOCAL, NULL,
+                                                        arg_show_unit == SHOW_UNIT_USER ? RUNTIME_SCOPE_USER : RUNTIME_SCOPE_SYSTEM,
+                                                        &bus);
                                         if (r < 0)
                                                 return bus_log_connect_error(r, BUS_TRANSPORT_LOCAL);
                                 }
index 6dd75d9e93e62f51523a9a2cd5c56ab8f0d47500..242a662bca2f1d86f281878580cf56543847cd12 100644 (file)
@@ -2113,7 +2113,7 @@ static int list_unit_files_by_patterns(sd_bus_message *message, void *userdata,
         if (!h)
                 return -ENOMEM;
 
-        r = unit_file_get_list(m->unit_file_scope, NULL, h, states, patterns);
+        r = unit_file_get_list(m->runtime_scope, NULL, h, states, patterns);
         if (r < 0)
                 goto fail;
 
@@ -2179,7 +2179,7 @@ static int method_get_unit_file_state(sd_bus_message *message, void *userdata, s
         if (r < 0)
                 return r;
 
-        r = unit_file_get_state(m->unit_file_scope, NULL, name, &state);
+        r = unit_file_get_state(m->runtime_scope, NULL, name, &state);
         if (r < 0)
                 return r;
 
@@ -2199,7 +2199,7 @@ static int method_get_default_target(sd_bus_message *message, void *userdata, sd
         if (r < 0)
                 return r;
 
-        r = unit_file_get_default(m->unit_file_scope, NULL, &default_target);
+        r = unit_file_get_default(m->runtime_scope, NULL, &default_target);
         if (r == -ERFKILL)
                 sd_bus_error_setf(error, BUS_ERROR_UNIT_MASKED, "Unit file is masked.");
         if (r < 0)
@@ -2392,7 +2392,7 @@ static int reply_install_changes_and_free(
 static int method_enable_unit_files_generic(
                 sd_bus_message *message,
                 Manager *m,
-                int (*call)(LookupScope scope, UnitFileFlags flags, const char *root_dir, char *files[], InstallChange **changes, size_t *n_changes),
+                int (*call)(RuntimeScope scope, UnitFileFlags flags, const char *root_dir, char *files[], InstallChange **changes, size_t *n_changes),
                 bool carries_install_info,
                 sd_bus_error *error) {
 
@@ -2433,7 +2433,7 @@ static int method_enable_unit_files_generic(
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        r = call(m->unit_file_scope, flags, NULL, l, &changes, &n_changes);
+        r = call(m->runtime_scope, flags, NULL, l, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2456,7 +2456,7 @@ static int method_link_unit_files(sd_bus_message *message, void *userdata, sd_bu
         return method_enable_unit_files_generic(message, userdata, unit_file_link, /* carries_install_info = */ false, error);
 }
 
-static int unit_file_preset_without_mode(LookupScope scope, UnitFileFlags flags, const char *root_dir, char **files, InstallChange **changes, size_t *n_changes) {
+static int unit_file_preset_without_mode(RuntimeScope scope, UnitFileFlags flags, const char *root_dir, char **files, InstallChange **changes, size_t *n_changes) {
         return unit_file_preset(scope, flags, root_dir, files, UNIT_FILE_PRESET_FULL, changes, n_changes);
 }
 
@@ -2505,7 +2505,7 @@ static int method_preset_unit_files_with_mode(sd_bus_message *message, void *use
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        r = unit_file_preset(m->unit_file_scope, flags, NULL, l, preset_mode, &changes, &n_changes);
+        r = unit_file_preset(m->runtime_scope, flags, NULL, l, preset_mode, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2515,7 +2515,7 @@ static int method_preset_unit_files_with_mode(sd_bus_message *message, void *use
 static int method_disable_unit_files_generic(
                 sd_bus_message *message,
                 Manager *m,
-                int (*call)(LookupScope scope, UnitFileFlags flags, const char *root_dir, char *files[], InstallChange **changes, size_t *n_changes),
+                int (*call)(RuntimeScope scope, UnitFileFlags flags, const char *root_dir, char *files[], InstallChange **changes, size_t *n_changes),
                 bool carries_install_info,
                 sd_bus_error *error) {
 
@@ -2558,7 +2558,7 @@ static int method_disable_unit_files_generic(
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        r = call(m->unit_file_scope, flags, NULL, l, &changes, &n_changes);
+        r = call(m->runtime_scope, flags, NULL, l, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2600,7 +2600,7 @@ static int method_revert_unit_files(sd_bus_message *message, void *userdata, sd_
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        r = unit_file_revert(m->unit_file_scope, NULL, l, &changes, &n_changes);
+        r = unit_file_revert(m->runtime_scope, NULL, l, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2630,7 +2630,7 @@ static int method_set_default_target(sd_bus_message *message, void *userdata, sd
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        r = unit_file_set_default(m->unit_file_scope, force ? UNIT_FILE_FORCE : 0, NULL, name, &changes, &n_changes);
+        r = unit_file_set_default(m->runtime_scope, force ? UNIT_FILE_FORCE : 0, NULL, name, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2672,7 +2672,7 @@ static int method_preset_all_unit_files(sd_bus_message *message, void *userdata,
         if (r == 0)
                 return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
 
-        r = unit_file_preset_all(m->unit_file_scope, flags, NULL, preset_mode, &changes, &n_changes);
+        r = unit_file_preset_all(m->runtime_scope, flags, NULL, preset_mode, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2711,7 +2711,7 @@ static int method_add_dependency_unit_files(sd_bus_message *message, void *userd
         if (dep < 0)
                 return -EINVAL;
 
-        r = unit_file_add_dependency(m->unit_file_scope, flags, NULL, l, target, dep, &changes, &n_changes);
+        r = unit_file_add_dependency(m->runtime_scope, flags, NULL, l, target, dep, &changes, &n_changes);
         if (r < 0)
                 return install_error(error, r, changes, n_changes);
 
@@ -2738,7 +2738,7 @@ static int method_get_unit_file_links(sd_bus_message *message, void *userdata, s
         if (r < 0)
                 return r;
 
-        r = unit_file_disable(m->unit_file_scope,
+        r = unit_file_disable(m->runtime_scope,
                               UNIT_FILE_DRY_RUN | (runtime ? UNIT_FILE_RUNTIME : 0),
                               NULL, STRV_MAKE(name), &changes, &n_changes);
         if (r < 0) {
index 8f851cbceb2ffad6287f5af68a4e008b0c5ddc1f..a9e63b0678821f6c461a73c1376b5320d9106f6f 100644 (file)
@@ -1993,7 +1993,6 @@ static int bus_set_transient_emergency_action(
         const char *s;
         EmergencyAction v;
         int r;
-        bool system;
 
         assert(p);
 
@@ -2001,8 +2000,7 @@ static int bus_set_transient_emergency_action(
         if (r < 0)
                 return r;
 
-        system = MANAGER_IS_SYSTEM(u->manager);
-        r = parse_emergency_action(s, system, &v);
+        r = parse_emergency_action(s, u->manager->runtime_scope, &v);
         if (r < 0)
                 return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
                                          r == -EOPNOTSUPP ? "%s setting invalid for manager type: %s"
index 0234772b95326f0e9e35e94ff6dc3b3088830ca2..5b9ec75922787bec1cd23f407ec8b282b7d0ab8e 100644 (file)
@@ -154,7 +154,7 @@ DEFINE_STRING_TABLE_LOOKUP(emergency_action, EmergencyAction);
 
 int parse_emergency_action(
                 const char *value,
-                bool system,
+                RuntimeScope runtime_scope,
                 EmergencyAction *ret) {
 
         EmergencyAction x;
@@ -163,7 +163,7 @@ int parse_emergency_action(
         if (x < 0)
                 return -EINVAL;
 
-        if (!system && x != EMERGENCY_ACTION_NONE && x < _EMERGENCY_ACTION_FIRST_USER_ACTION)
+        if (runtime_scope != RUNTIME_SCOPE_SYSTEM && x != EMERGENCY_ACTION_NONE && x < _EMERGENCY_ACTION_FIRST_USER_ACTION)
                 return -EOPNOTSUPP;
 
         *ret = x;
index 4d7e755ae1d25ecfcff5eacec9f10e6a675aedcb..89a1dead23785a601229cd567e7d2281e9924117 100644 (file)
@@ -3,6 +3,8 @@
 
 #include <errno.h>
 
+#include "runtime-scope.h"
+
 typedef enum EmergencyAction {
         EMERGENCY_ACTION_NONE,
         EMERGENCY_ACTION_REBOOT,
@@ -33,4 +35,4 @@ void emergency_action(Manager *m,
 const char* emergency_action_to_string(EmergencyAction i) _const_;
 EmergencyAction emergency_action_from_string(const char *s) _pure_;
 
-int parse_emergency_action(const char *value, bool system, EmergencyAction *ret);
+int parse_emergency_action(const char *value, RuntimeScope runtime_scope, EmergencyAction *ret);
index 085b03aeb8e46e36ecd863095c70789590f6345c..9db5b2cd17e612925fd781e0f8a24b8cecd4cb41 100644 (file)
@@ -4448,7 +4448,7 @@ static int exec_child(
          * invocations themselves. Also note that while we'll only invoke NSS modules involved in user management they
          * might internally call into other NSS modules that are involved in hostname resolution, we never know. */
         if (setenv("SYSTEMD_ACTIVATION_UNIT", unit->id, true) != 0 ||
-            setenv("SYSTEMD_ACTIVATION_SCOPE", MANAGER_IS_SYSTEM(unit->manager) ? "system" : "user", true) != 0) {
+            setenv("SYSTEMD_ACTIVATION_SCOPE", runtime_scope_to_string(unit->manager->runtime_scope), true) != 0) {
                 *exit_status = EXIT_MEMORY;
                 return log_unit_error_errno(unit, errno, "Failed to update environment: %m");
         }
index 7b393386ffc1bb105cc6472ffa830255166272ed..8e0ace25402b1f6a89f2e55d27a29396dd458d89 100644 (file)
@@ -66,7 +66,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         if (!getenv("SYSTEMD_LOG_LEVEL"))
                 log_set_max_level(LOG_CRIT);
 
-        assert_se(manager_new(LOOKUP_SCOPE_SYSTEM, MANAGER_TEST_RUN_MINIMAL, &m) >= 0);
+        assert_se(manager_new(RUNTIME_SCOPE_SYSTEM, MANAGER_TEST_RUN_MINIMAL, &m) >= 0);
 
         name = strjoina("a.", unit_type_to_string(t));
         assert_se(unit_new_for_name(m, unit_vtable[t]->object_size, name, &u) >= 0);
index c917f0976f3ed9f13b120c7031b584627b71e9cb..776d0f1a3212aabc2251678ee713a2b07b422bf9 100644 (file)
@@ -2744,12 +2744,12 @@ int config_parse_environ(
                 return 0;
         }
 
-        bool is_system = ltype;
-
-        const Specifier table[] = {
+        /* If 'u' is set, we operate on the regular unit specifier table. Otherwise we use a manager-specific
+         * specifier table (in which case ltype must contain the runtime scope). */
+        const Specifier *table = u ? NULL : (const Specifier[]) {
                 COMMON_SYSTEM_SPECIFIERS,
                 COMMON_TMP_SPECIFIERS,
-                COMMON_CREDS_SPECIFIERS(is_system ? LOOKUP_SCOPE_SYSTEM : LOOKUP_SCOPE_USER),
+                COMMON_CREDS_SPECIFIERS(ltype),
                 { 'h', specifier_user_home,  NULL },
                 { 's', specifier_user_shell, NULL },
         };
@@ -2768,10 +2768,10 @@ int config_parse_environ(
                 if (r == 0)
                         return 0;
 
-                if (u)
-                        r = unit_env_printf(u, word, &resolved);
-                else
+                if (table)
                         r = specifier_printf(word, sc_arg_max(), table, NULL, NULL, &resolved);
+                else
+                        r = unit_env_printf(u, word, &resolved);
                 if (r < 0) {
                         log_syntax(unit, LOG_WARNING, filename, line, r,
                                    "Failed to resolve specifiers in %s, ignoring: %m", word);
@@ -5625,7 +5625,7 @@ int config_parse_emergency_action(
                 void *userdata) {
 
         EmergencyAction *x = ASSERT_PTR(data);
-        bool is_system;
+        RuntimeScope runtime_scope;
         int r;
 
         assert(filename);
@@ -5634,16 +5634,16 @@ int config_parse_emergency_action(
 
         /* If we have a unit determine the scope based on it */
         if (unit)
-                is_system = MANAGER_IS_SYSTEM(((Unit*) ASSERT_PTR(userdata))->manager);
+                runtime_scope = ((Unit*) ASSERT_PTR(userdata))->manager->runtime_scope;
         else
-                is_system = ltype; /* otherwise, assume the scope is passed in via ltype */
+                runtime_scope = ltype; /* otherwise, assume the scope is passed in via ltype */
 
-        r = parse_emergency_action(rvalue, is_system, x);
+        r = parse_emergency_action(rvalue, runtime_scope, x);
         if (r < 0) {
                 if (r == -EOPNOTSUPP)
                         log_syntax(unit, LOG_WARNING, filename, line, r,
                                    "%s= specified as %s mode action, ignoring: %s",
-                                   lvalue, is_system ? "user" : "system", rvalue);
+                                   lvalue, runtime_scope_to_string(runtime_scope), rvalue);
                 else
                         log_syntax(unit, LOG_WARNING, filename, line, r,
                                    "Failed to parse %s=, ignoring: %s", lvalue, rvalue);
index 7ebb447c03ad94f625e724426a1cbda208ecc099..29302a6de9a6c256798acfd91fc90cf528a2515b 100644 (file)
@@ -119,7 +119,7 @@ static const char *arg_bus_introspect = NULL;
 /* Those variables are initialized to 0 automatically, so we avoid uninitialized memory access.  Real
  * defaults are assigned in reset_arguments() below. */
 static char *arg_default_unit;
-static bool arg_system;
+static RuntimeScope arg_runtime_scope;
 bool arg_dump_core;
 int arg_crash_chvt;
 bool arg_crash_shell;
@@ -664,8 +664,8 @@ static int parse_config_file(void) {
                 { "Manager", "DefaultStartLimitInterval",    config_parse_sec,                   0,                        &arg_default_start_limit_interval }, /* obsolete alias */
                 { "Manager", "DefaultStartLimitIntervalSec", config_parse_sec,                   0,                        &arg_default_start_limit_interval },
                 { "Manager", "DefaultStartLimitBurst",       config_parse_unsigned,              0,                        &arg_default_start_limit_burst    },
-                { "Manager", "DefaultEnvironment",           config_parse_environ,               arg_system,               &arg_default_environment          },
-                { "Manager", "ManagerEnvironment",           config_parse_environ,               arg_system,               &arg_manager_environment          },
+                { "Manager", "DefaultEnvironment",           config_parse_environ,               arg_runtime_scope,        &arg_default_environment          },
+                { "Manager", "ManagerEnvironment",           config_parse_environ,               arg_runtime_scope,        &arg_manager_environment          },
                 { "Manager", "DefaultLimitCPU",              config_parse_rlimit,                RLIMIT_CPU,               arg_default_rlimit                },
                 { "Manager", "DefaultLimitFSIZE",            config_parse_rlimit,                RLIMIT_FSIZE,             arg_default_rlimit                },
                 { "Manager", "DefaultLimitDATA",             config_parse_rlimit,                RLIMIT_DATA,              arg_default_rlimit                },
@@ -691,7 +691,7 @@ static int parse_config_file(void) {
                 { "Manager", "DefaultTasksMax",              config_parse_tasks_max,             0,                        &arg_default_tasks_max            },
                 { "Manager", "DefaultMemoryPressureThresholdSec", config_parse_sec,              0,                        &arg_default_memory_pressure_threshold_usec },
                 { "Manager", "DefaultMemoryPressureWatch",   config_parse_memory_pressure_watch, 0,                        &arg_default_memory_pressure_watch },
-                { "Manager", "CtrlAltDelBurstAction",        config_parse_emergency_action,      arg_system,               &arg_cad_burst_action             },
+                { "Manager", "CtrlAltDelBurstAction",        config_parse_emergency_action,      arg_runtime_scope,        &arg_cad_burst_action             },
                 { "Manager", "DefaultOOMPolicy",             config_parse_oom_policy,            0,                        &arg_default_oom_policy           },
                 { "Manager", "DefaultOOMScoreAdjust",        config_parse_oom_score_adjust,      0,                        NULL                              },
                 { "Manager", "ReloadLimitIntervalSec",       config_parse_sec,                   0,                        &arg_reload_limit_interval_sec    },
@@ -708,9 +708,11 @@ static int parse_config_file(void) {
         const char *suffix;
         int r;
 
-        if (arg_system)
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM)
                 suffix = "system.conf.d";
         else {
+                assert(arg_runtime_scope == RUNTIME_SCOPE_USER);
+
                 r = manager_find_user_config_paths(&files, &dirs);
                 if (r < 0)
                         return log_error_errno(r, "Failed to determine config file paths: %m");
@@ -962,11 +964,11 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_SYSTEM:
-                        arg_system = true;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case ARG_USER:
-                        arg_system = false;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         user_arg_seen = true;
                         break;
 
@@ -1107,7 +1109,7 @@ static int parse_argv(int argc, char *argv[]) {
                 /* Hmm, when we aren't run as init system let's complain about excess arguments */
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Excess arguments.");
 
-        if (arg_action == ACTION_RUN && !arg_system && !user_arg_seen)
+        if (arg_action == ACTION_RUN && arg_runtime_scope == RUNTIME_SCOPE_USER && !user_arg_seen)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Explicit --user argument required to run as user manager.");
 
@@ -1865,7 +1867,7 @@ static int do_reexecute(
 
                 if (switch_root_dir)
                         args[i++] = "--switched-root";
-                args[i++] = arg_system ? "--system" : "--user";
+                args[i++] = arg_runtime_scope == RUNTIME_SCOPE_SYSTEM ? "--system" : "--user";
                 args[i++] = "--deserialize";
                 args[i++] = sfd;
                 args[i++] = NULL;
@@ -2082,10 +2084,13 @@ static int invoke_main_loop(
 
 static void log_execution_mode(bool *ret_first_boot) {
         bool first_boot = false;
+        int r;
 
         assert(ret_first_boot);
 
-        if (arg_system) {
+        switch (arg_runtime_scope) {
+
+        case RUNTIME_SCOPE_SYSTEM: {
                 struct utsname uts;
                 int v;
 
@@ -2102,7 +2107,6 @@ static void log_execution_mode(bool *ret_first_boot) {
                 if (in_initrd())
                         log_info("Running in initrd.");
                 else {
-                        int r;
                         _cleanup_free_ char *id_text = NULL;
 
                         /* Let's check whether we are in first boot. First, check if an override was
@@ -2143,7 +2147,11 @@ static void log_execution_mode(bool *ret_first_boot) {
                                     "Your mileage may vary.", uts.release, KERNEL_BASELINE_VERSION);
                 else
                         log_debug("Kernel version %s, our baseline is %s", uts.release, KERNEL_BASELINE_VERSION);
-        } else {
+
+                break;
+        }
+
+        case RUNTIME_SCOPE_USER:
                 if (DEBUG_LOGGING) {
                         _cleanup_free_ char *t = NULL;
 
@@ -2152,6 +2160,11 @@ static void log_execution_mode(bool *ret_first_boot) {
                                   arg_action == ACTION_TEST ? " test" : "",
                                   getuid(), strna(t), systemd_features);
                 }
+
+                break;
+
+        default:
+                assert_not_reached();
         }
 
         *ret_first_boot = first_boot;
@@ -2180,7 +2193,9 @@ static int initialize_runtime(
         update_cpu_affinity(skip_setup);
         update_numa_policy(skip_setup);
 
-        if (arg_system) {
+        switch (arg_runtime_scope) {
+
+        case RUNTIME_SCOPE_SYSTEM:
                 /* Make sure we leave a core dump without panicking the kernel. */
                 install_crash_handler();
 
@@ -2205,7 +2220,10 @@ static int initialize_runtime(
                 r = watchdog_set_device(arg_watchdog_device);
                 if (r < 0)
                         log_warning_errno(r, "Failed to set watchdog device to %s, ignoring: %m", arg_watchdog_device);
-        } else {
+
+                break;
+
+        case RUNTIME_SCOPE_USER: {
                 _cleanup_free_ char *p = NULL;
 
                 /* Create the runtime directory and place the inaccessible device nodes there, if we run in
@@ -2219,30 +2237,38 @@ static int initialize_runtime(
 
                 (void) mkdir_p_label(p, 0755);
                 (void) make_inaccessible_nodes(p, UID_INVALID, GID_INVALID);
+                break;
+        }
+
+        default:
+                assert_not_reached();
         }
 
         if (arg_timer_slack_nsec != NSEC_INFINITY)
                 if (prctl(PR_SET_TIMERSLACK, arg_timer_slack_nsec) < 0)
                         log_warning_errno(errno, "Failed to adjust timer slack, ignoring: %m");
 
-        if (arg_system && !cap_test_all(arg_capability_bounding_set)) {
-                r = capability_bounding_set_drop_usermode(arg_capability_bounding_set);
-                if (r < 0) {
-                        *ret_error_message = "Failed to drop capability bounding set of usermode helpers";
-                        return log_emergency_errno(r, "Failed to drop capability bounding set of usermode helpers: %m");
-                }
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM) {
 
-                r = capability_bounding_set_drop(arg_capability_bounding_set, true);
-                if (r < 0) {
-                        *ret_error_message = "Failed to drop capability bounding set";
-                        return log_emergency_errno(r, "Failed to drop capability bounding set: %m");
+                if (!cap_test_all(arg_capability_bounding_set)) {
+                        r = capability_bounding_set_drop_usermode(arg_capability_bounding_set);
+                        if (r < 0) {
+                                *ret_error_message = "Failed to drop capability bounding set of usermode helpers";
+                                return log_emergency_errno(r, "Failed to drop capability bounding set of usermode helpers: %m");
+                        }
+
+                        r = capability_bounding_set_drop(arg_capability_bounding_set, true);
+                        if (r < 0) {
+                                *ret_error_message = "Failed to drop capability bounding set";
+                                return log_emergency_errno(r, "Failed to drop capability bounding set: %m");
+                        }
                 }
-        }
 
-        if (arg_system && arg_no_new_privs) {
-                if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) < 0) {
-                        *ret_error_message = "Failed to disable new privileges";
-                        return log_emergency_errno(errno, "Failed to disable new privileges: %m");
+                if (arg_no_new_privs) {
+                        if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) < 0) {
+                                *ret_error_message = "Failed to disable new privileges";
+                                return log_emergency_errno(errno, "Failed to disable new privileges: %m");
+                        }
                 }
         }
 
@@ -2254,7 +2280,7 @@ static int initialize_runtime(
                 }
         }
 
-        if (!arg_system)
+        if (arg_runtime_scope == RUNTIME_SCOPE_USER)
                 /* Become reaper of our children */
                 if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0)
                         log_warning_errno(errno, "Failed to make us a subreaper, ignoring: %m");
@@ -2264,7 +2290,7 @@ static int initialize_runtime(
         (void) bump_rlimit_memlock(saved_rlimit_memlock);
 
         /* Pull credentials from various sources into a common credential directory */
-        if (arg_system && !skip_setup)
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM && !skip_setup)
                 (void) import_credentials();
 
         return 0;
@@ -2376,7 +2402,7 @@ static void fallback_rlimit_nofile(const struct rlimit *saved_rlimit_nofile) {
          * (and thus use poll()/epoll instead of select(), the way everybody should) can
          * explicitly opt into high fds by bumping their soft limit beyond 1024, to the hard limit
          * we pass. */
-        if (arg_system) {
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM) {
                 int nr;
 
                 /* Get the underlying absolute limit the kernel enforces */
@@ -2407,7 +2433,7 @@ static void fallback_rlimit_memlock(const struct rlimit *saved_rlimit_memlock) {
                 return;
         }
 
-        if (arg_system)  {
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM)  {
                 /* Raise the default limit to 8M also on old kernels and in containers (8M is the kernel
                  * default for this since kernel 5.16) */
                 rl->rlim_max = MAX(rl->rlim_max, (rlim_t) DEFAULT_RLIMIT_MEMLOCK);
@@ -2434,7 +2460,7 @@ static void reset_arguments(void) {
 
         arg_default_unit = mfree(arg_default_unit);
 
-        /* arg_system â€” ignore */
+        /* arg_runtime_scope â€” ignore */
 
         arg_dump_core = true;
         arg_crash_chvt = -1;
@@ -2449,11 +2475,11 @@ static void reset_arguments(void) {
         arg_default_std_output = EXEC_OUTPUT_JOURNAL;
         arg_default_std_error = EXEC_OUTPUT_INHERIT;
         arg_default_restart_usec = DEFAULT_RESTART_USEC;
-        arg_default_timeout_start_usec = manager_default_timeout(arg_system);
-        arg_default_timeout_stop_usec = manager_default_timeout(arg_system);
-        arg_default_timeout_abort_usec = manager_default_timeout(arg_system);
+        arg_default_timeout_start_usec = manager_default_timeout(arg_runtime_scope);
+        arg_default_timeout_stop_usec = manager_default_timeout(arg_runtime_scope);
+        arg_default_timeout_abort_usec = manager_default_timeout(arg_runtime_scope);
         arg_default_timeout_abort_set = false;
-        arg_default_device_timeout_usec = manager_default_timeout(arg_system);
+        arg_default_device_timeout_usec = manager_default_timeout(arg_runtime_scope);
         arg_default_start_limit_interval = DEFAULT_START_LIMIT_INTERVAL;
         arg_default_start_limit_burst = DEFAULT_START_LIMIT_BURST;
         arg_runtime_watchdog = 0;
@@ -2545,7 +2571,7 @@ static int parse_configuration(const struct rlimit *saved_rlimit_nofile,
         if (r < 0)
                 log_warning_errno(r, "Failed to parse config file, ignoring: %m");
 
-        if (arg_system) {
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM) {
                 r = proc_cmdline_parse(parse_proc_cmdline_item, NULL, 0);
                 if (r < 0)
                         log_warning_errno(r, "Failed to parse kernel command line, ignoring: %m");
@@ -2582,12 +2608,12 @@ static int safety_checks(void) {
                                        "Unsupported execution mode while PID 1.");
 
         if (getpid_cached() == 1 &&
-            !arg_system)
+            arg_runtime_scope == RUNTIME_SCOPE_USER)
                 return log_error_errno(SYNTHETIC_ERRNO(EPERM),
                                        "Can't run --user mode as PID 1.");
 
         if (arg_action == ACTION_RUN &&
-            arg_system &&
+            arg_runtime_scope == RUNTIME_SCOPE_SYSTEM &&
             getpid_cached() != 1)
                 return log_error_errno(SYNTHETIC_ERRNO(EPERM),
                                        "Can't run system mode unless PID 1.");
@@ -2597,23 +2623,32 @@ static int safety_checks(void) {
                 return log_error_errno(SYNTHETIC_ERRNO(EPERM),
                                        "Don't run test mode as root.");
 
-        if (!arg_system &&
-            arg_action == ACTION_RUN &&
-            sd_booted() <= 0)
-                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
-                                       "Trying to run as user instance, but the system has not been booted with systemd.");
+        switch (arg_runtime_scope) {
+
+        case RUNTIME_SCOPE_USER:
+
+                if (arg_action == ACTION_RUN &&
+                    sd_booted() <= 0)
+                        return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
+                                               "Trying to run as user instance, but the system has not been booted with systemd.");
+
+                if (arg_action == ACTION_RUN &&
+                    !getenv("XDG_RUNTIME_DIR"))
+                        return log_error_errno(SYNTHETIC_ERRNO(EUNATCH),
+                                               "Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.");
+
+                break;
 
-        if (!arg_system &&
-            arg_action == ACTION_RUN &&
-            !getenv("XDG_RUNTIME_DIR"))
-                return log_error_errno(SYNTHETIC_ERRNO(EUNATCH),
-                                       "Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.");
+        case RUNTIME_SCOPE_SYSTEM:
+                if (arg_action == ACTION_RUN &&
+                    running_in_chroot() > 0)
+                        return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
+                                               "Cannot be run in a chroot() environment.");
+                break;
 
-        if (arg_system &&
-            arg_action == ACTION_RUN &&
-            running_in_chroot() > 0)
-                return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
-                                       "Cannot be run in a chroot() environment.");
+        default:
+                assert_not_reached();
+        }
 
         return 0;
 }
@@ -2683,7 +2718,7 @@ static int collect_fds(FDSet **ret_fds, const char **ret_error_message) {
 
 static void setup_console_terminal(bool skip_setup) {
 
-        if (!arg_system)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 return;
 
         /* Become a session leader if we aren't one yet. */
@@ -2781,7 +2816,7 @@ int main(int argc, char *argv[]) {
 
         if (getpid_cached() == 1) {
                 /* When we run as PID 1 force system mode */
-                arg_system = true;
+                arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 
                 /* Disable the umask logic */
                 umask(0);
@@ -2888,7 +2923,7 @@ int main(int argc, char *argv[]) {
                         (void) cache_efi_options_variable();
         } else {
                 /* Running as user instance */
-                arg_system = false;
+                arg_runtime_scope = RUNTIME_SCOPE_USER;
                 log_set_always_reopen_console(true);
                 log_set_target_and_open(LOG_TARGET_AUTO);
 
@@ -2994,7 +3029,7 @@ int main(int argc, char *argv[]) {
         if (r < 0)
                 goto finish;
 
-        r = manager_new(arg_system ? LOOKUP_SCOPE_SYSTEM : LOOKUP_SCOPE_USER,
+        r = manager_new(arg_runtime_scope,
                         arg_action == ACTION_TEST ? MANAGER_TEST_FULL : 0,
                         &m);
         if (r < 0) {
@@ -3110,12 +3145,8 @@ finish:
 
         /* Try to invoke the shutdown binary unless we already failed.
          * If we failed above, we want to freeze after finishing cleanup. */
-        if (arg_system && IN_SET(r, MANAGER_EXIT,
-                                    MANAGER_REBOOT,
-                                    MANAGER_POWEROFF,
-                                    MANAGER_HALT,
-                                    MANAGER_KEXEC)) {
-
+        if (arg_runtime_scope == RUNTIME_SCOPE_SYSTEM &&
+            IN_SET(r, MANAGER_EXIT, MANAGER_REBOOT, MANAGER_POWEROFF, MANAGER_HALT, MANAGER_KEXEC)) {
                 r = become_shutdown(r, retval);
                 log_error_errno(r, "Failed to execute shutdown binary, %s: %m", getpid_cached() == 1 ? "freezing" : "quitting");
                 error_message = "Failed to execute shutdown binary";
index 634aa386eabb98e417a68aee3392ae47851f1799..6a130d65fa2b1ef35ddefa48290f60167577c907 100644 (file)
@@ -855,19 +855,19 @@ void manager_set_switching_root(Manager *m, bool switching_root) {
         m->switching_root = MANAGER_IS_SYSTEM(m) && switching_root;
 }
 
-int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager **_m) {
+int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags, Manager **_m) {
         _cleanup_(manager_freep) Manager *m = NULL;
         int r;
 
         assert(_m);
-        assert(IN_SET(scope, LOOKUP_SCOPE_SYSTEM, LOOKUP_SCOPE_USER));
+        assert(IN_SET(runtime_scope, RUNTIME_SCOPE_SYSTEM, RUNTIME_SCOPE_USER));
 
         m = new(Manager, 1);
         if (!m)
                 return -ENOMEM;
 
         *m = (Manager) {
-                .unit_file_scope = scope,
+                .runtime_scope = runtime_scope,
                 .objective = _MANAGER_OBJECTIVE_INVALID,
 
                 .status_unit_format = STATUS_UNIT_FORMAT_DEFAULT,
@@ -876,10 +876,10 @@ int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager *
                 .default_memory_accounting = MEMORY_ACCOUNTING_DEFAULT,
                 .default_tasks_accounting = true,
                 .default_tasks_max = TASKS_MAX_UNSET,
-                .default_timeout_start_usec = manager_default_timeout(scope == LOOKUP_SCOPE_SYSTEM),
-                .default_timeout_stop_usec = manager_default_timeout(scope == LOOKUP_SCOPE_SYSTEM),
+                .default_timeout_start_usec = manager_default_timeout(runtime_scope),
+                .default_timeout_stop_usec = manager_default_timeout(runtime_scope),
                 .default_restart_usec = DEFAULT_RESTART_USEC,
-                .default_device_timeout_usec = manager_default_timeout(scope == LOOKUP_SCOPE_SYSTEM),
+                .default_device_timeout_usec = manager_default_timeout(runtime_scope),
 
                 .original_log_level = -1,
                 .original_log_target = _LOG_TARGET_INVALID,
@@ -1790,7 +1790,7 @@ static void manager_preset_all(Manager *m) {
         /* If this is the first boot, and we are in the host system, then preset everything */
         UnitFilePresetMode mode = FIRST_BOOT_FULL_PRESET ? UNIT_FILE_PRESET_FULL : UNIT_FILE_PRESET_ENABLE_ONLY;
 
-        r = unit_file_preset_all(LOOKUP_SCOPE_SYSTEM, 0, NULL, mode, NULL, 0);
+        r = unit_file_preset_all(RUNTIME_SCOPE_SYSTEM, 0, NULL, mode, NULL, 0);
         if (r < 0)
                 log_full_errno(r == -EEXIST ? LOG_NOTICE : LOG_WARNING, r,
                                "Failed to populate /etc with preset unit settings, ignoring: %m");
@@ -1839,7 +1839,7 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds, const char *roo
 
         /* If we are running in test mode, we still want to run the generators,
          * but we should not touch the real generator directories. */
-        r = lookup_paths_init_or_warn(&m->lookup_paths, m->unit_file_scope,
+        r = lookup_paths_init_or_warn(&m->lookup_paths, m->runtime_scope,
                                       MANAGER_IS_TEST_RUN(m) ? LOOKUP_PATHS_TEMPORARY_GENERATED : 0,
                                       root);
         if (r < 0)
@@ -3464,7 +3464,7 @@ int manager_reload(Manager *m) {
         m->uid_refs = hashmap_free(m->uid_refs);
         m->gid_refs = hashmap_free(m->gid_refs);
 
-        r = lookup_paths_init_or_warn(&m->lookup_paths, m->unit_file_scope, 0, NULL);
+        r = lookup_paths_init_or_warn(&m->lookup_paths, m->runtime_scope, 0, NULL);
         if (r < 0)
                 return r;
 
@@ -3807,7 +3807,7 @@ static int build_generator_environment(Manager *m, char ***ret) {
         if (!nl)
                 return -ENOMEM;
 
-        r = strv_env_assign(&nl, "SYSTEMD_SCOPE", MANAGER_IS_SYSTEM(m) ? "system" : "user");
+        r = strv_env_assign(&nl, "SYSTEMD_SCOPE", runtime_scope_to_string(m->runtime_scope));
         if (r < 0)
                 return r;
 
@@ -3896,7 +3896,7 @@ static int manager_run_generators(Manager *m) {
         if (MANAGER_IS_TEST_RUN(m) && !(m->test_run_flags & MANAGER_TEST_RUN_GENERATORS))
                 return 0;
 
-        paths = generator_binary_paths(m->unit_file_scope);
+        paths = generator_binary_paths(m->runtime_scope);
         if (!paths)
                 return log_oom();
 
index 085fffef5091fc09be2a50264a07938c427b9f3a..25fcd275d4e647240bfd20ce754970d27840e9c3 100644 (file)
@@ -235,7 +235,8 @@ struct Manager {
         int user_lookup_fds[2];
         sd_event_source *user_lookup_event_source;
 
-        LookupScope unit_file_scope;
+        RuntimeScope runtime_scope;
+
         LookupPaths lookup_paths;
         Hashmap *unit_id_map;
         Hashmap *unit_name_map;
@@ -476,8 +477,8 @@ static inline usec_t manager_default_timeout_abort_usec(Manager *m) {
         return m->default_timeout_abort_set ? m->default_timeout_abort_usec : m->default_timeout_stop_usec;
 }
 
-#define MANAGER_IS_SYSTEM(m) ((m)->unit_file_scope == LOOKUP_SCOPE_SYSTEM)
-#define MANAGER_IS_USER(m) ((m)->unit_file_scope != LOOKUP_SCOPE_SYSTEM)
+#define MANAGER_IS_SYSTEM(m) ((m)->runtime_scope == RUNTIME_SCOPE_SYSTEM)
+#define MANAGER_IS_USER(m) ((m)->runtime_scope == RUNTIME_SCOPE_USER)
 
 #define MANAGER_IS_RELOADING(m) ((m)->n_reloading > 0)
 
@@ -490,11 +491,11 @@ static inline usec_t manager_default_timeout_abort_usec(Manager *m) {
 
 #define MANAGER_IS_TEST_RUN(m) ((m)->test_run_flags != 0)
 
-static inline usec_t manager_default_timeout(bool is_system) {
-        return is_system ? DEFAULT_TIMEOUT_USEC : DEFAULT_USER_TIMEOUT_USEC;
+static inline usec_t manager_default_timeout(RuntimeScope scope) {
+        return scope == RUNTIME_SCOPE_SYSTEM ? DEFAULT_TIMEOUT_USEC : DEFAULT_USER_TIMEOUT_USEC;
 }
 
-int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager **m);
+int manager_new(RuntimeScope scope, ManagerTestRunFlags test_run_flags, Manager **m);
 Manager* manager_free(Manager *m);
 DEFINE_TRIVIAL_CLEANUP_FUNC(Manager*, manager_free);
 
index e454df0405306a58b597120413c295b7abe9eb74..1b267d4fdd46a3fdc50f70b3ec8133a02c0fab38 100644 (file)
@@ -183,7 +183,7 @@ int unit_name_printf(const Unit *u, const char* format, char **ret) {
 
                 COMMON_SYSTEM_SPECIFIERS,
 
-                COMMON_CREDS_SPECIFIERS(u->manager->unit_file_scope),
+                COMMON_CREDS_SPECIFIERS(u->manager->runtime_scope),
                 {}
         };
 
@@ -253,7 +253,7 @@ int unit_full_printf_full(const Unit *u, const char *format, size_t max_length,
 
                 COMMON_SYSTEM_SPECIFIERS,
 
-                COMMON_CREDS_SPECIFIERS(u->manager->unit_file_scope),
+                COMMON_CREDS_SPECIFIERS(u->manager->runtime_scope),
 
                 COMMON_TMP_SPECIFIERS,
                 {}
index f5544cbd924dce216c40e4cae1d5a810ee4c5da5..ecf3b2b7fc70571fc6b7700a61c1483d951a66be 100644 (file)
@@ -4009,7 +4009,7 @@ UnitFileState unit_get_unit_file_state(Unit *u) {
 
         if (u->unit_file_state < 0 && u->fragment_path) {
                 r = unit_file_get_state(
-                                u->manager->unit_file_scope,
+                                u->manager->runtime_scope,
                                 NULL,
                                 u->id,
                                 &u->unit_file_state);
@@ -4036,7 +4036,7 @@ int unit_get_unit_file_preset(Unit *u) {
                         return (u->unit_file_preset = -EISDIR);
 
                 u->unit_file_preset = unit_file_query_preset(
-                                u->manager->unit_file_scope,
+                                u->manager->runtime_scope,
                                 NULL,
                                 bn,
                                 NULL);
index 531b685e22dd850db53fcb07b28214e6c323c9fc..158164ae81c116ab5b625cd24d06879c162cb89b 100644 (file)
@@ -113,7 +113,7 @@ static int acquire_bus(sd_bus **bus) {
         if (*bus)
                 return 0;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index 4e300533920c3f793c155481a695cee234a1cc23..a0e949d82c7d9d4142c3172aa073749ed6a17f6a 100644 (file)
@@ -732,7 +732,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, &bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index dda6adfd48316b5c4693e948e0c25d209647155c..a9acdc7d0a014dd99cbd1034f5aa7957c275a634 100644 (file)
@@ -12,6 +12,7 @@
 #include "hashmap.h"
 #include "list.h"
 #include "prioq.h"
+#include "runtime-scope.h"
 #include "socket-util.h"
 #include "time-util.h"
 
@@ -201,8 +202,6 @@ struct sd_bus {
         bool nodes_modified:1;
         bool trusted:1;
         bool manual_peer_interface:1;
-        bool is_system:1;
-        bool is_user:1;
         bool allow_interactive_authorization:1;
         bool exit_on_disconnect:1;
         bool exited:1;
@@ -215,6 +214,8 @@ struct sd_bus {
         bool connected_signal:1;
         bool close_on_exit:1;
 
+        RuntimeScope runtime_scope;
+
         signed int use_memfd:2;
 
         void *rbuffer;
@@ -399,7 +400,7 @@ void bus_close_io_fds(sd_bus *b);
 int bus_set_address_system(sd_bus *bus);
 int bus_set_address_user(sd_bus *bus);
 int bus_set_address_system_remote(sd_bus *b, const char *host);
-int bus_set_address_machine(sd_bus *b, bool user, const char *machine);
+int bus_set_address_machine(sd_bus *b, RuntimeScope runtime_scope, const char *machine);
 
 int bus_maybe_reply_error(sd_bus_message *m, int r, sd_bus_error *error);
 
index 5590cecfd9b00ac1d9e3937db7ecace7d2b3d4d4..e3f71ca302c5958754b38a9c26b5a7416bb67253 100644 (file)
@@ -253,6 +253,7 @@ _public_ int sd_bus_new(sd_bus **ret) {
                 .n_groups = SIZE_MAX,
                 .close_on_exit = true,
                 .ucred = UCRED_INVALID,
+                .runtime_scope = _RUNTIME_SCOPE_INVALID,
         };
 
         /* We guarantee that wqueue always has space for at least one entry */
@@ -1282,8 +1283,10 @@ int bus_set_address_system(sd_bus *b) {
         e = secure_getenv("DBUS_SYSTEM_BUS_ADDRESS");
 
         r = sd_bus_set_address(b, e ?: DEFAULT_SYSTEM_BUS_ADDRESS);
-        if (r >= 0)
-                b->is_system = true;
+        if (r < 0)
+                return r;
+
+        b->runtime_scope = RUNTIME_SCOPE_SYSTEM;
         return r;
 }
 
@@ -1354,8 +1357,10 @@ int bus_set_address_user(sd_bus *b) {
         }
 
         r = sd_bus_set_address(b, a);
-        if (r >= 0)
-                b->is_user = true;
+        if (r < 0)
+                return r;
+
+        b->runtime_scope = RUNTIME_SCOPE_USER;
         return r;
 }
 
@@ -1504,7 +1509,7 @@ _public_ int sd_bus_open_system_remote(sd_bus **ret, const char *host) {
 
         b->bus_client = true;
         b->trusted = false;
-        b->is_system = true;
+        b->runtime_scope = RUNTIME_SCOPE_SYSTEM;
         b->is_local = false;
 
         r = sd_bus_start(b);
@@ -1515,7 +1520,7 @@ _public_ int sd_bus_open_system_remote(sd_bus **ret, const char *host) {
         return 0;
 }
 
-int bus_set_address_machine(sd_bus *b, bool user, const char *machine) {
+int bus_set_address_machine(sd_bus *b, RuntimeScope runtime_scope, const char *machine) {
         _cleanup_free_ char *a = NULL;
         const char *rhs;
 
@@ -1523,7 +1528,7 @@ int bus_set_address_machine(sd_bus *b, bool user, const char *machine) {
         assert(machine);
 
         rhs = strchr(machine, '@');
-        if (rhs || user) {
+        if (rhs || runtime_scope == RUNTIME_SCOPE_USER) {
                 _cleanup_free_ char *u = NULL, *eu = NULL, *erhs = NULL;
 
                 /* If there's an "@" in the container specification, we'll connect as a user specified at its
@@ -1579,7 +1584,7 @@ int bus_set_address_machine(sd_bus *b, bool user, const char *machine) {
                 if (!a)
                         return -ENOMEM;
 
-                if (user) {
+                if (runtime_scope == RUNTIME_SCOPE_USER) {
                         /* Ideally we'd use the "--user" switch to systemd-stdio-bridge here, but it's only
                          * available in recent systemd versions. Using the "-p" switch with the explicit path
                          * is a working alternative, and is compatible with older versions, hence that's what
@@ -1697,12 +1702,12 @@ _public_ int sd_bus_open_system_machine(sd_bus **ret, const char *user_and_machi
         if (r < 0)
                 return r;
 
-        r = bus_set_address_machine(b, false, user_and_machine);
+        r = bus_set_address_machine(b, RUNTIME_SCOPE_SYSTEM, user_and_machine);
         if (r < 0)
                 return r;
 
         b->bus_client = true;
-        b->is_system = true;
+        b->runtime_scope = RUNTIME_SCOPE_SYSTEM;
 
         r = sd_bus_start(b);
         if (r < 0)
@@ -1733,7 +1738,7 @@ _public_ int sd_bus_open_user_machine(sd_bus **ret, const char *user_and_machine
         if (r < 0)
                 return r;
 
-        r = bus_set_address_machine(b, true, user_and_machine);
+        r = bus_set_address_machine(b, RUNTIME_SCOPE_USER, user_and_machine);
         if (r < 0)
                 return r;
 
@@ -4183,12 +4188,8 @@ _public_ int sd_bus_get_description(sd_bus *bus, const char **description) {
 
         if (bus->description)
                 *description = bus->description;
-        else if (bus->is_system)
-                *description = "system";
-        else if (bus->is_user)
-                *description = "user";
         else
-                *description = NULL;
+                *description = runtime_scope_to_string(bus->runtime_scope);
 
         return 0;
 }
@@ -4199,17 +4200,11 @@ _public_ int sd_bus_get_scope(sd_bus *bus, const char **scope) {
         assert_return(scope, -EINVAL);
         assert_return(!bus_pid_changed(bus), -ECHILD);
 
-        if (bus->is_user) {
-                *scope = "user";
-                return 0;
-        }
-
-        if (bus->is_system) {
-                *scope = "system";
-                return 0;
-        }
+        if (bus->runtime_scope < 0)
+                return -ENODATA;
 
-        return -ENODATA;
+        *scope = runtime_scope_to_string(bus->runtime_scope);
+        return 0;
 }
 
 _public_ int sd_bus_get_address(sd_bus *bus, const char **address) {
index 1af3a36d1d93acd2d08a5e3e39c80bd38c92177d..52074803601384afdff536b892ef7d14157f7a5a 100644 (file)
@@ -609,8 +609,8 @@ static int get_search(uint64_t type, char ***list) {
         case SD_PATH_SYSTEMD_SEARCH_SYSTEM_UNIT:
         case SD_PATH_SYSTEMD_SEARCH_USER_UNIT: {
                 _cleanup_(lookup_paths_free) LookupPaths lp = {};
-                const LookupScope scope = type == SD_PATH_SYSTEMD_SEARCH_SYSTEM_UNIT ?
-                                                    LOOKUP_SCOPE_SYSTEM : LOOKUP_SCOPE_USER;
+                RuntimeScope scope = type == SD_PATH_SYSTEMD_SEARCH_SYSTEM_UNIT ?
+                        RUNTIME_SCOPE_SYSTEM : RUNTIME_SCOPE_USER;
 
                 r = lookup_paths_init(&lp, scope, 0, NULL);
                 if (r < 0)
@@ -622,9 +622,9 @@ static int get_search(uint64_t type, char ***list) {
 
         case SD_PATH_SYSTEMD_SEARCH_SYSTEM_GENERATOR:
         case SD_PATH_SYSTEMD_SEARCH_USER_GENERATOR: {
+                RuntimeScope scope = type == SD_PATH_SYSTEMD_SEARCH_SYSTEM_GENERATOR ?
+                        RUNTIME_SCOPE_SYSTEM : RUNTIME_SCOPE_USER;
                 char **t;
-                const LookupScope scope = type == SD_PATH_SYSTEMD_SEARCH_SYSTEM_GENERATOR ?
-                                                    LOOKUP_SCOPE_SYSTEM : LOOKUP_SCOPE_USER;
 
                 t = generator_binary_paths(scope);
                 if (!t)
@@ -638,7 +638,8 @@ static int get_search(uint64_t type, char ***list) {
         case SD_PATH_SYSTEMD_SEARCH_USER_ENVIRONMENT_GENERATOR: {
                 char **t;
 
-                t = env_generator_binary_paths(type == SD_PATH_SYSTEMD_SEARCH_SYSTEM_ENVIRONMENT_GENERATOR);
+                t = env_generator_binary_paths(type == SD_PATH_SYSTEMD_SEARCH_SYSTEM_ENVIRONMENT_GENERATOR ?
+                                               RUNTIME_SCOPE_SYSTEM : RUNTIME_SCOPE_USER);
                 if (!t)
                         return -ENOMEM;
 
index fb83881cc7189993299f52c78e3ee6510df7ede0..d8db9d9d22acc13bd2b2900c00d2322f681cb2bf 100644 (file)
@@ -528,7 +528,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, &bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index 244708d2f506ad72e8ec089686c75e94f8bf203c..a2d03a9e64f06e06bce73256a164890dcc823665 100644 (file)
@@ -1463,7 +1463,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, &bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index 45bc056326b5f1c9ce218261bcd77d37e2288acc..111158cb7622aceef824960203021db03cb24977 100644 (file)
@@ -502,7 +502,7 @@ static int container_bus_new(Machine *m, sd_bus_error *error, sd_bus **ret) {
                 bus->address = address;
                 bus->bus_client = true;
                 bus->trusted = false;
-                bus->is_system = true;
+                bus->runtime_scope = RUNTIME_SCOPE_SYSTEM;
 
                 r = sd_bus_start(bus);
                 if (r == -ENOENT)
index 80eebf36d372627332f60355e7191af4eeb65d29..e9956466ce0f2f4a6214679e1b2e2137339febe5 100644 (file)
@@ -2842,7 +2842,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, &bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index ea6d528189a10c13f82d34a38b62a8c923c279f9..5cb1cd55263e4fee4cfa4077ae0852d6f547de29 100644 (file)
@@ -54,7 +54,7 @@ static bool arg_full = false;
 static bool arg_ask_password = true;
 static bool arg_quiet = false;
 static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
-static bool arg_user = false;
+static RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 static const char *arg_host = NULL;
 static bool arg_discover = false;
 static char *arg_mount_what = NULL;
@@ -223,11 +223,11 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_USER:
-                        arg_user = true;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_SYSTEM:
-                        arg_user = false;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case 'H':
@@ -334,12 +334,13 @@ static int parse_argv(int argc, char *argv[]) {
                         assert_not_reached();
                 }
 
-        if (arg_user)
+        if (arg_runtime_scope == RUNTIME_SCOPE_USER) {
                 arg_ask_password = false;
 
-        if (arg_user && arg_transport != BUS_TRANSPORT_LOCAL)
-                return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
-                                       "Execution in user context is not supported on non-local systems.");
+                if (arg_transport != BUS_TRANSPORT_LOCAL)
+                        return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
+                                               "Execution in user context is not supported on non-local systems.");
+        }
 
         if (arg_action == ACTION_LIST) {
                 if (optind < argc)
@@ -1459,7 +1460,7 @@ static int run(int argc, char* argv[]) {
         if (arg_action == ACTION_LIST)
                 return list_devices();
 
-        r = bus_connect_transport_systemd(arg_transport, arg_host, arg_user, &bus);
+        r = bus_connect_transport_systemd(arg_transport, arg_host, arg_runtime_scope, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index eb807b0eb746faf30657c94711bda14088684465..7b0ee97c8c31f292c2393c7fb1e8723a01a80e9e 100644 (file)
@@ -232,7 +232,7 @@ static int extract_now(
         /* Then, send unit file data to the parent (or/and add it to the hashmap). For that we use our usual unit
          * discovery logic. Note that we force looking inside of /lib/systemd/system/ for units too, as we mightbe
          * compiled for a split-usr system but the image might be a legacy-usr one. */
-        r = lookup_paths_init(&paths, LOOKUP_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, where);
+        r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, where);
         if (r < 0)
                 return log_debug_errno(r, "Failed to acquire lookup paths: %m");
 
@@ -1371,13 +1371,13 @@ int portable_attach(
                                 strempty(extensions_joined));
         }
 
-        r = lookup_paths_init(&paths, LOOKUP_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
+        r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
         if (r < 0)
                 return r;
 
         if (!FLAGS_SET(flags, PORTABLE_REATTACH) && !FLAGS_SET(flags, PORTABLE_FORCE_ATTACH))
                 HASHMAP_FOREACH(item, unit_files) {
-                        r = unit_file_exists(LOOKUP_SCOPE_SYSTEM, &paths, item->name);
+                        r = unit_file_exists(RUNTIME_SCOPE_SYSTEM, &paths, item->name);
                         if (r < 0)
                                 return sd_bus_error_set_errnof(error, r, "Failed to determine whether unit '%s' exists on the host: %m", item->name);
                         if (r > 0)
@@ -1571,7 +1571,7 @@ int portable_detach(
 
         assert(name_or_path);
 
-        r = lookup_paths_init(&paths, LOOKUP_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
+        r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
         if (r < 0)
                 return r;
 
@@ -1758,7 +1758,7 @@ static int portable_get_state_internal(
         assert(name_or_path);
         assert(ret);
 
-        r = lookup_paths_init(&paths, LOOKUP_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
+        r = lookup_paths_init(&paths, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_SPLIT_USR, NULL);
         if (r < 0)
                 return r;
 
@@ -1794,7 +1794,7 @@ static int portable_get_state_internal(
                 if (r == 0)
                         continue;
 
-                r = unit_file_lookup_state(LOOKUP_SCOPE_SYSTEM, &paths, de->d_name, &state);
+                r = unit_file_lookup_state(RUNTIME_SCOPE_SYSTEM, &paths, de->d_name, &state);
                 if (r < 0)
                         return log_debug_errno(r, "Failed to determine unit file state of '%s': %m", de->d_name);
                 if (!IN_SET(state, UNIT_FILE_STATIC, UNIT_FILE_DISABLED, UNIT_FILE_LINKED, UNIT_FILE_LINKED_RUNTIME))
index cd9f462bb36853851595bfa15fa5b75492ecd4e6..6a638c35c55e1328c1468a492ab72d1f0961c598 100644 (file)
@@ -221,7 +221,7 @@ static int acquire_bus(sd_bus **bus) {
         if (*bus)
                 return 0;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index 471d15924a04f7e3685af532b85dcda3e408f27f..8377c2e8cdd0a4bbc60670b9ebab3d17b62e6f19 100644 (file)
@@ -48,7 +48,7 @@ static bool arg_slice_inherit = false;
 static bool arg_send_sighup = false;
 static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
 static const char *arg_host = NULL;
-static bool arg_user = false;
+static RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 static const char *arg_service_type = NULL;
 static const char *arg_exec_user = NULL;
 static const char *arg_exec_group = NULL;
@@ -257,11 +257,11 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_USER:
-                        arg_user = true;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_SYSTEM:
-                        arg_user = false;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case ARG_SCOPE:
@@ -509,7 +509,7 @@ static int parse_argv(int argc, char *argv[]) {
                 }
 
         /* If we are talking to the per-user instance PolicyKit isn't going to help */
-        if (arg_user)
+        if (arg_runtime_scope == RUNTIME_SCOPE_USER)
                 arg_ask_password = false;
 
         with_trigger = !!arg_path_property || !!arg_socket_property || arg_with_timer;
@@ -582,7 +582,7 @@ static int parse_argv(int argc, char *argv[]) {
         } else if (!arg_unit || !with_trigger)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Command line to execute required.");
 
-        if (arg_user && arg_transport == BUS_TRANSPORT_REMOTE)
+        if (arg_runtime_scope == RUNTIME_SCOPE_USER && arg_transport == BUS_TRANSPORT_REMOTE)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Execution in user context is not supported on remote systems.");
 
@@ -656,10 +656,20 @@ static int transient_cgroup_set_properties(sd_bus_message *m) {
         if (arg_slice_inherit) {
                 char *end;
 
-                if (arg_user)
+                switch (arg_runtime_scope) {
+
+                case RUNTIME_SCOPE_USER:
                         r = cg_pid_get_user_slice(0, &name);
-                else
+                        break;
+
+                case RUNTIME_SCOPE_SYSTEM:
                         r = cg_pid_get_slice(0, &name);
+                        break;
+
+                default:
+                        assert_not_reached();
+                }
+
                 if (r < 0)
                         return log_error_errno(r, "Failed to get PID slice: %m");
 
@@ -1228,7 +1238,7 @@ static int start_transient_service(
                 if (r < 0)
                         return bus_log_parse_error(r);
 
-                r = bus_wait_for_jobs_one(w, object, arg_quiet, arg_user ? STRV_MAKE_CONST("--user") : NULL);
+                r = bus_wait_for_jobs_one(w, object, arg_quiet, arg_runtime_scope == RUNTIME_SCOPE_USER ? STRV_MAKE_CONST("--user") : NULL);
                 if (r < 0)
                         return r;
         }
@@ -1464,7 +1474,7 @@ static int start_transient_scope(sd_bus *bus) {
         if (r < 0)
                 return bus_log_parse_error(r);
 
-        r = bus_wait_for_jobs_one(w, object, arg_quiet, arg_user ? STRV_MAKE_CONST("--user") : NULL);
+        r = bus_wait_for_jobs_one(w, object, arg_quiet, arg_runtime_scope == RUNTIME_SCOPE_USER ? STRV_MAKE_CONST("--user") : NULL);
         if (r < 0)
                 return r;
 
@@ -1687,7 +1697,7 @@ static int start_transient_trigger(
         if (r < 0)
                 return bus_log_parse_error(r);
 
-        r = bus_wait_for_jobs_one(w, object, arg_quiet, arg_user ? STRV_MAKE_CONST("--user") : NULL);
+        r = bus_wait_for_jobs_one(w, object, arg_quiet, arg_runtime_scope == RUNTIME_SCOPE_USER ? STRV_MAKE_CONST("--user") : NULL);
         if (r < 0)
                 return r;
 
@@ -1755,10 +1765,10 @@ static int run(int argc, char* argv[]) {
 
         /* If --wait is used connect via the bus, unconditionally, as ref/unref is not supported via the limited direct
          * connection */
-        if (arg_wait || arg_stdio != ARG_STDIO_NONE || (arg_user && arg_transport != BUS_TRANSPORT_LOCAL))
-                r = bus_connect_transport(arg_transport, arg_host, arg_user, &bus);
+        if (arg_wait || arg_stdio != ARG_STDIO_NONE || (arg_runtime_scope == RUNTIME_SCOPE_USER && arg_transport != BUS_TRANSPORT_LOCAL))
+                r = bus_connect_transport(arg_transport, arg_host, arg_runtime_scope, &bus);
         else
-                r = bus_connect_transport_systemd(arg_transport, arg_host, arg_user, &bus);
+                r = bus_connect_transport_systemd(arg_transport, arg_host, arg_runtime_scope, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index 61ec6661e0b32952773e10deb2d9c916a71339dc..097289f6e545ff621aa014f2fd5fb5816c7509ee 100644 (file)
@@ -269,7 +269,7 @@ int bus_connect_user_systemd(sd_bus **ret_bus) {
 int bus_connect_transport(
                 BusTransport transport,
                 const char *host,
-                bool user,
+                RuntimeScope runtime_scope,
                 sd_bus **ret) {
 
         _cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL;
@@ -280,19 +280,28 @@ int bus_connect_transport(
         assert(ret);
 
         assert_return((transport == BUS_TRANSPORT_LOCAL) == !host, -EINVAL);
-        assert_return(transport != BUS_TRANSPORT_REMOTE || !user, -EOPNOTSUPP);
+        assert_return(transport != BUS_TRANSPORT_REMOTE || runtime_scope == RUNTIME_SCOPE_SYSTEM, -EOPNOTSUPP);
 
         switch (transport) {
 
         case BUS_TRANSPORT_LOCAL:
-                if (user)
+
+                switch (runtime_scope) {
+
+                case RUNTIME_SCOPE_USER:
                         r = sd_bus_default_user(&bus);
-                else {
+                        break;
+
+                case RUNTIME_SCOPE_SYSTEM:
                         if (sd_booted() <= 0)
                                 /* Print a friendly message when the local system is actually not running systemd as PID 1. */
                                 return log_error_errno(SYNTHETIC_ERRNO(EHOSTDOWN),
                                                        "System has not been booted with systemd as init system (PID 1). Can't operate.");
                         r = sd_bus_default_system(&bus);
+                        break;
+
+                default:
+                        assert_not_reached();
                 }
                 break;
 
@@ -301,10 +310,21 @@ int bus_connect_transport(
                 break;
 
         case BUS_TRANSPORT_MACHINE:
-                if (user)
+
+                switch (runtime_scope) {
+
+                case RUNTIME_SCOPE_USER:
                         r = sd_bus_open_user_machine(&bus, host);
-                else
+                        break;
+
+                case RUNTIME_SCOPE_SYSTEM:
                         r = sd_bus_open_system_machine(&bus, host);
+                        break;
+
+                default:
+                        assert_not_reached();
+                }
+
                 break;
 
         default:
@@ -321,25 +341,34 @@ int bus_connect_transport(
         return 0;
 }
 
-int bus_connect_transport_systemd(BusTransport transport, const char *host, bool user, sd_bus **bus) {
+int bus_connect_transport_systemd(BusTransport transport, const char *host, RuntimeScope runtime_scope, sd_bus **bus) {
         assert(transport >= 0);
         assert(transport < _BUS_TRANSPORT_MAX);
         assert(bus);
 
         assert_return((transport == BUS_TRANSPORT_LOCAL) == !host, -EINVAL);
-        assert_return(transport == BUS_TRANSPORT_LOCAL || !user, -EOPNOTSUPP);
+        assert_return(transport == BUS_TRANSPORT_LOCAL || runtime_scope == RUNTIME_SCOPE_SYSTEM, -EOPNOTSUPP);
 
         switch (transport) {
 
         case BUS_TRANSPORT_LOCAL:
-                if (user)
+                switch (runtime_scope) {
+
+                case RUNTIME_SCOPE_USER:
                         return bus_connect_user_systemd(bus);
 
-                if (sd_booted() <= 0)
-                        /* Print a friendly message when the local system is actually not running systemd as PID 1. */
-                        return log_error_errno(SYNTHETIC_ERRNO(EHOSTDOWN),
-                                               "System has not been booted with systemd as init system (PID 1). Can't operate.");
-                return bus_connect_system_systemd(bus);
+                case RUNTIME_SCOPE_SYSTEM:
+                        if (sd_booted() <= 0)
+                                /* Print a friendly message when the local system is actually not running systemd as PID 1. */
+                                return log_error_errno(SYNTHETIC_ERRNO(EHOSTDOWN),
+                                                       "System has not been booted with systemd as init system (PID 1). Can't operate.");
+                        return bus_connect_system_systemd(bus);
+
+                default:
+                        assert_not_reached();
+                }
+
+                break;
 
         case BUS_TRANSPORT_REMOTE:
                 return sd_bus_open_system_remote(bus, host);
index 6489bfc756db37e1b9aced9d8b16e0e1497469f4..81f5d0f15221a97696e76f96f1dad70401dcd4fd 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "errno-util.h"
 #include "macro.h"
+#include "runtime-scope.h"
 #include "string-util.h"
 #include "time-util.h"
 
@@ -36,8 +37,8 @@ int bus_check_peercred(sd_bus *c);
 int bus_connect_system_systemd(sd_bus **ret_bus);
 int bus_connect_user_systemd(sd_bus **ret_bus);
 
-int bus_connect_transport(BusTransport transport, const char *host, bool user, sd_bus **bus);
-int bus_connect_transport_systemd(BusTransport transport, const char *host, bool user, sd_bus **bus);
+int bus_connect_transport(BusTransport transport, const char *host, RuntimeScope runtime_scope, sd_bus **bus);
+int bus_connect_transport_systemd(BusTransport transport, const char *host, RuntimeScope runtime_scope, sd_bus **bus);
 
 int bus_log_address_error(int r, BusTransport transport);
 int bus_log_connect_error(int r, BusTransport transport);
index 2d2858c3b48a8de6fa65fdbc876fae92b0dddb37..f2c34069954d95778104f7fd38eea0d11c6d5c6e 100644 (file)
@@ -464,7 +464,7 @@ int show_cgroup_get_path_and_warn(
                 if (r < 0)
                         return log_error_errno(r, "Failed to load machine data: %m");
 
-                r = bus_connect_transport_systemd(BUS_TRANSPORT_LOCAL, NULL, false, &bus);
+                r = bus_connect_transport_systemd(BUS_TRANSPORT_LOCAL, NULL, RUNTIME_SCOPE_SYSTEM, &bus);
                 if (r < 0)
                         return bus_log_connect_error(r, BUS_TRANSPORT_LOCAL);
 
index e2a4a481ea363f4e05976e349e8a806ec8e1b32e..3cc709308da87e1db775b1a9530aec86e0eff6cc 100644 (file)
@@ -98,7 +98,7 @@ static int specifier_last_component(char specifier, const void *data, const char
 }
 
 int install_name_printf(
-                LookupScope scope,
+                RuntimeScope scope,
                 const InstallInfo *info,
                 const char *format,
                 char **ret) {
index 46a7514504b69d3bae9146dd190b207a286fbf64..8c7842ba2c050a200b14341aa7f05cf999b26100 100644 (file)
@@ -5,7 +5,7 @@
 #include "unit-name.h"
 
 int install_name_printf(
-                LookupScope scope,
+                RuntimeScope scope,
                 const InstallInfo *info,
                 const char *format,
                 char **ret);
index bd12259da016e787ad76f154e61f824cdf59c4a0..8060dcc251439e49d48a726171e58e284a6cef02 100644 (file)
@@ -47,7 +47,7 @@ typedef enum SearchFlags {
 } SearchFlags;
 
 typedef struct {
-        LookupScope scope;
+        RuntimeScope scope;
         OrderedHashmap *will_process;
         OrderedHashmap *have_processed;
 } InstallContext;
@@ -969,7 +969,7 @@ static int find_symlinks(
 }
 
 static int find_symlinks_in_scope(
-                LookupScope scope,
+                RuntimeScope scope,
                 const LookupPaths *lp,
                 const InstallInfo *info,
                 bool match_name,
@@ -1003,7 +1003,7 @@ static int find_symlinks_in_scope(
                         }
 
                         /* look for global enablement of user units */
-                        if (scope == LOOKUP_SCOPE_USER && path_is_user_config_dir(*p)) {
+                        if (scope == RUNTIME_SCOPE_USER && path_is_user_config_dir(*p)) {
                                 *state = UNIT_FILE_ENABLED;
                                 return 1;
                         }
@@ -1881,7 +1881,7 @@ int unit_file_verify_alias(
 }
 
 static int install_info_symlink_alias(
-                LookupScope scope,
+                RuntimeScope scope,
                 InstallInfo *info,
                 const LookupPaths *lp,
                 const char *config_path,
@@ -1933,7 +1933,7 @@ static int install_info_symlink_alias(
 }
 
 static int install_info_symlink_wants(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags file_flags,
                 InstallInfo *info,
                 const LookupPaths *lp,
@@ -2068,7 +2068,7 @@ static int install_info_symlink_link(
 }
 
 static int install_info_apply(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags file_flags,
                 InstallInfo *info,
                 const LookupPaths *lp,
@@ -2245,7 +2245,7 @@ static int install_context_mark_for_removal(
 }
 
 int unit_file_mask(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
@@ -2257,7 +2257,7 @@ int unit_file_mask(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
         if (r < 0)
@@ -2290,7 +2290,7 @@ int unit_file_mask(
 }
 
 int unit_file_unmask(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
@@ -2305,7 +2305,7 @@ int unit_file_unmask(
         int r, q;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
         if (r < 0)
@@ -2405,7 +2405,7 @@ int unit_file_unmask(
 }
 
 int unit_file_link(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **files,
@@ -2419,7 +2419,7 @@ int unit_file_link(
         int r, q;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
         if (r < 0)
@@ -2513,7 +2513,7 @@ static int path_shall_revert(const LookupPaths *lp, const char *path) {
 }
 
 int unit_file_revert(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *root_dir,
                 char **names,
                 InstallChange **changes,
@@ -2669,7 +2669,7 @@ int unit_file_revert(
 }
 
 int unit_file_add_dependency(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags file_flags,
                 const char *root_dir,
                 char **names,
@@ -2685,7 +2685,7 @@ int unit_file_add_dependency(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(target);
         assert(IN_SET(dep, UNIT_WANTS, UNIT_REQUIRES));
 
@@ -2739,7 +2739,7 @@ int unit_file_add_dependency(
 
 static int do_unit_file_enable(
                 const LookupPaths *lp,
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *config_path,
                 char **names_or_paths,
@@ -2770,7 +2770,7 @@ static int do_unit_file_enable(
 }
 
 int unit_file_enable(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names_or_paths,
@@ -2781,7 +2781,7 @@ int unit_file_enable(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
         if (r < 0)
@@ -2796,7 +2796,7 @@ int unit_file_enable(
 
 static int do_unit_file_disable(
                 const LookupPaths *lp,
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *config_path,
                 char **names,
@@ -2838,7 +2838,7 @@ static int do_unit_file_disable(
 }
 
 int unit_file_disable(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **files,
@@ -2849,7 +2849,7 @@ int unit_file_disable(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
         if (r < 0)
@@ -2863,7 +2863,7 @@ int unit_file_disable(
 }
 
 static int normalize_linked_files(
-                LookupScope scope,
+                RuntimeScope scope,
                 const LookupPaths *lp,
                 char **names_or_paths,
                 char ***ret_names,
@@ -2921,7 +2921,7 @@ static int normalize_linked_files(
 }
 
 int unit_file_reenable(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names_or_paths,
@@ -2933,7 +2933,7 @@ int unit_file_reenable(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
         if (r < 0)
@@ -2957,7 +2957,7 @@ int unit_file_reenable(
 }
 
 int unit_file_set_default(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 const char *name,
@@ -2971,7 +2971,7 @@ int unit_file_set_default(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(name);
 
         if (unit_name_to_type(name) != UNIT_TARGET) /* this also validates the name */
@@ -2992,7 +2992,7 @@ int unit_file_set_default(
 }
 
 int unit_file_get_default(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *root_dir,
                 char **name) {
 
@@ -3003,7 +3003,7 @@ int unit_file_get_default(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(name);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
@@ -3027,7 +3027,7 @@ int unit_file_get_default(
 }
 
 int unit_file_lookup_state(
-                LookupScope scope,
+                RuntimeScope scope,
                 const LookupPaths *lp,
                 const char *name,
                 UnitFileState *ret) {
@@ -3125,7 +3125,7 @@ int unit_file_lookup_state(
 }
 
 int unit_file_get_state(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *root_dir,
                 const char *name,
                 UnitFileState *ret) {
@@ -3134,7 +3134,7 @@ int unit_file_get_state(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(name);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
@@ -3144,7 +3144,7 @@ int unit_file_get_state(
         return unit_file_lookup_state(scope, &lp, name, ret);
 }
 
-int unit_file_exists(LookupScope scope, const LookupPaths *lp, const char *name) {
+int unit_file_exists(RuntimeScope scope, const LookupPaths *lp, const char *name) {
         _cleanup_(install_context_done) InstallContext c = { .scope = scope };
         int r;
 
@@ -3196,17 +3196,17 @@ static int split_pattern_into_name_and_instances(const char *pattern, char **out
         return 0;
 }
 
-static int presets_find_config(LookupScope scope, const char *root_dir, char ***files) {
+static int presets_find_config(RuntimeScope scope, const char *root_dir, char ***files) {
         static const char* const system_dirs[] = {CONF_PATHS("systemd/system-preset"), NULL};
         static const char* const user_dirs[] = {CONF_PATHS_USR("systemd/user-preset"), NULL};
         const char* const* dirs;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
 
-        if (scope == LOOKUP_SCOPE_SYSTEM)
+        if (scope == RUNTIME_SCOPE_SYSTEM)
                 dirs = system_dirs;
-        else if (IN_SET(scope, LOOKUP_SCOPE_GLOBAL, LOOKUP_SCOPE_USER))
+        else if (IN_SET(scope, RUNTIME_SCOPE_GLOBAL, RUNTIME_SCOPE_USER))
                 dirs = user_dirs;
         else
                 assert_not_reached();
@@ -3214,13 +3214,13 @@ static int presets_find_config(LookupScope scope, const char *root_dir, char ***
         return conf_files_list_strv(files, ".preset", root_dir, 0, dirs);
 }
 
-static int read_presets(LookupScope scope, const char *root_dir, UnitFilePresets *presets) {
+static int read_presets(RuntimeScope scope, const char *root_dir, UnitFilePresets *presets) {
         _cleanup_(unit_file_presets_freep) UnitFilePresets ps = {};
         _cleanup_strv_free_ char **files = NULL;
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(presets);
 
         r = presets_find_config(scope, root_dir, &files);
@@ -3394,7 +3394,7 @@ static int query_presets(const char *name, const UnitFilePresets *presets, char
         }
 }
 
-int unit_file_query_preset(LookupScope scope, const char *root_dir, const char *name, UnitFilePresets *cached) {
+int unit_file_query_preset(RuntimeScope scope, const char *root_dir, const char *name, UnitFilePresets *cached) {
         _cleanup_(unit_file_presets_freep) UnitFilePresets tmp = {};
         int r;
 
@@ -3458,7 +3458,7 @@ static int execute_preset(
 }
 
 static int preset_prepare_one(
-                LookupScope scope,
+                RuntimeScope scope,
                 InstallContext *plus,
                 InstallContext *minus,
                 LookupPaths *lp,
@@ -3511,7 +3511,7 @@ static int preset_prepare_one(
 }
 
 int unit_file_preset(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags file_flags,
                 const char *root_dir,
                 char **names,
@@ -3526,7 +3526,7 @@ int unit_file_preset(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(mode < _UNIT_FILE_PRESET_MODE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
@@ -3551,7 +3551,7 @@ int unit_file_preset(
 }
 
 int unit_file_preset_all(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags file_flags,
                 const char *root_dir,
                 UnitFilePresetMode mode,
@@ -3565,7 +3565,7 @@ int unit_file_preset_all(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(mode < _UNIT_FILE_PRESET_MODE_MAX);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
@@ -3626,7 +3626,7 @@ Hashmap* unit_file_list_free(Hashmap *h) {
 DEFINE_TRIVIAL_CLEANUP_FUNC(UnitFileList*, unit_file_list_free_one);
 
 int unit_file_get_list(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *root_dir,
                 Hashmap *h,
                 char **states,
@@ -3636,7 +3636,7 @@ int unit_file_get_list(
         int r;
 
         assert(scope >= 0);
-        assert(scope < _LOOKUP_SCOPE_MAX);
+        assert(scope < _RUNTIME_SCOPE_MAX);
         assert(h);
 
         r = lookup_paths_init(&lp, scope, 0, root_dir);
index 0abc73897e8b7233b3bba43a2bdc3c15f963cb73..0f9724f99935f3f3d3871ef92d27f972fe00abb8 100644 (file)
@@ -102,28 +102,28 @@ struct InstallInfo {
 };
 
 int unit_file_enable(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names_or_paths,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_disable(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_reenable(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names_or_paths,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_preset(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
@@ -131,52 +131,52 @@ int unit_file_preset(
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_preset_all(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 UnitFilePresetMode mode,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_mask(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_unmask(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_link(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **files,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_revert(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *root_dir,
                 char **names,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_set_default(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 const char *name,
                 InstallChange **changes,
                 size_t *n_changes);
 int unit_file_get_default(
-                LookupScope scope,
+                RuntimeScope scope,
                 const char *root_dir,
                 char **name);
 int unit_file_add_dependency(
-                LookupScope scope,
+                RuntimeScope scope,
                 UnitFileFlags flags,
                 const char *root_dir,
                 char **names,
@@ -186,15 +186,15 @@ int unit_file_add_dependency(
                 size_t *n_changes);
 
 int unit_file_lookup_state(
-                LookupScope scope,
+                RuntimeScope scope,
                 const LookupPaths *paths,
                 const char *name,
                 UnitFileState *ret);
 
-int unit_file_get_state(LookupScope scope, const char *root_dir, const char *filename, UnitFileState *ret);
-int unit_file_exists(LookupScope scope, const LookupPaths *paths, const char *name);
+int unit_file_get_state(RuntimeScope scope, const char *root_dir, const char *filename, UnitFileState *ret);
+int unit_file_exists(RuntimeScope scope, const LookupPaths *paths, const char *name);
 
-int unit_file_get_list(LookupScope scope, const char *root_dir, Hashmap *h, char **states, char **patterns);
+int unit_file_get_list(RuntimeScope scope, const char *root_dir, Hashmap *h, char **states, char **patterns);
 Hashmap* unit_file_list_free(Hashmap *h);
 
 InstallChangeType install_changes_add(InstallChange **changes, size_t *n_changes, InstallChangeType type, const char *path, const char *source);
@@ -217,7 +217,7 @@ typedef struct {
 } UnitFilePresets;
 
 void unit_file_presets_freep(UnitFilePresets *p);
-int unit_file_query_preset(LookupScope scope, const char *root_dir, const char *name, UnitFilePresets *cached);
+int unit_file_query_preset(RuntimeScope scope, const char *root_dir, const char *name, UnitFilePresets *cached);
 
 const char *unit_file_state_to_string(UnitFileState s) _const_;
 UnitFileState unit_file_state_from_string(const char *s) _pure_;
index 05f5b28bb648d0a9eb2d1bfe49679cbe121d1260..200e4ad9b86e217cadee8566ac6967659b450a7a 100644 (file)
@@ -334,15 +334,15 @@ int specifier_os_image_version(char specifier, const void *data, const char *roo
 }
 
 int specifier_group_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
-        LookupScope scope = PTR_TO_INT(data);
+        RuntimeScope scope = PTR_TO_INT(data);
         char *t;
 
         assert(ret);
 
-        if (scope == LOOKUP_SCOPE_GLOBAL)
+        if (scope == RUNTIME_SCOPE_GLOBAL)
                 return -EINVAL;
 
-        t = gid_to_name(scope == LOOKUP_SCOPE_USER ? getgid() : 0);
+        t = gid_to_name(scope == RUNTIME_SCOPE_USER ? getgid() : 0);
         if (!t)
                 return -ENOMEM;
 
@@ -351,15 +351,15 @@ int specifier_group_name(char specifier, const void *data, const char *root, con
 }
 
 int specifier_group_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
-        LookupScope scope = PTR_TO_INT(data);
+        RuntimeScope scope = PTR_TO_INT(data);
         gid_t gid;
 
         assert(ret);
 
-        if (scope == LOOKUP_SCOPE_GLOBAL)
+        if (scope == RUNTIME_SCOPE_GLOBAL)
                 return -EINVAL;
 
-        gid = scope == LOOKUP_SCOPE_USER ? getgid() : 0;
+        gid = scope == RUNTIME_SCOPE_USER ? getgid() : 0;
 
         if (asprintf(ret, UID_FMT, gid) < 0)
                 return -ENOMEM;
@@ -368,16 +368,16 @@ int specifier_group_id(char specifier, const void *data, const char *root, const
 }
 
 int specifier_user_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
-        LookupScope scope = PTR_TO_INT(data);
+        RuntimeScope scope = PTR_TO_INT(data);
         uid_t uid;
         char *t;
 
         assert(ret);
 
-        if (scope == LOOKUP_SCOPE_GLOBAL)
+        if (scope == RUNTIME_SCOPE_GLOBAL)
                 return -EINVAL;
 
-        uid = scope == LOOKUP_SCOPE_USER ? getuid() : 0;
+        uid = scope == RUNTIME_SCOPE_USER ? getuid() : 0;
 
         /* If we are UID 0 (root), this will not result in NSS, otherwise it might. This is good, as we want
          * to be able to run this in PID 1, where our user ID is 0, but where NSS lookups are not allowed.
@@ -395,15 +395,15 @@ int specifier_user_name(char specifier, const void *data, const char *root, cons
 }
 
 int specifier_user_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) {
-        LookupScope scope = PTR_TO_INT(data);
+        RuntimeScope scope = PTR_TO_INT(data);
         uid_t uid;
 
         assert(ret);
 
-        if (scope == LOOKUP_SCOPE_GLOBAL)
+        if (scope == RUNTIME_SCOPE_GLOBAL)
                 return -EINVAL;
 
-        uid = scope == LOOKUP_SCOPE_USER ? getuid() : 0;
+        uid = scope == RUNTIME_SCOPE_USER ? getuid() : 0;
 
         if (asprintf(ret, UID_FMT, uid) < 0)
                 return -ENOMEM;
index 6e8f2bbe3cd0442d99191f7a78f89909775fa0f5..1b2c00734afe4ebd86bae7e6cdfd2fe1bc36749b 100644 (file)
@@ -23,7 +23,7 @@
 
 static const char *arg_bus_path = DEFAULT_BUS_PATH;
 static BusTransport arg_transport = BUS_TRANSPORT_LOCAL;
-static bool arg_user = false;
+static RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 
 static int help(void) {
         printf("%s [OPTIONS...]\n\n"
@@ -73,11 +73,11 @@ static int parse_argv(int argc, char *argv[]) {
                         return version();
 
                 case ARG_USER:
-                        arg_user = true;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_SYSTEM:
-                        arg_user = false;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case 'p':
@@ -133,7 +133,7 @@ static int run(int argc, char *argv[]) {
                 return log_error_errno(r, "Failed to allocate bus: %m");
 
         if (arg_transport == BUS_TRANSPORT_MACHINE)
-                r = bus_set_address_machine(a, arg_user, arg_bus_path);
+                r = bus_set_address_machine(a, arg_runtime_scope, arg_bus_path);
         else
                 r = sd_bus_set_address(a, arg_bus_path);
         if (r < 0)
index 68968a783c96f00c13acb78cb60e1de34bdde7fc..4bbcd7a13ba8a520cc37d7e4c9ac28190a9cd3f2 100644 (file)
@@ -37,7 +37,7 @@ int verb_add_dependency(int argc, char *argv[], void *userdata) {
                 assert_not_reached();
 
         if (install_client_side()) {
-                r = unit_file_add_dependency(arg_scope, unit_file_flags_from_args(), arg_root, names, target, dep, &changes, &n_changes);
+                r = unit_file_add_dependency(arg_runtime_scope, unit_file_flags_from_args(), arg_root, names, target, dep, &changes, &n_changes);
                 install_changes_dump(r, "add dependency on", changes, n_changes, arg_quiet);
 
                 if (r > 0)
index df0166792001ccbd3f9ed0c3b9274120c8701221..c07112b764b62f0f93e198678d8fb70882d969b5 100644 (file)
@@ -37,7 +37,7 @@ int verb_cat(int argc, char *argv[], void *userdata) {
         if (arg_transport != BUS_TRANSPORT_LOCAL)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Cannot remotely cat units.");
 
-        r = lookup_paths_init_or_warn(&lp, arg_scope, 0, arg_root);
+        r = lookup_paths_init_or_warn(&lp, arg_runtime_scope, 0, arg_root);
         if (r < 0)
                 return r;
 
@@ -99,7 +99,7 @@ int verb_cat(int argc, char *argv[], void *userdata) {
                                 ansi_highlight_red(),
                                 ansi_highlight_red(),
                                 ansi_highlight_red(),
-                                arg_scope == LOOKUP_SCOPE_SYSTEM ? "" : " --user",
+                                arg_runtime_scope == RUNTIME_SCOPE_SYSTEM ? "" : " --user",
                                 ansi_normal());
 
                 r = cat_files(fragment_path, dropin_paths, 0);
@@ -452,7 +452,7 @@ static int find_paths_to_edit(
         if (!suffix)
                 return log_oom();
 
-        r = lookup_paths_init(&lp, arg_scope, 0, arg_root);
+        r = lookup_paths_init(&lp, arg_runtime_scope, 0, arg_root);
         if (r < 0)
                 return r;
 
@@ -478,8 +478,8 @@ static int find_paths_to_edit(
                 if (!path) {
                         if (!arg_force) {
                                 log_info("Run 'systemctl edit%s --force --full %s' to create a new unit.",
-                                         arg_scope == LOOKUP_SCOPE_GLOBAL ? " --global" :
-                                         arg_scope == LOOKUP_SCOPE_USER ? " --user" : "",
+                                         arg_runtime_scope == RUNTIME_SCOPE_GLOBAL ? " --global" :
+                                         arg_runtime_scope == RUNTIME_SCOPE_USER ? " --user" : "",
                                          *name);
                                 return -ENOENT;
                         }
@@ -595,7 +595,7 @@ int verb_edit(int argc, char *argv[], void *userdata) {
         if (arg_transport != BUS_TRANSPORT_LOCAL)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Cannot edit units remotely.");
 
-        r = lookup_paths_init_or_warn(&lp, arg_scope, 0, arg_root);
+        r = lookup_paths_init_or_warn(&lp, arg_runtime_scope, 0, arg_root);
         if (r < 0)
                 return r;
 
index a9c6f3a742c983cb0a13157d58feb44278e6c430..0cc8cbb6b83f4ae19ad217748d8ac8db31759702 100644 (file)
@@ -107,24 +107,24 @@ int verb_enable(int argc, char *argv[], void *userdata) {
 
                 flags = unit_file_flags_from_args();
                 if (streq(verb, "enable")) {
-                        r = unit_file_enable(arg_scope, flags, arg_root, names, &changes, &n_changes);
+                        r = unit_file_enable(arg_runtime_scope, flags, arg_root, names, &changes, &n_changes);
                         carries_install_info = r;
                 } else if (streq(verb, "disable")) {
-                        r = unit_file_disable(arg_scope, flags, arg_root, names, &changes, &n_changes);
+                        r = unit_file_disable(arg_runtime_scope, flags, arg_root, names, &changes, &n_changes);
                         carries_install_info = r;
                 } else if (streq(verb, "reenable")) {
-                        r = unit_file_reenable(arg_scope, flags, arg_root, names, &changes, &n_changes);
+                        r = unit_file_reenable(arg_runtime_scope, flags, arg_root, names, &changes, &n_changes);
                         carries_install_info = r;
                 } else if (streq(verb, "link"))
-                        r = unit_file_link(arg_scope, flags, arg_root, names, &changes, &n_changes);
+                        r = unit_file_link(arg_runtime_scope, flags, arg_root, names, &changes, &n_changes);
                 else if (streq(verb, "preset"))
-                        r = unit_file_preset(arg_scope, flags, arg_root, names, arg_preset_mode, &changes, &n_changes);
+                        r = unit_file_preset(arg_runtime_scope, flags, arg_root, names, arg_preset_mode, &changes, &n_changes);
                 else if (streq(verb, "mask"))
-                        r = unit_file_mask(arg_scope, flags, arg_root, names, &changes, &n_changes);
+                        r = unit_file_mask(arg_runtime_scope, flags, arg_root, names, &changes, &n_changes);
                 else if (streq(verb, "unmask"))
-                        r = unit_file_unmask(arg_scope, flags, arg_root, names, &changes, &n_changes);
+                        r = unit_file_unmask(arg_runtime_scope, flags, arg_root, names, &changes, &n_changes);
                 else if (streq(verb, "revert"))
-                        r = unit_file_revert(arg_scope, arg_root, names, &changes, &n_changes);
+                        r = unit_file_revert(arg_runtime_scope, arg_root, names, &changes, &n_changes);
                 else
                         assert_not_reached();
 
@@ -143,7 +143,7 @@ int verb_enable(int argc, char *argv[], void *userdata) {
                 if (STR_IN_SET(verb, "mask", "unmask")) {
                         _cleanup_(lookup_paths_free) LookupPaths lp = {};
 
-                        r = lookup_paths_init_or_warn(&lp, arg_scope, 0, arg_root);
+                        r = lookup_paths_init_or_warn(&lp, arg_runtime_scope, 0, arg_root);
                         if (r < 0)
                                 return r;
 
@@ -263,7 +263,7 @@ int verb_enable(int argc, char *argv[], void *userdata) {
                            "  instance name specified.",
                            special_glyph(SPECIAL_GLYPH_BULLET));
 
-        if (streq(verb, "disable") && arg_scope == LOOKUP_SCOPE_USER && !arg_quiet && !arg_no_warn) {
+        if (streq(verb, "disable") && arg_runtime_scope == RUNTIME_SCOPE_USER && !arg_quiet && !arg_no_warn) {
                 /* If some of the units are disabled in user scope but still enabled in global scope,
                  * we emit a warning for that. */
 
@@ -272,7 +272,7 @@ int verb_enable(int argc, char *argv[], void *userdata) {
                 STRV_FOREACH(name, names) {
                         UnitFileState state;
 
-                        r = unit_file_get_state(LOOKUP_SCOPE_GLOBAL, arg_root, *name, &state);
+                        r = unit_file_get_state(RUNTIME_SCOPE_GLOBAL, arg_root, *name, &state);
                         if (r == -ENOENT)
                                 continue;
                         if (r < 0)
index e3bfd62c3f5a76de62f0fa3ae06e51ad797841a2..bc4fc54c5ab2262645bb10eb063163bc341a0529 100644 (file)
@@ -18,7 +18,7 @@ static int show_installation_targets_client_side(const char *name) {
         flags = UNIT_FILE_DRY_RUN |
                 (arg_runtime ? UNIT_FILE_RUNTIME : 0);
 
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, flags, NULL, p, &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, flags, NULL, p, &changes, &n_changes);
         if (r < 0)
                 return log_error_errno(r, "Failed to get file links for %s: %m", name);
 
@@ -76,7 +76,7 @@ int verb_is_enabled(int argc, char *argv[], void *userdata) {
                 STRV_FOREACH(name, names) {
                         UnitFileState state;
 
-                        r = unit_file_get_state(arg_scope, arg_root, *name, &state);
+                        r = unit_file_get_state(arg_runtime_scope, arg_root, *name, &state);
                         if (r == -ENOENT) {
                                 if (!arg_quiet)
                                         puts("not-found");
index 96b22041f4a1bc308c2c874ab444b6575e775173..72b377cde6152a5c9580d19ab521037cb882e889 100644 (file)
@@ -100,7 +100,7 @@ static int output_unit_file_list(const UnitFileList *units, unsigned c) {
                 if (show_preset_for_state(u->state)) {
                         const char *unit_preset_str, *on_preset_color;
 
-                        r = unit_file_query_preset(arg_scope, arg_root, id, &presets);
+                        r = unit_file_query_preset(arg_runtime_scope, arg_root, id, &presets);
                         if (r < 0) {
                                 unit_preset_str = "n/a";
                                 on_preset_color = underline ? on_underline : ansi_normal();
@@ -151,7 +151,7 @@ int verb_list_unit_files(int argc, char *argv[], void *userdata) {
                 if (!h)
                         return log_oom();
 
-                r = unit_file_get_list(arg_scope, arg_root, h, arg_states, strv_skip(argv, 1));
+                r = unit_file_get_list(arg_runtime_scope, arg_root, h, arg_states, strv_skip(argv, 1));
                 if (r < 0) {
                         unit_file_list_free(h);
                         return log_error_errno(r, "Failed to get unit file list: %m");
index 68dbff504802f9aacf3cd406d25bbaa1b1043712..ed117e077c713d644df6f6d3e7406466d071a9d8 100644 (file)
@@ -13,7 +13,7 @@ int verb_preset_all(int argc, char *argv[], void *userdata) {
         int r;
 
         if (install_client_side()) {
-                r = unit_file_preset_all(arg_scope, unit_file_flags_from_args(), arg_root, arg_preset_mode, &changes, &n_changes);
+                r = unit_file_preset_all(arg_runtime_scope, unit_file_flags_from_args(), arg_root, arg_preset_mode, &changes, &n_changes);
                 install_changes_dump(r, "preset", changes, n_changes, arg_quiet);
 
                 if (r > 0)
index 7ddba172722f4458122225f8e3d484eec5c5e8d8..28886c83560b475952c32a4e4dac269e0fe4a5f5 100644 (file)
@@ -49,7 +49,7 @@ static int determine_default(char **ret_name) {
         int r;
 
         if (install_client_side()) {
-                r = unit_file_get_default(arg_scope, arg_root, ret_name);
+                r = unit_file_get_default(arg_runtime_scope, arg_root, ret_name);
                 if (r == -ERFKILL)
                         return log_error_errno(r, "Failed to get default target: Unit file is masked.");
                 if (r < 0)
@@ -109,7 +109,7 @@ int verb_set_default(int argc, char *argv[], void *userdata) {
                 return log_error_errno(r, "Failed to mangle unit name: %m");
 
         if (install_client_side()) {
-                r = unit_file_set_default(arg_scope, UNIT_FILE_FORCE, arg_root, unit, &changes, &n_changes);
+                r = unit_file_set_default(arg_runtime_scope, UNIT_FILE_FORCE, arg_root, unit, &changes, &n_changes);
                 install_changes_dump(r, "set default", changes, n_changes, arg_quiet);
                 if (r < 0)
                         goto finish;
index 66ae9800d40b9f5ba4e05309be04ea859f9373c9..f3d09e57e65494cead15d062e175080f516569c8 100644 (file)
@@ -817,7 +817,7 @@ static void print_status_info(
                                 getuid(),
                                 get_output_flags() | OUTPUT_BEGIN_NEWLINE,
                                 SD_JOURNAL_LOCAL_ONLY,
-                                arg_scope == LOOKUP_SCOPE_SYSTEM,
+                                arg_runtime_scope == RUNTIME_SCOPE_SYSTEM,
                                 ellipsized);
 
         if (i->need_daemon_reload)
index fdf2cdfd05117461651848a2a59b0dda02e71431..90b1e2ae0dfdf4719f5cbac5e0d3b1940d94469c 100644 (file)
@@ -235,10 +235,10 @@ int verb_start_special(int argc, char *argv[], void *userdata) {
 int verb_start_system_special(int argc, char *argv[], void *userdata) {
         /* Like start_special above, but raises an error when running in user mode */
 
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Bad action for %s mode.",
-                                       arg_scope == LOOKUP_SCOPE_GLOBAL ? "--global" : "--user");
+                                       arg_runtime_scope == RUNTIME_SCOPE_GLOBAL ? "--global" : "--user");
 
         return verb_start_special(argc, argv, userdata);
 }
index 224e831b99f586ffc06f1ddd24610738a35167c7..136b98012a5e5e83be8eb09a451d05f41ee0cc55 100644 (file)
@@ -168,8 +168,8 @@ fail:
                                            BUS_ERROR_UNIT_MASKED,
                                            BUS_ERROR_JOB_TYPE_NOT_APPLICABLE))
                 log_error("See %s logs and 'systemctl%s status%s %s' for details.",
-                          arg_scope == LOOKUP_SCOPE_SYSTEM ? "system" : "user",
-                          arg_scope == LOOKUP_SCOPE_SYSTEM ? "" : " --user",
+                          runtime_scope_to_string(arg_runtime_scope),
+                          arg_runtime_scope == RUNTIME_SCOPE_SYSTEM ? "" : " --user",
                           name[0] == '-' ? " --" : "",
                           name);
 
@@ -242,7 +242,7 @@ static const char** make_extra_args(const char *extra_args[static 4]) {
 
         assert(extra_args);
 
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 extra_args[n++] = "--user";
 
         if (arg_transport == BUS_TRANSPORT_REMOTE) {
index fc73830a0757e05672473dbdf193585dfc5742d7..1bc76031f4e574473839a99abc9c44657ac184c6 100644 (file)
@@ -117,7 +117,7 @@ int enable_sysv_units(const char *verb, char **args) {
 
         /* Processes all SysV units, and reshuffles the array so that afterwards only the native units remain */
 
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 return 0;
 
         if (getenv_bool("SYSTEMCTL_SKIP_SYSV") > 0)
@@ -129,7 +129,7 @@ int enable_sysv_units(const char *verb, char **args) {
                         "is-enabled"))
                 return 0;
 
-        r = lookup_paths_init_or_warn(&paths, arg_scope, LOOKUP_PATHS_EXCLUDE_GENERATED, arg_root);
+        r = lookup_paths_init_or_warn(&paths, arg_runtime_scope, LOOKUP_PATHS_EXCLUDE_GENERATED, arg_root);
         if (r < 0)
                 return r;
 
@@ -159,7 +159,7 @@ int enable_sysv_units(const char *verb, char **args) {
                 if (path_is_absolute(name))
                         continue;
 
-                j = unit_file_exists(arg_scope, &paths, name);
+                j = unit_file_exists(arg_runtime_scope, &paths, name);
                 if (j < 0 && !IN_SET(j, -ELOOP, -ERFKILL, -EADDRNOTAVAIL))
                         return log_error_errno(j, "Failed to look up unit file state: %m");
                 found_native = j != 0;
index bcad65f8dc2e55efd058bf56afe4fd606f05421e..bc1be36bd2ae08f78ac5c0ccf22443fb27d5b4ad 100644 (file)
@@ -44,14 +44,10 @@ int acquire_bus(BusFocus focus, sd_bus **ret) {
                 focus = BUS_FULL;
 
         if (!buses[focus]) {
-                bool user;
-
-                user = arg_scope != LOOKUP_SCOPE_SYSTEM;
-
                 if (focus == BUS_MANAGER)
-                        r = bus_connect_transport_systemd(arg_transport, arg_host, user, &buses[focus]);
+                        r = bus_connect_transport_systemd(arg_transport, arg_host, arg_runtime_scope, &buses[focus]);
                 else
-                        r = bus_connect_transport(arg_transport, arg_host, user, &buses[focus]);
+                        r = bus_connect_transport(arg_transport, arg_host, arg_runtime_scope, &buses[focus]);
                 if (r < 0)
                         return bus_log_connect_error(r, arg_transport);
 
@@ -73,7 +69,7 @@ void ask_password_agent_open_maybe(void) {
         if (arg_dry_run)
                 return;
 
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 return;
 
         ask_password_agent_open_if_enabled(arg_transport, arg_ask_password);
@@ -82,7 +78,7 @@ void ask_password_agent_open_maybe(void) {
 void polkit_agent_open_maybe(void) {
         /* Open the polkit agent as a child process if necessary */
 
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 return;
 
         polkit_agent_open_if_enabled(arg_transport, arg_ask_password);
@@ -408,7 +404,7 @@ void warn_unit_file_changed(const char *unit) {
 
         log_warning("Warning: The unit file, source configuration file or drop-ins of %s changed on disk. Run 'systemctl%s daemon-reload' to reload units.",
                     unit,
-                    arg_scope == LOOKUP_SCOPE_SYSTEM ? "" : " --user");
+                    arg_runtime_scope == RUNTIME_SCOPE_SYSTEM ? "" : " --user");
 }
 
 int unit_file_find_path(LookupPaths *lp, const char *unit_name, char **ret_unit_path) {
@@ -844,7 +840,7 @@ bool install_client_side(void) {
         if (!isempty(arg_root))
                 return true;
 
-        if (arg_scope == LOOKUP_SCOPE_GLOBAL)
+        if (arg_runtime_scope == RUNTIME_SCOPE_GLOBAL)
                 return true;
 
         /* Unsupported environment variable, mostly for debugging purposes */
index 015503657243cb5b3229888459f11732eacfb8bc..862edada089eb153463066d27c72af4f4bf2a1fd 100644 (file)
@@ -71,7 +71,7 @@ char **arg_properties = NULL;
 bool arg_all = false;
 enum dependency arg_dependency = DEPENDENCY_FORWARD;
 const char *_arg_job_mode = NULL;
-LookupScope arg_scope = LOOKUP_SCOPE_SYSTEM;
+RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 bool arg_wait = false;
 bool arg_no_block = false;
 int arg_legend = -1; /* -1: true, unless --quiet is passed, 1: true */
@@ -646,15 +646,15 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_USER:
-                        arg_scope = LOOKUP_SCOPE_USER;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_SYSTEM:
-                        arg_scope = LOOKUP_SCOPE_SYSTEM;
+                        arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
                         break;
 
                 case ARG_GLOBAL:
-                        arg_scope = LOOKUP_SCOPE_GLOBAL;
+                        arg_runtime_scope = RUNTIME_SCOPE_GLOBAL;
                         break;
 
                 case ARG_WAIT:
@@ -992,10 +992,10 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
 
         /* If we are in --user mode, there's no point in talking to PolicyKit or the infra to query system
          * passwords */
-        if (arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 arg_ask_password = false;
 
-        if (arg_transport == BUS_TRANSPORT_REMOTE && arg_scope != LOOKUP_SCOPE_SYSTEM)
+        if (arg_transport == BUS_TRANSPORT_REMOTE && arg_runtime_scope != RUNTIME_SCOPE_SYSTEM)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Cannot access user instance remotely.");
 
index 59da9e3ddbb6939d6837396580929d47da6d9a40..8c96ee0b4f0ed6f26e5fef02a1bef8140eaa8f7a 100644 (file)
@@ -51,7 +51,7 @@ extern char **arg_properties;
 extern bool arg_all;
 extern enum dependency arg_dependency;
 extern const char *_arg_job_mode;
-extern LookupScope arg_scope;
+extern RuntimeScope arg_runtime_scope;
 extern bool arg_wait;
 extern bool arg_no_block;
 extern int arg_legend;
index 7c290a8b0d9f6bad59e40ae9b566ee45126608a4..42aa123de6b586ddc1c06bda6583d7fa37ac1303 100644 (file)
@@ -745,7 +745,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap *all_services) {
                         if (hashmap_contains(all_services, name))
                                 continue;
 
-                        r = unit_file_exists(LOOKUP_SCOPE_SYSTEM, lp, name);
+                        r = unit_file_exists(RUNTIME_SCOPE_SYSTEM, lp, name);
                         if (r < 0 && !IN_SET(r, -ELOOP, -ERFKILL, -EADDRNOTAVAIL)) {
                                 log_debug_errno(r, "Failed to detect whether %s exists, skipping: %m", name);
                                 continue;
@@ -889,7 +889,7 @@ static int run(const char *dest, const char *dest_early, const char *dest_late)
 
         assert_se(arg_dest = dest_late);
 
-        r = lookup_paths_init_or_warn(&lp, LOOKUP_SCOPE_SYSTEM, LOOKUP_PATHS_EXCLUDE_GENERATED, NULL);
+        r = lookup_paths_init_or_warn(&lp, RUNTIME_SCOPE_SYSTEM, LOOKUP_PATHS_EXCLUDE_GENERATED, NULL);
         if (r < 0)
                 return r;
 
index d655058d3da7afd4b2523a405c6d82814c74edbd..c4175bcb0eed39576d1f1825d3747c35efaf9bbf 100644 (file)
@@ -94,7 +94,7 @@ int main(int argc, char *argv[]) {
 
         /* The simple tests succeeded. Now let's try full unit-based use-case. */
 
-        assert_se(manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
+        assert_se(manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
         assert_se(manager_startup(m, NULL, NULL, NULL) >= 0);
 
         assert_se(u = unit_new(m, sizeof(Service)));
index 0445c39855ff3a317b64c6ed29c5fcdd541cadc3..35c7e0d692483c8c9ff525c3ace257fa69da9e13 100644 (file)
@@ -301,7 +301,7 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
 
-        assert_se(manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
+        assert_se(manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
         assert_se(manager_startup(m, NULL, NULL, NULL) >= 0);
 
         assert_se(test_bpf_cgroup_programs(m,
index e1df62f1a68797802a80c7045592300061c33014..42ea64cd0a1f2f7ef29f4b7f3799d0838b768fef 100644 (file)
@@ -86,7 +86,7 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
 
-        assert_se(manager_new(LOOKUP_SCOPE_SYSTEM, MANAGER_TEST_RUN_BASIC, &m) >= 0);
+        assert_se(manager_new(RUNTIME_SCOPE_SYSTEM, MANAGER_TEST_RUN_BASIC, &m) >= 0);
         assert_se(manager_startup(m, NULL, NULL, NULL) >= 0);
 
         /* We need to enable access to the filesystem where the binary is so we
index 57483f72c2dd958838cdbd1d5521758d53eb4568..b26a834530dc85a4fc88080050be0b6848fdda24 100644 (file)
@@ -42,7 +42,7 @@ TEST_RET(cgroup_mask, .sd_booted = true) {
         assert_se(get_testdata_dir("units", &unit_dir) >= 0);
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
         if (IN_SET(r, -EPERM, -EACCES)) {
                 log_error_errno(r, "manager_new: %m");
                 return log_tests_skipped("cannot create manager");
index 94201a3ccccbdb24148b520fa072222e167ad578..62618ce56246fa43e501c3fa8364698120adefbc 100644 (file)
@@ -26,7 +26,7 @@ TEST_RET(default_memory_low, .sd_booted = true) {
         assert_se(get_testdata_dir("units", &unit_dir) >= 0);
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
         if (IN_SET(r, -EPERM, -EACCES)) {
                 log_error_errno(r, "manager_new: %m");
                 return log_tests_skipped("cannot create manager");
index 36dd1e42e6ba4442177acad4f700de2a13548de0..b2e6af8d627627060b732892b40991c3521c46d0 100644 (file)
@@ -6,37 +6,37 @@
 TEST(parse_emergency_action) {
         EmergencyAction x;
 
-        assert_se(parse_emergency_action("none", false, &x) == 0);
+        assert_se(parse_emergency_action("none", RUNTIME_SCOPE_USER, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_NONE);
-        assert_se(parse_emergency_action("reboot", false, &x) == -EOPNOTSUPP);
-        assert_se(parse_emergency_action("reboot-force", false, &x) == -EOPNOTSUPP);
-        assert_se(parse_emergency_action("reboot-immediate", false, &x) == -EOPNOTSUPP);
-        assert_se(parse_emergency_action("poweroff", false, &x) == -EOPNOTSUPP);
-        assert_se(parse_emergency_action("poweroff-force", false, &x) == -EOPNOTSUPP);
-        assert_se(parse_emergency_action("poweroff-immediate", false, &x) == -EOPNOTSUPP);
+        assert_se(parse_emergency_action("reboot", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
+        assert_se(parse_emergency_action("reboot-force", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
+        assert_se(parse_emergency_action("reboot-immediate", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
+        assert_se(parse_emergency_action("poweroff", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
+        assert_se(parse_emergency_action("poweroff-force", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
+        assert_se(parse_emergency_action("poweroff-immediate", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
         assert_se(x == EMERGENCY_ACTION_NONE);
-        assert_se(parse_emergency_action("exit", false, &x) == 0);
+        assert_se(parse_emergency_action("exit", RUNTIME_SCOPE_USER, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_EXIT);
-        assert_se(parse_emergency_action("exit-force", false, &x) == 0);
+        assert_se(parse_emergency_action("exit-force", RUNTIME_SCOPE_USER, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_EXIT_FORCE);
-        assert_se(parse_emergency_action("exit-forcee", false, &x) == -EINVAL);
+        assert_se(parse_emergency_action("exit-forcee", RUNTIME_SCOPE_USER, &x) == -EINVAL);
 
-        assert_se(parse_emergency_action("none", true, &x) == 0);
+        assert_se(parse_emergency_action("none", RUNTIME_SCOPE_SYSTEM, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_NONE);
-        assert_se(parse_emergency_action("reboot", true, &x) == 0);
+        assert_se(parse_emergency_action("reboot", RUNTIME_SCOPE_SYSTEM, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_REBOOT);
-        assert_se(parse_emergency_action("reboot-force", true, &x) == 0);
+        assert_se(parse_emergency_action("reboot-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_REBOOT_FORCE);
-        assert_se(parse_emergency_action("reboot-immediate", true, &x) == 0);
+        assert_se(parse_emergency_action("reboot-immediate", RUNTIME_SCOPE_SYSTEM, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_REBOOT_IMMEDIATE);
-        assert_se(parse_emergency_action("poweroff", true, &x) == 0);
+        assert_se(parse_emergency_action("poweroff", RUNTIME_SCOPE_SYSTEM, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_POWEROFF);
-        assert_se(parse_emergency_action("poweroff-force", true, &x) == 0);
+        assert_se(parse_emergency_action("poweroff-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
         assert_se(x == EMERGENCY_ACTION_POWEROFF_FORCE);
-        assert_se(parse_emergency_action("poweroff-immediate", true, &x) == 0);
-        assert_se(parse_emergency_action("exit", true, &x) == 0);
-        assert_se(parse_emergency_action("exit-force", true, &x) == 0);
-        assert_se(parse_emergency_action("exit-forcee", true, &x) == -EINVAL);
+        assert_se(parse_emergency_action("poweroff-immediate", RUNTIME_SCOPE_SYSTEM, &x) == 0);
+        assert_se(parse_emergency_action("exit", RUNTIME_SCOPE_SYSTEM, &x) == 0);
+        assert_se(parse_emergency_action("exit-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
+        assert_se(parse_emergency_action("exit-forcee", RUNTIME_SCOPE_SYSTEM, &x) == -EINVAL);
         assert_se(x == EMERGENCY_ACTION_EXIT_FORCE);
 }
 
index 600391094c7e1232e0903e2bed8a73de0a40e20c..cf77e7c022fd3b30fbfaec0869259a89b2a39e55 100644 (file)
@@ -93,7 +93,7 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
         if (manager_errno_skip_test(r))
                 return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
index 7df3be4a7c026066f045c2fcb8b4001273d289ed..a91cbb2c67ca0fd93e1b27a50869f43e758ac54f 100644 (file)
@@ -1141,7 +1141,7 @@ typedef struct test_entry {
 
 #define entry(x) {x, #x}
 
-static void run_tests(LookupScope scope, char **patterns) {
+static void run_tests(RuntimeScope scope, char **patterns) {
         _cleanup_(rm_rf_physical_and_freep) char *runtime_dir = NULL;
         _cleanup_free_ char *unit_paths = NULL;
         _cleanup_(manager_freep) Manager *m = NULL;
@@ -1297,7 +1297,7 @@ TEST(run_tests_root) {
 
         if (prepare_ns("(test-execute-root)") == 0) {
                 can_unshare = true;
-                run_tests(LOOKUP_SCOPE_SYSTEM, filters);
+                run_tests(RUNTIME_SCOPE_SYSTEM, filters);
                 _exit(EXIT_SUCCESS);
         }
 }
@@ -1306,7 +1306,7 @@ TEST(run_tests_without_unshare) {
         if (!have_namespaces()) {
                 /* unshare() is already filtered. */
                 can_unshare = false;
-                run_tests(LOOKUP_SCOPE_SYSTEM, strv_skip(saved_argv, 1));
+                run_tests(RUNTIME_SCOPE_SYSTEM, strv_skip(saved_argv, 1));
                 return;
         }
 
@@ -1334,7 +1334,7 @@ TEST(run_tests_without_unshare) {
                 assert_se(errno == EOPNOTSUPP);
 
                 can_unshare = false;
-                run_tests(LOOKUP_SCOPE_SYSTEM, filters);
+                run_tests(RUNTIME_SCOPE_SYSTEM, filters);
                 _exit(EXIT_SUCCESS);
         }
 #else
@@ -1355,7 +1355,7 @@ TEST(run_tests_unprivileged) {
                 assert_se(capability_bounding_set_drop(0, /* right_now = */ true) >= 0);
 
                 can_unshare = false;
-                run_tests(LOOKUP_SCOPE_USER, filters);
+                run_tests(RUNTIME_SCOPE_USER, filters);
                 _exit(EXIT_SUCCESS);
         }
 }
index 2868ab07b2e5587cb831f075f65d6ebf910fb5ce..ea8015d33d32661e0eae1dc04a14954d2d9c77ef 100644 (file)
@@ -23,41 +23,41 @@ TEST(basic_mask_and_enable) {
         InstallChange *changes = NULL;
         size_t n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "e.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "f.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "e.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "f.service", NULL) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/a.service");
         assert_se(write_string_file(p,
                                     "[Install]\n"
                                     "WantedBy=multi-user.target\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/b.service");
         assert_se(symlink("a.service", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
         p = strjoina(root, "/usr/lib/systemd/system/c.service");
         assert_se(symlink("/usr/lib/systemd/system/a.service", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
         p = strjoina(root, "/usr/lib/systemd/system/d.service");
         assert_se(symlink("c.service", p) >= 0);
 
         /* This one is interesting, as d follows a relative, then an absolute symlink */
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
-        assert_se(unit_file_mask(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_mask(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/dev/null"));
@@ -67,17 +67,17 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_MASKED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_MASKED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_MASKED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_MASKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_MASKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_MASKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_MASKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_MASKED);
 
         /* Enabling a masked unit should fail! */
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) == -ERFKILL);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) == -ERFKILL);
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_unmask(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_unmask(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/a.service");
@@ -85,7 +85,7 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/a.service"));
@@ -94,18 +94,18 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
         /* Enabling it again should succeed but be a NOP */
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 0);
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/a.service");
@@ -113,19 +113,19 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
         /* Disabling a disabled unit must succeed but be a NOP */
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("a.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 0);
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
         /* Let's enable this indirectly via a symlink */
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("d.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("d.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/a.service"));
@@ -134,14 +134,14 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
         /* Let's try to reenable */
 
-        assert_se(unit_file_reenable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("b.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_reenable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("b.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/a.service");
@@ -152,24 +152,24 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "b.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "c.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "d.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
         /* Test masking with relative symlinks */
 
         p = strjoina(root, "/usr/lib/systemd/system/e.service");
         assert_se(symlink("../../../../../../dev/null", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "e.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "e.service", &state) >= 0 && state == UNIT_FILE_MASKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "e.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "e.service", &state) >= 0 && state == UNIT_FILE_MASKED);
 
         assert_se(unlink(p) == 0);
         assert_se(symlink("/usr/../dev/null", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "e.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "e.service", &state) >= 0 && state == UNIT_FILE_MASKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "e.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "e.service", &state) >= 0 && state == UNIT_FILE_MASKED);
 
         assert_se(unlink(p) == 0);
 
@@ -180,10 +180,10 @@ TEST(basic_mask_and_enable) {
                                     "[Install]\n"
                                     "WantedBy=x.target\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "f.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "f.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "f.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "f.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("f.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("f.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/f.service"));
@@ -196,7 +196,7 @@ TEST(basic_mask_and_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "f.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "f.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 }
 
 TEST(linked_units) {
@@ -236,9 +236,9 @@ TEST(linked_units) {
                                     "[Install]\n"
                                     "WantedBy=multi-user.target\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked2.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked3.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked2.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked3.service", NULL) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/linked2.service");
         assert_se(symlink("/opt/linked2.service", p) >= 0);
@@ -246,12 +246,12 @@ TEST(linked_units) {
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/linked3.service");
         assert_se(symlink("/opt/linked3.service", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked3.service", &state) >= 0 && state == UNIT_FILE_LINKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked3.service", &state) >= 0 && state == UNIT_FILE_LINKED);
 
         /* First, let's link the unit into the search path */
-        assert_se(unit_file_link(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("/opt/linked.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_link(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("/opt/linked.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/opt/linked.service"));
@@ -260,10 +260,10 @@ TEST(linked_units) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked.service", &state) >= 0 && state == UNIT_FILE_LINKED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked.service", &state) >= 0 && state == UNIT_FILE_LINKED);
 
         /* Let's unlink it from the search path again */
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/linked.service");
@@ -271,10 +271,10 @@ TEST(linked_units) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked.service", NULL) == -ENOENT);
 
         /* Now, let's not just link it, but also enable it */
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("/opt/linked.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("/opt/linked.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 2);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/linked.service");
         q = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/linked.service");
@@ -293,10 +293,10 @@ TEST(linked_units) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 
         /* And let's unlink it again */
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 2);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/linked.service");
         q = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/linked.service");
@@ -314,9 +314,9 @@ TEST(linked_units) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "linked.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "linked.service", NULL) == -ENOENT);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked2.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked2.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 2);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/linked2.service");
         q = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/linked2.service");
@@ -335,7 +335,7 @@ TEST(linked_units) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked3.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("linked3.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(startswith(changes[0].path, root));
@@ -357,18 +357,18 @@ TEST(default) {
         p = strjoina(root, "/usr/lib/systemd/system/test-default.target");
         assert_se(symlink("test-default-real.target", p) >= 0);
 
-        assert_se(unit_file_get_default(LOOKUP_SCOPE_SYSTEM, root, &def) == -ENOENT);
+        assert_se(unit_file_get_default(RUNTIME_SCOPE_SYSTEM, root, &def) == -ENOENT);
 
-        assert_se(unit_file_set_default(LOOKUP_SCOPE_SYSTEM, 0, root, "idontexist.target", &changes, &n_changes) == -ENOENT);
+        assert_se(unit_file_set_default(RUNTIME_SCOPE_SYSTEM, 0, root, "idontexist.target", &changes, &n_changes) == -ENOENT);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == -ENOENT);
         assert_se(streq_ptr(changes[0].path, "idontexist.target"));
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_default(LOOKUP_SCOPE_SYSTEM, root, &def) == -ENOENT);
+        assert_se(unit_file_get_default(RUNTIME_SCOPE_SYSTEM, root, &def) == -ENOENT);
 
-        assert_se(unit_file_set_default(LOOKUP_SCOPE_SYSTEM, 0, root, "test-default.target", &changes, &n_changes) >= 0);
+        assert_se(unit_file_set_default(RUNTIME_SCOPE_SYSTEM, 0, root, "test-default.target", &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/test-default-real.target"));
@@ -377,7 +377,7 @@ TEST(default) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_default(LOOKUP_SCOPE_SYSTEM, root, &def) >= 0);
+        assert_se(unit_file_get_default(RUNTIME_SCOPE_SYSTEM, root, &def) >= 0);
         assert_se(streq_ptr(def, "test-default-real.target"));
 }
 
@@ -398,7 +398,7 @@ TEST(add_dependency) {
         p = strjoina(root, "/usr/lib/systemd/system/add-dependency-test-service.service");
         assert_se(symlink("real-add-dependency-test-service.service", p) >= 0);
 
-        assert_se(unit_file_add_dependency(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("add-dependency-test-service.service"), "add-dependency-test-target.target", UNIT_WANTS, &changes, &n_changes) >= 0);
+        assert_se(unit_file_add_dependency(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("add-dependency-test-service.service"), "add-dependency-test-target.target", UNIT_WANTS, &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/real-add-dependency-test-service.service"));
@@ -416,10 +416,10 @@ TEST(template_enable) {
 
         log_info("== %s ==", __func__);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/template@.service");
         assert_se(write_string_file(p,
@@ -430,16 +430,16 @@ TEST(template_enable) {
         p = strjoina(root, "/usr/lib/systemd/system/template-symlink@.service");
         assert_se(symlink("template@.service", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         log_info("== %s with template@.service enabled ==", __func__);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/template@.service"));
@@ -448,30 +448,30 @@ TEST(template_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         assert_se(streq(changes[0].path, p));
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         log_info("== %s with template@foo.service enabled ==", __func__);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@foo.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@foo.service"), &changes, &n_changes) >= 0);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/template@.service"));
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/template@foo.service");
@@ -479,32 +479,32 @@ TEST(template_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@foo.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("template@foo.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         assert_se(streq(changes[0].path, p));
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@quux.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@quux.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@quux.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@quux.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         log_info("== %s with template-symlink@quux.service enabled ==", __func__);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("template-symlink@quux.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("template-symlink@quux.service"), &changes, &n_changes) >= 0);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/template@.service"));
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/template@quux.service");
@@ -512,14 +512,14 @@ TEST(template_enable) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template@quux.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "template-symlink@quux.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template@quux.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "template-symlink@quux.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 }
 
 TEST(indirect) {
@@ -528,9 +528,9 @@ TEST(indirect) {
         UnitFileState state;
         const char *p;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirecta.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirectb.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirectc.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirecta.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirectb.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirectc.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/indirecta.service");
         assert_se(write_string_file(p,
@@ -545,11 +545,11 @@ TEST(indirect) {
         p = strjoina(root, "/usr/lib/systemd/system/indirectc.service");
         assert_se(symlink("indirecta.service", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirecta.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirectb.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirectc.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirecta.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirectb.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirectc.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("indirectc.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("indirectc.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/indirectb.service"));
@@ -558,11 +558,11 @@ TEST(indirect) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirecta.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirectb.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "indirectc.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirecta.service", &state) >= 0 && state == UNIT_FILE_INDIRECT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirectb.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "indirectc.service", &state) >= 0 && state == UNIT_FILE_ALIAS);
 
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("indirectc.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("indirectc.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/indirectb.service");
@@ -580,8 +580,8 @@ TEST(preset_and_list) {
         UnitFileList *fl;
         Hashmap *h;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-yes.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-no.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-yes.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-no.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/preset-yes.service");
         assert_se(write_string_file(p,
@@ -598,10 +598,10 @@ TEST(preset_and_list) {
                                     "enable *-yes.*\n"
                                     "disable *\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_preset(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("preset-yes.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_preset(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("preset-yes.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/preset-yes.service"));
@@ -610,10 +610,10 @@ TEST(preset_and_list) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("preset-yes.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("preset-yes.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/preset-yes.service");
@@ -621,18 +621,18 @@ TEST(preset_and_list) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_preset(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("preset-no.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_preset(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("preset-no.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
         assert_se(n_changes == 0);
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_preset_all(LOOKUP_SCOPE_SYSTEM, 0, root, UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_preset_all(RUNTIME_SCOPE_SYSTEM, 0, root, UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
 
         assert_se(n_changes > 0);
 
@@ -650,17 +650,17 @@ TEST(preset_and_list) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-yes.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "preset-no.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         assert_se(h = hashmap_new(&string_hash_ops));
-        assert_se(unit_file_get_list(LOOKUP_SCOPE_SYSTEM, root, h, NULL, NULL) >= 0);
+        assert_se(unit_file_get_list(RUNTIME_SCOPE_SYSTEM, root, h, NULL, NULL) >= 0);
 
         p = strjoina(root, "/usr/lib/systemd/system/preset-yes.service");
         q = strjoina(root, "/usr/lib/systemd/system/preset-no.service");
 
         HASHMAP_FOREACH(fl, h) {
-                assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, basename(fl->path), &state) >= 0);
+                assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, basename(fl->path), &state) >= 0);
                 assert_se(fl->state == state);
 
                 if (streq(fl->path, p)) {
@@ -684,17 +684,17 @@ TEST(revert) {
         InstallChange *changes = NULL;
         size_t n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "xx.service", NULL) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "yy.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "xx.service", NULL) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "yy.service", NULL) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/xx.service");
         assert_se(write_string_file(p, "# Empty\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "xx.service", NULL) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "xx.service", &state) >= 0 && state == UNIT_FILE_STATIC);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "xx.service", NULL) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "xx.service", &state) >= 0 && state == UNIT_FILE_STATIC);
 
         /* Initially there's nothing to revert */
-        assert_se(unit_file_revert(LOOKUP_SCOPE_SYSTEM, root, STRV_MAKE("xx.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_revert(RUNTIME_SCOPE_SYSTEM, root, STRV_MAKE("xx.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 0);
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
@@ -703,7 +703,7 @@ TEST(revert) {
         assert_se(write_string_file(p, "# Empty override\n", WRITE_STRING_FILE_CREATE) >= 0);
 
         /* Revert the override file */
-        assert_se(unit_file_revert(LOOKUP_SCOPE_SYSTEM, root, STRV_MAKE("xx.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_revert(RUNTIME_SCOPE_SYSTEM, root, STRV_MAKE("xx.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         assert_se(streq(changes[0].path, p));
@@ -714,7 +714,7 @@ TEST(revert) {
         assert_se(write_string_file(p, "# Empty dropin\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
         /* Revert the dropin file */
-        assert_se(unit_file_revert(LOOKUP_SCOPE_SYSTEM, root, STRV_MAKE("xx.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_revert(RUNTIME_SCOPE_SYSTEM, root, STRV_MAKE("xx.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         assert_se(streq(changes[0].path, p));
@@ -732,8 +732,8 @@ TEST(preset_order) {
         const char *p;
         UnitFileState state;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-1.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-2.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-1.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-2.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/prefix-1.service");
         assert_se(write_string_file(p,
@@ -751,10 +751,10 @@ TEST(preset_order) {
                                     "disable prefix-*.service\n"
                                     "enable prefix-2.service\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_preset(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("prefix-1.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_preset(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("prefix-1.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/prefix-1.service"));
@@ -763,36 +763,36 @@ TEST(preset_order) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_preset(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("prefix-2.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_preset(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("prefix-2.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
         assert_se(n_changes == 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "prefix-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "prefix-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 }
 
 TEST(static_instance) {
         UnitFileState state;
         const char *p;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "static-instance@.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "static-instance@foo.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "static-instance@.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "static-instance@foo.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/static-instance@.service");
         assert_se(write_string_file(p,
                                     "[Install]\n"
                                     "WantedBy=multi-user.target\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "static-instance@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "static-instance@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "static-instance@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "static-instance@foo.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/static-instance@foo.service");
         assert_se(symlink("static-instance@.service", p) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "static-instance@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "static-instance@foo.service", &state) >= 0 && state == UNIT_FILE_STATIC);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "static-instance@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "static-instance@foo.service", &state) >= 0 && state == UNIT_FILE_STATIC);
 }
 
 TEST(with_dropin) {
@@ -801,11 +801,11 @@ TEST(with_dropin) {
         InstallChange *changes = NULL;
         size_t n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-1.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-4a.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-4b.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-1.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-4a.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-4b.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-1.service");
         assert_se(write_string_file(p,
@@ -817,7 +817,7 @@ TEST(with_dropin) {
                                     "[Install]\n"
                                     "WantedBy=graphical.target\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/with-dropin-2.service");
         assert_se(write_string_file(p,
@@ -829,7 +829,7 @@ TEST(with_dropin) {
                                     "[Install]\n"
                                     "WantedBy=graphical.target\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-3.service");
         assert_se(write_string_file(p,
@@ -841,7 +841,7 @@ TEST(with_dropin) {
                                     "[Install]\n"
                                     "WantedBy=graphical.target\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-4a.service");
         assert_se(write_string_file(p,
@@ -853,16 +853,16 @@ TEST(with_dropin) {
                                     "[Install]\n"
                                     "Also=with-dropin-4b.service\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-4a.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-4a.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-4b.service");
         assert_se(write_string_file(p,
                                     "[Install]\n"
                                     "WantedBy=multi-user.target\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-4b.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-4b.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-1.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-1.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(changes[1].type == INSTALL_CHANGE_SYMLINK);
@@ -875,8 +875,8 @@ TEST(with_dropin) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-2.service"), &changes, &n_changes) == 1);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-2.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(changes[1].type == INSTALL_CHANGE_SYMLINK);
@@ -889,8 +889,8 @@ TEST(with_dropin) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-3.service"), &changes, &n_changes) == 1);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-3.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(changes[1].type == INSTALL_CHANGE_SYMLINK);
@@ -903,8 +903,8 @@ TEST(with_dropin) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-4a.service"), &changes, &n_changes) == 2);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-4a.service"), &changes, &n_changes) == 2);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(changes[1].type == INSTALL_CHANGE_SYMLINK);
@@ -917,11 +917,11 @@ TEST(with_dropin) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-4a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-4b.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-4a.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-4b.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 }
 
 TEST(with_dropin_template) {
@@ -930,9 +930,9 @@ TEST(with_dropin_template) {
         InstallChange *changes = NULL;
         size_t n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-1@.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2@.service", &state) == -ENOENT);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3@.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-1@.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2@.service", &state) == -ENOENT);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3@.service", &state) == -ENOENT);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-1@.service");
         assert_se(write_string_file(p,
@@ -944,7 +944,7 @@ TEST(with_dropin_template) {
                                     "[Install]\n"
                                     "WantedBy=graphical.target\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-1@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-1@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-2@.service");
         assert_se(write_string_file(p,
@@ -956,7 +956,7 @@ TEST(with_dropin_template) {
                                     "[Install]\n"
                                     "WantedBy=graphical.target\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system/with-dropin-3@.service");
         assert_se(write_string_file(p,
@@ -969,9 +969,9 @@ TEST(with_dropin_template) {
                                     "[Install]\n"
                                     "DefaultInstance=instance-2\n", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_MKDIR_0755) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-1@instance-1.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-1@instance-1.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(changes[1].type == INSTALL_CHANGE_SYMLINK);
@@ -984,7 +984,7 @@ TEST(with_dropin_template) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-2@instance-1.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-2@instance-1.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 2);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(changes[1].type == INSTALL_CHANGE_SYMLINK);
@@ -997,7 +997,7 @@ TEST(with_dropin_template) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-2@instance-2.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-2@instance-2.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/with-dropin-2@.service"));
@@ -1006,7 +1006,7 @@ TEST(with_dropin_template) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-3@.service"), &changes, &n_changes) == 1);
+        assert_se(unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("with-dropin-3@.service"), &changes, &n_changes) == 1);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         assert_se(streq(changes[0].source, "/usr/lib/systemd/system/with-dropin-3@.service"));
@@ -1015,11 +1015,11 @@ TEST(with_dropin_template) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-1@instance-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2@instance-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-2@instance-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3@instance-1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "with-dropin-3@instance-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-1@instance-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2@instance-1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-2@instance-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3@instance-1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "with-dropin-3@instance-2.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 }
 
 TEST(preset_multiple_instances) {
@@ -1035,7 +1035,7 @@ TEST(preset_multiple_instances) {
                                     "DefaultInstance=def\n"
                                     "WantedBy=multi-user.target\n", WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         p = strjoina(root, "/usr/lib/systemd/system-preset/test.preset");
         assert_se(write_string_file(p,
@@ -1043,11 +1043,11 @@ TEST(preset_multiple_instances) {
                                     "enable emptylist@.service\n" /* This line ensures the old functionality for templated unit still works */
                                     "disable *\n" , WRITE_STRING_FILE_CREATE) >= 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bar0.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bar0.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
         /* Preset a single instantiated unit specified in the list */
-        assert_se(unit_file_preset(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("foo@bar0.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bar0.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_preset(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("foo@bar0.service"), UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bar0.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_SYMLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/foo@bar0.service");
@@ -1055,7 +1055,7 @@ TEST(preset_multiple_instances) {
         install_changes_free(changes, n_changes);
         changes = NULL; n_changes = 0;
 
-        assert_se(unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, root, STRV_MAKE("foo@bar0.service"), &changes, &n_changes) >= 0);
+        assert_se(unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, root, STRV_MAKE("foo@bar0.service"), &changes, &n_changes) >= 0);
         assert_se(n_changes == 1);
         assert_se(changes[0].type == INSTALL_CHANGE_UNLINK);
         p = strjoina(root, SYSTEM_CONFIG_UNIT_DIR"/multi-user.target.wants/foo@bar0.service");
@@ -1064,17 +1064,17 @@ TEST(preset_multiple_instances) {
         changes = NULL; n_changes = 0;
 
         /* Check for preset-all case, only instances on the list should be enabled, not including the default instance */
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bar1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bartest.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bar1.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bartest.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
 
-        assert_se(unit_file_preset_all(LOOKUP_SCOPE_SYSTEM, 0, root, UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
+        assert_se(unit_file_preset_all(RUNTIME_SCOPE_SYSTEM, 0, root, UNIT_FILE_PRESET_FULL, &changes, &n_changes) >= 0);
         assert_se(n_changes > 0);
 
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bar0.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bar1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
-        assert_se(unit_file_get_state(LOOKUP_SCOPE_SYSTEM, root, "foo@bartest.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@def.service", &state) >= 0 && state == UNIT_FILE_DISABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bar0.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bar1.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
+        assert_se(unit_file_get_state(RUNTIME_SCOPE_SYSTEM, root, "foo@bartest.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
 
         install_changes_free(changes, n_changes);
 }
index c9b08d7b6a0ff92e334ee6cb93cb13b505dafcb6..eb027950963b244149fe717d116e3639b4739ec1 100644 (file)
@@ -32,13 +32,13 @@ int main(int argc, char* argv[]) {
         test_setup_logging(LOG_DEBUG);
 
         h = hashmap_new(&string_hash_ops);
-        r = unit_file_get_list(LOOKUP_SCOPE_SYSTEM, NULL, h, NULL, NULL);
+        r = unit_file_get_list(RUNTIME_SCOPE_SYSTEM, NULL, h, NULL, NULL);
         assert_se(r == 0);
 
         HASHMAP_FOREACH(p, h) {
                 UnitFileState s = _UNIT_FILE_STATE_INVALID;
 
-                r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(p->path), &s);
+                r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(p->path), &s);
 
                 assert_se((r < 0 && p->state == UNIT_FILE_BAD) ||
                           (p->state == s));
@@ -52,18 +52,18 @@ int main(int argc, char* argv[]) {
 
         log_info("/*** enable **/");
 
-        r = unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         log_info("/*** enable2 **/");
 
-        r = unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_ENABLED);
 
@@ -71,13 +71,13 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_DISABLED);
 
@@ -85,16 +85,16 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_mask(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_mask(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
         log_info("/*** mask2 ***/");
-        r = unit_file_mask(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_mask(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_MASKED);
 
@@ -102,16 +102,16 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_unmask(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_unmask(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
         log_info("/*** unmask2 ***/");
-        r = unit_file_unmask(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_unmask(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_DISABLED);
 
@@ -119,13 +119,13 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_mask(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_mask(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_MASKED);
 
@@ -133,16 +133,16 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
         log_info("/*** disable2 ***/");
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_MASKED);
 
@@ -150,13 +150,13 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_unmask(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
+        r = unit_file_unmask(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, files[0], &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, files[0], &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_DISABLED);
 
@@ -164,13 +164,13 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_enable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
+        r = unit_file_enable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_ENABLED);
 
@@ -178,26 +178,26 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, NULL, STRV_MAKE(basename(files2[0])), &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, NULL, STRV_MAKE(basename(files2[0])), &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r < 0);
 
         log_info("/*** link files2 ***/");
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_link(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
+        r = unit_file_link(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_LINKED);
 
@@ -205,26 +205,26 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, NULL, STRV_MAKE(basename(files2[0])), &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, NULL, STRV_MAKE(basename(files2[0])), &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r < 0);
 
         log_info("/*** link files2 ***/");
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_link(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
+        r = unit_file_link(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_LINKED);
 
@@ -232,13 +232,13 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_reenable(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
+        r = unit_file_reenable(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files2, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_ENABLED);
 
@@ -246,25 +246,25 @@ int main(int argc, char* argv[]) {
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_disable(LOOKUP_SCOPE_SYSTEM, 0, NULL, STRV_MAKE(basename(files2[0])), &changes, &n_changes);
+        r = unit_file_disable(RUNTIME_SCOPE_SYSTEM, 0, NULL, STRV_MAKE(basename(files2[0])), &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files2[0]), &state);
         assert_se(r < 0);
         log_info("/*** preset files ***/");
         changes = NULL;
         n_changes = 0;
 
-        r = unit_file_preset(LOOKUP_SCOPE_SYSTEM, 0, NULL, (char**) files, UNIT_FILE_PRESET_FULL, &changes, &n_changes);
+        r = unit_file_preset(RUNTIME_SCOPE_SYSTEM, 0, NULL, (char**) files, UNIT_FILE_PRESET_FULL, &changes, &n_changes);
         assert_se(r >= 0);
 
         dump_changes(changes, n_changes);
         install_changes_free(changes, n_changes);
 
-        r = unit_file_get_state(LOOKUP_SCOPE_SYSTEM, NULL, basename(files[0]), &state);
+        r = unit_file_get_state(RUNTIME_SCOPE_SYSTEM, NULL, basename(files[0]), &state);
         assert_se(r >= 0);
         assert_se(state == UNIT_FILE_ENABLED);
 
index f22fa42ce354ffa75476be3a7700c793794ca389..39fcdcd94a2351729e0f37afb192fcd30c6fcc96 100644 (file)
@@ -47,7 +47,7 @@ TEST_RET(unit_file_get_set) {
         h = hashmap_new(&string_hash_ops);
         assert_se(h);
 
-        r = unit_file_get_list(LOOKUP_SCOPE_SYSTEM, NULL, h, NULL, NULL);
+        r = unit_file_get_list(RUNTIME_SCOPE_SYSTEM, NULL, h, NULL, NULL);
         if (IN_SET(r, -EPERM, -EACCES))
                 return log_tests_skipped_errno(r, "unit_file_get_list");
 
@@ -106,7 +106,7 @@ TEST(config_parse_exec) {
         _cleanup_(manager_freep) Manager *m = NULL;
         _cleanup_(unit_freep) Unit *u = NULL;
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
                 return;
@@ -465,7 +465,7 @@ TEST(config_parse_log_extra_fields) {
         _cleanup_(unit_freep) Unit *u = NULL;
         ExecContext c = {};
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
                 return;
@@ -550,56 +550,56 @@ TEST(install_printf, .sd_booted = true) {
                 strcpy(i.path, d2);                                     \
         } while (false)
 
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%n", "name.service");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%N", "name");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%p", "name");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%i", "");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%j", "name");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%g", "root");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%G", "0");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%u", "root");
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%U", "0");
-
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%m", mid);
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%b", bid);
-        expect(LOOKUP_SCOPE_SYSTEM, i, "%H", host);
-
-        expect(LOOKUP_SCOPE_SYSTEM, i2, "%g", "root");
-        expect(LOOKUP_SCOPE_SYSTEM, i2, "%G", "0");
-        expect(LOOKUP_SCOPE_SYSTEM, i2, "%u", "root");
-        expect(LOOKUP_SCOPE_SYSTEM, i2, "%U", "0");
-
-        expect(LOOKUP_SCOPE_USER, i2, "%g", group);
-        expect(LOOKUP_SCOPE_USER, i2, "%G", gid);
-        expect(LOOKUP_SCOPE_USER, i2, "%u", user);
-        expect(LOOKUP_SCOPE_USER, i2, "%U", uid);
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%n", "name.service");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%N", "name");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%p", "name");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%i", "");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%j", "name");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%g", "root");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%G", "0");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%u", "root");
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%U", "0");
+
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%m", mid);
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%b", bid);
+        expect(RUNTIME_SCOPE_SYSTEM, i, "%H", host);
+
+        expect(RUNTIME_SCOPE_SYSTEM, i2, "%g", "root");
+        expect(RUNTIME_SCOPE_SYSTEM, i2, "%G", "0");
+        expect(RUNTIME_SCOPE_SYSTEM, i2, "%u", "root");
+        expect(RUNTIME_SCOPE_SYSTEM, i2, "%U", "0");
+
+        expect(RUNTIME_SCOPE_USER, i2, "%g", group);
+        expect(RUNTIME_SCOPE_USER, i2, "%G", gid);
+        expect(RUNTIME_SCOPE_USER, i2, "%u", user);
+        expect(RUNTIME_SCOPE_USER, i2, "%U", uid);
 
         /* gcc-12.0.1-0.9.fc36.x86_64 insist that streq(…, NULL) is called,
          * even though the call is inside of a conditional where the pointer is checked. :( */
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wnonnull"
-        expect(LOOKUP_SCOPE_GLOBAL, i2, "%g", NULL);
-        expect(LOOKUP_SCOPE_GLOBAL, i2, "%G", NULL);
-        expect(LOOKUP_SCOPE_GLOBAL, i2, "%u", NULL);
-        expect(LOOKUP_SCOPE_GLOBAL, i2, "%U", NULL);
+        expect(RUNTIME_SCOPE_GLOBAL, i2, "%g", NULL);
+        expect(RUNTIME_SCOPE_GLOBAL, i2, "%G", NULL);
+        expect(RUNTIME_SCOPE_GLOBAL, i2, "%u", NULL);
+        expect(RUNTIME_SCOPE_GLOBAL, i2, "%U", NULL);
 #pragma GCC diagnostic pop
 
-        expect(LOOKUP_SCOPE_SYSTEM, i3, "%n", "name@inst.service");
-        expect(LOOKUP_SCOPE_SYSTEM, i3, "%N", "name@inst");
-        expect(LOOKUP_SCOPE_SYSTEM, i3, "%p", "name");
-        expect(LOOKUP_SCOPE_USER, i3, "%g", group);
-        expect(LOOKUP_SCOPE_USER, i3, "%G", gid);
-        expect(LOOKUP_SCOPE_USER, i3, "%u", user);
-        expect(LOOKUP_SCOPE_USER, i3, "%U", uid);
-
-        expect(LOOKUP_SCOPE_SYSTEM, i3, "%m", mid);
-        expect(LOOKUP_SCOPE_SYSTEM, i3, "%b", bid);
-        expect(LOOKUP_SCOPE_SYSTEM, i3, "%H", host);
-
-        expect(LOOKUP_SCOPE_USER, i4, "%g", group);
-        expect(LOOKUP_SCOPE_USER, i4, "%G", gid);
-        expect(LOOKUP_SCOPE_USER, i4, "%u", user);
-        expect(LOOKUP_SCOPE_USER, i4, "%U", uid);
+        expect(RUNTIME_SCOPE_SYSTEM, i3, "%n", "name@inst.service");
+        expect(RUNTIME_SCOPE_SYSTEM, i3, "%N", "name@inst");
+        expect(RUNTIME_SCOPE_SYSTEM, i3, "%p", "name");
+        expect(RUNTIME_SCOPE_USER, i3, "%g", group);
+        expect(RUNTIME_SCOPE_USER, i3, "%G", gid);
+        expect(RUNTIME_SCOPE_USER, i3, "%u", user);
+        expect(RUNTIME_SCOPE_USER, i3, "%U", uid);
+
+        expect(RUNTIME_SCOPE_SYSTEM, i3, "%m", mid);
+        expect(RUNTIME_SCOPE_SYSTEM, i3, "%b", bid);
+        expect(RUNTIME_SCOPE_SYSTEM, i3, "%H", host);
+
+        expect(RUNTIME_SCOPE_USER, i4, "%g", group);
+        expect(RUNTIME_SCOPE_USER, i4, "%G", gid);
+        expect(RUNTIME_SCOPE_USER, i4, "%u", user);
+        expect(RUNTIME_SCOPE_USER, i4, "%U", uid);
 }
 
 static uint64_t make_cap(int cap) {
@@ -828,7 +828,7 @@ TEST(config_parse_unit_env_file) {
         _cleanup_strv_free_ char **files = NULL;
         int r;
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
                 return;
@@ -961,7 +961,7 @@ TEST(unit_is_recursive_template_dependency) {
         Unit *u;
         int r;
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
                 return;
@@ -1055,7 +1055,7 @@ TEST(config_parse_open_file) {
         _cleanup_(open_file_freep) OpenFile *of = NULL;
         int r;
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
                 return;
index c98a1f4b73d13bf4ac721a70bbb81aee7ff9521c..431a85965d904723cc124ffa294b65285f6ad7e1 100644 (file)
@@ -11,7 +11,7 @@
 #include "tests.h"
 #include "tmpfile-util.h"
 
-static void test_paths_one(LookupScope scope) {
+static void test_paths_one(RuntimeScope scope) {
         _cleanup_(rm_rf_physical_and_freep) char *tmp = NULL;
         _cleanup_(lookup_paths_free) LookupPaths lp_without_env = {};
         _cleanup_(lookup_paths_free) LookupPaths lp_with_env = {};
@@ -34,9 +34,9 @@ static void test_paths_one(LookupScope scope) {
 }
 
 TEST(paths) {
-        test_paths_one(LOOKUP_SCOPE_SYSTEM);
-        test_paths_one(LOOKUP_SCOPE_USER);
-        test_paths_one(LOOKUP_SCOPE_GLOBAL);
+        test_paths_one(RUNTIME_SCOPE_SYSTEM);
+        test_paths_one(RUNTIME_SCOPE_USER);
+        test_paths_one(RUNTIME_SCOPE_GLOBAL);
 }
 
 TEST(user_and_global_paths) {
@@ -48,8 +48,8 @@ TEST(user_and_global_paths) {
         assert_se(unsetenv("XDG_DATA_DIRS") == 0);
         assert_se(unsetenv("XDG_CONFIG_DIRS") == 0);
 
-        assert_se(lookup_paths_init(&lp_global, LOOKUP_SCOPE_GLOBAL, 0, NULL) == 0);
-        assert_se(lookup_paths_init(&lp_user, LOOKUP_SCOPE_USER, 0, NULL) == 0);
+        assert_se(lookup_paths_init(&lp_global, RUNTIME_SCOPE_GLOBAL, 0, NULL) == 0);
+        assert_se(lookup_paths_init(&lp_user, RUNTIME_SCOPE_USER, 0, NULL) == 0);
         g = lp_global.search_path;
         u = lp_user.search_path;
 
@@ -70,7 +70,7 @@ TEST(user_and_global_paths) {
                 log_info("+ %s", *p);
 }
 
-static void test_generator_binary_paths_one(LookupScope scope) {
+static void test_generator_binary_paths_one(RuntimeScope scope) {
         _cleanup_(rm_rf_physical_and_freep) char *tmp = NULL;
         _cleanup_strv_free_ char **gp_without_env = NULL;
         _cleanup_strv_free_ char **env_gp_without_env = NULL;
@@ -85,13 +85,13 @@ static void test_generator_binary_paths_one(LookupScope scope) {
         assert_se(unsetenv("SYSTEMD_ENVIRONMENT_GENERATOR_PATH") == 0);
 
         gp_without_env = generator_binary_paths(scope);
-        env_gp_without_env = env_generator_binary_paths(scope == LOOKUP_SCOPE_SYSTEM ? true : false);
+        env_gp_without_env = env_generator_binary_paths(scope);
 
-        log_info("Generators dirs (%s):", scope == LOOKUP_SCOPE_SYSTEM ? "system" : "user");
+        log_info("Generators dirs (%s):", runtime_scope_to_string(scope));
         STRV_FOREACH(dir, gp_without_env)
                 log_info("        %s", *dir);
 
-        log_info("Environment generators dirs (%s):", scope == LOOKUP_SCOPE_SYSTEM ? "system" : "user");
+        log_info("Environment generators dirs (%s):", runtime_scope_to_string(scope));
         STRV_FOREACH(dir, env_gp_without_env)
                 log_info("        %s", *dir);
 
@@ -104,13 +104,13 @@ static void test_generator_binary_paths_one(LookupScope scope) {
         assert_se(setenv("SYSTEMD_ENVIRONMENT_GENERATOR_PATH", systemd_env_generator_path, 1) == 0);
 
         gp_with_env = generator_binary_paths(scope);
-        env_gp_with_env = env_generator_binary_paths(scope == LOOKUP_SCOPE_SYSTEM ? true : false);
+        env_gp_with_env = env_generator_binary_paths(scope);
 
-        log_info("Generators dirs (%s):", scope == LOOKUP_SCOPE_SYSTEM ? "system" : "user");
+        log_info("Generators dirs (%s):", runtime_scope_to_string(scope));
         STRV_FOREACH(dir, gp_with_env)
                 log_info("        %s", *dir);
 
-        log_info("Environment generators dirs (%s):", scope == LOOKUP_SCOPE_SYSTEM ? "system" : "user");
+        log_info("Environment generators dirs (%s):", runtime_scope_to_string(scope));
         STRV_FOREACH(dir, env_gp_with_env)
                 log_info("        %s", *dir);
 
@@ -119,8 +119,8 @@ static void test_generator_binary_paths_one(LookupScope scope) {
 }
 
 TEST(generator_binary_paths) {
-        test_generator_binary_paths_one(LOOKUP_SCOPE_SYSTEM);
-        test_generator_binary_paths_one(LOOKUP_SCOPE_USER);
+        test_generator_binary_paths_one(RUNTIME_SCOPE_SYSTEM);
+        test_generator_binary_paths_one(RUNTIME_SCOPE_USER);
 }
 
 DEFINE_TEST_MAIN(LOG_DEBUG);
index f325b4e51a0564e705130091de8aebbba67bb863..92b6b6511495157594a4287de8133e3658ff145f 100644 (file)
@@ -32,7 +32,7 @@ static int setup_test(Manager **m) {
         if (r == -ENOMEDIUM)
                 return log_tests_skipped("cgroupfs not available");
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &tmp);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &tmp);
         if (manager_errno_skip_test(r))
                 return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
index 721c4b61a118ac5c84a978466f816248400e95bc..3c3b8dcf4a00e9bcd3a7197b22cf2612892b497b 100644 (file)
@@ -30,7 +30,7 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m);
         if (manager_errno_skip_test(r))
                 return log_tests_skipped_errno(r, "manager_new");
         assert_se(r >= 0);
index d7d911034321d6b4b2eabed7c281def93db10ea4..9372f208ae95ac020ac1fb28e135b9af02a6957d 100644 (file)
@@ -132,7 +132,7 @@ int main(int argc, char *argv[]) {
         assert_se(set_unit_path(unit_dir) >= 0);
         assert_se(runtime_dir = setup_fake_runtime_dir());
 
-        assert_se(manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
+        assert_se(manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
         assert_se(manager_startup(m, NULL, NULL, NULL) >= 0);
 
         assert_se(test_socket_bind(m, "socket_bind_test.service", netcat_path, "2000", STRV_MAKE("2000"), STRV_MAKE("any")) >= 0);
index 4a8ff4bd10019ce8b2c9fe5799811ba3c9527a8a..62986e8dc2e3186afdea94ca4ed2492c64230682 100644 (file)
@@ -47,7 +47,7 @@ TEST(specifier_escape_strv) {
 static const Specifier specifier_table[] = {
         COMMON_SYSTEM_SPECIFIERS,
 
-        COMMON_CREDS_SPECIFIERS(LOOKUP_SCOPE_USER),
+        COMMON_CREDS_SPECIFIERS(RUNTIME_SCOPE_USER),
         { 'h', specifier_user_home,       NULL },
 
         COMMON_TMP_SPECIFIERS,
index 27a73d61a0b8821937de71e6cf3cbc20872b0971..9f8787b49217793f3203f7472ea6f96df2413341 100644 (file)
@@ -36,7 +36,7 @@ TEST(unit_file_build_name_map) {
 
         ids = strv_skip(saved_argv, 1);
 
-        assert_se(lookup_paths_init(&lp, LOOKUP_SCOPE_SYSTEM, 0, NULL) >= 0);
+        assert_se(lookup_paths_init(&lp, RUNTIME_SCOPE_SYSTEM, 0, NULL) >= 0);
 
         assert_se(unit_file_build_name_map(&lp, &mtime, &unit_ids, &unit_names, NULL) == 1);
 
index 3904126a875f4bf0ec957be1e85e8c41942a52dd..ed3f2dfc7866b0a6eea07aa2e4c430c999a6723a 100644 (file)
@@ -284,7 +284,7 @@ TEST_RET(unit_printf, .sd_booted = true) {
         assert_se(specifier_var_tmp_dir('V', NULL, NULL, NULL, &var_tmp_dir) >= 0);
         assert_se(var_tmp_dir);
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r))
                 return log_tests_skipped_errno(r, "manager_new");
         assert_se(r == 0);
index f84435f480cd78be75a2f76b5c972e9d19911a85..7a1e8a087a8d3e181b9e1f1777320565c0cb8f49 100644 (file)
@@ -31,7 +31,7 @@ TEST(deserialize_exec_command) {
         _cleanup_(manager_freep) Manager *m = NULL;
         int r;
 
-        r = manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
+        r = manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_MINIMAL, &m);
         if (manager_errno_skip_test(r)) {
                 log_notice_errno(r, "Skipping test: manager_new: %m");
                 return;
index 8c355c1d5fa65df7c382df9ef883c234a5a5d955..01bf4c1cbe3919b94c5f4c91c4dc48ce7544e459 100644 (file)
@@ -26,7 +26,7 @@ int main(int argc, char *argv[]) {
 
         assert_se(runtime_dir = setup_fake_runtime_dir());
 
-        assert_se(manager_new(LOOKUP_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
+        assert_se(manager_new(RUNTIME_SCOPE_USER, MANAGER_TEST_RUN_BASIC, &m) >= 0);
         assert_se(manager_startup(m, NULL, NULL, NULL) >= 0);
 
         assert_se(a = unit_new(m, sizeof(Service)));
index 5d1be1150940a1cc4dee7589e781cab13154bf47..e1feeac061513b920e5b92ae252b5823e14b4f67 100644 (file)
@@ -1016,7 +1016,7 @@ static int run(int argc, char *argv[]) {
         if (r <= 0)
                 return r;
 
-        r = bus_connect_transport(arg_transport, arg_host, false, &bus);
+        r = bus_connect_transport(arg_transport, arg_host, RUNTIME_SCOPE_SYSTEM, &bus);
         if (r < 0)
                 return bus_log_connect_error(r, arg_transport);
 
index 04a860c0215acbe04c0e393f613e2705486b5f6a..098b12c49522a573e4e5ee73d0462a810571c94e 100644 (file)
@@ -196,7 +196,7 @@ typedef enum {
 } CreationMode;
 
 static bool arg_cat_config = false;
-static bool arg_user = false;
+static RuntimeScope arg_runtime_scope = RUNTIME_SCOPE_SYSTEM;
 static OperationMask arg_operation = 0;
 static bool arg_boot = false;
 static PagerFlags arg_pager_flags = 0;
@@ -262,7 +262,7 @@ static int specifier_directory(char specifier, const void *data, const char *roo
         int r;
 
         assert_cc(ELEMENTSOF(paths_system) == ELEMENTSOF(paths_user));
-        paths = arg_user ? paths_user : paths_system;
+        paths = arg_runtime_scope == RUNTIME_SCOPE_USER ? paths_user : paths_system;
 
         i = PTR_TO_UINT(data);
         assert(i < ELEMENTSOF(paths_system));
@@ -305,7 +305,7 @@ static int log_unresolvable_specifier(const char *filename, unsigned line) {
                    log_level,
                    filename, line, 0,
                    "Failed to resolve specifier: %s, skipping.",
-                   arg_user ? "Required $XDG_... variable not defined" : "uninitialized /etc/ detected");
+                   arg_runtime_scope == RUNTIME_SCOPE_USER ? "Required $XDG_... variable not defined" : "uninitialized /etc/ detected");
 
         if (!notified)
                 log_full(log_level,
@@ -3191,7 +3191,7 @@ static int parse_line(
                 { 'S', specifier_directory,       UINT_TO_PTR(DIRECTORY_STATE)   },
                 { 't', specifier_directory,       UINT_TO_PTR(DIRECTORY_RUNTIME) },
 
-                COMMON_CREDS_SPECIFIERS(arg_user ? LOOKUP_SCOPE_USER : LOOKUP_SCOPE_SYSTEM),
+                COMMON_CREDS_SPECIFIERS(arg_runtime_scope),
                 COMMON_TMP_SPECIFIERS,
                 {}
         };
@@ -3756,7 +3756,7 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case ARG_USER:
-                        arg_user = true;
+                        arg_runtime_scope = RUNTIME_SCOPE_USER;
                         break;
 
                 case ARG_CREATE:
@@ -3842,7 +3842,7 @@ static int parse_argv(int argc, char *argv[]) {
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "When --replace= is given, some configuration items must be specified");
 
-        if (arg_root && arg_user)
+        if (arg_root && arg_runtime_scope == RUNTIME_SCOPE_USER)
                 return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
                                        "Combination of --user and --root= is not supported.");
 
@@ -4090,14 +4090,22 @@ static int run(int argc, char *argv[]) {
         /* Descending down file system trees might take a lot of fds */
         (void) rlimit_nofile_bump(HIGH_RLIMIT_NOFILE);
 
-        if (arg_user) {
+        switch (arg_runtime_scope) {
+
+        case RUNTIME_SCOPE_USER:
                 r = user_config_paths(&config_dirs);
                 if (r < 0)
                         return log_error_errno(r, "Failed to initialize configuration directory list: %m");
-        } else {
+                break;
+
+        case RUNTIME_SCOPE_SYSTEM:
                 config_dirs = strv_split_nulstr(CONF_PATHS_NULSTR("tmpfiles.d"));
                 if (!config_dirs)
                         return log_oom();
+                break;
+
+        default:
+                assert_not_reached();
         }
 
         if (DEBUG_LOGGING) {