X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fpath-lookup.h;h=e35c8d3c046a83dd892a977afa1a286fe5a12bdc;hp=a3ef824a8603e42e59775bc3fdaa8d7ad5434b8e;hb=ba812e282b3406f478e8ede2b6eb885f61fae6fc;hpb=fb15be839500c39f6c2f006f45306d439e1a7add diff --git a/src/shared/path-lookup.h b/src/shared/path-lookup.h index a3ef824a8..e35c8d3c0 100644 --- a/src/shared/path-lookup.h +++ b/src/shared/path-lookup.h @@ -21,6 +21,8 @@ along with systemd; If not, see . ***/ +#include "macro.h" + typedef struct LookupPaths { char **unit_path; #ifdef HAVE_SYSV_COMPAT @@ -29,19 +31,31 @@ typedef struct LookupPaths { #endif } LookupPaths; -typedef enum SystemdRunningAs { - SYSTEMD_SYSTEM, - SYSTEMD_USER, - _SYSTEMD_RUNNING_AS_MAX, - _SYSTEMD_RUNNING_AS_INVALID = -1 -} SystemdRunningAs; +typedef enum ManagerRunningAs { + MANAGER_SYSTEM, + MANAGER_USER, + _MANAGER_RUNNING_AS_MAX, + _MANAGER_RUNNING_AS_INVALID = -1 +} ManagerRunningAs; -#define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free) +int user_config_home(char **config_home); +int user_runtime_dir(char **runtime_dir); -const char* systemd_running_as_to_string(SystemdRunningAs i) _const_; -SystemdRunningAs systemd_running_as_from_string(const char *s) _pure_; +char **generator_paths(ManagerRunningAs running_as); -int user_config_home(char **config_home); +int lookup_paths_init(LookupPaths *p, + ManagerRunningAs running_as, + bool personal, + const char *root_dir, + const char *generator, + const char *generator_early, + const char *generator_late); + +#include "install.h" + +int lookup_paths_init_from_scope(LookupPaths *paths, + UnitFileScope scope, + const char *root_dir); -int lookup_paths_init(LookupPaths *p, SystemdRunningAs running_as, bool personal, const char *generator, const char *generator_early, const char *generator_late); void lookup_paths_free(LookupPaths *p); +#define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free)