/* Have any images been deleted? */
u8 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;
-
- u8 guid_set_explicitly : 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;
/* Chunk size for writing packed streams; can be set with
* wimlib_set_output_pack_chunk_size(). */
u32 out_pack_chunk_size;
+
+ /* Currently registered progress function for this WIMStruct, or NULL if
+ * no progress function is currently registered for this WIMStruct. */
+ wimlib_progress_func_t progfunc;
+ void *progctx;
};
static inline bool wim_is_pipable(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);
extern int
wim_checksum_unhashed_streams(WIMStruct *wim);
-extern int
-reopen_wim(WIMStruct *wim);
-
/* Internal open flags (pass to open_wim_as_WIMStruct(), not wimlib_open_wim())
*/
#define WIMLIB_OPEN_FLAG_FROM_PIPE 0x80000000
-#define WIMLIB_OPEN_MASK_PUBLIC 0x7fffffff
extern int
open_wim_as_WIMStruct(const void *wim_filename_or_fd, int open_flags,
WIMStruct **wim_ret,
- wimlib_progress_func_t progress_func);
-
-extern int
-close_wim(WIMStruct *wim);
+ wimlib_progress_func_t progfunc, void *progctx);
extern int
can_modify_wim(WIMStruct *wim);
-extern int
-can_delete_from_wim(WIMStruct *wim);
-
#endif /* _WIMLIB_WIM_H */