]> wimlib.net Git - wimlib/blobdiff - src/win32.h
Replace _wcserror_s for Windows XP compatibility
[wimlib] / src / win32.h
index 5f4ff567036fb13269257532932a24b1acfb93fc..45909768e49a9c76e42d4240339bb1c13b0d9aa8 100644 (file)
@@ -3,58 +3,80 @@
 
 #include "wimlib_internal.h"
 #include <direct.h>
+#include <windef.h>
 
-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 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 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_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 char *output_path,
-                                size_t output_path_len,
-                                struct wim_dentry *dentry,
-                                struct apply_args *args);
+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 char *output_path,
-                                           size_t output_path_len,
-                                           const struct wim_dentry *dentry,
-                                           const 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 int
+fsync(int fd);
 
-extern unsigned win32_get_number_of_processors();
+extern unsigned
+win32_get_number_of_processors();
 
-extern char *realpath(const char *path, char *resolved_path);
+extern tchar *
+realpath(const tchar *path, tchar *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
+typedef enum {
+       CODESET
+} nl_item;
 
-/* Use Microsoft's weird _mkdir() function instead of mkdir() */
-#define mkdir(name, mode) _mkdir(name)
+extern int
+win32_rename_replacement(const tchar *oldpath, const tchar *newpath);
+
+extern int
+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);
 
 #endif /* _WIMLIB_WIN32_H */