X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fwin32.h;h=b4d523614ec279d2556b03e827d7692395aae4d4;hp=e702d69a9a5b55c7b37e4b6cf1d4c9a56f0166ac;hb=670a0ed6a1f36bebf71f0b221f3d78e497d305c2;hpb=8c26ca707e56d9848e52076ad3f7c26ea7fa338d diff --git a/src/win32.h b/src/win32.h index e702d69a..b4d52361 100644 --- a/src/win32.h +++ b/src/win32.h @@ -3,51 +3,81 @@ #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 tchar *root_disk_path, + struct wim_lookup_table *lookup_table, + struct wim_inode_table *inode_table, + struct sd_set *sd, + const struct wimlib_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 tchar *filename, HANDLE 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 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); -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); - -#ifdef ENABLE_ERROR_MESSAGES -extern void win32_error(u32 err); -#else -# define win32_error(err) -#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 char *pattern, const char *string, int flags); +extern int +fnmatch(const tchar *pattern, const tchar *string, int flags); + +extern int +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 tchar *output_path, + size_t output_path_nbytes, + const struct wim_dentry *dentry, + const struct apply_args *args); + +extern int +fsync(int fd); + +extern unsigned +win32_get_number_of_processors(); + +extern tchar * +realpath(const tchar *path, tchar *resolved_path); + +typedef enum { + CODESET +} nl_item; -#define mkdir(name, mode) _mkdir(name) +extern int +win32_rename_replacement(const tchar *oldpath, const tchar *newpath); -extern int win32_apply_dentry(const char *output_path, - size_t output_path_len, - const struct wim_dentry *dentry, - struct apply_args *args); +extern int +win32_truncate_replacement(const tchar *path, off_t size); -extern int win32_apply_dentry_timestamps(const char *output_path, - size_t output_path_len, - const struct wim_dentry *dentry, - const struct apply_args *args); +extern void +win32_global_init(); -extern int fsync(int fd); +extern void +win32_global_cleanup(); -extern unsigned win32_get_number_of_processors(); +extern int +win32_strerror_r_replacement(int errnum, tchar *buf, size_t buflen); #endif /* _WIMLIB_WIN32_H */