From 72674fc880fa3a5e121e07f9dcdf6f79437a3011 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Mon, 10 Apr 2023 16:36:12 +0200 Subject: Split out Windows directory iteration code to a dir_iterator_t type Signed-off-by: David Oberhollenzer --- include/util/dir_iterator.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 include/util/dir_iterator.h (limited to 'include/util/dir_iterator.h') diff --git a/include/util/dir_iterator.h b/include/util/dir_iterator.h new file mode 100644 index 0000000..66c13f3 --- /dev/null +++ b/include/util/dir_iterator.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ +/* + * dir_iterator.h + * + * Copyright (C) 2023 David Oberhollenzer + */ +#ifndef UTIL_DIR_ITERATOR_H +#define UTIL_DIR_ITERATOR_H + +#include "sqfs/predef.h" + +typedef struct { + sqfs_s64 mtime; + sqfs_u64 dev; + sqfs_u64 rdev; + sqfs_u32 uid; + sqfs_u32 gid; + sqfs_u16 mode; + + char name[]; +} dir_entry_t; + +typedef struct dir_iterator_t { + sqfs_object_t obj; + + int (*next)(struct dir_iterator_t *it, + dir_entry_t **out); +} dir_iterator_t; + +dir_iterator_t *dir_iterator_create(const char *path); + +#endif /* UTIL_DIR_ITERATOR_H */ -- cgit v1.2.3