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;
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);
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
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 */