aboutsummaryrefslogtreecommitdiff
path: root/include/io/dir_iterator.h
diff options
context:
space:
mode:
authorDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-05-14 17:00:33 +0200
committerDavid Oberhollenzer <david.oberhollenzer@sigma-star.at>2023-05-15 09:40:23 +0200
commit69cf28db0dfa175884c9c41fc3f329b051e0a9c5 (patch)
tree0e1fe1f0c2f7a5c85aa6a88f4d8c8cc5ea04804d /include/io/dir_iterator.h
parent20a4e5acd78dcb5f681ab5320adb0289cebfc277 (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/dir_iterator.h')
-rw-r--r--include/io/dir_iterator.h24
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