X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fwrite.h;h=3f7a7e5463d6d0fe33b5c6fbbf12e5ba5a7823c9;hb=d04a25a537201b46832cac28725a45bf559dc318;hp=1240c89f35b96f00e4d8470ad7b6d3a53821e24a;hpb=f24f8409b041727329e980fdc81e84a7c9b00e5b;p=wimlib diff --git a/include/wimlib/write.h b/include/wimlib/write.h index 1240c89f..3f7a7e54 100644 --- a/include/wimlib/write.h +++ b/include/wimlib/write.h @@ -5,28 +5,51 @@ #include "wimlib/types.h" /* Internal use only */ -#define WIMLIB_WRITE_FLAG_NO_LOOKUP_TABLE 0x80000000 -#define WIMLIB_WRITE_FLAG_CHECKPOINT_AFTER_XML 0x40000000 -#define WIMLIB_WRITE_FLAG_REUSE_INTEGRITY_TABLE 0x20000000 -#define WIMLIB_WRITE_FLAG_HEADER_AT_END 0x10000000 -#define WIMLIB_WRITE_FLAG_FILE_DESCRIPTOR 0x08000000 -#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 +#define WIMLIB_WRITE_FLAG_FILE_DESCRIPTOR 0x80000000 +#define WIMLIB_WRITE_FLAG_APPEND 0x40000000 +#define WIMLIB_WRITE_FLAG_NO_NEW_BLOBS 0x20000000 +#define WIMLIB_WRITE_FLAG_USE_EXISTING_TOTALBYTES 0x10000000 +#define WIMLIB_WRITE_FLAG_NO_METADATA 0x08000000 + +/* 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_SOLID | \ + WIMLIB_WRITE_FLAG_SEND_DONE_WITH_FILE_MESSAGES | \ + WIMLIB_WRITE_FLAG_NO_SOLID_SORT | \ + WIMLIB_WRITE_FLAG_UNSAFE_COMPACT) #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 filedes; struct list_head; +struct wim_reshdr; int write_wim_part(WIMStruct *wim, @@ -34,19 +57,20 @@ write_wim_part(WIMStruct *wim, 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, + struct list_head *blob_list_override, const u8 *guid); int -write_wim_resource_from_buffer(const void *buf, size_t buf_size, - int reshdr_flags, struct filedes *out_fd, +write_wim_resource_from_buffer(const void *buf, + size_t buf_size, + bool is_metadata, + struct filedes *out_fd, int out_ctype, u32 out_chunk_size, struct wim_reshdr *out_reshdr, - u8 *hash_ret, int write_resource_flags, - struct wimlib_lzx_context **comp_ctx); + u8 *hash_ret, + int write_resource_flags); #endif /* _WIMLIB_WRITE_H */