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/win3…
==============================================================================
--- 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(a)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/win3…
==============================================================================
--- 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(a)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/win3…
==============================================================================
--- 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__(a)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/win3…
==============================================================================
--- 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/win3…
==============================================================================
--- 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(a)4=NTOSKRNL.RtlAnsiCharToUnicodeChar
+RtlMultiByteToUnicodeN(a)20=NTOSKRNL.RtlMultiByteToUnicodeN
+RtlRaiseException(a)4=NTOSKRNL.RtlRaiseException
+RtlUnicodeToMultiByteN(a)20=NTOSKRNL.RtlUnicodeToMultiByteN
+RtlUnicodeToMultiByteSize(a)12=NTOSKRNL.RtlUnicodeToMultiByteSize
+RtlUnwind(a)16=NTOSKRNL.RtlUnwind
+RtlUpcaseUnicodeChar(a)4=NTOSKRNL.RtlUpcaseUnicodeChar
+RtlUpcaseUnicodeToMultiByteN(a)20=NTOSKRNL.RtlUpcaseUnicodeToMultiByteN
+_abnormal_termination=NTOSKRNL._abnormal_termination
+_except_handler2=NTOSKRNL._except_handler2
+_global_unwind2=NTOSKRNL._global_unwind2
+_itoa(a)12=NTOSKRNL._itoa
+_itow(a)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/win3…
==============================================================================
--- 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/win3…
==============================================================================
--- 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__(a)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