Piotr Caban : include: Add corecrt_io.h header.
Alexandre Julliard
julliard at winehq.org
Fri Dec 4 14:36:03 CST 2020
Module: wine
Branch: master
Commit: 713364f35c3ba97a8b121a00c7f3287c2c2816bd
URL: https://source.winehq.org/git/wine.git/?a=commit;h=713364f35c3ba97a8b121a00c7f3287c2c2816bd
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Dec 4 15:50:07 2020 +0100
include: Add corecrt_io.h header.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/Makefile.in | 1 +
include/msvcrt/corecrt_io.h | 109 ++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 110 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in
index 9b6858b78f9..74a1d8e0c89 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -446,6 +446,7 @@ SOURCES = \
msvcrt/complex.h \
msvcrt/conio.h \
msvcrt/corecrt.h \
+ msvcrt/corecrt_io.h \
msvcrt/corecrt_startup.h \
msvcrt/corecrt_stdio_config.h \
msvcrt/corecrt_wctype.h \
diff --git a/include/msvcrt/corecrt_io.h b/include/msvcrt/corecrt_io.h
new file mode 100644
index 00000000000..d7554c3b1c6
--- /dev/null
+++ b/include/msvcrt/corecrt_io.h
@@ -0,0 +1,109 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the Wine project.
+ */
+
+#ifndef _IO_DEFINED
+#define _IO_DEFINED
+
+#include <corecrt_wio.h>
+
+#include <pshpack8.h>
+
+#if defined(_USE_32BIT_TIME_T)
+# define _finddata_t _finddata32_t
+# define _finddatai64_t _finddata32i64_t
+#else
+# define _finddata_t _finddata64i32_t
+# define _finddatai64_t _finddata64_t
+#endif
+
+struct _finddata32_t {
+ unsigned attrib;
+ __time32_t time_create;
+ __time32_t time_access;
+ __time32_t time_write;
+ _fsize_t size;
+ char name[260];
+};
+
+struct _finddata32i64_t {
+ unsigned attrib;
+ __time32_t time_create;
+ __time32_t time_access;
+ __time32_t time_write;
+ __int64 DECLSPEC_ALIGN(8) size;
+ 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;
+ __int64 DECLSPEC_ALIGN(8) size;
+ char name[260];
+};
+
+#ifdef _UCRT
+# ifdef _USE_32BIT_TIME_T
+# define _findfirst _findfirst32
+# define _findfirsti64 _findfirst32i64
+# define _findnext _findnext32
+# define _findnexti64 _findnext32i64
+# else
+# define _findfirst _findfirst64i32
+# define _findfirsti64 _findfirst64
+# define _findnext _findnext64i32
+# define _findnexti64 _findnext64
+# endif
+#else /* _UCRT */
+# ifdef _USE_32BIT_TIME_T
+# define _findfirst32 _findfirst
+# define _findfirst32i64 _findfirsti64
+# define _findnext32 _findnext
+# define _findnext32i64 _findnexti64
+# else
+# define _findfirst64i32 _findfirst
+# define _findfirst64 _findfirsti64
+# define _findnext64i32 _findnext
+# define _findnext64 _findnexti64
+# endif
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_ACRTIMP int __cdecl _access(const char*,int);
+_ACRTIMP int __cdecl _chmod(const char*,int);
+_ACRTIMP int __cdecl _creat(const char*,int);
+_ACRTIMP intptr_t __cdecl _findfirst32(const char*,struct _finddata32_t*);
+_ACRTIMP intptr_t __cdecl _findfirst32i64(const char*, struct _finddata32i64_t*);
+_ACRTIMP intptr_t __cdecl _findfirst64(const char*,struct _finddata64_t*);
+_ACRTIMP intptr_t __cdecl _findfirst64i32(const char*, struct _finddata64i32_t*);
+_ACRTIMP int __cdecl _findnext32(intptr_t,struct _finddata32_t*);
+_ACRTIMP int __cdecl _findnext32i64(intptr_t,struct _finddata32i64_t*);
+_ACRTIMP int __cdecl _findnext64(intptr_t,struct _finddata64_t*);
+_ACRTIMP int __cdecl _findnext64i32(intptr_t,struct _finddata64i32_t*);
+_ACRTIMP char* __cdecl _mktemp(char*);
+_ACRTIMP int WINAPIV _open(const char*,int,...);
+_ACRTIMP int WINAPIV _sopen(const char*,int,int,...);
+_ACRTIMP int __cdecl _unlink(const char*);
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <poppack.h>
+
+#endif /* _IO_DEFINED */
More information about the wine-cvs
mailing list