]> wimlib.net Git - wimlib/blobdiff - include/wimlib/wim.h
new internal image deletion helper
[wimlib] / include / wimlib / wim.h
index 86926d8983232817d3f663814790f9477dfbdbd4..a6275fa0669764d71dbc2a3b13939b7af571eb73 100644 (file)
@@ -57,16 +57,10 @@ struct WIMStruct {
        int current_image;
 
        /* Have any images been deleted? */
-       u8 deletion_occurred : 1;
+       u8 image_deletion_occurred : 1;
 
-       /* Do we know that all the stream reference counts in the WIM are
-        * correct?  If so, this is set to 1 and deletions are safe; otherwise
-        * this is set to 0 and deletions are not safe until reference counts
-        * are recalculated.  (This is due to a bug in M$'s software that
-        * generates WIMs with invalid reference counts.)  */
-       u8 refcnts_ok : 1;
-
-       u8 wim_locked : 1;
+       /* Has the underlying WIM file been locked for appending?  */
+       u8 locked_for_append : 1;
 
        /* One of WIMLIB_COMPRESSION_TYPE_*, cached from the header flags. */
        u8 compression_type;
@@ -114,9 +108,6 @@ static inline bool wim_has_metadata(const WIMStruct *wim)
        return (wim->image_metadata != NULL || wim->hdr.image_count == 0);
 }
 
-extern int
-wim_recalculate_refcnts(WIMStruct *wim);
-
 extern int
 set_wim_hdr_cflags(int ctype, struct wim_header *hdr);
 
@@ -145,6 +136,9 @@ for_image(WIMStruct *wim, int image, int (*visitor)(WIMStruct *));
 extern int
 wim_checksum_unhashed_streams(WIMStruct *wim);
 
+extern int
+delete_wim_image(WIMStruct *wim, int image);
+
 /* Internal open flags (pass to open_wim_as_WIMStruct(), not wimlib_open_wim())
  */
 #define WIMLIB_OPEN_FLAG_FROM_PIPE     0x80000000
@@ -154,13 +148,7 @@ open_wim_as_WIMStruct(const void *wim_filename_or_fd, int open_flags,
                      WIMStruct **wim_ret,
                      wimlib_progress_func_t progfunc, void *progctx);
 
-extern int
-close_wim(WIMStruct *wim);
-
 extern int
 can_modify_wim(WIMStruct *wim);
 
-extern int
-can_delete_from_wim(WIMStruct *wim);
-
 #endif /* _WIMLIB_WIM_H */