[include] add-rtcapi.h for having RTCAPI functions for msvcr* dlls

Vijay Kiran Kamuju infyquest at gmail.com
Sat Nov 20 13:05:20 CST 2010


Changelog
---------------
[include] add-rtcapi.h for having RTCAPI functions for msvcr* dlls
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20101120/492628e6/attachment.htm>
-------------- next part --------------
From e8a278adde966a9b8efdb4e66c1675bcbe355586 Mon Sep 17 00:00:00 2001
From: Vijay Kiran Kamuju <infyquest at gmail.com>
Date: Sat, 20 Nov 2010 14:02:30 -0500
Subject: [PATCH 3/3] [include] add rtcapi.h for having RTCAPI functions for msvcr* dlls

---
 include/Makefile.in     |    1 +
 include/msvcrt/rtcapi.h |  111 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 112 insertions(+), 0 deletions(-)
 create mode 100644 include/msvcrt/rtcapi.h

diff --git a/include/Makefile.in b/include/Makefile.in
index e7c75ee..497a50c 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -365,6 +365,7 @@ SRCDIR_INCLUDES = \
 	msvcrt/mbstring.h \
 	msvcrt/memory.h \
 	msvcrt/process.h \
+	msvcrt/rtcapi.h \
 	msvcrt/search.h \
 	msvcrt/setjmp.h \
 	msvcrt/share.h \
diff --git a/include/msvcrt/rtcapi.h b/include/msvcrt/rtcapi.h
new file mode 100644
index 0000000..8f1d7c9
--- /dev/null
+++ b/include/msvcrt/rtcapi.h
@@ -0,0 +1,111 @@
+/*
+ * RTC API
+ *
+ * Copyright 2010 Vijay Kiran Kamuju
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __WINE_RTCAPI_H
+#define __WINE_RTCAPI_H
+#endif
+
+#include <crtdefs.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum _RTC_ErrorNumber {
+    _RTC_CHKSTK = 0,
+    _RTC_CVRT_LOSS_INFO,
+    _RTC_CORRUPT_STACK,
+    _RTC_UNINIT_LOCAL_USE,
+    _RTC_ILLEGAL 
+} _RTC_ErrorNumber;
+
+#define _RTC_ERRTYPE_IGNORE -1
+#define _RTC_ERRTYPE_ASK    -2
+
+#ifndef _WCHAR_T_DEFINED
+#define _WCHAR_T_DEFINED
+    typedef unsigned short wchar_t;
+#endif
+
+typedef int (__cdecl *_RTC_error_fn)(int, const char *, int, const char *, const char *, ...);
+typedef int (__cdecl *_RTC_error_fnW)(int, const wchar_t *, int, const wchar_t *, const wchar_t *, ...);
+
+int __cdecl _RTC_NumErrors(void);
+const char *__cdecl _RTC_GetErrDesc(_RTC_ErrorNumber _Errnum);
+int __cdecl _RTC_SetErrorType(_RTC_ErrorNumber _Errnum,int _ErrType);
+_RTC_error_fn __cdecl _RTC_SetErrorFunc(_RTC_error_fn);
+_RTC_error_fnW __cdecl _RTC_SetErrorFuncW(_RTC_error_fnW);
+void __cdecl _RTC_Initialize(void);
+void __cdecl _RTC_Terminate(void);
+
+_RTC_error_fn __cdecl _CRT_RTC_INIT(void *_Res0,void **_Res1,int _Res2,int _Res3,int _Res4);
+_RTC_error_fnW __cdecl _CRT_RTC_INITW(void *_Res0,void **_Res1,int _Res2,int _Res3,int _Res4);
+
+typedef struct _RTC_vardesc {
+    int addr;
+    int size;
+    char *name;
+} _RTC_vardesc;
+
+typedef struct _RTC_framedesc {
+    int varCount;
+    _RTC_vardesc *variables;
+} _RTC_framedesc;
+
+#include <pshpack1.h>
+typedef struct _RTC_ALLOCA_NODE {
+    __int32 guard1;
+    struct _RTC_ALLOCA_NODE *next;
+#ifdef __i386__
+    __int32 dummypad;
+#endif
+    size_t allocaSize;
+#ifdef __i386__
+    __int32 dummypad2;
+#endif
+    __int32 guard2[3];
+} _RTC_ALLOCA_NODE;
+#include <poppack.h>
+
+char __fastcall _RTC_Check_2_to_1(short _Src);
+char __fastcall _RTC_Check_4_to_1(int _Src);
+char __fastcall _RTC_Check_8_to_1(__int64 _Src);
+short __fastcall _RTC_Check_4_to_2(int _Src);
+short __fastcall _RTC_Check_8_to_2(__int64 _Src);
+int __fastcall _RTC_Check_8_to_4(__int64 _Src);
+
+#ifdef __i386__
+    void __cdecl _RTC_CheckEsp();
+#endif
+
+void __fastcall _RTC_CheckStackVars(void *_Esp,_RTC_framedesc *_Fd);
+void __fastcall _RTC_CheckStackVars2(void *_Esp,_RTC_framedesc *_Fd,_RTC_ALLOCA_NODE *_AllocaList);
+void __fastcall _RTC_AllocaHelper(_RTC_ALLOCA_NODE *_PAllocaBase,size_t _CbSize,_RTC_ALLOCA_NODE **_PAllocaInfoList);
+void __cdecl _RTC_UninitUse(const char *_Varname);
+void __cdecl _RTC_Shutdown(void);
+void __cdecl _RTC_InitBase(void);
+
+#ifdef __cplusplus
+void *_ReturnAddress();
+
+}
+#endif
+
+#endif /* __WINE_RTCAPI_H */
-- 
1.7.1


More information about the wine-patches mailing list