wimlib
wimlib.h
Go to the documentation of this file.
1 
388 #ifndef _WIMLIB_H
389 #define _WIMLIB_H
390 
391 #include <stdio.h>
392 #include <stddef.h>
393 #ifndef __cplusplus
394 # if defined(_MSC_VER) && _MSC_VER < 1800 /* VS pre-2013? */
395  typedef unsigned char bool;
396 # else
397 # include <stdbool.h>
398 # endif
399 #endif
400 #include <stdint.h>
401 #include <time.h>
402 
403 #ifdef BUILDING_WIMLIB
404  /*
405  * On i386, gcc assumes that the stack is 16-byte aligned at function entry.
406  * However, some compilers (e.g. MSVC) and programming languages (e.g. Delphi)
407  * only guarantee 4-byte alignment when calling functions. This is mainly an
408  * issue on Windows, but it can occur on Linux too. Work around this ABI
409  * incompatibility by realigning the stack pointer when entering the library.
410  * This prevents crashes in SSE/AVX code.
411  */
412 # if defined(__GNUC__) && defined(__i386__)
413 # define WIMLIB_ALIGN_STACK __attribute__((force_align_arg_pointer))
414 # else
415 # define WIMLIB_ALIGN_STACK
416 # endif
417 # ifdef _WIN32
418 # define WIMLIBAPI __declspec(dllexport) WIMLIB_ALIGN_STACK
419 # else
420 # define WIMLIBAPI __attribute__((visibility("default"))) WIMLIB_ALIGN_STACK
421 # endif
422 #else
423 # define WIMLIBAPI
424 #endif
425 
430 #define WIMLIB_MAJOR_VERSION 1
431 
433 #define WIMLIB_MINOR_VERSION 14
434 
436 #define WIMLIB_PATCH_VERSION 4
437 
438 #ifdef __cplusplus
439 extern "C" {
440 #endif
441 
442 /*
443  * To represent file timestamps, wimlib's API originally used the POSIX 'struct
444  * timespec'. This was a mistake because when building wimlib for 32-bit
445  * Windows with MinGW we ended up originally using 32-bit time_t which isn't
446  * year 2038-safe, and therefore we had to later add fields like
447  * 'creation_time_high' to hold the high 32 bits of each timestamp. Moreover,
448  * old Visual Studio versions did not define struct timespec, while newer ones
449  * define it but with 64-bit tv_sec. So to at least avoid a missing or
450  * incompatible 'struct timespec' definition, define the correct struct
451  * ourselves when this header is included on Windows.
452  */
453 #ifdef _WIN32
454 struct wimlib_timespec {
455  /* Seconds since start of UNIX epoch (January 1, 1970) */
456 #ifdef _WIN64
457  int64_t tv_sec;
458 #else
459  int32_t tv_sec;
460 #endif
461  /* Nanoseconds (0-999999999) */
462  int32_t tv_nsec;
463 };
464 #else
465 # define wimlib_timespec timespec /* standard definition */
466 #endif
467 
472 #ifndef WIMLIB_WIMSTRUCT_DECLARED
473 typedef struct WIMStruct WIMStruct;
474 #define WIMLIB_WIMSTRUCT_DECLARED
475 #endif
476 
477 #ifdef _WIN32
478 typedef wchar_t wimlib_tchar;
479 #else
480 
481 typedef char wimlib_tchar;
482 #endif
483 
484 #ifdef _WIN32
485 
487 # define WIMLIB_WIM_PATH_SEPARATOR '\\'
488 # define WIMLIB_WIM_PATH_SEPARATOR_STRING L"\\"
489 #else
490 
492 # define WIMLIB_WIM_PATH_SEPARATOR '/'
493 # define WIMLIB_WIM_PATH_SEPARATOR_STRING "/"
494 #endif
495 
498 #define WIMLIB_WIM_ROOT_PATH WIMLIB_WIM_PATH_SEPARATOR_STRING
499 
502 #define WIMLIB_IS_WIM_ROOT_PATH(path) \
503  ((path)[0] == WIMLIB_WIM_PATH_SEPARATOR && \
504  (path)[1] == 0)
505 
507 #define WIMLIB_GUID_LEN 16
508 
528 
548 
570 
593 };
594 
602 
608 
615 
623 
628 
632 
640 
645 
650 
657 
663 
669 
677 
681 
686 
693 
700 
706 
711 
715 
721 
727 
734 
742 
746 
752 
756 
761 
765 
779 
801 };
802 
810 
814 
818 };
819 
827 
832 
838  uint64_t total_bytes;
839 
846  uint64_t total_streams;
847 
853  uint64_t completed_bytes;
854 
859 
862  uint32_t num_threads;
863 
867 
871  uint32_t total_parts;
872 
874  uint32_t completed_parts;
875 
879  } write_streams;
880 
885 
890  const wimlib_tchar *source;
891 
896  const wimlib_tchar *cur_path;
897 
900  enum {
902  WIMLIB_SCAN_DENTRY_OK = 0,
903 
906  WIMLIB_SCAN_DENTRY_EXCLUDED = 1,
907 
910  WIMLIB_SCAN_DENTRY_UNSUPPORTED = 2,
911 
918  WIMLIB_SCAN_DENTRY_FIXED_SYMLINK = 3,
919 
924  WIMLIB_SCAN_DENTRY_NOT_FIXED_SYMLINK = 4,
925  } status;
926 
927  union {
931  const wimlib_tchar *wim_target_path;
932 
937  const wimlib_tchar *symlink_target;
938  };
939 
943 
947 
951  } scan;
952 
973 
976  uint32_t image;
977 
979  uint32_t extract_flags;
980 
984  const wimlib_tchar *wimfile_name;
985 
988  const wimlib_tchar *image_name;
989 
992  const wimlib_tchar *target;
993 
995  const wimlib_tchar *reserved;
996 
998  uint64_t total_bytes;
999 
1003 
1008  uint64_t total_streams;
1009 
1013 
1016  uint32_t part_number;
1017 
1020  uint32_t total_parts;
1021 
1024  uint8_t guid[WIMLIB_GUID_LEN];
1025 
1032 
1049  uint64_t end_file_count;
1050  } extract;
1051 
1055  const wimlib_tchar *from;
1056 
1059  const wimlib_tchar *to;
1060  } rename;
1061 
1068 
1072 
1076  } update;
1077 
1081 
1084  uint64_t total_bytes;
1085 
1089 
1092  uint32_t total_chunks;
1093 
1097 
1100  uint32_t chunk_size;
1101 
1104  const wimlib_tchar *filename;
1105  } integrity;
1106 
1112  uint64_t total_bytes;
1113 
1118 
1123 
1125  unsigned total_parts;
1126 
1134  wimlib_tchar *part_name;
1135  } split;
1136 
1140  const wimlib_tchar *path_in_wim;
1141  } replace;
1142 
1146  const wimlib_tchar *path_in_wim;
1147 
1149  const wimlib_tchar *extraction_path;
1150  } wimboot_exclude;
1151 
1155  const wimlib_tchar *mountpoint;
1156 
1158  const wimlib_tchar *mounted_wim;
1159 
1161  uint32_t mounted_image;
1162 
1165  uint32_t mount_flags;
1166 
1168  uint32_t unmount_flags;
1169  } unmount;
1170 
1191  const wimlib_tchar *path_to_file;
1192  } done_with_file;
1193 
1197  const wimlib_tchar *wimfile;
1198  uint32_t total_images;
1199  uint32_t current_image;
1200  } verify_image;
1201 
1204  const wimlib_tchar *wimfile;
1205  uint64_t total_streams;
1206  uint64_t total_bytes;
1209  } verify_streams;
1210 
1213 
1226  const wimlib_tchar *path;
1227 
1235  } test_file_exclusion;
1236 
1239 
1242  const wimlib_tchar *path;
1243 
1246 
1253  } handle_error;
1254 };
1255 
1274 typedef enum wimlib_progress_status
1276  union wimlib_progress_info *info,
1277  void *progctx);
1278 
1288  wimlib_tchar *fs_source_path;
1289 
1292  wimlib_tchar *wim_target_path;
1293 
1295  long reserved;
1296 };
1297 
1308 #define WIMLIB_CHANGE_READONLY_FLAG 0x00000001
1309 
1312 #define WIMLIB_CHANGE_GUID 0x00000002
1313 
1316 #define WIMLIB_CHANGE_BOOT_INDEX 0x00000004
1317 
1324 #define WIMLIB_CHANGE_RPFIX_FLAG 0x00000008
1325 
1340 
1343  uint8_t guid[WIMLIB_GUID_LEN];
1344 
1346  uint32_t image_count;
1347 
1350  uint32_t boot_index;
1351 
1353  uint32_t wim_version;
1354 
1357  uint32_t chunk_size;
1358 
1361  uint16_t part_number;
1362 
1365  uint16_t total_parts;
1366 
1370 
1373  uint64_t total_bytes;
1374 
1376  uint32_t has_integrity_table : 1;
1377 
1380  uint32_t opened_from_file : 1;
1381 
1385  uint32_t is_readonly : 1;
1386 
1388  uint32_t has_rpfix : 1;
1389 
1391  uint32_t is_marked_readonly : 1;
1392 
1394  uint32_t spanned : 1;
1395 
1397  uint32_t write_in_progress : 1;
1398 
1400  uint32_t metadata_only : 1;
1401 
1403  uint32_t resource_only : 1;
1404 
1406  uint32_t pipable : 1;
1407  uint32_t reserved_flags : 22;
1408  uint32_t reserved[9];
1409 };
1410 
1445 
1449 
1453 
1458  uint64_t offset;
1459 
1462  uint8_t sha1_hash[20];
1463 
1466  uint32_t part_number;
1467 
1472 
1475  uint32_t is_compressed : 1;
1476 
1478  uint32_t is_metadata : 1;
1479 
1480  uint32_t is_free : 1;
1481  uint32_t is_spanned : 1;
1482 
1486  uint32_t is_missing : 1;
1487 
1489  uint32_t packed : 1;
1490 
1491  uint32_t reserved_flags : 26;
1492 
1496 
1500 
1504 
1505  uint64_t reserved[1];
1506 };
1507 
1520 
1522  const wimlib_tchar *stream_name;
1523 
1525  struct wimlib_resource_entry resource;
1526 
1527  uint64_t reserved[4];
1528 };
1529 
1536  uint8_t object_id[WIMLIB_GUID_LEN];
1537  uint8_t birth_volume_id[WIMLIB_GUID_LEN];
1538  uint8_t birth_object_id[WIMLIB_GUID_LEN];
1539  uint8_t domain_id[WIMLIB_GUID_LEN];
1540 };
1541 
1549  const wimlib_tchar *filename;
1550 
1553  const wimlib_tchar *dos_name;
1554 
1557  const wimlib_tchar *full_path;
1558 
1561  size_t depth;
1562 
1566  const char *security_descriptor;
1567 
1570 
1571 #define WIMLIB_FILE_ATTRIBUTE_READONLY 0x00000001
1572 #define WIMLIB_FILE_ATTRIBUTE_HIDDEN 0x00000002
1573 #define WIMLIB_FILE_ATTRIBUTE_SYSTEM 0x00000004
1574 #define WIMLIB_FILE_ATTRIBUTE_DIRECTORY 0x00000010
1575 #define WIMLIB_FILE_ATTRIBUTE_ARCHIVE 0x00000020
1576 #define WIMLIB_FILE_ATTRIBUTE_DEVICE 0x00000040
1577 #define WIMLIB_FILE_ATTRIBUTE_NORMAL 0x00000080
1578 #define WIMLIB_FILE_ATTRIBUTE_TEMPORARY 0x00000100
1579 #define WIMLIB_FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
1580 #define WIMLIB_FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
1581 #define WIMLIB_FILE_ATTRIBUTE_COMPRESSED 0x00000800
1582 #define WIMLIB_FILE_ATTRIBUTE_OFFLINE 0x00001000
1583 #define WIMLIB_FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
1584 #define WIMLIB_FILE_ATTRIBUTE_ENCRYPTED 0x00004000
1585 #define WIMLIB_FILE_ATTRIBUTE_VIRTUAL 0x00010000
1586 
1590  uint32_t attributes;
1591 
1592 #define WIMLIB_REPARSE_TAG_RESERVED_ZERO 0x00000000
1593 #define WIMLIB_REPARSE_TAG_RESERVED_ONE 0x00000001
1594 #define WIMLIB_REPARSE_TAG_MOUNT_POINT 0xA0000003
1595 #define WIMLIB_REPARSE_TAG_HSM 0xC0000004
1596 #define WIMLIB_REPARSE_TAG_HSM2 0x80000006
1597 #define WIMLIB_REPARSE_TAG_DRIVER_EXTENDER 0x80000005
1598 #define WIMLIB_REPARSE_TAG_SIS 0x80000007
1599 #define WIMLIB_REPARSE_TAG_DFS 0x8000000A
1600 #define WIMLIB_REPARSE_TAG_DFSR 0x80000012
1601 #define WIMLIB_REPARSE_TAG_FILTER_MANAGER 0x8000000B
1602 #define WIMLIB_REPARSE_TAG_WOF 0x80000017
1603 #define WIMLIB_REPARSE_TAG_SYMLINK 0xA000000C
1604 
1608  uint32_t reparse_tag;
1609 
1614  uint32_t num_links;
1615 
1618 
1627 
1629  struct wimlib_timespec creation_time;
1630 
1632  struct wimlib_timespec last_write_time;
1633 
1635  struct wimlib_timespec last_access_time;
1636 
1640  uint32_t unix_uid;
1641 
1645  uint32_t unix_gid;
1646 
1652  uint32_t unix_mode;
1653 
1658  uint32_t unix_rdev;
1659 
1660  /* The object ID of this file, if any. Only valid if
1661  * object_id.object_id is not all zeroes. */
1663 
1667 
1671 
1675 
1676  int32_t reserved2;
1677 
1678  uint64_t reserved[4];
1679 
1694  struct wimlib_stream_entry streams[];
1695 };
1696 
1701 typedef int (*wimlib_iterate_dir_tree_callback_t)(const struct wimlib_dir_entry *dentry,
1702  void *user_ctx);
1703 
1709  void *user_ctx);
1710 
1713 #define WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE 0x00000001
1714 
1717 #define WIMLIB_ITERATE_DIR_TREE_FLAG_CHILDREN 0x00000002
1718 
1724 #define WIMLIB_ITERATE_DIR_TREE_FLAG_RESOURCES_NEEDED 0x00000004
1725 
1726 
1740 #define WIMLIB_ADD_FLAG_NTFS 0x00000001
1741 
1744 #define WIMLIB_ADD_FLAG_DEREFERENCE 0x00000002
1745 
1749 #define WIMLIB_ADD_FLAG_VERBOSE 0x00000004
1750 
1759 #define WIMLIB_ADD_FLAG_BOOT 0x00000008
1760 
1766 #define WIMLIB_ADD_FLAG_UNIX_DATA 0x00000010
1767 
1770 #define WIMLIB_ADD_FLAG_NO_ACLS 0x00000020
1771 
1777 #define WIMLIB_ADD_FLAG_STRICT_ACLS 0x00000040
1778 
1783 #define WIMLIB_ADD_FLAG_EXCLUDE_VERBOSE 0x00000080
1784 
1792 #define WIMLIB_ADD_FLAG_RPFIX 0x00000100
1793 
1795 #define WIMLIB_ADD_FLAG_NORPFIX 0x00000200
1796 
1801 #define WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE 0x00000400
1802 
1818 #define WIMLIB_ADD_FLAG_WINCONFIG 0x00000800
1819 
1848 #define WIMLIB_ADD_FLAG_WIMBOOT 0x00001000
1849 
1856 #define WIMLIB_ADD_FLAG_NO_REPLACE 0x00002000
1857 
1865 #define WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION 0x00004000
1866 
1877 #define WIMLIB_ADD_FLAG_SNAPSHOT 0x00008000
1878 
1887 #define WIMLIB_ADD_FLAG_FILE_PATHS_UNNEEDED 0x00010000
1888 
1894 #define WIMLIB_DELETE_FLAG_FORCE 0x00000001
1895 
1898 #define WIMLIB_DELETE_FLAG_RECURSIVE 0x00000002
1899 
1910 #define WIMLIB_EXPORT_FLAG_BOOT 0x00000001
1911 
1915 #define WIMLIB_EXPORT_FLAG_NO_NAMES 0x00000002
1916 
1918 #define WIMLIB_EXPORT_FLAG_NO_DESCRIPTIONS 0x00000004
1919 
1923 #define WIMLIB_EXPORT_FLAG_GIFT 0x00000008
1924 
1940 #define WIMLIB_EXPORT_FLAG_WIMBOOT 0x00000010
1941 
1955 #define WIMLIB_EXTRACT_FLAG_NTFS 0x00000001
1956 
1959 #define WIMLIB_EXTRACT_FLAG_RECOVER_DATA 0x00000002
1960 
1963 #define WIMLIB_EXTRACT_FLAG_UNIX_DATA 0x00000020
1964 
1967 #define WIMLIB_EXTRACT_FLAG_NO_ACLS 0x00000040
1968 
1978 #define WIMLIB_EXTRACT_FLAG_STRICT_ACLS 0x00000080
1979 
1988 #define WIMLIB_EXTRACT_FLAG_RPFIX 0x00000100
1989 
1993 #define WIMLIB_EXTRACT_FLAG_NORPFIX 0x00000200
1994 
1997 #define WIMLIB_EXTRACT_FLAG_TO_STDOUT 0x00000400
1998 
2008 #define WIMLIB_EXTRACT_FLAG_REPLACE_INVALID_FILENAMES 0x00000800
2009 
2018 #define WIMLIB_EXTRACT_FLAG_ALL_CASE_CONFLICTS 0x00001000
2019 
2023 #define WIMLIB_EXTRACT_FLAG_STRICT_TIMESTAMPS 0x00002000
2024 
2027 #define WIMLIB_EXTRACT_FLAG_STRICT_SHORT_NAMES 0x00004000
2028 
2033 #define WIMLIB_EXTRACT_FLAG_STRICT_SYMLINKS 0x00008000
2034 
2048 #define WIMLIB_EXTRACT_FLAG_GLOB_PATHS 0x00040000
2049 
2053 #define WIMLIB_EXTRACT_FLAG_STRICT_GLOB 0x00080000
2054 
2060 #define WIMLIB_EXTRACT_FLAG_NO_ATTRIBUTES 0x00100000
2061 
2068 #define WIMLIB_EXTRACT_FLAG_NO_PRESERVE_DIR_STRUCTURE 0x00200000
2069 
2076 #define WIMLIB_EXTRACT_FLAG_WIMBOOT 0x00400000
2077 
2086 #define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS4K 0x01000000
2087 
2090 #define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS8K 0x02000000
2091 
2094 #define WIMLIB_EXTRACT_FLAG_COMPACT_XPRESS16K 0x04000000
2095 
2098 #define WIMLIB_EXTRACT_FLAG_COMPACT_LZX 0x08000000
2099 
2105 #define WIMLIB_MOUNT_FLAG_READWRITE 0x00000001
2106 
2108 #define WIMLIB_MOUNT_FLAG_DEBUG 0x00000002
2109 
2111 #define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_NONE 0x00000004
2112 
2116 #define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_XATTR 0x00000008
2117 
2120 #define WIMLIB_MOUNT_FLAG_STREAM_INTERFACE_WINDOWS 0x00000010
2121 
2123 #define WIMLIB_MOUNT_FLAG_UNIX_DATA 0x00000020
2124 
2127 #define WIMLIB_MOUNT_FLAG_ALLOW_OTHER 0x00000040
2128 
2139 #define WIMLIB_OPEN_FLAG_CHECK_INTEGRITY 0x00000001
2140 
2144 #define WIMLIB_OPEN_FLAG_ERROR_IF_SPLIT 0x00000002
2145 
2154 #define WIMLIB_OPEN_FLAG_WRITE_ACCESS 0x00000004
2155 
2162 #define WIMLIB_UNMOUNT_FLAG_CHECK_INTEGRITY 0x00000001
2163 
2166 #define WIMLIB_UNMOUNT_FLAG_COMMIT 0x00000002
2167 
2170 #define WIMLIB_UNMOUNT_FLAG_REBUILD 0x00000004
2171 
2174 #define WIMLIB_UNMOUNT_FLAG_RECOMPRESS 0x00000008
2175 
2184 #define WIMLIB_UNMOUNT_FLAG_FORCE 0x00000010
2185 
2190 #define WIMLIB_UNMOUNT_FLAG_NEW_IMAGE 0x00000020
2191 
2198 #define WIMLIB_UPDATE_FLAG_SEND_PROGRESS 0x00000001
2199 
2212 #define WIMLIB_WRITE_FLAG_CHECK_INTEGRITY 0x00000001
2213 
2219 #define WIMLIB_WRITE_FLAG_NO_CHECK_INTEGRITY 0x00000002
2220 
2233 #define WIMLIB_WRITE_FLAG_PIPABLE 0x00000004
2234 
2239 #define WIMLIB_WRITE_FLAG_NOT_PIPABLE 0x00000008
2240 
2266 #define WIMLIB_WRITE_FLAG_RECOMPRESS 0x00000010
2267 
2281 #define WIMLIB_WRITE_FLAG_FSYNC 0x00000020
2282 
2295 #define WIMLIB_WRITE_FLAG_REBUILD 0x00000040
2296 
2306 #define WIMLIB_WRITE_FLAG_SOFT_DELETE 0x00000080
2307 
2317 #define WIMLIB_WRITE_FLAG_IGNORE_READONLY_FLAG 0x00000100
2318 
2325 #define WIMLIB_WRITE_FLAG_SKIP_EXTERNAL_WIMS 0x00000200
2326 
2328 #define WIMLIB_WRITE_FLAG_STREAMS_OK 0x00000400
2329 
2336 #define WIMLIB_WRITE_FLAG_RETAIN_GUID 0x00000800
2337 
2373 #define WIMLIB_WRITE_FLAG_SOLID 0x00001000
2374 
2380 #define WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES 0x00002000
2381 
2387 #define WIMLIB_WRITE_FLAG_NO_SOLID_SORT 0x00004000
2388 
2405 #define WIMLIB_WRITE_FLAG_UNSAFE_COMPACT 0x00008000
2406 
2412 #define WIMLIB_INIT_FLAG_ASSUME_UTF8 0x00000001
2413 
2422 #define WIMLIB_INIT_FLAG_DONT_ACQUIRE_PRIVILEGES 0x00000002
2423 
2429 #define WIMLIB_INIT_FLAG_STRICT_CAPTURE_PRIVILEGES 0x00000004
2430 
2436 #define WIMLIB_INIT_FLAG_STRICT_APPLY_PRIVILEGES 0x00000008
2437 
2440 #define WIMLIB_INIT_FLAG_DEFAULT_CASE_SENSITIVE 0x00000010
2441 
2444 #define WIMLIB_INIT_FLAG_DEFAULT_CASE_INSENSITIVE 0x00000020
2445 
2452 #define WIMLIB_REF_FLAG_GLOB_ENABLE 0x00000001
2453 
2461 #define WIMLIB_REF_FLAG_GLOB_ERR_ON_NOMATCH 0x00000002
2462 
2471 
2474 
2477 };
2478 
2482  wimlib_tchar *fs_source_path;
2483 
2486  wimlib_tchar *wim_target_path;
2487 
2490  wimlib_tchar *config_file;
2491 
2494 };
2495 
2498 
2500  wimlib_tchar *wim_path;
2501 
2504 };
2505 
2508 
2510  wimlib_tchar *wim_source_path;
2511 
2513  wimlib_tchar *wim_target_path;
2514 
2517 };
2518 
2521 
2523 
2524  union {
2526  struct wimlib_delete_command delete_; /* Underscore is for C++
2527  compatibility. */
2528  struct wimlib_rename_command rename;
2529  };
2530 };
2531 
2624 };
2625 
2626 
2628 #define WIMLIB_NO_IMAGE 0
2629 
2631 #define WIMLIB_ALL_IMAGES (-1)
2632 
2663 WIMLIBAPI int
2665  const wimlib_tchar *name,
2666  int *new_idx_ret);
2667 
2719 WIMLIBAPI int
2721  const wimlib_tchar *source,
2722  const wimlib_tchar *name,
2723  const wimlib_tchar *config_file,
2724  int add_flags);
2725 
2736 WIMLIBAPI int
2738  const struct wimlib_capture_source *sources,
2739  size_t num_sources,
2740  const wimlib_tchar *name,
2741  const wimlib_tchar *config_file,
2742  int add_flags);
2743 
2753 WIMLIBAPI int
2754 wimlib_add_tree(WIMStruct *wim, int image,
2755  const wimlib_tchar *fs_source_path,
2756  const wimlib_tchar *wim_target_path, int add_flags);
2757 
2786 WIMLIBAPI int
2788 
2817 WIMLIBAPI int
2818 wimlib_delete_image(WIMStruct *wim, int image);
2819 
2828 WIMLIBAPI int
2829 wimlib_delete_path(WIMStruct *wim, int image,
2830  const wimlib_tchar *path, int delete_flags);
2831 
2900 WIMLIBAPI int
2901 wimlib_export_image(WIMStruct *src_wim, int src_image,
2902  WIMStruct *dest_wim,
2903  const wimlib_tchar *dest_name,
2904  const wimlib_tchar *dest_description,
2905  int export_flags);
2906 
3019 WIMLIBAPI int
3020 wimlib_extract_image(WIMStruct *wim, int image,
3021  const wimlib_tchar *target, int extract_flags);
3022 
3061 WIMLIBAPI int
3062 wimlib_extract_image_from_pipe(int pipe_fd,
3063  const wimlib_tchar *image_num_or_name,
3064  const wimlib_tchar *target, int extract_flags);
3065 
3075 WIMLIBAPI int
3077  const wimlib_tchar *image_num_or_name,
3078  const wimlib_tchar *target,
3079  int extract_flags,
3080  wimlib_progress_func_t progfunc,
3081  void *progctx);
3082 
3102 WIMLIBAPI int
3103 wimlib_extract_pathlist(WIMStruct *wim, int image,
3104  const wimlib_tchar *target,
3105  const wimlib_tchar *path_list_file,
3106  int extract_flags);
3107 
3177 WIMLIBAPI int
3179  int image,
3180  const wimlib_tchar *target,
3181  const wimlib_tchar * const *paths,
3182  size_t num_paths,
3183  int extract_flags);
3184 
3199 WIMLIBAPI int
3200 wimlib_extract_xml_data(WIMStruct *wim, FILE *fp);
3201 
3214 WIMLIBAPI void
3215 wimlib_free(WIMStruct *wim);
3216 
3230 WIMLIBAPI const wimlib_tchar *
3232 
3246 WIMLIBAPI const wimlib_tchar *
3248 
3255 WIMLIBAPI const wimlib_tchar *
3256 wimlib_get_image_description(const WIMStruct *wim, int image);
3257 
3266 WIMLIBAPI const wimlib_tchar *
3267 wimlib_get_image_name(const WIMStruct *wim, int image);
3268 
3297 WIMLIBAPI const wimlib_tchar *
3298 wimlib_get_image_property(const WIMStruct *wim, int image,
3299  const wimlib_tchar *property_name);
3300 
3312 WIMLIBAPI uint32_t
3313 wimlib_get_version(void);
3314 
3322 WIMLIBAPI const wimlib_tchar *
3324 
3339 WIMLIBAPI int
3340 wimlib_get_wim_info(WIMStruct *wim, struct wimlib_wim_info *info);
3341 
3369 WIMLIBAPI int
3370 wimlib_get_xml_data(WIMStruct *wim, void **buf_ret, size_t *bufsize_ret);
3371 
3390 WIMLIBAPI int
3391 wimlib_global_init(int init_flags);
3392 
3399 WIMLIBAPI void
3400 wimlib_global_cleanup(void);
3401 
3418 WIMLIBAPI bool
3419 wimlib_image_name_in_use(const WIMStruct *wim, const wimlib_tchar *name);
3420 
3465 WIMLIBAPI int
3466 wimlib_iterate_dir_tree(WIMStruct *wim, int image, const wimlib_tchar *path,
3467  int flags,
3468  wimlib_iterate_dir_tree_callback_t cb, void *user_ctx);
3469 
3499 WIMLIBAPI int
3500 wimlib_iterate_lookup_table(WIMStruct *wim, int flags,
3502  void *user_ctx);
3503 
3540 WIMLIBAPI int
3541 wimlib_join(const wimlib_tchar * const *swms,
3542  unsigned num_swms,
3543  const wimlib_tchar *output_path,
3544  int swm_open_flags,
3545  int wim_write_flags);
3546 
3558 WIMLIBAPI int
3559 wimlib_join_with_progress(const wimlib_tchar * const *swms,
3560  unsigned num_swms,
3561  const wimlib_tchar *output_path,
3562  int swm_open_flags,
3563  int wim_write_flags,
3564  wimlib_progress_func_t progfunc,
3565  void *progctx);
3566 
3582 WIMLIBAPI int
3583 wimlib_load_text_file(const wimlib_tchar *path,
3584  wimlib_tchar **tstr_ret, size_t *tstr_nchars_ret);
3585 
3661 WIMLIBAPI int
3663  int image,
3664  const wimlib_tchar *dir,
3665  int mount_flags,
3666  const wimlib_tchar *staging_dir);
3667 
3737 WIMLIBAPI int
3738 wimlib_open_wim(const wimlib_tchar *wim_file,
3739  int open_flags,
3740  WIMStruct **wim_ret);
3741 
3753 WIMLIBAPI int
3754 wimlib_open_wim_with_progress(const wimlib_tchar *wim_file,
3755  int open_flags,
3756  WIMStruct **wim_ret,
3757  wimlib_progress_func_t progfunc,
3758  void *progctx);
3759 
3819 WIMLIBAPI int
3820 wimlib_overwrite(WIMStruct *wim, int write_flags, unsigned num_threads);
3821 
3842 WIMLIBAPI void
3843 wimlib_print_available_images(const WIMStruct *wim, int image);
3844 
3850 WIMLIBAPI void
3851 wimlib_print_header(const WIMStruct *wim);
3852 
3894 WIMLIBAPI int
3896  const wimlib_tchar * const *resource_wimfiles_or_globs,
3897  unsigned count,
3898  int ref_flags,
3899  int open_flags);
3900 
3921 WIMLIBAPI int
3922 wimlib_reference_resources(WIMStruct *wim, WIMStruct **resource_wims,
3923  unsigned num_resource_wims, int ref_flags);
3924 
3987 WIMLIBAPI int
3988 wimlib_reference_template_image(WIMStruct *wim, int new_image,
3989  WIMStruct *template_wim, int template_image,
3990  int flags);
3991 
4007 WIMLIBAPI void
4009  wimlib_progress_func_t progfunc,
4010  void *progctx);
4011 
4021 WIMLIBAPI int
4022 wimlib_rename_path(WIMStruct *wim, int image,
4023  const wimlib_tchar *source_path, const wimlib_tchar *dest_path);
4024 
4055 WIMLIBAPI int
4057  const wimlib_tchar *image_name_or_num);
4058 
4073 WIMLIBAPI int
4074 wimlib_set_error_file(FILE *fp);
4075 
4090 WIMLIBAPI int
4091 wimlib_set_error_file_by_name(const wimlib_tchar *path);
4092 
4101 WIMLIBAPI int
4102 wimlib_set_image_descripton(WIMStruct *wim, int image,
4103  const wimlib_tchar *description);
4104 
4112 WIMLIBAPI int
4113 wimlib_set_image_flags(WIMStruct *wim, int image, const wimlib_tchar *flags);
4114 
4121 WIMLIBAPI int
4122 wimlib_set_image_name(WIMStruct *wim, int image, const wimlib_tchar *name);
4123 
4161 WIMLIBAPI int
4162 wimlib_set_image_property(WIMStruct *wim, int image,
4163  const wimlib_tchar *property_name,
4164  const wimlib_tchar *property_value);
4165 
4194 WIMLIBAPI int
4195 wimlib_set_memory_allocator(void *(*malloc_func)(size_t),
4196  void (*free_func)(void *),
4197  void *(*realloc_func)(void *, size_t));
4198 
4224 WIMLIBAPI int
4225 wimlib_set_output_chunk_size(WIMStruct *wim, uint32_t chunk_size);
4226 
4233 WIMLIBAPI int
4234 wimlib_set_output_pack_chunk_size(WIMStruct *wim, uint32_t chunk_size);
4235 
4255 WIMLIBAPI int
4257  enum wimlib_compression_type ctype);
4258 
4265 WIMLIBAPI int
4267  enum wimlib_compression_type ctype);
4268 
4288 WIMLIBAPI int
4289 wimlib_set_print_errors(bool show_messages);
4290 
4314 WIMLIBAPI int
4315 wimlib_set_wim_info(WIMStruct *wim, const struct wimlib_wim_info *info,
4316  int which);
4317 
4358 WIMLIBAPI int
4359 wimlib_split(WIMStruct *wim,
4360  const wimlib_tchar *swm_name,
4361  uint64_t part_size,
4362  int write_flags);
4363 
4401 WIMLIBAPI int
4402 wimlib_verify_wim(WIMStruct *wim, int verify_flags);
4403 
4437 WIMLIBAPI int
4438 wimlib_unmount_image(const wimlib_tchar *dir, int unmount_flags);
4439 
4448 WIMLIBAPI int
4449 wimlib_unmount_image_with_progress(const wimlib_tchar *dir,
4450  int unmount_flags,
4451  wimlib_progress_func_t progfunc,
4452  void *progctx);
4453 
4544 WIMLIBAPI int
4546  int image,
4547  const struct wimlib_update_command *cmds,
4548  size_t num_cmds,
4549  int update_flags);
4550 
4612 WIMLIBAPI int
4613 wimlib_write(WIMStruct *wim,
4614  const wimlib_tchar *path,
4615  int image,
4616  int write_flags,
4617  unsigned num_threads);
4618 
4639 WIMLIBAPI int
4641  int fd,
4642  int image,
4643  int write_flags,
4644  unsigned num_threads);
4645 
4663 struct wimlib_compressor;
4664 
4666 struct wimlib_decompressor;
4667 
4697 WIMLIBAPI int
4698 wimlib_set_default_compression_level(int ctype, unsigned int compression_level);
4699 
4708 WIMLIBAPI uint64_t
4710  size_t max_block_size,
4711  unsigned int compression_level);
4712 
4713 #define WIMLIB_COMPRESSOR_FLAG_DESTRUCTIVE 0x80000000
4714 
4783 WIMLIBAPI int
4785  size_t max_block_size,
4786  unsigned int compression_level,
4787  struct wimlib_compressor **compressor_ret);
4788 
4809 WIMLIBAPI size_t
4810 wimlib_compress(const void *uncompressed_data, size_t uncompressed_size,
4811  void *compressed_data, size_t compressed_size_avail,
4812  struct wimlib_compressor *compressor);
4813 
4820 WIMLIBAPI void
4821 wimlib_free_compressor(struct wimlib_compressor *compressor);
4822 
4856 WIMLIBAPI int
4858  size_t max_block_size,
4859  struct wimlib_decompressor **decompressor_ret);
4860 
4888 WIMLIBAPI int
4889 wimlib_decompress(const void *compressed_data, size_t compressed_size,
4890  void *uncompressed_data, size_t uncompressed_size,
4891  struct wimlib_decompressor *decompressor);
4892 
4899 WIMLIBAPI void
4900 wimlib_free_decompressor(struct wimlib_decompressor *decompressor);
4901 
4902 
4908 #ifdef __cplusplus
4909 }
4910 #endif
4911 
4912 #endif /* _WIMLIB_H */
const wimlib_tchar * filename
Name of the file, or NULL if this file is unnamed.
Definition: wimlib.h:1549
const wimlib_tchar * stream_name
Name of the stream, or NULL if the stream is unnamed.
Definition: wimlib.h:1522
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
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...
WIMLIBAPI const wimlib_tchar * wimlib_get_compression_type_string(enum wimlib_compression_type ctype)
Convert a wimlib_compression_type value into a string.
Valid on messages WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART and WIMLIB_PROGRESS_MSG_SPLIT_END_PART.
Definition: wimlib.h:1109
wimlib_tchar * wim_target_path
Destination path in the image.
Definition: wimlib.h:2486
A WIM image is about to be extracted.
Definition: wimlib.h:607
Definition: wimlib.h:2553
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.
unsigned total_parts
Total number of split WIM parts that are being written.
Definition: wimlib.h:1125
Valid on messages WIMLIB_PROGRESS_MSG_WIMBOOT_EXCLUDE.
Definition: wimlib.h:1144
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
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...
WIMLIBAPI void wimlib_free_decompressor(struct wimlib_decompressor *decompressor)
Free a decompressor previously allocated with wimlib_create_decompressor().
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
WIMLIBAPI const wimlib_tchar * wimlib_get_image_name(const WIMStruct *wim, int image)
Get the name of the specified image.
Definition: wimlib.h:2604
wimlib_verify_wim() is starting to verify the metadata for an image.
Definition: wimlib.h:755
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...
Definition: wimlib.h:2572
WIMLIBAPI int wimlib_add_empty_image(WIMStruct *wim, const wimlib_tchar *name, int *new_idx_ret)
Append an empty image to a WIMStruct.
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...
uint32_t total_chunks
The number of individually checksummed "chunks" the integrity-checked region is divided into...
Definition: wimlib.h:1092
Definition: wimlib.h:2552
Definition: wimlib.h:2623
Valid on messages WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY and WIMLIB_PROGRESS_MSG_CALC_INTEGRITY.
Definition: wimlib.h:1080
Definition: wimlib.h:2565
Valid on messages WIMLIB_PROGRESS_MSG_RENAME.
Definition: wimlib.h:1053
Definition: wimlib.h:2550
wimlib_overwrite() has successfully renamed the temporary file to the original WIM file...
Definition: wimlib.h:692
struct WIMStruct WIMStruct
Opaque structure that represents a WIM, possibly backed by an on-disk file.
Definition: wimlib.h:473
The image has been successfully extracted.
Definition: wimlib.h:644
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...
const wimlib_tchar * target
Path to the directory or NTFS volume to which the files are being extracted.
Definition: wimlib.h:992
WIMLIBAPI int wimlib_global_init(int init_flags)
Initialization function for wimlib.
WIMLIBAPI int wimlib_overwrite(WIMStruct *wim, int write_flags, unsigned num_threads)
Commit a WIMStruct to disk, updating its backing file.
Definition: wimlib.h:2556
uint32_t write_in_progress
1 iff the "write in progress" flag is set in this WIM&#39;s header
Definition: wimlib.h:1397
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
uint64_t total_bytes
Total size of the original WIM&#39;s file and metadata resources (compressed).
Definition: wimlib.h:1112
Valid on the message WIMLIB_PROGRESS_MSG_WRITE_STREAMS.
Definition: wimlib.h:831
Definition: wimlib.h:2613
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.
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.
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
WIMLIBAPI int wimlib_verify_wim(WIMStruct *wim, int verify_flags)
Perform verification checks on a WIM file.
uint32_t current_image
Definition: wimlib.h:1199
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_update_op
The specific type of update to perform.
Definition: wimlib.h:2468
uint64_t reserved[1]
Definition: wimlib.h:1505
int32_t compression_type
The compression type being used, as one of the wimlib_compression_type constants. ...
Definition: wimlib.h:866
uint32_t unix_gid
The UNIX group ID of this file.
Definition: wimlib.h:1645
int32_t last_write_time_high
High 32 bits of the seconds portion of the last write timestamp, filled in if wimlib_timespec.tv_sec is only 32-bit.
Definition: wimlib.h:1670
const wimlib_tchar * path
Path to the file for which exclusion is being tested.
Definition: wimlib.h:1226
uint32_t pipable
1 iff this WIM file is pipable (see WIMLIB_WRITE_FLAG_PIPABLE).
Definition: wimlib.h:1406
Definition: wimlib.h:2605
The LZMS compression format.
Definition: wimlib.h:592
Definition: wimlib.h:2570
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_error_code
Possible values of the error code returned by many functions in wimlib.
Definition: wimlib.h:2542
Definition: wimlib.h:2591
Definition: wimlib.h:2598
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...
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
A WIM update command has been executed.
Definition: wimlib.h:726
uint32_t unix_rdev
The UNIX device ID (major and minor number) of this file.
Definition: wimlib.h:1658
uint32_t attributes
File attributes, such as whether the file is a directory or not.
Definition: wimlib.h:1590
uint32_t num_links
Number of links to this file&#39;s inode (hard links).
Definition: wimlib.h:1614
bool will_exclude
Indicates whether the file or directory will be excluded from capture or not.
Definition: wimlib.h:1234
uint32_t has_integrity_table
1 iff this WIM file has an integrity table.
Definition: wimlib.h:1376
Per-image metadata is about to be written to the WIM file.
Definition: wimlib.h:680
WIMLIBAPI void wimlib_print_header(const WIMStruct *wim)
Print the header of the WIM file (intended for debugging only).
Definition: wimlib.h:2569
uint32_t has_rpfix
1 iff the "reparse point fix" flag is set in this WIM&#39;s header
Definition: wimlib.h:1388
const wimlib_tchar * reserved
Reserved.
Definition: wimlib.h:995
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
Definition: wimlib.h:2544
A pointer to this union is passed to the user-supplied wimlib_progress_func_t progress function...
Definition: wimlib.h:826
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
Definition: wimlib.h:2562
uint32_t completed_parts
This is currently broken and will always be 0.
Definition: wimlib.h:874
#define WIMLIBAPI
Definition: wimlib.h:423
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
Definition: wimlib.h:2546
Definition: wimlib.h:2614
Delete a file or directory tree from the image.
Definition: wimlib.h:2473
Definition: wimlib.h:2561
The operation should be continued.
Definition: wimlib.h:813
uint32_t resource_only
1 iff the "resource only" flag is set in this WIM&#39;s header
Definition: wimlib.h:1403
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.
The contents of the WIM file are being checked against the integrity table.
Definition: wimlib.h:699
Definition: wimlib.h:2557
Definition: wimlib.h:2579
Valid on messages WIMLIB_PROGRESS_MSG_DONE_WITH_FILE.
Definition: wimlib.h:1172
An error has occurred and the progress function is being asked whether to ignore the error or not...
Definition: wimlib.h:800
Data for a WIMLIB_UPDATE_OP_RENAME operation.
Definition: wimlib.h:2507
Definition: wimlib.h:2554
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.
uint32_t packed
1 iff this blob is located in a solid resource.
Definition: wimlib.h:1489
One or more file or directory trees within a WIM image is about to be extracted.
Definition: wimlib.h:614
Valid on messages WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN, WIMLIB_PROGRESS_MSG_EXTRACT_IMAGE_BEGI...
Definition: wimlib.h:972
wimlib_tchar * wim_target_path
Destination path in the image.
Definition: wimlib.h:1292
uint32_t chunk_size
The default compression chunk size of resources in this WIM file.
Definition: wimlib.h:1357
Definition: wimlib.h:2594
Definition: wimlib.h:2616
uint32_t is_spanned
Definition: wimlib.h:1481
Starting to unmount an image.
Definition: wimlib.h:745
An image is being extracted with WIMLIB_EXTRACT_FLAG_WIMBOOT, and a file is being extracted normally ...
Definition: wimlib.h:741
A wimlib_split() operation is in progress, and a new split part is about to be started.
Definition: wimlib.h:710
An array of these structures is passed to wimlib_add_image_multisource() to specify the sources from ...
Definition: wimlib.h:1285
Valid on messages WIMLIB_PROGRESS_MSG_HANDLE_ERROR.
Definition: wimlib.h:1238
Definition: wimlib.h:2606
The XPRESS compression format.
Definition: wimlib.h:547
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(...
The files or directory trees have been successfully extracted.
Definition: wimlib.h:649
General information about a WIM file.
Definition: wimlib.h:1339
Definition: wimlib.h:2622
uint64_t completed_streams
The number of distinct file data "blobs" that have been written so far.
Definition: wimlib.h:858
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...
Definition: wimlib.h:2543
const wimlib_tchar * path
Path to the file for which the error occurred, or NULL if not relevant.
Definition: wimlib.h:1242
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.
The per-image metadata has been written to the WIM file.
Definition: wimlib.h:685
char wimlib_tchar
See Character encoding.
Definition: wimlib.h:481
uint64_t total_bytes
The size of this WIM file in bytes, excluding the XML data and integrity table.
Definition: wimlib.h:1373
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_compression_type
Specifies a compression type.
Definition: wimlib.h:519
uint64_t total_streams
An upper bound on the number of distinct file data "blobs" that will be written.
Definition: wimlib.h:846
uint32_t is_compressed
1 iff this blob is located in a non-solid compressed WIM resource.
Definition: wimlib.h:1475
size_t security_descriptor_size
Size of the above security descriptor, in bytes.
Definition: wimlib.h:1569
WIMLIBAPI const wimlib_tchar * wimlib_get_image_description(const WIMStruct *wim, int image)
Get the description of the specified image.
uint32_t mount_flags
Flags that were passed to wimlib_mount_image() when the mountpoint was set up.
Definition: wimlib.h:1165
uint8_t object_id[WIMLIB_GUID_LEN]
Definition: wimlib.h:1536
const struct wimlib_update_command * command
Pointer to the update command that will be executed or has just been executed.
Definition: wimlib.h:1067
Valid on messages WIMLIB_PROGRESS_MSG_BEGIN_VERIFY_IMAGE and WIMLIB_PROGRESS_MSG_END_VERIFY_IMAGE.
Definition: wimlib.h:1196
Definition: wimlib.h:2603
const wimlib_tchar * wim_target_path
Target path in the image.
Definition: wimlib.h:931
Definition: wimlib.h:2545
WIMLIBAPI void wimlib_free_compressor(struct wimlib_compressor *compressor)
Free a compressor previously allocated with wimlib_create_compressor().
wimlib_tchar * wim_source_path
The path to the source file or directory within the image.
Definition: wimlib.h:2510
WIMLIBAPI int wimlib_set_output_chunk_size(WIMStruct *wim, uint32_t chunk_size)
Set a WIMStruct&#39;s output compression chunk size.
const wimlib_tchar * source
Top-level directory being scanned; or, when capturing an NTFS volume with WIMLIB_ADD_FLAG_NTFS, this is instead the path to the file or block device that contains the NTFS volume being scanned.
Definition: wimlib.h:890
WIMLIBAPI void wimlib_global_cleanup(void)
Cleanup function for wimlib.
WIMLIBAPI int wimlib_set_error_file(FILE *fp)
Set the file to which the library will print error and warning messages.
int32_t creation_time_high
High 32 bits of the seconds portion of the creation timestamp, filled in if wimlib_timespec.tv_sec is only 32-bit.
Definition: wimlib.h:1666
Definition: wimlib.h:2567
Definition: wimlib.h:2592
#define wimlib_timespec
Definition: wimlib.h:465
uint32_t reserved_flags
Definition: wimlib.h:1407
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.
WIMLIBAPI int wimlib_delete_image(WIMStruct *wim, int image)
Delete an image, or all images, from a WIMStruct.
The directory or NTFS volume has been successfully scanned.
Definition: wimlib.h:668
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
uint64_t total_streams
The number of file streams that will be extracted.
Definition: wimlib.h:1008
WIMLIBAPI void wimlib_print_available_images(const WIMStruct *wim, int image)
(Deprecated) Print information about one image, or all images, contained in a WIM.
WIMLIBAPI const wimlib_tchar * wimlib_get_error_string(enum wimlib_error_code code)
Convert a wimlib error code into a string describing it.
const wimlib_tchar * wimfile
Definition: wimlib.h:1204
Definition: wimlib.h:2581
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&#39;s XML document.
uint32_t num_named_streams
Number of named data streams this file has.
Definition: wimlib.h:1617
No compression.
Definition: wimlib.h:527
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.
The LZX compression format.
Definition: wimlib.h:569
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&#39;s XML document...
Definition: wimlib.h:2610
Valid on messages WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM.
Definition: wimlib.h:1138
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...
const wimlib_tchar * path_in_wim
Path to the file in the image.
Definition: wimlib.h:1146
WIMLIBAPI int wimlib_set_default_compression_level(int ctype, unsigned int compression_level)
Set the default compression level for the specified compression type.
Definition: wimlib.h:2573
bool will_ignore
Indicates whether the error will be ignored or not.
Definition: wimlib.h:1252
#define WIMLIB_GUID_LEN
Length of a Globally Unique Identifier (GUID), in bytes.
Definition: wimlib.h:507
Definition: wimlib.h:2601
Definition: wimlib.h:2589
Definition: wimlib.h:2551
uint64_t num_bytes_scanned
The number of bytes of file data detected so far, not counting excluded/unsupported files...
Definition: wimlib.h:950
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.
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.
Definition: wimlib.h:2600
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.
Definition: wimlib.h:2585
uint32_t metadata_only
1 iff the "metadata only" flag is set in this WIM&#39;s header
Definition: wimlib.h:1400
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.
int rename_flags
Reserved; set to 0.
Definition: wimlib.h:2516
uint64_t total_bytes
An upper bound on the number of bytes of file data that will be written.
Definition: wimlib.h:838
Definition: wimlib.h:2611
wimlib_progress_status
Valid return values from user-provided progress functions (wimlib_progress_func_t).
Definition: wimlib.h:809
uint32_t mounted_image
1-based index of image being unmounted.
Definition: wimlib.h:1161
int32_t last_access_time_high
High 32 bits of the seconds portion of the last access timestamp, filled in if wimlib_timespec.tv_sec is only 32-bit.
Definition: wimlib.h:1674
WIMLIBAPI void wimlib_free(WIMStruct *wim)
Release a reference to a WIMStruct.
long reserved
Reserved; set to 0.
Definition: wimlib.h:1295
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
A directory or file has been scanned.
Definition: wimlib.h:662
Definition: wimlib.h:2586
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
Structure passed to the wimlib_iterate_dir_tree() callback function.
Definition: wimlib.h:1546
Definition: wimlib.h:2595
int add_flags
Bitwise OR of WIMLIB_ADD_FLAG_* flags.
Definition: wimlib.h:2493
const wimlib_tchar * extraction_path
Path to which the file is being extracted.
Definition: wimlib.h:1149
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
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.
Valid on messages WIMLIB_PROGRESS_MSG_SCAN_BEGIN, WIMLIB_PROGRESS_MSG_SCAN_DENTRY, and WIMLIB_PROGRESS_MSG_SCAN_END.
Definition: wimlib.h:884
Definition: wimlib.h:2590
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...
Definition: wimlib.h:2564
uint32_t num_threads
The number of threads being used for data compression; or, if no compression is being performed...
Definition: wimlib.h:862
WIMLIBAPI int wimlib_get_wim_info(WIMStruct *wim, struct wimlib_wim_info *info)
Get basic information about a WIM file.
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
Definition: wimlib.h:2608
Definition: wimlib.h:2566
uint32_t total_parts
Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
Definition: wimlib.h:1020
uint64_t total_bytes
The number of bytes in the WIM file that are covered by integrity checks.
Definition: wimlib.h:1084
WIMLIBAPI int wimlib_set_output_compression_type(WIMStruct *wim, enum wimlib_compression_type ctype)
Set a WIMStruct&#39;s output compression type.
Definition: wimlib.h:2619
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
uint32_t total_images
Definition: wimlib.h:1198
Starting to read a new part of a split pipable WIM over the pipe.
Definition: wimlib.h:631
uint32_t reserved_flags
Definition: wimlib.h:1491
wimlib_progress_msg
Possible values of the first parameter to the user-supplied wimlib_progress_func_t progress function...
Definition: wimlib.h:601
Definition: wimlib.h:2576
Definition: wimlib.h:2575
Definition: wimlib.h:2555
uint32_t part_number
Currently only used for WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.
Definition: wimlib.h:1016
Rename a file or directory tree in the image.
Definition: wimlib.h:2476
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.
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
size_t completed_commands
Number of update commands that have been completed so far.
Definition: wimlib.h:1071
Definition: wimlib.h:2563
File data is currently being extracted.
Definition: wimlib.h:627
WIMLIBAPI int wimlib_get_xml_data(WIMStruct *wim, void **buf_ret, size_t *bufsize_ret)
Read a WIM file&#39;s XML document into an in-memory buffer.
This message may be sent periodically (not for every file) while files and directories are being crea...
Definition: wimlib.h:622
Add a new file or directory tree to the image.
Definition: wimlib.h:2470
uint32_t opened_from_file
1 iff this info struct is for a WIMStruct that has a backing file.
Definition: wimlib.h:1380
A wimlib_split() operation is in progress, and a split part has been finished.
Definition: wimlib.h:714
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
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
The operation should be aborted.
Definition: wimlib.h:817
uint32_t unix_uid
The UNIX user ID of this file.
Definition: wimlib.h:1640
uint32_t extract_flags
Extraction flags being used.
Definition: wimlib.h:979
wimlib_tchar * config_file
Path to capture configuration file to use, or NULL if not specified.
Definition: wimlib.h:2490
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.
uint64_t completed_compressed_bytes
Since wimlib v1.13.4: Like completed_bytes, but counts the compressed size.
Definition: wimlib.h:878
const wimlib_tchar * from
Name of the temporary file that the WIM was written to.
Definition: wimlib.h:1055
const char * security_descriptor
Pointer to the security descriptor for this file, in Windows SECURITY_DESCRIPTOR_RELATIVE format...
Definition: wimlib.h:1566
int delete_flags
Bitwise OR of WIMLIB_DELETE_FLAG_* flags.
Definition: wimlib.h:2503
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
int error_code
The wimlib error code associated with the error.
Definition: wimlib.h:1245
uint32_t chunk_size
The size of each individually checksummed "chunk" in the integrity-checked region.
Definition: wimlib.h:1100
Valid on messages WIMLIB_PROGRESS_MSG_VERIFY_STREAMS.
Definition: wimlib.h:1203
Definition: wimlib.h:2548
Definition: wimlib.h:2583
uint64_t completed_bytes
The number of bytes of file data that have been extracted so far.
Definition: wimlib.h:1002
Definition: wimlib.h:2596
uint64_t completed_bytes
The number of bytes that have been checksummed so far.
Definition: wimlib.h:1088
Information about a stream of a particular file in the WIM.
Definition: wimlib.h:1519
size_t depth
Depth of this directory entry, where 0 is the root, 1 is the root&#39;s children, ..., etc.
Definition: wimlib.h:1561
Definition: wimlib.h:2612
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...
const wimlib_tchar * to
Name of the original WIM file to which the temporary file is being renamed.
Definition: wimlib.h:1059
Data for a WIMLIB_UPDATE_OP_DELETE operation.
Definition: wimlib.h:2497
uint64_t current_file_count
For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages...
Definition: wimlib.h:1031
wimlib_verify_wim() has finished verifying the metadata for an image.
Definition: wimlib.h:760
wimlib_verify_wim() is verifying file data integrity.
Definition: wimlib.h:764
uint32_t spanned
1 iff the "spanned" flag is set in this WIM&#39;s header
Definition: wimlib.h:1394
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.
uint64_t completed_streams
Definition: wimlib.h:1207
WIMLIBAPI int wimlib_set_image_descripton(WIMStruct *wim, int image, const wimlib_tchar *description)
Change the description of a WIM image.
Definition: wimlib.h:2580
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
Definition: wimlib.h:2559
Definition: wimlib.h:2568
Valid on messages WIMLIB_PROGRESS_MSG_UNMOUNT_BEGIN.
Definition: wimlib.h:1153
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.
const wimlib_tchar * mountpoint
Path to directory being unmounted.
Definition: wimlib.h:1155
uint32_t unix_mode
The UNIX mode of this file.
Definition: wimlib.h:1652
WIMLIBAPI void wimlib_register_progress_function(WIMStruct *wim, wimlib_progress_func_t progfunc, void *progctx)
Register a progress function with a WIMStruct.
An integrity table is being calculated for the WIM being written.
Definition: wimlib.h:705
Definition: wimlib.h:2602
uint32_t is_readonly
1 iff this WIM file is considered readonly for any reason (e.g.
Definition: wimlib.h:1385
Definition: wimlib.h:2578
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
A WIM update command is about to be executed.
Definition: wimlib.h:720
uint32_t completed_chunks
The number of chunks that have been checksummed so far.
Definition: wimlib.h:1096
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
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.
uint64_t num_dirs_scanned
The number of directories scanned so far, not counting excluded/unsupported files.
Definition: wimlib.h:942
The directory or NTFS volume is about to be scanned for metadata.
Definition: wimlib.h:656
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
uint64_t num_nondirs_scanned
The number of non-directories scanned so far, not counting excluded/unsupported files.
Definition: wimlib.h:946
Definition: wimlib.h:2597
Definition: wimlib.h:2621
WIMLIBAPI int wimlib_set_image_name(WIMStruct *wim, int image, const wimlib_tchar *name)
Change the name of a WIM image.
Specification of an update to perform on a WIM image.
Definition: wimlib.h:2520
Definition: wimlib.h:2617
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.
uint32_t image_count
The number of images in this WIM file.
Definition: wimlib.h:1346
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.
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...
Definition: wimlib.h:2547
This message may be sent periodically (not necessarily for every file) while file and directory metad...
Definition: wimlib.h:639
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.
Definition: wimlib.h:2558
uint64_t hard_link_group_id
A unique identifier for this file&#39;s inode.
Definition: wimlib.h:1626
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
uint32_t reparse_tag
If the file is a reparse point (FILE_ATTRIBUTE_REPARSE_POINT set in the attributes), this will give the reparse tag.
Definition: wimlib.h:1608
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...
uint32_t image
The 1-based index of the image from which files are being extracted.
Definition: wimlib.h:976
WIMLIBAPI int wimlib_split(WIMStruct *wim, const wimlib_tchar *swm_name, uint64_t part_size, int write_flags)
Split a WIM into multiple parts.
uint64_t end_file_count
For WIMLIB_PROGRESS_MSG_EXTRACT_FILE_STRUCTURE and WIMLIB_PROGRESS_MSG_EXTRACT_METADATA messages...
Definition: wimlib.h:1049
uint16_t part_number
For split WIMs, the 1-based index of this part within the split WIM; otherwise 1. ...
Definition: wimlib.h:1361
Definition: wimlib.h:2588
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
uint64_t total_bytes
The number of bytes of file data that will be extracted.
Definition: wimlib.h:998
Definition: wimlib.h:2593
Definition: wimlib.h:2560
Definition: wimlib.h:2549
File data is currently being written to the WIM.
Definition: wimlib.h:676
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
const wimlib_tchar * full_path
Full path to this file within the image.
Definition: wimlib.h:1557
uint32_t is_metadata
1 iff this blob contains the metadata for an image.
Definition: wimlib.h:1478
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.
Valid on messages WIMLIB_PROGRESS_MSG_TEST_FILE_EXCLUSION.
Definition: wimlib.h:1212
uint64_t completed_bytes
The number of bytes of file data that have been written so far.
Definition: wimlib.h:853
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...
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...
const wimlib_tchar * wimfile
Definition: wimlib.h:1197
const wimlib_tchar * path_in_wim
Path to the file in the image that is being replaced.
Definition: wimlib.h:1140
const wimlib_tchar * mounted_wim
Path to WIM file being unmounted.
Definition: wimlib.h:1158
uint32_t unmount_flags
Flags passed to wimlib_unmount_image().
Definition: wimlib.h:1168
The progress function is being asked whether a file should be excluded from capture or not...
Definition: wimlib.h:778
wimlib_tchar * fs_source_path
Filesystem path to the file or directory tree to add.
Definition: wimlib.h:2482
Definition: wimlib.h:2582
uint32_t wim_version
The version of the WIM file format used in this WIM file.
Definition: wimlib.h:1353
Definition: wimlib.h:2609
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.
Definition: wimlib.h:2607
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.
int32_t reserved2
Definition: wimlib.h:1676
Definition: wimlib.h:2571
Definition: wimlib.h:2584
wimlib_tchar * wim_path
The path to the file or directory within the image to delete.
Definition: wimlib.h:2500
wimlib has used a file&#39;s data for the last time (including all data streams, if it has multiple)...
Definition: wimlib.h:751
WIMLIBAPI int wimlib_set_wim_info(WIMStruct *wim, const struct wimlib_wim_info *info, int which)
Set basic information about a 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...
uint32_t is_marked_readonly
1 iff the "readonly" flag is set in this WIM&#39;s header
Definition: wimlib.h:1391
Definition: wimlib.h:2587
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
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...
Valid on messages WIMLIB_PROGRESS_MSG_UPDATE_BEGIN_COMMAND and WIMLIB_PROGRESS_MSG_UPDATE_END_COMMAND...
Definition: wimlib.h:1064
wimlib_tchar * wim_target_path
The path to the destination file or directory within the image.
Definition: wimlib.h:2513
Definition: wimlib.h:2574
Information about a "blob", which is a fixed length sequence of binary data.
Definition: wimlib.h:1444
uint16_t total_parts
For split WIMs, the total number of parts in the split WIM; otherwise 1.
Definition: wimlib.h:1365
Definition: wimlib.h:2577
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
Data for a WIMLIB_UPDATE_OP_ADD operation.
Definition: wimlib.h:2480
uint32_t is_free
Definition: wimlib.h:1480
WIMLIBAPI int wimlib_unmount_image(const wimlib_tchar *dir, int unmount_flags)
Unmount a WIM image that was mounted using wimlib_mount_image().
uint64_t completed_streams
The number of file streams that have been extracted so far.
Definition: wimlib.h:1012