#ifndef _WIMLIB_APPLY_H
#define _WIMLIB_APPLY_H
+#include "wimlib/file_io.h"
#include "wimlib/types.h"
#include "wimlib/list.h"
#include "wimlib.h"
/* 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 {
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 *target_dentry;
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];
};