https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a27b8009e0652aab9aef2…
commit a27b8009e0652aab9aef29f9963e21cb53d2a124
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sat Oct 7 10:22:34 2023 +0300
Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Tue Oct 17 09:41:18 2023 +0300
[SDK] Do not include windef.h into stubs.h
This prevents pulling in function declarations that are incompatible with the
generated stubs.
---
dll/win32/msvcrt/stubs.c | 1 +
dll/win32/msvcrt20/stubs.c | 3 ++-
dll/win32/msvcrt40/stubs.c | 1 +
sdk/include/reactos/stubs.h | 39 ++++++++++++++++++++++++++++++---------
4 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/dll/win32/msvcrt/stubs.c b/dll/win32/msvcrt/stubs.c
index 389bc11f3ed..6c0bcfee5dc 100644
--- a/dll/win32/msvcrt/stubs.c
+++ b/dll/win32/msvcrt/stubs.c
@@ -1,4 +1,5 @@
+#include <windef.h>
#include <stubs.h>
#undef UNIMPLEMENTED
diff --git a/dll/win32/msvcrt20/stubs.c b/dll/win32/msvcrt20/stubs.c
index 489e122ef4f..469228006a4 100644
--- a/dll/win32/msvcrt20/stubs.c
+++ b/dll/win32/msvcrt20/stubs.c
@@ -1,3 +1,4 @@
+#include <windef.h>
#include <stubs.h>
#undef UNIMPLEMENTED
@@ -24,4 +25,4 @@ size_t _heapused( size_t *pUsed, size_t *pCommit )
return( 0 );
}
-int _fileinfo = 0;
\ No newline at end of file
+int _fileinfo = 0;
diff --git a/dll/win32/msvcrt40/stubs.c b/dll/win32/msvcrt40/stubs.c
index dc730333044..013083d4214 100644
--- a/dll/win32/msvcrt40/stubs.c
+++ b/dll/win32/msvcrt40/stubs.c
@@ -1,3 +1,4 @@
+#include <windef.h>
#include <stubs.h>
#undef UNIMPLEMENTED
diff --git a/sdk/include/reactos/stubs.h b/sdk/include/reactos/stubs.h
index 6b5cd36372c..5b872fbe47c 100644
--- a/sdk/include/reactos/stubs.h
+++ b/sdk/include/reactos/stubs.h
@@ -1,6 +1,28 @@
-#define WIN32_NO_STATUS
-#define _NTSYSTEM_
-#include <windef.h>
+
+#ifndef _WINDEF_
+typedef unsigned short wchar_t;
+typedef unsigned long DWORD, ULONG;
+typedef void* PVOID;
+#define __int64 long long
+#ifdef _WIN64
+typedef unsigned long long ULONG_PTR;
+#else
+typedef unsigned long ULONG_PTR;
+#endif
+
+#define EXCEPTION_MAXIMUM_PARAMETERS 15
+typedef struct _EXCEPTION_RECORD {
+ DWORD ExceptionCode;
+ DWORD ExceptionFlags;
+ struct _EXCEPTION_RECORD* ExceptionRecord;
+ PVOID ExceptionAddress;
+ DWORD NumberParameters;
+ ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
+} EXCEPTION_RECORD, * PEXCEPTION_RECORD;
+
+#define EXCEPTION_NONCONTINUABLE 0x01
+
+#endif
#ifndef PRIx64
#define PRIx64 "I64x"
@@ -9,24 +31,23 @@
#define EXCEPTION_WINE_STUB 0x80000100
#define EH_NONCONTINUABLE 0x01
-NTSYSAPI
-VOID
-NTAPI
+void
+__stdcall
RtlRaiseException(
- _In_ PEXCEPTION_RECORD ExceptionRecord
+ PEXCEPTION_RECORD ExceptionRecord
);
ULONG
__cdecl
DbgPrint(
- _In_z_ _Printf_format_string_ PCSTR Format,
+ const char* Format,
...
);
#define __wine_spec_unimplemented_stub(module, function) \
{ \
EXCEPTION_RECORD ExceptionRecord = {0}; \
- ExceptionRecord.ExceptionRecord = NULL; \
+ ExceptionRecord.ExceptionRecord = 0; \
ExceptionRecord.ExceptionCode = EXCEPTION_WINE_STUB; \
ExceptionRecord.ExceptionFlags = EXCEPTION_NONCONTINUABLE; \
ExceptionRecord.ExceptionInformation[0] = (ULONG_PTR)module; \