*
* \section intro Introduction
*
- * This is the documentation for the library interface of wimlib 1.2.1. If you
+ * This is the documentation for the library interface of wimlib 1.2.3. If you
* have installed wimlib and want to know how to use the @c imagex program,
* please see the man pages instead.
*
#define WIMLIB_MAJOR_VERSION 1
#define WIMLIB_MINOR_VERSION 2
-#define WIMLIB_PATCH_VERSION 1
+#define WIMLIB_PATCH_VERSION 3
/**
* Opaque structure that represents a WIM file. This is an in-memory structure
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,
WIMLIB_ERR_FORK,
WIMLIB_ERR_FUSE,
WIMLIB_ERR_FUSERMOUNT,
+ WIMLIB_ERR_ICONV_NOT_AVAILABLE,
WIMLIB_ERR_IMAGE_COUNT,
WIMLIB_ERR_IMAGE_NAME_COLLISION,
WIMLIB_ERR_INTEGRITY,
WIMLIB_ERR_INVALID_RESOURCE_SIZE,
WIMLIB_ERR_INVALID_SECURITY_DATA,
WIMLIB_ERR_INVALID_UNMOUNT_MESSAGE,
+ WIMLIB_ERR_INVALID_UTF8_STRING,
+ WIMLIB_ERR_INVALID_UTF16_STRING,
+ WIMLIB_ERR_LIBXML_UTF16_HANDLER_NOT_AVAILABLE,
WIMLIB_ERR_LINK,
WIMLIB_ERR_MKDIR,
WIMLIB_ERR_MQUEUE,
/**
* Adds an image to a WIM file from an on-disk directory tree or NTFS volume.
*
- * The directory tree is read immediately for the purpose of constructing a
- * directory entry tree in-memory. Also, all files are read to calculate their
- * SHA1 message digests. However, because the directory tree may contain a very
- * large amount of data, the files themselves are not read into memory
- * permanently, and instead references to their paths saved. The files are then
- * read on-demand if wimlib_write() or wimlib_overwrite() is called.
+ * The directory tree of NTFS volume is read immediately for the purpose of
+ * constructing a directory entry tree in-memory. Also, all files are read to
+ * calculate their SHA1 message digests. However, because the directory tree
+ * may contain a very large amount of data, the files themselves are not read
+ * into memory permanently, and instead references to their paths saved. The
+ * files are then read on-demand if wimlib_write() or wimlib_overwrite() is
+ * called.
*
- * Please note that @b no changes are committed to the underlying WIM file (if
+ * See the manual page for the @c imagex program for more information about the
+ * "normal" capture mode versus the NTFS capture mode (entered by providing the
+ * flag ::WIMLIB_ADD_IMAGE_FLAG_NTFS).
+ *
+ * Note that @b no changes are committed to the underlying WIM file (if
* any) until wimlib_write() or wimlib_overwrite() is called.
*
* @param wim
* @param config_len
* Length of the string @a config in bytes. Ignored if @a config is @c
* NULL.
- *
* @param add_image_flags
- * Bitwise OR of flags prefixed with WIMLIB_ADD_IMAGE_FLAG. If
- * ::WIMLIB_ADD_IMAGE_FLAG_BOOT is specified, the image in @a wim that is
- * marked as bootable is changed to the one being added. If
- * ::WIMLIB_ADD_IMAGE_FLAG_VERBOSE is specified, the name of each file is
- * printed as it is scanned or captured. If
- * ::WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE is specified, the files or
- * directories pointed to by symbolic links are archived rather than the
- * symbolic links themselves.
- *
+ * Bitwise OR of flags prefixed with WIMLIB_ADD_IMAGE_FLAG.
* @param progress_func
* If non-NULL, a function that will be called periodically with the
* progress of the current operation.
* @retval ::WIMLIB_ERR_SPLIT_UNSUPPORTED
* @a wim is part of a split WIM. Adding an image to a split WIM is
* unsupported.
- * @retval ::WIMLIB_ERR_UNSUPPORTED:
+ * @retval ::WIMLIB_ERR_UNSUPPORTED
* ::WIMLIB_ADD_IMAGE_FLAG_NTFS was specified in @a add_image_flags, but
* wimlib was configured with the @c --without-ntfs-3g flag.
*/
/**
* Mounts an image in a WIM file on a directory read-only or read-write.
*
- * The calling thread will be daemonized service the filesystem, and this
+ * The calling thread will be daemonized to service the filesystem, and this
* function will not return until the image is unmounted, unless an error occurs
* before the filesystem is successfully mounted.
*
* @param image
* The number of the image for which to change the name.
* @param name
- * The new name to give the image. It must not a nonempty string.
+ * The new name to give the image. It must be a nonempty string.
*
* @return 0 on success; nonzero on error.
* @retval ::WIMLIB_ERR_IMAGE_NAME_COLLISION
* @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_SPLIT_UNSUPPORTED:
+ * @retval ::WIMLIB_ERR_SPLIT_UNSUPPORTED
* @a wim is not part 1 of a stand-alone WIM.
* @retval ::WIMLIB_ERR_INVALID_PARAM
* @a swm_name was @c NULL, or @a part_size was 0.
* @param dir
* The directory that the WIM image was mounted on.
* @param unmount_flags
- * Bitwise OR of the flags ::WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY and/or
- * ::WIMLIB_UNMOUNT_FLAG_COMMIT. Neither of these flags affect read-only
+ * Bitwise OR of the flags ::WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY,
+ * ::WIMLIB_UNMOUNT_FLAG_COMMIT, ::WIMLIB_UNMOUNT_FLAG_REBUILD, and/or
+ * ::WIMLIB_UNMOUNT_FLAG_RECOMPRESS. None of these flags affect read-only
* mounts.
* @param progress_func
* If non-NULL, a function that will be called periodically with the