]> wimlib.net Git - wimlib/blob - include/wimlib/win32.h
resource.c: Cleanup and refactor
[wimlib] / include / wimlib / win32.h
1 #ifndef _WIMLIB_WIN32_H
2 #define _WIMLIB_WIN32_H
3
4 #ifdef __WIN32__
5
6 #include "wimlib/callback.h"
7 #include "wimlib/types.h"
8 #include <direct.h>
9 #include <windef.h>
10
11 struct wim_lookup_table_entry;
12 struct iovec;
13
14 extern int
15 read_win32_file_prefix(const struct wim_lookup_table_entry *lte,
16                        u64 size,
17                        consume_data_callback_t cb,
18                        u32 in_chunk_size,
19                        void *ctx_or_buf,
20                        int _ignored_flags);
21
22 extern int
23 read_win32_encrypted_file_prefix(const struct wim_lookup_table_entry *lte,
24                                  u64 size,
25                                  consume_data_callback_t cb,
26                                  u32 in_chunk_size,
27                                  void *ctx_or_buf,
28                                  int _ignored_flags);
29
30
31 extern int
32 win32_global_init(int init_flags);
33
34 extern void
35 win32_global_cleanup(void);
36
37 #define FNM_PATHNAME 0x1
38 #define FNM_NOESCAPE 0x2
39 #define FNM_NOMATCH 1
40 extern int
41 fnmatch(const tchar *pattern, const tchar *string, int flags);
42
43 extern int
44 fsync(int fd);
45
46 extern unsigned
47 win32_get_number_of_processors(void);
48
49 extern tchar *
50 realpath(const tchar *path, tchar *resolved_path);
51
52 typedef enum {
53         CODESET
54 } nl_item;
55
56 extern int
57 win32_rename_replacement(const tchar *oldpath, const tchar *newpath);
58
59 extern int
60 win32_truncate_replacement(const tchar *path, off_t size);
61
62 extern int
63 win32_strerror_r_replacement(int errnum, tchar *buf, size_t buflen);
64
65 extern int
66 win32_get_file_and_vol_ids(const wchar_t *path, u64 *ino_ret, u64 *dev_ret);
67
68 extern ssize_t
69 pread(int fd, void *buf, size_t count, off_t offset);
70
71 extern ssize_t
72 pwrite(int fd, const void *buf, size_t count, off_t offset);
73
74 extern ssize_t
75 writev(int fd, const struct iovec *iov, int iovcnt);
76
77 #endif /* __WIN32__ */
78
79 #endif /* _WIMLIB_WIN32_H */