2 * PROJECT: ReactOS kernel-mode tests
3 * LICENSE: LGPL-2.1+ (https://spdx.org/licenses/LGPL-2.1+)
4 * PURPOSE: Kernel-Mode Test Suite platform declarations
5 * COPYRIGHT: Copyright 2011-2018 Thomas Faber <thomas.faber@reactos.org>
6 * Copyright 2017 Ged Murphy <gedmurphy@reactos.org>
9 #ifndef _KMTEST_PLATFORM_H_
10 #define _KMTEST_PLATFORM_H_
12 #if !defined _KMTEST_TEST_H_
13 #error include kmt_test.h instead of including kmt_platform.h!
14 #endif /* !defined _KMTEST_TEST_H_ */
20 #if defined KMT_KERNEL_MODE || defined KMT_STANDALONE_DRIVER
23 #include <ndk/exfuncs.h>
24 #include <ndk/kefuncs.h>
25 #include <ndk/mmfuncs.h>
26 #include <ndk/obfuncs.h>
27 #include <ndk/sefuncs.h>
28 #include <ntstrsafe.h>
29 #if defined KMT_FILTER_DRIVER
30 #include <fltkernel.h>
33 #elif defined KMT_USER_MODE
34 #define WIN32_NO_STATUS
40 #include <ndk/cmfuncs.h>
41 #include <ndk/iofuncs.h>
42 #include <ndk/obfuncs.h>
43 #include <ndk/rtlfuncs.h>
44 #include <ndk/mmfuncs.h>
49 #ifdef KMT_EMULATE_KERNEL
52 typedef const UCHAR CUCHAR
, *PCUCHAR
;
53 typedef ULONG LOGICAL
, *PLOGICAL
;
56 #define KeRaiseIrql(new, old) *(old) = 123
58 #define KeLowerIrql(i) (void)(i)
59 #define ExAllocatePool(type, size) HeapAlloc(GetProcessHeap(), 0, size)
60 #define ExAllocatePoolWithTag(type, size, tag) HeapAlloc(GetProcessHeap(), 0, size)
61 #define ExFreePool(p) HeapFree(GetProcessHeap(), 0, p)
62 #define ExFreePoolWithTag(p, tag) HeapFree(GetProcessHeap(), 0, p)
63 #define RtlCopyMemoryNonTemporal RtlCopyMemory
64 #define RtlPrefetchMemoryNonTemporal(s, l)
65 #define ExRaiseStatus RtlRaiseStatus
66 #define KmtIsCheckedBuild FALSE
67 #endif /* defined KMT_EMULATE_KERNEL */
69 #endif /* defined KMT_USER_MODE */
71 #include <pseh/pseh2.h>
73 #endif /* !defined _KMTEST_PLATFORM_H_ */