]> wimlib.net Git - wimlib/blob - include/wimlib/write.h
7a7bae619a760b13c1a6a7321ba5d4ab58970b6a
[wimlib] / include / wimlib / write.h
1 #ifndef _WIMLIB_WRITE_H
2 #define _WIMLIB_WRITE_H
3
4 #include "wimlib.h"
5 #include "wimlib/types.h"
6
7 /* Internal use only */
8 #define WIMLIB_WRITE_FLAG_NO_LOOKUP_TABLE               0x80000000
9 #define WIMLIB_WRITE_FLAG_CHECKPOINT_AFTER_XML          0x40000000
10 #define WIMLIB_WRITE_FLAG_REUSE_INTEGRITY_TABLE         0x20000000
11 #define WIMLIB_WRITE_FLAG_HEADER_AT_END                 0x10000000
12 #define WIMLIB_WRITE_FLAG_FILE_DESCRIPTOR               0x08000000
13 #define WIMLIB_WRITE_FLAG_USE_EXISTING_TOTALBYTES       0x04000000
14 #define WIMLIB_WRITE_FLAG_NO_METADATA                   0x02000000
15 #define WIMLIB_WRITE_MASK_PUBLIC                        0x01ffffff
16
17 #if defined(HAVE_SYS_FILE_H) && defined(HAVE_FLOCK)
18 extern int
19 lock_wim(WIMStruct *wim, int fd);
20 #else
21 static inline int
22 lock_wim(WIMStruct *wim, int fd)
23 {
24         return 0;
25 }
26 #endif
27
28 struct list_head;
29
30 int
31 write_wim_part(WIMStruct *wim,
32                const void *path_or_fd,
33                int image,
34                int write_flags,
35                unsigned num_threads,
36                wimlib_progress_func_t progress_func,
37                unsigned part_number,
38                unsigned total_parts,
39                struct list_head *stream_list_override,
40                const u8 *guid);
41
42 #endif /* _WIMLIB_WRITE_H */