X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib.h;h=6a1fbde6df13394577a98db27e56f78d5dc3119f;hp=4390e2088e02389ba02847c514810271b0436df8;hb=e2fb429bf5041bcf5cde3f523bb7f2543586c0f9;hpb=8b676e7d340fb8197824745eb387e1d3154e6f60 diff --git a/include/wimlib.h b/include/wimlib.h index 4390e208..6a1fbde6 100644 --- a/include/wimlib.h +++ b/include/wimlib.h @@ -11,7 +11,7 @@ /** * @mainpage * - * This is the documentation for the library interface of wimlib 1.8.3, a C + * This is the documentation for the library interface of wimlib 1.9.0, a C * library for creating, modifying, extracting, and mounting files in the * Windows Imaging Format. This documentation is intended for developers only. * If you have installed wimlib and want to know how to use the @b wimlib-imagex @@ -377,10 +377,10 @@ #define WIMLIB_MAJOR_VERSION 1 /** Minor version of the library (for example, the 2 in 1.2.5). */ -#define WIMLIB_MINOR_VERSION 8 +#define WIMLIB_MINOR_VERSION 9 /** Patch version of the library (for example, the 5 in 1.2.5). */ -#define WIMLIB_PATCH_VERSION 3 +#define WIMLIB_PATCH_VERSION 0 #ifdef __cplusplus extern "C" { @@ -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; @@ -1748,34 +1746,26 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour #define WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION 0x00004000 /** - * EXPERIMENTAL, since wimlib v1.8.4: 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). + * 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 -/* 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 - +/** + * Since wimlib v1.9.0: permit the library to discard file paths after the + * initial scan. If the application won't use + * WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES while writing the WIM archive, + * this flag can be used to allow the library to enable optimizations such as + * opening files by inode number rather than by path. Currently this only makes + * a difference on Windows. + */ +#define WIMLIB_ADD_FLAG_FILE_PATHS_UNNEEDED 0x00010000 /** @} */ /** @addtogroup G_modifying_wims @@ -1916,9 +1906,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 @@ -2257,12 +2244,6 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour */ #define WIMLIB_WRITE_FLAG_SOLID 0x00001000 -/** - * Deprecated: this is the old name for ::WIMLIB_WRITE_FLAG_SOLID, retained for - * source compatibility. - */ -#define WIMLIB_WRITE_FLAG_PACK_STREAMS WIMLIB_WRITE_FLAG_SOLID - /** * Send ::WIMLIB_PROGRESS_MSG_DONE_WITH_FILE messages while writing the WIM * file. This is only needed in the unusual case that the library user needs to @@ -3180,7 +3161,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