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