X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;ds=inline;f=include%2Fwimlib.h;h=de725935b46e576387166e37f459d950d4e492e3;hb=4ec53db826c4c4cfa8b8ddde6c28f11eafea0919;hp=6a6b0e8a3dd27ce181c665bb493b45b52a2a71f0;hpb=f1a477bb0927fdec7b2012839ddc51e8eb0c02ba;p=wimlib diff --git a/include/wimlib.h b/include/wimlib.h index 6a6b0e8a..de725935 100644 --- a/include/wimlib.h +++ b/include/wimlib.h @@ -856,13 +856,11 @@ union wimlib_progress_info { uint64_t num_dirs_scanned; /** The number of non-directories scanned so far, not counting - * excluded/unsupported files. If a file has multiple names - * (hard links), it is only counted one time. */ + * excluded/unsupported files. */ uint64_t num_nondirs_scanned; /** The number of bytes of file data detected so far, not - * counting excluded/unsupported files. If a file has multiple - * names (hard links), its data is counted only one time. */ + * counting excluded/unsupported files. */ uint64_t num_bytes_scanned; } scan; @@ -1747,23 +1745,17 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour */ #define WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION 0x00004000 -/* Note: the WIMLIB_ADD_IMAGE_FLAG names are retained for source compatibility. - * Use the WIMLIB_ADD_FLAG names in new code. */ -#define WIMLIB_ADD_IMAGE_FLAG_NTFS WIMLIB_ADD_FLAG_NTFS -#define WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE WIMLIB_ADD_FLAG_DEREFERENCE -#define WIMLIB_ADD_IMAGE_FLAG_VERBOSE WIMLIB_ADD_FLAG_VERBOSE -#define WIMLIB_ADD_IMAGE_FLAG_BOOT WIMLIB_ADD_FLAG_BOOT -#define WIMLIB_ADD_IMAGE_FLAG_UNIX_DATA WIMLIB_ADD_FLAG_UNIX_DATA -#define WIMLIB_ADD_IMAGE_FLAG_NO_ACLS WIMLIB_ADD_FLAG_NO_ACLS -#define WIMLIB_ADD_IMAGE_FLAG_STRICT_ACLS WIMLIB_ADD_FLAG_STRICT_ACLS -#define WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE WIMLIB_ADD_FLAG_EXCLUDE_VERBOSE -#define WIMLIB_ADD_IMAGE_FLAG_RPFIX WIMLIB_ADD_FLAG_RPFIX -#define WIMLIB_ADD_IMAGE_FLAG_NORPFIX WIMLIB_ADD_FLAG_NORPFIX -#define WIMLIB_ADD_IMAGE_FLAG_NO_UNSUPPORTED_EXCLUDE \ - WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE -#define WIMLIB_ADD_IMAGE_FLAG_WINCONFIG WIMLIB_ADD_FLAG_WINCONFIG -#define WIMLIB_ADD_IMAGE_FLAG_WIMBOOT WIMLIB_ADD_FLAG_WIMBOOT - +/** + * EXPERIMENTAL, since wimlib v1.9.0: create a temporary filesystem snapshot of + * the source directory and add the files from it. Currently, this option is + * only supported on Windows, where it uses the Volume Shadow Copy Service + * (VSS). Using this option, you can create a consistent backup of the system + * volume of a running Windows system without running into problems with locked + * files. For the VSS snapshot to be successfully created, your application + * must be run as an Administrator, and it cannot be run in WoW64 mode (i.e. if + * Windows is 64-bit, then your application must be 64-bit as well). + */ +#define WIMLIB_ADD_FLAG_SNAPSHOT 0x00008000 /** @} */ /** @addtogroup G_modifying_wims @@ -1904,9 +1896,6 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour * only allows the Administrator to create symbolic links. */ #define WIMLIB_EXTRACT_FLAG_STRICT_SYMLINKS 0x00008000 -/** Reserved for future use. */ -#define WIMLIB_EXTRACT_FLAG_RESUME 0x00010000 - /** For wimlib_extract_paths() and wimlib_extract_pathlist() only: Treat the * paths to extract as wildcard patterns ("globs") which may contain the * wildcard characters @c ? and @c *. The @c ? character matches any @@ -2505,6 +2494,7 @@ enum wimlib_error_code { WIMLIB_ERR_IMAGE_HAS_MULTIPLE_REFERENCES = 86, WIMLIB_ERR_DUPLICATE_EXPORTED_IMAGE = 87, WIMLIB_ERR_CONCURRENT_MODIFICATION_DETECTED = 88, + WIMLIB_ERR_SNAPSHOT_FAILURE = 89, }; @@ -3167,7 +3157,7 @@ wimlib_get_image_name(const WIMStruct *wim, int image); * "TOTALBYTES". The name can contain forward slashes to indicate a nested * XML element; for example, "WINDOWS/VERSION/BUILD" indicates the BUILD * element nested within the VERSION element nested within the WINDOWS - * element. Since wimlib v1.8.4, a bracketed number can be used to + * element. Since wimlib v1.9.0, a bracketed number can be used to * indicate one of several identically-named elements; for example, * "WINDOWS/LANGUAGES/LANGUAGE[2]" indicates the second "LANGUAGE" element * nested within the "WINDOWS/LANGUAGES" element. Note that element names