X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fapply.h;h=cfddd1ed57ef8b601257de1106a5a09c70a06b50;hb=4ef81cbb80143f81a6bf72a3b908d81a2bb6d2e6;hp=da9087a7b5080883a8735d29af55061c6a5e21c2;hpb=43f92ce30b2398d1823e34e39ff248de521d015c;p=wimlib diff --git a/include/wimlib/apply.h b/include/wimlib/apply.h index da9087a7..cfddd1ed 100644 --- a/include/wimlib/apply.h +++ b/include/wimlib/apply.h @@ -31,6 +31,7 @@ struct wim_features { unsigned long object_ids; unsigned long timestamps; unsigned long case_sensitive_filenames; + unsigned long linux_xattrs; }; struct blob_descriptor; @@ -134,6 +135,21 @@ report_apply_error(struct apply_ctx *ctx, int error_code, const tchar *path) return report_error(ctx->progfunc, ctx->progctx, error_code, path); } +extern bool +detect_sparse_region(const void *data, size_t size, size_t *len_ret); + +static inline bool +maybe_detect_sparse_region(const void *data, size_t size, size_t *len_ret, + bool enabled) +{ + if (!enabled) { + /* Force non-sparse without checking */ + *len_ret = size; + return false; + } + return detect_sparse_region(data, size, len_ret); +} + #define inode_first_extraction_dentry(inode) \ ((inode)->i_first_extraction_alias)