X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib.h;h=71ef0a8e160d0270bf3497b3621f663bc2cfbe2e;hb=5816eba3f41b63910c5d932a8ed22a2c9f65c492;hp=cf47751ab5bcc218cc0fb54caac004804e7d4f46;hpb=e176e9731e696562bab8de7b9bd34c019deef3e8;p=wimlib diff --git a/include/wimlib.h b/include/wimlib.h index cf47751a..71ef0a8e 100644 --- a/include/wimlib.h +++ b/include/wimlib.h @@ -637,6 +637,21 @@ union wimlib_progress_info { * ::WIMLIB_PROGRESS_MSG_SCAN_BEGIN and * ::WIMLIB_PROGRESS_MSG_SCAN_END. */ const wimlib_tchar *wim_target_path; + + /** Number of directories scanned so far, including the root + * directory but excluding any unsupported/excluded directories. + * */ + uint64_t num_dirs_scanned; + + /** Number of non-directories scanned so far, excluding any + * unsupported/excluded files. */ + uint64_t num_nondirs_scanned; + + /** Number of bytes of file data that have been detected so far. + * This data may not actually have been read yet, and it will + * not actually be written to the WIM file until wimlib_write() + * or wimlib_overwrite() has been called. */ + uint64_t num_bytes_scanned; } scan; /** Valid on messages ::WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN, @@ -1302,7 +1317,9 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour /** This flag no longer does anything but is reserved for future use. */ #define WIMLIB_EXTRACT_FLAG_VERBOSE 0x00000008 -/** Read the WIM file sequentially while extracting the image. */ +/** Read the WIM file sequentially while extracting the image. As of wimlib + * v1.6.0 this is the default behavior, and this flag no longer does anything. + */ #define WIMLIB_EXTRACT_FLAG_SEQUENTIAL 0x00000010 /** Extract special UNIX data captured with ::WIMLIB_ADD_FLAG_UNIX_DATA. Only @@ -1365,6 +1382,13 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour * behavior is currently less than satisfactory. Do not use (yet). */ #define WIMLIB_EXTRACT_FLAG_RESUME 0x00010000 +/** Perform the extraction ordered by the tree of files to extract rather than + * how the underlying streams are arranged in the WIM file. For regular WIM + * files this may decrease or increase performance, depending on various + * factors. For WIM files containing packed streams this will decrease + * performance. */ +#define WIMLIB_EXTRACT_FLAG_FILE_ORDER 0x00020000 + /** @} */ /** @ingroup G_mounting_wim_images * @{ */ @@ -1526,10 +1550,27 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour #define WIMLIB_WRITE_FLAG_RESERVED 0x00000800 -/** TODO */ +/** When writing streams in the resulting WIM file, pack multiple streams into a + * single WIM resource instead of compressing them independently. This tends to + * produce a better compression ratio at the cost of less random access. + * Furthermore, WIMs created with this flag are only compatible with wimlib + * v1.6.0 or later and WIMGAPI Windows 8 or later, seemingly for Windows Setup + * only and not including ImageX and Dism. WIMs created with this flag + * use version number 3584 in their header instead of 68864. If this flag is + * passed to wimlib_overwrite() and the WIM did not previously contain packed + * streams, the WIM's version number will be changed to 3584 and the new streams + * will be written packed. */ #define WIMLIB_WRITE_FLAG_PACK_STREAMS 0x00001000 -/** TODO */ +/** Compress all streams independently. This produces a WIM optimized for + * random access and compatibility, as noted in the documentation for + * ::WIMLIB_WRITE_RESOURCE_FLAG_PACK_STREAMS. For wimlib_write(), this is the + * default behavior. For wimlib_overwrite(), this is the default if the WIM file + * did not already contain packed streams. Also, for wimlib_overwrite(), if the + * WIM already contained packed streams, specifying this flag but not + * ::WIMLIB_WRITE_FLAG_REBUILD will cause new streams to be written unpacked, + * but the WIM itself will not be rebuilt and may still contain packed streams. + */ #define WIMLIB_WRITE_FLAG_NO_PACK_STREAMS 0x00002000 /** @} */