X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fresource.h;h=42a2edcce5e2876711ac1f025b1c027ffddce8da;hb=69f07a55f05919a15ff1ec77b963b48f5f6a5d04;hp=488ea6a99f2c2a8ddeec357ef69d8e7091ecf541;hpb=f36b35733a7e0bdb6b3e1920d7e6893bd0dc4d55;p=wimlib diff --git a/include/wimlib/resource.h b/include/wimlib/resource.h index 488ea6a9..42a2edcc 100644 --- a/include/wimlib/resource.h +++ b/include/wimlib/resource.h @@ -52,6 +52,13 @@ struct wim_resource_spec { /* 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. */ @@ -159,8 +166,8 @@ struct alt_chunk_table_header_disk { /* 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. */ @@ -196,6 +203,10 @@ extern int 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); @@ -205,11 +216,6 @@ 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. * @@ -219,7 +225,6 @@ skip_wim_stream(struct wim_lookup_table_entry *lte); * (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 @@ -293,9 +298,6 @@ extern int 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 @@ -304,8 +306,7 @@ sha1_stream(struct wim_lookup_table_entry *lte); /* Functions to read/write metadata resources. */ extern int -read_metadata_resource(WIMStruct *wim, - struct wim_image_metadata *image_metadata); +read_metadata_resource(struct wim_image_metadata *imd); extern int write_metadata_resource(WIMStruct *wim, int image, int write_resource_flags);