extern int
win32_build_dentry_tree(struct wim_dentry **root_ret,
const tchar *root_disk_path,
- struct wim_lookup_table *lookup_table,
- struct sd_set *sd,
- const struct wimlib_capture_config *config,
- int add_image_flags,
- wimlib_progress_func_t progress_func,
- void *extra_arg);
+ struct add_image_params *params);
+
+extern int
+win32_get_file_and_vol_ids(const wchar_t *path, u64 *ino_ret, u64 *dev_ret);
extern int
win32_read_file(const tchar *filename, HANDLE handle,
u64 offset, size_t size, void *buf);
-extern HANDLE
-win32_open_file_data_only(const wchar_t *path_utf16);
-
-extern void
-win32_close_file(void *handle);
+extern int
+read_win32_file_prefix(const struct wim_lookup_table_entry *lte,
+ u64 size,
+ consume_data_callback_t cb,
+ void *ctx_or_buf,
+ int _ignored_flags);
-#ifdef ENABLE_ERROR_MESSAGES
-extern void win32_error(u32 err);
-extern void win32_error_last();
-#else
-# define win32_error(err)
-# define win32_error_last()
-#endif
+extern int
+read_win32_encrypted_file_prefix(const struct wim_lookup_table_entry *lte,
+ u64 size,
+ consume_data_callback_t cb,
+ void *ctx_or_buf,
+ int _ignored_flags);
#define FNM_PATHNAME 0x1
#define FNM_NOESCAPE 0x2
extern int
win32_do_apply_dentry_timestamps(const tchar *output_path,
size_t output_path_nbytes,
- const struct wim_dentry *dentry,
- const struct apply_args *args);
+ struct wim_dentry *dentry,
+ struct apply_args *args);
extern int
fsync(int fd);
extern int
win32_strerror_r_replacement(int errnum, tchar *buf, size_t buflen);
+extern ssize_t
+win32_pread(int fd, void *buf, size_t count, off_t offset);
+
+extern ssize_t
+win32_pwrite(int fd, const void *buf, size_t count, off_t offset);
+
+extern ssize_t
+win32_writev(int fd, const struct iovec *iov, int iovcnt);
+
#endif /* _WIMLIB_WIN32_H */