]> wimlib.net Git - wimlib/blobdiff - include/wimlib/ntfs_3g.h
NTFS-3g capture: use reference-counted NTFS volumes
[wimlib] / include / wimlib / ntfs_3g.h
index 3d92dffc8d8936532de1a3e81b28ca9d6219e419..2641801f31811bc04536fd102cb4031b39d4f1a1 100644 (file)
@@ -1,23 +1,13 @@
 #ifndef _WIMLIB_NTFS_3G_H
 #define _WIMLIB_NTFS_3G_H
 
+#ifdef WITH_NTFS_3G
+
 #include "wimlib/callback.h"
 #include "wimlib/types.h"
 
 struct blob_descriptor;
-struct _ntfs_volume;
-
-#ifdef WITH_NTFS_3G
-struct _ntfs_volume;
-struct ntfs_location {
-       struct _ntfs_volume *ntfs_vol;
-       u64 mft_no;
-       utf16lechar *attr_name;
-       unsigned attr_name_nchars;
-       unsigned attr_type;
-       u64 sort_key;
-};
-#endif
+struct ntfs_location;
 
 extern void
 libntfs3g_global_init(void);
@@ -26,7 +16,16 @@ extern int
 read_ntfs_attribute_prefix(const struct blob_descriptor *blob, u64 size,
                           consume_data_callback_t cb, void *cb_ctx);
 
+extern struct ntfs_location *
+clone_ntfs_location(const struct ntfs_location *loc);
+
+extern void
+free_ntfs_location(struct ntfs_location *loc);
+
 extern int
-do_ntfs_umount(struct _ntfs_volume *vol);
+cmp_ntfs_locations(const struct ntfs_location *loc1,
+                  const struct ntfs_location *loc2);
+
+#endif /* WITH_NTFS_3G */
 
-#endif
+#endif /* _WIMLIB_NTFS_3G_H */