X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fwin32.h;h=bef8da65fd946550cd4e6c12791606e367364245;hp=496ee5c3d07e22ce889229d7bee6368b0d05cdf5;hb=51996593b805cc79ba3a67ea4c721baa60e1c70e;hpb=8f520d21297a3ae557d82b586ad369662714d829 diff --git a/src/win32.h b/src/win32.h index 496ee5c3..bef8da65 100644 --- a/src/win32.h +++ b/src/win32.h @@ -3,53 +3,84 @@ #include "wimlib_internal.h" #include +#include -extern void win32_release_capture_privileges(); -extern void win32_acquire_capture_privileges(); +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); -extern void win32_release_restore_privileges(); -extern void win32_acquire_restore_privileges(); +extern int +win32_read_file(const mbchar *filename, void *handle, u64 offset, + size_t size, void *buf); -extern int win32_build_dentry_tree(struct wim_dentry **root_ret, - const char *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); +extern HANDLE +win32_open_file_data_only(const wchar_t *path_utf16); -extern int win32_read_file(const char *filename, void *handle, u64 offset, - size_t size, u8 *buf); -extern void *win32_open_file_readonly(const void *path_utf16); -extern void win32_close_file(void *handle); +extern void +win32_close_file(void *handle); #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 #define FNM_PATHNAME 0x1 #define FNM_NOMATCH 1 -extern int fnmatch(const char *pattern, const char *string, int flags); +extern int +fnmatch(const mbchar *pattern, const mbchar *string, int flags); -#define mkdir(name, mode) _mkdir(name) +extern int +win32_do_apply_dentry(const mbchar *output_path, + size_t output_path_len, + struct wim_dentry *dentry, + struct apply_args *args); -extern int win32_do_apply_dentry(const char *output_path, +extern int +win32_do_apply_dentry_timestamps(const mbchar *output_path, size_t output_path_len, - struct wim_dentry *dentry, - struct apply_args *args); + const struct wim_dentry *dentry, + const struct apply_args *args); + +extern int +fsync(int fd); + +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) + +typedef enum { + CODESET +} nl_item; -extern int win32_do_apply_dentry_timestamps(const char *output_path, - size_t output_path_len, - const struct wim_dentry *dentry, - const struct apply_args *args); +extern char * +nl_langinfo(nl_item item); -extern int fsync(int fd); +extern int +rename_replacement(const char *oldpath, const char *newpath); +#define rename(oldpath, newpath) rename_replacement(oldpath, newpath) -extern unsigned win32_get_number_of_processors(); +extern void +win32_global_init(); -extern char *realpath(const char *path, char *resolved_path); +extern void +win32_global_cleanup(); #endif /* _WIMLIB_WIN32_H */