#include "wimlib/list.h"
#include "wimlib/lookup_table.h"
#include "wimlib/sha1.h"
-#include "wimlib/unix_data.h"
#include <string.h>
* 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
inode_remove_ads(struct wim_inode *inode, u16 idx,
struct wim_lookup_table *lookup_table);
-static inline bool
-ads_entry_is_unix_data(const struct wim_ads_entry *entry)
-{
- return (entry->stream_name_nbytes ==
- WIMLIB_UNIX_DATA_TAG_UTF16LE_NBYTES) &&
- !memcmp(entry->stream_name, WIMLIB_UNIX_DATA_TAG_UTF16LE,
- WIMLIB_UNIX_DATA_TAG_UTF16LE_NBYTES);
-}
-
static inline bool
ads_entry_is_named_stream(const struct wim_ads_entry *entry)
{
- return entry->stream_name_nbytes != 0 && !ads_entry_is_unix_data(entry);
+ return entry->stream_name_nbytes != 0;
}
/* Is the inode a directory?