X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fblob_table.h;h=abc0c10f578f2609d8a74326b63ebb5d1947a9f4;hb=52c44c6a506cdfae17fd5fd5c6611622d342c128;hp=9dfca8dcc7171bfc8a81447a3375b8b2c66c3a73;hpb=b82856cb22783df0e19990eb68d3694753f52220;p=wimlib diff --git a/include/wimlib/blob_table.h b/include/wimlib/blob_table.h index 9dfca8dc..abc0c10f 100644 --- a/include/wimlib/blob_table.h +++ b/include/wimlib/blob_table.h @@ -108,7 +108,7 @@ struct blob_descriptor { struct wim_inode *back_inode; u32 back_stream_id; }; - }; + } _packed_attribute; /* union is SHA1_HASH_SIZE bytes */ /* Number of times this blob is referenced by file streams in WIM * images. See blob_decrement_refcnt() for information about the @@ -152,13 +152,6 @@ struct blob_descriptor { u16 unique_size : 1; u16 will_be_in_output_wim : 1; - /* Set to 1 if this blob represents a metadata resource that has been - * changed. In such cases, the hash cannot be used to verify the data - * if the metadata resource is read again. (This could be avoided if we - * used separate fields for input/output checksum, but most blobs - * wouldn't need this.) */ - u16 dont_check_metadata_hash : 1; - u16 may_send_done_with_file : 1; /* Only used by wimlib_export_image() */ @@ -313,6 +306,9 @@ extern void blob_decrement_num_opened_fds(struct blob_descriptor *blob); #endif +extern void +blob_release_location(struct blob_descriptor *blob); + extern void free_blob_descriptor(struct blob_descriptor *blob); @@ -341,8 +337,7 @@ blob_to_wimlib_resource_entry(const struct blob_descriptor *blob, struct wimlib_resource_entry *wentry); extern int -sort_blob_list(struct list_head *blob_list, - size_t list_head_offset, +sort_blob_list(struct list_head *blob_list, size_t list_head_offset, int (*compar)(const void *, const void*)); extern int @@ -353,7 +348,7 @@ extern int cmp_blobs_by_sequential_order(const void *p1, const void *p2); static inline const struct blob_extraction_target * -blob_extraction_targets(struct blob_descriptor *blob) +blob_extraction_targets(const struct blob_descriptor *blob) { if (blob->out_refcnt <= ARRAY_LEN(blob->inline_blob_extraction_targets)) return blob->inline_blob_extraction_targets; @@ -402,8 +397,7 @@ after_blob_hashed(struct blob_descriptor *blob, struct blob_table *blob_table); extern int -hash_unhashed_blob(struct blob_descriptor *blob, - struct blob_table *blob_table, +hash_unhashed_blob(struct blob_descriptor *blob, struct blob_table *blob_table, struct blob_descriptor **blob_ret); extern struct blob_descriptor **