]> wimlib.net Git - wimlib/blobdiff - include/wimlib.h
wimlib: Allow custom error file
[wimlib] / include / wimlib.h
index f56e72cf0047585db6eb4995d5d2b282ab46953f..56b6c89398be69a9284dd82feef529cd72d21899 100644 (file)
@@ -895,10 +895,11 @@ union wimlib_progress_info {
                 * potentially multiple streams per file (named data streams).
                 * A "stream" may be the default contents of a file, a named
                 * data stream, or a reparse data buffer.  */
-               uint64_t num_streams;
+               uint64_t total_streams;
 
-               /** Reserved.  */
-               const wimlib_tchar *reserved_2;
+               /** Number of (not necessarily unique) streams that have been
+                * extracted so far.  */
+               uint64_t completed_streams;
 
                /** Currently only used for
                 * ::WIMLIB_PROGRESS_MSG_EXTRACT_SPWM_PART_BEGIN.  */
@@ -3660,6 +3661,39 @@ extern int
 wimlib_resolve_image(WIMStruct *wim,
                     const wimlib_tchar *image_name_or_num);
 
+/**
+ * Sets the file to which the library will print error and warning messages.
+ *
+ * This version of the function takes a C library <c>FILE *</c> opened for
+ * writing (or appending).  Use wimlib_set_error_file_by_name() to specify the
+ * file by name instead.
+ *
+ * This also enables error messages, as if by a call to
+ * wimlib_set_print_errors(true).
+ *
+ * @return 0 on success; nonzero on error.
+ * @retval ::WIMLIB_ERR_UNSUPPORTED
+ *     wimlib was compiled using the <c>--without-error-messages</c> option.
+ */
+extern int
+wimlib_set_error_file(FILE *fp);
+
+/**
+ * Sets the path to the file to which the library will print error and warning
+ * messages.  The library will open this file for appending.
+ *
+ * This also enables error messages, as if by a call to
+ * wimlib_set_print_errors(true).
+ *
+ * @return 0 on success; nonzero on error.
+ * @retval ::WIMLIB_ERR_OPEN
+ *     The file named by @p path could not be opened for appending.
+ * @retval ::WIMLIB_ERR_UNSUPPORTED
+ *     wimlib was compiled using the <c>--without-error-messages</c> option.
+ */
+extern int
+wimlib_set_error_file_by_name(const char *path);
+
 /**
  * @ingroup G_modifying_wims
  *