'extern' in function declarations is redundant
Consistently use _WIN32 instead of __WIN32__ _WIN32 works with all compilers, while __WIN32__ is MinGW-specific. This project used __WIN32__ in files that only support MinGW, and _WIN32 in other files such as the library header and example programs. One place even used WIN32. Avoid this unnecessary complication by just always using _WIN32.
Add support for a data recovery mode Add support for extracting file data even if it is corrupted (i.e. if its hash doesn't match or some of its chunks can't be decompressed). This isn't recommended for general use, but it could be useful for recovering data from a corrupted WIM archive.
resource: pass blob and offset to consume_chunk This makes it so that users don't need to keep track of the current blob and offset themselves.
Do not use read() and write() from MSVCRT
Add experimental support for Windows VSS
resource reading cleanups
Move CPU and memory information to util
Make win32.h includable on non-Windows
Stream and blob updates - Rename "lookup table entry" to "blob descriptor" - Rename "lookup table" to "blob table" - Use single array for all an inode's streams - Explicitly annotate each stream with its type - Account for fact that EFSRPC raw data includes all data streams - Other cleanups
Windows replacement for fopen(path, "a")
Rewrite code for capture rpfix The previous code had many potential problems on the Windows side. Targets of Windows native symbolic links (except those with SYMBOLIC_LINK_RELATIVE set) and junction points are stored in the reparse points as NT namespace paths. Therefore they can validly include prefixes like '\??\', '\DosDevices\', or '\Device\HardDiskVolume1'. They potentially do not use drive letters at all, and they may be over MAX_PATH characters. Such paths should be accessed using the native API (NtOpenFile), not Win32 (CreateFile). This commit changes the code to do so.
win32.h: Remove unused stuff
win32_capture.c: More improvements
Allow configurable case sensitivity Set WIMLIB_IMAGEX_IGNORE_CASE for wimlib-imagex, or pass WIMLIB_INIT_FLAG_DEFAULT_CASE_SENSITIVE or WIMLIB_INIT_FLAG_DEFAULT_CASE_INSENSITIVE to wimlib_global_init().
Cleanup
Variable chunk size support (currently XPRESS only)
Add WIMLIB_INIT_FLAG_STRICT_{CAPTURE,APPLY}_PRIVILEGES
wimlib: Automatically try to acquire needed privileges on Windows
Refactor headers