]> wimlib.net Git - wimlib/blobdiff - src/wimlib_internal.h
win32: handle excluded reparse points correctly
[wimlib] / src / wimlib_internal.h
index 10784571a0118eee4b00627f5d9866e08a8a2a3a..1dfc43674cf3679bbfd569dfcf6827ee3a397586 100644 (file)
@@ -474,7 +474,8 @@ init_inode_table(struct wim_inode_table *table, size_t capacity);
 
 extern int
 inode_table_new_dentry(struct wim_inode_table *table, const tchar *name,
-                      u64 ino, u64 devno, struct wim_dentry **dentry_ret);
+                      u64 ino, u64 devno, bool noshare,
+                      struct wim_dentry **dentry_ret);
 
 extern void
 inode_ref_streams(struct wim_inode *inode);
@@ -540,6 +541,8 @@ write_metadata_resource(WIMStruct *w);
 struct apply_args {
        WIMStruct *w;
        const tchar *target;
+       tchar *target_realpath;
+       unsigned target_realpath_len;
        int extract_flags;
        union wimlib_progress_info progress;
        wimlib_progress_func_t progress_func;
@@ -551,18 +554,21 @@ struct apply_args {
                        struct _ntfs_volume *vol;
                };
        #endif
-               struct {
-                       /* Normal apply only (UNIX) */
-                       unsigned long num_utime_warnings;
-               };
-
+       #ifdef __WIN32__
                struct {
                        /* Normal apply only (Win32) */
                        unsigned long num_set_sacl_priv_notheld;
                        unsigned long num_set_sd_access_denied;
                        unsigned vol_flags;
+                       unsigned long num_hard_links_failed;
                        bool have_vol_flags;
                };
+       #else
+               struct {
+                       /* Normal apply only (UNIX) */
+                       unsigned long num_utime_warnings;
+               };
+       #endif
        };
 };
 
@@ -669,6 +675,8 @@ inode_set_symlink(struct wim_inode *inode, const char *target,
                  struct wim_lookup_table *lookup_table,
                  struct wim_lookup_table_entry **lte_ret);
 #endif
+extern tchar *
+fixup_symlink(tchar *dest, u64 capture_root_ino, u64 capture_root_dev);
 
 /* verify.c */