Loading...
Searching...
No Matches
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_tchar * | 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.
const wimlib_tchar * | image_name
| Name of the image from which files are being extracted, or the empty string if the image is unnamed.
const wimlib_tchar * | target
| Path to the directory or NTFS volume to which the files are being extracted.
const wimlib_tchar * | reserved
| 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

Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.

## total_parts

uint32_t wimlib_progress_info::wimlib_progress_info_extract::total_parts

Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.

## guid

uint8_t wimlib_progress_info::wimlib_progress_info_extract::guid[WIMLIB_GUID_LEN]

Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.

## 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:

- wimlib.h