]> wimlib.net Git - wimlib/blobdiff - include/wimlib/win32.h
Do not use read() and write() from MSVCRT
[wimlib] / include / wimlib / win32.h
index 050174399742436b6cd7b2bdd90e83566d40b4e4..f0f99cc7cf2bc2680c1a5cdf2f86bd3a5dc789f9 100644 (file)
@@ -1,28 +1,31 @@
+/*
+ * win32.h - Windows-specific declarations needed by non-Windows-specific files.
+ */
+
 #ifndef _WIMLIB_WIN32_H
 #define _WIMLIB_WIN32_H
 
 #ifdef __WIN32__
 
-#include "wimlib/callback.h"
 #include "wimlib/types.h"
-#include <direct.h>
-#include <windef.h>
 
-struct wim_lookup_table_entry;
-struct iovec;
+struct blob_descriptor;
+struct read_blob_callbacks;
+struct windows_file;
 
-extern int
-read_win32_file_prefix(const struct wim_lookup_table_entry *lte,
-                      u64 size,
-                      consume_data_callback_t cb,
-                      void *cb_ctx);
+extern struct windows_file *
+clone_windows_file(const struct windows_file *file);
+
+extern void
+free_windows_file(struct windows_file *file);
 
 extern int
-read_win32_encrypted_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_windows_file_prefix(const struct blob_descriptor *blob, u64 size,
+                        const struct read_blob_callbacks *cbs);
 
 extern int
 win32_global_init(int init_flags);
@@ -33,19 +36,9 @@ 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);
 
-typedef enum {
-       CODESET
-} nl_item;
-
 extern int
 win32_rename_replacement(const tchar *oldpath, const tchar *newpath);
 
@@ -55,17 +48,20 @@ 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
-writev(int fd, const struct iovec *iov, int iovcnt);
+win32_pwrite(int fd, const void *buf, size_t count, off_t offset);
 
 #endif /* __WIN32__ */