diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-12-14 23:12:40 -0500 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2014-12-16 00:30:33 -0500 |
commit | 1a7f1b385cd9de8a0da934fadc379860f914ef33 (patch) | |
tree | 06ff69134de3f57f875679e4fa418497a98a808d /src/shared/dropin.h | |
parent | 6a057a99854268afe19738022205416bd5a0f4b5 (diff) |
Move dropin listing to shared
No functional change. This is in preparation for using this in
systemctl in the future.
Diffstat (limited to 'src/shared/dropin.h')
-rw-r--r-- | src/shared/dropin.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/shared/dropin.h b/src/shared/dropin.h index 9c9742d0e4..d4531fca2d 100644 --- a/src/shared/dropin.h +++ b/src/shared/dropin.h @@ -22,6 +22,8 @@ ***/ #include "macro.h" +#include "set.h" +#include "unit-name.h" int drop_in_file(const char *dir, const char *unit, unsigned level, const char *name, char **_p, char **_q); @@ -31,3 +33,30 @@ int write_drop_in(const char *dir, const char *unit, unsigned level, int write_drop_in_format(const char *dir, const char *unit, unsigned level, const char *name, const char *format, ...) _printf_(5, 6); + +/** + * This callback will be called for each directory entry @entry, + * with @filepath being the full path to the entry. + * + * If return value is negative, loop will be aborted. + */ +typedef int (*dependency_consumer_t)(UnitDependency dependency, + const char *entry, + const char* filepath, + void *arg); + +int unit_file_process_dir( + Set * unit_path_cache, + const char *unit_path, + const char *name, + const char *suffix, + UnitDependency dependency, + dependency_consumer_t consumer, + void *arg, + char ***strv); + +int unit_file_find_dropin_paths( + char **lookup_path, + Set *unit_path_cache, + Set *names, + char ***paths); |