From 3f7f3654d243275332d964f9ecbb79f9eb83a5d1 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Thu, 1 Jun 2023 14:55:58 +0200 Subject: libio: split dir_entry_t from dir_iterator_t, add create helper Signed-off-by: David Oberhollenzer --- include/io/dir_iterator.h | 78 +---------------------------------------------- 1 file changed, 1 insertion(+), 77 deletions(-) (limited to 'include/io/dir_iterator.h') diff --git a/include/io/dir_iterator.h b/include/io/dir_iterator.h index 20fcdff..6ae1cd1 100644 --- a/include/io/dir_iterator.h +++ b/include/io/dir_iterator.h @@ -7,84 +7,8 @@ #ifndef IO_DIR_ITERATOR_H #define IO_DIR_ITERATOR_H -#include "sqfs/predef.h" +#include "io/dir_entry.h" #include "io/istream.h" -#include "io/xattr.h" - -typedef enum { - DIR_ENTRY_FLAG_MOUNT_POINT = 0x0001, - - DIR_ENTRY_FLAG_HARD_LINK = 0x0002, -} DIR_ENTRY_FLAG; - -/** - * @struct dir_entry_t - * - * @brief A directory entry returned by a @ref dir_iterator_t - */ -typedef struct { - /** - * @brief Total size of file entries - */ - sqfs_u64 size; - - /** - * @brief Unix time stamp when the entry was last modified. - * - * If necessary, the OS native time stamp is converted to Unix time. - */ - sqfs_s64 mtime; - - /** - * @brief Device number where the entry is stored on. - * - * On Windows and other non-Unix OSes, a dummy value is stored here. - */ - sqfs_u64 dev; - - /** - * @brief Device number for device special files. - * - * On Windows and other non-Unix OSes, a dummy value is stored here. - */ - sqfs_u64 rdev; - - /** - * @brief ID of the user that owns the entry. - * - * On Windows and other non-Unix OSes, this always reports user 0. - */ - sqfs_u64 uid; - - /** - * @brief ID of the group that owns the entry. - * - * On Windows and other non-Unix OSes, this always reports group 0. - */ - sqfs_u64 gid; - - /** - * @brief Unix style permissions and entry type. - * - * On Windows and other non-Unix OSes, this is synthesized from the - * Unix-like file type, default 0755 permissions for directories or - * 0644 for files. - */ - sqfs_u16 mode; - - /** - * @brief Combination of DIR_ENTRY_FLAG values - */ - sqfs_u16 flags; - - /** - * @brief Name of the entry - * - * On Unix-like OSes, the name is returned as-is. On systems like - * Windows with encoding-aware APIs, the name is converted to UTF-8. - */ - char name[]; -} dir_entry_t; /** * @interface dir_iterator_t -- cgit v1.2.3