]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/glob-util.h
ea3e8693198437435c598eeb5728b8553562b0bc
[thirdparty/systemd.git] / src / basic / glob-util.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2 #pragma once
3
4 #include <glob.h> /* IWYU pragma: export */
5
6 #include "forward.h"
7
8 typedef DIR* (*opendir_t)(const char *);
9
10 int safe_glob_full(const char *path, int flags, opendir_t opendir_func, char ***ret);
11 static inline int safe_glob(const char *path, int flags, char ***ret) {
12 return safe_glob_full(path, flags, NULL, ret);
13 }
14
15 /* Note: which match is returned depends on the implementation/system and not guaranteed to be stable */
16 int glob_first(const char *path, char **ret);
17 #define glob_exists(path) glob_first(path, NULL)
18 int glob_extend(char ***strv, const char *path, int flags);
19
20 int glob_non_glob_prefix(const char *path, char **ret);
21
22 bool string_is_glob(const char *p) _pure_;