summaryrefslogtreecommitdiff
path: root/src/basic/conf-files.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2018-04-16 21:24:13 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commitb395aac97d4b8be2f3e6232ba0412ff8203b47bb (patch)
treee708ef0492069e0594d4209bdab53c8945e09b3d /src/basic/conf-files.h
parentc3b609e3c6df2b203a980f515017d749eb665124 (diff)
conf-files: beef up conf-files.[ch] a bit
This adds fozr new flags: - If CONF_FILES_DIRECTORY is specified conf_file_list() and friends will look for directories only. - Similar CONF_FILES_REGULAR means we'll look only for regular files. - If CONF_FILES_BASENAME is specified the resulting list will contain only the basenames of all discovered files or directories, not the full paths. - If CONF_FILES_FILTER_MASKED is specified the resulting list will have masked entries removed (i.e. those symlinked to /dev/null and suchlike) These four flags are useful for discovering portable service profile information. While we are at it, also improve a couple of other things: - More debug logging - use path_hash_ops instead of string_hash_ops when putting together the path lists
Diffstat (limited to 'src/basic/conf-files.h')
-rw-r--r--src/basic/conf-files.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/basic/conf-files.h b/src/basic/conf-files.h
index 2dd1b272c..78d03e6e0 100644
--- a/src/basic/conf-files.h
+++ b/src/basic/conf-files.h
@@ -9,7 +9,11 @@
***/
enum {
- CONF_FILES_EXECUTABLE = 1,
+ CONF_FILES_EXECUTABLE = 1U << 0,
+ CONF_FILES_REGULAR = 1U << 1,
+ CONF_FILES_DIRECTORY = 1U << 2,
+ CONF_FILES_BASENAME = 1U << 3,
+ CONF_FILES_FILTER_MASKED = 1U << 4,
};
int conf_files_list(char ***ret, const char *suffix, const char *root, unsigned flags, const char *dir, ...);