-/* Compressed resources in the WIM are divided into separated compressed chunks
- * of this size. This value is unfortunately not configurable (at least when
- * compatibility with Microsoft's software is desired). */
-#define WIM_CHUNK_SIZE 32768
-
-/* Version of the WIM file. There is an older version (used for prerelease
- * versions of Windows Vista), but wimlib doesn't support it. The differences
- * between the versions are undocumented. */
-#define WIM_VERSION 0x10d00
-
-/* Version number used for a different WIM format, which as of Windows 8 can be
- * created by passing 0x20000000 in dwFlagsAndAttributes to WIMGAPI's
- * WIMCreateFile() and specifying either NONE, XPRESS, or LZMS compression.
- * This format is, however, currently undocumented by Microsoft and is seemingly
- * incompatible with their own ImageX and Dism programs. wimlib does not yet
- * support this format. */
-#define WIM_MYSTERY_VERSION 0xe00
-
-/* WIM magic characters, translated to a single 64-bit little endian number. */
-#define WIM_MAGIC \
- cpu_to_le64(((u64)'M' << 0) | \
- ((u64)'S' << 8) | \
- ((u64)'W' << 16) | \
- ((u64)'I' << 24) | \
- ((u64)'M' << 32) | \
- ((u64)'\0' << 40) | \
- ((u64)'\0' << 48) | \
- ((u64)'\0' << 54))
-
-/* wimlib pipable WIM magic characters, translated to a single 64-bit little
- * endian number. */
-#define PWM_MAGIC \
- cpu_to_le64(((u64)'W' << 0) | \
- ((u64)'L' << 8) | \
- ((u64)'P' << 16) | \
- ((u64)'W' << 24) | \
- ((u64)'M' << 32) | \
- ((u64)'\0' << 40) | \
- ((u64)'\0' << 48) | \
- ((u64)'\0' << 54))
-
-/* On-disk format of the WIM header. */
+/* Default WIM version number. Streams are always compressed independently. */
+#define WIM_VERSION_DEFAULT 0x10d00
+
+/* Version number used for WIMs that allow multiple blobs combined into one
+ * resource ("solid resources", marked by WIM_RESHDR_FLAG_SOLID) and also a new
+ * compression format (LZMS). This version is new as of Windows 8 WIMGAPI.
+ * Although it is used by Windows 8 web downloader, it is not yet documented by
+ * Microsoft. */
+#define WIM_VERSION_SOLID 0xe00
+
+/* Note: there is another WIM version from Vista pre-releases, but it is not
+ * supported by wimlib. */
+
+/* WIM magic characters, translated to a single 64-bit number. */
+#define WIM_MAGIC \
+ (((u64)'M' << 0) | \
+ ((u64)'S' << 8) | \
+ ((u64)'W' << 16) | \
+ ((u64)'I' << 24) | \
+ ((u64)'M' << 32) | \
+ ((u64)'\0' << 40) | \
+ ((u64)'\0' << 48) | \
+ ((u64)'\0' << 54))
+
+/* wimlib pipable WIM magic characters, translated to a single 64-bit number.
+ * */
+#define PWM_MAGIC \
+ (((u64)'W' << 0) | \
+ ((u64)'L' << 8) | \
+ ((u64)'P' << 16) | \
+ ((u64)'W' << 24) | \
+ ((u64)'M' << 32) | \
+ ((u64)'\0' << 40) | \
+ ((u64)'\0' << 48) | \
+ ((u64)'\0' << 54))
+
+/* On-disk format of the WIM header. */