aboutsummaryrefslogtreecommitdiff
path: root/include/io
diff options
context:
space:
mode:
Diffstat (limited to 'include/io')
-rw-r--r--include/io/dir_iterator.h21
1 files changed, 11 insertions, 10 deletions
diff --git a/include/io/dir_iterator.h b/include/io/dir_iterator.h
index 74027f5..60c3796 100644
--- a/include/io/dir_iterator.h
+++ b/include/io/dir_iterator.h
@@ -125,6 +125,17 @@ typedef struct dir_iterator_t {
*/
int (*open_subdir)(struct dir_iterator_t *it,
struct dir_iterator_t **out);
+
+ /**
+ * @brief Skip a sub-hierarchy on a stacked iterator
+ *
+ * If an iterator would ordinarily recurse into a sub-directory,
+ * tell it to skip those entries. On simple, flag iterators like the
+ * one returned by @ref dir_iterator_create, this has no effect.
+ *
+ * @param it A pointer to the iterator itself.
+ */
+ void (*ignore_subdir)(struct dir_iterator_t *it);
} dir_iterator_t;
enum {
@@ -215,16 +226,6 @@ SQFS_INTERNAL
dir_iterator_t *dir_tree_iterator_create(const char *path,
const dir_tree_cfg_t *cfg);
-/**
- * @brief Skip a sub-hierarchy on a stacked iterator
- *
- * For an iterator returned by @ref dir_tree_iterator_create, if the last entry
- * was a directory, do not recurse, but instead skip across the netire sub-tree.
- *
- * @param it A pointer to an iterator returned by @ref dir_tree_iterator_create
- */
-SQFS_INTERNAL void dir_tree_iterator_skip(dir_iterator_t *it);
-
#ifdef __cplusplus
}
#endif