1 #ifndef _WIMLIB_APPLY_H
2 #define _WIMLIB_APPLY_H
5 #include "wimlib/types.h"
14 unsigned target_nchars;
15 struct wim_dentry *extract_root;
16 unsigned long invalid_sequence;
17 tchar *target_realpath;
18 unsigned target_realpath_len;
20 union wimlib_progress_info progress;
21 wimlib_progress_func_t progress_func;
22 int (*apply_dentry)(struct wim_dentry *, void *);
27 struct _ntfs_volume *vol;
32 /* Normal apply only (Win32) */
33 unsigned long num_set_sacl_priv_notheld;
34 unsigned long num_set_sd_access_denied;
36 unsigned long num_hard_links_failed;
37 unsigned long num_soft_links_failed;
42 /* Normal apply only (UNIX) */
43 unsigned long num_utime_warnings;
51 apply_dentry_ntfs(struct wim_dentry *dentry, void *arg);
54 apply_dentry_timestamps_ntfs(struct wim_dentry *dentry, void *arg);
59 win32_do_apply_dentry(const tchar *output_path,
60 size_t output_path_nbytes,
61 struct wim_dentry *dentry,
62 struct apply_args *args);
65 win32_do_apply_dentry_timestamps(const tchar *output_path,
66 size_t output_path_nbytes,
67 struct wim_dentry *dentry,
68 struct apply_args *args);
71 unix_do_apply_dentry(const tchar *output_path, size_t output_path_nbytes,
72 struct wim_dentry *dentry, struct apply_args *args);
74 unix_do_apply_dentry_timestamps(const tchar *output_path,
75 size_t output_path_nbytes,
76 struct wim_dentry *dentry,
77 struct apply_args *args);
78 #endif /* !__WIN32__ */
80 /* Internal use only */
81 #define WIMLIB_EXTRACT_FLAG_MULTI_IMAGE 0x80000000
82 #define WIMLIB_EXTRACT_FLAG_NO_STREAMS 0x40000000
83 #define WIMLIB_EXTRACT_MASK_PUBLIC 0x3fffffff
86 #endif /* _WIMLIB_APPLY_H */