diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-05-14 17:00:33 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-05-15 09:40:23 +0200 |
commit | 69cf28db0dfa175884c9c41fc3f329b051e0a9c5 (patch) | |
tree | 0e1fe1f0c2f7a5c85aa6a88f4d8c8cc5ea04804d /include/io | |
parent | 20a4e5acd78dcb5f681ab5320adb0289cebfc277 (diff) |
libio: remove device number from dir_iterator_t, add flag field
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/io')
-rw-r--r-- | include/io/dir_iterator.h | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/include/io/dir_iterator.h b/include/io/dir_iterator.h index b7212b3..0de135a 100644 --- a/include/io/dir_iterator.h +++ b/include/io/dir_iterator.h @@ -10,6 +10,12 @@ #include "sqfs/predef.h" #include "io/istream.h" +typedef enum { + DIR_ENTRY_FLAG_MOUNT_POINT = 0x0001, + + DIR_ENTRY_FLAG_HARD_LINK = 0x0002, +} DIR_ENTRY_FLAG; + /** * @struct dir_entry_t * @@ -61,6 +67,11 @@ typedef struct { 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 @@ -78,19 +89,6 @@ typedef struct dir_iterator_t { sqfs_object_t obj; /** - * @brief A device number for detecting mount points and hard links. - * - * On Unix-like systems this exposes the underlying device number - * backing this directory. Each entry returned by the iterator also - * has a device number and if it is different, you found a mount point. - * - * The device number, combined with inode number, are also needed to - * detect hard links. Entries with same device and inode number point - * to the same file. - */ - sqfs_u64 dev; - - /** * @brief Read the next entry and update internal state relating to it * * @param it A pointer to the iterator itself |