wimlib
Loading...
Searching...
No Matches
Data Fields
wimlib_progress_info::wimlib_progress_info_extract Struct Reference

Valid on messages WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_TREE_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE, WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS, WIMLIB_PROGRESS_MSG_EXTRACT_METADATA, WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END, and WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END. More...

#include <wimlib.h>

Data Fields

uint32_t image
 The 1-based index of the image from which files are being extracted.
 
uint32_t extract_flags
 Extraction flags being used.
 
const wimlib_tcharwimfile_name
 If the WIMStruct from which the extraction being performed has a backing file, then this is an absolute path to that backing file.
 
const wimlib_tcharimage_name
 Name of the image from which files are being extracted, or the empty string if the image is unnamed.
 
const wimlib_tchartarget
 Path to the directory or NTFS volume to which the files are being extracted.
 
const wimlib_tcharreserved
 Reserved.
 
uint64_t total_bytes
 The number of bytes of file data that will be extracted.
 
uint64_t completed_bytes
 The number of bytes of file data that have been extracted so far.
 
uint64_t total_streams
 The number of file streams that will be extracted.
 
uint64_t completed_streams
 The number of file streams that have been extracted so far.
 
uint32_t part_number
 Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
 
uint32_t total_parts
 Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
 
uint8_t guid [WIMLIB_GUID_LEN]
 Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
 
uint64_t current_file_count
 For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages, this is the number of files that have been processed so far.
 
uint64_t end_file_count
 For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages, this is total number of files that will be processed.
 

Detailed Description

Valid on messages WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_TREE_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE, WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS, WIMLIB_PROGRESS_MSG_EXTRACT_METADATA, WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END, and WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END.

Note: most of the time of an extraction operation will be spent extracting file data, and the application will receive WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS during this time. Using completed_bytes and total_bytes, the application can calculate a percentage complete. However, there is no way for applications to know which file is currently being extracted. This is by design because the best way to complete the extraction operation is not necessarily file-by-file.

Field Documentation

◆ image

uint32_t wimlib_progress_info::wimlib_progress_info_extract::image

The 1-based index of the image from which files are being extracted.


◆ extract_flags

uint32_t wimlib_progress_info::wimlib_progress_info_extract::extract_flags

Extraction flags being used.


◆ wimfile_name

const wimlib_tchar* wimlib_progress_info::wimlib_progress_info_extract::wimfile_name

If the WIMStruct from which the extraction being performed has a backing file, then this is an absolute path to that backing file.

Otherwise, this is NULL.

◆ image_name

const wimlib_tchar* wimlib_progress_info::wimlib_progress_info_extract::image_name

Name of the image from which files are being extracted, or the empty string if the image is unnamed.


◆ target

const wimlib_tchar* wimlib_progress_info::wimlib_progress_info_extract::target

Path to the directory or NTFS volume to which the files are being extracted.


◆ reserved

const wimlib_tchar* wimlib_progress_info::wimlib_progress_info_extract::reserved

Reserved.


◆ total_bytes

uint64_t wimlib_progress_info::wimlib_progress_info_extract::total_bytes

The number of bytes of file data that will be extracted.


◆ completed_bytes

uint64_t wimlib_progress_info::wimlib_progress_info_extract::completed_bytes

The number of bytes of file data that have been extracted so far.

This starts at 0 and ends at total_bytes.

◆ total_streams

uint64_t wimlib_progress_info::wimlib_progress_info_extract::total_streams

The number of file streams that will be extracted.

This will often be similar to the "number of files", but for several reasons (hard links, named data streams, empty files, etc.) it can be different.

◆ completed_streams

uint64_t wimlib_progress_info::wimlib_progress_info_extract::completed_streams

The number of file streams that have been extracted so far.

This starts at 0 and ends at total_streams.

◆ part_number

uint32_t wimlib_progress_info::wimlib_progress_info_extract::part_number

◆ total_parts

uint32_t wimlib_progress_info::wimlib_progress_info_extract::total_parts

◆ guid

uint8_t wimlib_progress_info::wimlib_progress_info_extract::guid[WIMLIB_GUID_LEN]

◆ current_file_count

uint64_t wimlib_progress_info::wimlib_progress_info_extract::current_file_count

For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages, this is the number of files that have been processed so far.

Once the corresponding phase of extraction is complete, this value will be equal to end_file_count.

◆ end_file_count

uint64_t wimlib_progress_info::wimlib_progress_info_extract::end_file_count

For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages, this is total number of files that will be processed.

This number is provided for informational purposes only, e.g. for a progress bar. This number will not necessarily be equal to the number of files actually being extracted. This is because extraction backends are free to implement an extraction algorithm that might be more efficient than processing every file in the "extract file structure" and "extract file metadata" phases. For example, the current implementation of the UNIX extraction backend will create files on-demand during the "extract file data" phase. Therefore, when using that particular extraction backend, end_file_count will only include directories and empty files.


The documentation for this struct was generated from the following file: