1 #ifndef _WIMLIB_WIN32_H
2 #define _WIMLIB_WIN32_H
4 #include "wimlib_internal.h"
9 win32_build_dentry_tree(struct wim_dentry **root_ret,
10 const mbchar *root_disk_path,
11 struct wim_lookup_table *lookup_table,
12 struct wim_security_data *sd,
13 const struct capture_config *config,
15 wimlib_progress_func_t progress_func,
19 win32_read_file(const mbchar *filename, void *handle, u64 offset,
20 size_t size, void *buf);
23 win32_open_file_data_only(const wchar_t *path_utf16);
26 win32_close_file(void *handle);
28 #ifdef ENABLE_ERROR_MESSAGES
29 extern void win32_error(u32 err);
30 extern void win32_error_last();
32 # define win32_error(err)
33 # define win32_error_last()
36 #define FNM_PATHNAME 0x1
39 fnmatch(const mbchar *pattern, const mbchar *string, int flags);
42 win32_do_apply_dentry(const mbchar *output_path,
43 size_t output_path_len,
44 struct wim_dentry *dentry,
45 struct apply_args *args);
48 win32_do_apply_dentry_timestamps(const mbchar *output_path,
49 size_t output_path_len,
50 const struct wim_dentry *dentry,
51 const struct apply_args *args);
57 win32_get_number_of_processors();
60 realpath(const mbchar *path, mbchar *resolved_path);
62 /* Microsoft's swprintf() violates the C standard and they require programmers
63 * to do this weird define to get the correct function. */
64 #define swprintf _snwprintf
66 /* Use Microsoft's weird _mkdir() function instead of mkdir() */
67 #define mkdir(name, mode) _mkdir(name)
74 nl_langinfo(nl_item item);
77 rename_replacement(const char *oldpath, const char *newpath);
78 #define rename(oldpath, newpath) rename_replacement(oldpath, newpath)
84 win32_global_cleanup();
86 #endif /* _WIMLIB_WIN32_H */