https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e5633f656f2ff989e928d…
commit e5633f656f2ff989e928d38dd38eee81e8722966
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sun Oct 13 19:13:36 2024 +0300
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Sat Nov 16 20:01:49 2024 +0200
[VCRUNTIME] Add missing definitions
---
sdk/include/vcruntime/eh.h | 4 ++++
sdk/include/vcruntime/vcruntime.h | 14 ++++++++++++++
sdk/include/vcruntime/vcruntime_startup.h | 15 +++++++++++++++
3 files changed, 33 insertions(+)
diff --git a/sdk/include/vcruntime/eh.h b/sdk/include/vcruntime/eh.h
index d37f86e81a0..307822930d3 100644
--- a/sdk/include/vcruntime/eh.h
+++ b/sdk/include/vcruntime/eh.h
@@ -16,6 +16,10 @@
#error eh.h is only for C++!
#endif
+extern "C++" {
+ _VCRT_EXPORT_STD class type_info;
+}
+
typedef void (__cdecl *terminate_function)(void);
typedef void (__cdecl *terminate_handler)(void);
typedef void (__cdecl *unexpected_function)(void);
diff --git a/sdk/include/vcruntime/vcruntime.h b/sdk/include/vcruntime/vcruntime.h
index 3344cec75ee..cd7d5913407 100644
--- a/sdk/include/vcruntime/vcruntime.h
+++ b/sdk/include/vcruntime/vcruntime.h
@@ -1,6 +1,14 @@
+/*
+ * PROJECT: ReactOS SDK
+ * LICENSE: MIT (
https://spdx.org/licenses/MIT)
+ * PURPOSE: Common definitions
+ * COPYRIGHT: Copyright 2024 Timo Kreuzer (timo.kreuzer(a)reactos.org)
+ */
#pragma once
+#define _VCRUNTIME_H
+
#include <_mingw.h>
#include <sal.h>
#include <vadefs.h>
@@ -70,6 +78,12 @@ _CRT_BEGIN_C_HEADER
#endif
#endif
+#ifdef _BUILD_STD_MODULE
+ #define _VCRT_EXPORT_STD export
+#else
+ #define _VCRT_EXPORT_STD
+#endif
+
#ifdef __GNUC__
#define _CRT_DEPRECATE_TEXT(_Text) __attribute__ ((deprecated))
#elif defined(_MSC_VER)
diff --git a/sdk/include/vcruntime/vcruntime_startup.h
b/sdk/include/vcruntime/vcruntime_startup.h
index f84012e542e..77d53acd474 100644
--- a/sdk/include/vcruntime/vcruntime_startup.h
+++ b/sdk/include/vcruntime/vcruntime_startup.h
@@ -1,6 +1,16 @@
+/*
+ * PROJECT: ReactOS SDK
+ * LICENSE: MIT (
https://spdx.org/licenses/MIT)
+ * PURPOSE: Definitions for CRT startup functionality
+ * COPYRIGHT: Copyright 2024 Timo Kreuzer (timo.kreuzer(a)reactos.org)
+ */
#pragma once
+#include <vcruntime.h>
+
+_CRT_BEGIN_C_HEADER
+
typedef enum _crt_argv_mode
{
_crt_argv_no_arguments,
@@ -21,4 +31,9 @@ typedef enum _crt_exit_return_mode
_crt_exit_return_to_caller
} _crt_exit_return_mode;
+__vcrt_bool __cdecl __vcrt_initialize(void);
__vcrt_bool __cdecl __vcrt_uninitialize(_In_ __vcrt_bool _Terminating);
+
+int __cdecl __isa_available_init(void);
+
+_CRT_END_C_HEADER