4 * COPYRIGHT: See COPYING in the top level directory
5 * PROJECT: ReactOS Graphics Subsystem
6 * FILE: subsys/win32k/w32k.h
7 * PURPOSE: Main Win32K Header
8 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
11 /* INCLUDES ******************************************************************/
15 /* DDK/NDK/SDK Headers */
16 #include <ddk/ntddk.h>
17 #include <ddk/ntddmou.h>
18 #include <ddk/ntifs.h>
19 #include <ddk/tvout.h>
20 #include <ndk/ntndk.h>
23 /* FIXME: Defines in winbase.h that we need... */
24 typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
, *LPSECURITY_ATTRIBUTES
;
26 #define STARTF_USESIZE 2
27 #define STARTF_USEPOSITION 4
40 /* SEH Support with PSEH */
41 #include <pseh/pseh.h>
44 #include <csrss/csrss.h>
47 #include <reactos/helper.h>
49 /* Probe and capture */
50 #include <reactos/probe.h>
52 /* Public Win32K Headers */
53 #include <win32k/callback.h>
54 #include <win32k/ntusrtyp.h>
55 #include <win32k/ntuser.h>
56 #include <win32k/ntgdityp.h>
57 #include <win32k/ntgdibad.h>
60 /* Internal Win32K Header */
61 #include "include/win32k.h"
63 /* Undocumented stuff */
64 typedef DRIVEROBJ
*PDRIVEROBJ
;
65 #define WM_SYSTIMER 280
67 #define M_PI 3.14159265358979323846f
68 #define M_PI_2 1.57079632679489661923
72 extern HANDLE GlobalUserHeap
;
75 UserCreateHeap(OUT PSECTION_OBJECT
*SectionObject
,
76 IN OUT PVOID
*SystemBase
,
80 UserHeapAlloc(SIZE_T Bytes
)
82 return RtlAllocateHeap(GlobalUserHeap
,
88 UserHeapFree(PVOID lpMem
)
90 return RtlFreeHeap(GlobalUserHeap
,
96 UserHeapReAlloc(PVOID lpMem
,
100 /* NOTE: ntoskrnl doesn't export RtlReAllocateHeap... */
101 return RtlReAllocateHeap(GlobalUserHeap
,
109 PrevSize
= RtlSizeHeap(GlobalUserHeap
,
113 if (PrevSize
== Bytes
)
116 pNew
= RtlAllocateHeap(GlobalUserHeap
,
121 if (PrevSize
< Bytes
)
128 RtlFreeHeap(GlobalUserHeap
,
137 static __inline PVOID
138 UserHeapAddressToUser(PVOID lpMem
)
140 return (PVOID
)(((ULONG_PTR
)lpMem
- (ULONG_PTR
)GlobalUserHeap
) +
141 (ULONG_PTR
)PsGetCurrentProcessWin32Process()->HeapMappings
.UserMapping
);
144 #endif /* __W32K_H */