]> wimlib.net Git - wimlib/blobdiff - src/wimlib.h
Various cleanups
[wimlib] / src / wimlib.h
index 08fb9a0f5d0e1ca890d6b586c6715a8688dfa251..084f70499fa908696bc101e6c79184d3b8418c65 100644 (file)
  *
  * \section intro Introduction
  *
+ * This is the documentation for the library interface of wimlib 1.2.0.  If you
+ * have installed wimlib and want to know how to use the @c imagex program,
+ * please see the man pages instead.
+ *
  * wimlib is a C library to read, write, and mount archive files in the Windows
  * Imaging Format (WIM files).  These files are normally created using the @c
  * imagex.exe utility on Windows, but this library provides a free
@@ -297,17 +301,17 @@ enum wimlib_progress_msg {
         * ::wimlib_progress_info.scan. */
        WIMLIB_PROGRESS_MSG_SCAN_END,
 
-       /** 
+       /**
         * File resources are currently being written to the WIM.
         * @a info will point to ::wimlib_progress_info.write_streams. */
        WIMLIB_PROGRESS_MSG_WRITE_STREAMS,
 
-       /** 
+       /**
         * The metadata resource for each image is about to be written to the
         * WIM. @a info will not be valid. */
        WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN,
 
-       /** 
+       /**
         * The metadata resource for each image has successfully been writen to
         * the WIM.  @a info will not be valid. */
        WIMLIB_PROGRESS_MSG_WRITE_METADATA_END,
@@ -410,6 +414,12 @@ union wimlib_progress_info {
                /** Number of the image being extracted (1-based). */
                int image;
 
+               /** Flags passed to to wimlib_extract_image() */
+               int extract_flags;
+
+               /** Full path to the WIM file being extracted. */
+               const char *wimfile_name;
+
                /** Name of the image being extracted. */
                const char *image_name;
 
@@ -668,6 +678,7 @@ typedef int (*wimlib_progress_func_t)(enum wimlib_progress_msg msg_type,
 enum wimlib_error_code {
        WIMLIB_ERR_SUCCESS = 0,
        WIMLIB_ERR_ALREADY_LOCKED,
+       WIMLIB_ERR_CHAR_CONVERSION,
        WIMLIB_ERR_COMPRESSED_LOOKUP_TABLE,
        WIMLIB_ERR_DECOMPRESSION,
        WIMLIB_ERR_DELETE_STAGING_DIR,
@@ -686,6 +697,7 @@ enum wimlib_error_code {
        WIMLIB_ERR_INVALID_INTEGRITY_TABLE,
        WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY,
        WIMLIB_ERR_INVALID_PARAM,
+       WIMLIB_ERR_INVALID_PART_NUMBER,
        WIMLIB_ERR_INVALID_RESOURCE_HASH,
        WIMLIB_ERR_INVALID_RESOURCE_SIZE,
        WIMLIB_ERR_INVALID_SECURITY_DATA,
@@ -1341,27 +1353,21 @@ extern int wimlib_join(const char **swms, unsigned num_swms,
 /**
  * Mounts an image in a WIM file on a directory read-only or read-write.
  *
- * A daemon will be forked to service the filesystem, unless
- * ::WIMLIB_MOUNT_FLAG_DEBUG is specified in @a mount_flags.  In other words,
- * this function returns @b before the image is unmounted, and filesystem
- * requests are handled by a new thread.  This also means that no functions may
- * be safely called on @a wim after wimlib_mount_image() has been called on any
- * images from it.  (@a wim will be freed by the filesystem thread after the
- * filesystem is unmounted.)
+ * The calling thread will be daemonized service the filesystem, and this
+ * function will not return until the image is unmounted, unless an error occurs
+ * before the filesystem is successfully mounted.
  *
  * If the mount is read-write (::WIMLIB_MOUNT_FLAG_READWRITE specified),
- * modifications to the WIM are staged in a temporary directory created in the
- * process's working directory when this function is called.
+ * modifications to the WIM are staged in a temporary directory.
  *
  * It is safe to mount multiple images from the same WIM file read-only at the
- * same time (but different ::WIMStruct's should be used).  However, it is @b
- * not safe to mount multiple images from the same WIM file read-write at the
- * same time.
+ * same time, but only if different ::WIMStruct's are used.  It is @b not safe
+ * to mount multiple images from the same WIM file read-write at the same time.
  *
  * wimlib_mount_image() cannot be used on an image that was exported with
  * wimlib_export_image() while the dentry trees for both images are still in
  * memory.  In addition, wimlib_mount_image() may not be used to mount an image
- * that has just been added with wimlib_add_image(), or unless the WIM has been
+ * that has just been added with wimlib_add_image(), unless the WIM has been
  * written and read into a new ::WIMStruct.
  *
  * @param wim