X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fpath-lookup.h;h=2ec888da811d0981cc5b41ccc4648a9b8e7d2d30;hb=dbafedacba3ee77098e932222ae7840e7b4040fc;hp=0aab956f25e5ee5b6ef66b08bcacce1fb79b8cf7;hpb=c2f1db8f83618e60dcded8303d14656d7d26b436;p=elogind.git diff --git a/src/shared/path-lookup.h b/src/shared/path-lookup.h index 0aab956f2..2ec888da8 100644 --- a/src/shared/path-lookup.h +++ b/src/shared/path-lookup.h @@ -21,6 +21,9 @@ along with systemd; If not, see . ***/ +#include "macro.h" +#include "install.h" + typedef struct LookupPaths { char **unit_path; #ifdef HAVE_SYSV_COMPAT @@ -29,9 +32,28 @@ typedef struct LookupPaths { #endif } LookupPaths; -#include "manager.h" +typedef enum SystemdRunningAs { + SYSTEMD_SYSTEM, + SYSTEMD_USER, + _SYSTEMD_RUNNING_AS_MAX, + _SYSTEMD_RUNNING_AS_INVALID = -1 +} SystemdRunningAs; int user_config_home(char **config_home); +int user_runtime_dir(char **runtime_dir); + +char **generator_paths(SystemdRunningAs running_as); -int lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal, const char *generator, const char *generator_early, const char *generator_late); +int lookup_paths_init(LookupPaths *p, + SystemdRunningAs running_as, + bool personal, + const char *root_dir, + const char *generator, + const char *generator_early, + const char *generator_late); void lookup_paths_free(LookupPaths *p); +int lookup_paths_init_from_scope(LookupPaths *paths, + UnitFileScope scope, + const char *root_dir); + +#define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free)