]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/shared/path-lookup.h
path-lookup: add configured unit paths back into search path
[thirdparty/systemd.git] / src / shared / path-lookup.h
CommitLineData
c2f1db8f 1#pragma once
84e3543e
LP
2
3/***
4 This file is part of systemd.
5
6 Copyright 2010 Lennart Poettering
7
8 systemd is free software; you can redistribute it and/or modify it
5430f7f2
LP
9 under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 2.1 of the License, or
84e3543e
LP
11 (at your option) any later version.
12
13 systemd is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5430f7f2 16 Lesser General Public License for more details.
84e3543e 17
5430f7f2 18 You should have received a copy of the GNU Lesser General Public License
84e3543e
LP
19 along with systemd; If not, see <http://www.gnu.org/licenses/>.
20***/
21
a8fbdf54 22#include <stdbool.h>
a3c4eb07
LP
23
24typedef struct LookupPaths LookupPaths;
a3c4eb07
LP
25
26#include "install.h"
29686440 27#include "macro.h"
a8ffe6fb 28
a3c4eb07
LP
29struct LookupPaths {
30 char **search_path;
a0f84a10
LP
31
32 /* Where we shall create or remove our installation symlinks, aka "configuration". */
33 char *persistent_config;
34 char *runtime_config;
35
36 /* Where to place generated unit files */
a3c4eb07
LP
37 char *generator;
38 char *generator_early;
39 char *generator_late;
e4bb56c7
LP
40
41 /* The root directory prepended to all items above, or NULL */
42 char *root_dir;
a3c4eb07 43};
84e3543e 44
af2d49f7 45int user_config_home(char **config_home);
4d5dec23 46int user_runtime_dir(char **runtime_dir);
10e87ee7 47
463d0d15 48char **generator_paths(UnitFileScope scope);
e801700e 49
463d0d15 50int lookup_paths_init(LookupPaths *p, UnitFileScope scope, const char *root_dir);
59ccf93d 51
cab6235f 52void lookup_paths_free(LookupPaths *p);
59ccf93d 53#define _cleanup_lookup_paths_free_ _cleanup_(lookup_paths_free)