]> wimlib.net Git - wimlib/blobdiff - include/wimlib.h
Scan progress: Add # of files, directories, and bytes scanned
[wimlib] / include / wimlib.h
index 3b358098e94bd9a0f41270d00044cce59e354781..71ef0a8e160d0270bf3497b3621f663bc2cfbe2e 100644 (file)
@@ -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,
@@ -1535,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 <b>not including ImageX and Dism</b>.  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
 
 /** @} */