#define WIMLIB_WRITE_FLAG_USE_EXISTING_TOTALBYTES 0x04000000
#define WIMLIB_WRITE_FLAG_NO_METADATA 0x02000000
#define WIMLIB_WRITE_FLAG_OVERWRITE 0x01000000
-#define WIMLIB_WRITE_MASK_PUBLIC 0x00ffffff
+
+/* Keep in sync with wimlib.h */
+#define WIMLIB_WRITE_MASK_PUBLIC ( \
+ WIMLIB_WRITE_FLAG_CHECK_INTEGRITY | \
+ WIMLIB_WRITE_FLAG_NO_CHECK_INTEGRITY | \
+ WIMLIB_WRITE_FLAG_PIPABLE | \
+ WIMLIB_WRITE_FLAG_NOT_PIPABLE | \
+ WIMLIB_WRITE_FLAG_RECOMPRESS | \
+ WIMLIB_WRITE_FLAG_FSYNC | \
+ WIMLIB_WRITE_FLAG_REBUILD | \
+ WIMLIB_WRITE_FLAG_SOFT_DELETE | \
+ WIMLIB_WRITE_FLAG_IGNORE_READONLY_FLAG | \
+ WIMLIB_WRITE_FLAG_SKIP_EXTERNAL_WIMS | \
+ WIMLIB_WRITE_FLAG_STREAMS_OK | \
+ WIMLIB_WRITE_FLAG_RETAIN_GUID | \
+ WIMLIB_WRITE_FLAG_PACK_STREAMS)
#if defined(HAVE_SYS_FILE_H) && defined(HAVE_FLOCK)
extern int
-lock_wim(WIMStruct *wim, int fd);
+lock_wim_for_append(WIMStruct *wim);
+extern void
+unlock_wim_for_append(WIMStruct *wim);
#else
static inline int
-lock_wim(WIMStruct *wim, int fd)
+lock_wim_for_append(WIMStruct *wim)
{
return 0;
}
+static inline void
+unlock_wim_for_append(WIMStruct *wim)
+{
+}
#endif
struct list_head;
int image,
int write_flags,
unsigned num_threads,
- wimlib_progress_func_t progress_func,
unsigned part_number,
unsigned total_parts,
struct list_head *stream_list_override,