1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
/*
* System I/O definitions.
*
* Derived from the mingw header written by Colin Peters.
* Modified for Wine use by Jon Griffiths and Francois Gouget.
* This file is in the public domain.
*/
#ifndef __WINE_IO_H
#define __WINE_IO_H
#include <crtdefs.h>
#include <pshpack8.h>
/* The following are also defined in dos.h */
#define _A_NORMAL 0x00000000
#define _A_RDONLY 0x00000001
#define _A_HIDDEN 0x00000002
#define _A_SYSTEM 0x00000004
#define _A_VOLID 0x00000008
#define _A_SUBDIR 0x00000010
#define _A_ARCH 0x00000020
#ifndef _FSIZE_T_DEFINED
typedef __msvcrt_ulong _fsize_t;
#define _FSIZE_T_DEFINED
#endif
#ifndef _FINDDATA_T_DEFINED
#define _FINDDATA_T_DEFINED
struct _finddata_t
{
unsigned attrib;
time_t time_create;
time_t time_access;
time_t time_write;
_fsize_t size;
char name[260];
};
struct _finddatai64_t
{
unsigned attrib;
time_t time_create;
time_t time_access;
time_t time_write;
__int64 DECLSPEC_ALIGN(8) size;
char name[260];
};
struct _finddata64_t
{
unsigned attrib;
__time64_t time_create;
__time64_t time_access;
__time64_t time_write;
__int64 DECLSPEC_ALIGN(8) size;
char name[260];
};
#endif /* _FINDDATA_T_DEFINED */
#ifndef _WFINDDATA_T_DEFINED
#define _WFINDDATA_T_DEFINED
struct _wfinddata_t {
unsigned attrib;
time_t time_create;
time_t time_access;
time_t time_write;
_fsize_t size;
wchar_t name[260];
};
struct _wfinddatai64_t {
unsigned attrib;
time_t time_create;
time_t time_access;
time_t time_write;
__int64 DECLSPEC_ALIGN(8) size;
wchar_t name[260];
};
#endif /* _WFINDDATA_T_DEFINED */
#ifdef __cplusplus
extern "C" {
#endif
int __cdecl _access(const char*,int);
int __cdecl _chmod(const char*,int);
int __cdecl _chsize(int,__msvcrt_ulong);
int __cdecl _close(int);
int __cdecl _commit(int);
int __cdecl _creat(const char*,int);
int __cdecl _dup(int);
int __cdecl _dup2(int,int);
int __cdecl _eof(int);
__int64 __cdecl _filelengthi64(int);
__msvcrt_long __cdecl _filelength(int);
int __cdecl _findclose(intptr_t);
intptr_t __cdecl _findfirst(const char*,struct _finddata_t*);
intptr_t __cdecl _findfirsti64(const char*, struct _finddatai64_t*);
intptr_t __cdecl _findfirst64(const char*, struct _finddata64_t*);
int __cdecl _findnext(intptr_t,struct _finddata_t*);
int __cdecl _findnexti64(intptr_t, struct _finddatai64_t*);
int __cdecl _findnext64(intptr_t, struct _finddata64_t*);
intptr_t __cdecl _get_osfhandle(int);
int __cdecl _isatty(int);
int __cdecl _locking(int,int,__msvcrt_long);
__msvcrt_long __cdecl _lseek(int,__msvcrt_long,int);
__int64 __cdecl _lseeki64(int,__int64,int);
char* __cdecl _mktemp(char*);
int __cdecl _mktemp_s(char*,size_t);
int __cdecl _open(const char*,int,...);
int __cdecl _open_osfhandle(intptr_t,int);
int __cdecl _pipe(int*,unsigned int,int);
int __cdecl _read(int,void*,unsigned int);
int __cdecl _setmode(int,int);
int __cdecl _sopen(const char*,int,int,...);
__msvcrt_long __cdecl _tell(int);
__int64 __cdecl _telli64(int);
int __cdecl _umask(int);
int __cdecl _unlink(const char*);
int __cdecl _write(int,const void*,unsigned int);
int __cdecl remove(const char*);
int __cdecl rename(const char*,const char*);
#ifndef _WIO_DEFINED
#define _WIO_DEFINED
int __cdecl _waccess(const wchar_t*,int);
int __cdecl _wchmod(const wchar_t*,int);
int __cdecl _wcreat(const wchar_t*,int);
intptr_t __cdecl _wfindfirst(const wchar_t*,struct _wfinddata_t*);
intptr_t __cdecl _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
int __cdecl _wfindnext(intptr_t,struct _wfinddata_t*);
int __cdecl _wfindnexti64(intptr_t, struct _wfinddatai64_t*);
wchar_t * __cdecl _wmktemp(wchar_t*);
int __cdecl _wopen(const wchar_t*,int,...);
int __cdecl _wrename(const wchar_t*,const wchar_t*);
int __cdecl _wsopen(const wchar_t*,int,int,...);
int __cdecl _wunlink(const wchar_t*);
#endif /* _WIO_DEFINED */
#ifdef __cplusplus
}
#endif
static inline int access(const char* path, int mode) { return _access(path, mode); }
static inline int chmod(const char* path, int mode) { return _chmod(path, mode); }
static inline int chsize(int fd, __msvcrt_long size) { return _chsize(fd, size); }
static inline int close(int fd) { return _close(fd); }
static inline int creat(const char* path, int mode) { return _creat(path, mode); }
static inline int dup(int od) { return _dup(od); }
static inline int dup2(int od, int nd) { return _dup2(od, nd); }
static inline int eof(int fd) { return _eof(fd); }
static inline __msvcrt_long filelength(int fd) { return _filelength(fd); }
static inline int isatty(int fd) { return _isatty(fd); }
static inline int locking(int fd, int mode, __msvcrt_long size) { return _locking(fd, mode, size); }
static inline __msvcrt_long lseek(int fd, __msvcrt_long off, int where) { return _lseek(fd, off, where); }
static inline char* mktemp(char* pat) { return _mktemp(pat); }
static inline int read(int fd, void* buf, unsigned int size) { return _read(fd, buf, size); }
static inline int setmode(int fd, int mode) { return _setmode(fd, mode); }
static inline __msvcrt_long tell(int fd) { return _tell(fd); }
#ifndef _UMASK_DEFINED
static inline int umask(int fd) { return _umask(fd); }
#define _UMASK_DEFINED
#endif
#ifndef _UNLINK_DEFINED
static inline int unlink(const char* path) { return _unlink(path); }
#define _UNLINK_DEFINED
#endif
static inline int write(int fd, const void* buf, unsigned int size) { return _write(fd, buf, size); }
#if defined(__GNUC__) && (__GNUC__ < 4)
extern int __cdecl open(const char*,int,...) __attribute__((alias("_open")));
extern int __cdecl sopen(const char*,int,int,...) __attribute__((alias("_sopen")));
#else
#define open _open
#define sopen _sopen
#endif /* __GNUC__ */
#include <poppack.h>
#endif /* __WINE_IO_H */
|