Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6429 siemargl 1
 
2
 * This file has no copyright assigned and is placed in the Public Domain.
3
 * This file is part of the w64 mingw-runtime package.
4
 * No warranty is given; refer to the file DISCLAIMER within this package.
5
 */
6
#ifndef _IO_H_
7
#define _IO_H_
8
9
 
10
#include 
11
12
 
13
14
 
15
16
 
17
extern "C" {
18
#endif
19
20
 
21
#ifndef _FSIZE_T_DEFINED
22
  typedef unsigned long _fsize_t;
23
#define _FSIZE_T_DEFINED
24
#endif
25
26
 
27
28
 
29
    unsigned attrib;
30
    __time32_t time_create;
31
    __time32_t time_access;
32
    __time32_t time_write;
33
    _fsize_t size;
34
    char name[260];
35
  };
36
37
 
38
39
 
40
    unsigned attrib;
41
    __time32_t time_create;
42
    __time32_t time_access;
43
    __time32_t time_write;
44
    __int64 size;
45
    char name[260];
46
  };
47
48
 
49
    unsigned attrib;
50
    __time64_t time_create;
51
    __time64_t time_access;
52
    __time64_t time_write;
53
    _fsize_t size;
54
    char name[260];
55
  };
56
57
 
58
    unsigned attrib;
59
    __time64_t time_create;
60
    __time64_t time_access;
61
    __time64_t time_write;
62
    __int64 size;
63
    char name[260];
64
  };
65
/* #endif */
66
67
 
68
#define _finddata_t _finddata32_t
69
#define _finddatai64_t _finddata32i64_t
70
71
 
72
#define _findfirst _findfirst32
73
#define _findnext _findnext32
74
#else
75
#define _findfirst32 _findfirst
76
#define _findnext32 _findnext
77
#endif
78
#define _findfirsti64 _findfirst32i64
79
#define _findnexti64 _findnext32i64
80
#else
81
#define _finddata_t _finddata64i32_t
82
#define _finddatai64_t __finddata64_t
83
84
 
85
#define _findnext _findnext64i32
86
#define _findfirsti64 _findfirst64
87
#define _findnexti64 _findnext64
88
#endif
89
90
 
91
#endif
92
93
 
94
95
 
96
    unsigned attrib;
97
    __time32_t time_create;
98
    __time32_t time_access;
99
    __time32_t time_write;
100
    _fsize_t size;
101
    wchar_t name[260];
102
  };
103
104
 
105
106
 
107
    unsigned attrib;
108
    __time32_t time_create;
109
    __time32_t time_access;
110
    __time32_t time_write;
111
    __int64 size;
112
    wchar_t name[260];
113
  };
114
115
 
116
    unsigned attrib;
117
    __time64_t time_create;
118
    __time64_t time_access;
119
    __time64_t time_write;
120
    _fsize_t size;
121
    wchar_t name[260];
122
  };
123
124
 
125
    unsigned attrib;
126
    __time64_t time_create;
127
    __time64_t time_access;
128
    __time64_t time_write;
129
    __int64 size;
130
    wchar_t name[260];
131
  };
132
/* #endif */
133
134
 
135
#define _wfinddata_t _wfinddata32_t
136
#define _wfinddatai64_t _wfinddata32i64_t
137
138
 
139
#define _wfindnext _wfindnext32
140
#define _wfindfirsti64 _wfindfirst32i64
141
#define _wfindnexti64 _wfindnext32i64
142
#else
143
#define _wfinddata_t _wfinddata64i32_t
144
#define _wfinddatai64_t _wfinddata64_t
145
146
 
147
#define _wfindnext _wfindnext64i32
148
#define _wfindfirsti64 _wfindfirst64
149
#define _wfindnexti64 _wfindnext64
150
#endif
151
152
 
153
#endif
154
155
 
156
#define _A_RDONLY 0x01
157
#define _A_HIDDEN 0x02
158
#define _A_SYSTEM 0x04
159
#define _A_SUBDIR 0x10
160
#define _A_ARCH 0x20
161
162
 
