+ /* If this WIMStruct has a backing file, then this is a file descriptor
+ * open to that file with read access. Otherwise, this field is invalid
+ * (!filedes_valid(&in_fd)). */
+ struct filedes in_fd;
+
+ /* If the library is currently writing this WIMStruct out to a file,
+ * then this is a file descriptor open to that file with write access.
+ * Otherwise, this field is invalid (!filedes_valid(&out_fd)). */
+ struct filedes out_fd;
+
+ /*
+ * This is the cached decompressor for this WIM file, or NULL if no
+ * decompressor is cached yet. Normally, all the compressed data in a
+ * WIM file has the same compression type and chunk size, so the same
+ * decompressor can be used for all data --- and that decompressor will
+ * be cached here. However, if we do encounter any data with a
+ * different compression type or chunk size (this is possible in solid
+ * resources), then this cached decompressor will be replaced with a new
+ * one.
+ */
+ struct wimlib_decompressor *decompressor;
+ u8 decompressor_ctype;
+ u32 decompressor_max_block_size;
+
+ /* Temporary field; use sparingly */
+ void *private;