* need this.) */
u32 dont_check_metadata_hash : 1;
+ u32 may_send_done_with_file : 1;
+
+ /* Only used by wimlib_export_image() */
+ u32 was_exported : 1;
+
union {
/* (On-disk field) SHA1 message digest of the stream referenced
* by this lookup table entry. */
/* Number of times this lookup table entry is referenced by dentries in
* the WIM. When a WIM's lookup table is read, this field is
- * initialized from a corresponding entry; while it should be correct,
- * in general it may not be. wim_recalculate_refcnts() recalculates the
- * reference counts for all streams and is run before doing any
- * deletions. */
+ * initialized from a corresponding entry.
+ *
+ * However, see lte_decrement_refcnt() for information about the
+ * limitations of this field. */
u32 refcnt;
/* When a WIM file is written, this is set to the number of references
struct wim_resource_spec *rspec;
u64 offset_in_res;
};
- tchar *file_on_disk;
+ struct {
+ tchar *file_on_disk;
+ struct wim_inode *file_inode;
+ };
void *attached_buffer;
#ifdef WITH_FUSE
struct {
u32 alloc_stream_owners;
};
};
-
- /* Actual reference count to this stream (only used while
- * verifying an image). */
- u32 real_refcnt;
};
/* Temporary list fields. */
extern int
lte_zero_out_refcnt(struct wim_lookup_table_entry *lte, void *ignore);
-extern int
-lte_zero_real_refcnt(struct wim_lookup_table_entry *lte, void *ignore);
-
static inline bool
lte_is_partial(const struct wim_lookup_table_entry * lte)
{
lte->size != lte->rspec->uncompressed_size;
}
-static inline bool
-lte_filename_valid(const struct wim_lookup_table_entry *lte)
-{
- return lte->resource_location == RESOURCE_IN_FILE_ON_DISK
- #ifdef __WIN32__
- || lte->resource_location == RESOURCE_WIN32_ENCRYPTED
- #endif
- #ifdef WITH_FUSE
- || lte->resource_location == RESOURCE_IN_STAGING_FILE
- #endif
- ;
-}
-
static inline const struct stream_owner *
stream_owners(struct wim_lookup_table_entry *stream)
{