163
#define _SIZE_T_DEFINED
164
#undef size_t
165
#ifdef _WIN64
166
#if defined(__GNUC__) && defined(__STRICT_ANSI__)
167
  typedef unsigned int size_t __attribute__ ((mode (DI)));
168
#else
169
  typedef unsigned __int64 size_t;
170
#endif
171
#else
172
  typedef unsigned int size_t;
173
#endif
174
#endif
175
176
 
177
#define _SSIZE_T_DEFINED
178
#undef ssize_t
179
#ifdef _WIN64
180
#if defined(__GNUC__) && defined(__STRICT_ANSI__)
181
  typedef int ssize_t __attribute__ ((mode (DI)));
182
#else
183
  typedef __int64 ssize_t;
184
#endif
185
#else
186
  typedef int ssize_t;
187
#endif
188
#endif
189
190
 
191
#define _OFF_T_DEFINED
192
#ifndef _OFF_T_
193
#define _OFF_T_
194
  typedef long _off_t;
195
#if !defined(NO_OLDNAMES) || defined(_POSIX)
196
  typedef long off_t;
197
#endif
198
#endif
199
#endif
200
201
 
202
#define _OFF64_T_DEFINED
203
#if defined(__GNUC__) && defined(__STRICT_ANSI__)
204
  typedef int _off64_t __attribute__ ((mode (DI)));
205
#if !defined(NO_OLDNAMES) || defined(_POSIX)
206
  typedef int off64_t __attribute__ ((mode (DI)));
207
#endif
208
#else
209
  typedef long long _off64_t;
210
#if !defined(NO_OLDNAMES) || defined(_POSIX)
211
  typedef long long off64_t;
212
#endif
213
#endif
214
#endif
215
216
 
217
  * it doesn't seem to hurt to add them). */
218
#define	F_OK	0	/* Check for file existence */
219
#define	X_OK	1	/* Check for execute permission. */
220
#define	W_OK	2	/* Check for write permission */
221
#define	R_OK	4	/* Check for read permission */
222
223
 
224
  _CRTIMP int __cdecl _chmod(const char *_Filename,int _Mode);
225
  _CRTIMP int __cdecl _chsize(int _FileHandle,long _Size);
226
  _CRTIMP int __cdecl _close(int _FileHandle);
227
  _CRTIMP int __cdecl _commit(int _FileHandle);
228
  _CRTIMP int __cdecl _creat(const char *_Filename,int _PermissionMode);
229
  _CRTIMP int __cdecl _dup(int _FileHandle);
230
  _CRTIMP int __cdecl _dup2(int _FileHandleSrc,int _FileHandleDst);
231
  _CRTIMP int __cdecl _eof(int _FileHandle);
232
  _CRTIMP long __cdecl _filelength(int _FileHandle);
233
  _CRTIMP intptr_t __cdecl _findfirst32(const char *_Filename,struct _finddata32_t *_FindData);
234
  _CRTIMP int __cdecl _findnext32(intptr_t _FindHandle,struct _finddata32_t *_FindData);
235
  _CRTIMP int __cdecl _findclose(intptr_t _FindHandle);
236
  _CRTIMP int __cdecl _isatty(int _FileHandle);
237
  _CRTIMP int __cdecl _locking(int _FileHandle,int _LockMode,long _NumOfBytes);
238
  _CRTIMP long __cdecl _lseek(int _FileHandle,long _Offset,int _Origin);
239
  _off64_t lseek64(int fd,_off64_t offset, int whence);
240
  _CRTIMP char *__cdecl _mktemp(char *_TemplateName);
241
  _CRTIMP int __cdecl _pipe(int *_PtHandles,unsigned int _PipeSize,int _TextMode);
242
  _CRTIMP int __cdecl _read(int _FileHandle,void *_DstBuf,unsigned int _MaxCharCount);
243
244
 
245
#define _CRT_DIRECTORY_DEFINED
246
  int __cdecl remove(const char *_Filename);
247
  int __cdecl rename(const char *_OldFilename,const char *_NewFilename);
248
  _CRTIMP int __cdecl _unlink(const char *_Filename);
