]> wimlib.net Git - wimlib/blobdiff - include/wimlib.h
Report progress for capture symlink fixups
[wimlib] / include / wimlib.h
index 110b0fa5ad8d8c3fb7b4849cf2aecb2c03ae8080..ea15d8e7e6a51cc54efabda478aa52c17dac468e 100644 (file)
@@ -33,7 +33,7 @@
  *
  * @section sec_intro Introduction
  *
- * This is the documentation for the library interface of wimlib 1.6.3, a C
+ * This is the documentation for the library interface of wimlib 1.7.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
  * such as wimlib_join(), also take the progress function directly using an
  * extended version of the function, such as wimlib_join_with_progress().
  *
- * In wimlib v1.6.3 and later, progress functions are no longer just
+ * In wimlib v1.7.0 and later, progress functions are no longer just
  * unidirectional.  You can now return ::WIMLIB_PROGRESS_STATUS_ABORT to cause
- * the current operation to be aborted.  wimlib v1.6.3 also added the third
+ * the current operation to be aborted.  wimlib v1.7.0 also added the third
  * argument to ::wimlib_progress_func_t, which is a user-supplied context.
  */
 
 #define WIMLIB_MAJOR_VERSION 1
 
 /** Minor version of the library (for example, the 2 in 1.2.5). */
-#define WIMLIB_MINOR_VERSION 6
+#define WIMLIB_MINOR_VERSION 7
 
 /** 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" {
@@ -719,6 +719,14 @@ union wimlib_progress_info {
                         * 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
+                        * being adjusted.  (Reparse point fixups can be
+                        * disabled with the flag ::WIMLIB_ADD_FLAG_NORPFIX.)
+                        */
+                       WIMLIB_SCAN_DENTRY_FIXED_SYMLINK,
                } status;
 
                union {
@@ -728,9 +736,9 @@ union wimlib_progress_info {
                        const wimlib_tchar *wim_target_path;
 
                        /** For ::WIMLIB_PROGRESS_MSG_SCAN_DENTRY and a status
-                        * of @p WIMLIB_SCAN_DENTRY_EXCLUDED_SYMLINK, this is
-                        * the target of the absolute symbolic link or junction
-                        * point.  */
+                        * 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.  */
                        const wimlib_tchar *symlink_target;
                };
 
@@ -932,7 +940,7 @@ union wimlib_progress_info {
                /** Name of the split WIM part that is about to be started
                 * (::WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART) or has just been
                 * finished (::WIMLIB_PROGRESS_MSG_SPLIT_END_PART).
-                * As of wimlib v1.6.3, the library user may change this when
+                * As of wimlib v1.7.0, the library user may change this when
                 * receiving ::WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART in order to
                 * cause the next split WIM part to be written to a different
                 * location.  */
@@ -1256,7 +1264,7 @@ struct wimlib_dir_entry {
        uint32_t unix_uid;
        uint32_t unix_gid;
        uint32_t unix_mode;
-       uint32_t unix_reserved;
+       uint32_t unix_rdev;
 
        uint64_t reserved[14];
 
@@ -1321,10 +1329,9 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
  * wimlib_update_image().  */
 #define WIMLIB_ADD_FLAG_BOOT                   0x00000008
 
-/** Store the UNIX owner, group, and mode.  This is done by adding a special
- * alternate data stream to each regular file, symbolic link, and directory to
- * contain this information.  Please note that this flag is for convenience
- * only; Microsoft's implementation will not understand this special
+/** UNIX-like systems only: Store the UNIX owner, group, mode, and device ID
+ * (major and minor number) of each file.  See the documentation for the
+ * <b>--unix-data</b> option to <b>wimlib-imagex capture</b> for more
  * information.  */
 #define WIMLIB_ADD_FLAG_UNIX_DATA              0x00000010
 
@@ -2068,6 +2075,7 @@ enum wimlib_error_code {
        WIMLIB_ERR_WIMBOOT,
        WIMLIB_ERR_ABORTED_BY_PROGRESS,
        WIMLIB_ERR_UNKNOWN_PROGRESS_STATUS,
+       WIMLIB_ERR_MKNOD,
 };