2008-12-23 02:15:24 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
/**
|
2007-09-24 11:40:54 +00:00
|
|
|
* This file has no copyright assigned and is placed in the Public Domain.
|
2008-12-13 21:28:05 +00:00
|
|
|
* This file is part of the w64 mingw-runtime package.
|
|
|
|
* No warranty is given; refer to the file DISCLAIMER within this package.
|
2007-09-24 11:40:54 +00:00
|
|
|
*/
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifndef _IO_H_
|
|
|
|
#define _IO_H_
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-21 23:33:19 +00:00
|
|
|
#include <crtdefs.h>
|
2008-12-13 21:28:05 +00:00
|
|
|
#include <string.h>
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#pragma pack(push,_CRT_PACKING)
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifndef _POSIX_
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
2007-11-21 23:50:03 +00:00
|
|
|
#endif
|
|
|
|
|
2013-03-15 14:52:20 +00:00
|
|
|
_Check_return_
|
|
|
|
_Ret_opt_z_
|
|
|
|
_CRTIMP
|
|
|
|
char*
|
|
|
|
__cdecl
|
|
|
|
_getcwd(
|
|
|
|
_Out_writes_opt_(_SizeInBytes) char *_DstBuf,
|
|
|
|
_In_ int _SizeInBytes);
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifndef _FSIZE_T_DEFINED
|
|
|
|
typedef unsigned long _fsize_t;
|
2007-09-24 11:40:54 +00:00
|
|
|
#define _FSIZE_T_DEFINED
|
|
|
|
#endif
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifndef _FINDDATA_T_DEFINED
|
|
|
|
|
2008-12-23 02:15:24 +00:00
|
|
|
struct _finddata_t {
|
|
|
|
unsigned attrib;
|
|
|
|
time_t time_create;
|
|
|
|
time_t time_access;
|
|
|
|
time_t time_write;
|
|
|
|
_fsize_t size;
|
|
|
|
char name[260];
|
|
|
|
};
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
struct _finddata32_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time32_t time_create;
|
|
|
|
__time32_t time_access;
|
|
|
|
__time32_t time_write;
|
|
|
|
_fsize_t size;
|
|
|
|
char name[260];
|
|
|
|
};
|
|
|
|
|
2008-12-23 02:15:24 +00:00
|
|
|
#if _INTEGRAL_MAX_BITS >= 64
|
|
|
|
|
|
|
|
struct _finddatai64_t {
|
2008-12-13 21:28:05 +00:00
|
|
|
unsigned attrib;
|
|
|
|
time_t time_create;
|
|
|
|
time_t time_access;
|
|
|
|
time_t time_write;
|
2010-02-28 09:37:57 +00:00
|
|
|
__MINGW_EXTENSION __int64 size;
|
2008-12-13 21:28:05 +00:00
|
|
|
char name[260];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _finddata32i64_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time32_t time_create;
|
|
|
|
__time32_t time_access;
|
|
|
|
__time32_t time_write;
|
2010-02-28 09:37:57 +00:00
|
|
|
__MINGW_EXTENSION __int64 size;
|
2008-12-13 21:28:05 +00:00
|
|
|
char name[260];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _finddata64i32_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time64_t time_create;
|
|
|
|
__time64_t time_access;
|
|
|
|
__time64_t time_write;
|
|
|
|
_fsize_t size;
|
|
|
|
char name[260];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct __finddata64_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time64_t time_create;
|
|
|
|
__time64_t time_access;
|
|
|
|
__time64_t time_write;
|
2010-02-28 09:37:57 +00:00
|
|
|
__MINGW_EXTENSION __int64 size;
|
2008-12-13 21:28:05 +00:00
|
|
|
char name[260];
|
|
|
|
};
|
2008-12-23 02:15:24 +00:00
|
|
|
#endif /* _INTEGRAL_MAX_BITS >= 64 */
|
2008-12-13 21:28:05 +00:00
|
|
|
|
2008-12-23 02:15:24 +00:00
|
|
|
#define _FINDDATA_T_DEFINED
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef _WFINDDATA_T_DEFINED
|
|
|
|
|
|
|
|
struct _wfinddata_t {
|
2008-12-13 21:28:05 +00:00
|
|
|
unsigned attrib;
|
|
|
|
time_t time_create;
|
|
|
|
time_t time_access;
|
|
|
|
time_t time_write;
|
2008-12-23 02:15:24 +00:00
|
|
|
_fsize_t size;
|
|
|
|
wchar_t name[260];
|
2008-12-13 21:28:05 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _wfinddata32_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time32_t time_create;
|
|
|
|
__time32_t time_access;
|
|
|
|
__time32_t time_write;
|
|
|
|
_fsize_t size;
|
|
|
|
wchar_t name[260];
|
|
|
|
};
|
|
|
|
|
2008-12-23 02:15:24 +00:00
|
|
|
#if _INTEGRAL_MAX_BITS >= 64
|
|
|
|
|
|
|
|
struct _wfinddatai64_t {
|
2008-12-13 21:28:05 +00:00
|
|
|
unsigned attrib;
|
|
|
|
time_t time_create;
|
|
|
|
time_t time_access;
|
|
|
|
time_t time_write;
|
2010-02-28 09:37:57 +00:00
|
|
|
__MINGW_EXTENSION __int64 size;
|
2008-12-13 21:28:05 +00:00
|
|
|
wchar_t name[260];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _wfinddata32i64_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time32_t time_create;
|
|
|
|
__time32_t time_access;
|
|
|
|
__time32_t time_write;
|
2010-02-28 09:37:57 +00:00
|
|
|
__MINGW_EXTENSION __int64 size;
|
2008-12-13 21:28:05 +00:00
|
|
|
wchar_t name[260];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _wfinddata64i32_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time64_t time_create;
|
|
|
|
__time64_t time_access;
|
|
|
|
__time64_t time_write;
|
|
|
|
_fsize_t size;
|
|
|
|
wchar_t name[260];
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _wfinddata64_t {
|
|
|
|
unsigned attrib;
|
|
|
|
__time64_t time_create;
|
|
|
|
__time64_t time_access;
|
|
|
|
__time64_t time_write;
|
2010-02-28 09:37:57 +00:00
|
|
|
__MINGW_EXTENSION __int64 size;
|
2008-12-13 21:28:05 +00:00
|
|
|
wchar_t name[260];
|
|
|
|
};
|
2008-12-23 02:15:24 +00:00
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
|
|
|
#define _WFINDDATA_T_DEFINED
|
|
|
|
#endif
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#define _A_NORMAL 0x00
|
|
|
|
#define _A_RDONLY 0x01
|
|
|
|
#define _A_HIDDEN 0x02
|
|
|
|
#define _A_SYSTEM 0x04
|
|
|
|
#define _A_SUBDIR 0x10
|
|
|
|
#define _A_ARCH 0x20
|
|
|
|
|
|
|
|
/* Some defines for _access nAccessMode (MS doesn't define them, but
|
|
|
|
* it doesn't seem to hurt to add them). */
|
|
|
|
#define F_OK 0 /* Check for file existence */
|
|
|
|
#define X_OK 1 /* Check for execute permission. */
|
|
|
|
#define W_OK 2 /* Check for write permission */
|
|
|
|
#define R_OK 4 /* Check for read permission */
|
|
|
|
|
2013-03-15 14:52:20 +00:00
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_access(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _AccessMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_chmod(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _Mode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_chsize(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ long _Size);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_close(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_commit(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_creat(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _PermissionMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_dup(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_dup2(
|
|
|
|
_In_ int _FileHandleSrc,
|
|
|
|
_In_ int _FileHandleDst);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_eof(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
long
|
|
|
|
__cdecl
|
|
|
|
_filelength(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_findfirst(
|
|
|
|
const char *_Filename,
|
|
|
|
struct _finddata_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_findfirst32(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_Out_ struct _finddata32_t *_FindData);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findnext(
|
|
|
|
intptr_t _FindHandle,
|
|
|
|
struct _finddata_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findnext32(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _finddata32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findclose(
|
|
|
|
_In_ intptr_t _FindHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_isatty(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_locking(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ int _LockMode,
|
|
|
|
_In_ long _NumOfBytes);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
_CRTIMP
|
|
|
|
long
|
|
|
|
__cdecl
|
|
|
|
_lseek(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ long _Offset,
|
|
|
|
_In_ int _Origin);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
char*
|
|
|
|
__cdecl
|
|
|
|
_mktemp(
|
|
|
|
_Inout_z_ char *_TemplateName);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_pipe(
|
|
|
|
_Inout_updates_(2) int *_PtHandles,
|
|
|
|
_In_ unsigned int _PipeSize,
|
|
|
|
_In_ int _TextMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_read(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_Out_writes_bytes_(_MaxCharCount) void *_DstBuf,
|
|
|
|
_In_ unsigned int _MaxCharCount);
|
2008-12-13 21:28:05 +00:00
|
|
|
|
|
|
|
#ifndef _CRT_DIRECTORY_DEFINED
|
|
|
|
#define _CRT_DIRECTORY_DEFINED
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
remove(
|
|
|
|
_In_z_ const char *_Filename);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
rename(
|
|
|
|
_In_z_ const char *_OldFilename,
|
|
|
|
_In_z_ const char *_NewFilename);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_unlink(
|
|
|
|
_In_z_ const char *_Filename);
|
|
|
|
|
|
|
|
#ifndef NO_OLDNAMES
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
unlink(
|
|
|
|
_In_z_ const char *_Filename);
|
2008-12-13 21:28:05 +00:00
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2013-03-15 14:52:20 +00:00
|
|
|
#endif /* _CRT_DIRECTORY_DEFINED */
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_setmode(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ int _Mode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
long
|
|
|
|
__cdecl
|
|
|
|
_tell(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_umask(
|
|
|
|
_In_ int _Mode);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_write(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_reads_bytes_(_MaxCharCount) const void *_Buf,
|
|
|
|
_In_ unsigned int _MaxCharCount);
|
2008-12-13 21:28:05 +00:00
|
|
|
|
|
|
|
#if _INTEGRAL_MAX_BITS >= 64
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
__MINGW_EXTENSION
|
|
|
|
_CRTIMP
|
|
|
|
__int64
|
|
|
|
__cdecl
|
|
|
|
_filelengthi64(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_findfirst32i64(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_Out_ struct _finddata32i64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_findfirst64i32(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_Out_ struct _finddata64i32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_findfirst64(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_Out_ struct __finddata64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findnext32i64(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _finddata32i64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findnext64i32(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _finddata64i32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findnext64(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct __finddata64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
__MINGW_EXTENSION
|
|
|
|
_CRTIMP
|
|
|
|
__int64
|
|
|
|
__cdecl
|
|
|
|
_lseeki64(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ __int64 _Offset,
|
|
|
|
_In_ int _Origin);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
__MINGW_EXTENSION
|
|
|
|
_CRTIMP
|
|
|
|
__int64
|
|
|
|
__cdecl
|
|
|
|
_telli64(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
#include <string.h>
|
|
|
|
#endif
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
__CRT_INLINE
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_findfirst64i32(
|
|
|
|
const char *_Filename,
|
|
|
|
struct _finddata64i32_t *_FindData)
|
2008-12-13 21:28:05 +00:00
|
|
|
{
|
|
|
|
struct __finddata64_t fd;
|
|
|
|
intptr_t ret = _findfirst64(_Filename,&fd);
|
|
|
|
_FindData->attrib=fd.attrib;
|
|
|
|
_FindData->time_create=fd.time_create;
|
|
|
|
_FindData->time_access=fd.time_access;
|
|
|
|
_FindData->time_write=fd.time_write;
|
|
|
|
_FindData->size=(_fsize_t) fd.size;
|
|
|
|
strncpy(_FindData->name,fd.name,260);
|
|
|
|
return ret;
|
|
|
|
}
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
__CRT_INLINE
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_findnext64i32(
|
|
|
|
intptr_t _FindHandle,
|
|
|
|
struct _finddata64i32_t *_FindData)
|
2008-12-13 21:28:05 +00:00
|
|
|
{
|
|
|
|
struct __finddata64_t fd;
|
|
|
|
int ret = _findnext64(_FindHandle,&fd);
|
|
|
|
_FindData->attrib=fd.attrib;
|
|
|
|
_FindData->time_create=fd.time_create;
|
|
|
|
_FindData->time_access=fd.time_access;
|
|
|
|
_FindData->time_write=fd.time_write;
|
|
|
|
_FindData->size=(_fsize_t) fd.size;
|
|
|
|
strncpy(_FindData->name,fd.name,260);
|
|
|
|
return ret;
|
|
|
|
}
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
#endif /* _INTEGRAL_MAX_BITS >= 64 */
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-23 02:15:24 +00:00
|
|
|
#ifndef NO_OLDNAMES
|
2007-09-24 11:40:54 +00:00
|
|
|
#ifndef _UWIN
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
chdir(
|
|
|
|
_In_z_ const char *_Path);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_Ret_opt_z_
|
|
|
|
_CRTIMP
|
|
|
|
char*
|
|
|
|
__cdecl
|
|
|
|
getcwd(
|
|
|
|
_Out_writes_opt_(_SizeInBytes) char *_DstBuf,
|
|
|
|
_In_ int _SizeInBytes);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
mkdir(
|
|
|
|
_In_z_ const char *_Path);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
char*
|
|
|
|
__cdecl
|
|
|
|
mktemp(
|
|
|
|
_Inout_z_ char *_TemplateName);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
rmdir(
|
|
|
|
_In_z_ const char *_Path);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
chmod(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _AccessMode);
|
|
|
|
|
2007-09-24 11:40:54 +00:00
|
|
|
#endif /* _UWIN */
|
2008-12-13 21:28:05 +00:00
|
|
|
#endif /* Not NO_OLDNAMES */
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2013-03-15 14:52:20 +00:00
|
|
|
_Check_return_wat_
|
|
|
|
_CRTIMP
|
|
|
|
errno_t
|
|
|
|
__cdecl
|
|
|
|
_sopen_s(
|
|
|
|
_Out_ int *_FileHandle,
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _OpenFlag,
|
|
|
|
_In_ int _ShareFlag,
|
|
|
|
_In_ int _PermissionMode);
|
2008-12-13 21:28:05 +00:00
|
|
|
|
|
|
|
#ifndef __cplusplus
|
|
|
|
_CRTIMP int __cdecl _open(const char *_Filename,int _OpenFlag,...);
|
|
|
|
_CRTIMP int __cdecl _sopen(const char *_Filename,int _OpenFlag,int _ShareFlag,...);
|
|
|
|
#else
|
|
|
|
extern "C++" _CRTIMP int __cdecl _open(const char *_Filename,int _Openflag,int _PermissionMode = 0);
|
|
|
|
extern "C++" _CRTIMP int __cdecl _sopen(const char *_Filename,int _Openflag,int _ShareFlag,int _PermissionMode = 0);
|
2007-09-24 11:40:54 +00:00
|
|
|
#endif
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifndef _WIO_DEFINED
|
|
|
|
#define _WIO_DEFINED
|
2013-03-15 14:52:20 +00:00
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_waccess(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_In_ int _AccessMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wchmod(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_In_ int _Mode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wcreat(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_In_ int _PermissionMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_wfindfirst32(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_Out_ struct _wfinddata32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wfindnext32(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _wfinddata32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wunlink(
|
|
|
|
_In_z_ const wchar_t *_Filename);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wrename(
|
|
|
|
_In_z_ const wchar_t *_NewFilename,
|
|
|
|
_In_z_ const wchar_t *_OldFilename);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
wchar_t*
|
|
|
|
__cdecl
|
|
|
|
_wmktemp(
|
|
|
|
_Inout_z_ wchar_t *_TemplateName);
|
2008-12-13 21:28:05 +00:00
|
|
|
|
|
|
|
#if _INTEGRAL_MAX_BITS >= 64
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2013-03-15 14:52:20 +00:00
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_wfindfirst32i64(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_Out_ struct _wfinddata32i64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_wfindfirst64i32(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_Out_ struct _wfinddata64i32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_wfindfirst64(
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_Out_ struct _wfinddata64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wfindnext32i64(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _wfinddata32i64_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wfindnext64i32(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _wfinddata64i32_t *_FindData);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_wfindnext64(
|
|
|
|
_In_ intptr_t _FindHandle,
|
|
|
|
_Out_ struct _wfinddata64_t *_FindData);
|
|
|
|
|
|
|
|
#endif /* _INTEGRAL_MAX_BITS >= 64 */
|
|
|
|
|
|
|
|
_Check_return_wat_
|
|
|
|
_CRTIMP
|
|
|
|
errno_t
|
|
|
|
__cdecl
|
|
|
|
_wsopen_s(
|
|
|
|
_Out_ int *_FileHandle,
|
|
|
|
_In_z_ const wchar_t *_Filename,
|
|
|
|
_In_ int _OpenFlag,
|
|
|
|
_In_ int _ShareFlag,
|
|
|
|
_In_ int _PermissionFlag);
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#if !defined(__cplusplus) || !(defined(_X86_) && !defined(__x86_64))
|
|
|
|
_CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...);
|
|
|
|
_CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...);
|
|
|
|
#else
|
|
|
|
extern "C++" _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,int _PermissionMode = 0);
|
|
|
|
extern "C++" _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionMode = 0);
|
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-23 02:15:24 +00:00
|
|
|
#endif /* !_WIO_DEFINED */
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2013-03-15 14:52:20 +00:00
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
__lock_fhandle(
|
|
|
|
_In_ int _Filehandle);
|
|
|
|
|
|
|
|
void
|
|
|
|
__cdecl
|
|
|
|
_unlock_fhandle(
|
|
|
|
_In_ int _Filehandle);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
intptr_t
|
|
|
|
__cdecl
|
|
|
|
_get_osfhandle(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
_open_osfhandle(
|
|
|
|
_In_ intptr_t _OSFileHandle,
|
|
|
|
_In_ int _Flags);
|
|
|
|
|
|
|
|
#ifndef NO_OLDNAMES
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
access(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _AccessMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
chmod(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _AccessMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
chsize(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ long _Size);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
close(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
creat(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _PermissionMode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
dup(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
dup2(
|
|
|
|
_In_ int _FileHandleSrc,
|
|
|
|
_In_ int _FileHandleDst);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
__cdecl eof(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
long
|
|
|
|
__cdecl
|
|
|
|
filelength(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
isatty(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
locking(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ int _LockMode,
|
|
|
|
_In_ long _NumOfBytes);
|
|
|
|
|
|
|
|
_Check_return_opt_
|
|
|
|
_CRTIMP
|
|
|
|
long
|
|
|
|
__cdecl
|
|
|
|
lseek(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ long _Offset,
|
|
|
|
_In_ int _Origin);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
char*
|
|
|
|
__cdecl
|
|
|
|
mktemp(
|
|
|
|
_Inout_z_ char *_TemplateName);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
open(
|
|
|
|
_In_z_ const char *_Filename,
|
|
|
|
_In_ int _OpenFlag,
|
|
|
|
...);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
read(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_Out_writes_bytes_(_MaxCharCount) void *_DstBuf,
|
|
|
|
_In_ unsigned int _MaxCharCount);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
setmode(
|
|
|
|
_In_ int _FileHandle,
|
|
|
|
_In_ int _Mode);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
sopen(
|
|
|
|
const char *_Filename,
|
|
|
|
int _OpenFlag,
|
|
|
|
int _ShareFlag,
|
|
|
|
...);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
long
|
|
|
|
__cdecl
|
|
|
|
tell(
|
|
|
|
_In_ int _FileHandle);
|
|
|
|
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
umask(
|
|
|
|
_In_ int _Mode);
|
|
|
|
|
|
|
|
_Check_return_
|
|
|
|
_CRTIMP
|
|
|
|
int
|
|
|
|
__cdecl
|
|
|
|
write(
|
|
|
|
_In_ int _Filehandle,
|
|
|
|
_In_reads_bytes_(_MaxCharCount) const void *_Buf,
|
|
|
|
_In_ unsigned int _MaxCharCount);
|
|
|
|
|
|
|
|
#endif /* NO_OLDNAMES */
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
/* Misc stuff */
|
|
|
|
char *getlogin(void);
|
|
|
|
#ifdef __USE_MINGW_ALARM
|
|
|
|
unsigned int alarm(unsigned int seconds);
|
|
|
|
#endif
|
2007-09-24 11:40:54 +00:00
|
|
|
|
|
|
|
#ifdef __USE_MINGW_ACCESS
|
|
|
|
/* Old versions of MSVCRT access() just ignored X_OK, while the version
|
|
|
|
shipped with Vista, returns an error code. This will restore the
|
|
|
|
old behaviour */
|
2008-12-13 21:28:05 +00:00
|
|
|
static inline int __mingw_access (const char *__fname, int __mode) {
|
|
|
|
return _access (__fname, __mode & ~X_OK);
|
|
|
|
}
|
2007-09-24 11:40:54 +00:00
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#define access(__f,__m) __mingw_access (__f, __m)
|
2007-09-24 11:40:54 +00:00
|
|
|
#endif
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#ifdef __cplusplus
|
2007-09-24 11:40:54 +00:00
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2008-12-13 21:28:05 +00:00
|
|
|
#pragma pack(pop)
|
|
|
|
|
|
|
|
#include <sec_api/io_s.h>
|
|
|
|
|
|
|
|
#endif /* End _IO_H_ */
|
|
|
|
|