]> wimlib.net Git - wimlib/blobdiff - include/wimlib/inode.h
Recognize tagged metadata items and use for UNIX data
[wimlib] / include / wimlib / inode.h
index 9a94ce2fd8adff6a59da17b722c728e29b5f2c71..8c6aa95fef8cdccb05c16dd759e804000b26b392 100644 (file)
@@ -5,7 +5,6 @@
 #include "wimlib/list.h"
 #include "wimlib/lookup_table.h"
 #include "wimlib/sha1.h"
-#include "wimlib/unix_data.h"
 
 #include <string.h>
 
@@ -107,6 +106,15 @@ struct wim_inode {
         * entries for this inode.  */
        struct wim_ads_entry *i_ads_entries;
 
+       /* If not NULL, a pointer to the extra data that was read from the
+        * dentry.  This should be a series of tagged items, each of which
+        * represents a bit of extra metadata, such as the file's object ID.
+        * See tagged_items.c for more information.  */
+       void *i_extra;
+
+       /* Size of @i_extra buffer in bytes.  If 0, there is no extra data.  */
+       size_t i_extra_size;
+
        /* Creation time, last access time, and last write time for this inode, in
         * 100-nanosecond intervals since 12:00 a.m UTC January 1, 1601.  They
         * should correspond to the times gotten by calling GetFileTime() on
@@ -142,9 +150,6 @@ struct wim_inode {
         * wim_dentry_on_disk'.  */
        u64 i_ino;
 
-       /* UNIX data (wimlib extension)  */
-       struct wimlib_unix_data i_unix_data;
-
        union {
                /* Device number, used only during image capture, so we can
                 * identify hard linked files by the combination of inode number
@@ -344,12 +349,6 @@ ads_entry_is_named_stream(const struct wim_ads_entry *entry)
        return entry->stream_name_nbytes != 0;
 }
 
-static inline bool
-inode_has_unix_data(const struct wim_inode *inode)
-{
-       return inode->i_unix_data.mode != 0;
-}
-
 /* Is the inode a directory?
  * This doesn't count directories with reparse data.
  * wimlib only allows inodes of this type to have children.