]> wimlib.net Git - wimlib/blobdiff - src/wimboot.c
Stream and blob updates
[wimlib] / src / wimboot.c
index 9a61ba510bab13075ef60e40ceab270fcae47336..b06816e28c4a6986a45fe37114f5cd99876ee28e 100644 (file)
@@ -36,8 +36,8 @@
 #include "wimlib/win32_common.h"
 
 #include "wimlib/assert.h"
+#include "wimlib/blob_table.h"
 #include "wimlib/error.h"
-#include "wimlib/lookup_table.h"
 #include "wimlib/util.h"
 #include "wimlib/wimboot.h"
 #include "wimlib/win32.h"
@@ -1057,12 +1057,12 @@ out:
  *
  * @h
  *     Open handle to the file, with GENERIC_WRITE access.
- * @lte
- *     Unnamed data stream of the file.
+ * @blob
+ *     The blob for the unnamed data stream of the file.
  * @data_source_id
  *     Allocated identifier for the WIM data source on the destination volume.
- * @lookup_table_hash
- *     SHA-1 message digest of the WIM's lookup table.
+ * @blob_table_hash
+ *     SHA-1 message digest of the WIM's blob table.
  * @wof_running
  *     %true if the WOF driver appears to be available and working; %false if
  *     not.
@@ -1071,9 +1071,9 @@ out:
  */
 bool
 wimboot_set_pointer(HANDLE h,
-                   const struct wim_lookup_table_entry *lte,
+                   const struct blob_descriptor *blob,
                    u64 data_source_id,
-                   const u8 lookup_table_hash[SHA1_HASH_SIZE],
+                   const u8 blob_table_hash[SHA1_HASH_SIZE],
                    bool wof_running)
 {
        DWORD bytes_returned;
@@ -1096,9 +1096,9 @@ wimboot_set_pointer(HANDLE h,
                in.wim_info.version = WIM_PROVIDER_CURRENT_VERSION;
                in.wim_info.flags = 0;
                in.wim_info.data_source_id = data_source_id;
-               copy_hash(in.wim_info.resource_hash, lte->hash);
+               copy_hash(in.wim_info.unnamed_data_stream_hash, blob->hash);
 
-               /* lookup_table_hash is not necessary  */
+               /* blob_table_hash is not necessary  */
 
                if (!DeviceIoControl(h, FSCTL_SET_EXTERNAL_BACKING,
                                     &in, sizeof(in), NULL, 0,
@@ -1148,11 +1148,11 @@ wimboot_set_pointer(HANDLE h,
                in.wim_info.version = 2;
                in.wim_info.flags = 0;
                in.wim_info.data_source_id = data_source_id;
-               copy_hash(in.wim_info.resource_hash, lte->hash);
-               copy_hash(in.wim_info.wim_lookup_table_hash, lookup_table_hash);
-               in.wim_info.stream_uncompressed_size = lte->size;
-               in.wim_info.stream_compressed_size = lte->rspec->size_in_wim;
-               in.wim_info.stream_offset_in_wim = lte->rspec->offset_in_wim;
+               copy_hash(in.wim_info.unnamed_data_stream_hash, blob->hash);
+               copy_hash(in.wim_info.blob_table_hash, blob_table_hash);
+               in.wim_info.unnamed_data_stream_uncompressed_size = blob->size;
+               in.wim_info.unnamed_data_stream_compressed_size = blob->rdesc->size_in_wim;
+               in.wim_info.unnamed_data_stream_offset_in_wim = blob->rdesc->offset_in_wim;
 
                if (!DeviceIoControl(h, FSCTL_SET_REPARSE_POINT,
                                     &in, sizeof(in), NULL, 0, &bytes_returned, NULL))
@@ -1167,7 +1167,7 @@ wimboot_set_pointer(HANDLE h,
                        return false;
 
                if (!SetFilePointerEx(h,
-                                     (LARGE_INTEGER){ .QuadPart = lte->size},
+                                     (LARGE_INTEGER){ .QuadPart = blob->size},
                                      NULL, FILE_BEGIN))
                        return false;