#include <stdbool.h>
#include <inttypes.h>
+#define WIMLIB_MAJOR_VERSION 1
+#define WIMLIB_MINOR_VERSION 2
+#define WIMLIB_PATCH_VERSION 0
+
/**
* Opaque structure that represents a WIM file. This is an in-memory structure
* and need not correspond to a specific on-disk file. However, a ::WIMStruct
typedef int (*wimlib_progress_func_t)(enum wimlib_progress_msg msg_type,
const union wimlib_progress_info *info);
+
/*****************************
* WIMLIB_ADD_IMAGE_FLAG_* *
*****************************/
*/
enum wimlib_error_code {
WIMLIB_ERR_SUCCESS = 0,
+ WIMLIB_ERR_ALREADY_LOCKED,
WIMLIB_ERR_COMPRESSED_LOOKUP_TABLE,
WIMLIB_ERR_DECOMPRESSION,
WIMLIB_ERR_DELETE_STAGING_DIR,
* directory in the future. Set to @c NULL.
*
* @return 0 on success; nonzero on error.
+ * @retval ::WIMLIB_ERR_ALREADY_LOCKED
+ * A read-write mount was requested, but an an exclusive advisory lock on
+ * the on-disk WIM file could not be acquired because another thread or
+ * process has mounted an image from the WIM read-write or is currently
+ * modifying the WIM in-place.
* @retval ::WIMLIB_ERR_DECOMPRESSION
* Could not decompress the metadata resource for @a image in @a wim.
* @retval ::WIMLIB_ERR_FUSE
*
* @return 0 on success; nonzero on error. This function may return any value
* returned by wimlib_write() as well as the following error codes:
+ * @retval ::WIMLIB_ERR_ALREADY_LOCKED
+ * The WIM was going to be modifien in-place (with no temporary file), but
+ * an exclusive advisory lock on the on-disk WIM file could not be acquired
+ * because another thread or process has mounted an image from the WIM
+ * read-write or is currently modifying the WIM in-place.
* @retval ::WIMLIB_ERR_NO_FILENAME
* @a wim corresponds to a WIM created with wimlib_create_new_wim() rather
* than a WIM read with wimlib_open_wim().
* image, indexed starting at 1, is returned. If the keyword "all" or "*"
* was specified, ::WIMLIB_ALL_IMAGES is returned. Otherwise,
* ::WIMLIB_NO_IMAGE is returned. If @a image_name_or_num was @c NULL or
- * the empty string, ::WIM_NO_IMAGE is returned, even if one or more images
- * in @a wim has no name.
+ * the empty string, ::WIMLIB_NO_IMAGE is returned, even if one or more
+ * images in @a wim has no name.
*/
extern int wimlib_resolve_image(WIMStruct *wim, const char *image_name_or_num);