* unsupported (e.g. an encrypted or device file). */
WIMLIB_SCAN_DENTRY_UNSUPPORTED,
- /** The file is an absolute symbolic link or junction
- * point and it is being excluded from capture because
- * it points outside of the capture directory and
- * reparse-point fixups are enabled. (Reparse point
- * fixups can be disabled by using the flag
- * ::WIMLIB_ADD_FLAG_NORPFIX.) */
- WIMLIB_SCAN_DENTRY_EXCLUDED_SYMLINK,
-
/** The file is an absolute symbolic link or junction
* that points into the capture directory, and
* reparse-point fixups are enabled, so its target is
* disabled with the flag ::WIMLIB_ADD_FLAG_NORPFIX.)
*/
WIMLIB_SCAN_DENTRY_FIXED_SYMLINK,
+
+ /** Reparse-point fixups are enabled, but the file is an
+ * absolute symbolic link or junction that does
+ * <b>not</b> point into the capture directory, so its
+ * target is <b>not</b> being adjusted. */
+ WIMLIB_SCAN_DENTRY_NOT_FIXED_SYMLINK,
} status;
union {
const wimlib_tchar *wim_target_path;
/** For ::WIMLIB_PROGRESS_MSG_SCAN_DENTRY and a status
- * of @p WIMLIB_SCAN_DENTRY_EXCLUDED_SYMLINK or @p
- * WIMLIB_SCAN_DENTRY_FIXED_SYMLINK, this is the target
- * of the absolute symbolic link or junction. */
+ * of @p WIMLIB_SCAN_DENTRY_FIXED_SYMLINK or @p
+ * WIMLIB_SCAN_DENTRY_NOT_FIXED_SYMLINK, this is the
+ * target of the absolute symbolic link or junction. */
const wimlib_tchar *symlink_target;
};
/** Reparse-point fixups: Modify absolute symbolic links (or junction points,
* in the case of Windows) that point inside the directory being captured to
* instead be absolute relative to the directory being captured, rather than the
- * current root; also exclude absolute symbolic links that point outside the
- * directory tree being captured.
+ * current root.
*
* Without this flag, the default is to do this if WIM_HDR_FLAG_RP_FIX is set in
* the WIM header or if this is the first image being added.
* all streams recompressed in solid mode.
*
* Currently, new solid blocks will, by default, be written using LZMS
- * compression with 32 MiB (33554432 byte) chunks. Use
+ * compression with 64 MiB (67108864 byte) chunks. Use
* wimlib_set_output_pack_compression_type() and/or
* wimlib_set_output_pack_chunk_size() to change this. This is independent of
* the WIM's main compression type and chunk size; you can have a WIM that
WIMLIB_ERR_SUCCESS = 0,
WIMLIB_ERR_ALREADY_LOCKED = 1,
WIMLIB_ERR_DECOMPRESSION = 2,
- WIMLIB_ERR_DELETE_STAGING_DIR = 3,
- WIMLIB_ERR_FILESYSTEM_DAEMON_CRASHED = 4,
- WIMLIB_ERR_FORK = 5,
WIMLIB_ERR_FUSE = 6,
- WIMLIB_ERR_FUSERMOUNT = 7,
WIMLIB_ERR_GLOB_HAD_NO_MATCHES = 8,
WIMLIB_ERR_ICONV_NOT_AVAILABLE = 9,
WIMLIB_ERR_IMAGE_COUNT = 10,
WIMLIB_ERR_INVALID_PIPABLE_WIM = 26,
WIMLIB_ERR_INVALID_REPARSE_DATA = 27,
WIMLIB_ERR_INVALID_RESOURCE_HASH = 28,
- WIMLIB_ERR_INVALID_UNMOUNT_MESSAGE = 29,
WIMLIB_ERR_INVALID_UTF16_STRING = 30,
WIMLIB_ERR_INVALID_UTF8_STRING = 31,
WIMLIB_ERR_IS_DIRECTORY = 32,
WIMLIB_ERR_READ = 50,
WIMLIB_ERR_READLINK = 51,
WIMLIB_ERR_RENAME = 52,
- WIMLIB_ERR_REOPEN = 53,
WIMLIB_ERR_REPARSE_POINT_FIXUP_FAILED = 54,
WIMLIB_ERR_RESOURCE_NOT_FOUND = 55,
WIMLIB_ERR_RESOURCE_ORDER = 56,
WIMLIB_ERR_SET_TIMESTAMPS = 61,
WIMLIB_ERR_SPLIT_INVALID = 62,
WIMLIB_ERR_STAT = 63,
- WIMLIB_ERR_TIMEOUT = 64,
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_VOLUME_LACKS_FEATURES = 70,
WIMLIB_ERR_WIM_IS_READONLY = 71,
WIMLIB_ERR_WRITE = 72,
WIMLIB_ERR_XML = 73,
struct wimlib_compressor_params_header hdr;
/** Relatively fast LZX compression algorithm with a decent compression
- * ratio; the suggested default. */
+ * ratio. */
#define WIMLIB_LZX_ALGORITHM_FAST 0
/** Slower LZX compression algorithm that provides a better compression
- * ratio. */
+ * ratio. This is the default. */
#define WIMLIB_LZX_ALGORITHM_SLOW 1
/** Algorithm to use to perform the compression: either
uint32_t fast_reserved1[10];
} fast;
- /** Parameters for the slow algorithm. */
+ /** Parameters for the "slow" algorithm. */
struct wimlib_lzx_slow_params {
/** If set to 1, the compressor can output length 2
- * matches. If set 0, the compressor only outputs
+ * matches. If set 0, the compressor can only output
* matches of length 3 or greater. Suggested value: 1
*/
uint32_t use_len2_matches : 1;
* position. Suggested value: 50. */
uint32_t max_search_depth;
- /** Maximum number of potentially good matches to
- * consider for each position. Suggested value: 3. */
- uint32_t max_matches_per_pos;
+ /* Note: max_matches_per_pos has been removed and no
+ * longer has any effect. */
- uint32_t slow_reserved2[2];
+ uint32_t slow_reserved2[3];
/** Assumed cost of a main symbol with zero frequency.
* Must be at least 1 and no more than 16. Suggested
* value: 50. */
uint32_t max_search_depth;
- /** Maximum number of potentially good matches to consider at each
- * position. Suggested value: 3. */
- uint32_t max_matches_per_pos;
+ /* Note: max_matches_per_pos has been removed and no longer has any
+ * effect. */
+
+ uint32_t reserved1;
/** Length of the array for the near-optimal LZ parsing algorithm. This
* must be at least 1. Suggested value: 1024. */