]> wimlib.net Git - wimlib/blobdiff - src/wimlib.h
wimlib.h: Improve wimlib_add_image_multisource() docs
[wimlib] / src / wimlib.h
index 4af3d7610339103793f06ce7752fde30f73c6456..0b46a8cc0ce216186a744ca083f2348b521b2217 100644 (file)
  *
  * \section intro Introduction
  *
- * This is the documentation for the library interface of wimlib 1.2.6.  If you
+ * This is the documentation for the library interface of wimlib 1.2.7.  If you
  * have installed wimlib and want to know how to use the @c imagex program,
- * please see the man pages instead.
+ * please see the man pages instead.  Also: the actual project page where you
+ * can download the source code for the library is at <a
+ * href="https://sourceforge.net/projects/wimlib">https://sourceforge.net/projects/wimlib</a>.
  *
  * wimlib is a C library to read, write, and mount archive files in the Windows
  * Imaging Format (WIM files).  These files are normally created using the @c
 #define WIMLIB_MINOR_VERSION 2
 
 /** Patch version of the library (for example, the 5 in 1.2.5). */
-#define WIMLIB_PATCH_VERSION 6
+#define WIMLIB_PATCH_VERSION 7
 
 /**
  * Opaque structure that represents a WIM file.  This is an in-memory structure
@@ -790,6 +792,7 @@ enum wimlib_error_code {
        WIMLIB_ERR_UNSUPPORTED,
        WIMLIB_ERR_WRITE,
        WIMLIB_ERR_XML,
+       WIMLIB_ERR_INVALID_OVERLAY,
 };
 
 
@@ -890,9 +893,25 @@ extern int wimlib_add_image(WIMStruct *wim, const char *source,
 /** This function is equivalent to wimlib_add_image() except it allows for
  * multiple sources to be combined into a single WIM image.  This is done by
  * specifying the @a sources and @a num_sources parameters instead of the @a
- * source parameter.  The rest of the parameters are the same as
- * wimlib_add_image().  See the documentation for <b>imagex capture</b> for full
- * details on how this mode works. */
+ * source parameter of wimlib_add_image().  The rest of the parameters are the
+ * same as wimlib_add_image().  See the documentation for <b>imagex capture</b>
+ * for full details on how this mode works.
+ *
+ * Additional note:  @a sources is not a @c const parameter and you cannot
+ * assume that its contents are valid after this function returns.  You must
+ * save pointers to the strings in these structures if you need to free them
+ * later, and/or save copies if needed.
+ *
+ * In addition to the error codes that wimlib_add_image() can return,
+ * wimlib_add_image_multisource() can return ::WIMLIB_ERR_INVALID_OVERLAY
+ * when trying to overlay a non-directory on a directory or when otherwise
+ * trying to overlay multiple conflicting files to the same location in the WIM
+ * image.  It will also return ::WIMLIB_ERR_INVALID_PARAM if
+ * ::WIMLIB_ADD_IMAGE_FLAG_NTFS was specified in @a add_image_flags but there
+ * was not exactly one capture source with the target being the root directory.
+ * (In this respect, there is no advantage to using
+ * wimlib_add_image_multisource() instead of wimlib_add_image() when requesting
+ * NTFS mode.) */
 extern int wimlib_add_image_multisource(WIMStruct *w,
                                        struct wimlib_capture_source *sources,
                                        size_t num_sources,