]> wimlib.net Git - wimlib/blobdiff - src/wimlib_internal.h
NTFS apply ADS fixes
[wimlib] / src / wimlib_internal.h
index a8ef2dc1e3addd9ccaf8f3ca1857f19e9d2ff05f..086765e4762ee79f0c019c8b95a95a050c7346d8 100644 (file)
@@ -191,8 +191,11 @@ struct wim_security_data {
         * that wimlib writes, currently), it will be 8 bytes. */
        u32 total_length;
 
-       /* The number of security descriptors in the array @descriptors, below. */
-       u32 num_entries;
+       /* The number of security descriptors in the array @descriptors, below.  
+        * It is really an unsigned int, but it must fit into an int because the
+        * security ID's are signed.  (Not like you would ever have more than a
+        * few hundred security descriptors anyway). */
+       int32_t num_entries;
 
        /* Array of sizes of the descriptors in the array @descriptors. */
        u64 *sizes;
@@ -266,8 +269,10 @@ typedef struct WIMStruct {
                int add_flags;
                int write_flags;
                bool write_metadata;
-               ntfs_volume *ntfs_vol;
        };
+#ifdef WITH_NTFS_3G
+       ntfs_volume *ntfs_vol;
+#endif
 
        /* The currently selected image, indexed starting at 1.  If not 0,
         * subtract 1 from this to get the index of the current image in the
@@ -330,12 +335,12 @@ struct capture_config {
 
 /* hardlink.c */
 
-struct link_group_table *new_link_group_table(u64 capacity);
+struct link_group_table *new_link_group_table(size_t capacity);
 int link_group_table_insert(struct dentry *dentry,
                            void *__table);
 void free_link_group_table(struct link_group_table *table);
-u64 assign_link_groups(struct link_group_table *table);
-int link_groups_free_duplicate_data(struct link_group_table *table);
+u64 assign_link_group_ids(struct link_group_table *table);
+int fix_link_groups(struct link_group_table *table);
 
 
 /* header.c */
@@ -356,7 +361,6 @@ extern bool exclude_path(const char *path,
                         const struct capture_config *config,
                         bool exclude_prefix);
 extern int do_add_image(WIMStruct *w, const char *dir, const char *name,
-                       const char *description, const char *flags_element,
                        const char *config_str, size_t config_len,
                        int flags,
                        int (*capture_tree)(struct dentry **, const char *,
@@ -384,7 +388,7 @@ extern int extract_wim_resource_to_fd(const struct lookup_table_entry *lte,
 extern int extract_full_wim_resource_to_fd(const struct lookup_table_entry *lte,
                                           int fd);
 
-extern int read_metadata_resource(FILE *fp, int wim_ctype, 
+extern int read_metadata_resource(WIMStruct *w,
                                  struct image_metadata *image_metadata);