X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fapply.h;h=5cd6e10fcec398af0c7ed5e06f87b5129343d29c;hb=41f15b937564a3ae58f199c27e8290a1b1a40856;hp=1019a48a15116eb65d7d747be88f4ef1cb1b4cac;hpb=57117039d9fe296fb160217aea226856c44c5d10;p=wimlib diff --git a/include/wimlib/apply.h b/include/wimlib/apply.h index 1019a48a..5cd6e10f 100644 --- a/include/wimlib/apply.h +++ b/include/wimlib/apply.h @@ -1,6 +1,7 @@ #ifndef _WIMLIB_APPLY_H #define _WIMLIB_APPLY_H +#include "wimlib/file_io.h" #include "wimlib/types.h" #include "wimlib/list.h" #include "wimlib.h" @@ -176,6 +177,11 @@ struct apply_operations { /* OPTIONAL: Set to 1 if extract_encrypted_stream() must be used to * create encrypted files. */ unsigned extract_encrypted_stream_creates_file : 1; + + /* OPTIONAL: Set to 1 if a link to a file with corresponding short name + * must be created before all links to the same file without + * corresponding short names. */ + unsigned requires_short_name_reordering : 1; }; struct wim_features { @@ -205,18 +211,21 @@ struct apply_ctx { size_t target_nchars; wimlib_progress_func_t progress_func; union wimlib_progress_info progress; - struct wim_dentry *extract_root; const struct apply_operations *ops; + struct list_head stream_list; struct wim_features supported_features; + bool root_dentry_is_special; u32 supported_attributes_mask; - struct list_head stream_list; + + struct wim_dentry *extract_root; tchar *realtarget; size_t realtarget_nchars; unsigned long invalid_sequence; unsigned long partial_security_descriptors; unsigned long no_security_descriptors; + struct filedes tmpfile_fd; + tchar *tmpfile_name; u64 num_streams_remaining; - bool root_dentry_is_special; uint64_t next_progress; intptr_t private[8]; };