249
#ifndef	NO_OLDNAMES
250
  int __cdecl unlink(const char *_Filename);
251
#endif
252
#endif
253
254
 
255
  _CRTIMP long __cdecl _tell(int _FileHandle);
256
  _CRTIMP int __cdecl _umask(int _Mode);
257
  _CRTIMP int __cdecl _write(int _FileHandle,const void *_Buf,unsigned int _MaxCharCount);
258
259
 
260
  _CRTIMP __int64 __cdecl _filelengthi64(int _FileHandle);
261
  _CRTIMP intptr_t __cdecl _findfirst32i64(const char *_Filename,struct _finddata32i64_t *_FindData);
262
  _CRTIMP intptr_t __cdecl _findfirst64(const char *_Filename,struct __finddata64_t *_FindData);
263
#ifdef __cplusplus
264
#include 
265
#endif
266
  intptr_t __cdecl _findfirst64i32(const char *_Filename,struct _finddata64i32_t *_FindData);
267
  __CRT_INLINE intptr_t __cdecl _findfirst64i32(const char *_Filename,struct _finddata64i32_t *_FindData)
268
  {
269
    struct __finddata64_t fd;
270
    intptr_t ret = _findfirst64(_Filename,&fd);
271
    _FindData->attrib=fd.attrib;
272
    _FindData->time_create=fd.time_create;
273
    _FindData->time_access=fd.time_access;
274
    _FindData->time_write=fd.time_write;
275
    _FindData->size=(_fsize_t) fd.size;
276
    strncpy(_FindData->name,fd.name,260);
277
    return ret;
278
  }
279
  _CRTIMP int __cdecl _findnext32i64(intptr_t _FindHandle,struct _finddata32i64_t *_FindData);
280
  _CRTIMP int __cdecl _findnext64(intptr_t _FindHandle,struct __finddata64_t *_FindData);
281
  int __cdecl _findnext64i32(intptr_t _FindHandle,struct _finddata64i32_t *_FindData);
282
  __CRT_INLINE int __cdecl _findnext64i32(intptr_t _FindHandle,struct _finddata64i32_t *_FindData)
283
  {
284
    struct __finddata64_t fd;
285
    int ret = _findnext64(_FindHandle,&fd);
286
    _FindData->attrib=fd.attrib;
287
    _FindData->time_create=fd.time_create;
288
    _FindData->time_access=fd.time_access;
289
    _FindData->time_write=fd.time_write;
290
    _FindData->size=(_fsize_t) fd.size;
291
    strncpy(_FindData->name,fd.name,260);
292
    return ret;
293
  }
294
  __int64 __cdecl _lseeki64(int _FileHandle,__int64 _Offset,int _Origin);
295
  __int64 __cdecl _telli64(int _FileHandle);
296
#endif
297
#ifndef NO_OLDNAMES
298
299
 
300
  int __cdecl chdir (const char *);
301
  char *__cdecl getcwd (char *, int);
302
  int __cdecl mkdir (const char *);
303
  char *__cdecl mktemp(char *);
304
  int __cdecl rmdir (const char*);
305
  int __cdecl chmod (const char *, int);
306
#endif /* _UWIN */
307
308
 
309
310
 
311
312
 
313
  _CRTIMP int __cdecl _open(const char *_Filename,int _OpenFlag,...);
314
  _CRTIMP int __cdecl _sopen(const char *_Filename,int _OpenFlag,int _ShareFlag,...);
315
#else
316
  extern "C++" _CRTIMP int __cdecl _open(const char *_Filename,int _Openflag,int _PermissionMode = 0);
317
  extern "C++" _CRTIMP int __cdecl _sopen(const char *_Filename,int _Openflag,int _ShareFlag,int _PermissionMode = 0);
318
#endif
319
320
 
321
#define _WIO_DEFINED
322
  _CRTIMP int __cdecl _waccess(const wchar_t *_Filename,int _AccessMode);
323
  _CRTIMP int __cdecl _wchmod(const wchar_t *_Filename,int _Mode);
