X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwimlib.h;h=6abb6e5b1f26c96b139ac28d121a4a10f5af6e0c;hb=7acdc3aecd7ce546727ae8239e0d942c2a00db43;hp=4af3d7610339103793f06ce7752fde30f73c6456;hpb=86e0ea554928890970618ff353bec09bf33708a8;p=wimlib diff --git a/src/wimlib.h b/src/wimlib.h index 4af3d761..6abb6e5b 100644 --- a/src/wimlib.h +++ b/src/wimlib.h @@ -31,9 +31,11 @@ * * \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.3.0. 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 https://sourceforge.net/projects/wimlib. * * 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 @@ -225,10 +227,10 @@ #define WIMLIB_MAJOR_VERSION 1 /** Minor version of the library (for example, the 2 in 1.2.5). */ -#define WIMLIB_MINOR_VERSION 2 +#define WIMLIB_MINOR_VERSION 3 /** Patch version of the library (for example, the 5 in 1.2.5). */ -#define WIMLIB_PATCH_VERSION 6 +#define WIMLIB_PATCH_VERSION 0 /** * 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 imagex capture 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 imagex capture + * 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,