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... */ 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 <windef.h> 42 43 // Needed because windef.h messes up CDECL for whatever 44 #undef CDECL 45 #define CDECL __cdecl 46 47 /* Avoid type casting, by defining RECT to RECTL */ 48 #define RECT RECTL 49 #define PRECT PRECTL 50 #define LPRECT LPRECTL 51 #define LPCRECT LPCRECTL 52 #define POINT POINTL 53 #define LPPOINT PPOINTL 54 #define PPOINT PPOINTL 55 56 #include <winerror.h> 57 #include <wingdi.h> 58 #define _ENGINE_EXPORT_ 59 #include <winddi.h> 60 #define OEMRESOURCE 61 #include <winuser.h> 62 #include <ndk/rtltypes.h> 63 #include <prntfont.h> 64 #define _NOCSECT_TYPE 65 #include <ddrawi.h> 66 #include <imm.h> 67 #include <immdev.h> 68 #include <imm32_undoc.h> 69 #include <dbt.h> 70 71 /* NDK headers */ 72 #include <ndk/exfuncs.h> 73 #include <ndk/iofuncs.h> 74 #include <ndk/kdfuncs.h> 75 #include <ndk/kefuncs.h> 76 #include <ndk/mmfuncs.h> 77 #include <ndk/obfuncs.h> 78 #include <ndk/psfuncs.h> 79 #include <ndk/sefuncs.h> 80 #include <ndk/rtlfuncs.h> 81 82 /* SEH support with PSEH */ 83 #include <pseh/pseh2.h> 84 85 /* The native x64 definition of FLOATOBJ_GetFloat in winddi.h is retarded. Use this instead. */ 86 #ifndef _M_IX86 87 #undef FLOATOBJ_GetFloat 88 #define FLOATOBJ_GetFloat(pf) (*(pf)) 89 #endif 90 91 #ifdef __cplusplus 92 extern "C" { 93 #endif 94 95 /* Public Win32K headers */ 96 #include <include/ntgdityp.h> 97 #include <ntgdi.h> 98 #include <include/ntgdihdl.h> 99 #include <include/ntgdibad.h> 100 101 #ifndef __cplusplus 102 #include <include/ntusrtyp.h> 103 #include <include/ntuser.h> 104 #include <include/callback.h> 105 #endif // __cplusplus 106 107 /* Undocumented user definitions */ 108 #include <undocuser.h> 109 110 /* Freetype headers */ 111 #include <ft2build.h> 112 #include FT_FREETYPE_H 113 114 #define InterlockedIncrementUL(Value) (ULONG)InterlockedIncrement((PLONG)(Value)) 115 #define InterlockedDecrementUL(Value) (ULONG)InterlockedDecrement((PLONG)(Value)) 116 117 /* Internal Win32K header */ 118 #include "win32kp.h" 119 120 #ifdef __cplusplus 121 } /* extern "C" */ 122 #endif 123 124 #endif /* __W32K_H */ 125