X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fpath-lookup.h;h=3982974bad9638cfb2253003881cf9aa490f7617;hp=e8a5a77a7b3a3c81e0600fe58e10c4a648472e4d;hb=1cfc78c91965df340cdde100ad6cb3ed50b28927;hpb=f33d3ec1d7521c91da8b30ad5cb345d6416bb07d diff --git a/src/shared/path-lookup.h b/src/shared/path-lookup.h index e8a5a77a7..3982974ba 100644 --- a/src/shared/path-lookup.h +++ b/src/shared/path-lookup.h @@ -1,7 +1,6 @@ /*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ -#ifndef foopathlookuphfoo -#define foopathlookuphfoo +#pragma once /*** This file is part of systemd. @@ -22,19 +21,34 @@ along with systemd; If not, see . ***/ +#include "macro.h" + +typedef enum UnitFileScope UnitFileScope; + typedef struct LookupPaths { char **unit_path; -#ifdef HAVE_SYSV_COMPAT - char **sysvinit_path; - char **sysvrcnd_path; -#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 lookup_paths_init(LookupPaths *p, ManagerRunningAs running_as, bool personal); +int user_runtime_dir(char **runtime_dir); + +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); -#endif +#define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free)