]> wimlib.net Git - wimlib/blobdiff - src/wimlib.h
Print each file or directory excluded
[wimlib] / src / wimlib.h
index 4308561c3b6917cff136b4fb5ee4c65e89cad4a9..dfa685f0938fa19242c67f4938c73430b28e7392 100644 (file)
  * \section encodings Locales and character encodings
  *
  * To support Windows as well as UNIX, wimlib's API typically takes and returns
- * strings of "tchars", which are in a platform-dependent encoding.
+ * strings of ::wimlib_tchar, which are in a platform-dependent encoding.
  *
- * On Windows, each "tchar" is 2 bytes and is the same as a "wchar_t", and the
- * encoding is UTF-16LE.
+ * On Windows, each ::wimlib_tchar is 2 bytes and is the same as a "wchar_t",
+ * and the encoding is UTF-16LE.
  *
- * On UNIX, each "tchar" is 1 byte and is simply a "char", and the encoding is
- * the locale-dependent multibyte encoding.  I recommend you set your locale to a
- * UTF-8 capable locale to avoid any issues.  Also, by default, wimlib on UNIX
- * will assume the locale is UTF-8 capable unless you call wimlib_global_init()
- * after having set your desired locale.
+ * On UNIX, each ::wimlib_tchar is 1 byte and is simply a "char", and the
+* encoding is the locale-dependent multibyte encoding.  I recommend you set your
+* locale to a UTF-8 capable locale to avoid any issues.  Also, by default,
+       * wimlib on UNIX will assume the locale is UTF-8 capable unless you call
+* wimlib_global_init() after having set your desired locale.
  *
  * \section Limitations
  *
  *   without mounting it, other than by adding, removing, or extracting an
  *   entire image.  The FUSE mount feature should be used for this purpose.
  * - Currently, Microsoft's @a image.exe can create slightly smaller WIM files
- *   than wimlib when using maximum (LZX) compression because it knows how to
- *   split up LZX compressed blocks, which is not yet implemented in wimlib.
+ *   than wimlib (~2% or 3% smaller) when using maximum (LZX) compression.
  * - wimlib is experimental and likely contains bugs; use Microsoft's @a
  *   imagex.exe if you want to make sure your WIM files are made "correctly".
  * - The old WIM format from Vista pre-releases is not supported.
@@ -274,6 +273,7 @@ typedef struct WIMStruct WIMStruct;
 #ifdef __WIN32__
 typedef wchar_t wimlib_tchar;
 #else
+/** See \ref encodings */
 typedef char wimlib_tchar;
 #endif
 
@@ -638,6 +638,19 @@ struct wimlib_capture_source {
  * mode, or in Win32 native builds. */
 #define WIMLIB_ADD_IMAGE_FLAG_NO_ACLS                  0x00000020
 
+/** Fail immediately if the full security descriptor of any file or directory
+ * cannot be accessed.  Only has an effect in Win32 native builds.  The default
+ * behavior without this flag is to first try omitting the SACL from the
+ * security descriptor, then to try omitting the security descriptor entirely.
+ * */
+#define WIMLIB_ADD_IMAGE_FLAG_STRICT_ACLS              0x00000040
+
+/** Call the progress function with the message
+ * ::WIMLIB_PROGRESS_MSG_SCAN_DENTRY when a directory or file is excluded from
+ * capture.  This is a subset of the messages provided by
+ * ::WIMLIB_ADD_IMAGE_FLAG_VERBOSE. */
+#define WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE          0x00000080
+
 /******************************
  * WIMLIB_EXPORT_FLAG_* *
  ******************************/
@@ -676,7 +689,14 @@ struct wimlib_capture_source {
 
 /** Do not extract security descriptors.  Only has an effect in NTFS apply mode,
  * or in Win32 native builds. */
-#define WIMLIB_EXTRACT_FLAG_NOACLS                     0x00000040
+#define WIMLIB_EXTRACT_FLAG_NO_ACLS                    0x00000040
+
+/** Fail immediately if the full security descriptor of any file or directory
+ * cannot be set exactly as specified in the WIM file.  The default behavior
+ * without this flag is to fall back to setting the security descriptor with the
+ * SACL omitted, then only the default inherited security descriptor, if we do
+ * not have permission to set the desired one. */
+#define WIMLIB_EXTRACT_FLAG_STRICT_ACLS                        0x00000080
 
 /******************************
  * WIMLIB_MOUNT_FLAG_*        *