324
  _CRTIMP int __cdecl _wcreat(const wchar_t *_Filename,int _PermissionMode);
325
  _CRTIMP intptr_t __cdecl _wfindfirst32(const wchar_t *_Filename,struct _wfinddata32_t *_FindData);
326
  _CRTIMP int __cdecl _wfindnext32(intptr_t _FindHandle,struct _wfinddata32_t *_FindData);
327
  _CRTIMP int __cdecl _wunlink(const wchar_t *_Filename);
328
  _CRTIMP int __cdecl _wrename(const wchar_t *_NewFilename,const wchar_t *_OldFilename);
329
  _CRTIMP wchar_t *__cdecl _wmktemp(wchar_t *_TemplateName);
330
331
 
332
  _CRTIMP intptr_t __cdecl _wfindfirst32i64(const wchar_t *_Filename,struct _wfinddata32i64_t *_FindData);
333
  intptr_t __cdecl _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i32_t *_FindData);
334
  _CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t *_Filename,struct _wfinddata64_t *_FindData);
335
  _CRTIMP int __cdecl _wfindnext32i64(intptr_t _FindHandle,struct _wfinddata32i64_t *_FindData);
336
  int __cdecl _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_FindData);
337
  _CRTIMP int __cdecl _wfindnext64(intptr_t _FindHandle,struct _wfinddata64_t *_FindData);
338
#endif
339
340
 
341
342
 
343
  _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...);
344
  _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...);
345
#else
346
  extern "C++" _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,int _PermissionMode = 0);
347
  extern "C++" _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionMode = 0);
348
#endif
349
350
 
351
352
 
353
  void __cdecl _unlock_fhandle(int _Filehandle);
354
  _CRTIMP intptr_t __cdecl _get_osfhandle(int _FileHandle);
355
  _CRTIMP int __cdecl _open_osfhandle(intptr_t _OSFileHandle,int _Flags);
356
357
 
358
  int __cdecl access(const char *_Filename,int _AccessMode);
359
  int __cdecl chmod(const char *_Filename,int _AccessMode);
360
  int __cdecl chsize(int _FileHandle,long _Size);
361
  int __cdecl close(int _FileHandle);
362
  int __cdecl creat(const char *_Filename,int _PermissionMode);
363
  int __cdecl dup(int _FileHandle);
364
  int __cdecl dup2(int _FileHandleSrc,int _FileHandleDst);
365
  int __cdecl eof(int _FileHandle);
366
  long __cdecl filelength(int _FileHandle);
367
  int __cdecl isatty(int _FileHandle);
368
  int __cdecl locking(int _FileHandle,int _LockMode,long _NumOfBytes);
369
  long __cdecl lseek(int _FileHandle,long _Offset,int _Origin);
370
  char *__cdecl mktemp(char *_TemplateName);
371
  int __cdecl open(const char *_Filename,int _OpenFlag,...);
372
  int __cdecl read(int _FileHandle,void *_DstBuf,unsigned int _MaxCharCount);
373
  int __cdecl setmode(int _FileHandle,int _Mode);
374
  int __cdecl sopen(const char *_Filename,int _OpenFlag,int _ShareFlag,...);
375
  long __cdecl tell(int _FileHandle);
376
  int __cdecl umask(int _Mode);
377
  int __cdecl write(int _Filehandle,const void *_Buf,unsigned int _MaxCharCount);
378
#endif
379
380
 
381
}
382
#endif
383
#endif
384
385
 
386
extern "C" {
387
#endif
388
389
 
390
char *getlogin(void);
391
#ifdef __USE_MINGW_ALARM
392
unsigned int alarm(unsigned int seconds);
393
#endif
394
395
 
396
/*  Old versions of MSVCRT access() just ignored X_OK, while the version
397
    shipped with Vista, returns an error code.  This will restore the
398
    old behaviour  */
399
static inline int __mingw_access (const char *__fname, int __mode) {
400
  return  _access (__fname, __mode & ~X_OK);
401
}
402
403
 
404
#endif
405
406
 
407
 
408
}
409
#endif
410
411
 
412
 
413
414
 
415
416
 
417