]> wimlib.net Git - wimlib/blobdiff - include/wimlib/header.h
header.h: fix outdated comment
[wimlib] / include / wimlib / header.h
index 62d916f0656375e6d9b7bc46f1faead8e8ebb433..66e46bd0d74bfd97e613945cb33a6159dbd604e3 100644 (file)
@@ -1,9 +1,10 @@
 #ifndef _WIMLIB_HEADER_H
 #define _WIMLIB_HEADER_H
 
+#include <limits.h>
+
 #include "wimlib/resource.h"
 #include "wimlib/types.h"
-#include "wimlib/endianness.h"
 
 /* Length of "Globally Unique ID" field in WIM header.  */
 #define WIM_GUID_LEN    16
  * be exactly this size.  */
 #define WIM_HEADER_DISK_SIZE 208
 
-/* Default WIM version number.  Streams are always compressed independently.  */
+/* Default WIM version number.  Blobs are always compressed independently.  */
 #define WIM_VERSION_DEFAULT 0x10d00
 
-/* Version number used for WIMs that allow multiple streams packed into one
- * resource ("solid blocks", marked by WIM_RESHDR_FLAG_PACKED_STREAMS) 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
- * properly documented by Microsoft.  */
-#define WIM_VERSION_PACKED_STREAMS 0xe00
+/* 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.  */
@@ -65,10 +66,8 @@ struct wim_header_disk {
        /* +0x10: Flags for the WIM file (WIM_HDR_FLAG_*).  */
        u32 wim_flags;
 
-       /* +0x14: Uncompressed chunk size for compressed resources in the WIM
-        * other than packed resources, or 0 if the WIM is uncompressed.
-        * (However wimlib will currently accept any value here if the WIM is
-        * uncompressed.)  */
+       /* +0x14: Uncompressed chunk size for non-solid compressed resources in
+        * the WIM or 0 if the WIM is uncompressed.  */
        u32 chunk_size;
 
        /* +0x18: Globally unique identifier for the WIM file.  Basically a
@@ -87,8 +86,8 @@ struct wim_header_disk {
         * least 1.  wimlib allows 0.  */
        u32 image_count;
 
-       /* +0x30: Location and size of the WIM's lookup table.  */
-       struct wim_reshdr_disk lookup_table_reshdr;
+       /* +0x30: Location and size of the WIM's blob table.  */
+       struct wim_reshdr_disk blob_table_reshdr;
 
        /* +0x48: Location and size of the WIM's XML data.  */
        struct wim_reshdr_disk xml_data_reshdr;
@@ -115,6 +114,7 @@ struct wim_header_disk {
        /* +0xd0 (208)  */
 } _packed_attribute;
 
+#define MAX_IMAGES (((INT_MAX < INT32_MAX) ? INT_MAX : INT32_MAX) - 1)
 
 /* In-memory representation of a WIM header.  See `struct wim_header_disk' for
  * field descriptions.  */
@@ -127,7 +127,7 @@ struct wim_header {
        u16 part_number;
        u16 total_parts;
        u32 image_count;
-       struct wim_reshdr lookup_table_reshdr;
+       struct wim_reshdr blob_table_reshdr;
        struct wim_reshdr xml_data_reshdr;
        struct wim_reshdr boot_metadata_reshdr;
        u32 boot_idx;
@@ -152,14 +152,14 @@ struct wim_header {
 /* The WIM is part of a split WIM.  */
 #define WIM_HDR_FLAG_SPANNED            0x00000008
 
-/* All streams included in the WIM's lookup table are non-metadata (do not have
+/* All blobs included in the WIM's blob table are non-metadata (do not have
  * WIM_RESHDR_FLAG_METADATA set).  wimlib ignores this flag and clears it on new
  * WIM files it writes.  */
 #define WIM_HDR_FLAG_RESOURCE_ONLY      0x00000010
 
-/* All streams included in the WIM's lookup table are metadata (have
- * WIM_RESHDR_FLAG_METADATA set).  wimlib ignores this flag and clears it on
- * new WIM files it writes.  */
+/* All blobs included in the WIM's blob table are metadata (have
+ * WIM_RESHDR_FLAG_METADATA set).  wimlib ignores this flag and clears it on new
+ * WIM files it writes.  */
 #define WIM_HDR_FLAG_METADATA_ONLY      0x00000020
 
 /* The WIM is currently being written or appended to.  */
@@ -186,8 +186,8 @@ struct wim_header {
 
 /* Resources in the WIM with WIM_RESHDR_FLAG_COMPRESSED set in their headers are
  * compressed with LZMS compression.  Note: this flag is only valid if the WIM
- * version is WIM_VERSION_PACKED_STREAMS.  Also, this flag is only supported in
- * wimlib v1.6.0 and later and WIMGAPI Windows 8 and later.  */
+ * version is WIM_VERSION_SOLID.  Also, this flag is only supported in wimlib
+ * v1.6.0 and later and WIMGAPI Windows 8 and later.  */
 #define WIM_HDR_FLAG_COMPRESS_LZMS      0x00080000
 
 /* XPRESS, with small chunk size???  */