Loading...
Searching...
No Matches
wimlib.h
Go to the documentation of this file.
#ifndef _WIMLIB_H
#define _WIMLIB_H
#include <stdio.h>
#include <stddef.h>
#ifndef __cplusplus
# if defined(_MSC_VER) && _MSC_VER < 1800 /* VS pre-2013? */
typedef unsigned char bool;
# else
# include <stdbool.h>
# endif
#endif
#include <stdint.h>
#include <time.h>
#ifdef BUILDING_WIMLIB
/*
* On i386, gcc assumes that the stack is 16-byte aligned at function entry.
* However, some compilers (e.g. MSVC) and programming languages (e.g. Delphi)
* only guarantee 4-byte alignment when calling functions. This is mainly an
* issue on Windows, but it can occur on Linux too. Work around this ABI
* incompatibility by realigning the stack pointer when entering the library.
* This prevents crashes in SSE/AVX code.
*/
# if defined(__GNUC__) && defined(__i386__)
# define WIMLIB_ALIGN_STACK __attribute__((force_align_arg_pointer))
# else
# define WIMLIB_ALIGN_STACK
# endif
# ifdef _WIN32
# define WIMLIBAPI __declspec(dllexport) WIMLIB_ALIGN_STACK
# else
# define WIMLIBAPI __attribute__((visibility("default"))) WIMLIB_ALIGN_STACK
# endif
#else
# define WIMLIBAPI
#endif
#define WIMLIB_MAJOR_VERSION 1
#define WIMLIB_MINOR_VERSION 14
#define WIMLIB_PATCH_VERSION 5
#ifdef __cplusplus
extern "C" {
#endif
/*
* To represent file timestamps, wimlib's API originally used the POSIX 'struct
* timespec'. This was a mistake because when building wimlib for 32-bit
* Windows with MinGW we ended up originally using 32-bit time_t which isn't
* year 2038-safe, and therefore we had to later add fields like
* 'creation_time_high' to hold the high 32 bits of each timestamp. Moreover,
* old Visual Studio versions did not define struct timespec, while newer ones
* define it but with 64-bit tv_sec. So to at least avoid a missing or
* incompatible 'struct timespec' definition, define the correct struct
* ourselves when this header is included on Windows.
*/
#ifdef _WIN32
struct wimlib_timespec {
/* Seconds since start of UNIX epoch (January 1, 1970) */
#ifdef _WIN64
int64_t tv_sec;
#else
int32_t tv_sec;
#endif
/* Nanoseconds (0-999999999) */
int32_t tv_nsec;
};
#else
# define wimlib_timespec timespec /* standard definition */
#endif
#ifndef WIMLIB_WIMSTRUCT_DECLARED
typedef struct WIMStruct WIMStruct;
#define WIMLIB_WIMSTRUCT_DECLARED
#endif
#ifdef _WIN32
typedef wchar_t wimlib_tchar;
#else
typedef char wimlib_tchar;
#endif
#ifdef _WIN32
# define WIMLIB_WIM_PATH_SEPARATOR '\\'
# define WIMLIB_WIM_PATH_SEPARATOR_STRING L"\\"
#else
# define WIMLIB_WIM_PATH_SEPARATOR '/'
# define WIMLIB_WIM_PATH_SEPARATOR_STRING "/"
#endif
#define WIMLIB_WIM_ROOT_PATH WIMLIB_WIM_PATH_SEPARATOR_STRING
#define WIMLIB_IS_WIM_ROOT_PATH(path) \
((path)[0] == WIMLIB_WIM_PATH_SEPARATOR && \
(path)[1] == 0)
#define WIMLIB_GUID_LEN 16
enum wimlib_compression_type {
WIMLIB_COMPRESSION_TYPE_NONE = 0,
WIMLIB_COMPRESSION_TYPE_XPRESS = 1,
WIMLIB_COMPRESSION_TYPE_LZX = 2,
WIMLIB_COMPRESSION_TYPE_LZMS = 3,
};
enum wimlib_progress_msg {
WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN = 0,
WIMLIB_PROGRESS_MSG_EXTRACT_TREE_BEGIN = 1,
WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE = 3,
WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS = 4,
WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN = 5,
WIMLIB_PROGRESS_MSG_EXTRACT_METADATA = 6,
WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END = 7,
WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END = 8,
WIMLIB_PROGRESS_MSG_SCAN_BEGIN = 9,
WIMLIB_PROGRESS_MSG_SCAN_DENTRY = 10,
WIMLIB_PROGRESS_MSG_SCAN_END = 11,
WIMLIB_PROGRESS_MSG_WRITE_STREAMS = 12,
WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN = 13,
WIMLIB_PROGRESS_MSG_WRITE_METADATA_END = 14,
WIMLIB_PROGRESS_MSG_RENAME = 15,
WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY = 16,
WIMLIB_PROGRESS_MSG_CALC_INTEGRITY = 17,
WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART = 19,
WIMLIB_PROGRESS_MSG_SPLIT_END_PART = 20,
WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND = 21,
WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND = 22,
WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM = 23,
WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE = 24,
WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN = 25,
WIMLIB_PROGRESS_MSG_DONE_WITH_FILE = 26,
WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE = 27,
WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE = 28,
WIMLIB_PROGRESS_MSG_VERIFY_STREAMS = 29,
WIMLIB_PROGRESS_MSG_TEST_FILE_EXCLUSION = 30,
WIMLIB_PROGRESS_MSG_HANDLE_ERROR = 31,
};
enum wimlib_progress_status {
WIMLIB_PROGRESS_STATUS_CONTINUE = 0,
WIMLIB_PROGRESS_STATUS_ABORT = 1,
};
union wimlib_progress_info {
struct wimlib_progress_info_write_streams {
uint64_t total_bytes;
uint64_t total_streams;
uint64_t completed_bytes;
uint64_t completed_streams;
uint32_t num_threads;
int32_t compression_type;
uint32_t total_parts;
uint32_t completed_parts;
uint64_t completed_compressed_bytes;
} write_streams;
struct wimlib_progress_info_scan {
const wimlib_tchar *source;
const wimlib_tchar *cur_path;
enum {
WIMLIB_SCAN_DENTRY_OK = 0,
WIMLIB_SCAN_DENTRY_EXCLUDED = 1,
WIMLIB_SCAN_DENTRY_UNSUPPORTED = 2,
WIMLIB_SCAN_DENTRY_FIXED_SYMLINK = 3,
WIMLIB_SCAN_DENTRY_NOT_FIXED_SYMLINK = 4,
} status;
union {
const wimlib_tchar *wim_target_path;
const wimlib_tchar *symlink_target;
};
uint64_t num_dirs_scanned;
uint64_t num_nondirs_scanned;
uint64_t num_bytes_scanned;
} scan;
struct wimlib_progress_info_extract {
uint32_t image;
uint32_t extract_flags;
const wimlib_tchar *wimfile_name;
const wimlib_tchar *image_name;
const wimlib_tchar *target;
const wimlib_tchar *reserved;
uint64_t total_bytes;
uint64_t completed_bytes;
uint64_t total_streams;
uint64_t completed_streams;
uint32_t part_number;
uint32_t total_parts;
uint8_t guid[WIMLIB_GUID_LEN];
uint64_t current_file_count;
uint64_t end_file_count;
} extract;
struct wimlib_progress_info_rename {
const wimlib_tchar *from;
const wimlib_tchar *to;
} rename;
struct wimlib_progress_info_update {
const struct wimlib_update_command *command;
size_t completed_commands;
size_t total_commands;
} update;
struct wimlib_progress_info_integrity {
uint64_t total_bytes;
uint64_t completed_bytes;
uint32_t total_chunks;
uint32_t completed_chunks;
uint32_t chunk_size;
const wimlib_tchar *filename;
} integrity;
struct wimlib_progress_info_split {
uint64_t total_bytes;
uint64_t completed_bytes;
unsigned cur_part_number;
unsigned total_parts;
wimlib_tchar *part_name;
} split;
struct wimlib_progress_info_replace {
const wimlib_tchar *path_in_wim;
} replace;
struct wimlib_progress_info_wimboot_exclude {
const wimlib_tchar *path_in_wim;
const wimlib_tchar *extraction_path;
} wimboot_exclude;
struct wimlib_progress_info_unmount {
const wimlib_tchar *mountpoint;
const wimlib_tchar *mounted_wim;
uint32_t mounted_image;
uint32_t mount_flags;
uint32_t unmount_flags;
} unmount;
struct wimlib_progress_info_done_with_file {
const wimlib_tchar *path_to_file;
} done_with_file;
struct wimlib_progress_info_verify_image {
const wimlib_tchar *wimfile;
uint32_t total_images;
uint32_t current_image;
} verify_image;
struct wimlib_progress_info_verify_streams {
const wimlib_tchar *wimfile;
uint64_t total_streams;
uint64_t total_bytes;
uint64_t completed_streams;
uint64_t completed_bytes;
} verify_streams;
struct wimlib_progress_info_test_file_exclusion {
const wimlib_tchar *path;
bool will_exclude;
} test_file_exclusion;
struct wimlib_progress_info_handle_error {
const wimlib_tchar *path;
int error_code;
bool will_ignore;
} handle_error;
};
typedef enum wimlib_progress_status
(*wimlib_progress_func_t)(enum wimlib_progress_msg msg_type,
union wimlib_progress_info *info,
void *progctx);
struct wimlib_capture_source {
wimlib_tchar *fs_source_path;
wimlib_tchar *wim_target_path;
long reserved;
};
#define WIMLIB_CHANGE_READONLY_FLAG 0x00000001
#define WIMLIB_CHANGE_GUID 0x00000002
#define WIMLIB_CHANGE_BOOT_INDEX 0x00000004
#define WIMLIB_CHANGE_RPFIX_FLAG 0x00000008
struct wimlib_wim_info {
uint8_t guid[WIMLIB_GUID_LEN];
uint32_t image_count;
uint32_t boot_index;
uint32_t wim_version;
uint32_t chunk_size;
uint16_t part_number;
uint16_t total_parts;
int32_t compression_type;
uint64_t total_bytes;
uint32_t has_integrity_table : 1;
uint32_t opened_from_file : 1;
uint32_t is_readonly : 1;
uint32_t has_rpfix : 1;
uint32_t is_marked_readonly : 1;
uint32_t spanned : 1;
uint32_t write_in_progress : 1;
uint32_t metadata_only : 1;
uint32_t resource_only : 1;
uint32_t pipable : 1;
uint32_t reserved_flags : 22;
uint32_t reserved[9];
};
struct wimlib_resource_entry {
uint64_t uncompressed_size;
uint64_t compressed_size;
uint64_t offset;
uint8_t sha1_hash[20];
uint32_t part_number;
uint32_t reference_count;
uint32_t is_compressed : 1;
uint32_t is_metadata : 1;
uint32_t is_free : 1;
uint32_t is_spanned : 1;
uint32_t is_missing : 1;
uint32_t packed : 1;
uint32_t reserved_flags : 26;
uint64_t raw_resource_offset_in_wim;
uint64_t raw_resource_compressed_size;
uint64_t raw_resource_uncompressed_size;
uint64_t reserved[1];
};
struct wimlib_stream_entry {
const wimlib_tchar *stream_name;
struct wimlib_resource_entry resource;
uint64_t reserved[4];
};
struct wimlib_object_id {
uint8_t object_id[WIMLIB_GUID_LEN];
uint8_t birth_volume_id[WIMLIB_GUID_LEN];
uint8_t birth_object_id[WIMLIB_GUID_LEN];
uint8_t domain_id[WIMLIB_GUID_LEN];
};
struct wimlib_dir_entry {
const wimlib_tchar *filename;
const wimlib_tchar *dos_name;
const wimlib_tchar *full_path;
size_t depth;
const char *security_descriptor;
size_t security_descriptor_size;
#define WIMLIB_FILE_ATTRIBUTE_READONLY 0x00000001
#define WIMLIB_FILE_ATTRIBUTE_HIDDEN 0x00000002
#define WIMLIB_FILE_ATTRIBUTE_SYSTEM 0x00000004
#define WIMLIB_FILE_ATTRIBUTE_DIRECTORY 0x00000010
#define WIMLIB_FILE_ATTRIBUTE_ARCHIVE 0x00000020
#define WIMLIB_FILE_ATTRIBUTE_DEVICE 0x00000040
#define WIMLIB_FILE_ATTRIBUTE_NORMAL 0x00000080
#define WIMLIB_FILE_ATTRIBUTE_TEMPORARY 0x00000100
#define WIMLIB_FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
#define WIMLIB_FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
#define WIMLIB_FILE_ATTRIBUTE_COMPRESSED 0x00000800
#define WIMLIB_FILE_ATTRIBUTE_OFFLINE 0x00001000
#define WIMLIB_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
#define WIMLIB_FILE_ATTRIBUTE_ENCRYPTED 0x00004000
#define WIMLIB_FILE_ATTRIBUTE_VIRTUAL 0x00010000
uint32_t attributes;
#define WIMLIB_REPARSE_TAG_RESERVED_ZERO 0x00000000
#define WIMLIB_REPARSE_TAG_RESERVED_ONE 0x00000001
#define WIMLIB_REPARSE_TAG_MOUNT_POINT 0xA0000003
#define WIMLIB_REPARSE_TAG_HSM 0xC0000004
#define WIMLIB_REPARSE_TAG_HSM2 0x80000006
#define WIMLIB_REPARSE_TAG_DRIVER_EXTENDER 0x80000005
#define WIMLIB_REPARSE_TAG_SIS 0x80000007
#define WIMLIB_REPARSE_TAG_DFS 0x8000000A
#define WIMLIB_REPARSE_TAG_DFSR 0x80000012
#define WIMLIB_REPARSE_TAG_FILTER_MANAGER 0x8000000B
#define WIMLIB_REPARSE_TAG_WOF 0x80000017
#define WIMLIB_REPARSE_TAG_SYMLINK 0xA000000C
uint32_t reparse_tag;
uint32_t num_links;
uint32_t num_named_streams;
uint64_t hard_link_group_id;
struct wimlib_timespec creation_time;
struct wimlib_timespec last_write_time;
struct wimlib_timespec last_access_time;
uint32_t unix_uid;
uint32_t unix_gid;
uint32_t unix_mode;
uint32_t unix_rdev;
/* The object ID of this file, if any. Only valid if
* object_id.object_id is not all zeroes. */
struct wimlib_object_id object_id;
int32_t creation_time_high;
int32_t last_write_time_high;
int32_t last_access_time_high;
int32_t reserved2;
uint64_t reserved[4];
struct wimlib_stream_entry streams[];
};
typedef int (*wimlib_iterate_dir_tree_callback_t)(const struct wimlib_dir_entry *dentry,
void *user_ctx);
typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resource_entry *resource,
void *user_ctx);
#define WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE 0x00000001
#define WIMLIB_ITERATE_DIR_TREE_FLAG_CHILDREN 0x00000002
#define WIMLIB_ITERATE_DIR_TREE_FLAG_RESOURCES_NEEDED 0x00000004
#define WIMLIB_ADD_FLAG_NTFS 0x00000001
#define WIMLIB_ADD_FLAG_DEREFERENCE 0x00000002
#define WIMLIB_ADD_FLAG_VERBOSE 0x00000004
#define WIMLIB_ADD_FLAG_BOOT 0x00000008
#define WIMLIB_ADD_FLAG_UNIX_DATA 0x00000010
#define WIMLIB_ADD_FLAG_NO_ACLS 0x00000020
#define WIMLIB_ADD_FLAG_STRICT_ACLS 0x00000040
#define WIMLIB_ADD_FLAG_EXCLUDE_VERBOSE 0x00000080
#define WIMLIB_ADD_FLAG_RPFIX 0x00000100
#define WIMLIB_ADD_FLAG_NORPFIX 0x00000200
#define WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE 0x00000400
#define WIMLIB_ADD_FLAG_WINCONFIG 0x00000800
#define WIMLIB_ADD_FLAG_WIMBOOT 0x00001000
#define WIMLIB_ADD_FLAG_NO_REPLACE 0x00002000
#define WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION 0x00004000
#define WIMLIB_ADD_FLAG_SNAPSHOT 0x00008000
#define WIMLIB_ADD_FLAG_FILE_PATHS_UNNEEDED 0x00010000
#define WIMLIB_DELETE_FLAG_FORCE 0x00000001
#define WIMLIB_DELETE_FLAG_RECURSIVE 0x00000002
#define WIMLIB_EXPORT_FLAG_BOOT 0x00000001
#define WIMLIB_EXPORT_FLAG_NO_NAMES 0x00000002
#define WIMLIB_EXPORT_FLAG_NO_DESCRIPTIONS 0x00000004
#define WIMLIB_EXPORT_FLAG_GIFT 0x00000008
#define WIMLIB_EXPORT_FLAG_WIMBOOT 0x00000010
#define WIMLIB_EXTRACT_FLAG_NTFS 0x00000001
#define WIMLIB_EXTRACT_FLAG_RECOVER_DATA 0x00000002
#define WIMLIB_EXTRACT_FLAG_UNIX_DATA 0x00000020
#define WIMLIB_EXTRACT_FLAG_NO_ACLS 0x00000040
#define WIMLIB_EXTRACT_FLAG_STRICT_ACLS 0x00000080
#define WIMLIB_EXTRACT_FLAG_RPFIX 0x00000100
#define WIMLIB_EXTRACT_FLAG_NORPFIX 0x00000200
#define WIMLIB_EXTRACT_FLAG_TO_STDOUT 0x00000400
#define WIMLIB_EXTRACT_FLAG_REPLACE_INVALID_FILENAMES 0x00000800
#define WIMLIB_EXTRACT_FLAG_ALL_CASE_CONFLICTS 0x00001000
#define WIMLIB_EXTRACT_FLAG_STRICT_TIMESTAMPS 0x00002000
#define WIMLIB_EXTRACT_FLAG_STRICT_SHORT_NAMES 0x00004000
#define WIMLIB_EXTRACT_FLAG_STRICT_SYMLINKS 0x00008000
#define WIMLIB_EXTRACT_FLAG_GLOB_PATHS 0x00040000
#define WIMLIB_EXTRACT_FLAG_STRICT_GLOB 0x00080000
#define WIMLIB_EXTRACT_FLAG_NO_ATTRIBUTES 0x00100000
#define WIMLIB_EXTRACT_FLAG_NO_PRESERVE_DIR_STRUCTURE 0x00200000
#define WIMLIB_EXTRACT_FLAG_WIMBOOT 0x00400000
#define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS4K 0x01000000
#define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS8K 0x02000000
#define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS16K 0x04000000
#define WIMLIB_EXTRACT_FLAG_COMPACT_LZX 0x08000000
#define WIMLIB_MOUNT_FLAG_READWRITE 0x00000001
#define WIMLIB_MOUNT_FLAG_DEBUG 0x00000002
#define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_NONE 0x00000004
#define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_XATTR 0x00000008
#define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_WINDOWS 0x00000010
#define WIMLIB_MOUNT_FLAG_UNIX_DATA 0x00000020
#define WIMLIB_MOUNT_FLAG_ALLOW_OTHER 0x00000040
#define WIMLIB_OPEN_FLAG_CHECK_INTEGRITY 0x00000001
#define WIMLIB_OPEN_FLAG_ERROR_IF_SPLIT 0x00000002
#define WIMLIB_OPEN_FLAG_WRITE_ACCESS 0x00000004
#define WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY 0x00000001
#define WIMLIB_UNMOUNT_FLAG_COMMIT 0x00000002
#define WIMLIB_UNMOUNT_FLAG_REBUILD 0x00000004
#define WIMLIB_UNMOUNT_FLAG_RECOMPRESS 0x00000008
#define WIMLIB_UNMOUNT_FLAG_FORCE 0x00000010
#define WIMLIB_UNMOUNT_FLAG_NEW_IMAGE 0x00000020
#define WIMLIB_UPDATE_FLAG_SEND_PROGRESS 0x00000001
#define WIMLIB_WRITE_FLAG_CHECK_INTEGRITY 0x00000001
#define WIMLIB_WRITE_FLAG_NO_CHECK_INTEGRITY 0x00000002
#define WIMLIB_WRITE_FLAG_PIPABLE 0x00000004
#define WIMLIB_WRITE_FLAG_NOT_PIPABLE 0x00000008
#define WIMLIB_WRITE_FLAG_RECOMPRESS 0x00000010
#define WIMLIB_WRITE_FLAG_FSYNC 0x00000020
#define WIMLIB_WRITE_FLAG_REBUILD 0x00000040
#define WIMLIB_WRITE_FLAG_SOFT_DELETE 0x00000080
#define WIMLIB_WRITE_FLAG_IGNORE_READONLY_FLAG 0x00000100
#define WIMLIB_WRITE_FLAG_SKIP_EXTERNAL_WIMS 0x00000200
#define WIMLIB_WRITE_FLAG_STREAMS_OK 0x00000400
#define WIMLIB_WRITE_FLAG_RETAIN_GUID 0x00000800
#define WIMLIB_WRITE_FLAG_SOLID 0x00001000
#define WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES 0x00002000
#define WIMLIB_WRITE_FLAG_NO_SOLID_SORT 0x00004000
#define WIMLIB_WRITE_FLAG_UNSAFE_COMPACT 0x00008000
#define WIMLIB_INIT_FLAG_ASSUME_UTF8 0x00000001
#define WIMLIB_INIT_FLAG_DONT_ACQUIRE_PRIVILEGES 0x00000002
#define WIMLIB_INIT_FLAG_STRICT_CAPTURE_PRIVILEGES 0x00000004
#define WIMLIB_INIT_FLAG_STRICT_APPLY_PRIVILEGES 0x00000008
#define WIMLIB_INIT_FLAG_DEFAULT_CASE_SENSITIVE 0x00000010
#define WIMLIB_INIT_FLAG_DEFAULT_CASE_INSENSITIVE 0x00000020
#define WIMLIB_REF_FLAG_GLOB_ENABLE 0x00000001
#define WIMLIB_REF_FLAG_GLOB_ERR_ON_NOMATCH 0x00000002
enum wimlib_update_op {
WIMLIB_UPDATE_OP_ADD = 0,
WIMLIB_UPDATE_OP_DELETE = 1,
WIMLIB_UPDATE_OP_RENAME = 2,
};
struct wimlib_add_command {
wimlib_tchar *fs_source_path;
wimlib_tchar *wim_target_path;
wimlib_tchar *config_file;
int add_flags;
};
struct wimlib_delete_command {
wimlib_tchar *wim_path;
int delete_flags;
};
struct wimlib_rename_command {
wimlib_tchar *wim_source_path;
wimlib_tchar *wim_target_path;
int rename_flags;
};
struct wimlib_update_command {
enum wimlib_update_op op;
union {
struct wimlib_add_command add;
struct wimlib_delete_command delete_; /* Underscore is for C++
compatibility. */
struct wimlib_rename_command rename;
};
};
enum wimlib_error_code {
WIMLIB_ERR_SUCCESS = 0,
WIMLIB_ERR_ALREADY_LOCKED = 1,
WIMLIB_ERR_DECOMPRESSION = 2,
WIMLIB_ERR_FUSE = 6,
WIMLIB_ERR_GLOB_HAD_NO_MATCHES = 8,
WIMLIB_ERR_IMAGE_COUNT = 10,
WIMLIB_ERR_IMAGE_NAME_COLLISION = 11,
WIMLIB_ERR_INSUFFICIENT_PRIVILEGES = 12,
WIMLIB_ERR_INTEGRITY = 13,
WIMLIB_ERR_INVALID_CAPTURE_CONFIG = 14,
WIMLIB_ERR_INVALID_CHUNK_SIZE = 15,
WIMLIB_ERR_INVALID_COMPRESSION_TYPE = 16,
WIMLIB_ERR_INVALID_HEADER = 17,
WIMLIB_ERR_INVALID_IMAGE = 18,
WIMLIB_ERR_INVALID_INTEGRITY_TABLE = 19,
WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY = 20,
WIMLIB_ERR_INVALID_METADATA_RESOURCE = 21,
WIMLIB_ERR_INVALID_OVERLAY = 23,
WIMLIB_ERR_INVALID_PARAM = 24,
WIMLIB_ERR_INVALID_PART_NUMBER = 25,
WIMLIB_ERR_INVALID_PIPABLE_WIM = 26,
WIMLIB_ERR_INVALID_REPARSE_DATA = 27,
WIMLIB_ERR_INVALID_RESOURCE_HASH = 28,
WIMLIB_ERR_INVALID_UTF16_STRING = 30,
WIMLIB_ERR_INVALID_UTF8_STRING = 31,
WIMLIB_ERR_IS_DIRECTORY = 32,
WIMLIB_ERR_IS_SPLIT_WIM = 33,
WIMLIB_ERR_LINK = 35,
WIMLIB_ERR_METADATA_NOT_FOUND = 36,
WIMLIB_ERR_MKDIR = 37,
WIMLIB_ERR_MQUEUE = 38,
WIMLIB_ERR_NOMEM = 39,
WIMLIB_ERR_NOTDIR = 40,
WIMLIB_ERR_NOTEMPTY = 41,
WIMLIB_ERR_NOT_A_REGULAR_FILE = 42,
WIMLIB_ERR_NOT_A_WIM_FILE = 43,
WIMLIB_ERR_NOT_PIPABLE = 44,
WIMLIB_ERR_NO_FILENAME = 45,
WIMLIB_ERR_NTFS_3G = 46,
WIMLIB_ERR_OPEN = 47,
WIMLIB_ERR_OPENDIR = 48,
WIMLIB_ERR_PATH_DOES_NOT_EXIST = 49,
WIMLIB_ERR_READ = 50,
WIMLIB_ERR_READLINK = 51,
WIMLIB_ERR_RENAME = 52,
WIMLIB_ERR_REPARSE_POINT_FIXUP_FAILED = 54,
WIMLIB_ERR_RESOURCE_NOT_FOUND = 55,
WIMLIB_ERR_RESOURCE_ORDER = 56,
WIMLIB_ERR_SET_ATTRIBUTES = 57,
WIMLIB_ERR_SET_REPARSE_DATA = 58,
WIMLIB_ERR_SET_SECURITY = 59,
WIMLIB_ERR_SET_SHORT_NAME = 60,
WIMLIB_ERR_SET_TIMESTAMPS = 61,
WIMLIB_ERR_SPLIT_INVALID = 62,
WIMLIB_ERR_STAT = 63,
WIMLIB_ERR_UNEXPECTED_END_OF_FILE = 65,
WIMLIB_ERR_UNICODE_STRING_NOT_REPRESENTABLE = 66,
WIMLIB_ERR_UNKNOWN_VERSION = 67,
WIMLIB_ERR_UNSUPPORTED = 68,
WIMLIB_ERR_UNSUPPORTED_FILE = 69,
WIMLIB_ERR_WIM_IS_READONLY = 71,
WIMLIB_ERR_WRITE = 72,
WIMLIB_ERR_XML = 73,
WIMLIB_ERR_WIM_IS_ENCRYPTED = 74,
WIMLIB_ERR_WIMBOOT = 75,
WIMLIB_ERR_ABORTED_BY_PROGRESS = 76,
WIMLIB_ERR_UNKNOWN_PROGRESS_STATUS = 77,
WIMLIB_ERR_MKNOD = 78,
WIMLIB_ERR_MOUNTED_IMAGE_IS_BUSY = 79,
WIMLIB_ERR_NOT_A_MOUNTPOINT = 80,
WIMLIB_ERR_NOT_PERMITTED_TO_UNMOUNT = 81,
WIMLIB_ERR_FVE_LOCKED_VOLUME = 82,
WIMLIB_ERR_UNABLE_TO_READ_CAPTURE_CONFIG = 83,
WIMLIB_ERR_WIM_IS_INCOMPLETE = 84,
WIMLIB_ERR_COMPACTION_NOT_POSSIBLE = 85,
WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES = 86,
WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE = 87,
WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED = 88,
WIMLIB_ERR_SNAPSHOT_FAILURE = 89,
WIMLIB_ERR_INVALID_XATTR = 90,
WIMLIB_ERR_SET_XATTR = 91,
};
#define WIMLIB_NO_IMAGE 0
#define WIMLIB_ALL_IMAGES (-1)
WIMLIBAPI int
wimlib_add_empty_image(WIMStruct *wim,
const wimlib_tchar *name,
int *new_idx_ret);
WIMLIBAPI int
wimlib_add_image(WIMStruct *wim,
const wimlib_tchar *source,
const wimlib_tchar *name,
const wimlib_tchar *config_file,
int add_flags);
WIMLIBAPI 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);
WIMLIBAPI int
wimlib_add_tree(WIMStruct *wim, int image,
const wimlib_tchar *fs_source_path,
const wimlib_tchar *wim_target_path, int add_flags);
WIMLIBAPI int
wimlib_create_new_wim(enum wimlib_compression_type ctype, WIMStruct **wim_ret);
WIMLIBAPI int
wimlib_delete_image(WIMStruct *wim, int image);
WIMLIBAPI int
wimlib_delete_path(WIMStruct *wim, int image,
const wimlib_tchar *path, int delete_flags);
WIMLIBAPI 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);
WIMLIBAPI int
wimlib_extract_image(WIMStruct *wim, int image,
const wimlib_tchar *target, int extract_flags);
WIMLIBAPI int
wimlib_extract_image_from_pipe(int pipe_fd,
const wimlib_tchar *image_num_or_name,
const wimlib_tchar *target, int extract_flags);
WIMLIBAPI int
wimlib_extract_image_from_pipe_with_progress(int pipe_fd,
const wimlib_tchar *image_num_or_name,
const wimlib_tchar *target,
int extract_flags,
wimlib_progress_func_t progfunc,
void *progctx);
WIMLIBAPI int
wimlib_extract_pathlist(WIMStruct *wim, int image,
const wimlib_tchar *target,
const wimlib_tchar *path_list_file,
int extract_flags);
WIMLIBAPI int
wimlib_extract_paths(WIMStruct *wim,
int image,
const wimlib_tchar *target,
const wimlib_tchar * const *paths,
size_t num_paths,
int extract_flags);
WIMLIBAPI int
wimlib_extract_xml_data(WIMStruct *wim, FILE *fp);
WIMLIBAPI void
wimlib_free(WIMStruct *wim);
WIMLIBAPI const wimlib_tchar *
wimlib_get_compression_type_string(enum wimlib_compression_type ctype);
WIMLIBAPI const wimlib_tchar *
wimlib_get_error_string(enum wimlib_error_code code);
WIMLIBAPI const wimlib_tchar *
wimlib_get_image_description(const WIMStruct *wim, int image);
WIMLIBAPI const wimlib_tchar *
wimlib_get_image_name(const WIMStruct *wim, int image);
WIMLIBAPI const wimlib_tchar *
wimlib_get_image_property(const WIMStruct *wim, int image,
const wimlib_tchar *property_name);
WIMLIBAPI uint32_t
wimlib_get_version(void);
WIMLIBAPI const wimlib_tchar *
wimlib_get_version_string(void);
WIMLIBAPI int
wimlib_get_wim_info(WIMStruct *wim, struct wimlib_wim_info *info);
WIMLIBAPI int
wimlib_get_xml_data(WIMStruct *wim, void **buf_ret, size_t *bufsize_ret);
WIMLIBAPI int
wimlib_global_init(int init_flags);
WIMLIBAPI void
wimlib_global_cleanup(void);
WIMLIBAPI bool
wimlib_image_name_in_use(const WIMStruct *wim, const wimlib_tchar *name);
WIMLIBAPI int
wimlib_iterate_dir_tree(WIMStruct *wim, int image, const wimlib_tchar *path,
int flags,
wimlib_iterate_dir_tree_callback_t cb, void *user_ctx);
WIMLIBAPI int
wimlib_iterate_lookup_table(WIMStruct *wim, int flags,
wimlib_iterate_lookup_table_callback_t cb,
void *user_ctx);
WIMLIBAPI int
wimlib_join(const wimlib_tchar * const *swms,
unsigned num_swms,
const wimlib_tchar *output_path,
int swm_open_flags,
int wim_write_flags);
WIMLIBAPI 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);
WIMLIBAPI int
wimlib_load_text_file(const wimlib_tchar *path,
wimlib_tchar **tstr_ret, size_t *tstr_nchars_ret);
WIMLIBAPI int
wimlib_mount_image(WIMStruct *wim,
int image,
const wimlib_tchar *dir,
int mount_flags,
const wimlib_tchar *staging_dir);
WIMLIBAPI int
wimlib_open_wim(const wimlib_tchar *wim_file,
int open_flags,
WIMStruct **wim_ret);
WIMLIBAPI int
wimlib_open_wim_with_progress(const wimlib_tchar *wim_file,
int open_flags,
WIMStruct **wim_ret,
wimlib_progress_func_t progfunc,
void *progctx);
WIMLIBAPI int
wimlib_overwrite(WIMStruct *wim, int write_flags, unsigned num_threads);
WIMLIBAPI void
wimlib_print_available_images(const WIMStruct *wim, int image);
WIMLIBAPI void
wimlib_print_header(const WIMStruct *wim);
WIMLIBAPI int
wimlib_reference_resource_files(WIMStruct *wim,
const wimlib_tchar * const *resource_wimfiles_or_globs,
unsigned count,
int ref_flags,
int open_flags);
WIMLIBAPI int
wimlib_reference_resources(WIMStruct *wim, WIMStruct **resource_wims,
unsigned num_resource_wims, int ref_flags);
WIMLIBAPI int
wimlib_reference_template_image(WIMStruct *wim, int new_image,
WIMStruct *template_wim, int template_image,
int flags);
WIMLIBAPI void
wimlib_register_progress_function(WIMStruct *wim,
wimlib_progress_func_t progfunc,
void *progctx);
WIMLIBAPI int
wimlib_rename_path(WIMStruct *wim, int image,
const wimlib_tchar *source_path, const wimlib_tchar *dest_path);
WIMLIBAPI int
wimlib_resolve_image(WIMStruct *wim,
const wimlib_tchar *image_name_or_num);
WIMLIBAPI int
wimlib_set_error_file(FILE *fp);
WIMLIBAPI int
wimlib_set_error_file_by_name(const wimlib_tchar *path);
WIMLIBAPI int
wimlib_set_image_descripton(WIMStruct *wim, int image,
const wimlib_tchar *description);
WIMLIBAPI int
wimlib_set_image_flags(WIMStruct *wim, int image, const wimlib_tchar *flags);
WIMLIBAPI int
wimlib_set_image_name(WIMStruct *wim, int image, const wimlib_tchar *name);
WIMLIBAPI int
wimlib_set_image_property(WIMStruct *wim, int image,
const wimlib_tchar *property_name,
const wimlib_tchar *property_value);
WIMLIBAPI int
wimlib_set_memory_allocator(void *(*malloc_func)(size_t),
void (*free_func)(void *),
void *(*realloc_func)(void *, size_t));
WIMLIBAPI int
wimlib_set_output_chunk_size(WIMStruct *wim, uint32_t chunk_size);
WIMLIBAPI int
wimlib_set_output_pack_chunk_size(WIMStruct *wim, uint32_t chunk_size);
WIMLIBAPI int
wimlib_set_output_compression_type(WIMStruct *wim,
enum wimlib_compression_type ctype);
WIMLIBAPI int
wimlib_set_output_pack_compression_type(WIMStruct *wim,
enum wimlib_compression_type ctype);
WIMLIBAPI int
wimlib_set_print_errors(bool show_messages);
WIMLIBAPI int
wimlib_set_wim_info(WIMStruct *wim, const struct wimlib_wim_info *info,
int which);
WIMLIBAPI int
wimlib_split(WIMStruct *wim,
const wimlib_tchar *swm_name,
uint64_t part_size,
int write_flags);
WIMLIBAPI int
wimlib_verify_wim(WIMStruct *wim, int verify_flags);
WIMLIBAPI int
wimlib_unmount_image(const wimlib_tchar *dir, int unmount_flags);
WIMLIBAPI int
wimlib_unmount_image_with_progress(const wimlib_tchar *dir,
int unmount_flags,
wimlib_progress_func_t progfunc,
void *progctx);
WIMLIBAPI int
wimlib_update_image(WIMStruct *wim,
int image,
const struct wimlib_update_command *cmds,
size_t num_cmds,
int update_flags);
WIMLIBAPI int
wimlib_write(WIMStruct *wim,
const wimlib_tchar *path,
int image,
int write_flags,
unsigned num_threads);
WIMLIBAPI int
wimlib_write_to_fd(WIMStruct *wim,
int fd,
int image,
int write_flags,
unsigned num_threads);
struct wimlib_compressor;
struct wimlib_decompressor;
WIMLIBAPI int
wimlib_set_default_compression_level(int ctype, unsigned int compression_level);
WIMLIBAPI uint64_t
wimlib_get_compressor_needed_memory(enum wimlib_compression_type ctype,
size_t max_block_size,
unsigned int compression_level);
#define WIMLIB_COMPRESSOR_FLAG_DESTRUCTIVE 0x80000000
WIMLIBAPI int
wimlib_create_compressor(enum wimlib_compression_type ctype,
size_t max_block_size,
unsigned int compression_level,
struct wimlib_compressor **compressor_ret);
WIMLIBAPI size_t
wimlib_compress(const void *uncompressed_data, size_t uncompressed_size,
void *compressed_data, size_t compressed_size_avail,
struct wimlib_compressor *compressor);
WIMLIBAPI void
wimlib_free_compressor(struct wimlib_compressor *compressor);
WIMLIBAPI int
wimlib_create_decompressor(enum wimlib_compression_type ctype,
size_t max_block_size,
struct wimlib_decompressor **decompressor_ret);
WIMLIBAPI int
wimlib_decompress(const void *compressed_data, size_t compressed_size,
void *uncompressed_data, size_t uncompressed_size,
struct wimlib_decompressor *decompressor);
WIMLIBAPI void
wimlib_free_decompressor(struct wimlib_decompressor *decompressor);
#ifdef __cplusplus
}
#endif
#endif /* _WIMLIB_H */
wimlib_decompress
WIMLIBAPI 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.
wimlib_compress
WIMLIBAPI 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.
wimlib_create_compressor
WIMLIBAPI 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_create_decompressor
WIMLIBAPI 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.
wimlib_set_default_compression_level
WIMLIBAPI int wimlib_set_default_compression_level(int ctype, unsigned int compression_level)
Set the default compression level for the specified compression type.
wimlib_free_compressor
WIMLIBAPI void wimlib_free_compressor(struct wimlib_compressor *compressor)
Free a compressor previously allocated with wimlib_create_compressor().
wimlib_free_decompressor
WIMLIBAPI void wimlib_free_decompressor(struct wimlib_decompressor *decompressor)
Free a decompressor previously allocated with wimlib_create_decompressor().
wimlib_get_compressor_needed_memory
WIMLIBAPI 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(...
wimlib_open_wim_with_progress
WIMLIBAPI int wimlib_open_wim_with_progress(const wimlib_tchar *wim_file, int open_flags, WIMStruct **wim_ret, wimlib_progress_func_t progfunc, void *progctx)
Same as wimlib_open_wim(), but allows specifying a progress function and progress context.
wimlib_create_new_wim
WIMLIBAPI int wimlib_create_new_wim(enum wimlib_compression_type ctype, WIMStruct **wim_ret)
Create a WIMStruct which initially contains no images and is not backed by an on-disk file.
wimlib_open_wim
WIMLIBAPI int wimlib_open_wim(const wimlib_tchar *wim_file, int open_flags, WIMStruct **wim_ret)
Open a WIM file and create a WIMStruct for it.
wimlib_extract_pathlist
WIMLIBAPI int wimlib_extract_pathlist(WIMStruct *wim, int image, const wimlib_tchar *target, const wimlib_tchar *path_list_file, int extract_flags)
Similar to wimlib_extract_paths(), but the paths to extract from the WIM image are specified in the A...
wimlib_extract_image_from_pipe
WIMLIBAPI int wimlib_extract_image_from_pipe(int pipe_fd, const wimlib_tchar *image_num_or_name, const wimlib_tchar *target, int extract_flags)
Extract one image from a pipe on which a pipable WIM is being sent.
wimlib_extract_paths
WIMLIBAPI int wimlib_extract_paths(WIMStruct *wim, int image, const wimlib_tchar *target, const wimlib_tchar *const *paths, size_t num_paths, int extract_flags)
Extract zero or more paths (files or directory trees) from the specified WIM image.
wimlib_extract_image_from_pipe_with_progress
WIMLIBAPI int wimlib_extract_image_from_pipe_with_progress(int pipe_fd, const wimlib_tchar *image_num_or_name, const wimlib_tchar *target, int extract_flags, wimlib_progress_func_t progfunc, void *progctx)
Same as wimlib_extract_image_from_pipe(), but allows specifying a progress function.
wimlib_extract_image
WIMLIBAPI int wimlib_extract_image(WIMStruct *wim, int image, const wimlib_tchar *target, int extract_flags)
Extract an image, or all images, from a WIMStruct.
wimlib_tchar
char wimlib_tchar
See Character encoding.
Definition wimlib.h:481
wimlib_get_error_string
WIMLIBAPI const wimlib_tchar * wimlib_get_error_string(enum wimlib_error_code code)
Convert a wimlib error code into a string describing it.
wimlib_global_init
WIMLIBAPI int wimlib_global_init(int init_flags)
Initialization function for wimlib.
WIMLIB_GUID_LEN
#define WIMLIB_GUID_LEN
Length of a Globally Unique Identifier (GUID), in bytes.
Definition wimlib.h:507
wimlib_set_memory_allocator
WIMLIBAPI int wimlib_set_memory_allocator(void *(*malloc_func)(size_t), void(*free_func)(void *), void *(*realloc_func)(void *, size_t))
Set the functions that wimlib uses to allocate and free memory.
wimlib_get_version_string
WIMLIBAPI const wimlib_tchar * wimlib_get_version_string(void)
Since wimlib v1.13.0: like wimlib_get_version(), but returns the full PACKAGE_VERSION string that was...
wimlib_set_error_file_by_name
WIMLIBAPI int wimlib_set_error_file_by_name(const wimlib_tchar *path)
Set the path to the file to which the library will print error and warning messages.
wimlib_set_print_errors
WIMLIBAPI int wimlib_set_print_errors(bool show_messages)
Set whether wimlib can print error and warning messages to the error file, which defaults to standard...
wimlib_global_cleanup
WIMLIBAPI void wimlib_global_cleanup(void)
Cleanup function for wimlib.
WIMStruct
struct WIMStruct WIMStruct
Opaque structure that represents a WIM, possibly backed by an on-disk file.
Definition wimlib.h:473
wimlib_get_compression_type_string
WIMLIBAPI const wimlib_tchar * wimlib_get_compression_type_string(enum wimlib_compression_type ctype)
Convert a wimlib_compression_type value into a string.
wimlib_set_error_file
WIMLIBAPI int wimlib_set_error_file(FILE *fp)
Set the file to which the library will print error and warning messages.
wimlib_timespec
#define wimlib_timespec
Definition wimlib.h:465
wimlib_verify_wim
WIMLIBAPI int wimlib_verify_wim(WIMStruct *wim, int verify_flags)
Perform verification checks on a WIM file.
wimlib_register_progress_function
WIMLIBAPI void wimlib_register_progress_function(WIMStruct *wim, wimlib_progress_func_t progfunc, void *progctx)
Register a progress function with a WIMStruct.
wimlib_free
WIMLIBAPI void wimlib_free(WIMStruct *wim)
Release a reference to a WIMStruct.
wimlib_error_code
wimlib_error_code
Possible values of the error code returned by many functions in wimlib.
Definition wimlib.h:2542
wimlib_load_text_file
WIMLIBAPI int wimlib_load_text_file(const wimlib_tchar *path, wimlib_tchar **tstr_ret, size_t *tstr_nchars_ret)
Load a UTF-8 or UTF-16LE encoded text file into memory.
wimlib_get_version
WIMLIBAPI uint32_t wimlib_get_version(void)
Return the version of wimlib as a 32-bit number whose top 12 bits contain the major version,...
wimlib_compression_type
wimlib_compression_type
Specifies a compression type.
Definition wimlib.h:519
WIMLIB_ERR_INVALID_IMAGE
@ WIMLIB_ERR_INVALID_IMAGE
Definition wimlib.h:2556
WIMLIB_ERR_SET_XATTR
@ WIMLIB_ERR_SET_XATTR
Definition wimlib.h:2623
WIMLIB_ERR_UNABLE_TO_READ_CAPTURE_CONFIG
@ WIMLIB_ERR_UNABLE_TO_READ_CAPTURE_CONFIG
Definition wimlib.h:2615
WIMLIB_ERR_READLINK
@ WIMLIB_ERR_READLINK
Definition wimlib.h:2586
WIMLIB_ERR_PATH_DOES_NOT_EXIST
@ WIMLIB_ERR_PATH_DOES_NOT_EXIST
Definition wimlib.h:2584
WIMLIB_ERR_DECOMPRESSION
@ WIMLIB_ERR_DECOMPRESSION
Definition wimlib.h:2545
WIMLIB_ERR_XML
@ WIMLIB_ERR_XML
Definition wimlib.h:2605
WIMLIB_ERR_SPLIT_INVALID
@ WIMLIB_ERR_SPLIT_INVALID
Definition wimlib.h:2596
WIMLIB_ERR_INVALID_XATTR
@ WIMLIB_ERR_INVALID_XATTR
Definition wimlib.h:2622
WIMLIB_ERR_INVALID_INTEGRITY_TABLE
@ WIMLIB_ERR_INVALID_INTEGRITY_TABLE
Definition wimlib.h:2557
WIMLIB_ERR_SNAPSHOT_FAILURE
@ WIMLIB_ERR_SNAPSHOT_FAILURE
Definition wimlib.h:2621
WIMLIB_ERR_READ
@ WIMLIB_ERR_READ
Definition wimlib.h:2585
WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES
@ WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES
Definition wimlib.h:2618
WIMLIB_ERR_REPARSE_POINT_FIXUP_FAILED
@ WIMLIB_ERR_REPARSE_POINT_FIXUP_FAILED
Definition wimlib.h:2588
WIMLIB_ERR_INVALID_PARAM
@ WIMLIB_ERR_INVALID_PARAM
Definition wimlib.h:2561
WIMLIB_ERR_RESOURCE_NOT_FOUND
@ WIMLIB_ERR_RESOURCE_NOT_FOUND
Definition wimlib.h:2589
WIMLIB_ERR_MOUNTED_IMAGE_IS_BUSY
@ WIMLIB_ERR_MOUNTED_IMAGE_IS_BUSY
Definition wimlib.h:2611
WIMLIB_ERR_INVALID_UTF8_STRING
@ WIMLIB_ERR_INVALID_UTF8_STRING
Definition wimlib.h:2567
WIMLIB_ERR_UNSUPPORTED_FILE
@ WIMLIB_ERR_UNSUPPORTED_FILE
Definition wimlib.h:2602
WIMLIB_ERR_INSUFFICIENT_PRIVILEGES
@ WIMLIB_ERR_INSUFFICIENT_PRIVILEGES
Definition wimlib.h:2550
WIMLIB_ERR_SET_TIMESTAMPS
@ WIMLIB_ERR_SET_TIMESTAMPS
Definition wimlib.h:2595
WIMLIB_ERR_OPENDIR
@ WIMLIB_ERR_OPENDIR
Definition wimlib.h:2583
WIMLIB_ERR_NTFS_3G
@ WIMLIB_ERR_NTFS_3G
Definition wimlib.h:2581
WIMLIB_ERR_IMAGE_NAME_COLLISION
@ WIMLIB_ERR_IMAGE_NAME_COLLISION
Definition wimlib.h:2549
WIMLIB_ERR_RENAME
@ WIMLIB_ERR_RENAME
Definition wimlib.h:2587
WIMLIB_ERR_NOT_A_WIM_FILE
@ WIMLIB_ERR_NOT_A_WIM_FILE
Definition wimlib.h:2578
WIMLIB_ERR_UNKNOWN_PROGRESS_STATUS
@ WIMLIB_ERR_UNKNOWN_PROGRESS_STATUS
Definition wimlib.h:2609
WIMLIB_ERR_NO_FILENAME
@ WIMLIB_ERR_NO_FILENAME
Definition wimlib.h:2580
WIMLIB_ERR_WRITE
@ WIMLIB_ERR_WRITE
Definition wimlib.h:2604
WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY
@ WIMLIB_ERR_INVALID_LOOKUP_TABLE_ENTRY
Definition wimlib.h:2558
WIMLIB_ERR_NOT_A_REGULAR_FILE
@ WIMLIB_ERR_NOT_A_REGULAR_FILE
Definition wimlib.h:2577
WIMLIB_ERR_STAT
@ WIMLIB_ERR_STAT
Definition wimlib.h:2597
WIMLIB_ERR_NOT_PIPABLE
@ WIMLIB_ERR_NOT_PIPABLE
Definition wimlib.h:2579
WIMLIB_ERR_IS_DIRECTORY
@ WIMLIB_ERR_IS_DIRECTORY
Definition wimlib.h:2568
WIMLIB_ERR_METADATA_NOT_FOUND
@ WIMLIB_ERR_METADATA_NOT_FOUND
Definition wimlib.h:2571
WIMLIB_ERR_ABORTED_BY_PROGRESS
@ WIMLIB_ERR_ABORTED_BY_PROGRESS
Definition wimlib.h:2608
WIMLIB_ERR_WIMBOOT
@ WIMLIB_ERR_WIMBOOT
Definition wimlib.h:2607
WIMLIB_ERR_WIM_IS_INCOMPLETE
@ WIMLIB_ERR_WIM_IS_INCOMPLETE
Definition wimlib.h:2616
WIMLIB_ERR_UNKNOWN_VERSION
@ WIMLIB_ERR_UNKNOWN_VERSION
Definition wimlib.h:2600
WIMLIB_ERR_INVALID_METADATA_RESOURCE
@ WIMLIB_ERR_INVALID_METADATA_RESOURCE
Definition wimlib.h:2559
WIMLIB_ERR_SET_SECURITY
@ WIMLIB_ERR_SET_SECURITY
Definition wimlib.h:2593
WIMLIB_ERR_OPEN
@ WIMLIB_ERR_OPEN
Definition wimlib.h:2582
WIMLIB_ERR_IS_SPLIT_WIM
@ WIMLIB_ERR_IS_SPLIT_WIM
Definition wimlib.h:2569
WIMLIB_ERR_SET_SHORT_NAME
@ WIMLIB_ERR_SET_SHORT_NAME
Definition wimlib.h:2594
WIMLIB_ERR_NOMEM
@ WIMLIB_ERR_NOMEM
Definition wimlib.h:2574
WIMLIB_ERR_INVALID_OVERLAY
@ WIMLIB_ERR_INVALID_OVERLAY
Definition wimlib.h:2560
WIMLIB_ERR_MKNOD
@ WIMLIB_ERR_MKNOD
Definition wimlib.h:2610
WIMLIB_ERR_INVALID_RESOURCE_HASH
@ WIMLIB_ERR_INVALID_RESOURCE_HASH
Definition wimlib.h:2565
WIMLIB_ERR_SET_REPARSE_DATA
@ WIMLIB_ERR_SET_REPARSE_DATA
Definition wimlib.h:2592
WIMLIB_ERR_MKDIR
@ WIMLIB_ERR_MKDIR
Definition wimlib.h:2572
WIMLIB_ERR_FUSE
@ WIMLIB_ERR_FUSE
Definition wimlib.h:2546
WIMLIB_ERR_INVALID_REPARSE_DATA
@ WIMLIB_ERR_INVALID_REPARSE_DATA
Definition wimlib.h:2564
WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE
@ WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE
Definition wimlib.h:2619
WIMLIB_ERR_SUCCESS
@ WIMLIB_ERR_SUCCESS
Definition wimlib.h:2543
WIMLIB_ERR_NOTEMPTY
@ WIMLIB_ERR_NOTEMPTY
Definition wimlib.h:2576
WIMLIB_ERR_UNSUPPORTED
@ WIMLIB_ERR_UNSUPPORTED
Definition wimlib.h:2601
WIMLIB_ERR_INVALID_CAPTURE_CONFIG
@ WIMLIB_ERR_INVALID_CAPTURE_CONFIG
Definition wimlib.h:2552
WIMLIB_ERR_INVALID_CHUNK_SIZE
@ WIMLIB_ERR_INVALID_CHUNK_SIZE
Definition wimlib.h:2553
WIMLIB_ERR_LINK
@ WIMLIB_ERR_LINK
Definition wimlib.h:2570
WIMLIB_ERR_INVALID_PIPABLE_WIM
@ WIMLIB_ERR_INVALID_PIPABLE_WIM
Definition wimlib.h:2563
WIMLIB_ERR_IMAGE_COUNT
@ WIMLIB_ERR_IMAGE_COUNT
Definition wimlib.h:2548
WIMLIB_ERR_INVALID_HEADER
@ WIMLIB_ERR_INVALID_HEADER
Definition wimlib.h:2555
WIMLIB_ERR_UNEXPECTED_END_OF_FILE
@ WIMLIB_ERR_UNEXPECTED_END_OF_FILE
Definition wimlib.h:2598
WIMLIB_ERR_GLOB_HAD_NO_MATCHES
@ WIMLIB_ERR_GLOB_HAD_NO_MATCHES
Definition wimlib.h:2547
WIMLIB_ERR_NOTDIR
@ WIMLIB_ERR_NOTDIR
Definition wimlib.h:2575
WIMLIB_ERR_UNICODE_STRING_NOT_REPRESENTABLE
@ WIMLIB_ERR_UNICODE_STRING_NOT_REPRESENTABLE
Definition wimlib.h:2599
WIMLIB_ERR_FVE_LOCKED_VOLUME
@ WIMLIB_ERR_FVE_LOCKED_VOLUME
Definition wimlib.h:2614
WIMLIB_ERR_COMPACTION_NOT_POSSIBLE
@ WIMLIB_ERR_COMPACTION_NOT_POSSIBLE
Definition wimlib.h:2617
WIMLIB_ERR_SET_ATTRIBUTES
@ WIMLIB_ERR_SET_ATTRIBUTES
Definition wimlib.h:2591
WIMLIB_ERR_INVALID_UTF16_STRING
@ WIMLIB_ERR_INVALID_UTF16_STRING
Definition wimlib.h:2566
WIMLIB_ERR_NOT_PERMITTED_TO_UNMOUNT
@ WIMLIB_ERR_NOT_PERMITTED_TO_UNMOUNT
Definition wimlib.h:2613
WIMLIB_ERR_INTEGRITY
@ WIMLIB_ERR_INTEGRITY
Definition wimlib.h:2551
WIMLIB_ERR_WIM_IS_ENCRYPTED
@ WIMLIB_ERR_WIM_IS_ENCRYPTED
Definition wimlib.h:2606
WIMLIB_ERR_RESOURCE_ORDER
@ WIMLIB_ERR_RESOURCE_ORDER
Definition wimlib.h:2590
WIMLIB_ERR_INVALID_COMPRESSION_TYPE
@ WIMLIB_ERR_INVALID_COMPRESSION_TYPE
Definition wimlib.h:2554
WIMLIB_ERR_ALREADY_LOCKED
@ WIMLIB_ERR_ALREADY_LOCKED
Definition wimlib.h:2544
WIMLIB_ERR_MQUEUE
@ WIMLIB_ERR_MQUEUE
Definition wimlib.h:2573
WIMLIB_ERR_INVALID_PART_NUMBER
@ WIMLIB_ERR_INVALID_PART_NUMBER
Definition wimlib.h:2562
WIMLIB_ERR_WIM_IS_READONLY
@ WIMLIB_ERR_WIM_IS_READONLY
Definition wimlib.h:2603
WIMLIB_ERR_NOT_A_MOUNTPOINT
@ WIMLIB_ERR_NOT_A_MOUNTPOINT
Definition wimlib.h:2612
WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED
@ WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED
Definition wimlib.h:2620
WIMLIB_COMPRESSION_TYPE_NONE
@ WIMLIB_COMPRESSION_TYPE_NONE
No compression.
Definition wimlib.h:527
WIMLIB_COMPRESSION_TYPE_LZMS
@ WIMLIB_COMPRESSION_TYPE_LZMS
The LZMS compression format.
Definition wimlib.h:592
WIMLIB_COMPRESSION_TYPE_LZX
@ WIMLIB_COMPRESSION_TYPE_LZX
The LZX compression format.
Definition wimlib.h:569
WIMLIB_COMPRESSION_TYPE_XPRESS
@ WIMLIB_COMPRESSION_TYPE_XPRESS
The XPRESS compression format.
Definition wimlib.h:547
wimlib_add_image
WIMLIBAPI int wimlib_add_image(WIMStruct *wim, const wimlib_tchar *source, const wimlib_tchar *name, const wimlib_tchar *config_file, int add_flags)
Add an image to a WIMStruct from an on-disk directory tree or NTFS volume.
wimlib_export_image
WIMLIBAPI 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)
Export an image, or all images, from a WIMStruct into another WIMStruct.
wimlib_reference_template_image
WIMLIBAPI int wimlib_reference_template_image(WIMStruct *wim, int new_image, WIMStruct *template_wim, int template_image, int flags)
Declare that a newly added image is mostly the same as a prior image, but captured at a later point i...
wimlib_set_image_name
WIMLIBAPI int wimlib_set_image_name(WIMStruct *wim, int image, const wimlib_tchar *name)
Change the name of a WIM image.
wimlib_add_image_multisource
WIMLIBAPI 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)
This function is equivalent to wimlib_add_image() except it allows for multiple sources to be combine...
wimlib_add_tree
WIMLIBAPI int wimlib_add_tree(WIMStruct *wim, int image, const wimlib_tchar *fs_source_path, const wimlib_tchar *wim_target_path, int add_flags)
Add the file or directory tree at fs_source_path on the filesystem to the location wim_target_path wi...
wimlib_set_wim_info
WIMLIBAPI int wimlib_set_wim_info(WIMStruct *wim, const struct wimlib_wim_info *info, int which)
Set basic information about a WIM.
wimlib_set_image_flags
WIMLIBAPI int wimlib_set_image_flags(WIMStruct *wim, int image, const wimlib_tchar *flags)
Change what is stored in the <FLAGS> element in the WIM XML document (usually something like "Core" o...
wimlib_add_empty_image
WIMLIBAPI int wimlib_add_empty_image(WIMStruct *wim, const wimlib_tchar *name, int *new_idx_ret)
Append an empty image to a WIMStruct.
wimlib_set_image_property
WIMLIBAPI int wimlib_set_image_property(WIMStruct *wim, int image, const wimlib_tchar *property_name, const wimlib_tchar *property_value)
Since wimlib v1.8.3: add, modify, or remove a per-image property from the WIM's XML document.
wimlib_rename_path
WIMLIBAPI int wimlib_rename_path(WIMStruct *wim, int image, const wimlib_tchar *source_path, const wimlib_tchar *dest_path)
Rename the source_path to the dest_path in the specified image of the wim.
wimlib_set_image_descripton
WIMLIBAPI int wimlib_set_image_descripton(WIMStruct *wim, int image, const wimlib_tchar *description)
Change the description of a WIM image.
wimlib_update_image
WIMLIBAPI int wimlib_update_image(WIMStruct *wim, int image, const struct wimlib_update_command *cmds, size_t num_cmds, int update_flags)
Update a WIM image by adding, deleting, and/or renaming files or directories.
wimlib_delete_image
WIMLIBAPI int wimlib_delete_image(WIMStruct *wim, int image)
Delete an image, or all images, from a WIMStruct.
wimlib_update_op
wimlib_update_op
The specific type of update to perform.
Definition wimlib.h:2468
wimlib_delete_path
WIMLIBAPI int wimlib_delete_path(WIMStruct *wim, int image, const wimlib_tchar *path, int delete_flags)
Delete the path from the specified image of the wim.
WIMLIB_UPDATE_OP_RENAME
@ WIMLIB_UPDATE_OP_RENAME
Rename a file or directory tree in the image.
Definition wimlib.h:2476
WIMLIB_UPDATE_OP_DELETE
@ WIMLIB_UPDATE_OP_DELETE
Delete a file or directory tree from the image.
Definition wimlib.h:2473
WIMLIB_UPDATE_OP_ADD
@ WIMLIB_UPDATE_OP_ADD
Add a new file or directory tree to the image.
Definition wimlib.h:2470
wimlib_unmount_image
WIMLIBAPI int wimlib_unmount_image(const wimlib_tchar *dir, int unmount_flags)
Unmount a WIM image that was mounted using wimlib_mount_image().
wimlib_mount_image
WIMLIBAPI int wimlib_mount_image(WIMStruct *wim, int image, const wimlib_tchar *dir, int mount_flags, const wimlib_tchar *staging_dir)
Mount an image from a WIM file on a directory read-only or read-write.
wimlib_unmount_image_with_progress
WIMLIBAPI int wimlib_unmount_image_with_progress(const wimlib_tchar *dir, int unmount_flags, wimlib_progress_func_t progfunc, void *progctx)
Same as wimlib_unmount_image(), but allows specifying a progress function.
wimlib_join_with_progress
WIMLIBAPI 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)
Same as wimlib_join(), but allows specifying a progress function.
wimlib_join
WIMLIBAPI int wimlib_join(const wimlib_tchar *const *swms, unsigned num_swms, const wimlib_tchar *output_path, int swm_open_flags, int wim_write_flags)
Join a split WIM into a stand-alone (one-part) WIM.
wimlib_reference_resource_files
WIMLIBAPI int wimlib_reference_resource_files(WIMStruct *wim, const wimlib_tchar *const *resource_wimfiles_or_globs, unsigned count, int ref_flags, int open_flags)
Reference file data from other WIM files or split WIM parts.
wimlib_split
WIMLIBAPI int wimlib_split(WIMStruct *wim, const wimlib_tchar *swm_name, uint64_t part_size, int write_flags)
Split a WIM into multiple parts.
wimlib_reference_resources
WIMLIBAPI int wimlib_reference_resources(WIMStruct *wim, WIMStruct **resource_wims, unsigned num_resource_wims, int ref_flags)
Similar to wimlib_reference_resource_files(), but operates at a lower level where the caller must ope...
wimlib_progress_status
wimlib_progress_status
Valid return values from user-provided progress functions (wimlib_progress_func_t).
Definition wimlib.h:809
wimlib_progress_func_t
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:1275
wimlib_progress_msg
wimlib_progress_msg
Possible values of the first parameter to the user-supplied wimlib_progress_func_t progress function.
Definition wimlib.h:601
WIMLIB_PROGRESS_STATUS_CONTINUE
@ WIMLIB_PROGRESS_STATUS_CONTINUE
The operation should be continued.
Definition wimlib.h:813
WIMLIB_PROGRESS_STATUS_ABORT
@ WIMLIB_PROGRESS_STATUS_ABORT
The operation should be aborted.
Definition wimlib.h:817
WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART
@ 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:710
WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN
@ WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN
Starting to unmount an image.
Definition wimlib.h:745
WIMLIB_PROGRESS_MSG_VERIFY_STREAMS
@ WIMLIB_PROGRESS_MSG_VERIFY_STREAMS
wimlib_verify_wim() is verifying file data integrity.
Definition wimlib.h:764
WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN
@ WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN
Starting to read a new part of a split pipable WIM over the pipe.
Definition wimlib.h:631
WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END
@ WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_END
The image has been successfully extracted.
Definition wimlib.h:644
WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM
@ 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:733
WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY
@ WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY
The contents of the WIM file are being checked against the integrity table.
Definition wimlib.h:699
WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS
@ WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS
File data is currently being extracted.
Definition wimlib.h:627
WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE
@ WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE
wimlib_verify_wim() has finished verifying the metadata for an image.
Definition wimlib.h:760
WIMLIB_PROGRESS_MSG_EXTRACT_TREE_BEGIN
@ 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:614
WIMLIB_PROGRESS_MSG_WRITE_METADATA_END
@ WIMLIB_PROGRESS_MSG_WRITE_METADATA_END
The per-image metadata has been written to the WIM file.
Definition wimlib.h:685
WIMLIB_PROGRESS_MSG_HANDLE_ERROR
@ 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:800
WIMLIB_PROGRESS_MSG_SPLIT_END_PART
@ WIMLIB_PROGRESS_MSG_SPLIT_END_PART
A wimlib_split() operation is in progress, and a split part has been finished.
Definition wimlib.h:714
WIMLIB_PROGRESS_MSG_WRITE_STREAMS
@ WIMLIB_PROGRESS_MSG_WRITE_STREAMS
File data is currently being written to the WIM.
Definition wimlib.h:676
WIMLIB_PROGRESS_MSG_RENAME
@ WIMLIB_PROGRESS_MSG_RENAME
wimlib_overwrite() has successfully renamed the temporary file to the original WIM file,...
Definition wimlib.h:692
WIMLIB_PROGRESS_MSG_TEST_FILE_EXCLUSION
@ 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:778
WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE
@ 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:741
WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE
@ WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE
wimlib_verify_wim() is starting to verify the metadata for an image.
Definition wimlib.h:755
WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND
@ WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND
A WIM update command is about to be executed.
Definition wimlib.h:720
WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END
@ WIMLIB_PROGRESS_MSG_EXTRACT_TREE_END
The files or directory trees have been successfully extracted.
Definition wimlib.h:649
WIMLIB_PROGRESS_MSG_CALC_INTEGRITY
@ WIMLIB_PROGRESS_MSG_CALC_INTEGRITY
An integrity table is being calculated for the WIM being written.
Definition wimlib.h:705
WIMLIB_PROGRESS_MSG_SCAN_DENTRY
@ WIMLIB_PROGRESS_MSG_SCAN_DENTRY
A directory or file has been scanned.
Definition wimlib.h:662
WIMLIB_PROGRESS_MSG_EXTRACT_METADATA
@ WIMLIB_PROGRESS_MSG_EXTRACT_METADATA
This message may be sent periodically (not necessarily for every file) while file and directory metad...
Definition wimlib.h:639
WIMLIB_PROGRESS_MSG_DONE_WITH_FILE
@ 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:751
WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND
@ WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND
A WIM update command has been executed.
Definition wimlib.h:726
WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE
@ 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:622
WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN
@ WIMLIB_PROGRESS_MSG_WRITE_METADATA_BEGIN
Per-image metadata is about to be written to the WIM file.
Definition wimlib.h:680
WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN
@ WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGIN
A WIM image is about to be extracted.
Definition wimlib.h:607
WIMLIB_PROGRESS_MSG_SCAN_BEGIN
@ WIMLIB_PROGRESS_MSG_SCAN_BEGIN
The directory or NTFS volume is about to be scanned for metadata.
Definition wimlib.h:656
WIMLIB_PROGRESS_MSG_SCAN_END
@ WIMLIB_PROGRESS_MSG_SCAN_END
The directory or NTFS volume has been successfully scanned.
Definition wimlib.h:668
wimlib_image_name_in_use
WIMLIBAPI bool wimlib_image_name_in_use(const WIMStruct *wim, const wimlib_tchar *name)
Determine if an image name is already used by some image in the WIM.
wimlib_print_available_images
WIMLIBAPI void wimlib_print_available_images(const WIMStruct *wim, int image)
(Deprecated) Print information about one image, or all images, contained in a WIM.
wimlib_print_header
WIMLIBAPI void wimlib_print_header(const WIMStruct *wim)
Print the header of the WIM file (intended for debugging only).
wimlib_iterate_lookup_table
WIMLIBAPI int wimlib_iterate_lookup_table(WIMStruct *wim, int flags, wimlib_iterate_lookup_table_callback_t cb, void *user_ctx)
Iterate through the blob lookup table of a WIMStruct.
wimlib_get_xml_data
WIMLIBAPI int wimlib_get_xml_data(WIMStruct *wim, void **buf_ret, size_t *bufsize_ret)
Read a WIM file's XML document into an in-memory buffer.
wimlib_get_image_description
WIMLIBAPI const wimlib_tchar * wimlib_get_image_description(const WIMStruct *wim, int image)
Get the description of the specified image.
wimlib_get_image_property
WIMLIBAPI const wimlib_tchar * wimlib_get_image_property(const WIMStruct *wim, int image, const wimlib_tchar *property_name)
Since wimlib v1.8.3: get a per-image property from the WIM's XML document.
wimlib_get_wim_info
WIMLIBAPI int wimlib_get_wim_info(WIMStruct *wim, struct wimlib_wim_info *info)
Get basic information about a WIM file.
wimlib_resolve_image
WIMLIBAPI int wimlib_resolve_image(WIMStruct *wim, const wimlib_tchar *image_name_or_num)
Translate a string specifying the name or number of an image in the WIM into the number of the image.
wimlib_extract_xml_data
WIMLIBAPI int wimlib_extract_xml_data(WIMStruct *wim, FILE *fp)
Similar to wimlib_get_xml_data(), but the XML document will be written to the specified standard C FI...
wimlib_get_image_name
WIMLIBAPI const wimlib_tchar * wimlib_get_image_name(const WIMStruct *wim, int image)
Get the name of the specified image.
wimlib_iterate_lookup_table_callback_t
int(* wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resource_entry *resource, void *user_ctx)
Type of a callback function to wimlib_iterate_lookup_table().
Definition wimlib.h:1708
wimlib_iterate_dir_tree
WIMLIBAPI int wimlib_iterate_dir_tree(WIMStruct *wim, int image, const wimlib_tchar *path, int flags, wimlib_iterate_dir_tree_callback_t cb, void *user_ctx)
Iterate through a file or directory tree in a WIM image.
wimlib_iterate_dir_tree_callback_t
int(* wimlib_iterate_dir_tree_callback_t)(const struct wimlib_dir_entry *dentry, void *user_ctx)
Type of a callback function to wimlib_iterate_dir_tree().
Definition wimlib.h:1701
wimlib_write_to_fd
WIMLIBAPI int wimlib_write_to_fd(WIMStruct *wim, int fd, int image, int write_flags, unsigned num_threads)
Same as wimlib_write(), but write the WIM directly to a file descriptor, which need not be seekable i...
wimlib_overwrite
WIMLIBAPI int wimlib_overwrite(WIMStruct *wim, int write_flags, unsigned num_threads)
Commit a WIMStruct to disk, updating its backing file.
wimlib_set_output_pack_compression_type
WIMLIBAPI int wimlib_set_output_pack_compression_type(WIMStruct *wim, enum wimlib_compression_type ctype)
Similar to wimlib_set_output_compression_type(), but set the compression type for writing solid resou...
wimlib_set_output_chunk_size
WIMLIBAPI int wimlib_set_output_chunk_size(WIMStruct *wim, uint32_t chunk_size)
Set a WIMStruct's output compression chunk size.
wimlib_write
WIMLIBAPI int wimlib_write(WIMStruct *wim, const wimlib_tchar *path, int image, int write_flags, unsigned num_threads)
Persist a WIMStruct to a new on-disk WIM file.
wimlib_set_output_compression_type
WIMLIBAPI int wimlib_set_output_compression_type(WIMStruct *wim, enum wimlib_compression_type ctype)
Set a WIMStruct's output compression type.
wimlib_set_output_pack_chunk_size
WIMLIBAPI int wimlib_set_output_pack_chunk_size(WIMStruct *wim, uint32_t chunk_size)
Similar to wimlib_set_output_chunk_size(), but set the chunk size for writing solid resources.
wimlib_add_command
Data for a WIMLIB_UPDATE_OP_ADD operation.
Definition wimlib.h:2480
wimlib_add_command::add_flags
int add_flags
Bitwise OR of WIMLIB_ADD_FLAG_* flags.
Definition wimlib.h:2493
wimlib_add_command::fs_source_path
wimlib_tchar * fs_source_path
Filesystem path to the file or directory tree to add.
Definition wimlib.h:2482
wimlib_add_command::config_file
wimlib_tchar * config_file
Path to capture configuration file to use, or NULL if not specified.
Definition wimlib.h:2490
wimlib_add_command::wim_target_path
wimlib_tchar * wim_target_path
Destination path in the image.
Definition wimlib.h:2486
wimlib_capture_source
An array of these structures is passed to wimlib_add_image_multisource() to specify the sources from ...
Definition wimlib.h:1285
wimlib_capture_source::wim_target_path
wimlib_tchar * wim_target_path
Destination path in the image.
Definition wimlib.h:1292
wimlib_capture_source::reserved
long reserved
Reserved; set to 0.
Definition wimlib.h:1295
wimlib_capture_source::fs_source_path
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:1288
wimlib_delete_command
Data for a WIMLIB_UPDATE_OP_DELETE operation.
Definition wimlib.h:2497
wimlib_delete_command::wim_path
wimlib_tchar * wim_path
The path to the file or directory within the image to delete.
Definition wimlib.h:2500
wimlib_delete_command::delete_flags
int delete_flags
Bitwise OR of WIMLIB_DELETE_FLAG_* flags.
Definition wimlib.h:2503
wimlib_dir_entry
Structure passed to the wimlib_iterate_dir_tree() callback function.
Definition wimlib.h:1546
wimlib_dir_entry::depth
size_t depth
Depth of this directory entry, where 0 is the root, 1 is the root's children, ...,...
Definition wimlib.h:1561
wimlib_dir_entry::last_access_time
struct wimlib_timespec last_access_time
Time this file was last accessed.
Definition wimlib.h:1635
wimlib_dir_entry::object_id
struct wimlib_object_id object_id
Definition wimlib.h:1662
wimlib_dir_entry::unix_uid
uint32_t unix_uid
The UNIX user ID of this file.
Definition wimlib.h:1640
wimlib_dir_entry::last_write_time_high
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:1670
wimlib_dir_entry::reparse_tag
uint32_t reparse_tag
If the file is a reparse point (FILE_ATTRIBUTE_REPARSE_POINT set in the attributes),...
Definition wimlib.h:1608
wimlib_dir_entry::last_access_time_high
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:1674
wimlib_dir_entry::security_descriptor
const char * security_descriptor
Pointer to the security descriptor for this file, in Windows SECURITY_DESCRIPTOR_RELATIVE format,...
Definition wimlib.h:1566
wimlib_dir_entry::unix_rdev
uint32_t unix_rdev
The UNIX device ID (major and minor number) of this file.
Definition wimlib.h:1658
wimlib_dir_entry::hard_link_group_id
uint64_t hard_link_group_id
A unique identifier for this file's inode.
Definition wimlib.h:1626
wimlib_dir_entry::reserved
uint64_t reserved[4]
Definition wimlib.h:1678
wimlib_dir_entry::num_links
uint32_t num_links
Number of links to this file's inode (hard links).
Definition wimlib.h:1614
wimlib_dir_entry::creation_time_high
int32_t creation_time_high
High 32 bits of the seconds portion of the creation timestamp, filled in if wimlib_timespec....
Definition wimlib.h:1666
wimlib_dir_entry::last_write_time
struct wimlib_timespec last_write_time
Time this file was last written to.
Definition wimlib.h:1632
wimlib_dir_entry::filename
const wimlib_tchar * filename
Name of the file, or NULL if this file is unnamed.
Definition wimlib.h:1549
wimlib_dir_entry::attributes
uint32_t attributes
File attributes, such as whether the file is a directory or not.
Definition wimlib.h:1590
wimlib_dir_entry::num_named_streams
uint32_t num_named_streams
Number of named data streams this file has.
Definition wimlib.h:1617
wimlib_dir_entry::security_descriptor_size
size_t security_descriptor_size
Size of the above security descriptor, in bytes.
Definition wimlib.h:1569
wimlib_dir_entry::streams
struct wimlib_stream_entry streams[]
Variable-length array of streams that make up this file.
Definition wimlib.h:1694
wimlib_dir_entry::dos_name
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:1553
wimlib_dir_entry::full_path
const wimlib_tchar * full_path
Full path to this file within the image.
Definition wimlib.h:1557
wimlib_dir_entry::unix_gid
uint32_t unix_gid
The UNIX group ID of this file.
Definition wimlib.h:1645
wimlib_dir_entry::unix_mode
uint32_t unix_mode
The UNIX mode of this file.
Definition wimlib.h:1652
wimlib_dir_entry::creation_time
struct wimlib_timespec creation_time
Time this file was created.
Definition wimlib.h:1629
wimlib_dir_entry::reserved2
int32_t reserved2
Definition wimlib.h:1676
wimlib_object_id
Since wimlib v1.9.1: an object ID, which is an extra piece of metadata that may be associated with a ...
Definition wimlib.h:1535
wimlib_object_id::birth_volume_id
uint8_t birth_volume_id[WIMLIB_GUID_LEN]
Definition wimlib.h:1537
wimlib_object_id::object_id
uint8_t object_id[WIMLIB_GUID_LEN]
Definition wimlib.h:1536
wimlib_object_id::birth_object_id
uint8_t birth_object_id[WIMLIB_GUID_LEN]
Definition wimlib.h:1538
wimlib_object_id::domain_id
uint8_t domain_id[WIMLIB_GUID_LEN]
Definition wimlib.h:1539
wimlib_progress_info::wimlib_progress_info_done_with_file
Valid on messages WIMLIB_PROGRESS_MSG_DONE_WITH_FILE.
Definition wimlib.h:1172
wimlib_progress_info::wimlib_progress_info_done_with_file::path_to_file
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:1191
wimlib_progress_info::wimlib_progress_info_extract
Valid on messages WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGI...
Definition wimlib.h:972
wimlib_progress_info::wimlib_progress_info_extract::extract_flags
uint32_t extract_flags
Extraction flags being used.
Definition wimlib.h:979
wimlib_progress_info::wimlib_progress_info_extract::completed_bytes
uint64_t completed_bytes
The number of bytes of file data that have been extracted so far.
Definition wimlib.h:1002
wimlib_progress_info::wimlib_progress_info_extract::end_file_count
uint64_t end_file_count
For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages,...
Definition wimlib.h:1049
wimlib_progress_info::wimlib_progress_info_extract::current_file_count
uint64_t current_file_count
For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages,...
Definition wimlib.h:1031
wimlib_progress_info::wimlib_progress_info_extract::image_name
const wimlib_tchar * image_name
Name of the image from which files are being extracted, or the empty string if the image is unnamed.
Definition wimlib.h:988
wimlib_progress_info::wimlib_progress_info_extract::total_parts
uint32_t total_parts
Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
Definition wimlib.h:1020
wimlib_progress_info::wimlib_progress_info_extract::total_bytes
uint64_t total_bytes
The number of bytes of file data that will be extracted.
Definition wimlib.h:998
wimlib_progress_info::wimlib_progress_info_extract::wimfile_name
const wimlib_tchar * wimfile_name
If the WIMStruct from which the extraction being performed has a backing file, then this is an absolu...
Definition wimlib.h:984
wimlib_progress_info::wimlib_progress_info_extract::completed_streams
uint64_t completed_streams
The number of file streams that have been extracted so far.
Definition wimlib.h:1012
wimlib_progress_info::wimlib_progress_info_extract::part_number
uint32_t part_number
Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
Definition wimlib.h:1016
wimlib_progress_info::wimlib_progress_info_extract::target
const wimlib_tchar * target
Path to the directory or NTFS volume to which the files are being extracted.
Definition wimlib.h:992
wimlib_progress_info::wimlib_progress_info_extract::guid
uint8_t guid[WIMLIB_GUID_LEN]
Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
Definition wimlib.h:1024
wimlib_progress_info::wimlib_progress_info_extract::reserved
const wimlib_tchar * reserved
Reserved.
Definition wimlib.h:995
wimlib_progress_info::wimlib_progress_info_extract::image
uint32_t image
The 1-based index of the image from which files are being extracted.
Definition wimlib.h:976
wimlib_progress_info::wimlib_progress_info_extract::total_streams
uint64_t total_streams
The number of file streams that will be extracted.
Definition wimlib.h:1008
wimlib_progress_info::wimlib_progress_info_handle_error
Valid on messages WIMLIB_PROGRESS_MSG_HANDLE_ERROR.
Definition wimlib.h:1238
wimlib_progress_info::wimlib_progress_info_handle_error::will_ignore
bool will_ignore
Indicates whether the error will be ignored or not.
Definition wimlib.h:1252
wimlib_progress_info::wimlib_progress_info_handle_error::path
const wimlib_tchar * path
Path to the file for which the error occurred, or NULL if not relevant.
Definition wimlib.h:1242
wimlib_progress_info::wimlib_progress_info_handle_error::error_code
int error_code
The wimlib error code associated with the error.
Definition wimlib.h:1245
wimlib_progress_info::wimlib_progress_info_integrity
Valid on messages WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY and WIMLIB_PROGRESS_MSG_CALC_INTEGRITY.
Definition wimlib.h:1080
wimlib_progress_info::wimlib_progress_info_integrity::completed_bytes
uint64_t completed_bytes
The number of bytes that have been checksummed so far.
Definition wimlib.h:1088
wimlib_progress_info::wimlib_progress_info_integrity::total_chunks
uint32_t total_chunks
The number of individually checksummed "chunks" the integrity-checked region is divided into.
Definition wimlib.h:1092
wimlib_progress_info::wimlib_progress_info_integrity::total_bytes
uint64_t total_bytes
The number of bytes in the WIM file that are covered by integrity checks.
Definition wimlib.h:1084
wimlib_progress_info::wimlib_progress_info_integrity::completed_chunks
uint32_t completed_chunks
The number of chunks that have been checksummed so far.
Definition wimlib.h:1096
wimlib_progress_info::wimlib_progress_info_integrity::chunk_size
uint32_t chunk_size
The size of each individually checksummed "chunk" in the integrity-checked region.
Definition wimlib.h:1100
wimlib_progress_info::wimlib_progress_info_integrity::filename
const wimlib_tchar * filename
For WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY messages, this is the path to the WIM file being checked.
Definition wimlib.h:1104
wimlib_progress_info::wimlib_progress_info_rename
Valid on messages WIMLIB_PROGRESS_MSG_RENAME.
Definition wimlib.h:1053
wimlib_progress_info::wimlib_progress_info_rename::from
const wimlib_tchar * from
Name of the temporary file that the WIM was written to.
Definition wimlib.h:1055
wimlib_progress_info::wimlib_progress_info_rename::to
const wimlib_tchar * to
Name of the original WIM file to which the temporary file is being renamed.
Definition wimlib.h:1059
wimlib_progress_info::wimlib_progress_info_replace
Valid on messages WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM.
Definition wimlib.h:1138
wimlib_progress_info::wimlib_progress_info_replace::path_in_wim
const wimlib_tchar * path_in_wim
Path to the file in the image that is being replaced.
Definition wimlib.h:1140
wimlib_progress_info::wimlib_progress_info_scan
Valid on messages WIMLIB_PROGRESS_MSG_SCAN_BEGIN, WIMLIB_PROGRESS_MSG_SCAN_DENTRY,...
Definition wimlib.h:884
wimlib_progress_info::wimlib_progress_info_scan::wim_target_path
const wimlib_tchar * wim_target_path
Target path in the image.
Definition wimlib.h:931
wimlib_progress_info::wimlib_progress_info_scan::num_bytes_scanned
uint64_t num_bytes_scanned
The number of bytes of file data detected so far, not counting excluded/unsupported files.
Definition wimlib.h:950
wimlib_progress_info::wimlib_progress_info_scan::cur_path
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:896
wimlib_progress_info::wimlib_progress_info_scan::num_nondirs_scanned
uint64_t num_nondirs_scanned
The number of non-directories scanned so far, not counting excluded/unsupported files.
Definition wimlib.h:946
wimlib_progress_info::wimlib_progress_info_scan::num_dirs_scanned
uint64_t num_dirs_scanned
The number of directories scanned so far, not counting excluded/unsupported files.
Definition wimlib.h:942
wimlib_progress_info::wimlib_progress_info_scan::status
enum wimlib_progress_info::wimlib_progress_info_scan::@147315050252043357027076206126117174124215274134 status
Dentry scan status, valid on WIMLIB_PROGRESS_MSG_SCAN_DENTRY.
wimlib_progress_info::wimlib_progress_info_scan::symlink_target
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:937
wimlib_progress_info::wimlib_progress_info_scan::WIMLIB_SCAN_DENTRY_UNSUPPORTED
@ WIMLIB_SCAN_DENTRY_UNSUPPORTED
File is being excluded from capture due to being of an unsupported type.
Definition wimlib.h:910
wimlib_progress_info::wimlib_progress_info_scan::WIMLIB_SCAN_DENTRY_OK
@ WIMLIB_SCAN_DENTRY_OK
File looks okay and will be captured.
Definition wimlib.h:902
wimlib_progress_info::wimlib_progress_info_scan::WIMLIB_SCAN_DENTRY_EXCLUDED
@ WIMLIB_SCAN_DENTRY_EXCLUDED
File is being excluded from capture due to the capture configuration.
Definition wimlib.h:906
wimlib_progress_info::wimlib_progress_info_scan::WIMLIB_SCAN_DENTRY_NOT_FIXED_SYMLINK
@ 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:924
wimlib_progress_info::wimlib_progress_info_scan::WIMLIB_SCAN_DENTRY_FIXED_SYMLINK
@ WIMLIB_SCAN_DENTRY_FIXED_SYMLINK
The file is an absolute symbolic link or junction that points into the capture directory,...
Definition wimlib.h:918
wimlib_progress_info::wimlib_progress_info_scan::source
const wimlib_tchar * source
Top-level directory being scanned; or, when capturing an NTFS volume with WIMLIB_ADD_FLAG_NTFS,...
Definition wimlib.h:890
wimlib_progress_info::wimlib_progress_info_split
Valid on messages WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART and WIMLIB_PROGRESS_MSG_SPLIT_END_PART.
Definition wimlib.h:1109
wimlib_progress_info::wimlib_progress_info_split::total_bytes
uint64_t total_bytes
Total size of the original WIM's file and metadata resources (compressed).
Definition wimlib.h:1112
wimlib_progress_info::wimlib_progress_info_split::cur_part_number
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:1122
wimlib_progress_info::wimlib_progress_info_split::completed_bytes
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:1117
wimlib_progress_info::wimlib_progress_info_split::total_parts
unsigned total_parts
Total number of split WIM parts that are being written.
Definition wimlib.h:1125
wimlib_progress_info::wimlib_progress_info_split::part_name
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:1134
wimlib_progress_info::wimlib_progress_info_test_file_exclusion
Valid on messages WIMLIB_PROGRESS_MSG_TEST_FILE_EXCLUSION.
Definition wimlib.h:1212
wimlib_progress_info::wimlib_progress_info_test_file_exclusion::will_exclude
bool will_exclude
Indicates whether the file or directory will be excluded from capture or not.
Definition wimlib.h:1234
wimlib_progress_info::wimlib_progress_info_test_file_exclusion::path
const wimlib_tchar * path
Path to the file for which exclusion is being tested.
Definition wimlib.h:1226
wimlib_progress_info::wimlib_progress_info_unmount
Valid on messages WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN.
Definition wimlib.h:1153
wimlib_progress_info::wimlib_progress_info_unmount::unmount_flags
uint32_t unmount_flags
Flags passed to wimlib_unmount_image().
Definition wimlib.h:1168
wimlib_progress_info::wimlib_progress_info_unmount::mountpoint
const wimlib_tchar * mountpoint
Path to directory being unmounted.
Definition wimlib.h:1155
wimlib_progress_info::wimlib_progress_info_unmount::mount_flags
uint32_t mount_flags
Flags that were passed to wimlib_mount_image() when the mountpoint was set up.
Definition wimlib.h:1165
wimlib_progress_info::wimlib_progress_info_unmount::mounted_wim
const wimlib_tchar * mounted_wim
Path to WIM file being unmounted.
Definition wimlib.h:1158
wimlib_progress_info::wimlib_progress_info_unmount::mounted_image
uint32_t mounted_image
1-based index of image being unmounted.
Definition wimlib.h:1161
wimlib_progress_info::wimlib_progress_info_update
Valid on messages WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND and WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND...
Definition wimlib.h:1064
wimlib_progress_info::wimlib_progress_info_update::command
const struct wimlib_update_command * command
Pointer to the update command that will be executed or has just been executed.
Definition wimlib.h:1067
wimlib_progress_info::wimlib_progress_info_update::total_commands
size_t total_commands
Number of update commands that are being executed as part of this call to wimlib_update_image().
Definition wimlib.h:1075
wimlib_progress_info::wimlib_progress_info_update::completed_commands
size_t completed_commands
Number of update commands that have been completed so far.
Definition wimlib.h:1071
wimlib_progress_info::wimlib_progress_info_verify_image
Valid on messages WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE and WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE.
Definition wimlib.h:1196
wimlib_progress_info::wimlib_progress_info_verify_image::wimfile
const wimlib_tchar * wimfile
Definition wimlib.h:1197
wimlib_progress_info::wimlib_progress_info_verify_image::current_image
uint32_t current_image
Definition wimlib.h:1199
wimlib_progress_info::wimlib_progress_info_verify_image::total_images
uint32_t total_images
Definition wimlib.h:1198
wimlib_progress_info::wimlib_progress_info_verify_streams
Valid on messages WIMLIB_PROGRESS_MSG_VERIFY_STREAMS.
Definition wimlib.h:1203
wimlib_progress_info::wimlib_progress_info_verify_streams::total_bytes
uint64_t total_bytes
Definition wimlib.h:1206
wimlib_progress_info::wimlib_progress_info_verify_streams::completed_streams
uint64_t completed_streams
Definition wimlib.h:1207
wimlib_progress_info::wimlib_progress_info_verify_streams::total_streams
uint64_t total_streams
Definition wimlib.h:1205
wimlib_progress_info::wimlib_progress_info_verify_streams::completed_bytes
uint64_t completed_bytes
Definition wimlib.h:1208
wimlib_progress_info::wimlib_progress_info_verify_streams::wimfile
const wimlib_tchar * wimfile
Definition wimlib.h:1204
wimlib_progress_info::wimlib_progress_info_wimboot_exclude
Valid on messages WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE.
Definition wimlib.h:1144
wimlib_progress_info::wimlib_progress_info_wimboot_exclude::path_in_wim
const wimlib_tchar * path_in_wim
Path to the file in the image.
Definition wimlib.h:1146
wimlib_progress_info::wimlib_progress_info_wimboot_exclude::extraction_path
const wimlib_tchar * extraction_path
Path to which the file is being extracted.
Definition wimlib.h:1149
wimlib_progress_info::wimlib_progress_info_write_streams
Valid on the message WIMLIB_PROGRESS_MSG_WRITE_STREAMS.
Definition wimlib.h:831
wimlib_progress_info::wimlib_progress_info_write_streams::completed_bytes
uint64_t completed_bytes
The number of bytes of file data that have been written so far.
Definition wimlib.h:853
wimlib_progress_info::wimlib_progress_info_write_streams::total_bytes
uint64_t total_bytes
An upper bound on the number of bytes of file data that will be written.
Definition wimlib.h:838
wimlib_progress_info::wimlib_progress_info_write_streams::compression_type
int32_t compression_type
The compression type being used, as one of the wimlib_compression_type constants.
Definition wimlib.h:866
wimlib_progress_info::wimlib_progress_info_write_streams::total_parts
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:871
wimlib_progress_info::wimlib_progress_info_write_streams::completed_compressed_bytes
uint64_t completed_compressed_bytes
Since wimlib v1.13.4: Like completed_bytes, but counts the compressed size.
Definition wimlib.h:878
wimlib_progress_info::wimlib_progress_info_write_streams::total_streams
uint64_t total_streams
An upper bound on the number of distinct file data "blobs" that will be written.
Definition wimlib.h:846
wimlib_progress_info::wimlib_progress_info_write_streams::num_threads
uint32_t num_threads
The number of threads being used for data compression; or, if no compression is being performed,...
Definition wimlib.h:862
wimlib_progress_info::wimlib_progress_info_write_streams::completed_parts
uint32_t completed_parts
This is currently broken and will always be 0.
Definition wimlib.h:874
wimlib_progress_info::wimlib_progress_info_write_streams::completed_streams
uint64_t completed_streams
The number of distinct file data "blobs" that have been written so far.
Definition wimlib.h:858
wimlib_rename_command
Data for a WIMLIB_UPDATE_OP_RENAME operation.
Definition wimlib.h:2507
wimlib_rename_command::wim_target_path
wimlib_tchar * wim_target_path
The path to the destination file or directory within the image.
Definition wimlib.h:2513
wimlib_rename_command::wim_source_path
wimlib_tchar * wim_source_path
The path to the source file or directory within the image.
Definition wimlib.h:2510
wimlib_rename_command::rename_flags
int rename_flags
Reserved; set to 0.
Definition wimlib.h:2516
wimlib_resource_entry
Information about a "blob", which is a fixed length sequence of binary data.
Definition wimlib.h:1444
wimlib_resource_entry::reserved_flags
uint32_t reserved_flags
Definition wimlib.h:1491
wimlib_resource_entry::reference_count
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:1471
wimlib_resource_entry::raw_resource_uncompressed_size
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:1503
wimlib_resource_entry::sha1_hash
uint8_t sha1_hash[20]
If this blob is located in a WIM resource, then this is the SHA-1 message digest of the blob's uncomp...
Definition wimlib.h:1462
wimlib_resource_entry::is_free
uint32_t is_free
Definition wimlib.h:1480
wimlib_resource_entry::uncompressed_size
uint64_t uncompressed_size
If this blob is not missing, then this is the uncompressed size of this blob in bytes.
Definition wimlib.h:1448
wimlib_resource_entry::raw_resource_offset_in_wim
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:1495
wimlib_resource_entry::compressed_size
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:1452
wimlib_resource_entry::is_compressed
uint32_t is_compressed
1 iff this blob is located in a non-solid compressed WIM resource.
Definition wimlib.h:1475
wimlib_resource_entry::reserved
uint64_t reserved[1]
Definition wimlib.h:1505
wimlib_resource_entry::is_missing
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:1486
wimlib_resource_entry::offset
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:1458
wimlib_resource_entry::is_spanned
uint32_t is_spanned
Definition wimlib.h:1481
wimlib_resource_entry::part_number
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:1466
wimlib_resource_entry::is_metadata
uint32_t is_metadata
1 iff this blob contains the metadata for an image.
Definition wimlib.h:1478
wimlib_resource_entry::packed
uint32_t packed
1 iff this blob is located in a solid resource.
Definition wimlib.h:1489
wimlib_resource_entry::raw_resource_compressed_size
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:1499
wimlib_stream_entry
Information about a stream of a particular file in the WIM.
Definition wimlib.h:1519
wimlib_stream_entry::resource
struct wimlib_resource_entry resource
Info about this stream's data, such as its hash and size if known.
Definition wimlib.h:1525
wimlib_stream_entry::reserved
uint64_t reserved[4]
Definition wimlib.h:1527
wimlib_stream_entry::stream_name
const wimlib_tchar * stream_name
Name of the stream, or NULL if the stream is unnamed.
Definition wimlib.h:1522
wimlib_update_command
Specification of an update to perform on a WIM image.
Definition wimlib.h:2520
wimlib_update_command::delete_
struct wimlib_delete_command delete_
Definition wimlib.h:2526
wimlib_update_command::add
struct wimlib_add_command add
Definition wimlib.h:2525
wimlib_update_command::rename
struct wimlib_rename_command rename
Definition wimlib.h:2528
wimlib_update_command::op
enum wimlib_update_op op
Definition wimlib.h:2522
wimlib_wim_info
General information about a WIM file.
Definition wimlib.h:1339
wimlib_wim_info::is_marked_readonly
uint32_t is_marked_readonly
1 iff the "readonly" flag is set in this WIM's header
Definition wimlib.h:1391
wimlib_wim_info::has_integrity_table
uint32_t has_integrity_table
1 iff this WIM file has an integrity table.
Definition wimlib.h:1376
wimlib_wim_info::reserved
uint32_t reserved[9]
Definition wimlib.h:1408
wimlib_wim_info::wim_version
uint32_t wim_version
The version of the WIM file format used in this WIM file.
Definition wimlib.h:1353
wimlib_wim_info::is_readonly
uint32_t is_readonly
1 iff this WIM file is considered readonly for any reason (e.g.
Definition wimlib.h:1385
wimlib_wim_info::spanned
uint32_t spanned
1 iff the "spanned" flag is set in this WIM's header
Definition wimlib.h:1394
wimlib_wim_info::resource_only
uint32_t resource_only
1 iff the "resource only" flag is set in this WIM's header
Definition wimlib.h:1403
wimlib_wim_info::chunk_size
uint32_t chunk_size
The default compression chunk size of resources in this WIM file.
Definition wimlib.h:1357
wimlib_wim_info::has_rpfix
uint32_t has_rpfix
1 iff the "reparse point fix" flag is set in this WIM's header
Definition wimlib.h:1388
wimlib_wim_info::image_count
uint32_t image_count
The number of images in this WIM file.
Definition wimlib.h:1346
wimlib_wim_info::opened_from_file
uint32_t opened_from_file
1 iff this info struct is for a WIMStruct that has a backing file.
Definition wimlib.h:1380
wimlib_wim_info::total_parts
uint16_t total_parts
For split WIMs, the total number of parts in the split WIM; otherwise 1.
Definition wimlib.h:1365
wimlib_wim_info::boot_index
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:1350
wimlib_wim_info::part_number
uint16_t part_number
For split WIMs, the 1-based index of this part within the split WIM; otherwise 1.
Definition wimlib.h:1361
wimlib_wim_info::metadata_only
uint32_t metadata_only
1 iff the "metadata only" flag is set in this WIM's header
Definition wimlib.h:1400
wimlib_wim_info::pipable
uint32_t pipable
1 iff this WIM file is pipable (see WIMLIB_WRITE_FLAG_PIPABLE).
Definition wimlib.h:1406
wimlib_wim_info::reserved_flags
uint32_t reserved_flags
Definition wimlib.h:1407
wimlib_wim_info::guid
uint8_t guid[WIMLIB_GUID_LEN]
The globally unique identifier for this WIM.
Definition wimlib.h:1343
wimlib_wim_info::write_in_progress
uint32_t write_in_progress
1 iff the "write in progress" flag is set in this WIM's header
Definition wimlib.h:1397
wimlib_wim_info::total_bytes
uint64_t total_bytes
The size of this WIM file in bytes, excluding the XML data and integrity table.
Definition wimlib.h:1373
wimlib_wim_info::compression_type
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:1369
wimlib_progress_info
A pointer to this union is passed to the user-supplied wimlib_progress_func_t progress function.
Definition wimlib.h:826
wimlib_progress_info::test_file_exclusion
struct wimlib_progress_info::wimlib_progress_info_test_file_exclusion test_file_exclusion
wimlib_progress_info::update
struct wimlib_progress_info::wimlib_progress_info_update update
wimlib_progress_info::handle_error
struct wimlib_progress_info::wimlib_progress_info_handle_error handle_error
wimlib_progress_info::replace
struct wimlib_progress_info::wimlib_progress_info_replace replace
wimlib_progress_info::verify_streams
struct wimlib_progress_info::wimlib_progress_info_verify_streams verify_streams
wimlib_progress_info::extract
struct wimlib_progress_info::wimlib_progress_info_extract extract
wimlib_progress_info::rename
struct wimlib_progress_info::wimlib_progress_info_rename rename
wimlib_progress_info::scan
struct wimlib_progress_info::wimlib_progress_info_scan scan
wimlib_progress_info::write_streams
struct wimlib_progress_info::wimlib_progress_info_write_streams write_streams
wimlib_progress_info::unmount
struct wimlib_progress_info::wimlib_progress_info_unmount unmount
wimlib_progress_info::integrity
struct wimlib_progress_info::wimlib_progress_info_integrity integrity
wimlib_progress_info::split
struct wimlib_progress_info::wimlib_progress_info_split split
wimlib_progress_info::wimboot_exclude
struct wimlib_progress_info::wimlib_progress_info_wimboot_exclude wimboot_exclude
wimlib_progress_info::done_with_file
struct wimlib_progress_info::wimlib_progress_info_done_with_file done_with_file
wimlib_progress_info::verify_image
struct wimlib_progress_info::wimlib_progress_info_verify_image verify_image
WIMLIBAPI
#define WIMLIBAPI
Definition wimlib.h:423