/* Temporary flag. */
u32 raw_copy_ok : 1;
+
+ /* Compression type of this resource. */
+ u32 compression_type : 22;
+
+ /* Compression chunk size of this resource. Irrelevant if the resource
+ * is uncompressed. */
+ u32 chunk_size;
};
/* On-disk version of a WIM resource header. */
/* Compression format used for compressed chunks:
* 0 = None
- * 1 = LZX
- * 2 = XPRESS
+ * 1 = XPRESS
+ * 2 = LZX
* 3 = LZMS
*
* This overrides the compression type specified by the WIM header. */
wim_reshdr_to_data(const struct wim_reshdr *reshdr,
WIMStruct *wim, void **buf_ret);
+extern int
+wim_reshdr_to_hash(const struct wim_reshdr *reshdr, WIMStruct *wim,
+ u8 hash[SHA1_HASH_SIZE]);
+
extern int
skip_wim_stream(struct wim_lookup_table_entry *lte);
* @lte:
* Stream that is about to be read.
*
- * @is_partial_res:
- * Set to true if the stream is just one of several being read from a
- * single pack and therefore would be extra expensive to read
- * independently.
- *
* @ctx:
* User-provided context.
*
* (without calling @consume_chunk or @end_stream).
*/
typedef int (*read_stream_list_begin_stream_t)(struct wim_lookup_table_entry *lte,
- bool is_partial_res,
void *ctx);
#define BEGIN_STREAM_STATUS_SKIP_STREAM -1
extract_full_stream_to_fd(struct wim_lookup_table_entry *lte,
struct filedes *fd);
-extern int
-extract_chunk_to_fd(const void *chunk, size_t size, void *_fd_p);
-
/* Miscellaneous stream functions. */
extern int