ReactOS 0.4.15-dev-8096-ga0eec98
kmt_platform.h
Go to the documentation of this file.
1/*
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>
7 */
8
9#ifndef _KMTEST_PLATFORM_H_
10#define _KMTEST_PLATFORM_H_
11
12#if !defined _KMTEST_TEST_H_
13#error include kmt_test.h instead of including kmt_platform.h!
14#endif /* !defined _KMTEST_TEST_H_ */
15
16#include <limits.h>
17#include <malloc.h>
18#include <stdarg.h>
19
20#if defined KMT_KERNEL_MODE || defined KMT_STANDALONE_DRIVER
21#include <ntddk.h>
22#include <ntifs.h>
23#include <ndk/exfuncs.h>
24#include <ndk/kefuncs.h>
25#include <ndk/mmfuncs.h>
26#include <ndk/obfuncs.h>
27#include <ndk/psfuncs.h>
28#include <ndk/sefuncs.h>
29#include <ntstrsafe.h>
30#if defined KMT_FILTER_DRIVER
31#include <fltkernel.h>
32#endif
33
34#elif defined KMT_USER_MODE
35#define WIN32_NO_STATUS
36#define UNICODE
37#include <windef.h>
38#include <winbase.h>
39#include <winreg.h>
40#include <winsvc.h>
41#include <ndk/cmfuncs.h>
42#include <ndk/iofuncs.h>
43#include <ndk/obfuncs.h>
44#include <ndk/rtlfuncs.h>
45#include <ndk/mmfuncs.h>
46#include <strsafe.h>
47#include <fltuser.h>
48
49
50#ifdef KMT_EMULATE_KERNEL
51#define ok_irql(i)
52#define KIRQL int
53typedef const UCHAR CUCHAR, *PCUCHAR;
54typedef ULONG LOGICAL, *PLOGICAL;
55
56#undef KeRaiseIrql
57#define KeRaiseIrql(new, old) *(old) = 123
58#undef KeLowerIrql
59#define KeLowerIrql(i) (void)(i)
60#define ExAllocatePool(type, size) HeapAlloc(GetProcessHeap(), 0, size)
61#define ExAllocatePoolWithTag(type, size, tag) HeapAlloc(GetProcessHeap(), 0, size)
62#define ExFreePool(p) HeapFree(GetProcessHeap(), 0, p)
63#define ExFreePoolWithTag(p, tag) HeapFree(GetProcessHeap(), 0, p)
64#define RtlCopyMemoryNonTemporal RtlCopyMemory
65#define RtlPrefetchMemoryNonTemporal(s, l)
66#define ExRaiseStatus RtlRaiseStatus
67#define KmtIsCheckedBuild FALSE
68#endif /* defined KMT_EMULATE_KERNEL */
69
70#endif /* defined KMT_USER_MODE */
71
72#include <pseh/pseh2.h>
73
74#endif /* !defined _KMTEST_PLATFORM_H_ */
* PLOGICAL
Definition: ntbasedef.h:370
uint32_t ULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: xmlstorage.h:181