From e5633f656f2ff989e928d38dd38eee81e8722966 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Sun, 13 Oct 2024 19:13:36 +0300 Subject: [PATCH] [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@reactos.org) + */ #pragma once +#define _VCRUNTIME_H + #include <_mingw.h> #include #include @@ -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@reactos.org) + */ #pragma once +#include + +_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