]> wimlib.net Git - wimlib/blobdiff - include/wimlib.h
Add WIMLIB_EXPORT_FLAG_GIFT
[wimlib] / include / wimlib.h
index 6a5ba2f88509f512226cd4dc3d2d968baf0ac27b..0684d6258d2bc9137915737a17b9794e4100bb1a 100644 (file)
@@ -33,7 +33,7 @@
  *
  * @section sec_intro Introduction
  *
- * This is the documentation for the library interface of wimlib 1.6.2, a C
+ * This is the documentation for the library interface of wimlib 1.6.3, 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
 #define WIMLIB_MINOR_VERSION 6
 
 /** Patch version of the library (for example, the 5 in 1.2.5). */
-#define WIMLIB_PATCH_VERSION 2
+#define WIMLIB_PATCH_VERSION 3
 
 #ifdef __cplusplus
 extern "C" {
@@ -973,7 +973,7 @@ struct wimlib_capture_source {
         * filesystem to be included in the WIM image. */
        wimlib_tchar *fs_source_path;
 
-       /** Destination path in the WIM image.  Use WIMLIB_WIM_ROOT_PATH to
+       /** Destination path in the WIM image.  Use ::WIMLIB_WIM_ROOT_PATH to
         * specify the root directory of the WIM image.  */
        wimlib_tchar *wim_target_path;
 
@@ -1285,8 +1285,8 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
  * ::WIMLIB_ADD_FLAG_UNIX_DATA.   */
 #define WIMLIB_ADD_FLAG_NTFS                   0x00000001
 
-/** Follow symlinks; archive and dump the files they point to.  Cannot be used
- * with ::WIMLIB_ADD_FLAG_NTFS. */
+/** Follow symlinks; archive and dump the files they point to.  Currently only
+ * supported on UNIX-like systems.  */
 #define WIMLIB_ADD_FLAG_DEREFERENCE            0x00000002
 
 /** Call the progress function with the message
@@ -1302,7 +1302,7 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
  * 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
- * information.  This flag cannot be combined with ::WIMLIB_ADD_FLAG_NTFS.  */
+ * information.  */
 #define WIMLIB_ADD_FLAG_UNIX_DATA              0x00000010
 
 /** Do not capture security descriptors.  Only has an effect in NTFS capture
@@ -1339,8 +1339,8 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
 #define WIMLIB_ADD_FLAG_NORPFIX                        0x00000200
 
 /** Do not automatically exclude unsupported files or directories from capture;
- * e.g. encrypted directories in NTFS-3g capture mode, or device files and FIFOs
- * on UNIX-like systems.  Instead, fail with ::WIMLIB_ERR_UNSUPPORTED_FILE when
+ * e.g. encrypted files in NTFS-3g capture mode, or device files and FIFOs on
+ * UNIX-like systems.  Instead, fail with ::WIMLIB_ERR_UNSUPPORTED_FILE when
  * such a file is encountered.  */
 #define WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE 0x00000400
 
@@ -1435,6 +1435,11 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
 /** Give the exported image(s) no descriptions.  */
 #define WIMLIB_EXPORT_FLAG_NO_DESCRIPTIONS             0x00000004
 
+/** This advises the library that the program is finished with the source
+ * WIMStruct and will not attempt to access it after the call to
+ * wimlib_export_image(), with the exception of the call to wimlib_free().  */
+#define WIMLIB_EXPORT_FLAG_GIFT                                0x00000008
+
 /** @} */
 /** @ingroup G_extracting_wims
  * @{ */
@@ -1828,7 +1833,7 @@ struct wimlib_add_command {
        /** Filesystem path to the file or directory tree to add.  */
        wimlib_tchar *fs_source_path;
 
-       /** Destination path in the WIM image.  Use WIMLIB_WIM_ROOT_PATH to
+       /** Destination path in the WIM image.  Use ::WIMLIB_WIM_ROOT_PATH to
         * specify the root directory of the WIM image.  */
        wimlib_tchar *wim_target_path;
 
@@ -2107,6 +2112,20 @@ wimlib_add_image_multisource(WIMStruct *wim,
                             int add_flags,
                             wimlib_progress_func_t progress_func);
 
+/**
+ * @ingroup G_modifying_wims
+ *
+ * Add the file or directory tree at @p fs_source_path on the filesystem to the
+ * location @p wim_target_path within the specified @p image of the @p wim.
+ *
+ * This just builds an appropriate ::wimlib_add_command and passes it to
+ * wimlib_update_image().
+ */
+extern int
+wimlib_add_tree(WIMStruct *wim, int image,
+               const wimlib_tchar *fs_source_path,
+               const wimlib_tchar *wim_target_path, int add_flags);
+
 /**
  * @ingroup G_creating_and_opening_wims
  *
@@ -2173,6 +2192,18 @@ wimlib_create_new_wim(int ctype, WIMStruct **wim_ret);
 extern int
 wimlib_delete_image(WIMStruct *wim, int image);
 
+/**
+ * @ingroup G_modifying_wims
+ *
+ * Delete the @p path from the specified @p image of the @p wim.
+ *
+ * This just builds an appropriate ::wimlib_delete_command and passes it to
+ * wimlib_update_image().
+ */
+extern int
+wimlib_delete_path(WIMStruct *wim, int image,
+                  const wimlib_tchar *path, int delete_flags);
+
 /**
  * @ingroup G_modifying_wims
  *
@@ -3351,6 +3382,19 @@ wimlib_reference_template_image(WIMStruct *wim, int new_image,
                                WIMStruct *template_wim, int template_image,
                                int flags, wimlib_progress_func_t progress_func);
 
+/**
+ * @ingroup G_modifying_wims
+ *
+ * Rename the @p source_path to the @p dest_path in the specified @p image of
+ * the @p wim.
+ *
+ * This just builds an appropriate ::wimlib_rename_command and passes it to
+ * wimlib_update_image().
+ */
+extern int
+wimlib_rename_path(WIMStruct *wim, int image,
+                  const wimlib_tchar *source_path, const wimlib_tchar *dest_path);
+
 /**
  * @ingroup G_wim_information
  *