aboutsummaryrefslogtreecommitdiff
path: root/include/io/dir_iterator.h
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-09-23 11:16:46 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-10-24 15:57:18 +0200
commit9f2d63162e82d423faeda9c7449d6edd819e4591 (patch)
treefa22cd6a89655ef9726c64336be47a209bac1a15 /include/io/dir_iterator.h
parentee26abcab9faf037cf87438cca20d54e5b0edd05 (diff)
Cleanup: remove rest of libioHEADmaster
Move the directory iterator test to libsquashfs, move the tree scanning code to libcommon. Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/io/dir_iterator.h')
-rw-r--r--include/io/dir_iterator.h87
1 files changed, 0 insertions, 87 deletions
diff --git a/include/io/dir_iterator.h b/include/io/dir_iterator.h
deleted file mode 100644
index 7154b08..0000000
--- a/include/io/dir_iterator.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/* SPDX-License-Identifier: LGPL-3.0-or-later */
-/*
- * dir_iterator.h
- *
- * Copyright (C) 2023 David Oberhollenzer <goliath@infraroot.at>
- */
-#ifndef IO_DIR_ITERATOR_H
-#define IO_DIR_ITERATOR_H
-
-#include "sqfs/dir_entry.h"
-#include "sqfs/predef.h"
-
-enum {
- DIR_SCAN_NO_SOCK = 0x0001,
- DIR_SCAN_NO_SLINK = 0x0002,
- DIR_SCAN_NO_FILE = 0x0004,
- DIR_SCAN_NO_BLK = 0x0008,
- DIR_SCAN_NO_DIR = 0x0010,
- DIR_SCAN_NO_CHR = 0x0020,
- DIR_SCAN_NO_FIFO = 0x0040,
-
- DIR_SCAN_KEEP_TIME = 0x0100,
- DIR_SCAN_KEEP_UID = 0x0200,
- DIR_SCAN_KEEP_GID = 0x0400,
- DIR_SCAN_KEEP_MODE = 0x0800,
-
- DIR_SCAN_ONE_FILESYSTEM = 0x1000,
- DIR_SCAN_NO_RECURSION = 0x2000,
- DIR_SCAN_NO_HARDLINKS = 0x4000,
- DIR_SCAN_MATCH_FULL_PATH = 0x8000,
-};
-
-typedef struct {
- sqfs_u32 flags;
- sqfs_u32 def_uid;
- sqfs_u32 def_gid;
- sqfs_u32 def_mode;
- sqfs_s64 def_mtime;
-
- /**
- * @brief A prefix to attach to all returend paths
- *
- * If not null, this string and an additional "/" are prepended to
- * all entries returned by the iterator.
- */
- const char *prefix;
-
- /**
- * @brief A glob pattern that either the name must match
- *
- * If this is not NULL, only paths that match this globbing pattern
- * are returned. If the flag DIR_SCAN_MATCH_FULL_PATH is set, the
- * entire path must match, slashes cannot match wild card characters.
- * If not set, only the last part of the path is tested. The iterator
- * still recurses into directories, it simply doesn't report them if
- * they don't match.
- */
- const char *name_pattern;
-} dir_tree_cfg_t;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @brief Create a stacked, recursive directory tree iterator
- *
- * The underlying implementation automatically recurses into sub directories
- * and returns a flattened list of entries, where each entry represents a full
- * path. Advanced filtering, path pre-fixing et cetera can be configured.
- * The typical "." and ".." entries are filtered out as well.
- *
- * @param path A path to a directory on the file system.
- * @param cfg A @ref dir_tree_cfg_t filtering configuration.
- *
- * @return A pointer to a sqfs_dir_iterator_t implementation on success,
- * NULL on error (message is printed to stderr).
- */
-SQFS_INTERNAL
-sqfs_dir_iterator_t *dir_tree_iterator_create(const char *path,
- const dir_tree_cfg_t *cfg);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* IO_DIR_ITERATOR_H */