]> wimlib.net Git - wimlib/blobdiff - include/wimlib/wof.h
NTFS-3g capture: use reference-counted NTFS volumes
[wimlib] / include / wimlib / wof.h
index b2cdd2722d3be535b5e5b619c77f0edb46f29038..2c690c48d34e17a47466e6038d1d508e451f2f54 100644 (file)
@@ -4,13 +4,16 @@
  * Definitions for Windows Overlay File System Filter (WOF) ioctls.  See
  * http://msdn.microsoft.com/en-us/library/windows/hardware/ff540367(v=vs.85).aspx
  * for more information.
+ *
+ * The author dedicates this file to the public domain.
+ * You can do whatever you want with this file.
  */
 
 #ifndef _WOF_H_
 #define _WOF_H_
 
-#include "wimlib/types.h"
 #include "wimlib/compiler.h"
+#include "wimlib/types.h"
 
 #define WOF_CURRENT_VERSION    1
 #define WOF_PROVIDER_WIM       1
@@ -60,22 +63,23 @@ struct wim_provider_rpdata {
        /* Integer ID that identifies the WIM.  */
        le64 data_source_id;
 
-       /* SHA1 message digest of the file's unnamed data stream.  */
-       u8 resource_hash[20];
+       /* SHA-1 message digest of the file's unnamed data stream.  */
+       u8 unnamed_data_stream_hash[20];
 
-       /* SHA1 message digest of the WIM's lookup table.  */
-       u8 wim_lookup_table_hash[20];
+       /* SHA-1 message digest of the WIM's blob table as stored on disk.  */
+       u8 blob_table_hash[20];
 
        /* Uncompressed size of the file's unnamed data stream, in bytes.  */
-       le64 stream_uncompressed_size;
+       le64 unnamed_data_stream_size;
 
-       /* Compressed size of the file's unnamed data stream, in bytes.  If
-        * stream is stored uncompressed, set this the same as the uncompressed
-        * size.  */
-       le64 stream_compressed_size;
+       /* Size of the file's unnamed data stream as stored in the WIM file.
+        * If this is the same as unnamed_data_stream_size, then the stream is
+        * uncompressed.  If this is the *not* the same as
+        * unnamed_data_stream_size, then the stream is compressed.  */
+       le64 unnamed_data_stream_size_in_wim;
 
        /* Byte offset of the file's unnamed data stream in the WIM.  */
-       le64 stream_offset_in_wim;
+       le64 unnamed_data_stream_offset_in_wim;
 } _packed_attribute;
 
 /* WIM-specific information about a WIM data source  */
@@ -99,8 +103,8 @@ struct WimOverlay_dat_entry_1 {
        le32 wim_type;
 
        /* Index of the image in the WIM to use??? (This doesn't really make
-        * sense, since WIM files combine streams for all images into a single
-        * table.  Set to 1 if unsure...)  */
+        * sense, since WIM files combine file data "blobs" for all images into
+        * a single table.  Set to 1 if unsure...)  */
        le32 wim_index;
 
        /* GUID of the WIM file (copied from the WIM header, offset +0x18).  */
@@ -289,8 +293,8 @@ struct wim_provider_external_info {
         * FSCTL_ADD_OVERLAY ioctl.  */
        u64 data_source_id;
 
-       /* SHA1 message digest of the file's unnamed data stream.  */
-       u8 resource_hash[20];
+       /* SHA-1 message digest of the file's unnamed data stream.  */
+       u8 unnamed_data_stream_hash[20];
 };
 
 /*****************************************************************************
@@ -391,9 +395,9 @@ struct wim_provider_overlay_entry {
        /* Type of WIM file: WIM_BOOT_OS_WIM or WIM_BOOT_NOT_OS_WIM.  */
        uint32_t wim_type;
 
-       /* Index of the backing image in the WIM??? (This doesn't really make
-        * sense, since WIM files combine streams for all images into a single
-        * table.)  */
+       /* Index of the image in the WIM to use??? (This doesn't really make
+        * sense, since WIM files combine file data "blobs" for all images into
+        * a single table.  Set to 1 if unsure...)  */
        uint32_t wim_index;
 
        /* 0 when WIM provider active, otherwise
@@ -438,8 +442,8 @@ struct wim_provider_add_overlay_input {
 #define WIM_BOOT_NOT_OS_WIM    1
 
        /* Index of the image in the WIM to use??? (This doesn't really make
-        * sense, since WIM files combine streams for all images into a single
-        * table.  Set to 1 if unsure...)  */
+        * sense, since WIM files combine file data "blobs" for all images into
+        * a single table.  Set to 1 if unsure...)  */
        u32 wim_index;
 
        /* Byte offset of wim_file_name in this buffer, not including the