Author: fireball Date: Fri Jul 17 15:08:57 2009 New Revision: 42002
URL: http://svn.reactos.org/svn/reactos?rev=42002&view=rev Log: - Import some win32k parts from nwin32 branch.
Added: branches/arwinss/reactos/subsystems/win32/win32k/gre/ (with props) branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c (with props) branches/arwinss/reactos/subsystems/win32/win32k/include/ (with props) branches/arwinss/reactos/subsystems/win32/win32k/include/win32k.h (with props) branches/arwinss/reactos/subsystems/win32/win32k/include/win32kp.h (with props) branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db branches/arwinss/reactos/subsystems/win32/win32k/win32k.def (with props) branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild (with props) branches/arwinss/reactos/subsystems/win32/win32k/win32k.rc (with props)
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/gre/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Fri Jul 17 15:08:57 2009 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/gre/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/gre/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/gre/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
Added: branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,197 @@ +/* + * PROJECT: ReactOS Win32K + * LICENSE: GPL - See COPYING in the top level directory + * FILE: subsystems/win32/win32k/gre/init.c + * PURPOSE: Driver Initialization + * PROGRAMMERS: Aleksey Bragin (aleksey@reactos.org) + */ + +/* INCLUDES ******************************************************************/ + +#include <win32k.h> + +/* System service call table */ +#include <include/napi.h> + +#define NDEBUG +#include <debug.h> + +/* PRIVATE FUNCTIONS *********************************************************/ + +NTSTATUS +APIENTRY +Win32kProcessCallout(PEPROCESS Process, + BOOLEAN Create) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kThreadCallout(PETHREAD Thread, + PSW32THREADCALLOUTTYPE Type) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kGlobalAtomTableCallout(VOID) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kPowerEventCallout(PWIN32_POWEREVENT_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kPowerStateCallout(PWIN32_POWERSTATE_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kJobCallout(PWIN32_JOBCALLOUT_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kDesktopOpenProcedure(PWIN32_OPENMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kDesktopOkToCloseProcedure(PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kDesktopCloseProcedure(PWIN32_CLOSEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +VOID +APIENTRY +Win32kDesktopDeleteProcedure(PWIN32_DELETEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; +} + +NTSTATUS +APIENTRY +Win32kWindowStationOkToCloseProcedure(PWIN32_OKAYTOCLOSEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kWindowStationCloseProcedure(PWIN32_CLOSEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +VOID +APIENTRY +Win32kWindowStationDeleteProcedure(PWIN32_DELETEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; +} + +NTSTATUS +APIENTRY +Win32kWindowStationParseProcedure(PWIN32_PARSEMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kWindowStationOpenProcedure(PWIN32_OPENMETHOD_PARAMETERS Parameters) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +NTSTATUS +APIENTRY +Win32kWin32DataCollectionProcedure(PEPROCESS Process, + PVOID Callback, + PVOID Context) +{ + UNIMPLEMENTED; + return STATUS_SUCCESS; +} + +/* DRIVER ENTRYPOINT *********************************************************/ + +NTSTATUS +NTAPI +DriverEntry(IN PDRIVER_OBJECT DriverObject, + PUNICODE_STRING RegistryPath) +{ + WIN32_CALLOUTS_FPNS CalloutData; + + DPRINT1("Win32k initialization: DO %p, RegPath %wZ\n", DriverObject, + RegistryPath); + + /* Add system service table */ + if (!KeAddSystemServiceTable(Win32kSSDT, + NULL, + Win32kNumberOfSysCalls, + Win32kSSPT, + 1)) + { + DPRINT1("Error adding system service table!\n"); + return STATUS_UNSUCCESSFUL; + } + + /* Set up Win32 callouts */ + CalloutData.ProcessCallout = Win32kProcessCallout; + CalloutData.ThreadCallout = Win32kThreadCallout; + CalloutData.GlobalAtomTableCallout = Win32kGlobalAtomTableCallout; + CalloutData.PowerEventCallout = Win32kPowerEventCallout; + CalloutData.PowerStateCallout = Win32kPowerStateCallout; + CalloutData.JobCallout = Win32kJobCallout; + CalloutData.BatchFlushRoutine = NtGdiFlushUserBatch; + CalloutData.DesktopOpenProcedure = Win32kDesktopOpenProcedure; + CalloutData.DesktopOkToCloseProcedure = Win32kDesktopOkToCloseProcedure; + CalloutData.DesktopCloseProcedure = Win32kDesktopCloseProcedure; + CalloutData.DesktopDeleteProcedure = Win32kDesktopDeleteProcedure; + CalloutData.WindowStationOkToCloseProcedure = Win32kWindowStationOkToCloseProcedure; + CalloutData.WindowStationCloseProcedure = Win32kWindowStationCloseProcedure; + CalloutData.WindowStationDeleteProcedure = Win32kWindowStationDeleteProcedure; + CalloutData.WindowStationParseProcedure = Win32kWindowStationParseProcedure; + CalloutData.WindowStationOpenProcedure = Win32kWindowStationOpenProcedure; + CalloutData.Win32DataCollectionProcedure = Win32kWin32DataCollectionProcedure; + + /* Register them */ + PsEstablishWin32Callouts(&CalloutData); + + return STATUS_SUCCESS; +}
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/gre/init.c ------------------------------------------------------------------------------ svn:eol-style = native
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Fri Jul 17 15:08:57 2009 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
Added: branches/arwinss/reactos/subsystems/win32/win32k/include/win32k.h URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/include/win32k.h (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/include/win32k.h [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,78 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Win32K + * FILE: subsystems/win32/win32k/include/win32k.h + * PURPOSE: Main Win32K Header + * PROGRAMMER: Aleksey Bragin (aleksey@reactos.org) + */ + +/* INCLUDES ******************************************************************/ + +/* Version Data */ +#undef __MSVCRT__ +#include <psdk/ntverp.h> +#define _WIN32_WINNT _WIN32_WINNT_WS03 +#define NTDDI_VERSION NTDDI_WS03SP1 +#define WINVER 0x600 + +/* Initial DDK/IFS Headers */ +#ifdef _MSC_VER +#include <excpt.h> +#include <ntdef.h> +#undef DECLSPEC_IMPORT +#define DECLSPEC_IMPORT +#endif +#include <ntifs.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 <stdlib.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> + +/* This set of headers is greatly incompatible */ +/* TODO: Either fix ddrawi.h + all dependencies, or create a new temporary + header */ +#define _NOCSECT_TYPE +// #include <ddrawi.h> +typedef LPVOID LPVIDMEM; +typedef LPVOID LPVMEMHEAP; +typedef LPVOID LPSURFACEALIGNMENT; + +/* NDK Headers */ +#include <ntndk.h> + +/* SEH Support with PSEH */ +#include <pseh/pseh.h> + +/* CSRSS Header */ +#include <csrss/csrss.h> + +/* Helper Header */ +#include <reactos/helper.h> + +/* 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/ntgdihdl.h> +#define LANGPACK +#include <psdk/ntgdi.h> + +/* Internal Win32K Header */ +#include <win32kp.h>
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/win32k.h ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/arwinss/reactos/subsystems/win32/win32k/include/win32kp.h URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/include/win32kp.h (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/include/win32kp.h [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,27 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Win32K + * FILE: subsystems/win32/win32k/include/win32kp.h + * PURPOSE: Internal Win32K Header + * PROGRAMMER: Stefan Ginsberg (stefan__100__@hotmail.com) + */ + +#ifndef _INCLUDE_INTERNAL_WIN32K_H +#define _INCLUDE_INTERNAL_WIN32K_H + +/* INCLUDES ******************************************************************/ + +/* Prototypes */ +NTSTATUS +APIENTRY +NtGdiFlushUserBatch( + VOID +); + +/* Internal Win32K Headers */ +//#include <gdiobj.h> +//#include <engobj.h> +//#include <userobj.h> + + +#endif
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/win32kp.h ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,1 @@ +ServDoNothing 1
Added: branches/arwinss/reactos/subsystems/win32/win32k/win32k.def URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/win32k.def (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/win32k.def [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,17 @@ +; Win32 Kernel Driver Exports +LIBRARY win32k +EXPORTS +RtlAnsiCharToUnicodeChar@4=NTOSKRNL.RtlAnsiCharToUnicodeChar +RtlMultiByteToUnicodeN@20=NTOSKRNL.RtlMultiByteToUnicodeN +RtlRaiseException@4=NTOSKRNL.RtlRaiseException +RtlUnicodeToMultiByteN@20=NTOSKRNL.RtlUnicodeToMultiByteN +RtlUnicodeToMultiByteSize@12=NTOSKRNL.RtlUnicodeToMultiByteSize +RtlUnwind@16=NTOSKRNL.RtlUnwind +RtlUpcaseUnicodeChar@4=NTOSKRNL.RtlUpcaseUnicodeChar +RtlUpcaseUnicodeToMultiByteN@20=NTOSKRNL.RtlUpcaseUnicodeToMultiByteN +_abnormal_termination=NTOSKRNL._abnormal_termination +_except_handler2=NTOSKRNL._except_handler2 +_global_unwind2=NTOSKRNL._global_unwind2 +_itoa@12=NTOSKRNL._itoa +_itow@12=NTOSKRNL._itow +_local_unwind2=NTOSKRNL._local_unwind2
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/win32k.def ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,24 @@ +<?xml version="1.0"?> +<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd"> +<group> +<module name="win32k" type="kernelmodedriver" installbase="system32" installname="win32k.sys"> + <importlibrary definition="win32k.def" /> + <define name="_WIN32K_" /> + <include base="win32k">include</include> + <include base="win32k" root="intermediate"></include> + <include base="win32k" root="intermediate">include</include> + <include base="ReactOS">include/reactos/subsys</include> + <library>ntoskrnl</library> + <library>hal</library> + <library>freetype</library> + <library>libcntpr</library> + <library>pseh</library> + <directory name="include"> + <pch>win32k.h</pch> + </directory> + <directory name="gre"> + <file>init.c</file> + </directory> + <file>win32k.rc</file> +</module> +</group>
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild ------------------------------------------------------------------------------ svn:eol-style = native
Added: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rc URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32... ============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/win32k.rc (added) +++ branches/arwinss/reactos/subsystems/win32/win32k/win32k.rc [iso-8859-1] Fri Jul 17 15:08:57 2009 @@ -1,0 +1,13 @@ +/* + * PROJECT: ReactOS Win32K + * LICENSE: GPL - See COPYING in the top level directory + * FILE: subsystems/win32/win32k/win32k.rc + * PURPOSE: Win32K Resource File + * PROGRAMMERS: Stefan Ginsberg (stefan__100__@hotmail.com) + */ +/* FIXME: Make "correct" like ntoskrnl.rc? */ +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "Win32 Kernel Driver\0" +#define REACTOS_STR_INTERNAL_NAME "win32k\0" +#define REACTOS_STR_ORIGINAL_FILENAME "win32k.sys\0" +#include <reactos/version.rc>
Propchange: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rc ------------------------------------------------------------------------------ svn:eol-style = native