X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Flookup_table.h;h=097750588454a733ad3167cc085b5e9dd2470eb4;hb=c9482ee98e12fa3f1073e4fc3c56f5eef3c40f32;hp=aad400deb2d556584cd3a2704729e13c2e00cb41;hpb=26ba6eaef7f310b682513696930013225f658044;p=wimlib diff --git a/include/wimlib/lookup_table.h b/include/wimlib/lookup_table.h index aad400de..09775058 100644 --- a/include/wimlib/lookup_table.h +++ b/include/wimlib/lookup_table.h @@ -138,15 +138,21 @@ struct wim_lookup_table_entry { u16 resource_location : 5; /* 1 if this stream is a unique size (only set while writing streams). */ - u8 unique_size : 1; + u16 unique_size : 1; /* 1 if this stream has not had a SHA1 message digest calculated for it * yet */ - u8 unhashed : 1; + u16 unhashed : 1; - u8 deferred : 1; + u16 deferred : 1; - u8 no_progress : 1; + u16 no_progress : 1; + + /* If resource_location == RESOURCE_IN_WIM, this will be a cached value + * that specifies the compression type of this stream as one of + * WIMLIB_COMPRESSION_TYPE_*. Otherwise this will be 0, which is the + * same as WIMLIB_COMPRESSION_TYPE_NONE. */ + u16 compression_type : 2; /* (On-disk field) * Number of times this lookup table entry is referenced by dentries. @@ -268,8 +274,12 @@ wim_resource_compressed_size(const struct wim_lookup_table_entry *lte) return lte->resource_entry.size; } -extern int -wim_resource_compression_type(const struct wim_lookup_table_entry *lte); +static inline int +wim_resource_compression_type(const struct wim_lookup_table_entry *lte) +{ + BUILD_BUG_ON(WIMLIB_COMPRESSION_TYPE_NONE != 0); + return lte->compression_type; +} static inline bool lte_filename_valid(const struct wim_lookup_table_entry *lte)