char *file_on_disk;
char *staging_file_name;
u8 *attached_buffer;
+ };
+ union {
struct lookup_table_entry *next_lte_in_swm;
+ FILE *file_on_disk_fp;
};
- FILE *file_on_disk_fp;
#ifdef WITH_FUSE
/* File descriptors table for this data stream */
u16 num_opened_fds;
* output_resource_entry is the struct resource_entry for the position of the
* file resource when written to the output file. */
u32 out_refcnt;
- struct resource_entry output_resource_entry;
+ union {
+ struct resource_entry output_resource_entry;
+ char *extracted_file;
+ };
/* Circular linked list of streams that share the same lookup table
* entry
return lte->resource_entry.original_size;
}
+static inline u64
+wim_resource_compressed_size(const struct lookup_table_entry *lte)
+{
+ return lte->resource_entry.size;
+}
+
+/*
+ * XXX Probably should store the compression type directly in the lookup table
+ * entry
+ */
static inline int
wim_resource_compression_type(const struct lookup_table_entry *lte)
{
if (!(lte->resource_entry.flags & WIM_RESHDR_FLAG_COMPRESSED)
- || !lte->wim)
+ || lte->resource_location != RESOURCE_IN_WIM)
return WIM_COMPRESSION_TYPE_NONE;
return wimlib_get_compression_type(lte->wim);
}
extern int zero_out_refcnts(struct lookup_table_entry *entry, void *ignore);
-extern void print_lookup_table_entry(struct lookup_table_entry *entry);
+extern void print_lookup_table_entry(const struct lookup_table_entry *entry);
extern int read_lookup_table(WIMStruct *w);