Go to the documentation of this file.
395 # if defined(_MSC_VER) && _MSC_VER < 1800
396 typedef unsigned char bool;
398 # include <stdbool.h>
408 #define WIMLIB_MAJOR_VERSION 1
411 #define WIMLIB_MINOR_VERSION 13
414 #define WIMLIB_PATCH_VERSION 1
443 # define wimlib_timespec timespec
450 #ifndef WIMLIB_WIMSTRUCT_DECLARED
452 #define WIMLIB_WIMSTRUCT_DECLARED
465 # define WIMLIB_WIM_PATH_SEPARATOR '\\'
466 # define WIMLIB_WIM_PATH_SEPARATOR_STRING L"\\"
470 # define WIMLIB_WIM_PATH_SEPARATOR '/'
471 # define WIMLIB_WIM_PATH_SEPARATOR_STRING "/"
476 #define WIMLIB_WIM_ROOT_PATH WIMLIB_WIM_PATH_SEPARATOR_STRING
480 #define WIMLIB_IS_WIM_ROOT_PATH(path) \
481 ((path)[0] == WIMLIB_WIM_PATH_SEPARATOR && \
485 #define WIMLIB_GUID_LEN 16
1280 #define WIMLIB_CHANGE_READONLY_FLAG 0x00000001
1284 #define WIMLIB_CHANGE_GUID 0x00000002
1288 #define WIMLIB_CHANGE_BOOT_INDEX 0x00000004
1296 #define WIMLIB_CHANGE_RPFIX_FLAG 0x00000008
1539 #define WIMLIB_FILE_ATTRIBUTE_READONLY 0x00000001
1540 #define WIMLIB_FILE_ATTRIBUTE_HIDDEN 0x00000002
1541 #define WIMLIB_FILE_ATTRIBUTE_SYSTEM 0x00000004
1542 #define WIMLIB_FILE_ATTRIBUTE_DIRECTORY 0x00000010
1543 #define WIMLIB_FILE_ATTRIBUTE_ARCHIVE 0x00000020
1544 #define WIMLIB_FILE_ATTRIBUTE_DEVICE 0x00000040
1545 #define WIMLIB_FILE_ATTRIBUTE_NORMAL 0x00000080
1546 #define WIMLIB_FILE_ATTRIBUTE_TEMPORARY 0x00000100
1547 #define WIMLIB_FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
1548 #define WIMLIB_FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
1549 #define WIMLIB_FILE_ATTRIBUTE_COMPRESSED 0x00000800
1550 #define WIMLIB_FILE_ATTRIBUTE_OFFLINE 0x00001000
1551 #define WIMLIB_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
1552 #define WIMLIB_FILE_ATTRIBUTE_ENCRYPTED 0x00004000
1553 #define WIMLIB_FILE_ATTRIBUTE_VIRTUAL 0x00010000
1560 #define WIMLIB_REPARSE_TAG_RESERVED_ZERO 0x00000000
1561 #define WIMLIB_REPARSE_TAG_RESERVED_ONE 0x00000001
1562 #define WIMLIB_REPARSE_TAG_MOUNT_POINT 0xA0000003
1563 #define WIMLIB_REPARSE_TAG_HSM 0xC0000004
1564 #define WIMLIB_REPARSE_TAG_HSM2 0x80000006
1565 #define WIMLIB_REPARSE_TAG_DRIVER_EXTENDER 0x80000005
1566 #define WIMLIB_REPARSE_TAG_SIS 0x80000007
1567 #define WIMLIB_REPARSE_TAG_DFS 0x8000000A
1568 #define WIMLIB_REPARSE_TAG_DFSR 0x80000012
1569 #define WIMLIB_REPARSE_TAG_FILTER_MANAGER 0x8000000B
1570 #define WIMLIB_REPARSE_TAG_WOF 0x80000017
1571 #define WIMLIB_REPARSE_TAG_SYMLINK 0xA000000C
1681 #define WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE 0x00000001
1685 #define WIMLIB_ITERATE_DIR_TREE_FLAG_CHILDREN 0x00000002
1692 #define WIMLIB_ITERATE_DIR_TREE_FLAG_RESOURCES_NEEDED 0x00000004
1708 #define WIMLIB_ADD_FLAG_NTFS 0x00000001
1712 #define WIMLIB_ADD_FLAG_DEREFERENCE 0x00000002
1717 #define WIMLIB_ADD_FLAG_VERBOSE 0x00000004
1727 #define WIMLIB_ADD_FLAG_BOOT 0x00000008
1734 #define WIMLIB_ADD_FLAG_UNIX_DATA 0x00000010
1738 #define WIMLIB_ADD_FLAG_NO_ACLS 0x00000020
1745 #define WIMLIB_ADD_FLAG_STRICT_ACLS 0x00000040
1751 #define WIMLIB_ADD_FLAG_EXCLUDE_VERBOSE 0x00000080
1760 #define WIMLIB_ADD_FLAG_RPFIX 0x00000100
1763 #define WIMLIB_ADD_FLAG_NORPFIX 0x00000200
1769 #define WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE 0x00000400
1786 #define WIMLIB_ADD_FLAG_WINCONFIG 0x00000800
1816 #define WIMLIB_ADD_FLAG_WIMBOOT 0x00001000
1824 #define WIMLIB_ADD_FLAG_NO_REPLACE 0x00002000
1833 #define WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION 0x00004000
1845 #define WIMLIB_ADD_FLAG_SNAPSHOT 0x00008000
1855 #define WIMLIB_ADD_FLAG_FILE_PATHS_UNNEEDED 0x00010000
1862 #define WIMLIB_DELETE_FLAG_FORCE 0x00000001
1866 #define WIMLIB_DELETE_FLAG_RECURSIVE 0x00000002
1878 #define WIMLIB_EXPORT_FLAG_BOOT 0x00000001
1883 #define WIMLIB_EXPORT_FLAG_NO_NAMES 0x00000002
1886 #define WIMLIB_EXPORT_FLAG_NO_DESCRIPTIONS 0x00000004
1891 #define WIMLIB_EXPORT_FLAG_GIFT 0x00000008
1908 #define WIMLIB_EXPORT_FLAG_WIMBOOT 0x00000010
1923 #define WIMLIB_EXTRACT_FLAG_NTFS 0x00000001
1927 #define WIMLIB_EXTRACT_FLAG_UNIX_DATA 0x00000020
1931 #define WIMLIB_EXTRACT_FLAG_NO_ACLS 0x00000040
1942 #define WIMLIB_EXTRACT_FLAG_STRICT_ACLS 0x00000080
1952 #define WIMLIB_EXTRACT_FLAG_RPFIX 0x00000100
1957 #define WIMLIB_EXTRACT_FLAG_NORPFIX 0x00000200
1961 #define WIMLIB_EXTRACT_FLAG_TO_STDOUT 0x00000400
1972 #define WIMLIB_EXTRACT_FLAG_REPLACE_INVALID_FILENAMES 0x00000800
1982 #define WIMLIB_EXTRACT_FLAG_ALL_CASE_CONFLICTS 0x00001000
1987 #define WIMLIB_EXTRACT_FLAG_STRICT_TIMESTAMPS 0x00002000
1991 #define WIMLIB_EXTRACT_FLAG_STRICT_SHORT_NAMES 0x00004000
1997 #define WIMLIB_EXTRACT_FLAG_STRICT_SYMLINKS 0x00008000
2012 #define WIMLIB_EXTRACT_FLAG_GLOB_PATHS 0x00040000
2017 #define WIMLIB_EXTRACT_FLAG_STRICT_GLOB 0x00080000
2024 #define WIMLIB_EXTRACT_FLAG_NO_ATTRIBUTES 0x00100000
2032 #define WIMLIB_EXTRACT_FLAG_NO_PRESERVE_DIR_STRUCTURE 0x00200000
2040 #define WIMLIB_EXTRACT_FLAG_WIMBOOT 0x00400000
2050 #define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS4K 0x01000000
2054 #define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS8K 0x02000000
2058 #define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS16K 0x04000000
2062 #define WIMLIB_EXTRACT_FLAG_COMPACT_LZX 0x08000000
2069 #define WIMLIB_MOUNT_FLAG_READWRITE 0x00000001
2072 #define WIMLIB_MOUNT_FLAG_DEBUG 0x00000002
2075 #define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_NONE 0x00000004
2080 #define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_XATTR 0x00000008
2084 #define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_WINDOWS 0x00000010
2087 #define WIMLIB_MOUNT_FLAG_UNIX_DATA 0x00000020
2091 #define WIMLIB_MOUNT_FLAG_ALLOW_OTHER 0x00000040
2103 #define WIMLIB_OPEN_FLAG_CHECK_INTEGRITY 0x00000001
2108 #define WIMLIB_OPEN_FLAG_ERROR_IF_SPLIT 0x00000002
2118 #define WIMLIB_OPEN_FLAG_WRITE_ACCESS 0x00000004
2126 #define WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY 0x00000001
2130 #define WIMLIB_UNMOUNT_FLAG_COMMIT 0x00000002
2134 #define WIMLIB_UNMOUNT_FLAG_REBUILD 0x00000004
2138 #define WIMLIB_UNMOUNT_FLAG_RECOMPRESS 0x00000008
2148 #define WIMLIB_UNMOUNT_FLAG_FORCE 0x00000010
2154 #define WIMLIB_UNMOUNT_FLAG_NEW_IMAGE 0x00000020
2162 #define WIMLIB_UPDATE_FLAG_SEND_PROGRESS 0x00000001
2176 #define WIMLIB_WRITE_FLAG_CHECK_INTEGRITY 0x00000001
2183 #define WIMLIB_WRITE_FLAG_NO_CHECK_INTEGRITY 0x00000002
2197 #define WIMLIB_WRITE_FLAG_PIPABLE 0x00000004
2203 #define WIMLIB_WRITE_FLAG_NOT_PIPABLE 0x00000008
2230 #define WIMLIB_WRITE_FLAG_RECOMPRESS 0x00000010
2245 #define WIMLIB_WRITE_FLAG_FSYNC 0x00000020
2259 #define WIMLIB_WRITE_FLAG_REBUILD 0x00000040
2270 #define WIMLIB_WRITE_FLAG_SOFT_DELETE 0x00000080
2281 #define WIMLIB_WRITE_FLAG_IGNORE_READONLY_FLAG 0x00000100
2289 #define WIMLIB_WRITE_FLAG_SKIP_EXTERNAL_WIMS 0x00000200
2292 #define WIMLIB_WRITE_FLAG_STREAMS_OK 0x00000400
2300 #define WIMLIB_WRITE_FLAG_RETAIN_GUID 0x00000800
2337 #define WIMLIB_WRITE_FLAG_SOLID 0x00001000
2344 #define WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES 0x00002000
2351 #define WIMLIB_WRITE_FLAG_NO_SOLID_SORT 0x00004000
2369 #define WIMLIB_WRITE_FLAG_UNSAFE_COMPACT 0x00008000
2376 #define WIMLIB_INIT_FLAG_ASSUME_UTF8 0x00000001
2386 #define WIMLIB_INIT_FLAG_DONT_ACQUIRE_PRIVILEGES 0x00000002
2393 #define WIMLIB_INIT_FLAG_STRICT_CAPTURE_PRIVILEGES 0x00000004
2400 #define WIMLIB_INIT_FLAG_STRICT_APPLY_PRIVILEGES 0x00000008
2404 #define WIMLIB_INIT_FLAG_DEFAULT_CASE_SENSITIVE 0x00000010
2408 #define WIMLIB_INIT_FLAG_DEFAULT_CASE_INSENSITIVE 0x00000020
2416 #define WIMLIB_REF_FLAG_GLOB_ENABLE 0x00000001
2425 #define WIMLIB_REF_FLAG_GLOB_ERR_ON_NOMATCH 0x00000002
2592 #define WIMLIB_NO_IMAGE 0
2595 #define WIMLIB_ALL_IMAGES (-1)
3509 int wim_write_flags);
3527 int wim_write_flags,
3842 const wimlib_tchar *
const *resource_wimfiles_or_globs,
3869 unsigned num_resource_wims,
int ref_flags);
3935 WIMStruct *template_wim,
int template_image,
4147 void (*free_func)(
void *),
4148 void *(*realloc_func)(
void *,
size_t));
4569 unsigned num_threads);
4596 unsigned num_threads);
4615 struct wimlib_compressor;
4618 struct wimlib_decompressor;
4662 size_t max_block_size,
4663 unsigned int compression_level);
4665 #define WIMLIB_COMPRESSOR_FLAG_DESTRUCTIVE 0x80000000
4737 size_t max_block_size,
4738 unsigned int compression_level,
4739 struct wimlib_compressor **compressor_ret);
4762 wimlib_compress(
const void *uncompressed_data,
size_t uncompressed_size,
4763 void *compressed_data,
size_t compressed_size_avail,
4764 struct wimlib_compressor *compressor);
4810 size_t max_block_size,
4811 struct wimlib_decompressor **decompressor_ret);
4842 void *uncompressed_data,
size_t uncompressed_size,
4843 struct wimlib_decompressor *decompressor);
@ WIMLIB_PROGRESS_MSG_SCAN_BEGIN
The directory or NTFS volume is about to be scanned for metadata.
Definition: wimlib.h:634
@ WIMLIB_ERR_ALREADY_LOCKED
Definition: wimlib.h:2508
wimlib_compression_type
Specifies a compression type.
Definition: wimlib.h:497
int wimlib_reference_resource_files(WIMStruct *wim, const wimlib_tchar *const *resource_wimfiles_or_globs, unsigned count, int ref_flags, int open_flags)
const wimlib_tchar * wimlib_get_compression_type_string(enum wimlib_compression_type ctype)
int32_t compression_type
The default compression type of resources in this WIM file, as one of the wimlib_compression_type con...
Definition: wimlib.h:1341
Valid on messages WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY and WIMLIB_PROGRESS_MSG_CALC_INTEGRITY.
Definition: wimlib.h:1052
int wimlib_open_wim(const wimlib_tchar *wim_file, int open_flags, WIMStruct **wim_ret)
@ WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY
The contents of the WIM file are being checked against the integrity table.
Definition: wimlib.h:676
@ WIMLIB_ERR_UNEXPECTED_END_OF_FILE
Definition: wimlib.h:2562
@ WIMLIB_UPDATE_OP_ADD
Add a new file or directory tree to the image.
Definition: wimlib.h:2434
uint64_t completed_bytes
The number of bytes of file data that have been written so far.
Definition: wimlib.h:829
@ WIMLIB_ERR_INVALID_PARAM
Definition: wimlib.h:2525
int wimlib_global_init(int init_flags)
int wimlib_set_error_file_by_name(const wimlib_tchar *path)
@ WIMLIB_SCAN_DENTRY_OK
File looks okay and will be captured.
Definition: wimlib.h:874
uint32_t unix_rdev
The UNIX device ID (major and minor number) of this file.
Definition: wimlib.h:1626
uint32_t attributes
File attributes, such as whether the file is a directory or not.
Definition: wimlib.h:1558
uint16_t part_number
For split WIMs, the 1-based index of this part within the split WIM; otherwise 1.
Definition: wimlib.h:1333
@ WIMLIB_ERR_WRITE
Definition: wimlib.h:2568
uint8_t sha1_hash[20]
The SHA-1 message digest of the blob's uncompressed contents.
Definition: wimlib.h:1430
const wimlib_tchar * path_to_file
Path to the file whose data has been written to the WIM file, or is currently being asynchronously co...
Definition: wimlib.h:1163
int wimlib_set_print_errors(bool show_messages)
@ WIMLIB_ERR_IMAGE_NAME_COLLISION
Definition: wimlib.h:2513
@ WIMLIB_ERR_UNABLE_TO_READ_CAPTURE_CONFIG
Definition: wimlib.h:2579
struct wimlib_progress_info::wimlib_progress_info_wimboot_exclude wimboot_exclude
int wimlib_set_image_property(WIMStruct *wim, int image, const wimlib_tchar *property_name, const wimlib_tchar *property_value)
uint32_t completed_parts
This is currently broken and will always be 0.
Definition: wimlib.h:850
@ WIMLIB_ERR_IS_SPLIT_WIM
Definition: wimlib.h:2533
@ WIMLIB_PROGRESS_STATUS_CONTINUE
The operation should be continued.
Definition: wimlib.h:790
int32_t reserved2
Definition: wimlib.h:1644
@ WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND
A WIM update command has been executed.
Definition: wimlib.h:703
uint32_t is_missing
1 iff a blob with this hash was not found in the blob lookup table of the WIMStruct.
Definition: wimlib.h:1454
@ WIMLIB_PROGRESS_MSG_WRITE_STREAMS
File data is currently being written to the WIM.
Definition: wimlib.h:653
Valid on messages WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE
Definition: wimlib.h:1116
@ WIMLIB_ERR_METADATA_NOT_FOUND
Definition: wimlib.h:2535
@ WIMLIB_ERR_INVALID_CHUNK_SIZE
Definition: wimlib.h:2517
Valid on messages WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN.
Definition: wimlib.h:1125
uint32_t resource_only
1 iff the "resource only" flag is set in this WIM's header
Definition: wimlib.h:1375
@ WIMLIB_ERR_INVALID_INTEGRITY_TABLE
Definition: wimlib.h:2521
@ WIMLIB_ERR_INVALID_PART_NUMBER
Definition: wimlib.h:2526
@ WIMLIB_ERR_SET_XATTR
Definition: wimlib.h:2587
@ WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM
A file in the image is being replaced as a result of a wimlib_add_command without WIMLIB_ADD_FLAG_NO_...
Definition: wimlib.h:710
@ WIMLIB_ERR_MKDIR
Definition: wimlib.h:2536
@ WIMLIB_ERR_RENAME
Definition: wimlib.h:2551
struct wimlib_timespec last_access_time
Time this file was last accessed.
Definition: wimlib.h:1603
int wimlib_create_decompressor(enum wimlib_compression_type ctype, size_t max_block_size, struct wimlib_decompressor **decompressor_ret)
Allocate a decompressor for the specified compression type.
const wimlib_tchar * wimlib_get_error_string(enum wimlib_error_code code)
@ WIMLIB_COMPRESSION_TYPE_LZMS
The LZMS compression format.
Definition: wimlib.h:570
@ WIMLIB_ERR_WIMBOOT
Definition: wimlib.h:2571
@ WIMLIB_ERR_WIM_IS_INCOMPLETE
Definition: wimlib.h:2580
int wimlib_set_memory_allocator(void *(*malloc_func)(size_t), void(*free_func)(void *), void *(*realloc_func)(void *, size_t))
bool will_ignore
Indicates whether the error will be ignored or not.
Definition: wimlib.h:1224
@ WIMLIB_ERR_NOT_A_REGULAR_FILE
Definition: wimlib.h:2541
Valid on messages WIMLIB_PROGRESS_MSG_RENAME.
Definition: wimlib.h:1025
wimlib_tchar * fs_source_path
Filesystem path to the file or directory tree to add.
Definition: wimlib.h:2446
wimlib_error_code
Possible values of the error code returned by many functions in wimlib.
Definition: wimlib.h:2506
@ WIMLIB_SCAN_DENTRY_EXCLUDED
File is being excluded from capture due to the capture configuration.
Definition: wimlib.h:878
@ WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END
The files or directory trees have been successfully extracted.
Definition: wimlib.h:627
@ WIMLIB_PROGRESS_MSG_EXTRACT_TREE_BEGIN
One or more file or directory trees within a WIM image is about to be extracted.
Definition: wimlib.h:592
uint32_t is_marked_readonly
1 iff the "readonly" flag is set in this WIM's header
Definition: wimlib.h:1363
uint64_t hard_link_group_id
A unique identifier for this file's inode.
Definition: wimlib.h:1594
@ WIMLIB_ERR_NOT_PERMITTED_TO_UNMOUNT
Definition: wimlib.h:2577
int wimlib_add_tree(WIMStruct *wim, int image, const wimlib_tchar *fs_source_path, const wimlib_tchar *wim_target_path, int add_flags)
uint8_t domain_id[WIMLIB_GUID_LEN]
Definition: wimlib.h:1507
uint64_t reserved[4]
Definition: wimlib.h:1646
uint32_t reparse_tag
If the file is a reparse point (FILE_ATTRIBUTE_REPARSE_POINT set in the attributes),...
Definition: wimlib.h:1576
int wimlib_join(const wimlib_tchar *const *swms, unsigned num_swms, const wimlib_tchar *output_path, int swm_open_flags, int wim_write_flags)
uint32_t unmount_flags
Flags passed to wimlib_unmount_image().
Definition: wimlib.h:1140
#define WIMLIB_GUID_LEN
Length of a Globally Unique Identifier (GUID), in bytes.
Definition: wimlib.h:485
int wimlib_set_output_pack_compression_type(WIMStruct *wim, enum wimlib_compression_type ctype)
@ WIMLIB_PROGRESS_MSG_RENAME
wimlib_overwrite() has successfully renamed the temporary file to the original WIM file,...
Definition: wimlib.h:669
uint32_t image_count
The number of images in this WIM file.
Definition: wimlib.h:1318
struct wimlib_progress_info::wimlib_progress_info_verify_streams verify_streams
uint32_t total_parts
The number of on-disk WIM files from which file data is being exported into the output WIM file.
Definition: wimlib.h:847
struct wimlib_stream_entry streams[]
Variable-length array of streams that make up this file.
Definition: wimlib.h:1662
int wimlib_set_output_pack_chunk_size(WIMStruct *wim, uint32_t chunk_size)
int wimlib_unmount_image(const wimlib_tchar *dir, int unmount_flags)
struct wimlib_progress_info::wimlib_progress_info_test_file_exclusion test_file_exclusion
uint32_t reserved_flags
Definition: wimlib.h:1379
const wimlib_tchar * wimlib_get_version_string(void)
@ WIMLIB_ERR_WIM_IS_READONLY
Definition: wimlib.h:2567
@ WIMLIB_ERR_FUSE
Definition: wimlib.h:2510
@ WIMLIB_ERR_INSUFFICIENT_PRIVILEGES
Definition: wimlib.h:2514
enum wimlib_update_op op
Definition: wimlib.h:2486
int wimlib_delete_path(WIMStruct *wim, int image, const wimlib_tchar *path, int delete_flags)
An array of these structures is passed to wimlib_add_image_multisource() to specify the sources from ...
Definition: wimlib.h:1257
@ WIMLIB_SCAN_DENTRY_FIXED_SYMLINK
The file is an absolute symbolic link or junction that points into the capture directory,...
Definition: wimlib.h:890
@ WIMLIB_ERR_SET_ATTRIBUTES
Definition: wimlib.h:2555
uint64_t total_streams
Definition: wimlib.h:1177
struct wimlib_progress_info::wimlib_progress_info_unmount unmount
const wimlib_tchar * dos_name
8.3 name (or "DOS name", or "short name") of this file; or NULL if this file has no such name.
Definition: wimlib.h:1521
struct wimlib_progress_info::wimlib_progress_info_replace replace
@ WIMLIB_SCAN_DENTRY_UNSUPPORTED
File is being excluded from capture due to being of an unsupported type.
Definition: wimlib.h:882
wimlib_tchar * wim_source_path
The path to the source file or directory within the image.
Definition: wimlib.h:2474
@ WIMLIB_UPDATE_OP_RENAME
Rename a file or directory tree in the image.
Definition: wimlib.h:2440
char wimlib_tchar
See Character encoding.
Definition: wimlib.h:459
void wimlib_free_decompressor(struct wimlib_decompressor *decompressor)
Free a decompressor previously allocated with wimlib_create_decompressor().
@ WIMLIB_ERR_INVALID_RESOURCE_HASH
Definition: wimlib.h:2529
@ WIMLIB_ERR_DECOMPRESSION
Definition: wimlib.h:2509
int wimlib_set_image_name(WIMStruct *wim, int image, const wimlib_tchar *name)
@ WIMLIB_ERR_INVALID_XATTR
Definition: wimlib.h:2586
const wimlib_tchar * to
Name of the original WIM file to which the temporary file is being renamed.
Definition: wimlib.h:1031
unsigned cur_part_number
Number of the split WIM part that is about to be started (WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART) or ha...
Definition: wimlib.h:1094
@ WIMLIB_SCAN_DENTRY_NOT_FIXED_SYMLINK
Reparse-point fixups are enabled, but the file is an absolute symbolic link or junction that does not...
Definition: wimlib.h:896
@ WIMLIB_ERR_INVALID_COMPRESSION_TYPE
Definition: wimlib.h:2518
int wimlib_reference_resources(WIMStruct *wim, WIMStruct **resource_wims, unsigned num_resource_wims, int ref_flags)
@ WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN
Per-image metadata is about to be written to the WIM file.
Definition: wimlib.h:657
@ WIMLIB_ERR_SUCCESS
Definition: wimlib.h:2507
uint32_t unix_gid
The UNIX group ID of this file.
Definition: wimlib.h:1613
@ WIMLIB_ERR_SET_SHORT_NAME
Definition: wimlib.h:2558
int wimlib_decompress(const void *compressed_data, size_t compressed_size, void *uncompressed_data, size_t uncompressed_size, struct wimlib_decompressor *decompressor)
Decompress a buffer of data.
uint64_t raw_resource_compressed_size
If this blob is located in a solid WIM resource, then this is the compressed size of that solid resou...
Definition: wimlib.h:1467
uint64_t completed_bytes
Definition: wimlib.h:1180
uint32_t num_links
Number of links to this file's inode (hard links).
Definition: wimlib.h:1582
uint64_t wimlib_get_compressor_needed_memory(enum wimlib_compression_type ctype, size_t max_block_size, unsigned int compression_level)
Return the approximate number of bytes needed to allocate a compressor with wimlib_create_compressor(...
uint32_t current_image
Definition: wimlib.h:1171
Valid on messages WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM
Definition: wimlib.h:1110
@ WIMLIB_COMPRESSION_TYPE_XPRESS
The XPRESS compression format.
Definition: wimlib.h:525
@ WIMLIB_ERR_UNKNOWN_VERSION
Definition: wimlib.h:2564
int wimlib_set_output_compression_type(WIMStruct *wim, enum wimlib_compression_type ctype)
wimlib_tchar * part_name
Name of the split WIM part that is about to be started (WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART) or has ...
Definition: wimlib.h:1106
@ WIMLIB_ERR_MKNOD
Definition: wimlib.h:2574
int wimlib_write(WIMStruct *wim, const wimlib_tchar *path, int image, int write_flags, unsigned num_threads)
@ WIMLIB_ERR_LINK
Definition: wimlib.h:2534
int wimlib_add_empty_image(WIMStruct *wim, const wimlib_tchar *name, int *new_idx_ret)
uint32_t boot_index
The 1-based index of the bootable image in this WIM file, or 0 if no image is bootable.
Definition: wimlib.h:1322
int32_t creation_time_high
High 32 bits of the seconds portion of the creation timestamp, filled in if wimlib_timespec....
Definition: wimlib.h:1634
@ WIMLIB_ERR_MQUEUE
Definition: wimlib.h:2537
@ WIMLIB_ERR_FVE_LOCKED_VOLUME
Definition: wimlib.h:2578
void wimlib_register_progress_function(WIMStruct *wim, wimlib_progress_func_t progfunc, void *progctx)
unsigned total_parts
Total number of split WIM parts that are being written.
Definition: wimlib.h:1097
int add_flags
Bitwise OR of WIMLIB_ADD_FLAG_* flags.
Definition: wimlib.h:2457
wimlib_update_op
The specific type of update to perform.
Definition: wimlib.h:2432
@ WIMLIB_ERR_WIM_IS_ENCRYPTED
Definition: wimlib.h:2570
int wimlib_set_default_compression_level(int ctype, unsigned int compression_level)
Set the default compression level for the specified compression type.
@ WIMLIB_ERR_RESOURCE_ORDER
Definition: wimlib.h:2554
@ WIMLIB_ERR_NOT_PIPABLE
Definition: wimlib.h:2543
uint32_t reserved_flags
Definition: wimlib.h:1459
struct wimlib_timespec last_write_time
Time this file was last written to.
Definition: wimlib.h:1600
@ WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS
File data is currently being extracted.
Definition: wimlib.h:605
uint32_t mounted_image
1-based index of image being unmounted.
Definition: wimlib.h:1133
const wimlib_tchar * wim_target_path
Target path in the image.
Definition: wimlib.h:903
@ WIMLIB_ERR_ABORTED_BY_PROGRESS
Definition: wimlib.h:2572
long reserved
Reserved; set to 0.
Definition: wimlib.h:1267
@ WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED
Definition: wimlib.h:2584
struct wimlib_timespec creation_time
Time this file was created.
Definition: wimlib.h:1597
uint32_t is_spanned
Definition: wimlib.h:1449
@ WIMLIB_ERR_READ
Definition: wimlib.h:2549
const wimlib_tchar * extraction_path
Path to which the file is being extracted
Definition: wimlib.h:1121
size_t depth
Depth of this directory entry, where 0 is the root, 1 is the root's children, ...,...
Definition: wimlib.h:1529
int32_t last_access_time_high
High 32 bits of the seconds portion of the last access timestamp, filled in if wimlib_timespec....
Definition: wimlib.h:1642
uint32_t num_threads
The number of threads being used for data compression; or, if no compression is being performed,...
Definition: wimlib.h:838
wimlib_progress_status
Valid return values from user-provided progress functions (wimlib_progress_func_t).
Definition: wimlib.h:786
@ WIMLIB_COMPRESSION_TYPE_NONE
No compression.
Definition: wimlib.h:505
Since wimlib v1.9.1: an object ID, which is an extra piece of metadata that may be associated with a ...
Definition: wimlib.h:1503
enum wimlib_progress_info::wimlib_progress_info_scan::@0 status
Dentry scan status, valid on WIMLIB_PROGRESS_MSG_SCAN_DENTRY.
int wimlib_split(WIMStruct *wim, const wimlib_tchar *swm_name, uint64_t part_size, int write_flags)
void wimlib_free_compressor(struct wimlib_compressor *compressor)
Free a compressor previously allocated with wimlib_create_compressor().
@ WIMLIB_ERR_INVALID_REPARSE_DATA
Definition: wimlib.h:2528
@ WIMLIB_ERR_UNSUPPORTED
Definition: wimlib.h:2565
const wimlib_tchar * path_in_wim
Path to the file in the image that is being replaced
Definition: wimlib.h:1112
@ WIMLIB_ERR_SET_TIMESTAMPS
Definition: wimlib.h:2559
uint32_t is_metadata
1 iff this blob contains the metadata for an image.
Definition: wimlib.h:1446
int wimlib_rename_path(WIMStruct *wim, int image, const wimlib_tchar *source_path, const wimlib_tchar *dest_path)
Information about a "blob", which is a fixed length sequence of binary data.
Definition: wimlib.h:1413
uint32_t unix_mode
The UNIX mode of this file.
Definition: wimlib.h:1620
@ WIMLIB_PROGRESS_MSG_HANDLE_ERROR
An error has occurred and the progress function is being asked whether to ignore the error or not.
Definition: wimlib.h:777
struct wimlib_add_command add
Definition: wimlib.h:2489
wimlib_tchar * config_file
Path to capture configuration file to use, or NULL if not specified.
Definition: wimlib.h:2454
wimlib_tchar * wim_target_path
The path to the destination file or directory within the image.
Definition: wimlib.h:2477
wimlib_tchar * fs_source_path
Absolute or relative path to a file or directory on the external filesystem to be included in the ima...
Definition: wimlib.h:1260
uint64_t completed_streams
The number of distinct file data "blobs" that have been written so far.
Definition: wimlib.h:834
@ WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE
wimlib_verify_wim() has finished verifying the metadata for an image.
Definition: wimlib.h:737
uint8_t guid[WIMLIB_GUID_LEN]
The globally unique identifier for this WIM.
Definition: wimlib.h:1315
size_t security_descriptor_size
Size of the above security descriptor, in bytes.
Definition: wimlib.h:1537
@ WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE
An image is being extracted with WIMLIB_EXTRACT_FLAG_WIMBOOT, and a file is being extracted normally ...
Definition: wimlib.h:718
@ WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART
A wimlib_split() operation is in progress, and a new split part is about to be started.
Definition: wimlib.h:687
@ WIMLIB_ERR_RESOURCE_NOT_FOUND
Definition: wimlib.h:2553
uint64_t total_streams
An upper bound on the number of distinct file data "blobs" that will be written.
Definition: wimlib.h:823
uint32_t has_integrity_table
1 iff this WIM file has an integrity table.
Definition: wimlib.h:1348
const struct wimlib_update_command * command
Pointer to the update command that will be executed or has just been executed.
Definition: wimlib.h:1039
uint32_t mount_flags
Flags that were passed to wimlib_mount_image() when the mountpoint was set up.
Definition: wimlib.h:1137
@ WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN
Starting to read a new part of a split pipable WIM over the pipe.
Definition: wimlib.h:609
uint32_t is_free
Definition: wimlib.h:1448
@ WIMLIB_PROGRESS_MSG_SCAN_END
The directory or NTFS volume has been successfully scanned.
Definition: wimlib.h:646
struct wimlib_progress_info::wimlib_progress_info_write_streams write_streams
@ WIMLIB_PROGRESS_MSG_CALC_INTEGRITY
An integrity table is being calculated for the WIM being written.
Definition: wimlib.h:682
int wimlib_set_image_flags(WIMStruct *wim, int image, const wimlib_tchar *flags)
struct wimlib_progress_info::wimlib_progress_info_scan scan
@ WIMLIB_ERR_INVALID_UTF8_STRING
Definition: wimlib.h:2531
@ WIMLIB_ERR_SET_REPARSE_DATA
Definition: wimlib.h:2556
uint8_t birth_object_id[WIMLIB_GUID_LEN]
Definition: wimlib.h:1506
@ WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN
Starting to unmount an image.
Definition: wimlib.h:722
uint32_t chunk_size
The default compression chunk size of resources in this WIM file.
Definition: wimlib.h:1329
int wimlib_create_compressor(enum wimlib_compression_type ctype, size_t max_block_size, unsigned int compression_level, struct wimlib_compressor **compressor_ret)
Allocate a compressor for the specified compression type using the specified parameters.
@ WIMLIB_ERR_INVALID_UTF16_STRING
Definition: wimlib.h:2530
uint32_t metadata_only
1 iff the "metadata only" flag is set in this WIM's header
Definition: wimlib.h:1372
size_t total_commands
Number of update commands that are being executed as part of this call to wimlib_update_image().
Definition: wimlib.h:1047
const wimlib_tchar * wimfile
Definition: wimlib.h:1176
uint64_t total_bytes
Total size of the original WIM's file and metadata resources (compressed).
Definition: wimlib.h:1084
size_t wimlib_compress(const void *uncompressed_data, size_t uncompressed_size, void *compressed_data, size_t compressed_size_avail, struct wimlib_compressor *compressor)
Compress a buffer of data.
Structure passed to the wimlib_iterate_dir_tree() callback function.
Definition: wimlib.h:1514
@ WIMLIB_PROGRESS_MSG_EXTRACT_METADATA
This message may be sent periodically (not necessarily for every file) while file and directory metad...
Definition: wimlib.h:617
@ WIMLIB_PROGRESS_MSG_WRITE_METADATA_END
The per-image metadata has been written to the WIM file.
Definition: wimlib.h:662
uint64_t total_bytes
The number of bytes in the WIM file that are covered by integrity checks.
Definition: wimlib.h:1056
struct WIMStruct WIMStruct
Opaque structure that represents a WIM, possibly backed by an on-disk file.
Definition: wimlib.h:451
int wimlib_set_output_chunk_size(WIMStruct *wim, uint32_t chunk_size)
Valid on messages WIMLIB_PROGRESS_MSG_SCAN_BEGIN, WIMLIB_PROGRESS_MSG_SCAN_DENTRY,...
Definition: wimlib.h:856
uint32_t total_chunks
The number of individually checksummed "chunks" the integrity-checked region is divided into.
Definition: wimlib.h:1064
uint32_t num_named_streams
Number of named data streams this file has.
Definition: wimlib.h:1585
int wimlib_overwrite(WIMStruct *wim, int write_flags, unsigned num_threads)
@ WIMLIB_PROGRESS_MSG_VERIFY_STREAMS
wimlib_verify_wim() is verifying file data integrity.
Definition: wimlib.h:741
uint64_t num_nondirs_scanned
The number of non-directories scanned so far, not counting excluded/unsupported files.
Definition: wimlib.h:918
@ WIMLIB_ERR_NO_FILENAME
Definition: wimlib.h:2544
wimlib_tchar * wim_target_path
Destination path in the image.
Definition: wimlib.h:1264
@ WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND
A WIM update command is about to be executed.
Definition: wimlib.h:697
int wimlib_verify_wim(WIMStruct *wim, int verify_flags)
int wimlib_reference_template_image(WIMStruct *wim, int new_image, WIMStruct *template_wim, int template_image, int flags)
void wimlib_free(WIMStruct *wim)
@ WIMLIB_ERR_INVALID_METADATA_RESOURCE
Definition: wimlib.h:2523
@ WIMLIB_ERR_UNICODE_STRING_NOT_REPRESENTABLE
Definition: wimlib.h:2563
uint32_t spanned
1 iff the "spanned" flag is set in this WIM's header
Definition: wimlib.h:1366
@ WIMLIB_ERR_NTFS_3G
Definition: wimlib.h:2545
const wimlib_tchar * mountpoint
Path to directory being unmounted
Definition: wimlib.h:1127
uint64_t total_bytes
Definition: wimlib.h:1178
bool will_exclude
Indicates whether the file or directory will be excluded from capture or not.
Definition: wimlib.h:1206
enum wimlib_progress_status(* wimlib_progress_func_t)(enum wimlib_progress_msg msg_type, union wimlib_progress_info *info, void *progctx)
A user-supplied function that will be called periodically during certain WIM operations.
Definition: wimlib.h:1247
const wimlib_tchar * path_in_wim
Path to the file in the image
Definition: wimlib.h:1118
uint32_t packed
1 iff this blob is located in a solid resource.
Definition: wimlib.h:1457
@ WIMLIB_COMPRESSION_TYPE_LZX
The LZX compression format.
Definition: wimlib.h:547
wimlib_progress_msg
Possible values of the first parameter to the user-supplied wimlib_progress_func_t progress function.
Definition: wimlib.h:579
@ WIMLIB_ERR_INTEGRITY
Definition: wimlib.h:2515
int wimlib_unmount_image_with_progress(const wimlib_tchar *dir, int unmount_flags, wimlib_progress_func_t progfunc, void *progctx)
Valid on messages WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART and WIMLIB_PROGRESS_MSG_SPLIT_END_PART.
Definition: wimlib.h:1081
uint64_t total_bytes
The size of this WIM file in bytes, excluding the XML data and integrity table.
Definition: wimlib.h:1345
int error_code
The wimlib error code associated with the error.
Definition: wimlib.h:1217
@ WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE
Definition: wimlib.h:2583
@ WIMLIB_ERR_NOTDIR
Definition: wimlib.h:2539
uint32_t part_number
If this blob is located in a WIM resource, then this is the part number of the WIM file containing it...
Definition: wimlib.h:1434
@ WIMLIB_ERR_READLINK
Definition: wimlib.h:2550
uint64_t total_bytes
An upper bound on the number of bytes of file data that will be written.
Definition: wimlib.h:815
const wimlib_tchar * source
Top-level directory being scanned; or, when capturing an NTFS volume with WIMLIB_ADD_FLAG_NTFS,...
Definition: wimlib.h:862
@ WIMLIB_ERR_UNSUPPORTED_FILE
Definition: wimlib.h:2566
uint64_t reserved[4]
Definition: wimlib.h:1495
@ WIMLIB_ERR_MOUNTED_IMAGE_IS_BUSY
Definition: wimlib.h:2575
uint32_t completed_chunks
The number of chunks that have been checksummed so far.
Definition: wimlib.h:1068
struct wimlib_progress_info::wimlib_progress_info_done_with_file done_with_file
struct wimlib_progress_info::wimlib_progress_info_extract extract
uint64_t raw_resource_offset_in_wim
If this blob is located in a solid WIM resource, then this is the offset of that solid resource withi...
Definition: wimlib.h:1463
wimlib_tchar * wim_target_path
Destination path in the image.
Definition: wimlib.h:2450
#define wimlib_timespec
Definition: wimlib.h:443
@ WIMLIB_ERR_INVALID_HEADER
Definition: wimlib.h:2519
@ WIMLIB_ERR_GLOB_HAD_NO_MATCHES
Definition: wimlib.h:2511
struct wimlib_progress_info::wimlib_progress_info_integrity integrity
const wimlib_tchar * filename
Name of the file, or NULL if this file is unnamed.
Definition: wimlib.h:1517
struct wimlib_delete_command delete_
Definition: wimlib.h:2490
const wimlib_tchar * path
Path to the file for which exclusion is being tested.
Definition: wimlib.h:1198
void wimlib_global_cleanup(void)
uint32_t reference_count
If this blob is not missing, then this is the number of times this blob is referenced over all images...
Definition: wimlib.h:1439
uint32_t wim_version
The version of the WIM file format used in this WIM file.
Definition: wimlib.h:1325
uint64_t completed_bytes
Number of bytes of file and metadata resources that have been copied out of the original WIM so far.
Definition: wimlib.h:1089
uint64_t num_bytes_scanned
The number of bytes of file data detected so far, not counting excluded/unsupported files.
Definition: wimlib.h:922
struct wimlib_object_id object_id
Definition: wimlib.h:1630
struct wimlib_rename_command rename
Definition: wimlib.h:2492
int delete_flags
Bitwise OR of WIMLIB_DELETE_FLAG_* flags.
Definition: wimlib.h:2467
Valid on messages WIMLIB_PROGRESS_MSG_VERIFY_STREAMS.
Definition: wimlib.h:1175
const wimlib_tchar * full_path
Full path to this file within the image.
Definition: wimlib.h:1525
@ WIMLIB_PROGRESS_MSG_DONE_WITH_FILE
wimlib has used a file's data for the last time (including all data streams, if it has multiple).
Definition: wimlib.h:728
@ WIMLIB_ERR_OPENDIR
Definition: wimlib.h:2547
@ WIMLIB_PROGRESS_MSG_SCAN_DENTRY
A directory or file has been scanned.
Definition: wimlib.h:640
@ WIMLIB_ERR_SPLIT_INVALID
Definition: wimlib.h:2560
const wimlib_tchar * stream_name
Name of the stream, or NULL if the stream is unnamed.
Definition: wimlib.h:1490
@ WIMLIB_ERR_INVALID_OVERLAY
Definition: wimlib.h:2524
@ WIMLIB_PROGRESS_MSG_TEST_FILE_EXCLUSION
The progress function is being asked whether a file should be excluded from capture or not.
Definition: wimlib.h:755
int wimlib_write_to_fd(WIMStruct *wim, int fd, int image, int write_flags, unsigned num_threads)
@ WIMLIB_PROGRESS_STATUS_ABORT
The operation should be aborted.
Definition: wimlib.h:794
@ WIMLIB_ERR_UNKNOWN_PROGRESS_STATUS
Definition: wimlib.h:2573
uint64_t reserved[1]
Definition: wimlib.h:1473
uint16_t total_parts
For split WIMs, the total number of parts in the split WIM; otherwise 1.
Definition: wimlib.h:1337
Data for a WIMLIB_UPDATE_OP_DELETE operation.
Definition: wimlib.h:2461
int wimlib_set_image_descripton(WIMStruct *wim, int image, const wimlib_tchar *description)
uint32_t is_compressed
1 iff this blob is located in a non-solid compressed WIM resource.
Definition: wimlib.h:1443
@ WIMLIB_ERR_REPARSE_POINT_FIXUP_FAILED
Definition: wimlib.h:2552
uint64_t uncompressed_size
If this blob is not missing, then this is the uncompressed size of this blob in bytes.
Definition: wimlib.h:1417
@ WIMLIB_ERR_COMPACTION_NOT_POSSIBLE
Definition: wimlib.h:2581
@ WIMLIB_ERR_PATH_DOES_NOT_EXIST
Definition: wimlib.h:2548
uint64_t completed_streams
Definition: wimlib.h:1179
@ WIMLIB_ERR_SET_SECURITY
Definition: wimlib.h:2557
@ WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES
Definition: wimlib.h:2582
@ WIMLIB_ERR_NOTEMPTY
Definition: wimlib.h:2540
uint32_t unix_uid
The UNIX user ID of this file.
Definition: wimlib.h:1608
struct wimlib_progress_info::wimlib_progress_info_split split
uint64_t offset
If this blob is located in a non-solid WIM resource, then this is the offset of that resource within ...
Definition: wimlib.h:1427
const char * security_descriptor
Pointer to the security descriptor for this file, in Windows SECURITY_DESCRIPTOR_RELATIVE format,...
Definition: wimlib.h:1534
const wimlib_tchar * cur_path
Path to the file (or directory) that has been scanned, valid on WIMLIB_PROGRESS_MSG_SCAN_DENTRY.
Definition: wimlib.h:868
int wimlib_join_with_progress(const wimlib_tchar *const *swms, unsigned num_swms, const wimlib_tchar *output_path, int swm_open_flags, int wim_write_flags, wimlib_progress_func_t progfunc, void *progctx)
@ WIMLIB_ERR_INVALID_PIPABLE_WIM
Definition: wimlib.h:2527
@ WIMLIB_ERR_IS_DIRECTORY
Definition: wimlib.h:2532
@ WIMLIB_PROGRESS_MSG_SPLIT_END_PART
A wimlib_split() operation is in progress, and a split part has been finished.
Definition: wimlib.h:691
uint32_t reserved[9]
Definition: wimlib.h:1380
const wimlib_tchar * wimfile
Definition: wimlib.h:1169
Valid on messages WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE and WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE.
Definition: wimlib.h:1168
@ WIMLIB_ERR_OPEN
Definition: wimlib.h:2546
int wimlib_set_error_file(FILE *fp)
Data for a WIMLIB_UPDATE_OP_RENAME operation.
Definition: wimlib.h:2471
@ WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY
Definition: wimlib.h:2522
Valid on messages WIMLIB_PROGRESS_MSG_HANDLE_ERROR.
Definition: wimlib.h:1210
int32_t last_write_time_high
High 32 bits of the seconds portion of the last write timestamp, filled in if wimlib_timespec....
Definition: wimlib.h:1638
int wimlib_create_new_wim(enum wimlib_compression_type ctype, WIMStruct **wim_ret)
uint32_t write_in_progress
1 iff the "write in progress" flag is set in this WIM's header
Definition: wimlib.h:1369
uint8_t object_id[WIMLIB_GUID_LEN]
Definition: wimlib.h:1504
const wimlib_tchar * from
Name of the temporary file that the WIM was written to.
Definition: wimlib.h:1027
@ WIMLIB_ERR_IMAGE_COUNT
Definition: wimlib.h:2512
Valid on messages WIMLIB_PROGRESS_MSG_TEST_FILE_EXCLUSION.
Definition: wimlib.h:1184
@ WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE
This message may be sent periodically (not for every file) while files and directories are being crea...
Definition: wimlib.h:600
@ WIMLIB_UPDATE_OP_DELETE
Delete a file or directory tree from the image.
Definition: wimlib.h:2437
Specification of an update to perform on a WIM image.
Definition: wimlib.h:2484
int wimlib_open_wim_with_progress(const wimlib_tchar *wim_file, int open_flags, WIMStruct **wim_ret, wimlib_progress_func_t progfunc, void *progctx)
@ WIMLIB_ERR_NOT_A_WIM_FILE
Definition: wimlib.h:2542
General information about a WIM file.
Definition: wimlib.h:1311
int wimlib_update_image(WIMStruct *wim, int image, const struct wimlib_update_command *cmds, size_t num_cmds, int update_flags)
@ WIMLIB_ERR_INVALID_CAPTURE_CONFIG
Definition: wimlib.h:2516
@ WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN
A WIM image is about to be extracted.
Definition: wimlib.h:585
uint32_t total_images
Definition: wimlib.h:1170
@ WIMLIB_ERR_NOT_A_MOUNTPOINT
Definition: wimlib.h:2576
struct wimlib_progress_info::wimlib_progress_info_update update
uint32_t pipable
1 iff this WIM file is pipable (see WIMLIB_WRITE_FLAG_PIPABLE).
Definition: wimlib.h:1378
const wimlib_tchar * mounted_wim
Path to WIM file being unmounted
Definition: wimlib.h:1130
uint64_t completed_bytes
The number of bytes that have been checksummed so far.
Definition: wimlib.h:1060
struct wimlib_progress_info::wimlib_progress_info_rename rename
Valid on messages WIMLIB_PROGRESS_MSG_DONE_WITH_FILE.
Definition: wimlib.h:1144
@ WIMLIB_ERR_INVALID_IMAGE
Definition: wimlib.h:2520
size_t completed_commands
Number of update commands that have been completed so far.
Definition: wimlib.h:1043
Valid on messages WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND and WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND...
Definition: wimlib.h:1036
struct wimlib_resource_entry resource
Info about this stream's data, such as its hash and size if known.
Definition: wimlib.h:1493
int wimlib_delete_image(WIMStruct *wim, int image)
uint32_t chunk_size
The size of each individually checksummed "chunk" in the integrity-checked region.
Definition: wimlib.h:1072
@ WIMLIB_ERR_STAT
Definition: wimlib.h:2561
uint64_t num_dirs_scanned
The number of directories scanned so far, not counting excluded/unsupported files.
Definition: wimlib.h:914
@ WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE
wimlib_verify_wim() is starting to verify the metadata for an image.
Definition: wimlib.h:732
Data for a WIMLIB_UPDATE_OP_ADD operation.
Definition: wimlib.h:2444
int rename_flags
Reserved; set to 0.
Definition: wimlib.h:2480
uint64_t raw_resource_uncompressed_size
If this blob is located in a solid WIM resource, then this is the uncompressed size of that solid res...
Definition: wimlib.h:1471
uint32_t wimlib_get_version(void)
uint8_t birth_volume_id[WIMLIB_GUID_LEN]
Definition: wimlib.h:1505
@ WIMLIB_ERR_NOMEM
Definition: wimlib.h:2538
const wimlib_tchar * path
Path to the file for which the error occurred, or NULL if not relevant.
Definition: wimlib.h:1214
int wimlib_add_image(WIMStruct *wim, const wimlib_tchar *source, const wimlib_tchar *name, const wimlib_tchar *config_file, int add_flags)
struct wimlib_progress_info::wimlib_progress_info_handle_error handle_error
@ WIMLIB_ERR_XML
Definition: wimlib.h:2569
uint32_t opened_from_file
1 iff this info struct is for a WIMStruct that has a backing file.
Definition: wimlib.h:1352
uint32_t is_readonly
1 iff this WIM file is considered readonly for any reason (e.g.
Definition: wimlib.h:1357
uint32_t has_rpfix
1 iff the "reparse point fix" flag is set in this WIM's header
Definition: wimlib.h:1360
A pointer to this union is passed to the user-supplied wimlib_progress_func_t progress function.
Definition: wimlib.h:803
const wimlib_tchar * filename
For WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY messages, this is the path to the WIM file being checked.
Definition: wimlib.h:1076
int32_t compression_type
The compression type being used, as one of the wimlib_compression_type constants.
Definition: wimlib.h:842
int wimlib_export_image(WIMStruct *src_wim, int src_image, WIMStruct *dest_wim, const wimlib_tchar *dest_name, const wimlib_tchar *dest_description, int export_flags)
@ WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END
The image has been successfully extracted.
Definition: wimlib.h:622
Valid on the message WIMLIB_PROGRESS_MSG_WRITE_STREAMS.
Definition: wimlib.h:808
int wimlib_set_wim_info(WIMStruct *wim, const struct wimlib_wim_info *info, int which)
int wimlib_add_image_multisource(WIMStruct *wim, const struct wimlib_capture_source *sources, size_t num_sources, const wimlib_tchar *name, const wimlib_tchar *config_file, int add_flags)
Information about a stream of a particular file in the WIM.
Definition: wimlib.h:1487
int wimlib_mount_image(WIMStruct *wim, int image, const wimlib_tchar *dir, int mount_flags, const wimlib_tchar *staging_dir)
wimlib_tchar * wim_path
The path to the file or directory within the image to delete.
Definition: wimlib.h:2464
const wimlib_tchar * symlink_target
For WIMLIB_PROGRESS_MSG_SCAN_DENTRY and a status of WIMLIB_SCAN_DENTRY_FIXED_SYMLINK or WIMLIB_SCAN_D...
Definition: wimlib.h:909
struct wimlib_progress_info::wimlib_progress_info_verify_image verify_image
@ WIMLIB_ERR_SNAPSHOT_FAILURE
Definition: wimlib.h:2585
uint64_t compressed_size
If this blob is located in a non-solid WIM resource, then this is the compressed size of that resourc...
Definition: wimlib.h:1421