xref: /reactos/win32ss/pch.h (revision d2aeaba5)
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/sefuncs.h>
29 #include <ndk/rtlfuncs.h>
30 #include <ntstrsafe.h>
31 #include <ntintsafe.h>
32 #include <ntddkbd.h>
33 
34 /* Win32 headers */
35 /* FIXME: Defines in winbase.h that we need... */
36 typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
37 #define MAKEINTATOM(i) (LPWSTR)((ULONG_PTR)((WORD)(i)))
38 #define WINBASEAPI
39 #define STARTF_USESHOWWINDOW 1
40 #define STARTF_USESIZE 2
41 #define STARTF_USEPOSITION 4
42 #include <stdarg.h>
43 #include <windef.h>
44 #define _USE_MATH_DEFINES
45 #include <math.h>
46 #include <intrin.h>
47 
48 // Needed because windef.h messes up CDECL for whatever
49 #undef CDECL
50 #define CDECL __cdecl
51 
52 /* Avoid type casting, by defining RECT to RECTL */
53 #define RECT RECTL
54 #define PRECT PRECTL
55 #define LPRECT LPRECTL
56 #define LPCRECT LPCRECTL
57 #define POINT POINTL
58 #define LPPOINT PPOINTL
59 #define PPOINT PPOINTL
60 
61 #include <winerror.h>
62 #include <wingdi.h>
63 #define NT_BUILD_ENVIRONMENT
64 #define _ENGINE_EXPORT_
65 #include <winddi.h>
66 #include <winuser.h>
67 #include <prntfont.h>
68 #define _NOCSECT_TYPE
69 #include <ddrawi.h>
70 #include <imm.h>
71 #include <dbt.h>
72 #include <ntddvdeo.h>
73 
74 /* SEH support with PSEH */
75 #include <pseh/pseh2.h>
76 
77 #ifdef __cplusplus
78 extern "C" {
79 #endif
80 
81 /* Public Win32K headers */
82 #include <include/ntgdityp.h>
83 #include <ntgdi.h>
84 #include <include/ntgdihdl.h>
85 #include <include/ntgdibad.h>
86 
87 #ifndef __cplusplus
88 #include <include/ntusrtyp.h>
89 #include <include/ntuser.h>
90 #include <include/callback.h>
91 #endif // __cplusplus
92 
93 /* Undocumented user definitions */
94 #include <undocuser.h>
95 
96 /* Freetype headers */
97 #include <ft2build.h>
98 #include FT_FREETYPE_H
99 
100 #define InterlockedIncrementUL(Value) InterlockedIncrement((PLONG)Value)
101 #define InterlockedDecrementUL(Value) InterlockedDecrement((PLONG)Value)
102 
103 /* Internal Win32K header */
104 #include "win32kp.h"
105 
106 #ifdef __cplusplus
107 } /* extern "C" */
108 #endif
109 
110 #endif /* __W32K_H */
111