X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwimlib.h;h=ed036e7bad51d8f5d3f57442345e2ca2781d9d18;hb=c6aa9e6bfdeee0e08407d0efe02270f2ba4b62c6;hp=841bc912b5e63bc4cd00128afd020cf876d18cf5;hpb=cf373e59a7f6ff7d1fd007c1f22defe508aa67d4;p=wimlib diff --git a/src/wimlib.h b/src/wimlib.h index 841bc912..ed036e7b 100644 --- a/src/wimlib.h +++ b/src/wimlib.h @@ -694,6 +694,22 @@ struct wimlib_capture_config { * ::WIMLIB_ADD_IMAGE_FLAG_VERBOSE. */ #define WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE 0x00000080 +/** 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. + * + * 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. + * WIM_HDR_FLAG_RP_FIX is set if the first image in a WIM is captured with + * reparse point fixups enabled and currently cannot be unset. */ +#define WIMLIB_ADD_IMAGE_FLAG_RPFIX 0x00000100 + +/* Don't do reparse point fixups. The default behavior is described in the + * documentation for ::WIMLIB_ADD_IMAGE_FLAG_RPFIX. */ +#define WIMLIB_ADD_IMAGE_FLAG_NORPFIX 0x00000200 + /****************************** * WIMLIB_EXPORT_FLAG_* * ******************************/ @@ -741,6 +757,16 @@ struct wimlib_capture_config { * not have permission to set the desired one. */ #define WIMLIB_EXTRACT_FLAG_STRICT_ACLS 0x00000080 +/* Extract equivalent to ::WIMLIB_ADD_IMAGE_FLAG_RPFIX; force reparse-point + * fixups on, so absolute symbolic links or junction points will be fixed to be + * absolute relative to the actual extraction root. Done by default if + * WIM_HDR_FLAG_RP_FIX is set in the WIM header. */ +#define WIMLIB_EXTRACT_FLAG_RPFIX 0x00000100 + +/** Force reparse-point fixups on extraction off, regardless of the state of the + * WIM_HDR_FLAG_RP_FIX flag in the WIM header. */ +#define WIMLIB_EXTRACT_FLAG_NORPFIX 0x00000200 + /****************************** * WIMLIB_MOUNT_FLAG_* * ******************************/ @@ -959,6 +985,7 @@ enum wimlib_error_code { WIMLIB_ERR_UNICODE_STRING_NOT_REPRESENTABLE, WIMLIB_ERR_UNKNOWN_VERSION, WIMLIB_ERR_UNSUPPORTED, + WIMLIB_ERR_VOLUME_LACKS_FEATURES, WIMLIB_ERR_WRITE, WIMLIB_ERR_XML, };