]> wimlib.net Git - wimlib/blobdiff - include/wimlib/dentry.h
Limit exposure of dentry and inode creation
[wimlib] / include / wimlib / dentry.h
index 05cb8c3f9d762b33981e7f98b5657afa2f202968..cb0f330beebb8291f2239f9999087496decd2fbd 100644 (file)
@@ -9,11 +9,11 @@
 #include "wimlib/types.h"
 
 struct wim_inode;
-struct wim_lookup_table;
+struct blob_table;
 
 /* Base size of a WIM dentry in the on-disk format, up to and including the file
  * name length.  This does not include the variable-length file name, short
- * name, alternate data stream entries, and padding to 8-byte boundaries.  */
+ * name, extra stream entries, and padding to 8-byte boundaries.  */
 #define WIM_DENTRY_DISK_SIZE 102
 
 /*
@@ -144,7 +144,7 @@ will_extract_dentry(const struct wim_dentry *dentry)
        return dentry->d_extraction_list_node.next != NULL;
 }
 
-extern u64
+extern size_t
 dentry_out_total_length(const struct wim_dentry *dentry);
 
 extern int
@@ -231,13 +231,12 @@ extern tchar *
 dentry_full_path(struct wim_dentry *dentry);
 
 extern int
-new_dentry(const tchar *name, struct wim_dentry **dentry_ret);
+new_dentry_with_new_inode(const tchar *name, bool set_timestamps,
+                         struct wim_dentry **dentry_ret);
 
 extern int
-new_dentry_with_inode(const tchar *name, struct wim_dentry **dentry_ret);
-
-extern int
-new_dentry_with_timeless_inode(const tchar *name, struct wim_dentry **dentry_ret);
+new_dentry_with_existing_inode(const tchar *name, struct wim_inode *inode,
+                              struct wim_dentry **dentry_ret);
 
 extern void
 dentry_tree_clear_inode_visited(struct wim_dentry *root);
@@ -250,7 +249,7 @@ free_dentry(struct wim_dentry *dentry);
 
 extern void
 free_dentry_tree(struct wim_dentry *root,
-                struct wim_lookup_table *lookup_table);
+                struct blob_table *blob_table);
 
 extern void
 unlink_dentry(struct wim_dentry *dentry);