X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=src%2Fwin32.h;h=89b385f214a06f07f573c30cf7b17bb126cbb5cc;hb=18b97ba5b37c0134513886062946d0fd521a9b5e;hp=8b5a9dfb362b79daec2b58eb566b2bdae14c6d41;hpb=7d01645312c14c8d79a7e7b059838c3211dfd193;p=wimlib diff --git a/src/win32.h b/src/win32.h index 8b5a9dfb..89b385f2 100644 --- a/src/win32.h +++ b/src/win32.h @@ -7,48 +7,47 @@ 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, - const struct wim_dentry *dentry, - const struct apply_args *args); +win32_do_apply_dentry_timestamps(const tchar *output_path, + size_t output_path_nbytes, + struct wim_dentry *dentry, + struct apply_args *args); extern int fsync(int fd); @@ -56,28 +55,35 @@ 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) +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); + +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 */