ReactOS 0.4.16-dev-1255-g6dd0406
pch.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Win32k subsystem
4 * FILE: win32ss/pch.h
5 * PURPOSE: Main Win32K Header
6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
7 */
8
9#ifndef __W32K_H
10#define __W32K_H
11
12/* INCLUDES ******************************************************************/
13
14#define _NO_COM
15#define STRICT
16
17/* C headers */
18#include <stdarg.h>
19#define _USE_MATH_DEFINES
20#include <math.h>
21#include <intrin.h>
22
23/* DDK headers */
24#undef NTDDI_VERSION
25#define NTDDI_VERSION NTDDI_WS03SP1
26#include <ntifs.h>
27#include <ntddkbd.h>
28#include <ntddmou.h>
29#include <ntddvdeo.h>
30#include <ntstrsafe.h>
31#include <ntintsafe.h>
32
33/* Win32 PSDK headers */
34/* FIXME: Defines in winbase.h that we need... */
36#define MAKEINTATOM(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))
37#define WINBASEAPI
38#define STARTF_USESHOWWINDOW 0x00000001
39#define STARTF_USESIZE 0x00000002
40#define STARTF_USEPOSITION 0x00000004
41#define STARTF_USEHOTKEY 0x00000200
42#include <windef.h>
43
44// Needed because windef.h messes up CDECL for whatever
45#undef CDECL
46#define CDECL __cdecl
47
48/* Avoid type casting, by defining RECT to RECTL */
49#define RECT RECTL
50#define PRECT PRECTL
51#define LPRECT LPRECTL
52#define LPCRECT LPCRECTL
53#define POINT POINTL
54#define LPPOINT PPOINTL
55#define PPOINT PPOINTL
56
57#include <d3dkmddi.h>
58#include <winerror.h>
59#include <wingdi.h>
60#define _ENGINE_EXPORT_
61#include <winddi.h>
62#define OEMRESOURCE
63#include <winuser.h>
64#include <ndk/rtltypes.h>
65#include <prntfont.h>
66#define _NOCSECT_TYPE
67#include <ddrawi.h>
68#include <imm.h>
69#include <immdev.h>
70#include <imm32_undoc.h>
71#include <dbt.h>
72
73/* NDK headers */
74#include <ndk/exfuncs.h>
75#include <ndk/iofuncs.h>
76#include <ndk/kdfuncs.h>
77#include <ndk/kefuncs.h>
78#include <ndk/mmfuncs.h>
79#include <ndk/obfuncs.h>
80#include <ndk/psfuncs.h>
81#include <ndk/sefuncs.h>
82#include <ndk/rtlfuncs.h>
83
84/* SEH support with PSEH */
85#include <pseh/pseh2.h>
86
87/* The native x64 definition of FLOATOBJ_GetFloat in winddi.h is retarded. Use this instead. */
88#ifndef _M_IX86
89#undef FLOATOBJ_GetFloat
90#define FLOATOBJ_GetFloat(pf) (*(pf))
91#endif
92
93#ifdef __cplusplus
94extern "C" {
95#endif
96
97/* Public Win32K headers */
98#include <include/ntgdityp.h>
99#include <ntgdi.h>
100#include <include/ntgdihdl.h>
101#include <include/ntgdibad.h>
102
103#ifndef __cplusplus
104#include <include/ntusrtyp.h>
105#include <include/ntuser.h>
106#include <include/callback.h>
107#endif // __cplusplus
108
109/* Undocumented user definitions */
110#include <undocuser.h>
111
112/* Freetype headers */
113#include <ft2build.h>
114#include FT_FREETYPE_H
115
116#define InterlockedIncrementUL(Value) (ULONG)InterlockedIncrement((PLONG)(Value))
117#define InterlockedDecrementUL(Value) (ULONG)InterlockedDecrement((PLONG)(Value))
118
119/* Internal Win32K header */
120#include "win32kp.h"
121
122#ifdef __cplusplus
123} /* extern "C" */
124#endif
125
126#endif /* __W32K_H */
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
Definition: pch.h:35