extern int
win32_build_dentry_tree(struct wim_dentry **root_ret,
- const mbchar *root_disk_path,
- struct wim_lookup_table *lookup_table,
- struct wim_security_data *sd,
- const struct capture_config *config,
- int add_image_flags,
- wimlib_progress_func_t progress_func,
- void *extra_arg);
+ const tchar *root_disk_path,
+ struct add_image_params *params);
extern int
-win32_read_file(const mbchar *filename, void *handle, u64 offset,
- size_t size, void *buf);
+win32_get_file_and_vol_ids(const wchar_t *path, u64 *ino_ret, u64 *dev_ret);
-extern HANDLE
-win32_open_file_data_only(const wchar_t *path_utf16);
+extern int
+win32_read_file(const tchar *filename, HANDLE handle,
+ u64 offset, size_t size, void *buf);
-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
#define FNM_NOMATCH 1
extern int
-fnmatch(const mbchar *pattern, const mbchar *string, int flags);
+fnmatch(const tchar *pattern, const tchar *string, int flags);
extern int
-win32_do_apply_dentry(const mbchar *output_path,
- size_t output_path_len,
+win32_do_apply_dentry(const tchar *output_path,
+ size_t output_path_nbytes,
struct wim_dentry *dentry,
struct apply_args *args);
extern int
-win32_do_apply_dentry_timestamps(const mbchar *output_path,
- size_t output_path_len,
+win32_do_apply_dentry_timestamps(const tchar *output_path,
+ size_t output_path_nbytes,
const struct wim_dentry *dentry,
const struct apply_args *args);
extern unsigned
win32_get_number_of_processors();
-extern mbchar *
-realpath(const mbchar *path, mbchar *resolved_path);
-
-/* Microsoft's swprintf() violates the C standard and they require programmers
- * to do this weird define to get the correct function. */
-#define swprintf _snwprintf
-
-/* Use Microsoft's weird _mkdir() function instead of mkdir() */
-#define mkdir(name, mode) _mkdir(name)
+extern tchar *
+realpath(const tchar *path, tchar *resolved_path);
typedef enum {
CODESET
} nl_item;
-extern char *
-nl_langinfo(nl_item item);
+extern int
+win32_rename_replacement(const tchar *oldpath, const tchar *newpath);
extern int
-rename_replacement(const char *oldpath, const char *newpath);
-#define rename(oldpath, newpath) rename_replacement(oldpath, newpath)
+win32_truncate_replacement(const tchar *path, off_t size);
extern void
win32_global_init();
extern void
win32_global_cleanup();
+extern int
+win32_strerror_r_replacement(int errnum, tchar *buf, size_t buflen);
+
#endif /* _WIMLIB_WIN32_H */