*/
/*
- * Copyright (C) 2012, 2013 Eric Biggers
+ * Copyright (C) 2012, 2013, 2014 Eric Biggers
*
* This file is part of wimlib, a library for working with WIM files.
*
*
* @section sec_intro Introduction
*
- * This is the documentation for the library interface of wimlib 1.6.1, a C
+ * This is the documentation for the library interface of wimlib 1.6.2, a C
* library for creating, modifying, extracting, and mounting files in the
* Windows Imaging Format. This documentation is intended for developers only.
* If you have installed wimlib and want to know how to use the @b wimlib-imagex
#define WIMLIB_MINOR_VERSION 6
/** Patch version of the library (for example, the 5 in 1.2.5). */
-#define WIMLIB_PATCH_VERSION 1
+#define WIMLIB_PATCH_VERSION 2
#ifdef __cplusplus
extern "C" {
* will not be valid. */
WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN,
- /** Confirms that the metadata resource for each image has successfully
- * been writen to the WIM. @p info will not be valid. */
+ /** Confirms that per-image metadata has been successfully been written
+ * to the WIM file. @p info will not be valid. This message is paired
+ * with a preceding ::WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN message.
+ */
WIMLIB_PROGRESS_MSG_WRITE_METADATA_END,
/** wimlib_overwrite() has successfully renamed the temporary file to
/** An integrity table is being calculated for the WIM being written.
* @p info will point to ::wimlib_progress_info.integrity. This message
- * is only received (and may be received many times) when a WIM is being
- * written with the flag ::WIMLIB_WRITE_FLAG_CHECK_INTEGRITY. */
+ * is only received (and may be received many times) when a WIM file is
+ * being written with the flag ::WIMLIB_WRITE_FLAG_CHECK_INTEGRITY. */
WIMLIB_PROGRESS_MSG_CALC_INTEGRITY,
/** Reserved. */
#define WIMLIB_REPARSE_TAG_DFS 0x8000000A
#define WIMLIB_REPARSE_TAG_DFSR 0x80000012
#define WIMLIB_REPARSE_TAG_FILTER_MANAGER 0x8000000B
+#define WIMLIB_REPARSE_TAG_WOF 0x80000017
#define WIMLIB_REPARSE_TAG_SYMLINK 0xA000000C
/** If the file is a reparse point (FILE_ATTRIBUTE_DIRECTORY set in the
* attributes), this will give the reparse tag. This tells you whether
*/
#define WIMLIB_ADD_FLAG_WINCONFIG 0x00000800
+/**
+ * Capture image as WIMBoot compatible.
+ *
+ * Note: this will not by itself change the compression type. Before writing
+ * the WIM file, it's recommended to also do:
+ *
+ * \code
+ * wimlib_set_output_compression_type(wim, WIMLIB_COMPRESSION_TYPE_XPRESS);
+ * wimlib_set_output_chunk_size(wim, 4096);
+ * \endcode
+ *
+ * since that makes access to the data faster (at the cost of a worse
+ * compression ratio compared to the 32768-byte LZX chunks usually used).
+ */
+#define WIMLIB_ADD_FLAG_WIMBOOT 0x00001000
+
#define WIMLIB_ADD_IMAGE_FLAG_NTFS WIMLIB_ADD_FLAG_NTFS
#define WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE WIMLIB_ADD_FLAG_DEREFERENCE
#define WIMLIB_ADD_IMAGE_FLAG_VERBOSE WIMLIB_ADD_FLAG_VERBOSE
#define WIMLIB_ADD_IMAGE_FLAG_NO_UNSUPPORTED_EXCLUDE \
WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE
#define WIMLIB_ADD_IMAGE_FLAG_WINCONFIG WIMLIB_ADD_FLAG_WINCONFIG
+#define WIMLIB_ADD_IMAGE_FLAG_WIMBOOT WIMLIB_ADD_FLAG_WIMBOOT
+
/** @} */
/** @ingroup G_modifying_wims
/** For wimlib_extract_paths() and wimlib_extract_pathlist() only: Do not
* preserve the directory structure of the archive when extracting --- that is,
- * place each extracted files or directory tree directly in the target
- * directory. */
+ * place each extracted file or directory tree directly in the target directory.
+ */
#define WIMLIB_EXTRACT_FLAG_NO_PRESERVE_DIR_STRUCTURE 0x00200000
+/** Windows only: Extract files as "pointers" back to the WIM archive. */
+#define WIMLIB_EXTRACT_FLAG_WIMBOOT 0x00400000
+
/** @} */
/** @ingroup G_mounting_wim_images
* @{ */
/** Do a "lazy" unmount (detach filesystem immediately, even if busy). */
#define WIMLIB_UNMOUNT_FLAG_LAZY 0x00000010
+/** In combination with ::WIMLIB_UNMOUNT_FLAG_COMMIT for a read-write mounted
+ * image, causes the modified image to be committed as a new, unnamed image
+ * appended to the archive. The original image will be unmodified. */
+#define WIMLIB_UNMOUNT_FLAG_NEW_IMAGE 0x00000020
+
/** @} */
/** @ingroup G_modifying_wims
* @{ */
WIMLIB_ERR_WRITE,
WIMLIB_ERR_XML,
WIMLIB_ERR_WIM_IS_ENCRYPTED,
+ WIMLIB_ERR_WIMBOOT,
};
*
* As of wimlib v1.6.1, this function is deprecated in favor of
* wimlib_extract_paths() because wimlib_extract_paths() is easier to use and
- * usually more efficient.
+ * more efficient.
*
* Notes: wimlib_extract_files() does not support the
* ::WIMLIB_EXTRACT_FLAG_GLOB_PATHS flag, and
* names is not supported --- on Windows, this occurs if the target volume
* does not support short names, while on non-Windows, this occurs if
* ::WIMLIB_EXTRACT_FLAG_NTFS was not specified in @p extract_flags.
+ * @retval ::WIMLIB_ERR_WIMBOOT
+ * ::WIMLIB_EXTRACT_FLAG_WIMBOOT was specified in @p extract_flags, but
+ * there was a problem creating WIMBoot pointer files.
* @retval ::WIMLIB_ERR_WRITE
* Failed to write data to a file being extracted.
*/