/* Mounts an image from a WIM file. */
WIMLIBAPI int wimlib_mount_image(WIMStruct *wim, int image, const char *dir,
int mount_flags, WIMStruct **additional_swms,
- unsigned num_additional_swms)
+ unsigned num_additional_swms,
+ const char *staging_dir)
{
int argc = 0;
char *argv[16];
goto out;
}
+ if (mount_flags & WIMLIB_MOUNT_FLAG_READWRITE) {
+ ret = lock_wim(wim->fp, wim->filename);
+ if (ret != 0)
+ goto out;
+ }
+
if (!(mount_flags & (WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_NONE |
WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_XATTR |
WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_WINDOWS)))
* Unmounts the WIM file that was previously mounted on @dir by using
* wimlib_mount_image().
*/
-WIMLIBAPI int wimlib_unmount_image(const char *dir, int unmount_flags)
+WIMLIBAPI int wimlib_unmount_image(const char *dir, int unmount_flags,
+ wimlib_progress_func_t progress_func)
{
pid_t pid;
int status;
return WIMLIB_ERR_UNSUPPORTED;
}
-WIMLIBAPI int wimlib_unmount_image(const char *dir, int unmount_flags)
+WIMLIBAPI int wimlib_unmount_image(const char *dir, int unmount_flags,
+ wimlib_progress_func_t progress_func)
{
return mount_unsupported_error();
}
WIMLIBAPI int wimlib_mount_image(WIMStruct *wim_p, int image, const char *dir,
int mount_flags, WIMStruct **additional_swms,
- unsigned num_additional_swms)
+ unsigned num_additional_swms,
+ const char *staging_dir)
{
return mount_unsupported_error();
}