X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fwin32.h;h=f0f99cc7cf2bc2680c1a5cdf2f86bd3a5dc789f9;hb=b27e5a1c6b1662eda54ce751b8586fd7d5fb5133;hp=67220786a249a031c037b7e58267566bbc143274;hpb=066306b22ce3c7debef13e8bad24ed4f09753524;p=wimlib diff --git a/include/wimlib/win32.h b/include/wimlib/win32.h index 67220786..f0f99cc7 100644 --- a/include/wimlib/win32.h +++ b/include/wimlib/win32.h @@ -1,24 +1,31 @@ +/* + * win32.h - Windows-specific declarations needed by non-Windows-specific files. + */ + #ifndef _WIMLIB_WIN32_H #define _WIMLIB_WIN32_H -#ifndef __WIN32__ -# error "This header is for Win32 only" -#endif +#ifdef __WIN32__ -#include "wimlib/callback.h" #include "wimlib/types.h" -struct wim_lookup_table_entry; +struct blob_descriptor; +struct read_blob_callbacks; +struct windows_file; + +extern struct windows_file * +clone_windows_file(const struct windows_file *file); + +extern void +free_windows_file(struct windows_file *file); extern int -read_winnt_file_prefix(const struct wim_lookup_table_entry *lte, u64 size, - consume_data_callback_t cb, void *cb_ctx); +cmp_windows_files(const struct windows_file *file1, + const struct windows_file *file2); extern int -read_win32_encrypted_file_prefix(const struct wim_lookup_table_entry *lte, - u64 size, - consume_data_callback_t cb, - void *cb_ctx); +read_windows_file_prefix(const struct blob_descriptor *blob, u64 size, + const struct read_blob_callbacks *cbs); extern int win32_global_init(int init_flags); @@ -29,12 +36,6 @@ win32_global_cleanup(void); extern int fsync(int fd); -extern unsigned -win32_get_number_of_processors(void); - -extern u64 -win32_get_avail_memory(void); - extern tchar * realpath(const tchar *path, tchar *resolved_path); @@ -47,13 +48,21 @@ win32_truncate_replacement(const tchar *path, off_t size); extern int win32_strerror_r_replacement(int errnum, tchar *buf, size_t buflen); -extern int -win32_get_file_and_vol_ids(const wchar_t *path, u64 *ino_ret, u64 *dev_ret); +extern FILE * +win32_open_logfile(const wchar_t *path); + +extern ssize_t +win32_read(int fd, void *buf, size_t count); extern ssize_t -pread(int fd, void *buf, size_t count, off_t offset); +win32_write(int fd, const void *buf, size_t count); extern ssize_t -pwrite(int fd, const void *buf, size_t count, off_t offset); +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); + +#endif /* __WIN32__ */ #endif /* _WIMLIB_WIN32_H */