chiark / gitweb /
util: add shell_maybe_quote() call for preparing a string for shell cmdline inclusion
[elogind.git] / src / shared / install.h
index d057bb052b8e5e03a6f9e9b7684e379b4201e8a0..3ca39397e6fef10c610dc54da5cd5efa9413aebb 100644 (file)
@@ -22,6 +22,8 @@
 ***/
 
 #include "hashmap.h"
+#include "unit-name.h"
+#include "path-lookup.h"
 
 typedef enum UnitFileScope {
         UNIT_FILE_SYSTEM,
@@ -40,6 +42,7 @@ typedef enum UnitFileState {
         UNIT_FILE_MASKED_RUNTIME,
         UNIT_FILE_STATIC,
         UNIT_FILE_DISABLED,
+        UNIT_FILE_INDIRECT,
         UNIT_FILE_INVALID,
         _UNIT_FILE_STATE_MAX,
         _UNIT_FILE_STATE_INVALID = -1
@@ -49,7 +52,7 @@ typedef enum UnitFilePresetMode {
         UNIT_FILE_PRESET_FULL,
         UNIT_FILE_PRESET_ENABLE_ONLY,
         UNIT_FILE_PRESET_DISABLE_ONLY,
-        _UNIT_FILE_PRESET_MODE_MAX,
+        _UNIT_FILE_PRESET_MAX,
         _UNIT_FILE_PRESET_INVALID = -1
 } UnitFilePresetMode;
 
@@ -79,6 +82,9 @@ typedef struct {
         char **aliases;
         char **wanted_by;
         char **required_by;
+        char **also;
+
+        char *default_instance;
 } InstallInfo;
 
 int unit_file_enable(UnitFileScope scope, bool runtime, const char *root_dir, char **files, bool force, UnitFileChange **changes, unsigned *n_changes);
@@ -91,8 +97,17 @@ int unit_file_mask(UnitFileScope scope, bool runtime, const char *root_dir, char
 int unit_file_unmask(UnitFileScope scope, bool runtime, const char *root_dir, char **files, UnitFileChange **changes, unsigned *n_changes);
 int unit_file_set_default(UnitFileScope scope, const char *root_dir, const char *file, bool force, UnitFileChange **changes, unsigned *n_changes);
 int unit_file_get_default(UnitFileScope scope, const char *root_dir, char **name);
-
-UnitFileState unit_file_get_state(UnitFileScope scope, const char *root_dir, const char *filename);
+int unit_file_add_dependency(UnitFileScope scope, bool runtime, const char *root_dir, char **files, char *target, UnitDependency dep, bool force, UnitFileChange **changes, unsigned *n_changes);
+
+UnitFileState unit_file_lookup_state(
+                UnitFileScope scope,
+                const char *root_dir,
+                const LookupPaths *paths,
+                const char *name);
+UnitFileState unit_file_get_state(
+                UnitFileScope scope,
+                const char *root_dir,
+                const char *filename);
 
 int unit_file_get_list(UnitFileScope scope, const char *root_dir, Hashmap *h);