Author: hyperion Date: Sat Nov 29 23:49:18 2008 New Revision: 37757
URL: http://svn.reactos.org/svn/reactos?rev=37757&view=rev Log: modified base/shell/explorer/explorer.rbuild The TDM build of gcc 4.3.2 is affected by PR 27067 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27067), apparently due to a missing MinGW-only patch - work around it in the linker
modified dll/directx/ddraw/d3d/DirectD3D_main.c modified dll/directx/ddraw/Ddraw/ddraw_displaymode.c modified dll/directx/ddraw/Ddraw/ddraw_main.c modified dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c modified dll/directx/ddraw/Ddraw/GetCaps.c modified dll/directx/ddraw/Ddraw/GetDeviceIdentifier.c modified dll/directx/ddraw/main.c modified dll/directx/ddraw/Surface/createsurface.c <pseh/pseh.h> already included in rosdraw.h
modified dll/win32/advapi32/misc/trace.c Silence a warning reported by gcc 4.3.2 (possibly incorrectly, but it's just a stub anyway)
modified ntoskrnl/include/internal/ntoskrnl.h added ntoskrnl/include/internal/probe.h replaced ntoskrnl/include/ntoskrnl.h added ntoskrnl/include/precomp.h modified ntoskrnl/ntoskrnl-generic.rbuild added subsystems/win32/win32k/pch.h replaced subsystems/win32/win32k/w32k.h modified subsystems/win32/win32k/win32k.rbuild gcc 4.3.2-tdm-1 doesn't like PSEH in precompiled headers. Shuffle things around a bit to remove PSEH from precompiled headers
Added: trunk/reactos/ntoskrnl/include/precomp.h (with props) trunk/reactos/subsystems/win32/win32k/pch.h (with props) Modified: trunk/reactos/base/shell/explorer/explorer.rbuild trunk/reactos/dll/directx/ddraw/Ddraw/GetCaps.c trunk/reactos/dll/directx/ddraw/Ddraw/GetDeviceIdentifier.c trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c trunk/reactos/dll/directx/ddraw/Surface/createsurface.c trunk/reactos/dll/directx/ddraw/d3d/DirectD3D_main.c trunk/reactos/dll/directx/ddraw/main.c trunk/reactos/dll/win32/advapi32/misc/trace.c trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h trunk/reactos/ntoskrnl/include/ntoskrnl.h trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild trunk/reactos/subsystems/win32/win32k/w32k.h trunk/reactos/subsystems/win32/win32k/win32k.rbuild
Modified: trunk/reactos/base/shell/explorer/explorer.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/explore... ============================================================================== --- trunk/reactos/base/shell/explorer/explorer.rbuild [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/explorer.rbuild [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -63,6 +63,7 @@ <file>explorer.cpp</file> <file>i386-stub-win32.c</file> <file>explorer.rc</file> + <linkerflag>--enable-stdcall-fixup</linkerflag> </module> <installfile installbase=".">explorer-cfg-template.xml</installfile> <directory name="notifyhook">
Modified: trunk/reactos/dll/directx/ddraw/Ddraw/GetCaps.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/Get... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Ddraw/GetCaps.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Ddraw/GetCaps.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -20,10 +20,6 @@
#include <string.h>
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> - - HRESULT WINAPI Main_DirectDraw_GetCaps( LPDDRAWI_DIRECTDRAW_INT This, LPDDCAPS pDriverCaps, LPDDCAPS pHELCaps)
Modified: trunk/reactos/dll/directx/ddraw/Ddraw/GetDeviceIdentifier.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/Get... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Ddraw/GetDeviceIdentifier.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Ddraw/GetDeviceIdentifier.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -21,8 +21,6 @@
#include <string.h>
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> /* For DirectDraw 4 - 6 */ HRESULT WINAPI Main_DirectDraw_GetDeviceIdentifier(LPDDRAWI_DIRECTDRAW_INT This,
Modified: trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/ddr... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_displaymode.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -10,9 +10,6 @@
#include "rosdraw.h" - -/* PSEH for SEH Support */ -#include <pseh/pseh.h>
HRESULT WINAPI Main_DirectDraw_EnumDisplayModes(LPDDRAWI_DIRECTDRAW_INT This, DWORD dwFlags,
Modified: trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/ddr... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -20,11 +20,6 @@
#include <string.h>
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> - - - LPDDRAWI_DIRECTDRAW_INT internal_directdraw_int_alloc(LPDDRAWI_DIRECTDRAW_INT This) {
Modified: trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/ddr... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_setcooperativelevel.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -10,9 +10,6 @@
#include "rosdraw.h"
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> - HRESULT WINAPI Main_DirectDraw_SetCooperativeLevel (LPDDRAWI_DIRECTDRAW_INT This, HWND hwnd, DWORD cooplevel) {
Modified: trunk/reactos/dll/directx/ddraw/Surface/createsurface.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Surface/c... ============================================================================== --- trunk/reactos/dll/directx/ddraw/Surface/createsurface.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Surface/createsurface.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -9,10 +9,6 @@ */ #include "rosdraw.h"
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> - - /* * All parameters must have been checked if they are valid before they are passed to Internal_CreateSurface. * If not please fix the code in the functions which call Internal_CreateSurface. @@ -77,8 +73,8 @@ }
/* - * program does not need set the DDSD_LPSURFACE, - * if they forget set it, the ddraw will autoamtic + * program does not need set the DDSD_LPSURFACE, + * if they forget set it, the ddraw will autoamtic * set it for system memory. */ if ( ((pDDSD->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY) == DDSCAPS_SYSTEMMEMORY) && @@ -285,28 +281,28 @@ DxHeapMemFree(slist_gbl);
*ppSurf = (LPDDRAWI_DDRAWSURFACE_INT) &slist_int[0]->lpVtbl; - + return DD_OK;
cleanup: for(count = 0; count < num_of_surf; count++) { - if (slist_more[count] != NULL) + if (slist_more[count] != NULL) DxHeapMemFree(slist_more[count]); - if (slist_gbl[count] != NULL) + if (slist_gbl[count] != NULL) DxHeapMemFree(slist_gbl[count]); - if (slist_lcl[count] != NULL) + if (slist_lcl[count] != NULL) DxHeapMemFree(slist_lcl[count]); - if (slist_int[count] != NULL) + if (slist_int[count] != NULL) DxHeapMemFree(slist_int[count]); } - if (slist_more != NULL) + if (slist_more != NULL) DxHeapMemFree(slist_more); - if (slist_gbl != NULL) + if (slist_gbl != NULL) DxHeapMemFree(slist_gbl); - if (slist_lcl != NULL) + if (slist_lcl != NULL) DxHeapMemFree(slist_lcl); - if (slist_int != NULL) + if (slist_int != NULL) DxHeapMemFree(slist_int);
return ret;
Modified: trunk/reactos/dll/directx/ddraw/d3d/DirectD3D_main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/d3d/Direc... ============================================================================== --- trunk/reactos/dll/directx/ddraw/d3d/DirectD3D_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/d3d/DirectD3D_main.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -2,24 +2,21 @@
#include <string.h>
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> - -HRESULT WINAPI +HRESULT WINAPI Main_D3D_QueryInterface(LPDIRECT3D iface, REFIID riid, LPVOID * ppvObj) { DX_WINDBG_trace(); DX_STUB; }
-ULONG WINAPI +ULONG WINAPI Main_D3D_AddRef(LPDIRECT3D iface) { DX_WINDBG_trace(); DX_STUB; }
-ULONG WINAPI +ULONG WINAPI Main_D3D_Release(LPDIRECT3D iface) { DX_WINDBG_trace(); @@ -33,35 +30,35 @@ DX_STUB; }
-HRESULT WINAPI +HRESULT WINAPI Main_D3D_EnumDevices(LPDIRECT3D iface, LPD3DENUMDEVICESCALLBACK Callback, LPVOID Context) { DX_WINDBG_trace(); DX_STUB; }
-HRESULT WINAPI +HRESULT WINAPI Main_D3D_CreateLight(LPDIRECT3D iface, LPDIRECT3DLIGHT* Light,IUnknown* pUnkOuter) { DX_WINDBG_trace(); DX_STUB; }
-HRESULT WINAPI +HRESULT WINAPI Main_D3D_CreateMaterial(LPDIRECT3D iface,LPDIRECT3DMATERIAL* Direct3DLight,IUnknown* pUnkOuter) { DX_WINDBG_trace(); DX_STUB; }
-HRESULT WINAPI +HRESULT WINAPI Main_D3D_CreateViewport(LPDIRECT3D iface, LPDIRECT3DVIEWPORT* Viewport,IUnknown* pUnkOuter) { DX_WINDBG_trace(); DX_STUB; }
-HRESULT WINAPI +HRESULT WINAPI Main_D3D_FindDevice(LPDIRECT3D iface, LPD3DFINDDEVICESEARCH D3DDFS, LPD3DFINDDEVICERESULT D3DFDR) { DX_WINDBG_trace();
Modified: trunk/reactos/dll/directx/ddraw/main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/main.c?re... ============================================================================== --- trunk/reactos/dll/directx/ddraw/main.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/main.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -13,9 +13,6 @@ #include "rosdraw.h" HMODULE hDllModule = 0;
-/* PSEH for SEH Support */ -#include <pseh/pseh.h> - CRITICAL_SECTION ddcs;
// This function is exported by the dll @@ -26,8 +23,8 @@ LPVOID lpContext; } DirectDrawEnumerateProcData;
-BOOL -CALLBACK +BOOL +CALLBACK TranslateCallbackA(GUID *lpGUID, LPSTR lpDriverDescription, LPSTR lpDriverName, @@ -180,8 +177,8 @@ return retVal; }
-HRESULT -WINAPI +HRESULT +WINAPI DirectDrawEnumerateA( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext) { @@ -297,7 +294,7 @@
for more info about this command see msdn documentation
- The buffer start with D3DHAL_DP2COMMAND struct afer that follows either one struct or + The buffer start with D3DHAL_DP2COMMAND struct afer that follows either one struct or no struct at at all example for command D3DDP2OP_VIEWPORTINFO
Modified: trunk/reactos/dll/win32/advapi32/misc/trace.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/misc/tra... ============================================================================== --- trunk/reactos/dll/win32/advapi32/misc/trace.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/misc/trace.c [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -27,7 +27,7 @@ ) { DPRINT1("GetTraceLoggerHandle stub()\n"); - return (TRACEHANDLE)INVALID_HANDLE_VALUE; + return HandleToUlong(INVALID_HANDLE_VALUE); /* BUGBUG: should we use HandleToLong instead? */ }
Modified: trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/n... ============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/ntoskrnl.h [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -106,117 +106,6 @@ #define IQS(TypeQuery, TypeSet, AlignmentQuery, AlignmentSet, Flags) \ { sizeof(TypeQuery), sizeof(TypeSet), sizeof(AlignmentQuery), sizeof(AlignmentSet), Flags }
-static -__inline -NTSTATUS -DefaultSetInfoBufferCheck(ULONG Class, - const INFORMATION_CLASS_INFO *ClassList, - ULONG ClassListEntries, - PVOID Buffer, - ULONG BufferLength, - KPROCESSOR_MODE PreviousMode) -{ - NTSTATUS Status = STATUS_SUCCESS; - - if (Class < ClassListEntries) - { - if (!(ClassList[Class].Flags & ICIF_SET)) - { - Status = STATUS_INVALID_INFO_CLASS; - } - else if (ClassList[Class].RequiredSizeSET > 0 && - BufferLength != ClassList[Class].RequiredSizeSET) - { - if (!(ClassList[Class].Flags & ICIF_SET_SIZE_VARIABLE)) - { - Status = STATUS_INFO_LENGTH_MISMATCH; - } - } - - if (NT_SUCCESS(Status)) - { - if (PreviousMode != KernelMode) - { - _SEH2_TRY - { - ProbeForRead(Buffer, - BufferLength, - ClassList[Class].AlignmentSET); - } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) - { - Status = _SEH2_GetExceptionCode(); - } - _SEH2_END; - } - } - } - else - Status = STATUS_INVALID_INFO_CLASS; - - return Status; -} - -static -__inline -NTSTATUS -DefaultQueryInfoBufferCheck(ULONG Class, - const INFORMATION_CLASS_INFO *ClassList, - ULONG ClassListEntries, - PVOID Buffer, - ULONG BufferLength, - PULONG ReturnLength, - KPROCESSOR_MODE PreviousMode) -{ - NTSTATUS Status = STATUS_SUCCESS; - - if (Class < ClassListEntries) - { - if (!(ClassList[Class].Flags & ICIF_QUERY)) - { - Status = STATUS_INVALID_INFO_CLASS; - } - else if (ClassList[Class].RequiredSizeQUERY > 0 && - BufferLength != ClassList[Class].RequiredSizeQUERY) - { - if (!(ClassList[Class].Flags & ICIF_QUERY_SIZE_VARIABLE)) - { - Status = STATUS_INFO_LENGTH_MISMATCH; - } - } - - if (NT_SUCCESS(Status)) - { - if (PreviousMode != KernelMode) - { - _SEH2_TRY - { - if (Buffer != NULL) - { - ProbeForWrite(Buffer, - BufferLength, - ClassList[Class].AlignmentQUERY); - } - - if (ReturnLength != NULL) - { - ProbeForWriteUlong(ReturnLength); - } - } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) - { - Status = _SEH2_GetExceptionCode(); - } - _SEH2_END; - } - } - } - else - Status = STATUS_INVALID_INFO_CLASS; - - return Status; -} - /* * Use IsPointerOffset to test whether a pointer should be interpreted as an offset * or as a pointer @@ -250,6 +139,7 @@ C_ASSERT(FIELD_OFFSET(KTHREAD, ApcState.Process) == KTHREAD_APCSTATE_PROCESS); C_ASSERT(FIELD_OFFSET(KPROCESS, DirectoryTableBase) == KPROCESS_DIRECTORY_TABLE_BASE); C_ASSERT(FIELD_OFFSET(KPCR, Tib.ExceptionList) == KPCR_EXCEPTION_LIST); + C_ASSERT(FIELD_OFFSET(KPCR, Self) == KPCR_SELF); #ifdef _M_IX86 C_ASSERT(FIELD_OFFSET(KPCR, IRR) == KPCR_IRR);
Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/ntoskrnl.h... ============================================================================== --- trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -1,101 +1,4 @@ -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS Kernel - * FILE: ntoskrnl/include/ntoskrnl.h - * PURPOSE: Main Kernel Header - * PROGRAMMER: Alex Ionescu (alex@relsoft.net) - */ +#include "precomp.h"
-/* INCLUDES ******************************************************************/ - -/* Version Data */ -#undef __MSVCRT__ -#include <psdk/ntverp.h> - -/* DDK/IFS/NDK Headers */ -#ifdef _MSC_VER -#include <excpt.h> -#include <ntdef.h> -#undef DECLSPEC_IMPORT -#define DECLSPEC_IMPORT -#endif -#include <ntifs.h> -#include <wdmguid.h> -#include <arc/arc.h> -#include <ntndk.h> -#undef TEXT -#define TEXT(s) L##s -#include <regstr.h> - -/* FIXME: Temporary until CC Ros is gone */ -#include <ccros.h> -#include <rosldr.h> - -/* Disk Dump Driver Header */ -#include <diskdump/diskdump.h> - -/* C Headers */ -#include <stdlib.h> -#include <stdio.h> -#include <ctype.h> -#include <malloc.h> -#include <wchar.h> - -/* SEH support with PSEH */ -#include <pseh/pseh.h> -#include <pseh/pseh2.h> - -/* ReactOS Headers */ -#include <reactos/buildno.h> -#include <reactos/bugcodes.h> -#define ExRaiseStatus RtlRaiseStatus +/* Headers that shouldn't be precompiled due to GCC bugs */ #include <reactos/probe.h> - -/* SetupLDR Support */ -#include <arc/setupblk.h> - -/* KD Support */ -#define NOEXTAPI -#include <windbgkd.h> -#include <wdbgexts.h> -#include <kddll.h> -#ifndef _WINKD_ -#include <reactos/rossym.h> -#endif - -/* PNP GUIDs */ -#include <umpnpmgr/sysguid.h> - -/* Helper Header */ -#include <reactos/helper.h> - -/* Internal Headers */ -#include "internal/ntoskrnl.h" -#include "config.h" - -// -// Define the internal versions of external and public global data -// -#define IoFileObjectType _IoFileObjectType -#define PsThreadType _PsThreadType -#define PsProcessType _PsProcessType -#define ExEventObjectType _ExEventObjectType -#define ExSemaphoreObjectType _ExSemaphoreObjectType -#define KdDebuggerEnabled _KdDebuggerEnabled -#define KdDebuggerNotPresent _KdDebuggerNotPresent -#define NlsOemLeadByteInfo _NlsOemLeadByteInfo -extern PUSHORT _NlsOemLeadByteInfo; -#define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray -#undef LEGAL_ANSI_CHARACTER_ARRAY -#undef NLS_MB_CODE_PAGE_TAG -#undef NLS_OEM_LEAD_BYTE_INFO -#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray -#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag -#define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo -#undef KD_DEBUGGER_ENABLED -#undef KD_DEBUGGER_NOT_PRESENT -#define KD_DEBUGGER_ENABLED KdDebuggerEnabled -#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent -#define HalDispatchTable _HalDispatchTable -#undef HALDISPATCH -#define HALDISPATCH (&HalDispatchTable)
Added: trunk/reactos/ntoskrnl/include/precomp.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/precomp.h?... ============================================================================== --- trunk/reactos/ntoskrnl/include/precomp.h (added) +++ trunk/reactos/ntoskrnl/include/precomp.h [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -1,0 +1,100 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Kernel + * FILE: ntoskrnl/include/ntoskrnl.h + * PURPOSE: Main Kernel Header + * PROGRAMMER: Alex Ionescu (alex@relsoft.net) + */ + +/* INCLUDES ******************************************************************/ + +/* Version Data */ +#undef __MSVCRT__ +#include <psdk/ntverp.h> + +/* DDK/IFS/NDK Headers */ +#ifdef _MSC_VER +#include <excpt.h> +#include <ntdef.h> +#undef DECLSPEC_IMPORT +#define DECLSPEC_IMPORT +#endif +#include <ntifs.h> +#include <wdmguid.h> +#include <arc/arc.h> +#include <ntndk.h> +#undef TEXT +#define TEXT(s) L##s +#include <regstr.h> + +/* FIXME: Temporary until CC Ros is gone */ +#include <ccros.h> +#include <rosldr.h> + +/* Disk Dump Driver Header */ +#include <diskdump/diskdump.h> + +/* C Headers */ +#include <stdlib.h> +#include <stdio.h> +#include <ctype.h> +#include <malloc.h> +#include <wchar.h> + +/* SEH support with PSEH */ +#include <pseh/pseh.h> +#include <pseh/pseh2.h> + +/* ReactOS Headers */ +#include <reactos/buildno.h> +#include <reactos/bugcodes.h> + +/* SetupLDR Support */ +#include <arc/setupblk.h> + +/* KD Support */ +#define NOEXTAPI +#include <windbgkd.h> +#include <wdbgexts.h> +#include <kddll.h> +#ifndef _WINKD_ +#include <reactos/rossym.h> +#endif + +/* PNP GUIDs */ +#include <umpnpmgr/sysguid.h> + +/* Helper Header */ +#include <reactos/helper.h> + +/* Internal Headers */ +#include "internal/ntoskrnl.h" +#include "config.h" + +// +// Define the internal versions of external and public global data +// +#define IoFileObjectType _IoFileObjectType +#define PsThreadType _PsThreadType +#define PsProcessType _PsProcessType +#define ExEventObjectType _ExEventObjectType +#define ExSemaphoreObjectType _ExSemaphoreObjectType +#define KdDebuggerEnabled _KdDebuggerEnabled +#define KdDebuggerNotPresent _KdDebuggerNotPresent +#define NlsOemLeadByteInfo _NlsOemLeadByteInfo +extern PUSHORT _NlsOemLeadByteInfo; +#define FsRtlLegalAnsiCharacterArray _FsRtlLegalAnsiCharacterArray +#undef LEGAL_ANSI_CHARACTER_ARRAY +#undef NLS_MB_CODE_PAGE_TAG +#undef NLS_OEM_LEAD_BYTE_INFO +#define LEGAL_ANSI_CHARACTER_ARRAY FsRtlLegalAnsiCharacterArray +#define NLS_MB_CODE_PAGE_TAG NlsMbOemCodePageTag +#define NLS_OEM_LEAD_BYTE_INFO _NlsOemLeadByteInfo +#undef KD_DEBUGGER_ENABLED +#undef KD_DEBUGGER_NOT_PRESENT +#define KD_DEBUGGER_ENABLED KdDebuggerEnabled +#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent +#define HalDispatchTable _HalDispatchTable +#undef HALDISPATCH +#define HALDISPATCH (&HalDispatchTable) +#define ExRaiseStatus RtlRaiseStatus
Propchange: trunk/reactos/ntoskrnl/include/precomp.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl-generic.r... ============================================================================== --- trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -35,7 +35,7 @@ <dependency>bugcodes</dependency> <!-- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38269 <directory name="include"> - <pch>ntoskrnl.h</pch> + <pch>precomp.h</pch> </directory> --> <directory name="ke">
Added: trunk/reactos/subsystems/win32/win32k/pch.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/pch... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/pch.h (added) +++ trunk/reactos/subsystems/win32/win32k/pch.h [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -1,0 +1,142 @@ +#ifndef __W32K_H +#define __W32K_H +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Graphics Subsystem + * FILE: subsys/win32k/w32k.h + * PURPOSE: Main Win32K Header + * PROGRAMMER: Alex Ionescu (alex@relsoft.net) + */ + +/* INCLUDES ******************************************************************/ + +#define _NO_COM + +/* DDK/NDK/SDK Headers */ +#include <ddk/ntddk.h> +#include <ddk/ntddmou.h> +#include <ddk/ntifs.h> +#include <ddk/tvout.h> +#include <ndk/ntndk.h> + +/* Win32 Headers */ +/* FIXME: Defines in winbase.h that we need... */ +typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES; +#define WINBASEAPI +#define STARTF_USESIZE 2 +#define STARTF_USEPOSITION 4 +#include <stdarg.h> +#include <windef.h> +#include <winerror.h> +#include <wingdi.h> +#include <winddi.h> +#include <winuser.h> +#include <prntfont.h> +#include <dde.h> +#include <wincon.h> +#define _NOCSECT_TYPE +#include <ddrawi.h> + +/* SEH Support with PSEH */ +#include <pseh/pseh.h> + +/* CSRSS Header */ +#include <csrss/csrss.h> + +/* Helper Header */ +#include <reactos/helper.h> + +/* Public Win32K Headers */ +#include <win32k/callback.h> +#include <win32k/ntusrtyp.h> +#include <win32k/ntuser.h> +#include <win32k/ntgdityp.h> +#include <win32k/ntgdibad.h> +#include <ntgdi.h> + +/* Internal Win32K Header */ +#include "include/win32k.h" + +/* Undocumented stuff */ +typedef DRIVEROBJ *PDRIVEROBJ; +#define WM_SYSTIMER 280 +#ifndef M_PI +#define M_PI 3.14159265358979323846f +#define M_PI_2 1.57079632679489661923 +#endif + +/* User heap */ +extern HANDLE GlobalUserHeap; + +PWIN32HEAP +UserCreateHeap(OUT PSECTION_OBJECT *SectionObject, + IN OUT PVOID *SystemBase, + IN SIZE_T HeapSize); + +static __inline PVOID +UserHeapAlloc(SIZE_T Bytes) +{ + return RtlAllocateHeap(GlobalUserHeap, + HEAP_NO_SERIALIZE, + Bytes); +} + +static __inline BOOL +UserHeapFree(PVOID lpMem) +{ + return RtlFreeHeap(GlobalUserHeap, + HEAP_NO_SERIALIZE, + lpMem); +} + +static __inline PVOID +UserHeapReAlloc(PVOID lpMem, + SIZE_T Bytes) +{ +#if 0 + /* NOTE: ntoskrnl doesn't export RtlReAllocateHeap... */ + return RtlReAllocateHeap(GlobalUserHeap, + HEAP_NO_SERIALIZE, + lpMem, + Bytes); +#else + SIZE_T PrevSize; + PVOID pNew; + + PrevSize = RtlSizeHeap(GlobalUserHeap, + HEAP_NO_SERIALIZE, + lpMem); + + if (PrevSize == Bytes) + return lpMem; + + pNew = RtlAllocateHeap(GlobalUserHeap, + HEAP_NO_SERIALIZE, + Bytes); + if (pNew != NULL) + { + if (PrevSize < Bytes) + Bytes = PrevSize; + + RtlCopyMemory(pNew, + lpMem, + Bytes); + + RtlFreeHeap(GlobalUserHeap, + HEAP_NO_SERIALIZE, + lpMem); + } + + return pNew; +#endif +} + +static __inline PVOID +UserHeapAddressToUser(PVOID lpMem) +{ + PW32PROCESS W32Process = PsGetCurrentProcessWin32Process(); + return (PVOID)(((ULONG_PTR)lpMem - (ULONG_PTR)GlobalUserHeap) + + (ULONG_PTR)W32Process->HeapMappings.UserMapping); +} + +#endif /* __W32K_H */
Propchange: trunk/reactos/subsystems/win32/win32k/pch.h ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/subsystems/win32/win32k/w32k.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w32... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32k.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/w32k.h [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -1,145 +1,5 @@ -#ifndef __W32K_H -#define __W32K_H -/* - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS Graphics Subsystem - * FILE: subsys/win32k/w32k.h - * PURPOSE: Main Win32K Header - * PROGRAMMER: Alex Ionescu (alex@relsoft.net) - */ +#include "pch.h"
-/* INCLUDES ******************************************************************/ - -#define _NO_COM - -/* DDK/NDK/SDK Headers */ -#include <ddk/ntddk.h> -#include <ddk/ntddmou.h> -#include <ddk/ntifs.h> -#include <ddk/tvout.h> -#include <ndk/ntndk.h> - -/* Win32 Headers */ -/* FIXME: Defines in winbase.h that we need... */ -typedef struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES; -#define WINBASEAPI -#define STARTF_USESIZE 2 -#define STARTF_USEPOSITION 4 -#include <stdarg.h> -#include <windef.h> -#include <winerror.h> -#include <wingdi.h> -#include <winddi.h> -#include <winuser.h> -#include <prntfont.h> -#include <dde.h> -#include <wincon.h> -#define _NOCSECT_TYPE -#include <ddrawi.h> - -/* SEH Support with PSEH */ -#include <pseh/pseh.h> - -/* CSRSS Header */ -#include <csrss/csrss.h> - -/* Helper Header */ -#include <reactos/helper.h> - +/* Headers that shouldn't be precompiled due to GCC bugs */ /* Probe and capture */ #include <reactos/probe.h> - -/* Public Win32K Headers */ -#include <win32k/callback.h> -#include <win32k/ntusrtyp.h> -#include <win32k/ntuser.h> -#include <win32k/ntgdityp.h> -#include <win32k/ntgdibad.h> -#include <ntgdi.h> - -/* Internal Win32K Header */ -#include "include/win32k.h" - -/* Undocumented stuff */ -typedef DRIVEROBJ *PDRIVEROBJ; -#define WM_SYSTIMER 280 -#ifndef M_PI -#define M_PI 3.14159265358979323846f -#define M_PI_2 1.57079632679489661923 -#endif - -/* User heap */ -extern HANDLE GlobalUserHeap; - -PWIN32HEAP -UserCreateHeap(OUT PSECTION_OBJECT *SectionObject, - IN OUT PVOID *SystemBase, - IN SIZE_T HeapSize); - -static __inline PVOID -UserHeapAlloc(SIZE_T Bytes) -{ - return RtlAllocateHeap(GlobalUserHeap, - HEAP_NO_SERIALIZE, - Bytes); -} - -static __inline BOOL -UserHeapFree(PVOID lpMem) -{ - return RtlFreeHeap(GlobalUserHeap, - HEAP_NO_SERIALIZE, - lpMem); -} - -static __inline PVOID -UserHeapReAlloc(PVOID lpMem, - SIZE_T Bytes) -{ -#if 0 - /* NOTE: ntoskrnl doesn't export RtlReAllocateHeap... */ - return RtlReAllocateHeap(GlobalUserHeap, - HEAP_NO_SERIALIZE, - lpMem, - Bytes); -#else - SIZE_T PrevSize; - PVOID pNew; - - PrevSize = RtlSizeHeap(GlobalUserHeap, - HEAP_NO_SERIALIZE, - lpMem); - - if (PrevSize == Bytes) - return lpMem; - - pNew = RtlAllocateHeap(GlobalUserHeap, - HEAP_NO_SERIALIZE, - Bytes); - if (pNew != NULL) - { - if (PrevSize < Bytes) - Bytes = PrevSize; - - RtlCopyMemory(pNew, - lpMem, - Bytes); - - RtlFreeHeap(GlobalUserHeap, - HEAP_NO_SERIALIZE, - lpMem); - } - - return pNew; -#endif -} - -static __inline PVOID -UserHeapAddressToUser(PVOID lpMem) -{ - PW32PROCESS W32Process = PsGetCurrentProcessWin32Process(); - return (PVOID)(((ULONG_PTR)lpMem - (ULONG_PTR)GlobalUserHeap) + - (ULONG_PTR)W32Process->HeapMappings.UserMapping); -} - -#endif /* __W32K_H */
Modified: trunk/reactos/subsystems/win32/win32k/win32k.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/win... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Sat Nov 29 23:49:18 2008 @@ -11,7 +11,7 @@ <include base="ReactOS">include/reactos/drivers</include> <define name="LANGPACK" /> <define name="_WIN32K_" /> - <pch>w32k.h</pch> + <pch>pch.h</pch>
<directory name="dib" root="intermediate"> <file>dib8gen.c</file>