Move unmaintained stuff (cis, os2, rosky, vms, and msvc6) to a respective branch...
authorAleksey Bragin <aleksey@reactos.org>
Fri, 13 Oct 2006 09:03:51 +0000 (09:03 +0000)
committerAleksey Bragin <aleksey@reactos.org>
Fri, 13 Oct 2006 09:03:51 +0000 (09:03 +0000)
svn path=/trunk/; revision=24497

122 files changed:
cis/ReactOS.ApiStatus/Default.build [deleted file]
cis/ReactOS.ApiStatus/config.template.include [deleted file]
cis/ReactOS.ApiStatus/rapistatus.xsl [deleted file]
cis/ReactOS.CustomRevisionAction/App.config [deleted file]
cis/ReactOS.CustomRevisionAction/AssemblyInfo.cs [deleted file]
cis/ReactOS.CustomRevisionAction/Default.build [deleted file]
cis/ReactOS.CustomRevisionAction/FtpClient.cs [deleted file]
cis/ReactOS.CustomRevisionAction/Main.cs [deleted file]
cis/ReactOS.CustomRevisionAction/RedirectableProcess.cs [deleted file]
cis/ReactOS.RevisionISO/config.template.php [deleted file]
cis/ReactOS.RevisionISO/index.php [deleted file]
cis/ReactOS.Verify/App.config [deleted file]
cis/ReactOS.Verify/AssemblyInfo.cs [deleted file]
cis/ReactOS.Verify/Default.build [deleted file]
cis/ReactOS.Verify/Main.cs [deleted file]
cis/ReactOS.Verify/RedirectableProcess.cs [deleted file]
msvc6/.cvsignore [deleted file]
msvc6/README.txt [deleted file]
msvc6/ReactOS.dsw [deleted file]
msvc6/def_converter/def_converter.cpp [deleted file]
msvc6/def_converter/makefile [deleted file]
msvc6/hal/.cvsignore [deleted file]
msvc6/hal/hal.dsp [deleted file]
msvc6/iface/native/genntdll.c [deleted file]
msvc6/iface/native/makefile [deleted file]
msvc6/ntoskrnl/.cvsignore [deleted file]
msvc6/ntoskrnl/ke_i386_bthread.c [deleted file]
msvc6/ntoskrnl/ke_i386_irqhand.c [deleted file]
msvc6/ntoskrnl/ke_i386_multiboot.c [deleted file]
msvc6/ntoskrnl/ke_i386_stkswitch.c [deleted file]
msvc6/ntoskrnl/ke_i386_syscall.c [deleted file]
msvc6/ntoskrnl/ke_i386_trap.c [deleted file]
msvc6/ntoskrnl/ke_i386_tskswitch.c [deleted file]
msvc6/ntoskrnl/ke_i386_v86m_sup.c [deleted file]
msvc6/ntoskrnl/linkorder.txt [deleted file]
msvc6/ntoskrnl/mm_i386_memsafe.c [deleted file]
msvc6/ntoskrnl/mm_mminit_msvc.c [deleted file]
msvc6/ntoskrnl/ntoskrnl.dsp [deleted file]
msvc6/ntoskrnl/rtl_i386_except.c [deleted file]
os2/apps/bepslep/Makefile [deleted file]
os2/apps/bepslep/bepslep.c [deleted file]
os2/apps/bepslep/bepslep.xml [deleted file]
os2/apps/directory.xml [deleted file]
os2/copying [deleted file]
os2/directory.xml [deleted file]
os2/dirstruct.txt [deleted file]
os2/doc/how to start.txt [deleted file]
os2/doc/index.html [deleted file]
os2/include/os2.h [deleted file]
os2/include/ros2.h [deleted file]
os2/install.bat [deleted file]
os2/lib/directory.xml [deleted file]
os2/lib/doscalls/devices/devices.cpp [deleted file]
os2/lib/doscalls/devices/ioctl_async.cpp [deleted file]
os2/lib/doscalls/doscalls.def [deleted file]
os2/lib/doscalls/doscalls.def.bak [deleted file]
os2/lib/doscalls/doscalls.edf [deleted file]
os2/lib/doscalls/doscalls.rc [deleted file]
os2/lib/doscalls/doscalls.xml [deleted file]
os2/lib/doscalls/file/directory.cpp [deleted file]
os2/lib/doscalls/file/openclose.cpp [deleted file]
os2/lib/doscalls/implemented_functions_info.txt [deleted file]
os2/lib/doscalls/makefile [deleted file]
os2/lib/doscalls/memory/memory.cpp [deleted file]
os2/lib/doscalls/misc/doscalls.cpp [deleted file]
os2/lib/doscalls/misc/error.cpp [deleted file]
os2/lib/doscalls/run/process.cpp [deleted file]
os2/makefile [deleted file]
os2/server/dllmain.c [deleted file]
os2/server/os2srv.def [deleted file]
os2/server/os2srv.h [deleted file]
os2/server/os2srv.rc [deleted file]
os2/server/os2srv.xml [deleted file]
os2/server/server.c [deleted file]
os2/utils/LXDUMP.EXE [deleted file]
rosky/.gitignore [deleted file]
rosky/directory.xml [deleted file]
rosky/include/.gitignore [deleted file]
rosky/include/defines.h [deleted file]
rosky/include/rosky.h [deleted file]
rosky/include/structs.h [deleted file]
rosky/lib/.gitignore [deleted file]
rosky/lib/directory.xml [deleted file]
rosky/lib/libsky/libsky.c [deleted file]
rosky/lib/libsky/libsky.def [deleted file]
rosky/lib/libsky/libsky.h [deleted file]
rosky/lib/libsky/libsky.rc [deleted file]
rosky/lib/libsky/libsky.xml [deleted file]
rosky/lib/libsky/resource.h [deleted file]
rosky/lib/libsky/stubs.c [deleted file]
rosky/lib/libskygi/libskygi.c [deleted file]
rosky/lib/libskygi/libskygi.def [deleted file]
rosky/lib/libskygi/libskygi.h [deleted file]
rosky/lib/libskygi/libskygi.rc [deleted file]
rosky/lib/libskygi/libskygi.xml [deleted file]
rosky/lib/libskygi/resource.h [deleted file]
rosky/lib/libskygi/stubs.c [deleted file]
rosky/makefile [deleted file]
vms/copying [deleted file]
vms/directory.xml [deleted file]
vms/include/vms/lpcproto.h [deleted file]
vms/lib/directory.xml [deleted file]
vms/lib/vmsdll/dllmain.c [deleted file]
vms/lib/vmsdll/lib/stubs.c [deleted file]
vms/lib/vmsdll/makefile [deleted file]
vms/lib/vmsdll/readme.txt [deleted file]
vms/lib/vmsdll/rms/stubs.c [deleted file]
vms/lib/vmsdll/sys/stubs.c [deleted file]
vms/lib/vmsdll/vmsdll.def [deleted file]
vms/lib/vmsdll/vmsdll.rc [deleted file]
vms/lib/vmsdll/vmsdll.xml [deleted file]
vms/makefile [deleted file]
vms/readme.txt [deleted file]
vms/server/dllmain.c [deleted file]
vms/server/makefile [deleted file]
vms/server/server.c [deleted file]
vms/server/vmssrv.def [deleted file]
vms/server/vmssrv.h [deleted file]
vms/server/vmssrv.rc [deleted file]
vms/server/vmssrv.xml [deleted file]
vms/tools/directory.xml [deleted file]
vms/tools/mksystab/mksystab.xml [deleted file]

diff --git a/cis/ReactOS.ApiStatus/Default.build b/cis/ReactOS.ApiStatus/Default.build
deleted file mode 100644 (file)
index b5fd270..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0"?>
-<!--
-   Copyright (C) 2005 Casper S. Hornstrup
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--->
-<project name="ReactOS.ApiStatus" default="publish">
-
-       <property name="reactos.dir" value="reactos" />
-       <property name="apistatus.xsl" value="rapistatus.xsl" />
-       <property name="apistatus.xml" value="rapistatus.xml" />
-       <property name="apistatus.html" value="index2.html" />
-       <include buildfile="config.include" />
-
-       <target name="publish">
-               <delete dir="${reactos.dir}" if="${directory::exists(reactos.dir)}" />
-               <exec program="svn" commandline="export -r HEAD ${source.url} ${reactos.dir}" />
-               <exec program="rgenstat" commandline="reactos\apistatus.lst ${apistatus.xml}" />
-               <style style="${apistatus.xsl}" destdir="${reactos.dir}" in="${apistatus.xml}" out="${apistatus.html}" />
-               <copy todir="${publish.dir}" overwrite="true">
-                       <fileset basedir=".">
-                               <include name="${apistatus.xml}" />
-                               <include name="${apistatus.html}" />
-                       </fileset>
-               </copy>
-               <delete>
-                       <fileset basedir=".">
-                               <include name="${apistatus.xml}" />
-                               <include name="${apistatus.html}" />
-                       </fileset>
-               </delete>
-               <delete dir="${reactos.dir}" if="${directory::exists(reactos.dir)}" />
-       </target>
-</project>
diff --git a/cis/ReactOS.ApiStatus/config.template.include b/cis/ReactOS.ApiStatus/config.template.include
deleted file mode 100644 (file)
index 68b56b9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Copyright (C) 2005 Casper S. Hornstrup
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--->
-<project>
-       <property name="source.url" value="svn://svn.reactos.com/trunk/reactos" />
-       <property name="publish.dir" value="C:\api" />
-</project>
diff --git a/cis/ReactOS.ApiStatus/rapistatus.xsl b/cis/ReactOS.ApiStatus/rapistatus.xsl
deleted file mode 100755 (executable)
index 7812917..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-<?xml version="1.0" ?>
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-       <xsl:output method="html" indent="no"/>
-       <!--    <xsl:output method="xml"/>-->
-<!-- Will not work:    <xsl:strip-space elements="*"/> -->
-
-       <xsl:template match="/">
-               <HTML>
-                       <HEAD>
-                               <TITLE>
-                                       ReactOS API Status
-                               </TITLE>
-                               <SCRIPT src="rapistatus.js"></SCRIPT>
-                               <LINK rel="stylesheet" type="text/css" href="rapistatus.css"></LINK>
-                       </HEAD>
-                       <BODY onLoad="onLoad();">
-                               <P>
-                                       <H1>ReactOS API Status</H1>
-                               </P>
-                               <P>
-                                       <TABLE>
-                                               <TR>
-                                                       <TD> <INPUT type="checkbox" ID="implemented" onClick="selectImplemented();" checked="1"/> </TD>
-                                                       <TD> <IMG src="i.gif"/> </TD>
-                                                       <TD> Implemented </TD>
-                                                       <TD width="20"/>
-                                               </TR>
-                                               <TR>
-                                                       <TD> <INPUT type="checkbox" ID="unimplemented" onClick="selectUnimplemented();" checked="1"/> </TD>
-                                                       <TD> <IMG src="u.gif"/> </TD>
-                                                       <TD> Unimplemented </TD>
-                                                       <TD width="20"/>
-                                               </TR>
-                                       </TABLE>
-                               </P>
-                               <DIV ID="ROOT">
-                                       <xsl:apply-templates/>
-                               </DIV>
-                               <P>
-                                       Legend :<BR/>
-                                       <TABLE>
-                                               <TR>
-                                                       <TD> <IMG src="c.gif"/> </TD>
-                                                       <TD> Component </TD>
-                                                       <TD> <IMG src="i.gif"/> </TD>
-                                                       <TD> Implemented </TD>
-                                                       <TD> <IMG src="sc.gif"/> </TD>
-                                                       <TD> Complete </TD>
-                                               <TR>
-                                               </TR>
-                                                       <TD> <IMG src="f.gif"/> </TD>
-                                                       <TD> Function </TD>
-                                                       <TD> <IMG src="u.gif"/> </TD>
-                                                       <TD> Unimplemented </TD>
-                                                       <TD></TD>
-                                                       <TD></TD>
-                                               </TR>
-                                       </TABLE>
-
-                               </P>
-                       </BODY>
-               </HTML>
-       </xsl:template>
-
-
-       <!-- component -->
-       <xsl:template match="/components">
-               <xsl:apply-templates select="component">
-                       <xsl:sort select="@name"/>
-               </xsl:apply-templates>
-       </xsl:template>
-
-       <xsl:template match="components/component[@implemented_total or @unimplemented_total]">
-               <DIV>
-                       <xsl:call-template name="ELEMENT">
-                               <xsl:with-param name="class">c</xsl:with-param>
-                       </xsl:call-template>
-                       <xsl:apply-templates>
-                               <xsl:with-param name="base"><xsl:value-of select="@base"/></xsl:with-param>
-                       </xsl:apply-templates>
-               </DIV>
-       </xsl:template>
-
-
-       <!-- function -->
-       <xsl:template match="functions">
-               <xsl:param name="base"/>
-               <xsl:apply-templates select="f">
-                       <xsl:sort select="@n"/>
-                       <xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
-               </xsl:apply-templates>
-       </xsl:template>
-
-       <xsl:template match="functions/f">
-               <xsl:param name="base"/>
-               <DIV>
-                       <xsl:call-template name="ELEMENT">
-                               <xsl:with-param name="class">f</xsl:with-param>
-                               <xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
-                       </xsl:call-template>
-                       <xsl:apply-templates/>
-               </DIV>
-       </xsl:template>
-
-
-       <!-- support templates -->
-
-       <xsl:template name="ELEMENT">
-               <xsl:param name="class"/>
-               <xsl:param name="base"/>
-               <xsl:param name="image"/>
-                       <xsl:attribute name="class">
-                       <xsl:value-of select="$class"/>
-                       <xsl:text>_</xsl:text>
-                       </xsl:attribute>
-                       <xsl:call-template name="toggle"/>
-                       <xsl:choose>
-                               <xsl:when test="local-name() != 'component' and @i = 'true'">
-                                       <img src="i.gif" class="i"/>
-                               </xsl:when>
-                               <xsl:when test="local-name() != 'component' and @i = 'false'">
-                                       <img src="u.gif" class="u"/>
-                               </xsl:when>
-                               <xsl:when test="local-name() = 'component' and @complete >= 100">
-                                       <img src="sc.gif"/>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <xsl:value-of select="@i"/><img src="tb.gif" with="12" height="12"/>
-                               </xsl:otherwise>
-                       </xsl:choose>
-                       <xsl:choose>
-                               <xsl:when test="$image">
-                                       <img src="{$image}.gif" class="t"/>
-                               </xsl:when>
-                               <xsl:otherwise>
-                                       <img src="{$class}.gif" class="t"/>
-                               </xsl:otherwise>
-                       </xsl:choose>
-                       <xsl:call-template name="name"/>
-                       <xsl:call-template name="n"/>
-                       <xsl:call-template name="file">
-                               <xsl:with-param name="base"><xsl:value-of select="$base"/></xsl:with-param>
-                       </xsl:call-template>
-                       <xsl:call-template name="status"/>
-       </xsl:template>
-
-       <xsl:template name="status">
-               <xsl:if test="@complete and @complete != 0">
-                       <SPAN class="st">
-                               <img src="sc.gif"/>
-                               <xsl:text>: </xsl:text>
-                               <xsl:value-of select="@complete"/>
-                               <xsl:text>%</xsl:text>
-                       </SPAN>
-               </xsl:if>
-               <xsl:if test="@implemented_total">
-                       <SPAN class="st">
-                               <img src="i.gif"/>: <xsl:value-of select="@implemented_total"/>
-                       </SPAN>
-               </xsl:if>
-               <xsl:if test="@unimplemented_total">
-                       <SPAN class="st">
-                               <img src="u.gif"/>: <xsl:value-of select="@unimplemented_total"/>
-                       </SPAN>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="toggle">
-               <xsl:choose>
-                       <xsl:when test="local-name() = 'component'">
-                               <IMG src="tp.gif" class="t"/>
-                       </xsl:when>
-                       <xsl:otherwise>
-                       <IMG src="tb.gif"/>
-                       </xsl:otherwise>
-               </xsl:choose>
-       </xsl:template>
-
-       <xsl:template name="name">
-               <xsl:if test="@name">
-                       <SPAN class="l"><xsl:value-of select="@name"/></SPAN>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="n">
-               <xsl:if test="@n">
-                       <SPAN class="l"><xsl:value-of select="@n"/></SPAN>
-               </xsl:if>
-       </xsl:template>
-
-       <xsl:template name="file">
-               <xsl:param name="base"/>
-               <xsl:if test="@f">
-                       <SPAN class="h"><xsl:value-of select="$base"/><xsl:value-of select="@f"/></SPAN>
-               </xsl:if>
-       </xsl:template>
-
-</xsl:stylesheet>
diff --git a/cis/ReactOS.CustomRevisionAction/App.config b/cis/ReactOS.CustomRevisionAction/App.config
deleted file mode 100644 (file)
index 5c694a5..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?> \r
-<configuration>\r
-       <appSettings>\r
-               <add key="publishPath" value="c:\iso" /> <!-- c:\iso or ftp://ftp.server.com/iso -->\r
-               <add key="smtpServer" value="localhost" />\r
-               <add key="errorEmail" value="mailbox@somewhere-on-the-net" />\r
-               <add key="makeParameters" value="" />\r
-               <add key="fastDisk" value="" />\r
-       </appSettings>\r
-</configuration>\r
diff --git a/cis/ReactOS.CustomRevisionAction/AssemblyInfo.cs b/cis/ReactOS.CustomRevisionAction/AssemblyInfo.cs
deleted file mode 100644 (file)
index fa009e2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-using System.Reflection;\r
-using System.Runtime.CompilerServices;\r
-\r
-[assembly: AssemblyTitle("ReactOS Sin Custom Revision Action")]\r
-[assembly: AssemblyDescription("ReactOS Sin Custom Revision Action")]\r
-[assembly: AssemblyConfiguration("")]\r
-[assembly: AssemblyCompany("ReactOS Project")]\r
-[assembly: AssemblyProduct("React Operating System")]\r
-[assembly: AssemblyCopyright("Copyright 2005 ReactOS Project")]\r
-[assembly: AssemblyTrademark("")]\r
-[assembly: AssemblyCulture("")]\r
-[assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyDelaySign(false)]\r
-[assembly: AssemblyKeyFile("")]\r
diff --git a/cis/ReactOS.CustomRevisionAction/Default.build b/cis/ReactOS.CustomRevisionAction/Default.build
deleted file mode 100644 (file)
index 8bbc2ef..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>\r
-<project name="ReactOS.CustomRevisionAction" default="build">\r
-\r
-       <property name="output.dir" value="bin" />\r
-\r
-       <target name="build" description="Build component">\r
-               <mkdir dir="${output.dir}" />\r
-               <csc target="exe"\r
-                       output="${output.dir}\ReactOS.CustomRevisionAction.exe"\r
-                       optimize="true"\r
-                       debug="true"\r
-                       doc="${output.dir}\ReactOS.CustomRevisionAction.xml"\r
-                       warninglevel="0">\r
-                       <sources>\r
-                               <include name="*.cs" />\r
-                       </sources>\r
-               </csc>\r
-       </target>\r
-\r
-</project>\r
diff --git a/cis/ReactOS.CustomRevisionAction/FtpClient.cs b/cis/ReactOS.CustomRevisionAction/FtpClient.cs
deleted file mode 100644 (file)
index 30e5a5d..0000000
+++ /dev/null
@@ -1,1054 +0,0 @@
-using System;\r
-using System.Net;\r
-using System.IO;\r
-using System.Text;\r
-using System.Net.Sockets;\r
-using System.Diagnostics;\r
-using System.Runtime.Remoting;\r
-using System.Runtime.Remoting.Messaging;\r
-\r
-/*\r
- * FTP Client library in C#\r
- * Author: Jaimon Mathew\r
- * mailto:jaimonmathew@rediffmail.com\r
- * http://www.csharphelp.com/archives/archive9.html\r
- * \r
- * Addapted for use by Dan Glass 07/03/03\r
- */\r
-\r
-\r
-namespace ReactOS.CustomRevisionAction\r
-{\r
-\r
-       public class FtpClient\r
-       {\r
-\r
-               public class FtpException : Exception\r
-               {\r
-                       public FtpException(string message) : base(message){}\r
-                       public FtpException(string message, Exception innerException) : base(message,innerException){}\r
-               }\r
-\r
-               private static int BUFFER_SIZE = 512;\r
-               private static Encoding ASCII = Encoding.ASCII;\r
-\r
-               private bool verboseDebugging = false;\r
-\r
-               // defaults\r
-               private string server = "localhost";\r
-               private string remotePath = ".";\r
-               private string username = "anonymous";\r
-               private string password = "anonymous@anonymous.net";\r
-               private string message = null;\r
-               private string result = null;\r
-\r
-               private int port = 21;\r
-               private int bytes = 0;\r
-               private int resultCode = 0;\r
-\r
-               private bool loggedin = false;\r
-               private bool binMode = false;\r
-\r
-               private Byte[] buffer = new Byte[BUFFER_SIZE];\r
-               private Socket clientSocket = null;\r
-\r
-               private int timeoutSeconds = 10;\r
-\r
-               /// <summary>\r
-               /// Default contructor\r
-               /// </summary>\r
-               public FtpClient()\r
-               {\r
-               }\r
-               /// <summary>\r
-               /// \r
-               /// </summary>\r
-               /// <param name="server"></param>\r
-               /// <param name="username"></param>\r
-               /// <param name="password"></param>\r
-               public FtpClient(string server, string username, string password)\r
-               {\r
-                       this.server = server;\r
-                       this.username = username;\r
-                       this.password = password;\r
-               }\r
-               /// <summary>\r
-               /// \r
-               /// </summary>\r
-               /// <param name="server"></param>\r
-               /// <param name="username"></param>\r
-               /// <param name="password"></param>\r
-               /// <param name="timeoutSeconds"></param>\r
-               /// <param name="port"></param>\r
-               public FtpClient(string server, string username, string password, int timeoutSeconds, int port)\r
-               {\r
-                       this.server = server;\r
-                       this.username = username;\r
-                       this.password = password;\r
-                       this.timeoutSeconds = timeoutSeconds;\r
-                       this.port = port;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Display all communications to the debug log\r
-               /// </summary>\r
-               public bool VerboseDebugging\r
-               {\r
-                       get\r
-                       {\r
-                               return this.verboseDebugging;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.verboseDebugging = value;\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// Remote server port. Typically TCP 21\r
-               /// </summary>\r
-               public int Port\r
-               {\r
-                       get\r
-                       {\r
-                               return this.port;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.port = value;\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// Timeout waiting for a response from server, in seconds.\r
-               /// </summary>\r
-               public int Timeout\r
-               {\r
-                       get\r
-                       {\r
-                               return this.timeoutSeconds;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.timeoutSeconds = value;\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// Gets and Sets the name of the FTP server.\r
-               /// </summary>\r
-               /// <returns></returns>\r
-               public string Server\r
-               {\r
-                       get\r
-                       {\r
-                               return this.server;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.server = value;\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// Gets and Sets the port number.\r
-               /// </summary>\r
-               /// <returns></returns>\r
-               public int RemotePort\r
-               {\r
-                       get\r
-                       {\r
-                               return this.port;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.port = value;\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// GetS and Sets the remote directory.\r
-               /// </summary>\r
-               public string RemotePath\r
-               {\r
-                       get\r
-                       {\r
-                               return this.remotePath;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.remotePath = value;\r
-                       }\r
-\r
-               }\r
-               /// <summary>\r
-               /// Gets and Sets the username.\r
-               /// </summary>\r
-               public string Username\r
-               {\r
-                       get\r
-                       {\r
-                               return this.username;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.username = value;\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// Gets and Set the password.\r
-               /// </summary>\r
-               public string Password\r
-               {\r
-                       get\r
-                       {\r
-                               return this.password;\r
-                       }\r
-                       set\r
-                       {\r
-                               this.password = value;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// If the value of mode is true, set binary mode for downloads, else, Ascii mode.\r
-               /// </summary>\r
-               public bool BinaryMode\r
-               {\r
-                       get\r
-                       {\r
-                               return this.binMode;\r
-                       }\r
-                       set\r
-                       {\r
-                               if ( this.binMode == value ) return;\r
-\r
-                               if ( value )\r
-                                       sendCommand("TYPE I");\r
-\r
-                               else\r
-                                       sendCommand("TYPE A");\r
-\r
-                               if ( this.resultCode != 200 ) throw new FtpException(result.Substring(4));\r
-                       }\r
-               }\r
-               /// <summary>\r
-               /// Login to the remote server.\r
-               /// </summary>\r
-               public void Login()\r
-               {\r
-                       if ( this.loggedin ) this.Close();\r
-\r
-                       Debug.WriteLine("Opening connection to " + this.server, "FtpClient" );\r
-\r
-                       IPAddress addr = null;\r
-                       IPEndPoint ep = null;\r
-\r
-                       try\r
-                       {\r
-                               this.clientSocket = new Socket( AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp );\r
-                               addr = Dns.Resolve(this.server).AddressList[0];\r
-                               ep = new IPEndPoint( addr, this.port );\r
-                               this.clientSocket.Connect(ep);\r
-                       }\r
-                       catch(Exception ex)\r
-                       {\r
-                               // doubtfull\r
-                               if ( this.clientSocket != null && this.clientSocket.Connected ) this.clientSocket.Close();\r
-\r
-                               throw new FtpException("Couldn't connect to remote server",ex);\r
-                       }\r
-\r
-                       this.readResponse();\r
-\r
-                       if(this.resultCode != 220)\r
-                       {\r
-                               this.Close();\r
-                               throw new FtpException(this.result.Substring(4));\r
-                       }\r
-\r
-                       this.sendCommand( "USER " + username );\r
-\r
-                       if( !(this.resultCode == 331 || this.resultCode == 230) )\r
-                       {\r
-                               this.cleanup();\r
-                               throw new FtpException(this.result.Substring(4));\r
-                       }\r
-\r
-                       if( this.resultCode != 230 )\r
-                       {\r
-                               this.sendCommand( "PASS " + password );\r
-\r
-                               if( !(this.resultCode == 230 || this.resultCode == 202) )\r
-                               {\r
-                                       this.cleanup();\r
-                                       throw new FtpException(this.result.Substring(4));\r
-                               }\r
-                       }\r
-\r
-                       this.loggedin = true;\r
-\r
-                       Debug.WriteLine( "Connected to " + this.server, "FtpClient" );\r
-\r
-                       this.ChangeDir(this.remotePath);\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Close the FTP connection.\r
-               /// </summary>\r
-               public void Close()\r
-               {\r
-                       Debug.WriteLine("Closing connection to " + this.server, "FtpClient" );\r
-\r
-                       if( this.clientSocket != null )\r
-                       {\r
-                               this.sendCommand("QUIT");\r
-                       }\r
-\r
-                       this.cleanup();\r
-               }\r
-\r
-               /// <summary>\r
-               /// Return a string array containing the remote directory's file list.\r
-               /// </summary>\r
-               /// <returns></returns>\r
-               public string[] GetFileList()\r
-               {\r
-                       return this.GetFileList("*.*");\r
-               }\r
-\r
-               /// <summary>\r
-               /// Return a string array containing the remote directory's file list.\r
-               /// </summary>\r
-               /// <param name="mask"></param>\r
-               /// <returns></returns>\r
-               public string[] GetFileList(string mask)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       Socket cSocket = createDataSocket();\r
-\r
-                       this.sendCommand("NLST " + mask);\r
-\r
-                       if(!(this.resultCode == 150 || this.resultCode == 125)) throw new FtpException(this.result.Substring(4));\r
-\r
-                       this.message = "";\r
-\r
-                       DateTime timeout = DateTime.Now.AddSeconds(this.timeoutSeconds);\r
-\r
-                       while( timeout > DateTime.Now )\r
-                       {\r
-                               int bytes = cSocket.Receive(buffer, buffer.Length, 0);\r
-                               this.message += ASCII.GetString(buffer, 0, bytes);\r
-\r
-                               if ( bytes < this.buffer.Length ) break;\r
-                       }\r
-\r
-                       string[] msg = this.message.Replace("\r","").Split('\n');\r
-\r
-                       cSocket.Close();\r
-\r
-                       if ( this.message.IndexOf( "No such file or directory" ) != -1 )\r
-                               msg = new string[]{};\r
-\r
-                       this.readResponse();\r
-\r
-                       if ( this.resultCode != 226 )\r
-                               msg = new string[]{};\r
-                       //      throw new FtpException(result.Substring(4));\r
-\r
-                       return msg;\r
-               }\r
-\r
-               public bool DirectoryExists(string directory)\r
-               {\r
-                       try\r
-                       {\r
-                               ChangeDir(directory);\r
-                               ChangeDir("..");\r
-                               return true;\r
-                       }\r
-                       catch (FtpException)\r
-                       {\r
-                               return false;\r
-                       }\r
-               }\r
-       \r
-               /// <summary>\r
-               /// Return the size of a file.\r
-               /// </summary>\r
-               /// <param name="fileName"></param>\r
-               /// <returns></returns>\r
-               public long GetFileSize(string fileName)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.sendCommand("SIZE " + fileName);\r
-                       long size=0;\r
-\r
-                       if ( this.resultCode == 213 )\r
-                               size = long.Parse(this.result.Substring(4));\r
-\r
-                       else\r
-                               throw new FtpException(this.result.Substring(4));\r
-\r
-                       return size;\r
-               }\r
-       \r
-               \r
-               /// <summary>\r
-               /// Download a file to the Assembly's local directory,\r
-               /// keeping the same file name.\r
-               /// </summary>\r
-               /// <param name="remFileName"></param>\r
-               public void Download(string remFileName)\r
-               {\r
-                       this.Download(remFileName,"",false);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Download a remote file to the Assembly's local directory,\r
-               /// keeping the same file name, and set the resume flag.\r
-               /// </summary>\r
-               /// <param name="remFileName"></param>\r
-               /// <param name="resume"></param>\r
-               public void Download(string remFileName,Boolean resume)\r
-               {\r
-                       this.Download(remFileName,"",resume);\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Download a remote file to a local file name which can include\r
-               /// a path. The local file name will be created or overwritten,\r
-               /// but the path must exist.\r
-               /// </summary>\r
-               /// <param name="remFileName"></param>\r
-               /// <param name="locFileName"></param>\r
-               public void Download(string remFileName,string locFileName)\r
-               {\r
-                       this.Download(remFileName,locFileName,false);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Download a remote file to a local file name which can include\r
-               /// a path, and set the resume flag. The local file name will be\r
-               /// created or overwritten, but the path must exist.\r
-               /// </summary>\r
-               /// <param name="remFileName"></param>\r
-               /// <param name="locFileName"></param>\r
-               /// <param name="resume"></param>\r
-               public void Download(string remFileName,string locFileName,Boolean resume)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.BinaryMode = true;\r
-\r
-                       Debug.WriteLine("Downloading file " + remFileName + " from " + server + "/" + remotePath, "FtpClient" );\r
-\r
-                       if (locFileName.Equals(""))\r
-                       {\r
-                               locFileName = remFileName;\r
-                       }\r
-\r
-                       FileStream output = null;\r
-\r
-                       if ( !File.Exists(locFileName) )\r
-                               output = File.Create(locFileName);\r
-\r
-                       else\r
-                               output = new FileStream(locFileName,FileMode.Open);\r
-\r
-                       Socket cSocket = createDataSocket();\r
-\r
-                       long offset = 0;\r
-\r
-                       if ( resume )\r
-                       {\r
-                               offset = output.Length;\r
-\r
-                               if ( offset > 0 )\r
-                               {\r
-                                       this.sendCommand( "REST " + offset );\r
-                                       if ( this.resultCode != 350 )\r
-                                       {\r
-                                               //Server dosnt support resuming\r
-                                               offset = 0;\r
-                                               Debug.WriteLine("Resuming not supported:" + result.Substring(4), "FtpClient" );\r
-                                       }\r
-                                       else\r
-                                       {\r
-                                               Debug.WriteLine("Resuming at offset " + offset, "FtpClient" );\r
-                                               output.Seek( offset, SeekOrigin.Begin );\r
-                                       }\r
-                               }\r
-                       }\r
-\r
-                       this.sendCommand("RETR " + remFileName);\r
-\r
-                       if ( this.resultCode != 150 && this.resultCode != 125 )\r
-                       {\r
-                               throw new FtpException(this.result.Substring(4));\r
-                       }\r
-\r
-                       DateTime timeout = DateTime.Now.AddSeconds(this.timeoutSeconds);\r
-\r
-                       while ( timeout > DateTime.Now )\r
-                       {\r
-                               this.bytes = cSocket.Receive(buffer, buffer.Length, 0);\r
-                               output.Write(this.buffer,0,this.bytes);\r
-\r
-                               if ( this.bytes <= 0)\r
-                               {\r
-                                       break;\r
-                               }\r
-                       }\r
-\r
-                       output.Close();\r
-\r
-                       if ( cSocket.Connected ) cSocket.Close();\r
-\r
-                       this.readResponse();\r
-\r
-                       if( this.resultCode != 226 && this.resultCode != 250 )\r
-                               throw new FtpException(this.result.Substring(4));\r
-               }\r
-\r
-               \r
-               /// <summary>\r
-               /// Upload a file.\r
-               /// </summary>\r
-               /// <param name="fileName"></param>\r
-               public void Upload(string fileName)\r
-               {\r
-                       this.Upload(fileName,false);\r
-               }\r
-\r
-               \r
-               /// <summary>\r
-               /// Upload a file and set the resume flag.\r
-               /// </summary>\r
-               /// <param name="fileName"></param>\r
-               /// <param name="resume"></param>\r
-               public void Upload(string fileName, bool resume)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       Socket cSocket = null ;\r
-                       long offset = 0;\r
-\r
-                       if ( resume )\r
-                       {\r
-                               try\r
-                               {\r
-                                       this.BinaryMode = true;\r
-\r
-                                       offset = GetFileSize( Path.GetFileName(fileName) );\r
-                               }\r
-                               catch(Exception)\r
-                               {\r
-                                       // file not exist\r
-                                       offset = 0;\r
-                               }\r
-                       }\r
-\r
-                       // open stream to read file\r
-                       FileStream input = new FileStream(fileName,FileMode.Open);\r
-\r
-                       if ( resume && input.Length < offset )\r
-                       {\r
-                               // different file size\r
-                               Debug.WriteLine("Overwriting " + fileName, "FtpClient");\r
-                               offset = 0;\r
-                       }\r
-                       else if ( resume && input.Length == offset )\r
-                       {\r
-                               // file done\r
-                               input.Close();\r
-                               Debug.WriteLine("Skipping completed " + fileName + " - turn resume off to not detect.", "FtpClient");\r
-                               return;\r
-                       }\r
-\r
-                       // dont create untill we know that we need it\r
-                       cSocket = this.createDataSocket();\r
-\r
-                       if ( offset > 0 )\r
-                       {\r
-                               this.sendCommand( "REST " + offset );\r
-                               if ( this.resultCode != 350 )\r
-                               {\r
-                                       Debug.WriteLine("Resuming not supported", "FtpClient");\r
-                                       offset = 0;\r
-                               }\r
-                       }\r
-\r
-                       this.sendCommand( "STOR " + Path.GetFileName(fileName) );\r
-\r
-                       if ( this.resultCode != 125 && this.resultCode != 150 ) throw new FtpException(result.Substring(4));\r
-\r
-                       if ( offset != 0 )\r
-                       {\r
-                               Debug.WriteLine("Resuming at offset " + offset, "FtpClient" );\r
-\r
-                               input.Seek(offset,SeekOrigin.Begin);\r
-                       }\r
-\r
-                       Debug.WriteLine( "Uploading file " + fileName + " to " + remotePath, "FtpClient" );\r
-\r
-                       while ((bytes = input.Read(buffer,0,buffer.Length)) > 0)\r
-                       {\r
-                               cSocket.Send(buffer, bytes, 0);\r
-                       }\r
-                       \r
-                       input.Close();\r
-\r
-                       if (cSocket.Connected)\r
-                       {\r
-                               cSocket.Close();\r
-                       }\r
-\r
-                       this.readResponse();\r
-\r
-                       if( this.resultCode != 226 && this.resultCode != 250 ) throw new FtpException(this.result.Substring(4));\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Upload a directory and its file contents\r
-               /// </summary>\r
-               /// <param name="path"></param>\r
-               /// <param name="recurse">Whether to recurse sub directories</param>\r
-               public void UploadDirectory(string path, bool recurse)\r
-               {\r
-                       this.UploadDirectory(path,recurse,"*.*");\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Upload a directory and its file contents\r
-               /// </summary>\r
-               /// <param name="path"></param>\r
-               /// <param name="recurse">Whether to recurse sub directories</param>\r
-               /// <param name="mask">Only upload files of the given mask - everything is '*.*'</param>\r
-               public void UploadDirectory(string path, bool recurse, string mask)\r
-               {\r
-                       string[] dirs = path.Replace("/",@"\").Split('\\');\r
-                       string rootDir = dirs[ dirs.Length - 1 ];\r
-\r
-                       // make the root dir if it doed not exist\r
-                       if ( this.GetFileList(rootDir).Length < 1 ) this.MakeDir(rootDir);\r
-\r
-                       this.ChangeDir(rootDir);\r
-\r
-                       foreach ( string file in Directory.GetFiles(path,mask) )\r
-                       {\r
-                               this.Upload(file,true);\r
-                       }\r
-                       if ( recurse )\r
-                       {\r
-                               foreach ( string directory in Directory.GetDirectories(path) )\r
-                               {\r
-                                       this.UploadDirectory(directory,recurse,mask);\r
-                               }\r
-                       }\r
-\r
-                       this.ChangeDir("..");\r
-               }\r
-\r
-               /// <summary>\r
-               /// Delete a file from the remote FTP server.\r
-               /// </summary>\r
-               /// <param name="fileName"></param>\r
-               public void DeleteFile(string fileName)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.sendCommand( "DELE " + fileName );\r
-\r
-                       if ( this.resultCode != 250 ) throw new FtpException(this.result.Substring(4));\r
-\r
-                       Debug.WriteLine( "Deleted file " + fileName, "FtpClient" );\r
-               }\r
-\r
-               /// <summary>\r
-               /// Rename a file on the remote FTP server.\r
-               /// </summary>\r
-               /// <param name="oldFileName"></param>\r
-               /// <param name="newFileName"></param>\r
-               /// <param name="overwrite">setting to false will throw exception if it exists</param>\r
-               public void RenameFile(string oldFileName,string newFileName, bool overwrite)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.sendCommand( "RNFR " + oldFileName );\r
-\r
-                       if ( this.resultCode != 350 ) throw new FtpException(this.result.Substring(4));\r
-\r
-                       if ( !overwrite && this.GetFileList(newFileName).Length > 0 ) throw new FtpException("File already exists");\r
-\r
-                       this.sendCommand( "RNTO " + newFileName );\r
-\r
-                       if ( this.resultCode != 250 ) throw new FtpException(this.result.Substring(4));\r
-\r
-                       Debug.WriteLine( "Renamed file " + oldFileName + " to " + newFileName, "FtpClient" );\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Create a directory on the remote FTP server.\r
-               /// </summary>\r
-               /// <param name="dirName"></param>\r
-               public void MakeDir(string dirName)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.sendCommand( "MKD " + dirName );\r
-\r
-                       if ( this.resultCode != 250 && this.resultCode != 257 ) throw new FtpException(this.result.Substring(4));\r
-\r
-                       Debug.WriteLine( "Created directory " + dirName, "FtpClient" );\r
-               }\r
-\r
-               /// <summary>\r
-               /// Delete a directory on the remote FTP server.\r
-               /// </summary>\r
-               /// <param name="dirName"></param>\r
-               public void RemoveDir(string dirName)\r
-               {\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.sendCommand( "RMD " + dirName );\r
-\r
-                       if ( this.resultCode != 250 ) throw new FtpException(this.result.Substring(4));\r
-\r
-                       Debug.WriteLine( "Removed directory " + dirName, "FtpClient" );\r
-               }\r
-\r
-               /// <summary>\r
-               /// Change the current working directory on the remote FTP server.\r
-               /// </summary>\r
-               /// <param name="dirName"></param>\r
-               public void ChangeDir(string dirName)\r
-               {\r
-                       if( dirName == null || dirName.Equals(".") || dirName.Length == 0 )\r
-                       {\r
-                               return;\r
-                       }\r
-\r
-                       if ( !this.loggedin ) this.Login();\r
-\r
-                       this.sendCommand( "CWD " + dirName );\r
-\r
-                       if ( this.resultCode != 250 )\r
-                       {\r
-                               if (this.resultCode == 550)\r
-                                       throw new FtpException(String.Format("Access denied to {0}", this.remotePath + "/" + dirName));\r
-                               throw new FtpException(result.Substring(4));\r
-                       }\r
-\r
-                       this.sendCommand( "PWD" );\r
-\r
-                       if ( this.resultCode != 257 ) throw new FtpException(result.Substring(4));\r
-\r
-                       // gonna have to do better than this....\r
-                       this.remotePath = this.message.Split('"')[1];\r
-\r
-                       Debug.WriteLine( "Current directory is " + this.remotePath, "FtpClient" );\r
-               }\r
-\r
-               /// <summary>\r
-               /// \r
-               /// </summary>\r
-               private void readResponse()\r
-               {\r
-                       this.message = "";\r
-                       this.result = this.readLine();\r
-\r
-                       if ( this.result.Length > 3 )\r
-                               this.resultCode = int.Parse( this.result.Substring(0,3) );\r
-                       else\r
-                               this.result = null;\r
-               }\r
-\r
-               /// <summary>\r
-               /// \r
-               /// </summary>\r
-               /// <returns></returns>\r
-               private string readLine()\r
-               {\r
-                       while(true)\r
-                       {\r
-                               this.bytes = clientSocket.Receive( this.buffer, this.buffer.Length, 0 );\r
-                               this.message += ASCII.GetString( this.buffer, 0, this.bytes );\r
-\r
-                               if ( this.bytes < this.buffer.Length )\r
-                               {\r
-                                       break;\r
-                               }\r
-                       }\r
-\r
-                       string[] msg = this.message.Split('\n');\r
-\r
-                       if ( this.message.Length > 2 )\r
-                               this.message = msg[ msg.Length - 2 ];\r
-\r
-                       else\r
-                               this.message = msg[0];\r
-\r
-\r
-                       if ( this.message.Length > 4 && !this.message.Substring(3,1).Equals(" ") ) return this.readLine();\r
-\r
-                       if ( this.verboseDebugging )\r
-                       {\r
-                               for(int i = 0; i < msg.Length - 1; i++)\r
-                               {\r
-                                       Debug.Write( msg[i], "FtpClient" );\r
-                               }\r
-                       }\r
-\r
-                       return message;\r
-               }\r
-\r
-               /// <summary>\r
-               /// \r
-               /// </summary>\r
-               /// <param name="command"></param>\r
-               private void sendCommand(String command)\r
-               {\r
-                       if ( this.verboseDebugging ) Debug.WriteLine(command,"FtpClient");\r
-\r
-                       Byte[] cmdBytes = Encoding.ASCII.GetBytes( ( command + "\r\n" ).ToCharArray() );\r
-                       clientSocket.Send( cmdBytes, cmdBytes.Length, 0);\r
-                       this.readResponse();\r
-               }\r
-\r
-               /// <summary>\r
-               /// when doing data transfers, we need to open another socket for it.\r
-               /// </summary>\r
-               /// <returns>Connected socket</returns>\r
-               private Socket createDataSocket()\r
-               {\r
-                       this.sendCommand("PASV");\r
-\r
-                       if ( this.resultCode != 227 ) throw new FtpException(this.result.Substring(4));\r
-\r
-                       int index1 = this.result.IndexOf('(');\r
-                       int index2 = this.result.IndexOf(')');\r
-\r
-                       string ipData = this.result.Substring(index1+1,index2-index1-1);\r
-\r
-                       int[] parts = new int[6];\r
-\r
-                       int len = ipData.Length;\r
-                       int partCount = 0;\r
-                       string buf="";\r
-\r
-                       for (int i = 0; i < len && partCount <= 6; i++)\r
-                       {\r
-                               char ch = char.Parse( ipData.Substring(i,1) );\r
-\r
-                               if ( char.IsDigit(ch) )\r
-                                       buf+=ch;\r
-\r
-                               else if (ch != ',')\r
-                                       throw new FtpException("Malformed PASV result: " + result);\r
-\r
-                               if ( ch == ',' || i+1 == len )\r
-                               {\r
-                                       try\r
-                                       {\r
-                                               parts[partCount++] = int.Parse(buf);\r
-                                               buf = "";\r
-                                       }\r
-                                       catch (Exception ex)\r
-                                       {\r
-                                               throw new FtpException("Malformed PASV result (not supported?): " + this.result, ex);\r
-                                       }\r
-                               }\r
-                       }\r
-\r
-                       string ipAddress = parts[0] + "."+ parts[1]+ "." + parts[2] + "." + parts[3];\r
-\r
-                       int port = (parts[4] << 8) + parts[5];\r
-\r
-                       Socket socket = null;\r
-                       IPEndPoint ep = null;\r
-\r
-                       try\r
-                       {\r
-                               socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);\r
-                               ep = new IPEndPoint(Dns.Resolve(ipAddress).AddressList[0], port);\r
-                               socket.Connect(ep);\r
-                       }\r
-                       catch(Exception ex)\r
-                       {\r
-                               // doubtfull....\r
-                               if ( socket != null && socket.Connected ) socket.Close();\r
-\r
-                               throw new FtpException("Can't connect to remote server", ex);\r
-                       }\r
-\r
-                       return socket;\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Always release those sockets.\r
-               /// </summary>\r
-               private void cleanup()\r
-               {\r
-                       if ( this.clientSocket!=null )\r
-                       {\r
-                               this.clientSocket.Close();\r
-                               this.clientSocket = null;\r
-                       }\r
-                       this.loggedin = false;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Destuctor\r
-               /// </summary>\r
-               ~FtpClient()\r
-               {\r
-                       this.cleanup();\r
-               }\r
-\r
-\r
-               /**************************************************************************************************************/\r
-               #region Async methods (auto generated)\r
-\r
-/*\r
-                               WinInetApi.FtpClient ftp = new WinInetApi.FtpClient();\r
-\r
-                               MethodInfo[] methods = ftp.GetType().GetMethods(BindingFlags.DeclaredOnly|BindingFlags.Instance|BindingFlags.Public);\r
-\r
-                               foreach ( MethodInfo method in methods )\r
-                               {\r
-                                       string param = "";\r
-                                       string values = "";\r
-                                       foreach ( ParameterInfo i in  method.GetParameters() )\r
-                                       {\r
-                                               param += i.ParameterType.Name + " " + i.Name + ",";\r
-                                               values += i.Name + ",";\r
-                                       }\r
-                                       \r
-\r
-                                       Debug.WriteLine("private delegate " + method.ReturnType.Name + " " + method.Name + "Callback(" + param.TrimEnd(',') + ");");\r
-\r
-                                       Debug.WriteLine("public System.IAsyncResult Begin" + method.Name + "( " + param + " System.AsyncCallback callback )");\r
-                                       Debug.WriteLine("{");\r
-                                       Debug.WriteLine("" + method.Name + "Callback ftpCallback = new " + method.Name + "Callback(" + values + " this." + method.Name + ");");\r
-                                       Debug.WriteLine("return ftpCallback.BeginInvoke(callback, null);");\r
-                                       Debug.WriteLine("}");\r
-                                       Debug.WriteLine("public void End" + method.Name + "(System.IAsyncResult asyncResult)");\r
-                                       Debug.WriteLine("{");\r
-                                       Debug.WriteLine(method.Name + "Callback fc = (" + method.Name + "Callback) ((AsyncResult)asyncResult).AsyncDelegate;");\r
-                                       Debug.WriteLine("fc.EndInvoke(asyncResult);");\r
-                                       Debug.WriteLine("}");\r
-                                       //Debug.WriteLine(method);\r
-                               }\r
-*/\r
-\r
-\r
-               private delegate void LoginCallback();\r
-               public System.IAsyncResult BeginLogin(  System.AsyncCallback callback )\r
-               {\r
-                       LoginCallback ftpCallback = new LoginCallback( this.Login);\r
-                       return ftpCallback.BeginInvoke(callback, null);\r
-               }\r
-               private delegate void CloseCallback();\r
-               public System.IAsyncResult BeginClose(  System.AsyncCallback callback )\r
-               {\r
-                       CloseCallback ftpCallback = new CloseCallback( this.Close);\r
-                       return ftpCallback.BeginInvoke(callback, null);\r
-               }\r
-               private delegate String[] GetFileListCallback();\r
-               public System.IAsyncResult BeginGetFileList(  System.AsyncCallback callback )\r
-               {\r
-                       GetFileListCallback ftpCallback = new GetFileListCallback( this.GetFileList);\r
-                       return ftpCallback.BeginInvoke(callback, null);\r
-               }\r
-               private delegate String[] GetFileListMaskCallback(String mask);\r
-               public System.IAsyncResult BeginGetFileList( String mask, System.AsyncCallback callback )\r
-               {\r
-                       GetFileListMaskCallback ftpCallback = new GetFileListMaskCallback(this.GetFileList);\r
-                       return ftpCallback.BeginInvoke(mask, callback, null);\r
-               }\r
-               private delegate Int64 GetFileSizeCallback(String fileName);\r
-               public System.IAsyncResult BeginGetFileSize( String fileName, System.AsyncCallback callback )\r
-               {\r
-                       GetFileSizeCallback ftpCallback = new GetFileSizeCallback(this.GetFileSize);\r
-                       return ftpCallback.BeginInvoke(fileName, callback, null);\r
-               }\r
-               private delegate void DownloadCallback(String remFileName);\r
-               public System.IAsyncResult BeginDownload( String remFileName, System.AsyncCallback callback )\r
-               {\r
-                       DownloadCallback ftpCallback = new DownloadCallback(this.Download);\r
-                       return ftpCallback.BeginInvoke(remFileName, callback, null);\r
-               }\r
-               private delegate void DownloadFileNameResumeCallback(String remFileName,Boolean resume);\r
-               public System.IAsyncResult BeginDownload( String remFileName,Boolean resume, System.AsyncCallback callback )\r
-               {\r
-                       DownloadFileNameResumeCallback ftpCallback = new DownloadFileNameResumeCallback(this.Download);\r
-                       return ftpCallback.BeginInvoke(remFileName, resume, callback, null);\r
-               }\r
-               private delegate void DownloadFileNameFileNameCallback(String remFileName,String locFileName);\r
-               public System.IAsyncResult BeginDownload( String remFileName,String locFileName, System.AsyncCallback callback )\r
-               {\r
-                       DownloadFileNameFileNameCallback ftpCallback = new DownloadFileNameFileNameCallback(this.Download);\r
-                       return ftpCallback.BeginInvoke(remFileName, locFileName, callback, null);\r
-               }\r
-               private delegate void DownloadFileNameFileNameResumeCallback(String remFileName,String locFileName,Boolean resume);\r
-               public System.IAsyncResult BeginDownload( String remFileName,String locFileName,Boolean resume, System.AsyncCallback callback )\r
-               {\r
-                       DownloadFileNameFileNameResumeCallback ftpCallback = new DownloadFileNameFileNameResumeCallback(this.Download);\r
-                       return ftpCallback.BeginInvoke(remFileName, locFileName, resume, callback, null);\r
-               }\r
-               private delegate void UploadCallback(String fileName);\r
-               public System.IAsyncResult BeginUpload( String fileName, System.AsyncCallback callback )\r
-               {\r
-                       UploadCallback ftpCallback = new UploadCallback(this.Upload);\r
-                       return ftpCallback.BeginInvoke(fileName, callback, null);\r
-               }\r
-               private delegate void UploadFileNameResumeCallback(String fileName,Boolean resume);\r
-               public System.IAsyncResult BeginUpload( String fileName,Boolean resume, System.AsyncCallback callback )\r
-               {\r
-                       UploadFileNameResumeCallback ftpCallback = new UploadFileNameResumeCallback(this.Upload);\r
-                       return ftpCallback.BeginInvoke(fileName, resume, callback, null);\r
-               }\r
-               private delegate void UploadDirectoryCallback(String path,Boolean recurse);\r
-               public System.IAsyncResult BeginUploadDirectory( String path,Boolean recurse, System.AsyncCallback callback )\r
-               {\r
-                       UploadDirectoryCallback ftpCallback = new UploadDirectoryCallback(this.UploadDirectory);\r
-                       return ftpCallback.BeginInvoke(path, recurse, callback, null);\r
-               }\r
-               private delegate void UploadDirectoryPathRecurseMaskCallback(String path,Boolean recurse,String mask);\r
-               public System.IAsyncResult BeginUploadDirectory( String path,Boolean recurse,String mask, System.AsyncCallback callback )\r
-               {\r
-                       UploadDirectoryPathRecurseMaskCallback ftpCallback = new UploadDirectoryPathRecurseMaskCallback(this.UploadDirectory);\r
-                       return ftpCallback.BeginInvoke(path, recurse, mask, callback, null);\r
-               }\r
-               private delegate void DeleteFileCallback(String fileName);\r
-               public System.IAsyncResult BeginDeleteFile( String fileName, System.AsyncCallback callback )\r
-               {\r
-                       DeleteFileCallback ftpCallback = new DeleteFileCallback(this.DeleteFile);\r
-                       return ftpCallback.BeginInvoke(fileName, callback, null);\r
-               }\r
-               private delegate void RenameFileCallback(String oldFileName,String newFileName,Boolean overwrite);\r
-               public System.IAsyncResult BeginRenameFile( String oldFileName,String newFileName,Boolean overwrite, System.AsyncCallback callback )\r
-               {\r
-                       RenameFileCallback ftpCallback = new RenameFileCallback(this.RenameFile);\r
-                       return ftpCallback.BeginInvoke(oldFileName, newFileName, overwrite, callback, null);\r
-               }\r
-               private delegate void MakeDirCallback(String dirName);\r
-               public System.IAsyncResult BeginMakeDir( String dirName, System.AsyncCallback callback )\r
-               {\r
-                       MakeDirCallback ftpCallback = new MakeDirCallback(this.MakeDir);\r
-                       return ftpCallback.BeginInvoke(dirName, callback, null);\r
-               }\r
-               private delegate void RemoveDirCallback(String dirName);\r
-               public System.IAsyncResult BeginRemoveDir( String dirName, System.AsyncCallback callback )\r
-               {\r
-                       RemoveDirCallback ftpCallback = new RemoveDirCallback(this.RemoveDir);\r
-                       return ftpCallback.BeginInvoke(dirName, callback, null);\r
-               }\r
-               private delegate void ChangeDirCallback(String dirName);\r
-               public System.IAsyncResult BeginChangeDir( String dirName, System.AsyncCallback callback )\r
-               {\r
-                       ChangeDirCallback ftpCallback = new ChangeDirCallback(this.ChangeDir);\r
-                       return ftpCallback.BeginInvoke(dirName, callback, null);\r
-               }\r
-\r
-               #endregion\r
-       }\r
-}
\ No newline at end of file
diff --git a/cis/ReactOS.CustomRevisionAction/Main.cs b/cis/ReactOS.CustomRevisionAction/Main.cs
deleted file mode 100644 (file)
index e13ad14..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-using System;\r
-using System.IO;\r
-using System.Diagnostics;\r
-using System.Configuration;\r
-using System.Web.Mail;\r
-\r
-namespace ReactOS.CustomRevisionAction\r
-{\r
-       public class MainClass\r
-       {\r
-               /// <summary>\r
-               /// Path to store published binaries at.\r
-               /// </summary>\r
-               private static string publishPath;\r
-\r
-               /// <summary>\r
-               /// Whether or not to publish ISOs to a remote destination via FTP.\r
-               /// </summary>\r
-               private static bool PublishToRemoteFtpLocation\r
-               {\r
-                       get\r
-                       {\r
-                               return publishPath.StartsWith("ftp://");\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Run the application.\r
-               /// </summary>\r
-               /// <param name="script">Script to run.</param>\r
-               /// <param name="args">Arguments to pass to script.</param>\r
-               /// <param name="workingDirectory">Working directory.</param>\r
-               /// <param name="standardOutput">Receives standard output.</param>\r
-               /// <param name="standardError">Receives standard error.</param>\r
-               /// <returns>\r
-               /// Exit code.\r
-               /// </returns>\r
-               private static int RunScript(string script,\r
-                                            string args,\r
-                                            string workingDirectory,\r
-                                            out string standardOutput,\r
-                                            out string standardError)\r
-               {\r
-                       ProcessStartInfo scriptProcessStartInfo = new ProcessStartInfo(script,\r
-                                                                                      args);\r
-                       scriptProcessStartInfo.CreateNoWindow = true;\r
-                       /*\r
-                        * All standard streams must be redirected.\r
-                        * Otherwise DuplicateHandle() will fail.\r
-                        */\r
-                       scriptProcessStartInfo.RedirectStandardInput = true;\r
-                       scriptProcessStartInfo.RedirectStandardError = true;\r
-                       scriptProcessStartInfo.RedirectStandardOutput = true;\r
-                       scriptProcessStartInfo.UseShellExecute = false;\r
-                       scriptProcessStartInfo.WorkingDirectory = workingDirectory;\r
-                       RedirectableProcess redirectableProcess = new RedirectableProcess(scriptProcessStartInfo);\r
-                       standardOutput = redirectableProcess.ProcessOutput;\r
-                       standardError = redirectableProcess.ProcessError;\r
-                       return redirectableProcess.ExitCode;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Retrieve value of configuration from configuration file.\r
-               /// </summary>\r
-               /// <param name="name">Name of configuration option.</param>\r
-               /// <param name="defaultValue">\r
-               /// Default value to be returned if the option does not exist.\r
-               /// </param>\r
-               /// <returns>\r
-               /// Value of configuration option or null if the option does not\r
-               /// exist and no default value is provided.\r
-               /// </returns>\r
-               private static string GetConfigurationOption(string name,\r
-                                                            string defaultValue)\r
-               {\r
-                       if (ConfigurationSettings.AppSettings[name] != null)\r
-                               return ConfigurationSettings.AppSettings[name];\r
-                       else\r
-                               return defaultValue;\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Send an email.\r
-               /// </summary>\r
-               /// <param name="subject">Subject of the email.</param>\r
-               /// <param name="body">Content of the email.</param>\r
-               private static void SendErrorMail(string subject, string body)\r
-               {\r
-                       try\r
-                       {\r
-                               string smtpServer = GetConfigurationOption("smtpServer", "localhost");\r
-                               string toEmail = GetConfigurationOption("errorEmail", null);\r
-                               if (toEmail == null)\r
-                                       return;\r
-                               string fromEmail = GetConfigurationOption("fromEmail", null);\r
-                               if (fromEmail == null)\r
-                                       fromEmail = toEmail;\r
-                               MailMessage mm = new MailMessage();\r
-                               mm.Priority = MailPriority.Normal;\r
-                               mm.From = toEmail;\r
-                               mm.To = toEmail;\r
-                               mm.Subject = subject;\r
-                               mm.Body += body;\r
-                               mm.Body += "<br>";\r
-                               mm.BodyFormat = MailFormat.Html;\r
-                               SmtpMail.SmtpServer = smtpServer;\r
-                               SmtpMail.Send(mm);\r
-                       }\r
-                       catch (Exception ex)\r
-                       {\r
-                               Console.Error.WriteLine(ex.Message);\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Fail with an error message.\r
-               /// </summary>\r
-               /// <param name="revision">Repository revision.</param>\r
-               /// <param name="text">Error message.</param>\r
-               private static void Fail(int revision,\r
-                                        string text)\r
-               {\r
-                       Console.WriteLine(text);\r
-                       Console.Error.WriteLine(text);\r
-                       SendErrorMail(String.Format("[{0}] ReactOS Publish Error", revision), text);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Fail with an error message.\r
-               /// </summary>\r
-               /// <param name="text">Error message.</param>\r
-               private static void Fail(string text)\r
-               {\r
-                       Console.WriteLine(text);\r
-                       Console.Error.WriteLine(text);\r
-                       SendErrorMail("ReactOS Publish Error", text);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Generate filename of distribution.\r
-               /// </summary>\r
-               /// <param name="branch">Branch.</param>\r
-               /// <param name="revision">Revision.</param>\r
-               private static string GetDistributionFilename(string branch,\r
-                                                             int revision)\r
-               {\r
-                       return String.Format("ReactOS-{0}-r{1}.iso",\r
-                                            branch,\r
-                                            revision);\r
-               }\r
-\r
-               private static void SplitRemotePublishPath(string publishPath,\r
-                                                          out string server,\r
-                                                          out string directory)\r
-               {\r
-                       string searchString = "://";\r
-                       int index = publishPath.IndexOf(searchString);\r
-                       if (index == -1)\r
-                               throw new InvalidOperationException();\r
-                       int endOfProtocolIndex = index + searchString.Length;\r
-                       string withoutProtocol = publishPath.Remove(0, endOfProtocolIndex);\r
-                       index = withoutProtocol.IndexOf("/");\r
-                       if (index == -1)\r
-                       {\r
-                               server = withoutProtocol;\r
-                               directory = "";\r
-                       }\r
-                       else\r
-                       {\r
-                               server = withoutProtocol.Substring(0, index);\r
-                               directory = withoutProtocol.Remove(0, index + 1);\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Copy ISO to the (remote) destination.\r
-               /// </summary>\r
-               /// <param name="sourceFilename">Name of source ISO file to copy.</param>\r
-               /// <param name="branch">Branch.</param>\r
-               /// <param name="revision">Revision.</param>\r
-               /// <remarks>\r
-               /// Structure is ftp://ftp.server.com/whereever/<branch>/ReactOS-<branch>-r<revision>.iso.\r
-               /// </remarks>\r
-               private static void CopyISOToRemoteFtpDestination(string sourceFilename,\r
-                                                                 string branch,\r
-                                                                 int revision)\r
-               {\r
-                       string distributionFilename = GetDistributionFilename(branch,\r
-                                                                             revision);\r
-                       string destinationFilename = Path.Combine(Path.GetDirectoryName(sourceFilename),\r
-                                                                 distributionFilename);\r
-                       File.Move(sourceFilename, destinationFilename);\r
-                       string server;\r
-                       string directory;\r
-                       SplitRemotePublishPath(publishPath, out server, out directory);\r
-                       FtpClient ftpClient = new FtpClient(server, "anonymous", "sin@svn.reactos.com");\r
-                       ftpClient.Login();\r
-                       if (directory != "")\r
-                               ftpClient.ChangeDir(directory);\r
-                       /* Create destination directory if it does not already exist */\r
-                       if (!ftpClient.DirectoryExists(branch))\r
-                               ftpClient.MakeDir(branch);\r
-                       ftpClient.ChangeDir(branch);\r
-                       ftpClient.Upload(destinationFilename);\r
-                       ftpClient.Close();\r
-               }\r
-\r
-               /// <summary>\r
-               /// Copy ISO to the (local) destination.\r
-               /// </summary>\r
-               /// <param name="sourceFilename">Name of source ISO file to copy.</param>\r
-               /// <param name="branch">Branch.</param>\r
-               /// <param name="revision">Revision.</param>\r
-               /// <remarks>\r
-               /// Structure is <branch>\ReactOS-<branch>-r<revision>.iso.\r
-               /// </remarks>\r
-               private static void CopyISOToLocalDestination(string sourceFilename,\r
-                                                             string branch,\r
-                                                             int revision)\r
-               {\r
-                       string distributionFilename = GetDistributionFilename(branch,\r
-                                                                             revision);\r
-                       string destinationDirectory = Path.Combine(publishPath,\r
-                                                                  branch);\r
-                       string destinationFilename = Path.Combine(destinationDirectory,\r
-                                                                 distributionFilename);\r
-                       if (!Directory.Exists(destinationDirectory))\r
-                               Directory.CreateDirectory(destinationDirectory);\r
-                       File.Copy(sourceFilename,\r
-                                 destinationFilename);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Copy ISO to the destination.\r
-               /// </summary>\r
-               /// <param name="sourceFilename">Name of source ISO file to copy.</param>\r
-               /// <param name="branch">Branch.</param>\r
-               /// <param name="revision">Revision.</param>\r
-               /// <remarks>\r
-               /// Structure is <branch>\ReactOS-<branch>-r<revision>.iso.\r
-               /// </remarks>\r
-               private static void CopyISOToDestination(string sourceFilename,\r
-                                                        string branch,\r
-                                                        int revision)\r
-               {\r
-                       if (PublishToRemoteFtpLocation)\r
-                               CopyISOToRemoteFtpDestination(sourceFilename, branch, revision);\r
-                       else\r
-                               CopyISOToLocalDestination(sourceFilename, branch, revision);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Publish a revision of ReactOS.\r
-               /// </summary>\r
-               /// <param name="text">Error message.</param>\r
-               private static int Publish(string branch,\r
-                                          int revision,\r
-                                          string workingDirectory)\r
-               {\r
-                       string make = "mingw32-make";\r
-                       string makeParameters = GetConfigurationOption("makeParameters", "");\r
-                       string reactosDirectory = Path.Combine(workingDirectory,\r
-                                                              "reactos");\r
-                       Console.WriteLine(String.Format("ReactOS directory is {0}",\r
-                                                       reactosDirectory));\r
-                       string standardOutput;\r
-                       string standardError;\r
-                       int exitCode = RunScript(make,\r
-                                                makeParameters + " bootcd",\r
-                                                reactosDirectory,\r
-                                                out standardOutput,\r
-                                                out standardError);\r
-                       if (exitCode != 0)\r
-                       {\r
-                               Fail(revision,\r
-                                    String.Format("make bootcd failed: (error: {0}) {1}",\r
-                                                  standardError,\r
-                                                  standardOutput));\r
-                               return exitCode;\r
-                       }\r
-\r
-                       string sourceFilename = Path.Combine(reactosDirectory,\r
-                                                            "ReactOS.iso");\r
-                       if (File.Exists(sourceFilename))\r
-                               CopyISOToDestination(sourceFilename,\r
-                                                    branch,\r
-                                                    revision);\r
-                       else\r
-                       {\r
-                               Fail(revision,\r
-                                    "make bootcd produced no ReactOS.iso");\r
-                               return exitCode;\r
-                       }\r
-\r
-                       return exitCode;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Program entry point.\r
-               /// </summary>\r
-               /// <param name="args">Arguments from command line.</param>\r
-               /// <remarks>\r
-               /// If exit code is 0, then the commit was processed successfully.\r
-               /// If exit code is 1, then the commit was not processed successfully.\r
-               /// </remarks>\r
-               public static void Main(string[] args)\r
-               {\r
-                       try\r
-                       {\r
-                               System.Environment.ExitCode = 1;\r
-\r
-                               publishPath = ConfigurationSettings.AppSettings["publishPath"];\r
-                               if (publishPath == null)\r
-                               {\r
-                                       Fail("PublishPath option not set.");\r
-                                       return;\r
-                               }\r
-\r
-                               if (args.Length < 3)\r
-                               {\r
-                                       Fail("Usage: ReactOS.CustomRevisionAction action branch revision");\r
-                                       return;\r
-                               }\r
-\r
-                               string action = args[0]; /* bootcd */\r
-                               string branch = args[1];\r
-                               int revision = Int32.Parse(args[2]);\r
-                               \r
-                               System.Environment.ExitCode = Publish(branch,\r
-                                                                     revision,\r
-                                                                     System.Environment.CurrentDirectory);\r
-                       }\r
-                       catch (Exception ex)\r
-                       {\r
-                               Fail(String.Format("Exception: {0}", ex));\r
-                               System.Environment.ExitCode = 1;\r
-                       }\r
-               }\r
-       }\r
-}\r
diff --git a/cis/ReactOS.CustomRevisionAction/RedirectableProcess.cs b/cis/ReactOS.CustomRevisionAction/RedirectableProcess.cs
deleted file mode 100644 (file)
index e0acb7f..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*\r
- * When using the ProcessStartInfo.RedirectStandardXxx properties there is a chance of\r
- * the parent and child process blocking due to a race condition. This class handles the\r
- * problem.\r
- * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessstartinfoclassredirectstandardoutputtopic.asp\r
- */\r
-using System;\r
-using System.IO;\r
-using System.Threading;\r
-using System.Diagnostics;\r
-\r
-namespace ReactOS.CustomRevisionAction\r
-{\r
-       /// <summary>\r
-       /// Process that redirects standard output and standard error streams.\r
-       /// </summary>\r
-       public class RedirectableProcess\r
-       {\r
-               /// <summary>\r
-               /// Process.\r
-               /// </summary>\r
-               private Process process;\r
-\r
-               /// <summary>\r
-               /// Redirected standard error stream.\r
-               /// </summary>\r
-               private string processError;\r
-\r
-               /// <summary>\r
-               /// Redirected standard output stream.\r
-               /// </summary>\r
-               private string processOutput;\r
-\r
-               /// <summary>\r
-               /// Exit code.\r
-               /// </summary>\r
-               private int exitCode;\r
-\r
-               /// <summary>\r
-               /// Redirected standard error stream.\r
-               /// </summary>\r
-               public string ProcessError\r
-               {\r
-                       get\r
-                       {\r
-                               return processError;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Redirected standard output stream.\r
-               /// </summary>\r
-               public string ProcessOutput\r
-               {\r
-                       get\r
-                       {\r
-                               return processOutput;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Exit code.\r
-               /// </summary>\r
-               public int ExitCode\r
-               {\r
-                       get\r
-                       {\r
-                               return exitCode;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Run an excutable and redirect standard error and/or standard output safely.\r
-               /// </summary>\r
-               public RedirectableProcess(ProcessStartInfo processStartInfo)\r
-               {\r
-                       Run(processStartInfo, null);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Run an excutable and redirect standard error and/or standard output safely.\r
-               /// </summary>\r
-               public RedirectableProcess(ProcessStartInfo processStartInfo, string input)\r
-               {\r
-                       Run(processStartInfo, input);\r
-               }\r
-               \r
-               private void Run(ProcessStartInfo processStartInfo, string input)\r
-               {\r
-                       process = new Process();\r
-                       process.StartInfo = processStartInfo;\r
-                       process.Start();\r
-                       if (processStartInfo.RedirectStandardInput && input != null)\r
-                       {\r
-                               process.StandardInput.AutoFlush = true;\r
-                               process.StandardInput.WriteLine(input);\r
-                       }\r
-                       Thread readStandardError = null;\r
-                       if (processStartInfo.RedirectStandardError)\r
-                       {\r
-                               readStandardError = new Thread(new ThreadStart(ReadStandardError));\r
-                               readStandardError.Start();\r
-                       }\r
-                       Thread readStandardOutput = null;\r
-                       if (processStartInfo.RedirectStandardOutput)\r
-                       {\r
-                               readStandardOutput = new Thread(new ThreadStart(ReadStandardOutput));\r
-                               readStandardOutput.Start();\r
-                       }\r
-                       if (processStartInfo.RedirectStandardError)\r
-                       {\r
-                               readStandardError.Join();\r
-                       }\r
-                       if (processStartInfo.RedirectStandardOutput)\r
-                       {\r
-                               readStandardOutput.Join();\r
-                       }\r
-                       process.WaitForExit();\r
-                       exitCode = process.ExitCode;\r
-                       process = null;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Read standard error thread entry-point.\r
-               /// </summary>          \r
-               private void ReadStandardError()\r
-               {\r
-                       if (process != null)\r
-                       {\r
-                               processError = process.StandardError.ReadToEnd();\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Read standard output thread entry-point.\r
-               /// </summary>          \r
-               private void ReadStandardOutput()\r
-               {\r
-                       if (process != null)\r
-                       {\r
-                               processOutput = process.StandardOutput.ReadToEnd();\r
-                       }\r
-               }\r
-       }\r
-}\r
diff --git a/cis/ReactOS.RevisionISO/config.template.php b/cis/ReactOS.RevisionISO/config.template.php
deleted file mode 100644 (file)
index 59b942e..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-/* Rename to config.php */
-
-define(ISO_BASE_URL, "http://www.server.com/iso/");
-define(ISO_PATH, "C:\\iso\\");
-
-?>
diff --git a/cis/ReactOS.RevisionISO/index.php b/cis/ReactOS.RevisionISO/index.php
deleted file mode 100644 (file)
index 24828e3..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-<?php
-
-include ('config.php');
-
-function dm_usort_cmp ($a, $b) {
-  if ($a == $b) return 0;
-  return ($a > $b) ? -1 : 1;
-}
-
-function dm_usort_cmp_desc ($a, $b) {
-  if ($a == $b) return 0;
-  return ($a > $b) ? 1 : -1;
-}
-
-function printHeader()
-{
-?>
-<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-<title>ReactOS Revison ISOs</title>
-<meta name="generator" content="Editpad">
-<meta name="keywords" content="OS, ReactOS, operating system">
-<meta name="author" content="ReactOS Project (ros-dev@reactos.com)">
-<style>
-.box
-{
-       padding: 0px;
-       background-color: #88aadd;
-       border-left: 1px solid #f0f0f0;
-       border-right: 1px solid #000000;
-       border-top: 1px solid #f0f0f0;
-       border-bottom: 1px solid #000000;
-}
-</style>
-</head>
-<body bgcolor="#88aadd">
-<form method="post" action="">
-<?php
-}
-
-function printMenu($revision)
-{
-?>
-<table border="0" class="box" cellpadding="5">
-<tr>
-<td height="2px">
-</td>
-</tr>
-<tr>
-<td>
-
-<table border="0" cellpadding="0" cellspacing="0">
-<tr>
-       <td>
-               <b>Branch:</b>
-       </td>
-       <td>
-               <select name="branch" tabindex="1">
-<?php
-
-    $d = dir(ISO_PATH);
-    $i = 0;
-    $dirlist = array();
-    while (false !== ($entry = $d->read())) {
-      if ((strcasecmp($entry, ".") != 0) && (strcasecmp($entry, "..") != 0) && is_dir(ISO_PATH . "\\" . $entry) == "dir") {
-        $dirlist[$i++] = $entry;
-      }
-    }
-    $d->close();
-
-    if (is_array($dirlist)) {
-      usort($dirlist, "dm_usort_cmp");
-      reset($dirlist);
-      while (list($key, $val) = each($dirlist)) {
-        $branch = $val;
-       if ($branch == $_POST["branch"] || (!isset($_POST["branch"]) && $branch == "trunk"))
-               $selected = " selected";
-       else
-               $selected = "";
-       echo "<option$selected>$branch</option>";
-      }
-    }
-       
-?>
-               </select>
-       </td>
-       <td>
-               &nbsp;
-       </td>
-       <td>
-               <b>Revision:</b>
-       </td>
-       <td>
-<?php
-       echo "<input type=\"text\" name=\"revision\" size=\"10\" maxlength=\"10\" tabindex=\"2\" value=\"" . $revision . "\"></input>";
-?>
-       </td>
-       <td>
-               &nbsp;
-       </td>
-       <td>
-               <input type="submit" name="getiso" value="Download" tabindex="3" style="border: 1px solid #000000"></input>
-       </td>
-</tr>
-<tr>
-       <td colspan="7">
-               <hr size="2" width="100%" />
-       </td>
-</tr>
-<tr>
-       <td colspan="4">
-               <input type="submit" name="getnextiso" value="Next ISO" tabindex="4" style="border: 1px solid #000000"></input>
-       </td>
-       <td colspan="3" align="right">
-               <input type="submit" name="getlatestiso" value="Latest ISO" tabindex="5" style="border: 1px solid #000000"></input>
-       </td>
-</tr>
-</table>
-
-</td>
-</tr>
-<tr>
-<td height="2px">
-</td>
-</tr>
-</table>
-<?php
-}
-
-function printFooter()
-{
-?>
-</form>
-
-<script>
-var revision = document.getElementById('revision');
-if (revision) revision.focus();
-</script>
-</body>
-</html>
-<?php
-}
-
-function locateRevisionISO($branch, $revision, $latest)
-{
-       $revision = intval($revision);
-       $path = ISO_PATH . "\\" . $branch;
-       $d = dir($path);
-       $i = 0;
-       $filelist = array();
-       while (false !== ($entry = $d->read())) {
-               if (is_dir($path . "\\" . $entry) != "dir")
-                       $filelist[$i++] = $entry;
-       }
-       $d->close();
-       
-       if (is_array($filelist)) {
-               $sortFunction = $latest ? "dm_usort_cmp" : "dm_usort_cmp_desc";
-               usort($filelist, $sortFunction);
-               reset($filelist);
-               while (list($key, $filename) = each($filelist)) {
-                       if (ereg('ReactOS-' . $branch . '-r([0-9]*).iso', $filename, $regs))
-                       {
-                               $thisRevision = intval($regs[1]);
-                               if (($latest) && ($thisRevision < $revision))
-                                       return $regs[1];
-                               else if ($thisRevision > $revision)
-                                       return $regs[1];
-                               $lastRevision = $thisRevision;
-                       }
-               }
-       }
-
-       return "";
-}
-
-function getNextRevisionISO($branch, $revision)
-{
-       return locateRevisionISO($branch, $revision, false);
-}
-
-function getLatestRevisionISO($branch)
-{
-       return locateRevisionISO($branch, 999999, true);
-}
-
-function main()
-{
-       $branch = $_POST["branch"];
-       $revision = $_POST["revision"];
-
-       $filename = "ReactOS-" . $branch . "-r" . $revision . ".iso";
-       if (file_exists(ISO_PATH . $branch . "\\" . $filename))
-       {
-               $location = ISO_BASE_URL . $branch . "/" . $filename;
-               header("Location: $location");
-               return;
-       }
-       else
-       {
-               printHeader();
-               printMenu($_POST["revision"]);
-               echo "<br><b>No ISO exist for branch '" . $branch . "' and revision " . $revision . ".</b><br><br>";
-               printFooter();
-       }
-}
-
-if (!empty($_POST["getiso"]) && !empty($_POST["branch"]) && !empty($_POST["revision"]) && is_numeric($_POST["revision"]))
-       main();
-else if (!empty($_POST["getnextiso"]) && !empty($_POST["branch"]) && !empty($_POST["revision"]) && is_numeric($_POST["revision"]))
-{
-       printHeader();
-       printMenu(getNextRevisionISO($_POST["branch"], $_POST["revision"]));
-       printFooter();
-}
-else if (!empty($_POST["getlatestiso"]) && !empty($_POST["branch"]))
-{
-       printHeader();
-       printMenu(getLatestRevisionISO($_POST["branch"]));
-       printFooter();
-}
-else
-{
-       printHeader();
-       printMenu($_POST["revision"]);
-       printFooter();
-}
-
-?>
diff --git a/cis/ReactOS.Verify/App.config b/cis/ReactOS.Verify/App.config
deleted file mode 100644 (file)
index 45b24c6..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?> \r
-<configuration>\r
-       <appSettings>\r
-               <add key="smtpServer" value="localhost" />\r
-               <add key="errorEmail" value="mailbox@somewhere-on-the-net" />\r
-               <add key="makeParameters" value="" />\r
-               <add key="fastDisk" value="" />\r
-       </appSettings>\r
-</configuration>\r
diff --git a/cis/ReactOS.Verify/AssemblyInfo.cs b/cis/ReactOS.Verify/AssemblyInfo.cs
deleted file mode 100644 (file)
index f3000d0..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-using System.Reflection;\r
-using System.Runtime.CompilerServices;\r
-\r
-[assembly: AssemblyTitle("ReactOS Sin Verifier")]\r
-[assembly: AssemblyDescription("ReactOS Sin Verifier")]\r
-[assembly: AssemblyConfiguration("")]\r
-[assembly: AssemblyCompany("ReactOS Project")]\r
-[assembly: AssemblyProduct("React Operating System")]\r
-[assembly: AssemblyCopyright("Copyright 2005 ReactOS Project")]\r
-[assembly: AssemblyTrademark("")]\r
-[assembly: AssemblyCulture("")]\r
-[assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyDelaySign(false)]\r
-[assembly: AssemblyKeyFile("")]\r
diff --git a/cis/ReactOS.Verify/Default.build b/cis/ReactOS.Verify/Default.build
deleted file mode 100644 (file)
index da799e1..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>\r
-<project name="ReactOS.Verify" default="build">\r
-\r
-       <property name="output.dir" value="bin" />\r
-\r
-       <target name="build" description="Build component">\r
-               <mkdir dir="${output.dir}" />\r
-               <csc target="exe"\r
-                       output="${output.dir}\ReactOS.Verify.exe"\r
-                       optimize="true"\r
-                       debug="true"\r
-                       doc="${output.dir}\ReactOS.Verify.xml"\r
-                       warninglevel="0">\r
-                       <sources>\r
-                               <include name="*.cs" />\r
-                       </sources>\r
-               </csc>\r
-       </target>\r
-\r
-</project>\r
diff --git a/cis/ReactOS.Verify/Main.cs b/cis/ReactOS.Verify/Main.cs
deleted file mode 100644 (file)
index f997a8d..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-using System;\r
-using System.IO;\r
-using System.Diagnostics;\r
-using System.Configuration;\r
-using System.Web.Mail;\r
-using System.Collections;\r
-using System.Collections.Specialized;\r
-\r
-namespace ReactOS.Verify\r
-{\r
-       public class MainClass\r
-       {\r
-               /// <summary>\r
-               /// Run the application.\r
-               /// </summary>\r
-               /// <param name="script">Script to run.</param>\r
-               /// <param name="args">Arguments to pass to script.</param>\r
-               /// <param name="workingDirectory">Working directory.</param>\r
-               /// <param name="standardOutput">Receives standard output.</param>\r
-               /// <param name="standardError">Receives standard error.</param>\r
-               /// <returns>\r
-               /// Exit code.\r
-               /// </returns>\r
-               private static int RunScript(string script,\r
-                                            string args,\r
-                                            string workingDirectory,\r
-                                            StringDictionary environmentVarables,\r
-                                            out string standardOutput,\r
-                                            out string standardError)\r
-               {\r
-                       ProcessStartInfo scriptProcessStartInfo = new ProcessStartInfo(script,\r
-                                                                                      args);\r
-                       scriptProcessStartInfo.CreateNoWindow = true;\r
-                       /*\r
-                        * All standard streams must be redirected.\r
-                        * Otherwise DuplicateHandle() will fail.\r
-                        */\r
-                       scriptProcessStartInfo.RedirectStandardInput = true;\r
-                       scriptProcessStartInfo.RedirectStandardError = true;\r
-                       scriptProcessStartInfo.RedirectStandardOutput = true;\r
-                       scriptProcessStartInfo.UseShellExecute = false;\r
-                       scriptProcessStartInfo.WorkingDirectory = workingDirectory;\r
-                       if (environmentVarables != null)\r
-                       {\r
-                               foreach (DictionaryEntry de in environmentVarables)\r
-                                       scriptProcessStartInfo.EnvironmentVariables.Add(de.Key as string, de.Value as string);\r
-                       }\r
-                       RedirectableProcess redirectableProcess = new RedirectableProcess(scriptProcessStartInfo);\r
-                       standardOutput = redirectableProcess.ProcessOutput;\r
-                       standardError = redirectableProcess.ProcessError;\r
-                       return redirectableProcess.ExitCode;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Retrieve value of configuration from configuration file.\r
-               /// </summary>\r
-               /// <param name="name">Name of configuration option.</param>\r
-               /// <param name="defaultValue">\r
-               /// Default value to be returned if the option does not exist.\r
-               /// </param>\r
-               /// <returns>\r
-               /// Value of configuration option or null if the option does not\r
-               /// exist and no default value is provided.\r
-               /// </returns>\r
-               private static string GetConfigurationOption(string name,\r
-                                                            string defaultValue)\r
-               {\r
-                       if (ConfigurationSettings.AppSettings[name] != null)\r
-                       {\r
-                               string s = ConfigurationSettings.AppSettings[name].Trim();\r
-                               return s.Equals(String.Empty) ? defaultValue : s;\r
-                       }\r
-                       else\r
-                               return defaultValue;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Send an email.\r
-               /// </summary>\r
-               /// <param name="subject">Subject of the email.</param>\r
-               /// <param name="body">Content of the email.</param>\r
-               private static void SendErrorMail(string subject, string body)\r
-               {\r
-                       try\r
-                       {\r
-                               string smtpServer = GetConfigurationOption("smtpServer", "localhost");\r
-                               string email = GetConfigurationOption("errorEmail", null);\r
-                               if (email == null)\r
-                                       return;\r
-                               MailMessage mm = new MailMessage();\r
-                               mm.Priority = MailPriority.Normal;\r
-                               mm.From = email;\r
-                               mm.To = email;\r
-                               mm.Subject = subject;\r
-                               mm.Body += body;\r
-                               mm.Body += "<br>";\r
-                               mm.BodyFormat = MailFormat.Html;\r
-                               SmtpMail.SmtpServer = smtpServer;\r
-                               SmtpMail.Send(mm);\r
-                       }\r
-                       catch (Exception ex)\r
-                       {\r
-                               Console.Error.WriteLine(ex.Message);\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Fail with an error message.\r
-               /// </summary>\r
-               /// <param name="text">Error message.</param>\r
-               private static void Fail(string text)\r
-               {\r
-                       Console.WriteLine(text);\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Paths to fast disk for temporary files.\r
-               /// </summary>\r
-               private static string TemporaryFastDisk\r
-               {\r
-                       get\r
-                       {\r
-                               string temporaryFastDisk = GetConfigurationOption("temporaryFastDisk", null);\r
-                               if (temporaryFastDisk == null || temporaryFastDisk.Trim().Equals(String.Empty))\r
-                                       return null;\r
-                               return temporaryFastDisk.Trim();\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Paths to fast disk for intermediate files.\r
-               /// </summary>\r
-               private static string IntermediateFastDisk\r
-               {\r
-                       get\r
-                       {\r
-                               string intermediateFastDisk = GetConfigurationOption("intermediateFastDisk", null);\r
-                               if (intermediateFastDisk == null || intermediateFastDisk.Trim().Equals(String.Empty))\r
-                                       return null;\r
-                               return intermediateFastDisk.Trim();\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Paths to fast disk for output files.\r
-               /// </summary>\r
-               private static string OutputFastDisk\r
-               {\r
-                       get\r
-                       {\r
-                               string outputFastDisk = GetConfigurationOption("outputFastDisk", null);\r
-                               if (outputFastDisk == null || outputFastDisk.Trim().Equals(String.Empty))\r
-                                       return null;\r
-                               return outputFastDisk.Trim();\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Return collection of environment variables.\r
-               /// </summary>\r
-               /// <returns>Collection of environment variables or null if there is none.</returns>\r
-               private static StringDictionary GetEnvironmentVarables()\r
-               {\r
-                       StringDictionary environmentVarables = new StringDictionary();\r
-                       if (TemporaryFastDisk != null)\r
-                               environmentVarables.Add("ROS_TEMPORARY", TemporaryFastDisk);\r
-                       if (IntermediateFastDisk != null)\r
-                               environmentVarables.Add("ROS_INTERMEDIATE", IntermediateFastDisk);\r
-                       if (OutputFastDisk != null)\r
-                               environmentVarables.Add("ROS_OUTPUT", OutputFastDisk);\r
-                       return environmentVarables;\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Run make.\r
-               /// </summary>\r
-               /// <param name="arguments">Arguments.</param>\r
-               /// <param name="standardOutput">Receives standard output.</param>\r
-               /// <param name="standardError">Receives standard error.</param>\r
-               /// <returns>Make exit code.</returns>\r
-               private static int RunMake(string arguments,\r
-                                          out string standardOutput,\r
-                                          out string standardError)\r
-               {\r
-                       string make = "mingw32-make";\r
-                       string makeParameters = GetConfigurationOption("makeParameters", "");\r
-                       string reactosDirectory = Path.Combine(System.Environment.CurrentDirectory,\r
-                                                              "reactos");\r
-                       return RunScript(make,\r
-                                        makeParameters + " " + arguments,\r
-                                        reactosDirectory,\r
-                                        GetEnvironmentVarables(),\r
-                                        out standardOutput,\r
-                                        out standardError);\r
-               }\r
-               \r
-               /// <summary>\r
-               /// Verify a revision of ReactOS by building it all.\r
-               /// </summary>\r
-               private static int VerifyFull()\r
-               {\r
-                       string standardOutput;\r
-                       string standardError;\r
-                       int exitCode = RunMake("bootcd",\r
-                                              out standardOutput,\r
-                                              out standardError);\r
-                       if (exitCode != 0)\r
-                       {\r
-                               Fail(String.Format("make bootcd failed: (error: {0}) {1}",\r
-                                                  standardError,\r
-                                                  standardOutput));\r
-                               return exitCode;\r
-                       }\r
-                       \r
-                       string reactosDirectory = Path.Combine(System.Environment.CurrentDirectory,\r
-                                                              "reactos");\r
-                       string isoFilename = Path.Combine(reactosDirectory,\r
-                                                         "ReactOS.iso");\r
-                       if (!File.Exists(isoFilename))\r
-                               Fail("make bootcd produced no ReactOS.iso");\r
-\r
-                       return exitCode;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Verify a revision of ReactOS by building parts.\r
-               /// </summary>\r
-               /// <param name="components">Comma separated list of components to build.</param>\r
-               private static int VerifyPartial(string components)\r
-               {\r
-                       string standardOutput;\r
-                       string standardError;\r
-                       string componentParameters = "\"" + components.Replace(",", "\" \"") + "\"";\r
-                       int exitCode = RunMake(componentParameters,\r
-                                              out standardOutput,\r
-                                              out standardError);\r
-                       if (exitCode != 0)\r
-                               Fail(String.Format("make failed for targets {0}: (error: {1}) {2}",\r
-                                                  componentParameters,\r
-                                                  standardError,\r
-                                                  standardOutput));\r
-                       return exitCode;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Verify a revision of ReactOS.\r
-               /// </summary>\r
-               /// <param name="args">Arguments from command line.</param>\r
-               private static int Verify(string[] args)\r
-               {\r
-                       if (args.Length > 0)\r
-                               return VerifyPartial(args[0]);\r
-                       else\r
-                               return VerifyFull();\r
-               }\r
-\r
-               /// <summary>\r
-               /// Program entry point.\r
-               /// </summary>\r
-               /// <param name="args">Arguments from command line.</param>\r
-               /// <remarks>\r
-               /// If exit code is 0, then the commit was processed successfully.\r
-               /// If exit code is 1, then the commit was not processed successfully.\r
-               /// </remarks>\r
-               public static void Main(string[] args)\r
-               {\r
-                       try\r
-                       {\r
-                               System.Environment.ExitCode = Verify(args);\r
-                       }\r
-                       catch (Exception ex)\r
-                       {\r
-                               string text = String.Format("Exception: {0}", ex);\r
-                               SendErrorMail("ReactOS Verify Error", text);\r
-                               System.Environment.ExitCode = 1;\r
-                       }\r
-               }\r
-       }\r
-}\r
diff --git a/cis/ReactOS.Verify/RedirectableProcess.cs b/cis/ReactOS.Verify/RedirectableProcess.cs
deleted file mode 100644 (file)
index 6bdfe94..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*\r
- * When using the ProcessStartInfo.RedirectStandardXxx properties there is a chance of\r
- * the parent and child process blocking due to a race condition. This class handles the\r
- * problem.\r
- * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessstartinfoclassredirectstandardoutputtopic.asp\r
- */\r
-using System;\r
-using System.IO;\r
-using System.Threading;\r
-using System.Diagnostics;\r
-\r
-namespace ReactOS.Verify\r
-{\r
-       /// <summary>\r
-       /// Process that redirects standard output and standard error streams.\r
-       /// </summary>\r
-       public class RedirectableProcess\r
-       {\r
-               /// <summary>\r
-               /// Process.\r
-               /// </summary>\r
-               private Process process;\r
-\r
-               /// <summary>\r
-               /// Redirected standard error stream.\r
-               /// </summary>\r
-               private string processError;\r
-\r
-               /// <summary>\r
-               /// Redirected standard output stream.\r
-               /// </summary>\r
-               private string processOutput;\r
-\r
-               /// <summary>\r
-               /// Exit code.\r
-               /// </summary>\r
-               private int exitCode;\r
-\r
-               /// <summary>\r
-               /// Redirected standard error stream.\r
-               /// </summary>\r
-               public string ProcessError\r
-               {\r
-                       get\r
-                       {\r
-                               return processError;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Redirected standard output stream.\r
-               /// </summary>\r
-               public string ProcessOutput\r
-               {\r
-                       get\r
-                       {\r
-                               return processOutput;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Exit code.\r
-               /// </summary>\r
-               public int ExitCode\r
-               {\r
-                       get\r
-                       {\r
-                               return exitCode;\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Run an excutable and redirect standard error and/or standard output safely.\r
-               /// </summary>\r
-               public RedirectableProcess(ProcessStartInfo processStartInfo)\r
-               {\r
-                       Run(processStartInfo, null);\r
-               }\r
-\r
-               /// <summary>\r
-               /// Run an excutable and redirect standard error and/or standard output safely.\r
-               /// </summary>\r
-               public RedirectableProcess(ProcessStartInfo processStartInfo, string input)\r
-               {\r
-                       Run(processStartInfo, input);\r
-               }\r
-               \r
-               private void Run(ProcessStartInfo processStartInfo, string input)\r
-               {\r
-                       process = new Process();\r
-                       process.StartInfo = processStartInfo;\r
-                       process.Start();\r
-                       if (processStartInfo.RedirectStandardInput && input != null)\r
-                       {\r
-                               process.StandardInput.AutoFlush = true;\r
-                               process.StandardInput.WriteLine(input);\r
-                       }\r
-                       Thread readStandardError = null;\r
-                       if (processStartInfo.RedirectStandardError)\r
-                       {\r
-                               readStandardError = new Thread(new ThreadStart(ReadStandardError));\r
-                               readStandardError.Start();\r
-                       }\r
-                       Thread readStandardOutput = null;\r
-                       if (processStartInfo.RedirectStandardOutput)\r
-                       {\r
-                               readStandardOutput = new Thread(new ThreadStart(ReadStandardOutput));\r
-                               readStandardOutput.Start();\r
-                       }\r
-                       if (processStartInfo.RedirectStandardError)\r
-                       {\r
-                               readStandardError.Join();\r
-                       }\r
-                       if (processStartInfo.RedirectStandardOutput)\r
-                       {\r
-                               readStandardOutput.Join();\r
-                       }\r
-                       process.WaitForExit();\r
-                       exitCode = process.ExitCode;\r
-                       process = null;\r
-               }\r
-\r
-               /// <summary>\r
-               /// Read standard error thread entry-point.\r
-               /// </summary>          \r
-               private void ReadStandardError()\r
-               {\r
-                       if (process != null)\r
-                       {\r
-                               processError = process.StandardError.ReadToEnd();\r
-                       }\r
-               }\r
-\r
-               /// <summary>\r
-               /// Read standard output thread entry-point.\r
-               /// </summary>          \r
-               private void ReadStandardOutput()\r
-               {\r
-                       if (process != null)\r
-                       {\r
-                               processOutput = process.StandardOutput.ReadToEnd();\r
-                       }\r
-               }\r
-       }\r
-}\r
diff --git a/msvc6/.cvsignore b/msvc6/.cvsignore
deleted file mode 100644 (file)
index 45b9fe9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-*.ncb
-*.opt
diff --git a/msvc6/README.txt b/msvc6/README.txt
deleted file mode 100644 (file)
index ad74b07..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-ReactOS Microsoft Visual C/C++ 6.0 IDE files
-
-This is the Microsoft Visual C/C++ 6.0 project workspace and project
-files for a few of the ReactOS binaries. They are ONLY included as a
-convenience, and is NOT to be considered supported, or even correct.
-If you build a binary that misbehaves using these files, you _might_
-be able to get in touch with someone to fix the problem
-         BUT DO NOT COUNT ON IT!
-
-The only supported build system for ReactOS is the one documented at
-www.reactos.com.
-
-------------------------------------------------------------------
-Please, before you start playing with this, read the whole of
-this document.
-
-Before you can use these project files, you _need_ to make a successful
-build using the normal ReactOS build system. There are some vital files
-that needs to be created, and currently only the normal build creates these.
-
-Once that is done, you need to generate the kernel-mode service "table"
-file by running nmake (from this point on you can use the "native"
-MSVC tools) from the directory MSVC6\iface\native.
-This will generate MSVC6\ntoskrnl\nt_zw_msvc.c, an MSVC compatible inline-
-assembler version of the file otherwise known as reactos\ntoskrnl\nt\zw.c.
-
-Next, go to def_converter and run nmake. This builds the tool to convert
-the .def files for HAL and the kernel from the MinGW format to something
-more suitable for the MSVC linker, and also generates these .def files
-to their target location [1].
-
-Now you should be set to fire up the IDE and load the project workspace.
-
-
-When building HAL or the kernel for the first time using these
-project files, just doing it the "normal" way _will not work_.
-The linker will complain about missing library, and it will fail.
-
-The reason for this is a circular dependency between these two binaries.
-
-Currently you need to follow these procedures [2]:
-
-- Select hal as your active project.
-- Select Project/Settings.
-- Select the Link tab.
-- Select "General" from the Category drop-list.
-- Temporary remove the explicit linker library
-  (e.g. "..\ntoskrnl\Debug\ntoskrnl.lib")
-- Select "Customize" from the Category drop-list.
-- Check the "Force file output" checkbox.
-- Build hal.
-- Uncheck "Force file output".
-- Put back the removed import library.
-- Now build the ntoskrnl. Do NOT try to build hal again until
-  you have sucessfully built the kernel, and the linker has
-  generated its import library!
-- Now you can "Clean" hal, and build it as usual.
-
-If everything worked as expected, you should now have both ntoskrnl.exe
-and hal.dll freshly built.
-
-
-LIMITATIONS/DEVIATIONS (from the MinGW build):
-- Since there can only be one resource file/project, the kernel had
-to choose between either its version resource, or its message table.
-The messages won.
-- Do NOT open the .rc files in the IDE's resource editor. Chances are
-it will assume ownership over them and fill them up with at least
-conditional compilation macros.
-
-
-NOTES:
-
-[1] This is needed due to differences in handling of decorated names
-in .def files. While both MinGW GCC and MSVC generates decorated names
-in the same way for at least plain cdecl and stdcall C functions, the
-MSVC linker expects names in the .def file to be either
-
-- an exact match of the decorated name, in case it exports the
-  decorated name from the linked binary, or
-- just the name without any decoration, in case it exports just the
-  name of the symbol from the linked binary (to allow for e.g.
-  GetProcAddress using the undecorated name) - but keeps the decorated
-  names in the import library to handle and "redirect" linker requests
-  for those decorated symbols, and point them to the undercorated names
-  in the binary exporting them - so that a binary A, at link time,
-  importing symbols from binary B of the form "_name@0" will resolve
-  that symbol from the import library, but the linked binary A will
-  reference it as just "name".
-
-The ROS .def files contains a mix, "half-decorated", where the leading
-undescores are missing, but the trailing "@n" (for stdcall functions)
-are present.
-
-[2] Theoretically it could be possible to use a hal.lib generated by the
-following procedure, removing the need for the manual steps above.
-
-  cd MSVC6\hal\Debug
-  lib \def:..\..\..\reactos\hal\hal\hal.def
-
-but I have not tested it, and take no responsibility for its effectiveness.
diff --git a/msvc6/ReactOS.dsw b/msvc6/ReactOS.dsw
deleted file mode 100644 (file)
index 277d1a5..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "hal"=.\hal\hal.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "ntoskrnl"=.\ntoskrnl\ntoskrnl.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/msvc6/def_converter/def_converter.cpp b/msvc6/def_converter/def_converter.cpp
deleted file mode 100644 (file)
index e52c086..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-// Uses hard-coded filenames to require a minimum of input.
-// You think this file should be licensed? OK then,
-// Copyright (C) 2004, Mike Nordell. Use as you whish.
-#include <fstream>
-#include <string>
-#include <algorithm>
-
-const char szSrc1[] = "..\\..\\reactos\\ntoskrnl\\ntoskrnl.def";
-const char szDst1[] = "..\\ntoskrnl\\ntoskrnl.def";
-const char szSrc2[] = "..\\..\\reactos\\hal\\hal\\hal.def";
-const char szDst2[] = "..\\hal\\hal.def";
-
-enum File
-{
-       Kernel,
-       HAL
-};
-
-std::string do_kernel_replacements(std::string& s)
-{
-       std::string s2 = s.c_str();     // to fixup size after replacements
-       if (s2 == "ExAllocateFromPagedLookasideList") {
-               s2 += "=ExiAllocateFromPagedLookasideList";
-       } else
-       if (s2 == "ExFreeToPagedLookasideList") {
-               s2 += "=ExiFreeToPagedLookasideList";
-       } else
-       if (s2 == "MmLockPagableImageSection") {
-               s2 += "=MmLockPagableDataSection";
-       }
-       return s2;
-}
-
-void convert_def(const char* szSrc, const char* szDst, File file)
-{
-       using namespace std;
-       ifstream in(szSrc);
-       ofstream out(szDst);
-       string s;
-       while (getline(in, s).good()) {
-               if (!s.size()) {
-                       continue;
-               }
-               if (s[0] != ';') {      // only replace non-comment lines
-                       if (s[0] == '@') {
-                               s.erase(0, 1);
-                       }
-                       replace(s.begin(), s.end(), '@', '\0');
-                       if (file == Kernel) {
-                               s = do_kernel_replacements(s);
-                       }
-               }
-               out << s << endl;
-       }
-}
-
-
-int main()
-{
-       convert_def(szSrc1, szDst1, Kernel);
-       convert_def(szSrc2, szDst2, HAL);
-       return 0;
-}
-
diff --git a/msvc6/def_converter/makefile b/msvc6/def_converter/makefile
deleted file mode 100644 (file)
index 7edde99..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# $Id: makefile,v 1.1 2004/02/06 08:21:54 fireball Exp $
-#
-# ReactOS Operating System - .def converter for HAL and the kernel
-#
-
-DEF_HAL  = ..\hal\hal.def
-DEF_KRNL = ..\ntoskrnl\ntoskrnl.def
-CPPFLAGS = /GX
-
-all: def_converter.exe $(DEF_HAL) $(DEF_KRNL)
-
-$(DEF_HAL) : ..\..\reactos\hal\hal\hal.def
-       def_converter.exe
-
-$(DEF_KRNL) : ..\..\reactos\ntoskrnl\ntoskrnl.def
-       def_converter.exe
-
-def_converter.exe : def_converter.cpp
-
diff --git a/msvc6/hal/.cvsignore b/msvc6/hal/.cvsignore
deleted file mode 100644 (file)
index 2a26f66..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-Debug
-Release
-hal.def
diff --git a/msvc6/hal/hal.dsp b/msvc6/hal/hal.dsp
deleted file mode 100644 (file)
index 71abb59..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-# Microsoft Developer Studio Project File - Name="hal" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=hal - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "hal.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "hal.mak" CFG="hal - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "hal - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "hal - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "hal - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /Ot /Og /Os /Ob1 /I "..\..\reactos\include" /I "..\..\reactos\hal\halx86\include" /I "..\..\reactos\ntoskrnl\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "i386" /D "__NTHAL__" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x41d /d "NDEBUG"
-# ADD RSC /l 0x417 /i "..\..\reactos\include" /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /dll /machine:I386
-# ADD LINK32 ..\ntoskrnl\Release\ntoskrnl.lib /nologo /dll /machine:I386 /fixed:no
-# SUBTRACT LINK32 /pdb:none /force
-
-!ELSEIF  "$(CFG)" == "hal - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "HAL_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Z7 /Od /I "..\..\reactos\include" /I "..\..\reactos\hal\halx86\include" /I "..\..\reactos\ntoskrnl\include" /D "_WINDOWS" /D "__NTHAL__" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "i386" /FD /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x41d /d "_DEBUG"
-# ADD RSC /l 0x417 /i "..\..\reactos\include" /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\ntoskrnl\Debug\ntoskrnl.lib /nologo /dll /incremental:no /debug /machine:I386 /pdbtype:sept /fixed:no
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "hal - Win32 Release"
-# Name "hal - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\adapter.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\beep.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\bus.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\display.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\dma.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\drive.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\enum.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\fmutex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\fmutex_tmn.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\halinit.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\halx86mp.rc
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\halx86up.rc
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\irql.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\isa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\kdbg.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\mca.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\misc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\mp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\mpsirql.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\pci.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\portio.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\pwroff.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\reboot.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\spinlock.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\spinlock_tmn.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\sysbus.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\sysinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\time.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\timer.c
-# End Source File
-# End Group
-# Begin Group "include"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\include\bus.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\include\hal.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\hal\halx86\include\mps.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# Begin Source File
-
-SOURCE=.\hal.def
-# End Source File
-# End Target
-# End Project
diff --git a/msvc6/iface/native/genntdll.c b/msvc6/iface/native/genntdll.c
deleted file mode 100644 (file)
index bd05195..0000000
+++ /dev/null
@@ -1,392 +0,0 @@
-/* $Id: genntdll.c,v 1.1 2004/02/06 08:21:56 fireball Exp $
- *
- * COPYRIGHT:             See COPYING in the top level directory
- * PROJECT:               ReactOS version of ntdll
- * FILE:                  iface/native/genntdll.c
- * PURPOSE:               Generates the system call stubs in ntdll
- * CHANGE HISTORY:       Added a '@xx' to deal with stdcall [ Ariadne ]
- *     19990616 (ea)
- *             Four arguments now required; 4th is the file
- *             for ntoskrnl ZwXXX functions (which are merely calls
- *             to twin NtXXX calls, via int 0x2e (x86).
- *     19990617 (ea)
- *             Fixed a bug in function numbers in kernel ZwXXX stubs.
- *
- */
-
-/* INCLUDE ******************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define PARAMETERIZED_LIBS
-
-/* #define VERBOSE */
-
-#define INPUT_BUFFER_SIZE 255
-
-/* FUNCTIONS ****************************************************************/
-
-void write_syscall_stub(FILE* out, FILE* out3, char* name, char* name2,
-                       char* nr_args, unsigned int sys_call_idx)
-{
-       int i;
-       int nArgBytes = atoi(nr_args);
-#ifdef PARAMETERIZED_LIBS
-  fprintf(out,"__asm__(\"\\n\\t.global _%s@%s\\n\\t\"\n",name,nr_args);
-  fprintf(out,"\".global _%s@%s\\n\\t\"\n",name2,nr_args);
-  fprintf(out,"\"_%s@%s:\\n\\t\"\n",name,nr_args);
-  fprintf(out,"\"_%s@%s:\\n\\t\"\n",name2,nr_args);
-#else
-  fprintf(out,"__asm__(\"\\n\\t.global _%s\\n\\t\"\n",name);
-  fprintf(out,"\".global _%s\\n\\t\"\n",name2);
-  fprintf(out,"\"_%s:\\n\\t\"\n",name);
-  fprintf(out,"\"_%s:\\n\\t\"\n",name2);
-#endif
-  fprintf(out,"\t\"pushl\t%%ebp\\n\\t\"\n");
-  fprintf(out,"\t\"movl\t%%esp, %%ebp\\n\\t\"\n");
-  fprintf(out,"\t\"mov\t$%d,%%eax\\n\\t\"\n",sys_call_idx);
-  fprintf(out,"\t\"lea\t8(%%ebp),%%edx\\n\\t\"\n");
-  fprintf(out,"\t\"int\t$0x2E\\n\\t\"\n");
-  fprintf(out,"\t\"popl\t%%ebp\\n\\t\"\n");
-  fprintf(out,"\t\"ret\t$%s\\n\\t\");\n\n",nr_args);
-  
-  /*
-   * Now write the NTOSKRNL stub for the
-   * current system call. ZwXXX does NOT
-   * alias the corresponding NtXXX call.
-   */
-#if 0
-  fprintf(out3,"__asm__(\n");
-  fprintf(out3,"\".global _%s@%s\\n\\t\"\n",name2,nr_args);
-  fprintf(out3,"\"_%s@%s:\\n\\t\"\n",name2,nr_args);
-  fprintf(out3,"\t\"pushl\t%%ebp\\n\\t\"\n");
-  fprintf(out3,"\t\"movl\t%%esp, %%ebp\\n\\t\"\n");
-  fprintf(out3,"\t\"mov\t$%d,%%eax\\n\\t\"\n",sys_call_idx);
-  fprintf(out3,"\t\"lea\t8(%%ebp),%%edx\\n\\t\"\n");
-  fprintf(out3,"\t\"int\t$0x2E\\n\\t\"\n");
-  fprintf(out3,"\t\"popl\t%%ebp\\n\\t\"\n");
-  fprintf(out3,"\t\"ret\t$%s\\n\\t\");\n\n",nr_args);
-#else
-  fprintf(out3,"__declspec(naked) __stdcall\n");
-  fprintf(out3,"%s(", name2);  // make it emit callconv, reval and full signature too
-  for (i=0; i*4 < nArgBytes; ++i) {
-    fprintf(out3,"int dummy%d", i);
-       if (((i+1)*4) < nArgBytes) fprintf(out3,",");
-  }
-  fprintf(out3,")\n{\n");
-  fprintf(out3,"\t__asm {\n");
-  fprintf(out3,"\t\tpush\tebp\n");
-  fprintf(out3,"\t\tmov\tebp, esp\n");
-  fprintf(out3,"\t\tmov\teax,%d\n",sys_call_idx);
-  fprintf(out3,"\t\tlea\tedx, 8[ebp]\n");
-  fprintf(out3,"\t\tint\t0x2E\n");
-  fprintf(out3,"\t\tpop\tebp\n");
-  fprintf(out3,"\t\tret\t%s\n",nr_args);
-  fprintf(out3,"\t}\n");
-  fprintf(out3,"}\n\n");
-#endif
-}
-
-int makeSystemServiceTable(FILE *in, FILE *out)
-{
-char    line [INPUT_BUFFER_SIZE];
-char    *s;
-char    *name;
-char    *name2;
-int     sys_call_idx;
-char    *nr_args;
-char    *stmp;
-
-       /*
-        * Main SSDT Header
-        */
-       fprintf(out,"// Machine generated, don't edit\n");
-       fprintf(out,"\n\n");
-
-       /*
-        * First we build the Main SSDT
-        */
-       fprintf(out,"\n\n\n");
-       fprintf(out,"SSDT MainSSDT[] = {\n");
-
-       for (   /* First system call has index zero */
-               sys_call_idx = 0;
-               /* Go on until EOF or read zero bytes */
-               (       (!feof(in))
-                       && (fgets(line, sizeof line, in) != NULL)
-                       );
-               /* Next system call index */
-               sys_call_idx++
-               )
-       {
-               if ((s = (char *) strchr(line,'\r')) != NULL)
-               {
-                       *s = '\0';
-               }
-               /*
-                * Skip comments (#) and empty lines.
-                */
-               s = & line[0];
-               if ((*s) != '#' && (*s) != '\0')
-               {
-                       /* Extract the NtXXX name */
-                       name = (char *)strtok(s," \t");
-                       /* Extract the ZwXXX name */
-                       name2 = (char *)strtok(NULL," \t");
-                       //value = strtok(NULL," \t");
-                       /* Extract the stack size */
-                       nr_args = (char *)strtok(NULL," \t");
-                       /*
-                        * Remove, if present, the trailing LF.
-                        */
-                       if ((stmp = strchr(nr_args, '\n')) != NULL)
-                       {
-                               *stmp = '\0';
-                       }
-#ifdef VERBOSE
-                       printf("%3d \"%s\"\n",sys_call_idx,name);
-#endif
-
-                       if (sys_call_idx > 0)
-                       {
-                               fprintf(out,",\n");
-                       }
-                       /*
-                        * Now write the current system call's name
-                        * in the service table.
-                        */
-                       fprintf(out,"\t\t{ (ULONG)%s }",name);
-               }
-       }
-       /* Close the service table (C syntax) */
-       fprintf(out,"\n};\n");
-
-       /*
-        * Now we build the Main SSPT
-        */
-       rewind(in);
-       fprintf(out,"\n\n\n");
-       fprintf(out,"SSPT MainSSPT[] = {\n");
-
-       for (   /* First system call has index zero */
-               sys_call_idx = 0;
-               /* Go on until EOF or read zero bytes */
-               (       (!feof(in))
-                       && (fgets(line, sizeof line, in) != NULL)
-                       );
-               /* Next system call index */
-               sys_call_idx++
-               )
-       {
-               if ((s = (char *) strchr(line,'\r')) != NULL)
-               {
-                       *s = '\0';
-               }
-               /*
-                * Skip comments (#) and empty lines.
-                */
-               s = & line[0];
-               if ((*s) != '#' && (*s) != '\0')
-               {
-                       /* Extract the NtXXX name */
-                       name = (char *)strtok(s," \t");
-                       /* Extract the ZwXXX name */
-                       name2 = (char *)strtok(NULL," \t");
-                       //value = strtok(NULL," \t");
-                       /* Extract the stack size */
-                       nr_args = (char *)strtok(NULL," \t");
-                       /*
-                        * Remove, if present, the trailing LF.
-                        */
-                       if ((stmp = strchr(nr_args, '\n')) != NULL)
-                       {
-                               *stmp = '\0';
-                       }
-#ifdef VERBOSE
-                       printf("%3d \"%s\"\n",sys_call_idx,name);
-#endif
-
-                       if (sys_call_idx > 0)
-                       {
-                               fprintf(out,",\n");
-                       }
-                       /*
-                        * Now write the current system call's ID
-                        * in the service table along with its Parameters Size.
-                        */
-                       fprintf(out,"\t\t{ %s }",nr_args);
-               }
-       }
-       /*
-        * Close the service table (C syntax)
-        */
-       fprintf(out,"\n};\n");
-
-       /*
-        * We write some useful defines
-        */
-       fprintf(out, "\n\n#define MIN_SYSCALL_NUMBER    0\n");
-       fprintf(out, "#define MAX_SYSCALL_NUMBER    %d\n", sys_call_idx-1);
-       fprintf(out, "#define NUMBER_OF_SYSCALLS    %d\n", sys_call_idx);
-
-       return(0);
-}
-
-
-int
-process(
-       FILE    * in,
-       FILE    * out,
-       FILE    * out2,
-       FILE    * out3
-       )
-{
-       char            line [INPUT_BUFFER_SIZE];
-       char            * s;
-       char            * name;         /* NtXXX name */
-       char            * name2;        /* ZwXXX name */
-       int             sys_call_idx;   /* NtXXX index number in the service table */
-       char            * nr_args;      /* stack_size / machine_word_size */
-       char            * stmp;
-
-       /*
-        * NTDLL stubs file header
-        */
-       fprintf(out,"// Machine generated, don't edit\n");
-       fprintf(out,"\n\n");
-
-       /*
-        * NTOSKRNL Zw functions stubs header
-        */
-       fprintf(out3,"// Machine generated by genntdll, don't edit\n");
-       fprintf(out3,"\n\n");
-       /*
-        * Scan the database. DB is a text file; each line
-        * is a record, which contains data for one system
-        * function. Each record has three columns:
-        *
-        * NT_NAME      (e.g. NtCreateProcess)
-        * ZW_NAME      (e.g. ZwCreateProcess)
-        * STACK_SIZE   (in machine words: for x[3456]86
-        *              processors a machine word is 4 bytes)
-        */
-       for (   /* First system call has index zero */
-               sys_call_idx = 0;
-               /* Go on until EOF or read zero bytes */
-               (       (!feof(in))
-                       && (fgets(line, sizeof line, in) != NULL)
-                       );
-               /* Next system call index */
-               sys_call_idx++
-               )
-       {
-               /*
-                * Remove, if present, the trailing CR.
-                * (os specific?)
-                */
-               if ((s = (char *) strchr(line,'\r')) != NULL)
-               {
-                       *s = '\0';
-               }
-               /*
-                * Skip comments (#) and empty lines.
-                */
-               s = & line[0];
-               if ((*s) != '#' && (*s) != '\0')
-               {
-                       /* Extract the NtXXX name */
-                       name = (char *)strtok(s," \t");
-                       /* Extract the ZwXXX name */
-                       name2 = (char *)strtok(NULL," \t");
-                       //value = strtok(NULL," \t");
-                       /* Extract the stack size */
-                       nr_args = (char *)strtok(NULL," \t");
-                       /*
-                        * Remove, if present, the trailing LF.
-                        */
-                       if ((stmp = strchr(nr_args, '\n')) != NULL)
-                       {
-                               *stmp = '\0';
-                       }
-#ifdef VERBOSE
-                       printf("%3d \"%s\"\n",sys_call_idx,name);
-#endif
-                       /*
-                        * Write the NTDLL stub for the current
-                        * system call: NtXXX and ZwXXX symbols
-                        * are aliases.
-                        */
-                       write_syscall_stub(out, out3, name, name2,
-                                          nr_args, sys_call_idx);
-               }
-       }
-
-       return(0);
-}
-
-void usage(char * argv0)
-{
-       printf("Usage: %s sysfuncs.lst napi.c napi.h zw.c\n"
-              "  sysfuncs.lst  system functions database\n"
-              "  napi.c        NTDLL stubs\n"
-              "  napi.h        NTOSKRNL service table\n"
-              "  zw.c          NTOSKRNL Zw stubs\n",
-               argv0
-               );
-}
-
-int main(int argc, char* argv[])
-{
-       FILE    * in;   /* System calls database */
-       FILE    * out1; /* NTDLL stubs */
-       FILE    * out2; /* SERVICE_TABLE */
-       FILE    * out3; /* NTOSKRNL Zw stubs */
-       int     ret;
-
-       if (argc != 5)
-       {
-               usage(argv[0]);
-               return(1);
-       }
-
-       in = fopen(argv[1],"rb");
-       if (in == NULL)
-       {
-               perror("Failed to open input file (system calls database)");
-               return(1);
-       }
-
-       out1 = fopen(argv[2],"wb");
-       if (out1 == NULL)
-       {
-               perror("Failed to open output file (NTDLL stubs)");
-               return(1);
-       }
-
-       out2 = fopen(argv[3],"wb");
-       if (out2 == NULL)
-       {
-               perror("Failed to open output file (NTOSKRNL service table)");
-               return(1);
-       }
-
-       out3 = fopen(argv[4],"wb");
-       if (out3 == NULL)
-       {
-               perror("Failed to open output file (NTOSKRNL Zw stubs)");
-               return(1);
-       }
-
-       ret = process(in,out1,out2,out3);
-       rewind(in);
-       ret = makeSystemServiceTable(in, out2);
-
-       fclose(in);
-       fclose(out1);
-       fclose(out2);
-       fclose(out3);
-
-       return(ret);
-}
diff --git a/msvc6/iface/native/makefile b/msvc6/iface/native/makefile
deleted file mode 100644 (file)
index af24ebf..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# $Id: makefile,v 1.1 2004/02/06 08:21:56 fireball Exp $
-#
-# ReactOS Operating System - MSVC6 Zw functions stubs to call generator
-#
-
-SYSTEM_CALLS_DB = ..\..\..\reactos\iface\native\sysfuncs.lst
-KERNEL_ZW_CALLS =..\..\ntoskrnl\nt_zw_msvc.c
-
-all: genntdll.exe $(KERNEL_ZW_CALLS)
-
-$(KERNEL_ZW_CALLS) : $(SYSTEM_CALLS_DB)
-       genntdll.exe $(SYSTEM_CALLS_DB) foo1 foo2 $(KERNEL_ZW_CALLS)
-       -@del foo1
-       -@del foo2
-
-genntdll.exe : genntdll.c
-
-clean:
-       -@del *.exe
-       -@del *.obj
-       -@del $(KERNEL_ZW_CALLS)
-       
diff --git a/msvc6/ntoskrnl/.cvsignore b/msvc6/ntoskrnl/.cvsignore
deleted file mode 100644 (file)
index 616213e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Debug
-Release
-nt_zw_msvc.c
-ntoskrnl.def
diff --git a/msvc6/ntoskrnl/ke_i386_bthread.c b/msvc6/ntoskrnl/ke_i386_bthread.c
deleted file mode 100644 (file)
index 48a8b20..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-25
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/* $Id: ke_i386_bthread.c,v 1.1 2004/02/06 08:21:56 fireball Exp $
- *
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         ReactOS kernel
- * FILE:            ntoskrnl/ke/i386/bthread.S
- * PURPOSE:         Trap handlers
- * PROGRAMMER:      David Welch (david.welch@seh.ox.ac.uk)
- */
-
-/* INCLUDES ******************************************************************/
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-
-/* Values for contextflags */
-#define CONTEXT_i386    0x10000
-#ifndef CONTEXT_CONTROL
-#define CONTEXT_CONTROL         (CONTEXT_i386 | 1)     
-#endif
-#ifndef CONTEXT_INTEGER
-#define CONTEXT_INTEGER         (CONTEXT_i386 | 2)     
-#endif
-#ifndef CONTEXT_SEGMENTS
-#define CONTEXT_SEGMENTS        (CONTEXT_i386 | 4)     
-#endif
-#ifndef CONTEXT_FLOATING_POINT
-#define CONTEXT_FLOATING_POINT  (CONTEXT_i386 | 8)     
-#endif
-#ifndef CONTEXT_DEBUG_REGISTERS
-#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | 0x10)
-#endif
-#ifndef CONTEXT_FULL
-#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS)
-#endif
-       
-/* FUNCTIONS *****************************************************************/
-
-void KeReturnFromSystemCallWithHook();
-
-VOID PiBeforeBeginThread(CONTEXT c);
-
-/*
- *
- */
-
-__declspec(naked)
-VOID PsBeginThread(PKSTART_ROUTINE StartRoutine, PVOID StartContext)
-{
-       /*
-        * This isn't really a function, we are called as the return address
-        * of the context switch function
-        */
-
-       /*
-        * Do the necessary prolog after a context switch
-        */
-       __asm
-       {
-       call    PiBeforeBeginThread
-
-       /*
-        * Call the actual start of the thread
-        */
-       // We must NOT use the arguments by name. VC then uses EBP-relative
-       // addressing, and with an EBP of 0 you can imagine what happens.
-       mov     ebx, 4[esp]                     // StartRoutine
-       mov     eax, 8[esp]                     // StartContext
-       push    eax
-       call    ebx                        /* Call the start routine */
-       add             esp, 4
-
-       /*
-        * Terminate the thread
-        */
-       push    eax
-       call    PsTerminateSystemThread
-       add             esp, 4
-
-       }
-
-       /* If that fails then bug check */
-       KeBugCheck(0);
-
-       /* And if that fails then loop */
-       for (;;)
-               ; // forever
-}
-
-
-__declspec(naked)
-VOID PsBeginThreadWithContextInternal(VOID)
-{
-       /*
-        * This isn't really a function, we are called as the return
-        * address of a context switch
-        */
-
-       /*
-        * Do the necessary prolog before the context switch
-        */
-       __asm
-       {
-       call    PiBeforeBeginThread
-
-       /*
-        * Load the context flags.
-        */
-       pop             ebx
-       
-       /*
-        * Load the debugging registers
-        */
-       test    ebx, (CONTEXT_DEBUG_REGISTERS & ~CONTEXT_i386)
-       jz      L1
-       pop             eax     __asm   mov             dr0, eax
-       pop             eax     __asm   mov             dr1, eax
-       pop             eax     __asm   mov             dr2, eax
-       pop             eax     __asm   mov             dr3, eax
-       pop             eax     __asm   mov             dr6, eax
-       pop             eax     __asm   mov             dr7, eax
-       jmp     L3
-L1:
-       add             esp, 24
-L3:
-       
-       /*
-        * Load the floating point registers
-        */
-       mov             eax, HardwareMathSupport
-       test    eax,eax
-       jz      L2
-       test    ebx, (CONTEXT_FLOATING_POINT & ~CONTEXT_i386)
-       jz      L2
-       frstor  [esp]
-L2:
-       add             esp, 112
-
-       /* Load the rest of the thread's user mode context. */
-       mov             eax, 0
-       jmp             KeReturnFromSystemCallWithHook
-       }
-}
-
diff --git a/msvc6/ntoskrnl/ke_i386_irqhand.c b/msvc6/ntoskrnl/ke_i386_irqhand.c
deleted file mode 100644 (file)
index e8fbf46..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            ntoskrnl/ke/i386/vm86_sup.S
- * PURPOSE:         V86 mode support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-
-// no arg-list, but asm doesn't care anyway
-void KiInterruptDispatch();
-
-
-#define DEFINE_INT_HANDLER(N)                  \
-__declspec(naked)                                              \
-void irq_handler_##N()                                 \
-{                                                                              \
-       __asm   pushad                                          \
-       __asm   push    ds                                      \
-       __asm   push    es                                      \
-       __asm   push    fs                                      \
-       __asm   mov             eax, 0xceafbeef         \
-       __asm   push    eax                                     \
-       __asm   mov             ax, KERNEL_DS           \
-       __asm   mov             ds, ax                          \
-       __asm   mov             es, ax                          \
-       __asm   mov             ax, PCR_SELECTOR        \
-       __asm   mov             fs, ax                          \
-       __asm   push    esp                                     \
-       __asm   push    N                                       \
-       __asm   call    KiInterruptDispatch     \
-       __asm   pop             eax                                     \
-       __asm   pop             eax                                     \
-       __asm   pop             eax                                     \
-       __asm   pop             fs                                      \
-       __asm   pop             es                                      \
-       __asm   pop             ds                                      \
-       __asm   popad                                           \
-       __asm   iretd                                           
-// NOTE: The inline assembler can't deal with having the final brace,
-// ending the function, on the same line as an __asm, why there is
-// none here and it MUST be added when using the macro!
-
-DEFINE_INT_HANDLER(0)
-}
-DEFINE_INT_HANDLER(1)
-}
-DEFINE_INT_HANDLER(2)
-}
-DEFINE_INT_HANDLER(3)
-}
-DEFINE_INT_HANDLER(4)
-}
-DEFINE_INT_HANDLER(5)
-}
-DEFINE_INT_HANDLER(6)
-}
-DEFINE_INT_HANDLER(7)
-}
-DEFINE_INT_HANDLER(8)
-}
-DEFINE_INT_HANDLER(9)
-}
-DEFINE_INT_HANDLER(10)
-}
-DEFINE_INT_HANDLER(11)
-}
-DEFINE_INT_HANDLER(12)
-}
-DEFINE_INT_HANDLER(13)
-}
-DEFINE_INT_HANDLER(14)
-}
-DEFINE_INT_HANDLER(15)
-}
-
diff --git a/msvc6/ntoskrnl/ke_i386_multiboot.c b/msvc6/ntoskrnl/ke_i386_multiboot.c
deleted file mode 100644 (file)
index 60ce29b..0000000
+++ /dev/null
@@ -1,655 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2003 Mike Nordell
- *  Based on multiboot.S (no copyright note present), but so heavily
- *  modified that it bears close to no resemblance to the original work.
- *
- *  MSVC compatible combination of plain C and inline assembler to:
- *  1 Relocated all the sections in the kernel - something I feel the
- *    bootloader should have done, but multiboot being just a "raw image"
- *    loader, it unfortunately had to be done here - in-place.
- *  2 Set up page directories and stuff.
- *  3 Load IDT, GDT and turn on paging, making us execute at the intended
- *    target address (as if the image was PE-loaded and parsed into that addr.)
- *  4 Call _main, and let the rest of the startup run...
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-//
-// TODO: Fix the MP parts
-//
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <pe.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-#include <internal/ps.h>
-#include <internal/ldr.h>
-
-
-// some notes:
-// The MSVC linker (by defult) emits no special .bss section, but uses the data
-// section with a rawsize smaller than virtualsize. The "slack" is BSS.
-
-
-//////////////////////////////////////////////////////////////////
-// Some macros we need
-
-// some stuff straight from freeloaders multiboot.h
-#define MULTIBOOT_HEADER_MAGIC (0x1BADB002)
-#define MULTIBOOT_HEADER_FLAGS (0x00010003)
-
-#define TARGET_LOAD_ADDR  0x00200000
-#define BASE_TO_PHYS_DIST (KERNEL_BASE - TARGET_LOAD_ADDR)
-
-#define V2P(x)   (x - BASE_TO_PHYS_DIST)
-
-
-#ifdef MP
-
-#define AP_MAGIC (0x12481020)
-
-#endif /* MP */
-
-
-
-void  initialize_page_directory(void);
-
-void* relocate_pointer_log_to_phys(const void* p)
-{
-       // DON'T CALL this function until relocation of .data and/or .rdata,
-       // is completed - but still be sure that we have not yet enabled paging!
-       return (void*)((DWORD)p - BASE_TO_PHYS_DIST);
-}
-
-
-
-#ifdef _DEBUG
-
-// Macro to emit one character to Bochs debug-port (0x9e).
-// We need to do it this way, since at this point of the startup, obviously
-// we have neither HAL nor DbgPrint support.
-#define BOCHS_OUT_CHAR(c1)      __asm push eax __asm push edx __asm mov dx, 0xe9 __asm mov al, c1 __asm out dx, al __asm pop edx __asm pop eax
-
-void boch_out_hex_digit(unsigned char ch1)
-{
-       if (ch1 <= 9) { ch1 += '0'; } else { ch1 += 'a' - 10; }
-       BOCHS_OUT_CHAR(ch1)
-}
-
-void bochs_dump_hex(DWORD p)
-{
-       unsigned char ch3 = (unsigned char)((p >> 28) & 0x0f);
-       unsigned char cl3 = (unsigned char)((p >> 24) & 0x0f);
-       unsigned char ch2 = (unsigned char)((p >> 20) & 0x0f);
-       unsigned char cl2 = (unsigned char)((p >> 16) & 0x0f);
-       unsigned char ch1 = (unsigned char)((p >> 12) & 0x0f);
-       unsigned char cl1 = (unsigned char)((p >>  8) & 0x0f);
-       unsigned char ch0 = (unsigned char)((p >>  4) & 0x0f);
-       unsigned char cl0 = (unsigned char)((p >>  0) & 0x0f);
-       BOCHS_OUT_CHAR('0') BOCHS_OUT_CHAR('x')
-       boch_out_hex_digit(ch3);
-       boch_out_hex_digit(cl3);
-       boch_out_hex_digit(ch2);
-       boch_out_hex_digit(cl2);
-       boch_out_hex_digit(ch1);
-       boch_out_hex_digit(cl1);
-       boch_out_hex_digit(ch0);
-       boch_out_hex_digit(cl0);
-       BOCHS_OUT_CHAR('\n')
-}
-
-static void bochs_out_string(const char* s /* logical address! */)
-{
-       s = relocate_pointer_log_to_phys(s);
-       __asm
-       {
-               pushad
-               mov dx, 0xe9
-               mov ebx, s
-L1:
-               cmp byte ptr[ebx], 0
-               je end
-               mov al, [ebx]
-               out dx, al
-               inc ebx
-               jmp L1
-end:
-               popad
-       }
-}
-
-#else
-
-#define BOCHS_OUT_CHAR(c1)
-#define bochs_dump_hex(VAL)
-#define bochs_out_string(STR)
-
-#endif // _DEBUG
-
-
-//////////////////////////////////////////////////////////////////
-
-typedef char kernel_page_t[4096];
-
-// Use 4096 (pagesize) more bytes that actually needed for each *_holder,
-// to be able to make sure that the other stuff is page aligned.
-// No other way to do this portably... :-(
-//
-// TODO: Consider allocating just one large block of BSS memory here, align
-// just the first pointer, and then get the other ones just as offsets from
-// this (now-aligned) pointer. That way we could get away with wasting just
-// one page of memory, instead of 4 (like 16KB would matter... but still)
-static kernel_page_t*  startup_pagedirectory_holder[1024 * 2];
-static kernel_page_t*  lowmem_pagetable_holder[1024 * 2];
-static kernel_page_t*  kernel_pagetable_holder[32*1024 + 1];
-static __int32         kpcr_pagetable_holder[4096/4 * 2];
-
-#ifdef MP
-char apic_pagetable[4096];
-#endif /* MP */
-
-__int32 unmap_me[4096/4];
-__int32 unmap_me2[4096/4];
-__int32 unmap_me3[4096/4];
-
-__int32 init_stack[3*4096/4];
-int     init_stack_top;
-
-
-__int32 trap_stack[3*4096/4];
-int     trap_stack_top;
-
-
-
-void _main();
-// lie a bit about types - since C is basically typeless anyway, it
-// doesn't really matter what type we say it is here...
-extern int KiGdtDescriptor;
-extern int KiIdtDescriptor;
-
-
-
-       /*
-        * This is called by the realmode loader, with protected mode
-        * enabled, paging disabled and the segment registers pointing
-        * a 4Gb, 32-bit segment starting at zero.
-        *
-        *    EAX = Multiboot magic or application processor magic
-        *
-        *    EBX = Points to a structure in lowmem with data from the
-        *    loader
-        */
-#pragma intrinsic(memset)
-
-
-// We need to implement this ourself, to be able to get to it by short call's
-void our_memmove(void* pDest, const void* pSrc, DWORD size)
-{
-             char* pD = (char*)pDest;
-       const char* pS = (char*)pSrc;
-       if (pDest < pSrc)
-       {
-               while (size--)
-               {
-                       *pD++ = *pS++;
-               }
-       }
-       else if (pSrc < pDest)
-       {
-               while (size--)
-               {
-                       pD[size] = pS[size];
-               }
-       }
-}
-void dummy_placeholder(void)
-{
-       // NOTE: This function MUST be placed JUST AFTER MultibootStub in memory.
-       // Yes, it's BEFORE it in this file, but linkorder.txt fixes this for us.
-}
-
-
-// This one is needed, since the boot loader hasn't relocated us
-__declspec(naked)
-void MultibootStub()
-{
-       __asm
-       {
-               jmp             _multiboot_entry
-               // This sucks, I know...
-#define EMIT_DWORD(x) __asm __emit ((x) >> 0) & 0xff __asm _emit ((x) >> 8) & 0xff __asm _emit ((x) >> 16) & 0xff __asm _emit ((x) >> 24) & 0xff
-               ALIGN 4
-               EMIT_DWORD(MULTIBOOT_HEADER_MAGIC)
-               EMIT_DWORD(MULTIBOOT_HEADER_FLAGS)
-               EMIT_DWORD(-(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS))
-               EMIT_DWORD(TARGET_LOAD_ADDR + 0x0400 + 0x04)
-               // Now just make something up, since there is no way we can know, beforehand,
-               // where any BSS data is...
-               EMIT_DWORD((TARGET_LOAD_ADDR))
-               EMIT_DWORD((TARGET_LOAD_ADDR + 1*1024*1024)) /* assume ntoskrnel.exe is < 1MB! */
-               EMIT_DWORD((TARGET_LOAD_ADDR + 2*1024*1024)) /* just to have something, let's say BSS is 1MB too */
-               /* This is *REALLY* ugly! If MultibootStub is *EVER* at   */
-               /* any other offset, this will crash like crazy! */
-               /* 0x0400 is the file alignment of the binary (ntoskrnl.exe) */
-               EMIT_DWORD((TARGET_LOAD_ADDR + 0x0400)) // entry_addr
-
-_multiboot_entry:
-
-               cld             // just for good measure
-       }
-
-       {
-               /* Save the multiboot or application processor magic */
-               DWORD saved_eax;
-               DWORD saved_ebx;
-               __asm   mov     saved_eax, eax
-               __asm   mov     saved_ebx, ebx
-
-//             bochs_out_string("MultibootStub()\n");
-
-               // OK, time to relocate the brute-loaded image in-place...
-               // If we don't watch it, we will overwrite ourselves here - imagine
-               // the fireworks! :-) That's why the function dummy_placeholder()
-               // MUST be placed JUST JUST AFTER this function.
-
-               {
-               PIMAGE_NT_HEADERS     NtHeader = RtlImageNtHeader((PVOID)TARGET_LOAD_ADDR);
-               PIMAGE_SECTION_HEADER Section  = IMAGE_FIRST_SECTION(NtHeader);
-               const int count = NtHeader->FileHeader.NumberOfSections;
-               int i;
-               Section += count - 1;   // make it point to the last section
-               // NOTE: We MUST walk the sections "backwards".
-               for (i = count-1; i >= 0; --i, --Section)
-               {
-                       DWORD dwSrc = TARGET_LOAD_ADDR + Section->PointerToRawData;
-                       DWORD dwDst = TARGET_LOAD_ADDR + Section->VirtualAddress;
-                       DWORD dwSiz = Section->SizeOfRawData;
-                       const char* pEndThisFunc;
-
-                       if (dwSrc == dwDst)
-                       {
-                               continue;
-                       }
-
-//bochs_out_string("MultibootStub: relocating section\n");
-
-                       if (Section->Characteristics & IMAGE_SCN_MEM_EXECUTE)
-                       {
-                               // can't get a pointer to a label from plain C :-(
-                               __asm mov       pEndThisFunc, offset dummy_placeholder
-                               pEndThisFunc -= BASE_TO_PHYS_DIST;
-                               if (dwDst < (DWORD)pEndThisFunc)
-                               {
-                                       // We must not move the code from under our feet!
-                                       // This can only happen in the code segment - the first segment
-                                       DWORD diff = (DWORD)pEndThisFunc - dwDst;
-                                       dwDst += diff;
-                                       dwSrc += diff;
-                                       dwSiz -= diff;
-                               }
-                       }
-
-                       // obviously we must use memmove, since memory can overlap
-                       our_memmove((void*)dwDst, (void*)dwSrc, dwSiz);
-
-                       // While at it, we might as well zero any uninitialized data in the section...
-                       if (Section->SizeOfRawData < Section->Misc.VirtualSize)
-                       {
-                               memset((char*)(Section->VirtualAddress + Section->SizeOfRawData + TARGET_LOAD_ADDR),
-                                          0,
-                                          Section->Misc.VirtualSize - Section->SizeOfRawData);
-                       }
-               }
-
-               // Now all sections are relocated to their intended in-memory layout,
-               // but we are still running int the low TARGET_LOAD_ADDR memory.
-
-               {
-                       // Time to jump to the real startup, the entry-point function.
-                       // We must do this using assembler, since both eax and ebx are assumed
-                       // to hold some magic values.
-                       typedef VOID (STDCALL* pfn_t)(PPEB);
-                       pfn_t pfn = (pfn_t)(NtHeader->OptionalHeader.AddressOfEntryPoint + TARGET_LOAD_ADDR);
-#if 1
-                       __asm   mov eax, saved_eax
-                       __asm   mov ebx, saved_ebx
-                       __asm   mov ecx, pfn
-                       __asm   jmp ecx
-#else
-                       __asm   mov ebx, saved_ebx
-                       (*pfn)((PPEB)saved_eax);
-#endif
-               }
-               }
-       }
-}
-
-
-// TMN: TODO: Convert this to the extent possible to plain C code
-// Due to the "magic" above, we enter this function with all kernel sections
-// properly relocated wrt. offsets from start-of-mem. But, we are still running
-// without paging, meaning that the address that is to be KERNEL_BASE+xyz is
-// currently still TARGET_LOAD_ADDR+xyz.
-// We get aways with a few of the functions call here since they are near calls
-// (PC-relative), but don't even _think_ about calling any other functions
-// until we have turned on paging!
-VOID STDCALL
-NtProcessStartup(
-       IN      PPEB    Peb
-       )
-{
-       DWORD saved_ebx;
-       DWORD saved_eax;
-       __asm mov saved_ebx, ebx
-       __asm mov saved_eax, eax
-
-       bochs_out_string("NtProcessStartup: Just entered\n");
-
-#ifdef MP
-       if (saved_eax != AP_MAGIC)
-       {
-#endif /* MP */
-
-               bochs_out_string("NtProcessStartup: Calling initialize_page_directory()\n");
-
-               initialize_page_directory();    // Initialize the page directory
-
-               bochs_out_string("NtProcessStartup: Page directory initialized\n");
-
-#ifdef  MP
-
-               __asm
-               {
-                       /*
-                        * Initialize the page table that maps the APIC register address space
-                        */
-                        
-                       /* 
-                        * FIXME: APIC register address space can be non-standard so do the 
-                        * mapping later 
-                        */
-                       mov             esi, V2P(apic_pagetable)
-                       mov             edi, 0
-                       mov             eax, 0xFEC0001B
-                       mov             [esi+edi], eax
-                       mov             edi, 0x800
-                       mov             eax, 0xFEE0001B
-                       mov             [esi+edi], eax
-               }
-       }
-
-#endif /* MP */
-
-       {
-               bochs_out_string("NtProcessStartup: Enabling paging...\n");
-
-               /*
-                * Enable paging and set write protect
-                * bit 31: PG, bit 16: WP
-                */
-               __asm   mov             eax, cr0
-               __asm   or              eax, 0x80010000
-               __asm   mov             cr0, eax
-
-               bochs_out_string("NtProcessStartup: Paging enabled!\n");
-               bochs_out_string("NtProcessStartup: But we're still at the \"low\" address\n");
-
-               /*
-                * Do an absolute jump because we now want to execute above KERNEL_BASE
-                */
-               __asm   mov             eax, offset l2_
-               __asm   jmp             eax
-       }
-
-l2_:
-
-bochs_out_string("We have now left \"low\" memory, and is flying at an altitude of...\n");
-bochs_out_string("OK, we're not flying, we're just executing above KERNEL_BASE\n");
-
-       /*
-        * Load the GDTR and IDTR with new tables located above
-        * KERNEL_BASE
-        */
-
-#ifdef _DEBUG
-       {
-               DWORD val = (DWORD)&KiGdtDescriptor;
-               bochs_out_string("&KiGdtDescriptor: ");
-               bochs_dump_hex(val);
-
-               val = (DWORD)&KiIdtDescriptor;
-               bochs_out_string("&KiIdtDescriptor: ");
-               bochs_dump_hex(val);
-       }
-#endif
-
-bochs_out_string("Loading GDT and IDT...\n");
-
-       /* FIXME: Application processors should have their own GDT/IDT */
-       __asm   lgdt    KiGdtDescriptor
-       __asm   lidt    KiIdtDescriptor
-
-bochs_out_string("GDT and IDT loaded\n");
-
-       __asm
-       {
-               /*
-                * Reload the data segment registers 
-                */
-               mov             eax, KERNEL_DS
-               mov             ds, ax
-               mov             es, ax
-               mov             gs, ax
-               mov             ss, ax
-               mov             eax, 0
-               mov             fs, ax
-       }
-
-bochs_out_string("NtProcessStartup: segment registers loaded\n");
-
-#ifdef MP
-
-       if (saved_eax == AP_MAGIC)
-       {
-               __asm
-               {
-                       /*
-                        * This is an application processor executing
-                        */
-
-                       /*
-                        * Initialize EFLAGS
-                        */
-                       push    0
-                       popfd
-
-                       /*
-                        * Call the application processor initialization code
-                        */
-                       push    0
-                       push    offset l7_
-                       push    KERNEL_CS
-                       push    KiSystemStartup
-                       retf
-
-                       /*
-                        * Catch illegal returns from KiSystemStartup
-                        */
-l7_:
-                       pop             eax
-               }
-
-               KeBugCheck(0);
-
-               for (;;)
-                       ;       /*forever */
-       }
-
-#endif /* MP */
-
-bochs_out_string("Loading fs with PCR_SELECTOR\n");
-
-       /* Load the PCR selector */
-       __asm   mov             eax, PCR_SELECTOR
-       __asm   mov             fs, ax
-
-bochs_out_string("Loading esp with init_stack_top    : "); bochs_dump_hex((DWORD)&init_stack_top);
-bochs_out_string("Just for interest, init_stack is at: "); bochs_dump_hex((DWORD)init_stack);
-bochs_out_string("Meaing the init_stack in bytes is  : "); bochs_dump_hex((DWORD)&init_stack_top - (DWORD)init_stack);
-
-
-       /* Load the initial kernel stack */
-       __asm   mov             esp, offset init_stack_top
-
-bochs_out_string("Loaded esp with init_stack_top\n");
-
-       /*
-        * Initialize EFLAGS
-        */
-       __asm   push    0
-       __asm   popfd
-
-bochs_out_string("Loaded eflags\n");
-
-               /*
-                * Call the main kernel initialization
-                */
-bochs_out_string("TMN: Calling _main...\n");
-
-       __asm
-       {
-               xor             ebp,ebp
-               push    ebx
-               push    edx
-               push    offset l5_
-               push    KERNEL_CS
-               push    offset _main
-               retf
-       
-       /*
-        * Catch illegal returns from main, try bug checking the system,
-        * if that fails then loop forever.
-        */
-l5_:
-               pop             eax
-               pop             eax
-
-       } // end of __asm block
-
-bochs_out_string("TMN: Back from _main ?! Let's crash!\n");
-
-       KeBugCheck(0);
-
-       for (;;)
-               ;       /*forever */
-}
-
-
-void initialize_page_directory(void)
-{
-       /*
-        * Initialize the page directory
-        */
-
-       // First convert the pointers from the virtual address the compiler generated
-       // code thinks we are at, to the currently active physical address we actually
-       // got loaded into by the loader. At this point we have been relocated, so
-       // that there is a 1:1 mapping between KERNEL_BASE+n and TARGET_LOAD_ADDR+n.
-
-       kernel_page_t** startup_pagedirectory = startup_pagedirectory_holder;
-       kernel_page_t** lowmem_pagetable      = lowmem_pagetable_holder;
-       kernel_page_t** kernel_pagetable      = kernel_pagetable_holder;
-       __int32*        kpcr_pagetable        = kpcr_pagetable_holder;
-
-       bochs_out_string("startup_pagedirectory before reloc: ");
-       bochs_dump_hex((DWORD)startup_pagedirectory);
-
-       startup_pagedirectory = (kernel_page_t**)relocate_pointer_log_to_phys(startup_pagedirectory);
-       lowmem_pagetable      = (kernel_page_t**)relocate_pointer_log_to_phys(lowmem_pagetable);
-       kernel_pagetable      = (kernel_page_t**)relocate_pointer_log_to_phys(kernel_pagetable);
-       kpcr_pagetable        = (__int32*)       relocate_pointer_log_to_phys(kpcr_pagetable);
-
-       bochs_out_string("startup_pagedirectory after reloc : ");
-       bochs_dump_hex((DWORD)startup_pagedirectory);
-
-       // Now align the pointers to PAGE_SIZE...
-       startup_pagedirectory = (kernel_page_t**)(((ULONG_PTR)startup_pagedirectory + 4095) & ~4095);
-       lowmem_pagetable      = (kernel_page_t**)(((ULONG_PTR)lowmem_pagetable      + 4095) & ~4095);
-       kernel_pagetable      = (kernel_page_t**)(((ULONG_PTR)kernel_pagetable      + 4095) & ~4095);
-       kpcr_pagetable        = (__int32* )      (((ULONG_PTR)kpcr_pagetable        + 4095) & ~4095);
-
-#ifdef _DEBUG
-       bochs_out_string("startup_pagedirectory aligned     : ");
-       bochs_dump_hex((DWORD)startup_pagedirectory);
-#endif
-
-       // Ugly macros, I know...
-#define DEST(PAGE)   startup_pagedirectory[(PAGE) + 0xc00 / 4]
-#define SRC(PAGE)    (kernel_page_t*)((char*)kernel_pagetable + (PAGE)*4096 + 0x7)
-
-       startup_pagedirectory[0] = (kernel_page_t*)((char*)lowmem_pagetable + 0x7);
-
-       {
-               unsigned int i;
-               for (i=0; i<32; ++i)
-               {
-                       DEST(i) = SRC(i);
-               }
-       }
-
-       DEST( 64) = (kernel_page_t*)((char*)lowmem_pagetable      + 0x7);
-       DEST(192) = (kernel_page_t*)((char*)startup_pagedirectory + 0x7);
-#ifdef MP
-       DEST(251) = (kernel_page_t*)((char*)apic_pagetable        + 0x7);
-#endif /* MP */
-       DEST(252) = (kernel_page_t*)((char*)kpcr_pagetable        + 0x7);
-
-
-       {
-               unsigned int i;
-               /* Initialize the page table that maps low memory */
-               for (i=0; i<1024; ++i) {
-                       lowmem_pagetable[i] = (kernel_page_t*)(i*4096 + 7);
-               }
-
-               /* Initialize the page table that maps kernel memory */
-               for (i=0; i<6144/4 /* 1536 pages = 6MB */; ++i) {
-                       kernel_pagetable[i] = (kernel_page_t*)(i*4096 + TARGET_LOAD_ADDR + 0x7);
-               }
-
-               /* Initialize the page table that maps the initial KPCR (at FF000000) */
-               kpcr_pagetable[0] = 0x1007;
-       }
-
-       /*
-        * Set up the PDBR
-        */     
-       __asm   mov             eax, startup_pagedirectory
-       __asm   mov             cr3, eax
-}
-
diff --git a/msvc6/ntoskrnl/ke_i386_stkswitch.c b/msvc6/ntoskrnl/ke_i386_stkswitch.c
deleted file mode 100644 (file)
index 6c5cad1..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            ntoskrnl/ke/i386/vm86_sup.S
- * PURPOSE:         V86 mode support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-//#include <ntos/service.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-
-
-void KeReturnFromSystemCall();
-
-/*
- * FUNCTION:    KeStackSwitchAndRet
- * PURPOSE:     Switch to a new stack and return from the first frame on
- *               the new stack which was assumed to a stdcall function with
- *               8 bytes of arguments and which saved edi, esi and ebx.
- */
-__declspec(naked)
-VOID STDCALL
-KeStackSwitchAndRet(PVOID NewStack)
-{
-       __asm
-       {
-               push    ebp
-               mov             ebp, esp
-
-               cli
-
-               mov             esp, NewStack
-
-               sti
-
-               pop             edi
-               pop             esi
-               pop             ebx
-
-               pop             ebp
-               ret             8
-       }
-}
-
-__declspec(naked)
-VOID STDCALL
-KePushAndStackSwitchAndSysRet(ULONG Push, PVOID NewStack)
-{
-       __asm
-       {
-               push    ebp
-               mov             ebp, esp
-
-               push    ebx
-               push    esi
-               push    edi
-
-               cli
-
-               push    8[ebp]
-
-               mov             ebx, fs:KPCR_CURRENT_THREAD
-               mov             KTHREAD_CALLBACK_STACK[ebx], esp
-               mov             esp, 12[ebp]
-
-               sti
-
-               push    0
-               call    KeLowerIrql
-
-               jmp             KeReturnFromSystemCall
-       }
-}
diff --git a/msvc6/ntoskrnl/ke_i386_syscall.c b/msvc6/ntoskrnl/ke_i386_syscall.c
deleted file mode 100644 (file)
index e27c4b2..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000  David Welch <welch@cwcom.net>
- *
- *  Converted to MSVC-compatible inline assembler by Mike Nordell, 2003.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            MSVC6/ntoskrnl/ke_i386_syscall.c
- *                  based on ntoskrnl/ke/i386/syscall.s
- * PURPOSE:         syscall dispatching and support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-//#include <ntos/service.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-
-
-#define KernelMode  (0)
-#define UserMode    (1)
-
-
-// TMN: Replicated here to reduce mess-time
-#ifdef STATUS_INVALID_SYSTEM_SERVICE
-#undef STATUS_INVALID_SYSTEM_SERVICE
-#endif
-#define STATUS_INVALID_SYSTEM_SERVICE               0xc000001c
-
-
-/*
- *
- */
-
-void KiServiceCheck (ULONG Nr);
-ULONG KiAfterSystemCallHook(ULONG NtStatus, PKTRAP_FRAME TrapFrame);
-VOID KiSystemCallHook(ULONG Nr, ...);
-
-void KeReturnFromSystemCallWithHook();
-void KeReturnFromSystemCall();
-
-
-__declspec(naked)
-void interrupt_handler2e(void)
-{
-       __asm
-       {
-               /* Construct a trap frame on the stack */
-
-               /* Error code */
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               push    edi
-               push    fs
-               /* Load PCR selector into fs */
-               mov             ebx, PCR_SELECTOR
-               mov             fs, bx
-
-               /* Save the old exception list */
-               mov             ebx, fs:KPCR_EXCEPTION_LIST
-               push    ebx
-               /* Set the exception handler chain terminator */
-               mov             dword ptr fs:KPCR_EXCEPTION_LIST, 0xffffffff
-               /* Get a pointer to the current thread */
-               mov             esi, fs:KPCR_CURRENT_THREAD
-               /* Save the old previous mode */
-               xor             ebx,ebx
-               mov             bl, ss:KTHREAD_PREVIOUS_MODE[esi]
-               push    ebx
-               /* Set the new previous mode based on the saved CS selector */
-               mov             ebx, 0x24[esp]
-               and             ebx, 0x0000FFFF
-               cmp             ebx, KERNEL_CS
-#if 0
-               // TODO: Verify implementation change and use this code path
-               // to remove two conditional jumps.
-               setnz   bl
-               mov             ss:KTHREAD_PREVIOUS_MODE[esi], bl
-#else
-               jne             L1
-               mov             ss:KTHREAD_PREVIOUS_MODE[esi], KernelMode
-               jmp             L3
-L1:
-               mov             ss:KTHREAD_PREVIOUS_MODE[esi], UserMode
-L3:
-
-#endif
-               /* Save other registers */         
-               push    eax
-               push    ecx
-               push    edx
-               push    ds
-               push    es
-               push    gs
-               push    0     /* DR7 */
-               push    0     /* DR6 */
-               push    0     /* DR3 */
-               push    0     /* DR2 */
-               push    0     /* DR1 */
-               push    0     /* DR0 */
-               push    0     /* XXX: TempESP */
-               push    0     /* XXX: TempCS */
-               push    0     /* XXX: DebugPointer */
-               push    0     /* XXX: DebugArgMark */
-               mov             ebx, 0x60[esp]
-               push    ebx   /* DebugEIP */
-               push    ebp   /* DebugEBP */
-
-               /* Load the segment registers */
-               mov             bx, KERNEL_DS
-               mov             ds, bx
-               mov             es, bx
-               mov             gs, bx
-
-               /* 
-                * Save the old trap frame pointer over where we would save the EDX
-                * register.
-                */
-               mov             ebx, KTHREAD_TRAP_FRAME[esi]
-               mov             0x3C[esp], ebx
-
-               /* Save a pointer to the trap frame in the TCB */
-               mov             KTHREAD_TRAP_FRAME[esi], esp
-
-               /*  Set ES to kernel segment  */
-               mov             bx, KERNEL_DS
-               mov             es, bx
-
-               /*  Allocate new Kernel stack frame  */
-               mov             ebp, esp
-
-               /*  Users's current stack frame pointer is source  */
-               mov             esi, edx
-
-               /*  Determine system service table to use  */
-               cmp             eax, 0x0fff
-               ja              new_useShadowTable
-
-               /*  Check to see if EAX is valid/inrange  */
-               cmp             eax, es:KeServiceDescriptorTable + 8
-               jbe             new_serviceInRange
-               mov             eax, STATUS_INVALID_SYSTEM_SERVICE
-               jmp             KeReturnFromSystemCall
-
-new_serviceInRange:
-
-               /*  Allocate room for argument list from kernel stack  */
-               mov             ecx, es:KeServiceDescriptorTable + 12
-               mov             ecx, es:[ecx + eax * 4]
-               sub             esp, ecx
-
-               /*  Copy the arguments from the user stack to the kernel stack  */
-               mov             edi, esp
-               cld
-               repe    movsb
-
-               /*  DS is now also kernel segment  */
-               mov             ds, bx
-
-               /* Call system call hook */
-               push    eax
-               call    KiSystemCallHook
-               pop             eax
-
-               /*  Make the system service call  */
-               mov             ecx, es:KeServiceDescriptorTable
-               mov             eax, es:[ecx + eax * 4]
-               call    eax
-
-#if CHECKED
-               /*  Bump Service Counter  */
-#endif
-
-               /*  Deallocate the kernel stack frame  */
-               mov             esp, ebp
-
-               /* Call the post system call hook and deliver any pending APCs */
-               push    ebp
-               push    eax
-               call    KiAfterSystemCallHook
-               add             esp, 8
-
-               jmp  KeReturnFromSystemCall
-
-new_useShadowTable:
-
-               sub             eax, 0x1000
-
-               /*  Check to see if EAX is valid/inrange  */
-               cmp             eax, es:KeServiceDescriptorTableShadow + 24
-               jbe             new_shadowServiceInRange
-               mov             eax, STATUS_INVALID_SYSTEM_SERVICE
-               jmp             KeReturnFromSystemCall
-
-new_shadowServiceInRange:
-
-               /*  Allocate room for argument list from kernel stack  */
-               mov             ecx, es:KeServiceDescriptorTableShadow + 28
-               mov             ecx, es:[ecx + eax * 4]
-               sub             esp, ecx
-
-               /*  Copy the arguments from the user stack to the kernel stack  */
-               mov             edi, esp
-               cld
-               repe    movsb
-
-               /*  DS is now also kernel segment  */
-               mov             ds, bx
-
-               /* Call system call hook */
-//             pushl %eax
-//             call _KiSystemCallHook
-//             popl %eax
-
-               /* Call service check routine */
-               push    eax
-               call    KiServiceCheck
-               pop             eax
-               /*  Make the system service call  */
-               mov             ecx, es:KeServiceDescriptorTableShadow + 16
-               mov             eax, es:[ecx + eax * 4]
-               call    eax
-
-#if CHECKED
-               /*  Bump Service Counter  */
-#endif
-
-               /*  Deallocate the kernel stack frame  */
-               mov             esp, ebp
-
-               // TMN: Added, to be able to separate this into different functions
-               jmp KeReturnFromSystemCallWithHook
-       }
-}
-
-__declspec(naked)
-void KeReturnFromSystemCallWithHook()
-{
-       __asm
-       {
-               /* Call the post system call hook and deliver any pending APCs */
-               push    esp
-               push    eax
-               call    KiAfterSystemCallHook
-               add             esp, 8
-
-               // TMN: Added, to be able to separate this into different functions
-               jmp KeReturnFromSystemCall
-       }
-}
-
-__declspec(naked)
-void KeReturnFromSystemCall()
-{
-       __asm
-       {
-               /* Restore the user context */
-               /* Get a pointer to the current thread */
-               mov             esi, fs:0x124
-
-               /* Restore the old trap frame pointer */
-               mov             ebx, 0x3c[esp]
-               mov             KTHREAD_TRAP_FRAME[esi], ebx
-
-               /* Skip debug information and unsaved registers */
-               add             esp, 0x30
-               pop             gs
-               pop             es
-               pop             ds
-               pop             edx
-               pop             ecx
-               add             esp, 4  /* Don't restore eax */
-
-               /* Restore the old previous mode */
-               pop             ebx
-               mov             ss:KTHREAD_PREVIOUS_MODE[esi], bl
-
-               /* Restore the old exception handler list */
-               pop             ebx
-               mov             fs:KPCR_EXCEPTION_LIST, ebx
-
-               pop             fs 
-               pop             edi
-               pop             esi
-               pop             ebx
-               pop             ebp
-               add             esp, 4  /* Ignore error code */
-               
-               iretd
-       }
-}
\ No newline at end of file
diff --git a/msvc6/ntoskrnl/ke_i386_trap.c b/msvc6/ntoskrnl/ke_i386_trap.c
deleted file mode 100644 (file)
index dc02004..0000000
+++ /dev/null
@@ -1,468 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            ntoskrnl/ke/i386/vm86_sup.S
- * PURPOSE:         V86 mode support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-
-
-void KiV86Complete(void);
-void KiTrapHandler(void);
-void KiDoubleFaultHandler(void);
-
-extern int KiPcrInitDone;
-
-/*
- * Epilog for exception handlers
- */
-__declspec(naked)
-void KiTrapEpilog()
-{
-       __asm
-       {
-       cmp             eax, 1  /* Check for v86 recovery */
-       jne             _KiTrapRet
-       jmp             KiV86Complete
-_KiTrapRet:                            
-       /* Skip debug information and unsaved registers */
-       add             esp, 0x30
-       pop             gs
-       pop             es
-       pop             ds
-       pop             edx
-       pop             ecx
-       pop             eax
-
-       /* Restore the old previous mode */
-       pop             ebx
-       mov             ss:KTHREAD_PREVIOUS_MODE[esi], bl
-
-       /* Restore the old exception handler list */
-       pop             ebx
-       mov             fs:KPCR_EXCEPTION_LIST, ebx
-       
-       pop             fs 
-       pop             edi
-       pop             esi
-       pop             ebx
-       pop             ebp
-       add             esp, 4  /* Ignore error code */
-
-       iretd
-       }
-}
-
-__declspec(naked)
-void KiTrapProlog()
-{
-       __asm
-       {
-               push    edi
-               push    fs
-
-               /* 
-                * Check that the PCR exists, very early in the boot process it may 
-                * not 
-                */
-               cmp             ss:KiPcrInitDone, 0
-               je              L5_
-
-               /* Load the PCR selector into fs */
-               mov             ebx, PCR_SELECTOR
-               mov             fs, bx
-
-               /* Save the old exception list */
-               mov             ebx, fs:KPCR_EXCEPTION_LIST
-               push    ebx
-
-               /* Put the exception handler chain terminator */
-               mov             dword ptr fs:KPCR_EXCEPTION_LIST, 0xffffffff
-
-               /* Get a pointer to the current thread */
-               mov             edi, fs:KPCR_CURRENT_THREAD
-
-               /* The current thread may be NULL early in the boot process */
-               cmp             edi, 0
-               je              L4_
-               
-               /* Save the old previous mode */
-               xor             ebx, ebx
-               mov             bl, ss:KTHREAD_PREVIOUS_MODE[edi]
-               push    ebx
-       
-               /* Set the new previous mode based on the saved CS selector */
-               mov             ebx, 0x24[esp]
-               and             ebx, 0x0000FFFF
-               cmp             ebx, KERNEL_CS
-               jne             L1_
-               mov             ss:KTHREAD_PREVIOUS_MODE[edi], KernelMode
-               jmp             L3_
-L1_:
-               mov             ss:KTHREAD_PREVIOUS_MODE[edi], UserMode
-L3_:
-       
-               /* Save other registers */      
-               push    eax
-               push    ecx
-               push    edx
-               push    ds
-               push    es
-               push    gs
-               push    0     /* DR7 */
-               push    0     /* DR6 */
-               push    0     /* DR3 */
-               push    0     /* DR2 */
-               push    0     /* DR1 */
-               push    0     /* DR0 */
-               push    0     /* XXX: TempESP */
-               push    0     /* XXX: TempCS */
-               push    0     /* XXX: DebugPointer */
-               push    0     /* XXX: DebugArgMark */
-               mov             ebx, 0x60[esp]
-               push    ebx   /* XXX: DebugEIP */
-               push    ebp   /* XXX: DebugEBP */       
-               
-               /* Load the segment registers */
-               mov             ebx, KERNEL_DS
-               mov             ds, bx
-               mov             es, bx
-               mov             gs, bx
-       
-               /*  Set ES to kernel segment  */
-               mov             bx, KERNEL_DS
-               mov             es, bx
-
-               mov             ebx, esp
-               mov             ebp, esp
-
-       /* Save the old trap frame. */
-               cmp             edi, 0
-               je              L7_
-               mov             edx, ss:KTHREAD_TRAP_FRAME[edi]
-               push    edx
-               jmp             L8_
-L7_:
-               push    0
-L8_:
-
-               /* Save a pointer to the trap frame in the current KTHREAD */
-               cmp             edi, 0
-               je              L6_
-               mov             ss:KTHREAD_TRAP_FRAME[edi], ebx
-L6_:
-       
-               /* Call the C exception handler */
-               push    esi
-               push    ebx
-               call    KiTrapHandler
-               add             esp, 8
-
-               /* Get a pointer to the current thread */
-               mov             esi, fs:KPCR_CURRENT_THREAD
-       
-               /* Restore the old trap frame pointer */
-               pop             ebx
-               mov             KTHREAD_TRAP_FRAME[esi], ebx
-       
-               /* Return to the caller */
-               jmp             KiTrapEpilog
-
-               /* Handle the no-pcr case out of line */
-L5_:
-               push    0
-               
-               /* Handle the no-thread case out of line */
-L4_:
-               push    0
-               jmp             L3_
-
-       }       // end of __asm block
-}
-
-
-__declspec(naked)
-void KiTrap0()
-{
-       __asm
-       {
-               /* No error code */
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 0
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap1()
-{
-       __asm
-       {
-               /* No error code */
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov     esi, 1
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap2()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 2
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap3()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 3
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap4()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 4
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap5()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 5
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap6()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 6
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap7()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 7
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap8()
-{
-       __asm
-       {
-               call    KiDoubleFaultHandler
-               iretd
-       }
-}
-
-__declspec(naked)
-void KiTrap9()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 9
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap10()
-{
-       __asm
-       {
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 10
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap11()
-{
-       __asm
-       {
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 11
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap12()
-{
-       __asm
-       {
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 12
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap13()
-{
-       __asm
-       {
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 13
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap14()
-{
-       __asm
-       {
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 14
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap15()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 15
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrap16()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 16
-               jmp             KiTrapProlog
-       }
-}
-
-__declspec(naked)
-void KiTrapUnknown()
-{
-       __asm
-       {
-               push    0
-               push    ebp
-               push    ebx
-               push    esi
-               mov             esi, 255
-               jmp             KiTrapProlog
-       }
-}
-
-/* EOF */
diff --git a/msvc6/ntoskrnl/ke_i386_tskswitch.c b/msvc6/ntoskrnl/ke_i386_tskswitch.c
deleted file mode 100644 (file)
index dd3fef4..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            ntoskrnl/ke/i386/vm86_sup.S
- * PURPOSE:         V86 mode support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-//#include <ntos/service.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-
-
-extern KSPIN_LOCK PiThreadListLock;
-extern ULONG PiNrThreadsAwaitingReaping;
-extern ULONG MmGlobalKernelPageDirectory[1024];
-
-VOID STDCALL PiWakeupReaperThread(VOID);
-VOID         KeSetBaseGdtSelector(ULONG Entry, PVOID Base);
-
-
-/* 
- * FUNCTIONS: Switches to another thread's context
- * ARGUMENTS:
- *        Thread = Thread to switch to
- *        OldThread = Thread to switch from
- */
-__declspec(naked)
-VOID
-Ki386ContextSwitch(struct _KTHREAD* NewThread,  struct _KTHREAD* OldThread)
-{
-       __asm
-       {
-               push    ebp
-               mov             ebp, esp
-
-               /* Save callee save registers. */
-               push    ebx
-               push    esi
-               push    edi
-
-               cli     /* This is a critical section for this processor. */
-
-       /* Get the pointer to the new thread. */
-               mov             ebx, NewThread
-               
-               /*
-                * Set the base of the TEB selector to the base of the TEB for
-                * this thread.
-                */
-               push    ebx
-               push    KTHREAD_TEB[ebx]
-               push    TEB_SELECTOR
-               call    KeSetBaseGdtSelector
-               add             esp, 8
-               pop             ebx
-
-               /*
-                * Load the PCR selector.
-                */
-               mov             eax, PCR_SELECTOR
-               mov             fs, ax
-
-               /*
-                * Set the current thread information in the PCR.
-                */
-               mov             fs:KPCR_CURRENT_THREAD, ebx
-
-               /*
-                * Set the current LDT
-                */
-               xor             eax, eax
-               mov             edi, ETHREAD_THREADS_PROCESS[ebx]
-               test    word ptr KPROCESS_LDT_DESCRIPTOR0[edi], 0xFFFF
-               jz      L4
-
-               push    KPROCESS_LDT_DESCRIPTOR1[edi]
-               push    KPROCESS_LDT_DESCRIPTOR0[edi]
-               push    LDT_SELECTOR
-               call    KeSetGdtSelector
-               add             esp, 12
-
-               mov             eax, LDT_SELECTOR
-
-L4:
-               lldt            ax
-
-               /*
-                * Load up the iomap offset for this thread in
-                * preparation for setting it below.
-                */
-               mov             eax, KPROCESS_IOPM_OFFSET[edi]
-
-               /*
-                * FIXME: Save debugging state.
-                */
-
-               /*
-                * FIXME: Save floating point state.
-                */
-
-               /*
-                * Switch stacks
-                */
-               mov             ebx, 12[ebp]
-               mov             KTHREAD_KERNEL_STACK[ebx], esp
-               mov             ebx, 8[ebp]
-               mov             esp, KTHREAD_KERNEL_STACK[ebx]
-               mov             edi, KTHREAD_STACK_LIMIT[ebx]
-
-               /*
-                * Set the stack pointer in this processors TSS
-                */
-               mov             esi, fs:KPCR_TSS
-
-               /*
-                * Set current IOPM offset in the TSS
-                */
-               mov             KTSS_IOMAPBASE[esi], ax
-
-               mov             eax, KTHREAD_INITIAL_STACK[ebx]
-               mov             KTSS_ESP0[esi], eax
-
-               /*
-                * Change the address space
-                */
-               mov             ebx, ETHREAD_THREADS_PROCESS[ebx]
-               mov             eax, KPROCESS_DIRECTORY_TABLE_BASE[ebx]
-               mov             cr3, eax
-
-               /*
-                * Set up the PDE for the top of the new stack.
-                */
-               mov             ebx, 0
-L2:
-               mov             esi, edi
-               shr             esi, 22
-               mov             eax, 0xF03C0000[esi*4]
-               cmp             eax, 0
-               jne             L1
-               mov             eax, MmGlobalKernelPageDirectory[esi*4]
-               mov             0xF03C0000[esi*4], eax
-L1:
-               add             edi, 4096
-               inc             ebx
-               cmp             ebx, (MM_STACK_SIZE / 4096)
-               jl              L2
-               
-               /*
-                * FIXME: Restore floating point state
-                */
-
-               /*
-                * FIXME: Restore debugging state
-                */
-
-               /*
-                * Exit the critical section
-                */
-               sti
-       }
-
-       KeReleaseSpinLockFromDpcLevel(&PiThreadListLock);
-
-       if (PiNrThreadsAwaitingReaping) {
-               PiWakeupReaperThread();
-       }
-
-       __asm
-       {
-               /*
-                * Restore the saved register and exit
-                */
-               pop             edi
-               pop             esi
-               pop             ebx
-
-               pop             ebp
-               ret
-       }
-}
\ No newline at end of file
diff --git a/msvc6/ntoskrnl/ke_i386_v86m_sup.c b/msvc6/ntoskrnl/ke_i386_v86m_sup.c
deleted file mode 100644 (file)
index 953cc05..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-25
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            ntoskrnl/ke/i386/vm86_sup.S
- * PURPOSE:         V86 mode support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-#include <internal/ps.h>
-
-
-// Taken from ntoskrnl/include/internal/v86m.h, since that one must be fixed
-// a bit before it could be used from here.
-#define        KV86M_REGISTERS_EBP     (0x0)
-#define        KV86M_REGISTERS_EDI     (0x4)
-#define        KV86M_REGISTERS_ESI     (0x8)
-#define KV86M_REGISTERS_EDX    (0xC)
-#define        KV86M_REGISTERS_ECX     (0x10)
-#define KV86M_REGISTERS_EBX    (0x14)
-#define KV86M_REGISTERS_EAX    (0x18)
-#define        KV86M_REGISTERS_DS      (0x1C)
-#define KV86M_REGISTERS_ES     (0x20)
-#define KV86M_REGISTERS_FS     (0x24)
-#define KV86M_REGISTERS_GS     (0x28)
-#define KV86M_REGISTERS_EIP     (0x2C)
-#define KV86M_REGISTERS_CS      (0x30)
-#define KV86M_REGISTERS_EFLAGS  (0x34)
-#define        KV86M_REGISTERS_ESP     (0x38)
-#define KV86M_REGISTERS_SS     (0x3C)
-
-
-void KiV86Complete();
-
-       
-       /*
-        * Starts in v86 mode with the registers set to the
-        * specified values.
-        */
-
-__declspec(naked)
-VOID Ki386RetToV86Mode(KV86M_REGISTERS* InRegs,
-                       KV86M_REGISTERS* OutRegs)
-{
-       __asm
-       {
-    /*
-        * Setup a stack frame
-        */
-       push    ebp
-       mov             ebp, esp
-
-       pushad  /* Save registers */
-
-       mov             ebx, InRegs
-
-       /*
-        * Save ebp
-        */
-       push    ebp
-       
-       /*
-        * Save a pointer to IN_REGS which the v86m exception handler will
-        * use to handle exceptions
-        */
-       push    ebx
-
-       /*
-        * Since we are going to fiddle with the stack pointer this must be
-        * a critical section for this processor
-        */
-       
-       /*
-        * Save the old initial stack
-        */
-       mov             esi, fs:KPCR_CURRENT_THREAD
-       mov             edi, KTHREAD_INITIAL_STACK[esi]
-       push    edi
-
-       /*
-        * We also need to set the stack in the kthread structure
-        */
-       mov             KTHREAD_INITIAL_STACK[esi], esp
-       
-       /*
-        * The stack used for handling exceptions from v86 mode in this thread
-        * will be the current stack adjusted so we don't overwrite the 
-        * existing stack frames
-        */
-       mov             esi, fs:KPCR_TSS
-       mov             KTSS_ESP0[esi], esp
-       
-       /*
-        * Create the stack frame for an iret to v86 mode
-        */
-       push    KV86M_REGISTERS_GS[ebx]
-       push    KV86M_REGISTERS_FS[ebx]
-       push    KV86M_REGISTERS_DS[ebx]
-       push    KV86M_REGISTERS_ES[ebx]
-       push    KV86M_REGISTERS_SS[ebx]
-       push    KV86M_REGISTERS_ESP[ebx]
-       push    KV86M_REGISTERS_EFLAGS[ebx]
-       push    KV86M_REGISTERS_CS[ebx]
-       push    KV86M_REGISTERS_EIP[ebx]
-
-       /*
-        * Setup the CPU registers
-        */
-       mov             eax, KV86M_REGISTERS_EAX[ebx]
-       mov             ecx, KV86M_REGISTERS_ECX[ebx]
-       mov             edx, KV86M_REGISTERS_EDX[ebx]
-       mov             esi, KV86M_REGISTERS_ESI[ebx]
-       mov             edi, KV86M_REGISTERS_EDI[ebx]
-       mov             ebp, KV86M_REGISTERS_EBP[ebx]
-       mov             ebx, KV86M_REGISTERS_EBX[ebx]
-
-       /*
-        * Go to v86 mode
-        */
-       iretd
-
-       /*
-        * Handle the completion of a vm86 routine. We are called from
-        * an exception handler with the registers at the point of the
-        * exception on the stack.
-        */
-
-               jmp KiV86Complete       // TMN: Function-splitting
-       }
-}
-
-__declspec(naked)
-void KiV86Complete()
-{
-       __asm
-       {
-       /* Restore the original ebp */
-       mov             ebp, TF_ORIG_EBP[esp]
-       
-       /* Get a pointer to the OUT_REGS structure */
-       mov             ebx, 12[ebp]    // OutRegs
-
-       /* Skip debug information and unsaved registers */
-       add             esp, 0x30
-
-       /* Ignore 32-bit segment registers */
-       add             esp, 12
-
-       /* Save the vm86 registers into the OUT_REGS structure */
-       pop             dword ptr KV86M_REGISTERS_EDX[ebx]
-       pop             dword ptr KV86M_REGISTERS_ECX[ebx]
-       pop             dword ptr KV86M_REGISTERS_EAX[ebx]
-
-       /* Restore the old previous mode */
-       pop             eax
-       mov             ss:KTHREAD_PREVIOUS_MODE[esi], al
-
-       /* Restore the old exception handler list */
-       pop             eax
-       mov             fs:KPCR_EXCEPTION_LIST, eax
-       
-       /* Ignore the 32-bit fs register */
-       add             esp, 4
-
-       pop             dword ptr KV86M_REGISTERS_EDI[ebx]
-       pop             dword ptr KV86M_REGISTERS_ESI[ebx]
-       pop             dword ptr KV86M_REGISTERS_EBX[ebx]
-       pop             dword ptr KV86M_REGISTERS_EBP[ebx]
-
-       /* Ignore error code */
-       add             esp, 4
-
-       pop             dword ptr KV86M_REGISTERS_EIP[ebx]
-       pop             dword ptr KV86M_REGISTERS_CS[ebx]
-       pop             dword ptr KV86M_REGISTERS_EFLAGS[ebx]
-       pop             dword ptr KV86M_REGISTERS_ESP[ebx]
-       pop             dword ptr KV86M_REGISTERS_SS[ebx]
-       pop             dword ptr KV86M_REGISTERS_ES[ebx]
-       pop             dword ptr KV86M_REGISTERS_DS[ebx]
-       pop             dword ptr KV86M_REGISTERS_FS[ebx]
-       pop             dword ptr KV86M_REGISTERS_GS[ebx]
-
-       /*
-        * We are going to fiddle with the stack so this must be a critical
-        * section for this process
-        */
-       cli
-
-       /*
-        * Restore the initial stack
-        */
-       pop             eax
-       mov             esi, fs:KPCR_TSS
-       mov             KTSS_ESP0[esi], eax
-
-       /*
-        * We also need to set the stack in the kthread structure
-        */
-       mov             esi, fs:KPCR_CURRENT_THREAD
-       mov             edi, KTHREAD_INITIAL_STACK[esi]
-       mov             KTHREAD_INITIAL_STACK[esi], eax
-
-       /* Exit the critical section */
-       sti
-       
-       /* Ignore IN_REGS pointer */
-       add             esp, 4
-       
-       /* Ignore ebp restored above */
-       add             esp, 4
-       
-       /* Return to caller */
-       popad
-       mov             esp, ebp
-       pop             ebp
-       ret
-
-       }       // end of __asm block
-}
\ No newline at end of file
diff --git a/msvc6/ntoskrnl/linkorder.txt b/msvc6/ntoskrnl/linkorder.txt
deleted file mode 100644 (file)
index 9cde2d8..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-; This file is vital. It tells the linker how to order some functions
-; and some data, that unfortunately is assumed to be at low location
-; and in known order to eachother respectively?
-
-MultibootStub
-our_memmove
-dummy_placeholder
-NtProcessStartup@4
-initialize_page_directory
-relocate_pointer_log_to_phys
-; Order some data that there is some assumptions about...
-init_stack
-init_stack_top
-trap_stack
-trap_stack_top
diff --git a/msvc6/ntoskrnl/mm_i386_memsafe.c b/msvc6/ntoskrnl/mm_i386_memsafe.c
deleted file mode 100644 (file)
index 531101b..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-#include <ddk/ntddk.h>
-
-
-void MmSafeCopyToUserRestart();
-void MmSafeCopyToUserUnsafeStart();
-void MmSafeCopyFromUserUnsafeStart();
-void MmSafeCopyFromUserRestart();
-
-       /*
-        * NTSTATUS MmSafeCopyFromUser(PVOID Dest, PVOID Src, 
-        *                             ULONG NumberOfBytes)
-        */
-__declspec(naked)
-NTSTATUS MmSafeCopyFromUser(PVOID Dest, const VOID *Src, ULONG Count)
-{
-       __asm
-       {
-               push    ebp
-               mov     ebp,esp
-
-               push    esi
-               push    edi
-               push    ecx
-               
-               mov     edi, 8[ebp]
-               mov     esi, 12[ebp]
-               mov     ecx, 16[ebp]
-
-               /*
-                * Default return code
-                */ 
-               xor             eax,eax
-
-               jmp             MmSafeCopyFromUserUnsafeStart
-       }
-}
-
-
-__declspec(naked)
-void MmSafeCopyFromUserUnsafeStart()
-{
-       __asm
-       {
-               /*
-                * This is really a synthetic instruction since if we incur a
-                * pagefault then eax will be set to an appropiate STATUS code
-                */
-               cld 
-               rep movsb
-
-               jmp             MmSafeCopyFromUserRestart
-       }
-}
-
-__declspec(naked)
-void MmSafeCopyFromUserRestart()
-{
-       __asm
-       {
-               pop             ecx
-               pop             edi
-               pop             esi
-
-               pop             ebp
-               ret
-       }
-}
-
-/*****************************************************************************/
-
-       /*
-        * NTSTATUS MmSafeCopyToUser(PVOID Dest, PVOID Src, 
-        *                      ULONG NumberOfBytes)
-        */ 
-NTSTATUS MmSafeCopyToUser(PVOID Dest, const VOID *Src, ULONG Count)
-{
-       __asm
-       {
-               push    ebp
-               mov     esp,ebp
-
-               push    esi
-               push    edi
-               push    ecx
-
-               mov     edi, 8[ebp]
-               mov     esi, 12[ebp]
-               mov     ecx, 16[ebp]
-
-               /*
-                * Default return code
-                */ 
-               xor             eax,eax
-
-               jmp             MmSafeCopyToUserUnsafeStart
-       }
-}
-
-__declspec(naked)
-void MmSafeCopyToUserUnsafeStart()
-{
-       __asm
-       {
-       /*
-        * This is really a synthetic instruction since if we incur a
-        * pagefault then eax will be set to an appropiate STATUS code
-        */
-       cld 
-       rep movsb
-       jmp MmSafeCopyToUserRestart
-       }
-}
-
-__declspec(naked)
-void MmSafeCopyToUserRestart()
-{
-       __asm
-       {
-               pop             ecx
-               pop             edi
-               pop             esi
-               
-               pop             ebp
-               ret
-       }
-}
\ No newline at end of file
diff --git a/msvc6/ntoskrnl/mm_mminit_msvc.c b/msvc6/ntoskrnl/mm_mminit_msvc.c
deleted file mode 100644 (file)
index 47c0859..0000000
+++ /dev/null
@@ -1,574 +0,0 @@
-/* $Id: mm_mminit_msvc.c,v 1.1 2004/02/06 08:22:01 fireball Exp $
- *
- * COPYRIGHT:   See COPYING in the top directory
- * PROJECT:     ReactOS kernel 
- * FILE:        ntoskrnl/mm/mminit.c
- * PURPOSE:     kernel memory managment initialization functions
- * PROGRAMMER:  David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *              Created 9/4/98
- */
-
-/* INCLUDES *****************************************************************/
-
-#include <ddk/ntddk.h>
-#include <roscfg.h>
-#include <internal/i386/segment.h>
-#include <internal/mm.h>
-#include <internal/ntoskrnl.h>
-#include <internal/io.h>
-#include <internal/ps.h>
-#include <internal/pool.h>
-
-#define NDEBUG
-#include <internal/debug.h>
-
-/* GLOBALS *****************************************************************/
-
-/*
- * Size of extended memory (kb) (fixed for now)
- */
-#define EXTENDED_MEMORY_SIZE  (3*1024*1024)
-
-/*
- * Compiler defined symbols
- */
-
-#if defined(_MSC_VER)
-
-#pragma intrinsic(strcmp)
-
-static PIMAGE_SECTION_HEADER FindSection(const char* szSeg)
-{
-       PIMAGE_NT_HEADERS     NtHeader = RtlImageNtHeader((PVOID)KERNEL_BASE);
-       PIMAGE_SECTION_HEADER Section  = IMAGE_FIRST_SECTION(NtHeader);
-       const int count = NtHeader->FileHeader.NumberOfSections;
-       int i;
-       for (i = 0; i < count; ++i, ++Section)
-       {
-               if (!strcmp(szSeg, Section->Name))
-               {
-                       return Section;
-               }
-       }
-       return NULL;
-}
-
-static void* FindSegmentStart(const char* szSeg)
-{
-       PIMAGE_SECTION_HEADER Section = FindSection(szSeg);
-       if (Section)
-       {
-               return (void*)(KERNEL_BASE + Section->VirtualAddress);
-       }
-       return NULL;
-}
-
-static void* FindSegmentEnd(const char* szSeg)
-{
-       PIMAGE_SECTION_HEADER Section = FindSection(szSeg);
-       if (Section)
-       {
-               return (void*)(KERNEL_BASE + Section->VirtualAddress + Section->Misc.VirtualSize);
-       }
-       return NULL;
-}
-
-#endif // defined(_MSC_VER)
-
-
-static BOOLEAN IsThisAnNtAsSystem = FALSE;
-static MM_SYSTEM_SIZE MmSystemSize = MmSmallSystem;
-
-static MEMORY_AREA* kernel_text_desc = NULL;
-static MEMORY_AREA* kernel_init_desc = NULL;
-static MEMORY_AREA* kernel_map_desc = NULL;
-static MEMORY_AREA* kernel_kpcr_desc = NULL;
-static MEMORY_AREA* kernel_data_desc = NULL;
-static MEMORY_AREA* kernel_param_desc = NULL;
-static MEMORY_AREA* kernel_pool_desc = NULL;
-static MEMORY_AREA* kernel_shared_data_desc = NULL;
-static MEMORY_AREA* kernel_mapped_low_mem_desc = NULL; 
-static MEMORY_AREA* MiKernelMapDescriptor = NULL;
-static MEMORY_AREA* MiPagedPoolDescriptor = NULL;
-
-PHYSICAL_ADDRESS MmSharedDataPagePhysicalAddress;
-
-PVOID MiNonPagedPoolStart;
-ULONG MiNonPagedPoolLength;
-PVOID MiKernelMapStart;
-ULONG MiKernelMapLength;
-
-/* FUNCTIONS ****************************************************************/
-
-/*
- * @implemented
- */
-BOOLEAN STDCALL MmIsThisAnNtAsSystem(VOID)
-{
-   return(IsThisAnNtAsSystem);
-}
-
-/*
- * @implemented
- */
-MM_SYSTEM_SIZE STDCALL MmQuerySystemSize(VOID)
-{
-   return(MmSystemSize);
-}
-
-VOID MiShutdownMemoryManager(VOID)
-{
-}
-
-VOID INIT_FUNCTION
-MmInitVirtualMemory(ULONG LastKernelAddress,
-                   ULONG KernelLength)
-/*
- * FUNCTION: Intialize the memory areas list
- * ARGUMENTS:
- *           bp = Pointer to the boot parameters
- *           kernel_len = Length of the kernel
- */
-{
-   PVOID BaseAddress;
-   ULONG Length;
-   ULONG ParamLength = KernelLength;
-   NTSTATUS Status;
-   PHYSICAL_ADDRESS BoundaryAddressMultiple;
-   //ULONG i;
-
-   DPRINT("MmInitVirtualMemory(%x, %x)\n",LastKernelAddress, KernelLength);
-
-   BoundaryAddressMultiple.QuadPart = 0;
-   LastKernelAddress = PAGE_ROUND_UP(LastKernelAddress);
-
-   MmInitMemoryAreas();
-
-   /* Don't change the start of kernel map. Pte's must always exist for this region. */
-   MiKernelMapStart = (char*)LastKernelAddress + PAGE_SIZE;
-   MiKernelMapLength = MM_KERNEL_MAP_SIZE;
-
-   MiNonPagedPoolStart = (char*)MiKernelMapStart + MiKernelMapLength + PAGE_SIZE;
-   MiNonPagedPoolLength = MM_NONPAGED_POOL_SIZE;
-
-   MmPagedPoolBase = (char*)MiNonPagedPoolStart + MiNonPagedPoolLength + PAGE_SIZE;
-   MmPagedPoolSize = MM_PAGED_POOL_SIZE;
-
-   MiInitKernelMap();
-   MiInitializeNonPagedPool();
-
-   /*
-    * Setup the system area descriptor list
-    */
-   BaseAddress = (PVOID)0xf0000000;
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     0x400000,
-                     0,
-                     &kernel_map_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   BaseAddress = (PVOID)KPCR_BASE;
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     PAGE_SIZE * MAXIMUM_PROCESSORS,
-                     0,
-                     &kernel_kpcr_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   BaseAddress = (PVOID)0xd0000000;
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     0x100000,
-                     0,
-                     &kernel_mapped_low_mem_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   BaseAddress = (PVOID)KERNEL_BASE;
-   Length = PAGE_ROUND_UP(((ULONG)FindSegmentEnd(".text"))) - KERNEL_BASE;
-   ParamLength = ParamLength - Length;
-
-   /*
-    * No need to lock the address space at this point since no
-    * other threads are running.
-    */
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     Length,
-                     0,
-                     &kernel_text_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-// TODO: Here we REALLY should iterate the PE's sections and set protection
-// accordingly for each and every one of them.
-
-   // NOTE This code ONLY works because of the assumption that the .text
-   // segment is the first in the PE, and the .reloc segment is the last.
-   // Link in a way to make this assumtion false, and the kernel won't work.
-   BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)FindSegmentEnd(".text")));
-   Length = PAGE_ROUND_UP(((ULONG)FindSegmentStart(".reloc"))) - (ULONG_PTR)BaseAddress;
-   ParamLength = ParamLength - Length;
-   DPRINT1("Data Length %x\n",Length);
-   DPRINT1("Data BaseAddress %x\n",BaseAddress);
-
-   /*
-    * No need to lock the address space at this point since we are
-    * the only thread running.
-    */
-// For GCC-compiled, kernel_data_desc contains:
-// .data, .edata, .idata, .bss and .rsrc. E.i. all but .text and .reloc
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     Length,
-                     0,
-                     &kernel_data_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-//   BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)FindSegmentEnd(".edata")));
-   BaseAddress = (PVOID)PAGE_ROUND_UP(((ULONG)FindSegmentStart(".reloc")));
-   Length = LastKernelAddress - (ULONG)BaseAddress;
-// For GCC-compiled, kernel_param_desc contains .reloc
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     Length,
-                     0,
-                     &kernel_param_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   BaseAddress = MiNonPagedPoolStart;
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     MiNonPagedPoolLength,
-                     0,
-                     &kernel_pool_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   BaseAddress = MiKernelMapStart;
-   Status = MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     MiKernelMapLength,
-                     0,
-                     &MiKernelMapDescriptor,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   BaseAddress = MmPagedPoolBase;
-   Status = MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_PAGED_POOL,
-                     &BaseAddress,
-                     MmPagedPoolSize,
-                     0,
-                     &MiPagedPoolDescriptor,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   MmInitializePagedPool();
-
-   /*
-    * Create the kernel mapping of the user/kernel shared memory.
-    */
-   BaseAddress = (PVOID)KI_USER_SHARED_DATA;
-   Length = PAGE_SIZE;
-   MmCreateMemoryArea(NULL,
-                     MmGetKernelAddressSpace(),
-                     MEMORY_AREA_SYSTEM,
-                     &BaseAddress,
-                     Length,
-                     0,
-                     &kernel_shared_data_desc,
-                     FALSE,
-                     FALSE,
-                     BoundaryAddressMultiple);
-
-   Status = MmRequestPageMemoryConsumer(MC_NPPOOL, TRUE, 
-                                       &MmSharedDataPagePhysicalAddress);
-   Status = MmCreateVirtualMapping(NULL,
-                                  (PVOID)KI_USER_SHARED_DATA,
-                                  PAGE_READWRITE,
-                                  MmSharedDataPagePhysicalAddress,
-                                  TRUE);
-   if (!NT_SUCCESS(Status))
-     {
-       DbgPrint("Unable to create virtual mapping\n");
-       KEBUGCHECK(0);
-     }
-   RtlZeroMemory(BaseAddress, Length);
-
-   /*
-    *
-    */
-   MmInitializeMemoryConsumer(MC_USER, MmTrimUserMemory);
-}
-
-
-VOID INIT_FUNCTION
-MmInit1(ULONG FirstKrnlPhysAddr,
-       ULONG LastKrnlPhysAddr,
-       ULONG LastKernelAddress,
-       PADDRESS_RANGE BIOSMemoryMap,
-       ULONG AddressRangeCount,
-       ULONG MaxMem)
-/*
- * FUNCTION: Initalize memory managment
- */
-{
-   ULONG i;
-   ULONG kernel_len;
-#ifndef MP
-   extern unsigned int unmap_me, unmap_me2, unmap_me3;
-#endif
-
-   DPRINT("MmInit1(FirstKrnlPhysAddr, %x, LastKrnlPhysAddr %x, LastKernelAddress %x)\n",
-                 FirstKrnlPhysAddr,
-                 LastKrnlPhysAddr,
-                 LastKernelAddress);
-
-
-   if ((BIOSMemoryMap != NULL) && (AddressRangeCount > 0))
-     {
-       // If we have a bios memory map, recalulate the memory size
-       ULONG last = 0;
-       for (i = 0; i < AddressRangeCount; i++)
-         {
-           if (BIOSMemoryMap[i].Type == 1
-               && (BIOSMemoryMap[i].BaseAddrLow + BIOSMemoryMap[i].LengthLow + PAGE_SIZE -1) / PAGE_SIZE > last)
-             {
-                last = (BIOSMemoryMap[i].BaseAddrLow + BIOSMemoryMap[i].LengthLow + PAGE_SIZE -1) / PAGE_SIZE;
-             }
-         }
-       if ((last - 256) * 4 > KeLoaderBlock.MemHigher)
-         {
-            KeLoaderBlock.MemHigher = (last - 256) * 4;
-         }
-     }
-
-   if (KeLoaderBlock.MemHigher >= (MaxMem - 1) * 1024)
-     {
-        KeLoaderBlock.MemHigher = (MaxMem - 1) * 1024;
-     }
-
-   /*
-    * FIXME: Set this based on the system command line
-    */
-   MmSystemRangeStart = (PVOID)KERNEL_BASE; // 0xC0000000
-   MmUserProbeAddress = (PVOID)0x7fff0000;
-   MmHighestUserAddress = (PVOID)0x7ffeffff;
-   
-   MmInitGlobalKernelPageDirectory();
-
-   /*
-    * Initialize memory managment statistics
-    */
-   MmStats.NrTotalPages = 0;
-   MmStats.NrSystemPages = 0;
-   MmStats.NrUserPages = 0;
-   MmStats.NrReservedPages = 0;
-   MmStats.NrUserPages = 0;
-   MmStats.NrFreePages = 0;
-   MmStats.NrLockedPages = 0;
-   MmStats.PagingRequestsInLastMinute = 0;
-   MmStats.PagingRequestsInLastFiveMinutes = 0;
-   MmStats.PagingRequestsInLastFifteenMinutes = 0;
-   
-   /*
-    * Initialize the kernel address space
-    */
-   MmInitializeKernelAddressSpace();
-
-   /*
-    * Unmap low memory
-    */
-#ifndef MP
-   /* In SMP mode we unmap the low memory in MmInit3. 
-      The APIC needs the mapping of the first pages
-      while the processors are starting up. */
-   MmDeletePageTable(NULL, 0);
-#endif
-   /*
-    * Free all pages not used for kernel memory
-    * (we assume the kernel occupies a continuous range of physical
-    * memory)
-    */
-   DPRINT("first krnl %x\nlast krnl %x\n",FirstKrnlPhysAddr,
-         LastKrnlPhysAddr);
-
-   /*
-    * Free physical memory not used by the kernel
-    */
-   MmStats.NrTotalPages = KeLoaderBlock.MemHigher/4;
-   if (!MmStats.NrTotalPages)
-     {
-       DbgPrint("Memory not detected, default to 8 MB\n");
-       MmStats.NrTotalPages = 2048;
-     }
-   else
-     {
-       /* add 1MB for standard memory (not extended) */
-       MmStats.NrTotalPages += 256;
-     }
-#ifdef BIOS_MEM_FIX
-   MmStats.NrTotalPages += 16;
-#endif
-   DbgPrint("Used memory %dKb\n", (MmStats.NrTotalPages * PAGE_SIZE) / 1024);
-
-   LastKernelAddress = (ULONG)MmInitializePageList((PVOID)FirstKrnlPhysAddr,
-                                                  (PVOID)LastKrnlPhysAddr,
-                                                  MmStats.NrTotalPages,
-                                                  PAGE_ROUND_UP(LastKernelAddress),
-                                                   BIOSMemoryMap,
-                                                   AddressRangeCount);
-   kernel_len = LastKrnlPhysAddr - FirstKrnlPhysAddr;
-   
-   /*
-    * Create a trap for null pointer references and protect text
-    * segment
-    */
-   CHECKPOINT;
-#if defined(_MSC_VER)
-   DPRINT(".text start: %x, .data start: %x\n",
-           (int)FindSegmentStart(".text"),
-           (int)FindSegmentStart(".data"));
-
-   {
-     const char* pCode = FindSegmentStart(".text");
-     const char* pData = FindSegmentEnd(".text");
-     while (pCode < pData)
-     {
-       MmSetPageProtect(NULL, (PVOID)pCode, PAGE_EXECUTE_READ);
-       pCode += PAGE_SIZE;
-     }
-   }
-#else
-   DPRINT("_text_start__ %x _init_end__ %x\n",(int)&_text_start__,(int)&_init_end__);
-   for (i=PAGE_ROUND_DOWN(((int)&_text_start__));
-       i<PAGE_ROUND_UP(((int)&_init_end__));i=i+PAGE_SIZE)
-     {
-       MmSetPageProtect(NULL,
-                        (PVOID)i,
-                        PAGE_EXECUTE_READ);
-     }
-#endif
-
-   DPRINT("Invalidating between %x and %x\n",
-         LastKernelAddress, 0xc0600000);
-   for (i=(LastKernelAddress); i<0xc0600000; i+=PAGE_SIZE)
-     {
-        MmRawDeleteVirtualMapping((PVOID)(i));
-     }
-
-   DPRINT("Invalidating between %x and %x\n",
-         0xd0100000, 0xd0400000);
-   for (i=0xd0100000; i<0xd0400000; i+=PAGE_SIZE)
-     {
-        MmRawDeleteVirtualMapping((PVOID)(i));
-     }
-   
-   DPRINT("Almost done MmInit()\n");
-#ifndef MP
-   /* FIXME: This is broken in SMP mode */
-#if !defined(_MSC_VER) // FIXME: I don't trust using this from MSVC yet!
-   MmDeleteVirtualMapping(NULL, (PVOID)&unmap_me, TRUE, NULL, NULL);
-   MmDeleteVirtualMapping(NULL, (PVOID)&unmap_me2, TRUE, NULL, NULL);
-   MmDeleteVirtualMapping(NULL, (PVOID)&unmap_me3, TRUE, NULL, NULL);
-#endif // _MSC_VER
-#endif
-   /*
-    * Intialize memory areas
-    */
-   MmInitVirtualMemory(LastKernelAddress, kernel_len);
-
-   MmInitializeMdlImplementation();
-}
-
-VOID INIT_FUNCTION
-MmInit2(VOID)
-{
-   MmInitializeRmapList();
-   MmInitializePageOp();
-   MmInitSectionImplementation();
-   MmInitPagingFile();
-}
-
-VOID INIT_FUNCTION
-MmInit3(VOID)
-{
-   /*
-    * Unmap low memory
-    */
-#ifdef MP
-   /* In SMP mode we can unmap the low memory  
-      if all processors are started. */
-   MmDeletePageTable(NULL, 0);
-#endif
-   MmInitZeroPageThread();
-   MmCreatePhysicalMemorySection();
-   MiInitBalancerThread();
-
-   /*
-    * Initialise the modified page writer.
-    */
-   MmInitMpwThread();
-
-   /* FIXME: Read parameters from memory */
-}
-
-VOID STATIC
-MiFreeInitMemoryPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address, 
-                    PHYSICAL_ADDRESS PhysAddr, SWAPENTRY SwapEntry, 
-                    BOOLEAN Dirty)
-{
-  assert(SwapEntry == 0);
-  if (PhysAddr.QuadPart  != 0)
-    {
-      MmReleasePageMemoryConsumer(MC_NPPOOL, PhysAddr);
-    }
-}
-
-VOID 
-MiFreeInitMemory(VOID)
-{
-#if defined(_MSC_VER)
-       DPRINT1("Can not yet free .init memory for MSVC compiled kernel\n");
-#else
-  MmLockAddressSpace(MmGetKernelAddressSpace());
-  MmFreeMemoryArea(MmGetKernelAddressSpace(),
-                  (PVOID)&_init_start__,
-                  PAGE_ROUND_UP((ULONG)&_init_end__) - (ULONG)_init_start__,
-                  MiFreeInitMemoryPage,
-                  NULL);
-  MmUnlockAddressSpace(MmGetKernelAddressSpace());
-#endif
-}
diff --git a/msvc6/ntoskrnl/ntoskrnl.dsp b/msvc6/ntoskrnl/ntoskrnl.dsp
deleted file mode 100644 (file)
index b727e2d..0000000
+++ /dev/null
@@ -1,3271 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ntoskrnl" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=ntoskrnl - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "ntoskrnl.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "ntoskrnl.mak" CFG="ntoskrnl - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "ntoskrnl - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "ntoskrnl - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /Z7 /Ot /Og /Os /Ob1 /I "..\..\reactos\include" /I "..\..\reactos\ntoskrnl\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__NTOSKRNL__" /D "i386" /D "__i386__" /FD /c
-# SUBTRACT CPP /Ox /X /YX
-# ADD BASE RSC /l 0x41d /d "NDEBUG"
-# ADD RSC /l 0x417 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
-# ADD LINK32 ..\hal\Release\hal.lib /nologo /base:"0xC0000000" /version:1 /stack:0x200000 /entry:"NtProcessStartup" /map /debug /machine:I386 /subsystem:native /order:@linkorder.txt
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Z7 /Od /Gy /I "..\..\reactos\include" /I "..\..\reactos\ntoskrnl\include" /D "_CONSOLE" /D "__NTOSKRNL__" /D "__i386__" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "i386" /FR /FD /c
-# ADD BASE RSC /l 0x41d /d "_DEBUG"
-# ADD RSC /l 0x417 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ..\hal\Debug\hal.lib /nologo /base:"0xC0000000" /version:1 /stack:0x200000 /entry:"NtProcessStartup" /incremental:no /map /debug /machine:I386 /pdbtype:sept /subsystem:native /order:@linkorder.txt
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF 
-
-# Begin Target
-
-# Name "ntoskrnl - Win32 Release"
-# Name "ntoskrnl - Win32 Debug"
-# Begin Group "cc"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cc\cacheman.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cc\copy.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cc\misc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cc\pin.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cc\view.c
-# End Source File
-# End Group
-# Begin Group "cm"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\cm.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\import.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\ntfunc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\regfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\registry.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\regobj.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\cm\rtlfunc.c
-# End Source File
-# End Group
-# Begin Group "dbg"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\dbgctrl.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\errinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\kdb.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\kdb.h
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\kdb_keyboard.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\kdb_serial.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\kdb_stabs.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\print.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\profile.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\rdebug.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\dbg\user.c
-# End Source File
-# End Group
-# Begin Group "ex"
-
-# PROP Default_Filter ""
-# Begin Group "i386_ex"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\i386\interlck.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ex_i386"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ex_i386"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\btree.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\callback.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\fmutex.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\hashtab.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\init.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\interlck.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\irp.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\list.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\lookas.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\napi.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\parttab.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\power.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\resource.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\stree.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\sysinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\time.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\win32k.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\work.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ex\zone.c
-# End Source File
-# End Group
-# Begin Group "fs"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\dbcsname.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\filelock.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\mcb.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\mdl.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\name.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\notify.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\oplock.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\pool.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\tunnel.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\unc.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\fs\util.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\fs"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\fs"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "inbv"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\inbv\inbv.c
-# End Source File
-# End Group
-# Begin Group "include"
-
-# PROP Default_Filter ""
-# Begin Group "internal"
-
-# PROP Default_Filter ""
-# Begin Group "i386_include"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\i386\fpu.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\i386\ke.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\i386\mm.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\i386\ps.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\i386\segment.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\cc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ctype.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\dbg.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\debug.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ex.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\handle.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\id.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ifs.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\io.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\kbd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\kd.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ke.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ldr.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\mm.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\module.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\nls.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\nt.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ntoskrnl.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ob.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\po.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\pool.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\port.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\ps.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\safe.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\se.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\trap.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\v86m.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\include\internal\xhal.h
-# End Source File
-# End Group
-# End Group
-# Begin Group "io"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\adapter.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\arcname.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\buildirp.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\cancel.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\cleanup.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\cntrller.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\create.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\device.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\deviface.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\dir.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\driver.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\errlog.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\error.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\event.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\file.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\flush.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\fs.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\iocomp.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\ioctrl.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\iomgr.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\iowork.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\irp.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\lock.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\mailslot.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\mdl.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\npipe.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\page.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\parttab.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\pnpdma.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\pnpmgr.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\pnpnotify.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\pnpreport.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\pnproot.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\process.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\queue.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\rawfs.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\remlock.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\resource.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\rw.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\share.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\shutdown.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\symlink.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\timer.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\vpb.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\wdm.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\xhaldisp.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\io\xhaldrv.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\io"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\io"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "kd"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\kd\dlog.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\kd\gdbstub.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\kd\kdebug.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\kd\mda.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\kd\service.c
-# End Source File
-# End Group
-# Begin Group "ke"
-
-# PROP Default_Filter ""
-# Begin Group "i386"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\bios.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\brkpoint.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\bthread.S
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\exp.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\fpu.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\gdt.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE="..\..\reactos\ntoskrnl\ke\i386\i386-mcount.S"
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\idt.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\irq.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\irqhand.s
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\kernel.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\ldt.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\multiboot.S
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\stkswitch.S
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\syscall.S
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\thread.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\trap.s
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\tskswitch.S
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\tss.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\usercall.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\usertrap.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\v86m.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\i386\v86m_sup.S
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\apc.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\bug.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\catch.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\critical.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\dpc.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\error.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\event.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\kqueue.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\kthread.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\main.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\mutex.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\process.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\queue.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\sem.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\spinlock.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\timer.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ke\wait.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ke"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ke"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "ldr"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ldr\init.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ldr"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ldr"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ldr\loader.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ldr"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ldr"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ldr\resource.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ldr"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ldr"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ldr\rtl.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ldr"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ldr"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ldr\sysdll.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ldr"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ldr"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ldr\userldr.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ldr"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ldr"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "lpc"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\close.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\complete.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\connect.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\create.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\listen.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\port.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\query.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\queue.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\receive.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\reply.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\lpc\send.c
-# End Source File
-# End Group
-# Begin Group "mm"
-
-# PROP Default_Filter ""
-# Begin Group "i386_mm"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\i386\memsafe.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\i386\page.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# SUBTRACT CPP /Gy
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\i386\pfault.c
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\anonmem.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\aspace.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\balance.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\cont.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\drvlck.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\freelist.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# SUBTRACT CPP /Gy
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\iospace.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\kmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\marea.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\mdl.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\mm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\mminit.c
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\mpw.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\ncache.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\npool.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# SUBTRACT CPP /Gy
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\pagefile.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\pageop.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\pager.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\pagfault.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\paging.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\pool.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\ppool.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\region.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\rmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\section.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\slab.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\virtual.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\mm\wset.c
-# End Source File
-# End Group
-# Begin Group "nt"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\channel.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\evtpair.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\misc.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\mutant.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\nt.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\ntevent.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\ntsem.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\nttimer.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\plugplay.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\profile.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\vdm.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\nt\zw.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\nt"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\nt"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "ob"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\dirobj.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\handle.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\namespc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\ntobj.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\object.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\security.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ob\symlink.c
-# End Source File
-# End Group
-# Begin Group "po"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\po\power.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\po"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\po"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "ps"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\create.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\debug.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\idle.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\kill.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\locale.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\process.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\psmgr.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\suspend.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\thread.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\tinfo.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\w32call.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ps\win32.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\ps"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\ps"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "rtl"
-
-# PROP Default_Filter ""
-# Begin Group "rtl_i386"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\alldiv.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\allmul.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\allrem.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\allshl.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\allshr.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\aulldiv.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\aullrem.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\aullshr.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\except.s
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\exception.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\i386\seh.s
-# PROP Exclude_From_Build 1
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\atom.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\bitmap.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\capture.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\compress.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\ctype.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\dos8dot3.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\error.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\handle.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\largeint.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\mem.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\message.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\nls.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\purecall.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\random.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\regio.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\sprintf.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\stdlib.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\string.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\strtok.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-# PROP Exclude_From_Build 1
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-# PROP Exclude_From_Build 1
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\swprintf.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\time.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\timezone.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\unicode.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\rtl\wstring.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# PROP Intermediate_Dir "Release\rtl"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# PROP Intermediate_Dir "Debug\rtl"
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "se"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\access.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\acl.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\audit.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\lsa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\luid.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\priv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\sd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\semgr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\sid.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\se\token.c
-# End Source File
-# End Group
-# Begin Group "MSVC_extras"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\ke_i386_bthread.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# ADD CPP /Od /Oy-
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_irqhand.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_multiboot.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-# ADD CPP /Gy
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_stkswitch.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_syscall.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_trap.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_tskswitch.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ke_i386_v86m_sup.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mm_i386_memsafe.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\nt_zw_msvc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\rtl_i386_except.c
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\bugcodes.rc
-# End Source File
-# Begin Source File
-
-SOURCE=.\linkorder.txt
-# End Source File
-# Begin Source File
-
-SOURCE=.\mm_mminit_msvc.c
-
-!IF  "$(CFG)" == "ntoskrnl - Win32 Release"
-
-!ELSEIF  "$(CFG)" == "ntoskrnl - Win32 Debug"
-
-# SUBTRACT CPP /Gy
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ntoskrnl.def
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\reactos\ntoskrnl\ntoskrnl.mc
-# End Source File
-# End Target
-# End Project
diff --git a/msvc6/ntoskrnl/rtl_i386_except.c b/msvc6/ntoskrnl/rtl_i386_except.c
deleted file mode 100644 (file)
index e132c49..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- *  ReactOS kernel
- *  Copyright (C) 2000 David Welch <welch@cwcom.net>
- *
- *  Moved to MSVC-compatible inline assembler by Mike Nordell, 2003-12-26
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * FILE:            ntoskrnl/ke/i386/vm86_sup.S
- * PURPOSE:         V86 mode support
- * PROGRAMMER:      David Welch (welch@cwcom.net)
- * UPDATE HISTORY:
- *                  Created 09/10/00
- */
-
-/* INCLUDES ******************************************************************/
-
-#pragma hdrstop
-
-#include <ddk/ntddk.h>
-#include <ddk/status.h>
-#include <internal/i386/segment.h>
-#include <internal/i386/fpu.h>
-#include <internal/ps.h>
-#include <ddk/defines.h>
-#include <internal/v86m.h>
-#include <ntos/tss.h>
-//#include <ntos/service.h>
-#include <internal/trap.h>
-#include <internal/ps.h>
-
-#include <roscfg.h>
-#include <internal/ntoskrnl.h>
-#include <internal/i386/segment.h>
-
-
-#define EXCEPTION_UNWINDING            0x02
-
-#define EREC_FLAGS                             0x04
-
-#define ExceptionContinueExecution 0
-#define ExceptionContinueSearch    1
-#define ExceptionNestedException   2
-#define ExceptionCollidedUnwind    3
-
-//.globl _RtlpExecuteHandlerForException
-//.globl _RtlpExecuteHandlerForUnwind
-
-#define CONTEXT_FLAGS  0x00
-#define CONTEXT_SEGGS  0x8C
-#define CONTEXT_SEGFS  0x90
-#define CONTEXT_SEGES  0x94
-#define CONTEXT_SEGDS  0x98
-#define CONTEXT_EDI            0x9C
-#define CONTEXT_ESI            0xA0
-#define CONTEXT_EBX            0xA4
-#define CONTEXT_EDX            0xA8
-#define CONTEXT_ECX            0xAC
-#define CONTEXT_EAX            0xB0
-#define CONTEXT_EBP            0xB4
-#define CONTEXT_EIP            0xB8
-#define CONTEXT_SEGCS  0xBC
-#define CONTEXT_EFLAGS 0xC0
-#define CONTEXT_ESP            0xC4
-#define CONTEXT_SEGSS  0xC8
-
-
-#define RCC_CONTEXT            0x08
-
-
-VOID STDCALL
-AsmDebug(ULONG Value);
-
-
-// EAX = value to print
-__declspec(naked)
-void do_debug()
-{
-       __asm
-       {
-               pusha
-               push    eax
-               call    AsmDebug
-               popa
-               ret
-       }
-}
-
-
-#define REH_ERECORD            0x08
-#define REH_RFRAME             0x0C
-#define REH_CONTEXT            0x10
-#define REH_DCONTEXT   0x14
-#define REH_EROUTINE   0x18
-
-// Parameters:
-//   None
-// Registers:
-//   [EBP+08h] - PEXCEPTION_RECORD ExceptionRecord
-//   [EBP+0Ch] - PEXCEPTION_REGISTRATION RegistrationFrame
-//   [EBP+10h] - PVOID Context
-//   [EBP+14h] - PVOID DispatcherContext
-//   [EBP+18h] - PEXCEPTION_HANDLER ExceptionRoutine
-//   EDX       - Address of protecting exception handler
-// Returns:
-//   EXCEPTION_DISPOSITION
-// Notes:
-//   Setup the protecting exception handler and call the exception
-//   handler in the right context.
-__declspec(naked)
-void RtlpExecuteHandler()
-{
-       __asm
-       {
-               push    ebp
-               mov             ebp, esp
-               push    REH_RFRAME[ebp]
-
-               push    edx
-               push    fs:0x0
-               mov             fs:0x0, esp
-
-               // Prepare to call the exception handler
-               push    REH_DCONTEXT[ebp]
-               push    REH_CONTEXT[ebp]
-               push    REH_RFRAME[ebp]
-               push    REH_ERECORD[ebp]
-
-               // Now call the exception handler
-               mov             eax, REH_EROUTINE[ebp]
-               call    eax
-
-               cmp             fs:0x0, -1
-               jne             reh_stack_looks_ok
-
-               // This should not happen
-               push    0
-               push    0
-               push    0
-               push    0
-               call    RtlAssert
-
-reh_loop:
-               jmp     reh_loop
-       
-reh_stack_looks_ok:
-               mov             esp, fs:0x0
-
-               // Return to the 'front-end' for this function
-               pop             dword ptr fs:0x0
-               mov             esp, ebp
-               pop             ebp
-               ret
-       }
-}
-
-#if 0
-
-#endif // 0
-
-#define REP_ERECORD     0x04
-#define REP_RFRAME      0x08
-#define REP_CONTEXT     0x0C
-#define REP_DCONTEXT    0x10
-
-// Parameters:
-//   [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
-//   [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
-//   [ESP+0Ch] - PCONTEXT Context
-//   [ESP+10h] - PVOID DispatcherContext
-// Registers:
-//   None
-// Returns:
-//   EXCEPTION_DISPOSITION
-// Notes:
-//    This exception handler protects the exception handling
-//    mechanism by detecting nested exceptions.
-__declspec(naked)
-void RtlpExceptionProtector()
-{
-       __asm
-       {
-               mov             eax, ExceptionContinueSearch
-               mov             ecx, REP_ERECORD[esp]
-               test    EREC_FLAGS[ecx], EXCEPTION_UNWINDING
-               jnz             rep_end
-
-               // Unwinding is not taking place, so return ExceptionNestedException
-
-               // Set DispatcherContext field to the exception registration for the
-               // exception handler that executed when a nested exception occurred
-               mov             ecx, REP_DCONTEXT[esp]
-               mov             eax, REP_RFRAME[esp]
-               mov             [ecx], eax
-               mov             eax, ExceptionNestedException
-
-rep_end:
-               ret
-       }
-}
-
-
-// Parameters:
-//   [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
-//   [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
-//   [ESP+0Ch] - PCONTEXT Context
-//   [ESP+10h] - PVOID DispatcherContext
-//   [ESP+14h] - PEXCEPTION_HANDLER ExceptionHandler
-// Registers:
-//   None
-// Returns:
-//   EXCEPTION_DISPOSITION
-// Notes:
-//   Front-end
-__declspec(naked)
-void RtlpExecuteHandlerForException()
-{
-       __asm
-       {
-               mov             edx, RtlpExceptionProtector
-               jmp             RtlpExecuteHandler
-       }
-}
-
-
-#define RUP_ERECORD     0x04
-#define RUP_RFRAME      0x08
-#define RUP_CONTEXT     0x0C
-#define RUP_DCONTEXT    0x10
-
-// Parameters:
-//   [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
-//   [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
-//   [ESP+0Ch] - PCONTEXT Context
-//   [ESP+10h] - PVOID DispatcherContext
-// Registers:
-//   None
-// Returns:
-//   EXCEPTION_DISPOSITION
-// Notes:
-//    This exception handler protects the exception handling
-//    mechanism by detecting collided unwinds.
-__declspec(naked)
-void RtlpUnwindProtector()
-{
-       __asm
-       {
-               mov             eax, ExceptionContinueSearch
-               mov             RUP_ERECORD[esp], ecx
-               test    EREC_FLAGS[ecx], EXCEPTION_UNWINDING
-               jz              rup_end
-
-               // Unwinding is taking place, so return ExceptionCollidedUnwind
-
-               mov             ecx, RUP_RFRAME[esp]
-               mov             edx, RUP_DCONTEXT[esp]
-
-               // Set DispatcherContext field to the exception registration for the
-               // exception handler that executed when a collision occurred
-               mov             eax, RUP_RFRAME[ecx]
-               mov             [edx], eax
-               mov             eax, ExceptionCollidedUnwind
-
-rup_end:
-               ret
-       }
-}
-
-
-// Parameters:
-//   [ESP+04h] - PEXCEPTION_RECORD ExceptionRecord
-//   [ESP+08h] - PEXCEPTION_REGISTRATION RegistrationFrame
-//   [ESP+0Ch] - PCONTEXT Context
-//   [ESP+10h] - PVOID DispatcherContext
-//   [ESP+14h] - PEXCEPTION_HANDLER ExceptionHandler
-// Registers:
-//   None
-// Returns:
-//   EXCEPTION_DISPOSITION
-__declspec(naked)
-void RtlpExecuteHandlerForUnwind()
-{
-       __asm mov       edx, RtlpUnwindProtector
-       __asm jmp       RtlpExecuteHandler
-}
-
diff --git a/os2/apps/bepslep/Makefile b/os2/apps/bepslep/Makefile
deleted file mode 100644 (file)
index 270d974..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# $Id: Makefile,v 1.2 2003/01/07 16:23:10 robd Exp $
-#
-#
-
-PATH_TO_TOP = ../../../reactos
-
-PATH_TO_OS2_TOP = ../..
-
-TARGET_TYPE = program
-
-TARGET_NORC = yes
-
-#TARGET_APPTYPE = console
-TARGET_APPTYPE = windows
-
-TARGET_NAME = bepslep
-
-TARGET_CFLAGS = -D__SUBSYSTEM_WINDOWS__
-
-TARGET_LFLAGS = -nostartfiles
-
-TARGET_SDKLIBS = doscalls.a
-
-TARGET_GCCLIBS = stdc++
-
-#TARGET_LIBS = $(PATH_TO_OS2_TOP)/lib/crt0w32.o \
-#            $(PATH_TO_TOP)/dk/psx/lib/psxdll.a
-
-#      $(PATH_TO_OS2_TOP)/dll/doscalls.dll 
-
-TARGET_OBJECTS = $(TARGET_NAME).o
-
-include $(PATH_TO_TOP)/rules.mak
-
-include $(TOOLS_PATH)/helper.mk
-
-# EOF
diff --git a/os2/apps/bepslep/bepslep.c b/os2/apps/bepslep/bepslep.c
deleted file mode 100644 (file)
index cacb59f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#define INCL_DOSPROCESS
-#include "../../include/os2.h"
-//#include "../../include/ros2.h"
-
-void Eingang()
-{
-       DosBeep(3000,300);
-       DosSleep(1000);
-       DosBeep(4000,200);
-       DosExit(0,0);
-}
-
-void WinMainCRTStartup()
-{
-       int a, b;
-       a= b+3;
-       b=a+3;
-       Eingang();
-}
diff --git a/os2/apps/bepslep/bepslep.xml b/os2/apps/bepslep/bepslep.xml
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/os2/apps/directory.xml b/os2/apps/directory.xml
deleted file mode 100644 (file)
index 78a17b7..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<group>
-       <directory name="bepslep">
-               <xi:include href="bepslep/bepslep.xml" />
-       </directory>
-</group>
diff --git a/os2/copying b/os2/copying
deleted file mode 100644 (file)
index dc63aac..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-       Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/os2/directory.xml b/os2/directory.xml
deleted file mode 100644 (file)
index aef2d33..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<group>
-       <directory name="apps">
-               <xi:include href="apps/directory.xml" />
-       </directory>
-       <directory name="lib">
-               <xi:include href="lib/directory.xml" />
-       </directory>
-       <directory name="server">
-               <xi:include href="server/os2srv.xml" />
-       </directory>
-</group>
diff --git a/os2/dirstruct.txt b/os2/dirstruct.txt
deleted file mode 100644 (file)
index 555400c..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-Win32 and os2ss sight to the system partition 
-+C                             < contains under os2ss a autogenerated config.sys
- |
- +-ROS
-   +-NATIVE            < NTDLL, ntoskrnl, hal.dll, csrss.exe os2.exe psx.exe ... 
-   | +-DRIVERS < *.SYS
-   | +-CONFIG  < registry
-   +-WIN32
-   | +-SYSTEM  < user32.dll kernel32.dll ...
-   | +-FONTS
-   | +...
-   +-OS2
-   | +-DLL             < doscalls.dll ....
-   | +-SYSTEM
-   | +-...
-   +-PSX
-     +-etc             < mountpoint for posix apps
-     +-bin
-     +-dev
-     +-lib             < posix.dll
-     +-tmp
-     +-var
-     +-mnt             < empty
-
-posix sight to the system partition 
- /
- +-etc         < mountpoint for posix apps
- +-bin
- +-dev         < link to OB-mans Devices
- +-lib         < posix.dll
- +-tmp         < alias to systemtemp
- +-var
- +-mnt
-   +-C         < win32-driveletters             
-   |  |
-   |  +-ROS
-   |    +-NATIVE               < NTDLL, ntoskrnl, hal.dll, csrss.exe os2.exe psx.exe ...
-   |    | +-DRIVERS    < *.SYS
-   |    | +-CONFIG     < registry
-   |    +-WIN32
-   |    | +-SYSTEM     < user32.dll kernel32.dll ...
-   |    | +-FONTS
-   |    | +...
-   |    +-OS2          <some apps
-   |    | +-DLL                < doscalls.dll ....
-   |    | +-SYSTEM
-   |    | +-...
-   |    +-PSX          < empty
-   +-D
-   +-E...
diff --git a/os2/doc/how to start.txt b/os2/doc/how to start.txt
deleted file mode 100644 (file)
index 2cbd0c9..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-Beginning ROS/2-Developement
-============================
-
-ROS/2-Developement means building the OS/2 subsystem for ReactOS. In order to start the developement you should have CVS-access. For the CVS-access see the reactos-Homepage.
-
-Setting up a build environment
-------------------------------
-For the native components (OS2SS.EXE and OS2.EXE) you'll need the same compiler and tools as you need for the rest of ReactOS. If you haven't already set it up, go to the reactos home and see the description there. For now this is the only compiler you need. At some point you'll need a compiler that can generate LX-EXEs. But now also the core dlls and even programs are compiled as PE-win32.
-
-Getting documentation
----------------------
-I'm not the inventor of OS/2. IBM still did the work, and they did also good work in terms of documentation. If you plan to do core-dll work, you'll also need NT-Native-API documentation. There exists a book called "The Native API", but there should be a preliminary PDF-file floating around. OS/2-API documentation is available on the CDs belonging to your OS/2-compiler. If you develope under OS/2 you have an INF-viewer on board. If your developementsystem is NT, I recomend you OVIEW (http://hobbes.nmsu.edu/pub/windows/win_inf.zip). This two 'books' should be, what you need.
-
-Contacting me
--------------
-Bevore you start, have a talk with me. We don't want to do useless work or do work twice. So write to ros2@dantepark.de
\ No newline at end of file
diff --git a/os2/doc/index.html b/os2/doc/index.html
deleted file mode 100644 (file)
index 8f28539..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<html>
-<head>
-<title>OS/2 subsystem for ReactOS</title>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
-<h1><b>OS/2 subsystem for ReactOS (ROS/2)</b></h1>
-<h2><font color="#009966">Introduction</font></h2>
-<p>The OS/2 subsystem is being developed to enable NT-like systems (like WinNT 
-  and ReactOS) to run 32-Bit OS/2 applications natively. With this it shall provide 
-  binary compatiblility on x86-Based systems. It is intended to port the ROS/2 
-  also to other platforms supported by ReactOS / NT. It is planned to provide 
-  source code compatibility on these platforms. Yeeahh, OS/2 for PowerPC is in 
-  sight.</p>
-<h2><font color="#009966">Components</font></h2>
-<p>ROS/2 consists of the following components:</p>
-<ul>
-  <li>OS2SS.EXE - A native application that implements the personality of the 
-    OS/2 kernel.</li>
-  <li>OS2.EXE - A win32 application that does the interaction of the OS/2 apps 
-    with the desktop.</li>
-  <li>Core DLLs - These DLLs that make OS/2 programs interface with the kernel/sub 
-    system (i.E. DOSCALLS.DLL). </li>
-  <li>Additional DLLs - DLLs that provide additional APIs for OS/2 apps. This 
-    includes Presentation Manager.</li>
-</ul>
-<h2><font color="#009966">Current state</font></h2>
-<p>Up to now just a fragment of DOSCALLS.DLL exists. The biggest problem are the 
-  os2 API headers which are (C) by IBM. So help is still welcome.</p>
-<h2><font color="#009966">16-Bit issues</font></h2>
-<p>It is not intended to support 16-bit OS/2 applications. This would make the 
-  system inconsistent and produce much more work that use. But there is still 
-  one issue: Current textmode applications are either 16-bit or use thunking to 
-  call the 16-bit APIs. These 32-Bit thunking applications have to be supported. 
-  We are still thinking how to accomplish that. </p>
-<h2><font color="#009966">32-Bit issues</font></h2>
-<p>It is planned to replace the current MOU- KBD- MSG- and VIO- subsystems with 
-  the <a href="http://homepages.tesco.net/%7EJ.deBoynePollard/Softwares/conapi.html">Unicode 
-  Console API</a>. This is also the foundation for other platforms we want to 
-  provide source code compatibility with. So nearly every 32-Bit processor can 
-  be supported. It sould even be possible to implement a 64-bit OS/2 API.</p>
-<h2><font color="#009966">Architecture</font></h2>
-<p>To understand the architecture of ReactOS or WinNT read a book from the &quot;Inside 
-  Windows NT&quot;-series. The architecture of ROS/2 is like every normal subsystem. 
-  When OS2SS.EXE starts, it creates an object directory named os2 and therein 
-  it creates a port object with the name Os2API. A port is something like a socket. 
-  Two programs can comunicate with each other via a port. The port Os2API provides 
-  the LPC API of the OS2SS.EXE - the actual subsystem. <br>
-  Every OS/2 program that is loaded, is linked with DOSCALLS.DLL and NTDLL.DLL 
-  - the interface to the NT-kernel. Since DOSCALLS is implemented using NTDLL.DLL, 
-  every OS/2 app has it in its adress space. Many functions in DOSCALLS.DLL are 
-  implemented by just wrapping NTDLL.DLL functions. Some functions however need 
-  assistance by the subsystem. For this reason the app makes an LPC to OS2SS.EXE. 
-  LPC means local procedure call and it is a very fast version of RPC. Together 
-  with the first application also OS2.EXE starts up. OS2.EXE runs in the win32 
-  subsystem with the security of the current user. OS2.EXE is used to gather keyboard 
-  and mouse input and to show console windows and PM-windows of all OS/2 programms 
-  of the current user. In order to accomplish this OS2.EXE creates a port object 
-  in the os2 object directory named Os2Interact. OS/2 applications have a connection 
-  to OS2.EXE, too. OS2SS.EXE and OS2.EXE also talk to each other. An OS/2 application 
-  then makes LPCs either to OS2.EXE directly or if required via OS2SS.EXE.</p>
-<p>Details</p>
-<p>&nbsp;</p>
-<p>LPC Documentation</p>
-</body>
-</html>
diff --git a/os2/include/os2.h b/os2/include/os2.h
deleted file mode 100644 (file)
index e888381..0000000
+++ /dev/null
@@ -1,12603 +0,0 @@
-/* os2emx.h (emx+gcc) */
-
-#ifndef _OS2EMX_H
-#define _OS2EMX_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#pragma pack(1)
-
-/* ------------------------ INCL_ SYMBOLS --------------------------------- */
-
-#if defined (INCL_BASE)
-#define INCL_DOS
-#define INCL_DOSERRORS
-#define INCL_SUB
-#endif
-
-#if defined (INCL_DOS)
-#define INCL_DOSDATETIME
-#define INCL_DOSDEVICES
-#define INCL_DOSEXCEPTIONS
-#define INCL_DOSFILEMGR
-#define INCL_DOSMEMMGR
-#define INCL_DOSMISC
-#define INCL_DOSMVDM
-#define INCL_DOSMODULEMGR
-#define INCL_DOSNLS
-#define INCL_DOSPROCESS
-#define INCL_DOSPROFILE
-#define INCL_DOSRAS
-#define INCL_DOSQUEUES
-#define INCL_DOSRESOURCES
-#define INCL_DOSSEMAPHORES
-#define INCL_DOSSESMGR
-#endif
-
-#if defined (INCL_REXXSAA)
-#define INCL_RXSUBCOM
-#define INCL_RXSHV
-#define INCL_RXFUNC
-#define INCL_RXSYSEXIT
-#define INCL_RXMACRO
-#define INCL_RXARI
-#endif
-
-#if defined (INCL_SUB)
-#define INCL_KBD
-#define INCL_VIO
-#define INCL_MOU
-#endif
-
-#if defined (INCL_PM)
-#define INCL_AVIO
-#define INCL_FONTFILEFORMAT
-#define INCL_GPI
-#define INCL_SPL
-#define INCL_WIN
-#define INCL_WINWORKPLACE
-#endif
-
-#if defined (INCL_WIN) || defined (RC_INVOKED)
-#define INCL_WINACCELERATORS
-#define INCL_WINBUTTONS
-#define INCL_WINDIALOGS
-#define INCL_WINENTRYFIELDS
-#define INCL_WINFRAMECTLS
-#define INCL_WINFRAMEMGR
-#define INCL_WINHELP
-#define INCL_WININPUT
-#define INCL_WINLISTBOXES
-#define INCL_WINMENUS
-#define INCL_WINMESSAGEMGR
-#define INCL_WINMLE
-#define INCL_WINPOINTERS
-#define INCL_WINSCROLLBARS
-#define INCL_WINSTATICS
-#define INCL_WINSTDDLGS
-#define INCL_WINSYS
-#endif /* INCL_WIN || RC_INVOKED */
-
-#if defined (INCL_WIN)
-#define INCL_WINATOM
-#define INCL_WINCLIPBOARD
-#define INCL_WINCOUNTRY
-#define INCL_WINCURSORS
-#define INCL_WINDDE
-#define INCL_WINDESKTOP
-#define INCL_WINERRORS
-#define INCL_WINHOOKS
-#define INCL_WINLOAD
-#define INCL_WINPALETTE
-#define INCL_WINPROGRAMLIST
-#define INCL_WINRECTANGLES
-#define INCL_WINSHELLDATA
-#define INCL_WINSWITCHLIST
-#define INCL_WINTHUNKAPI
-#define INCL_WINTIMER
-#define INCL_WINTRACKRECT
-#define INCL_WINTYPES
-#define INCL_WINWINDOWMGR
-#endif /* INCL_WIN */
-
-#if defined (INCL_WINCOMMON)
-#define INCL_WINWINDOWMGR
-#endif
-
-#if defined (INCL_WINSTDDLGS)
-#define INCL_WINCIRCULARSLIDER
-#define INCL_WINSTDBOOK
-#define INCL_WINSTDCNR
-#define INCL_WINSTDDRAG
-#define INCL_WINSTDFILE
-#define INCL_WINSTDFONT
-#define INCL_WINSTDSLIDER
-#define INCL_WINSTDSPIN
-#define INCL_WINSTDVALSET
-#endif
-
-#if defined (INCL_WINSTDCNR) || defined (INCL_WINSTDVALSET)
-#define INCL_WINSTDDRAG
-#endif
-
-#if defined (INCL_WINMLE) && !defined (INCL_WINENTRYFIELDS)
-#define INCL_WINENTRYFIELDS
-#endif
-
-#if defined (INCL_WINWORKPLACE)
-#define INCL_WPCLASS
-#endif
-
-#if defined (INCL_GPI)
-#define INCL_GPIBITMAPS
-#define INCL_GPICONTROL
-#define INCL_GPICORRELATION
-#define INCL_GPIINK
-#define INCL_GPISEGMENTS
-#endif
-
-#if defined (INCL_ERRORS)
-#define INCL_DOSERRORS
-#define INCL_GPIERRORS
-#define INCL_SHLERRORS
-#define INCL_WINERRORS
-#endif
-
-#if defined (INCL_DDIDEFS)
-#define INCL_GPIBITMAPS
-#define INCL_GPIERRORS
-#endif
-
-#if defined (INCL_CIRCULARSLIDER) && !defined (INCL_WINCIRCULARSLIDER)
-#define INCL_WINCIRCULARSLIDER
-#endif
-
-/* ------------------------ DISABLE KEYWORDS ------------------------------ */
-
-#define APIENTRY
-#define EXPENTRY
-#define FAR
-
-/* ------------------------ CONSTANTS AND TYPES --------------------------- */
-
-#if !defined (FALSE)
-#define FALSE 0
-#endif
-
-#if !defined (TRUE)
-#define TRUE 1
-#endif
-
-#define VOID                           void
-
-#define NULLHANDLE                     ((LHANDLE)0)
-#define NULLSHANDLE                    ((SHANDLE)0)
-
-#if !defined (NULL)
-#if defined (__cplusplus)
-#define NULL 0
-#else
-#define NULL ((void *)0)
-#endif
-#endif
-
-typedef int INT;               /* Required for Toolkit sample programs */
-typedef unsigned UINT;
-typedef unsigned long APIRET;
-
-typedef unsigned long BOOL;
-typedef BOOL *PBOOL;
-
-typedef unsigned long BOOL32;
-typedef BOOL *PBOOL32;
-
-typedef char CHAR;
-typedef CHAR *PCHAR;
-
-#if !defined (OS2EMX_PLAIN_CHAR)
-
-typedef unsigned char BYTE;
-typedef unsigned char *PCH;
-typedef unsigned char *PSZ;
-typedef __const__ unsigned char *PCCH;
-typedef __const__ unsigned char *PCSZ;
-
-#else
-
-typedef char BYTE;
-typedef char *PCH;
-typedef char *PSZ;
-typedef __const__ char *PCCH;
-typedef __const__ char *PCSZ;
-
-#endif
-
-typedef BYTE *PBYTE;
-
-typedef unsigned char UCHAR;
-typedef UCHAR *PUCHAR;
-
-typedef short SHORT;
-typedef SHORT *PSHORT;
-
-typedef unsigned short USHORT;
-typedef USHORT *PUSHORT;
-
-typedef long LONG;
-typedef LONG *PLONG;
-
-typedef unsigned long ULONG;
-typedef ULONG *PULONG;
-
-typedef VOID *PVOID;
-typedef PVOID *PPVOID;
-
-typedef __const__ VOID *CPVOID;
-
-typedef CHAR STR8[8];
-typedef STR8 *PSTR8;
-
-typedef CHAR STR16[16];
-typedef STR16 *PSTR16;
-typedef CHAR STR32[32];
-typedef STR32 *PSTR32;
-typedef CHAR STR64[64];
-typedef STR64 *PSTR64;
-
-typedef unsigned short SHANDLE;
-typedef unsigned long LHANDLE;
-
-typedef LHANDLE HPIPE;
-typedef HPIPE *PHPIPE;
-
-typedef LHANDLE HQUEUE;
-typedef HQUEUE *PHQUEUE;
-
-typedef LHANDLE HMODULE;
-typedef HMODULE *PHMODULE;
-
-typedef VOID *HSEM;
-typedef HSEM *PHSEM;
-
-typedef LHANDLE HOBJECT;
-
-typedef ULONG PID;
-typedef PID *PPID;
-
-typedef ULONG TID;
-typedef TID *PTID;
-
-typedef int (*PFN)();
-typedef PFN *PPFN;
-
-typedef USHORT SEL;
-typedef SEL *PSEL;
-
-typedef ULONG HMTX;
-typedef HMTX *PHMTX;
-
-typedef ULONG HMUX;
-typedef HMUX *PHMUX;
-
-
-#define FIELDOFFSET(t,f)  ((SHORT)&(((t *)0)->f))
-
-#define MAKETYPE(v,t)    (*((t *)&v))
-
-#define MAKEUSHORT(l,h)          (((USHORT)(l)) | ((USHORT)(h))<<8)
-#define MAKESHORT(l,h)   ((SHORT)MAKEUSHORT(l, h))
-
-#define MAKEULONG(l,h)   ((ULONG)(((USHORT)(l)) | ((ULONG)((USHORT)(h)))<<16))
-#define MAKELONG(l,h)    ((LONG)MAKEULONG(l, h))
-
-#define LOUCHAR(w)       ((UCHAR)(w))
-#define HIUCHAR(w)       ((UCHAR)((USHORT)(w)>>8))
-
-#define LOBYTE(x)        LOUCHAR(x)
-#define HIBYTE(x)        HIUCHAR(x)
-
-#define LOUSHORT(x)      ((USHORT)((ULONG)(x)))
-#define HIUSHORT(x)      ((USHORT)((ULONG)(x)>>16))
-
-/* ---------------------------- ERROR CODES ------------------------------- */
-
-#define WINERR_BASE                    0x1000
-#define GPIERR_BASE                    0x2000
-#define DEVERR_BASE                    0x3000
-#define SPLERR_BASE                    0x4000
-
-#define SEVERITY_NOERROR               0x0000
-#define SEVERITY_WARNING               0x0004
-#define SEVERITY_ERROR                 0x0008
-#define SEVERITY_SEVERE                        0x000c
-#define SEVERITY_UNRECOVERABLE         0x0010
-
-#if defined (INCL_DOSERRORS)
-
-#define NO_ERROR                               0
-#define ERROR_INVALID_FUNCTION                 1
-#define ERROR_FILE_NOT_FOUND                   2
-#define ERROR_PATH_NOT_FOUND                   3
-#define ERROR_TOO_MANY_OPEN_FILES              4
-#define ERROR_ACCESS_DENIED                    5
-#define ERROR_INVALID_HANDLE                   6
-#define ERROR_ARENA_TRASHED                    7
-#define ERROR_NOT_ENOUGH_MEMORY                        8
-#define ERROR_INVALID_BLOCK                    9
-#define ERROR_BAD_ENVIRONMENT                 10
-#define ERROR_BAD_FORMAT                      11
-#define ERROR_INVALID_ACCESS                  12
-#define ERROR_INVALID_DATA                    13
-#define ERROR_INVALID_DRIVE                   15
-#define ERROR_CURRENT_DIRECTORY                       16
-#define ERROR_NOT_SAME_DEVICE                 17
-#define ERROR_NO_MORE_FILES                   18
-#define ERROR_WRITE_PROTECT                   19
-#define ERROR_BAD_UNIT                        20
-#define ERROR_NOT_READY                               21
-#define ERROR_BAD_COMMAND                     22
-#define ERROR_CRC                             23
-#define ERROR_BAD_LENGTH                      24
-#define ERROR_SEEK                            25
-#define ERROR_NOT_DOS_DISK                    26
-#define ERROR_SECTOR_NOT_FOUND                27
-#define ERROR_OUT_OF_PAPER                    28
-#define ERROR_WRITE_FAULT                     29
-#define ERROR_READ_FAULT                      30
-#define ERROR_GEN_FAILURE                     31
-#define ERROR_SHARING_VIOLATION                       32
-#define ERROR_LOCK_VIOLATION                  33
-#define ERROR_WRONG_DISK                      34
-#define ERROR_FCB_UNAVAILABLE                 35
-#define ERROR_SHARING_BUFFER_EXCEEDED         36
-#define ERROR_CODE_PAGE_MISMATCHED            37
-#define ERROR_HANDLE_EOF                      38
-#define ERROR_HANDLE_DISK_FULL                39
-#define ERROR_NOT_SUPPORTED                   50
-#define ERROR_REM_NOT_LIST                    51
-#define ERROR_DUP_NAME                        52
-#define ERROR_BAD_NETPATH                     53
-#define ERROR_NETWORK_BUSY                    54
-#define ERROR_DEV_NOT_EXIST                   55
-#define ERROR_TOO_MANY_CMDS                   56
-#define ERROR_ADAP_HDW_ERR                    57
-#define ERROR_BAD_NET_RESP                    58
-#define ERROR_UNEXP_NET_ERR                   59
-#define ERROR_BAD_REM_ADAP                    60
-#define ERROR_PRINTQ_FULL                     61
-#define ERROR_NO_SPOOL_SPACE                  62
-#define ERROR_PRINT_CANCELLED                 63
-#define ERROR_NETNAME_DELETED                 64
-#define ERROR_NETWORK_ACCESS_DENIED           65
-#define ERROR_BAD_DEV_TYPE                    66
-#define ERROR_BAD_NET_NAME                    67
-#define ERROR_TOO_MANY_NAMES                  68
-#define ERROR_TOO_MANY_SESS                   69
-#define ERROR_SHARING_PAUSED                  70
-#define ERROR_REQ_NOT_ACCEP                   71
-#define ERROR_REDIR_PAUSED                    72
-#define ERROR_SBCS_ATT_WRITE_PROT             73
-#define ERROR_SBCS_GENERAL_FAILURE            74
-#define ERROR_XGA_OUT_MEMORY                  75
-#define ERROR_FILE_EXISTS                     80
-#define ERROR_DUP_FCB                         81
-#define ERROR_CANNOT_MAKE                     82
-#define ERROR_FAIL_I24                        83
-#define ERROR_OUT_OF_STRUCTURES                       84
-#define ERROR_ALREADY_ASSIGNED                85
-#define ERROR_INVALID_PASSWORD                86
-#define ERROR_INVALID_PARAMETER                       87
-#define ERROR_NET_WRITE_FAULT                 88
-#define ERROR_NO_PROC_SLOTS                   89
-#define ERROR_NOT_FROZEN                      90
-#define ERROR_SYS_COMP_NOT_LOADED             90 /*!*/
-#define ERR_TSTOVFL                           91
-#define ERR_TSTDUP                            92
-#define ERROR_NO_ITEMS                        93
-#define ERROR_INTERRUPT                               95
-#define ERROR_DEVICE_IN_USE                   99
-#define ERROR_TOO_MANY_SEMAPHORES            100
-#define ERROR_EXCL_SEM_ALREADY_OWNED         101
-#define ERROR_SEM_IS_SET                     102
-#define ERROR_TOO_MANY_SEM_REQUESTS          103
-#define ERROR_INVALID_AT_INTERRUPT_TIME              104
-#define ERROR_SEM_OWNER_DIED                 105
-#define ERROR_SEM_USER_LIMIT                 106
-#define ERROR_DISK_CHANGE                    107
-#define ERROR_DRIVE_LOCKED                   108
-#define ERROR_BROKEN_PIPE                    109
-#define ERROR_OPEN_FAILED                    110
-#define ERROR_BUFFER_OVERFLOW                111
-#define ERROR_DISK_FULL                              112
-#define ERROR_NO_MORE_SEARCH_HANDLES         113
-#define ERROR_INVALID_TARGET_HANDLE          114
-#define ERROR_PROTECTION_VIOLATION           115
-#define ERROR_VIOKBD_REQUEST                 116
-#define ERROR_INVALID_CATEGORY               117
-#define ERROR_INVALID_VERIFY_SWITCH          118
-#define ERROR_BAD_DRIVER_LEVEL               119
-#define ERROR_CALL_NOT_IMPLEMENTED           120
-#define ERROR_SEM_TIMEOUT                    121
-#define ERROR_INSUFFICIENT_BUFFER            122
-#define ERROR_INVALID_NAME                   123
-#define ERROR_INVALID_LEVEL                  124
-#define ERROR_NO_VOLUME_LABEL                125
-#define ERROR_MOD_NOT_FOUND                  126
-#define ERROR_PROC_NOT_FOUND                 127
-#define ERROR_WAIT_NO_CHILDREN               128
-#define ERROR_CHILD_NOT_COMPLETE             129
-#define ERROR_DIRECT_ACCESS_HANDLE           130
-#define ERROR_NEGATIVE_SEEK                  131
-#define ERROR_SEEK_ON_DEVICE                 132
-#define ERROR_IS_JOIN_TARGET                 133
-#define ERROR_IS_JOINED                              134
-#define ERROR_IS_SUBSTED                     135
-#define ERROR_NOT_JOINED                     136
-#define ERROR_NOT_SUBSTED                    137
-#define ERROR_JOIN_TO_JOIN                   138
-#define ERROR_SUBST_TO_SUBST                 139
-#define ERROR_JOIN_TO_SUBST                  140
-#define ERROR_SUBST_TO_JOIN                  141
-#define ERROR_BUSY_DRIVE                     142
-#define ERROR_SAME_DRIVE                     143
-#define ERROR_DIR_NOT_ROOT                   144
-#define ERROR_DIR_NOT_EMPTY                  145
-#define ERROR_IS_SUBST_PATH                  146
-#define ERROR_IS_JOIN_PATH                   147
-#define ERROR_PATH_BUSY                              148
-#define ERROR_IS_SUBST_TARGET                149
-#define ERROR_SYSTEM_TRACE                   150
-#define ERROR_INVALID_EVENT_COUNT            151
-#define ERROR_TOO_MANY_MUXWAITERS            152
-#define ERROR_INVALID_LIST_FORMAT            153
-#define ERROR_LABEL_TOO_LONG                 154
-#define ERROR_TOO_MANY_TCBS                  155
-#define ERROR_SIGNAL_REFUSED                 156
-#define ERROR_DISCARDED                              157
-#define ERROR_NOT_LOCKED                     158
-#define ERROR_BAD_THREADID_ADDR                      159
-#define ERROR_BAD_ARGUMENTS                  160
-#define ERROR_BAD_PATHNAME                   161
-#define ERROR_SIGNAL_PENDING                 162
-#define ERROR_UNCERTAIN_MEDIA                163
-#define ERROR_MAX_THRDS_REACHED                      164
-#define ERROR_MONITORS_NOT_SUPPORTED         165
-#define ERROR_UNC_DRIVER_NOT_INSTALLED       166
-#define ERROR_LOCK_FAILED                    167
-#define ERROR_SWAPIO_FAILED                  168
-#define ERROR_SWAPIN_FAILED                  169
-#define ERROR_BUSY                           170
-#define ERROR_CANCEL_VIOLATION               173
-#define ERROR_ATOMIC_LOCK_NOT_SUPPORTED              174
-#define ERROR_READ_LOCKS_NOT_SUPPORTED       175
-#define ERROR_INVALID_SEGMENT_NUMBER         180
-#define ERROR_INVALID_CALLGATE               181
-#define ERROR_INVALID_ORDINAL                182
-#define ERROR_ALREADY_EXISTS                 183
-#define ERROR_NO_CHILD_PROCESS               184
-#define ERROR_CHILD_ALIVE_NOWAIT             185
-#define ERROR_INVALID_FLAG_NUMBER            186
-#define ERROR_SEM_NOT_FOUND                  187
-#define ERROR_INVALID_STARTING_CODESEG       188
-#define ERROR_INVALID_STACKSEG               189
-#define ERROR_INVALID_MODULETYPE             190
-#define ERROR_INVALID_EXE_SIGNATURE          191
-#define ERROR_EXE_MARKED_INVALID             192
-#define ERROR_BAD_EXE_FORMAT                 193
-#define ERROR_ITERATED_DATA_EXCEEDS_64K              194
-#define ERROR_INVALID_MINALLOCSIZE           195
-#define ERROR_DYNLINK_FROM_INVALID_RING              196
-#define ERROR_IOPL_NOT_ENABLED               197
-#define ERROR_INVALID_SEGDPL                 198
-#define ERROR_AUTODATASEG_EXCEEDS_64K        199
-#define ERROR_RING2SEG_MUST_BE_MOVABLE       200
-#define ERROR_RELOCSRC_CHAIN_EXCEEDS_SEGLIMIT 201
-#define ERROR_INFLOOP_IN_RELOC_CHAIN         202
-#define ERROR_ENVVAR_NOT_FOUND               203
-#define ERROR_NOT_CURRENT_CTRY               204
-#define ERROR_NO_SIGNAL_SENT                 205
-#define ERROR_FILENAME_EXCED_RANGE           206
-#define ERROR_RING2_STACK_IN_USE             207
-#define ERROR_META_EXPANSION_TOO_LONG        208
-#define ERROR_INVALID_SIGNAL_NUMBER          209
-#define ERROR_THREAD_1_INACTIVE                      210
-#define ERROR_INFO_NOT_AVAIL                 211
-#define ERROR_LOCKED                         212
-#define ERROR_BAD_DYNALINK                   213
-#define ERROR_TOO_MANY_MODULES               214
-#define ERROR_NESTING_NOT_ALLOWED            215
-#define ERROR_CANNOT_SHRINK                  216
-#define ERROR_ZOMBIE_PROCESS                 217
-#define ERROR_STACK_IN_HIGH_MEMORY           218
-#define ERROR_INVALID_EXITROUTINE_RING       219
-#define ERROR_GETBUF_FAILED                  220
-#define ERROR_FLUSHBUF_FAILED                221
-#define ERROR_TRANSFER_TOO_LONG                      222
-#define ERROR_FORCENOSWAP_FAILED             223
-#define ERROR_SMG_NO_TARGET_WINDOW           224
-#define ERROR_NO_CHILDREN                    228
-#define ERROR_INVALID_SCREEN_GROUP           229
-#define ERROR_BAD_PIPE                       230
-#define ERROR_PIPE_BUSY                              231
-#define ERROR_NO_DATA                        232
-#define ERROR_PIPE_NOT_CONNECTED             233
-#define ERROR_MORE_DATA                              234
-#define ERROR_VC_DISCONNECTED                240
-#define ERROR_CIRCULARITY_REQUESTED          250
-#define ERROR_DIRECTORY_IN_CDS               251
-#define ERROR_INVALID_FSD_NAME               252
-#define ERROR_INVALID_PATH                   253
-#define ERROR_INVALID_EA_NAME                254
-#define ERROR_EA_LIST_INCONSISTENT           255
-#define ERROR_EA_LIST_TOO_LONG               256
-#define ERROR_NO_META_MATCH                  257
-#define ERROR_FINDNOTIFY_TIMEOUT             258
-#define ERROR_NO_MORE_ITEMS                  259
-#define ERROR_SEARCH_STRUC_REUSED            260
-#define ERROR_CHAR_NOT_FOUND                 261
-#define ERROR_TOO_MUCH_STACK                 262
-#define ERROR_INVALID_ATTR                   263
-#define ERROR_INVALID_STARTING_RING          264
-#define ERROR_INVALID_DLL_INIT_RING          265
-#define ERROR_CANNOT_COPY                    266
-#define ERROR_DIRECTORY                              267
-#define ERROR_OPLOCKED_FILE                  268
-#define ERROR_OPLOCK_THREAD_EXISTS           269
-#define ERROR_VOLUME_CHANGED                 270
-#define ERROR_FINDNOTIFY_HANDLE_IN_USE       271
-#define ERROR_FINDNOTIFY_HANDLE_CLOSED       272
-#define ERROR_NOTIFY_OBJECT_REMOVED          273
-#define ERROR_ALREADY_SHUTDOWN               274
-#define ERROR_EAS_DIDNT_FIT                  275
-#define ERROR_EA_FILE_CORRUPT                276
-#define ERROR_EA_TABLE_FULL                  277
-#define ERROR_INVALID_EA_HANDLE                      278
-#define ERROR_NO_CLUSTER                     279
-#define ERROR_CREATE_EA_FILE                 280
-#define ERROR_CANNOT_OPEN_EA_FILE            281
-#define ERROR_EAS_NOT_SUPPORTED                      282
-#define ERROR_NEED_EAS_FOUND                 283
-#define ERROR_DUPLICATE_HANDLE               284
-#define ERROR_DUPLICATE_NAME                 285
-#define ERROR_EMPTY_MUXWAIT                  286
-#define ERROR_MUTEX_OWNED                    287
-#define ERROR_NOT_OWNER                              288
-#define ERROR_PARAM_TOO_SMALL                289
-#define ERROR_TOO_MANY_HANDLES               290
-#define ERROR_TOO_MANY_OPENS                 291
-#define ERROR_WRONG_TYPE                     292
-#define ERROR_UNUSED_CODE                    293
-#define ERROR_THREAD_NOT_TERMINATED          294
-#define ERROR_INIT_ROUTINE_FAILED            295
-#define ERROR_MODULE_IN_USE                  296
-#define ERROR_NOT_ENOUGH_WATCHPOINTS         297
-#define ERROR_TOO_MANY_POSTS                 298
-#define ERROR_ALREADY_POSTED                 299
-#define ERROR_ALREADY_RESET                  300
-#define ERROR_SEM_BUSY                       301
-#define ERROR_INVALID_PROCID                 303
-#define ERROR_INVALID_PDELTA                 304
-#define ERROR_NOT_DESCENDANT                 305
-#define ERROR_NOT_SESSION_MANAGER            306
-#define ERROR_INVALID_PCLASS                 307
-#define ERROR_INVALID_SCOPE                  308
-#define ERROR_INVALID_THREADID               309
-#define ERROR_DOSSUB_SHRINK                  310
-#define ERROR_DOSSUB_NOMEM                   311
-#define ERROR_DOSSUB_OVERLAP                 312
-#define ERROR_DOSSUB_BADSIZE                 313
-#define ERROR_DOSSUB_BADFLAG                 314
-#define ERROR_DOSSUB_BADSELECTOR             315
-#define ERROR_MR_MSG_TOO_LONG                316
-#define ERROR_MR_MID_NOT_FOUND               317
-#define ERROR_MR_UN_ACC_MSGF                 318
-#define ERROR_MR_INV_MSGF_FORMAT             319
-#define ERROR_MR_INV_IVCOUNT                 320
-#define ERROR_MR_UN_PERFORM                  321
-#define ERROR_TS_WAKEUP                              322
-#define ERROR_TS_SEMHANDLE                   323
-#define ERROR_TS_NOTIMER                     324
-#define ERROR_TS_HANDLE                              326
-#define ERROR_TS_DATETIME                    327
-#define ERROR_SYS_INTERNAL                   328
-#define ERROR_QUE_CURRENT_NAME               329
-#define ERROR_QUE_PROC_NOT_OWNED             330
-#define ERROR_QUE_PROC_OWNED                 331
-#define ERROR_QUE_DUPLICATE                  332
-#define ERROR_QUE_ELEMENT_NOT_EXIST          333
-#define ERROR_QUE_NO_MEMORY                  334
-#define ERROR_QUE_INVALID_NAME               335
-#define ERROR_QUE_INVALID_PRIORITY           336
-#define ERROR_QUE_INVALID_HANDLE             337
-#define ERROR_QUE_LINK_NOT_FOUND             338
-#define ERROR_QUE_MEMORY_ERROR               339
-#define ERROR_QUE_PREV_AT_END                340
-#define ERROR_QUE_PROC_NO_ACCESS             341
-#define ERROR_QUE_EMPTY                              342
-#define ERROR_QUE_NAME_NOT_EXIST             343
-#define ERROR_QUE_NOT_INITIALIZED            344
-#define ERROR_QUE_UNABLE_TO_ACCESS           345
-#define ERROR_QUE_UNABLE_TO_ADD                      346
-#define ERROR_QUE_UNABLE_TO_INIT             347
-#define ERROR_VIO_INVALID_MASK               349
-#define ERROR_VIO_PTR                        350
-#define ERROR_VIO_APTR                       351
-#define ERROR_VIO_RPTR                       352
-#define ERROR_VIO_CPTR                       353
-#define ERROR_VIO_LPTR                       354
-#define ERROR_VIO_MODE                       355
-#define ERROR_VIO_WIDTH                              356
-#define ERROR_VIO_ATTR                       357
-#define ERROR_VIO_ROW                        358
-#define ERROR_VIO_COL                        359
-#define ERROR_VIO_TOPROW                     360
-#define ERROR_VIO_BOTROW                     361
-#define ERROR_VIO_RIGHTCOL                   362
-#define ERROR_VIO_LEFTCOL                    363
-#define ERROR_SCS_CALL                       364
-#define ERROR_SCS_VALUE                              365
-#define ERROR_VIO_WAIT_FLAG                  366
-#define ERROR_VIO_UNLOCK                     367
-#define ERROR_SGS_NOT_SESSION_MGR            368
-#define ERROR_SMG_INVALID_SGID               369
-#define ERROR_SMG_INVALID_SESSION_ID         369 /*!*/
-#define ERROR_SMG_NOSG                       370
-#define ERROR_SMG_NO_SESSIONS                370 /*!*/
-#define ERROR_SMG_GRP_NOT_FOUND                      371
-#define ERROR_SMG_SESSION_NOT_FOUND          371 /*!*/
-#define ERROR_SMG_SET_TITLE                  372
-#define ERROR_KBD_PARAMETER                  373
-#define ERROR_KBD_NO_DEVICE                  374
-#define ERROR_KBD_INVALID_IOWAIT             375
-#define ERROR_KBD_INVALID_LENGTH             376
-#define ERROR_KBD_INVALID_ECHO_MASK          377
-#define ERROR_KBD_INVALID_INPUT_MASK         378
-#define ERROR_MON_INVALID_PARMS                      379
-#define ERROR_MON_INVALID_DEVNAME            380
-#define ERROR_MON_INVALID_HANDLE             381
-#define ERROR_MON_BUFFER_TOO_SMALL           382
-#define ERROR_MON_BUFFER_EMPTY               383
-#define ERROR_MON_DATA_TOO_LARGE             384
-#define ERROR_MOUSE_NO_DEVICE                385
-#define ERROR_MOUSE_INV_HANDLE               386
-#define ERROR_MOUSE_INV_PARMS                387
-#define ERROR_MOUSE_CANT_RESET               388
-#define ERROR_MOUSE_DISPLAY_PARMS            389
-#define ERROR_MOUSE_INV_MODULE               390
-#define ERROR_MOUSE_INV_ENTRY_PT             391
-#define ERROR_MOUSE_INV_MASK                 392
-#define NO_ERROR_MOUSE_NO_DATA               393
-#define NO_ERROR_MOUSE_PTR_DRAWN             394
-#define ERROR_INVALID_FREQUENCY                      395
-#define ERROR_NLS_NO_COUNTRY_FILE            396
-#define ERROR_NLS_OPEN_FAILED                397
-#define ERROR_NLS_NO_CTRY_CODE               398
-#define ERROR_NLS_TABLE_TRUNCATED            399
-#define ERROR_NLS_BAD_TYPE                   400
-#define ERROR_NLS_TYPE_NOT_FOUND             401
-#define ERROR_VIO_SMG_ONLY                   402
-#define ERROR_VIO_INVALID_ASCIIZ             403
-#define ERROR_VIO_DEREGISTER                 404
-#define ERROR_VIO_NO_POPUP                   405
-#define ERROR_VIO_EXISTING_POPUP             406
-#define ERROR_KBD_SMG_ONLY                   407
-#define ERROR_KBD_INVALID_ASCIIZ             408
-#define ERROR_KBD_INVALID_MASK               409
-#define ERROR_KBD_REGISTER                   410
-#define ERROR_KBD_DEREGISTER                 411
-#define ERROR_MOUSE_SMG_ONLY                 412
-#define ERROR_MOUSE_INVALID_ASCIIZ           413
-#define ERROR_MOUSE_INVALID_MASK             414
-#define ERROR_MOUSE_REGISTER                 415
-#define ERROR_MOUSE_DEREGISTER               416
-#define ERROR_SMG_BAD_ACTION                 417
-#define ERROR_SMG_INVALID_CALL               418
-#define ERROR_SCS_SG_NOTFOUND                419
-#define ERROR_SCS_NOT_SHELL                  420
-#define ERROR_VIO_INVALID_PARMS                      421
-#define ERROR_VIO_FUNCTION_OWNED             422
-#define ERROR_VIO_RETURN                     423
-#define ERROR_SCS_INVALID_FUNCTION           424
-#define ERROR_SCS_NOT_SESSION_MGR            425
-#define ERROR_VIO_REGISTER                   426
-#define ERROR_VIO_NO_MODE_THREAD             427
-#define ERROR_VIO_NO_SAVE_RESTORE_THD        428
-#define ERROR_VIO_IN_BG                              429
-#define ERROR_VIO_ILLEGAL_DURING_POPUP       430
-#define ERROR_SMG_NOT_BASESHELL                      431
-#define ERROR_SMG_BAD_STATUSREQ                      432
-#define ERROR_QUE_INVALID_WAIT               433
-#define ERROR_VIO_LOCK                       434
-#define ERROR_MOUSE_INVALID_IOWAIT           435
-#define ERROR_VIO_INVALID_HANDLE             436
-#define ERROR_VIO_ILLEGAL_DURING_LOCK        437
-#define ERROR_VIO_INVALID_LENGTH             438
-#define ERROR_KBD_INVALID_HANDLE             439
-#define ERROR_KBD_NO_MORE_HANDLE             440
-#define ERROR_KBD_CANNOT_CREATE_KCB          441
-#define ERROR_KBD_CODEPAGE_LOAD_INCOMPL              442
-#define ERROR_KBD_INVALID_CODEPAGE_ID        443
-#define ERROR_KBD_NO_CODEPAGE_SUPPORT        444
-#define ERROR_KBD_FOCUS_REQUIRED             445
-#define ERROR_KBD_FOCUS_ALREADY_ACTIVE       446
-#define ERROR_KBD_KEYBOARD_BUSY                      447
-#define ERROR_KBD_INVALID_CODEPAGE           448
-#define ERROR_KBD_UNABLE_TO_FOCUS            449
-#define ERROR_SMG_SESSION_NON_SELECT         450
-#define ERROR_SMG_SESSION_NOT_FOREGRND       451
-#define ERROR_SMG_SESSION_NOT_PARENT         452
-#define ERROR_SMG_INVALID_START_MODE         453
-#define ERROR_SMG_INVALID_RELATED_OPT        454
-#define ERROR_SMG_INVALID_BOND_OPTION        455
-#define ERROR_SMG_INVALID_SELECT_OPT         456
-#define ERROR_SMG_START_IN_BACKGROUND        457
-#define ERROR_SMG_INVALID_STOP_OPTION        458
-#define ERROR_SMG_BAD_RESERVE                459
-#define ERROR_SMG_PROCESS_NOT_PARENT         460
-#define ERROR_SMG_INVALID_DATA_LENGTH        461
-#define ERROR_SMG_NOT_BOUND                  462
-#define ERROR_SMG_RETRY_SUB_ALLOC            463
-#define ERROR_KBD_DETACHED                   464
-#define ERROR_VIO_DETACHED                   465
-#define ERROR_MOU_DETACHED                   466
-#define ERROR_VIO_FONT                       467
-#define ERROR_VIO_USER_FONT                  468
-#define ERROR_VIO_BAD_CP                     469
-#define ERROR_VIO_NO_CP                              470
-#define ERROR_VIO_NA_CP                              471
-#define ERROR_INVALID_CODE_PAGE                      472
-#define ERROR_CPLIST_TOO_SMALL               473
-#define ERROR_CP_NOT_MOVED                   474
-#define ERROR_MODE_SWITCH_INIT               475
-#define ERROR_CODE_PAGE_NOT_FOUND            476
-#define ERROR_UNEXPECTED_SLOT_RETURNED       477
-#define ERROR_SMG_INVALID_TRACE_OPTION       478
-#define ERROR_VIO_INTERNAL_RESOURCE          479
-#define ERROR_VIO_SHELL_INIT                 480
-#define ERROR_SMG_NO_HARD_ERRORS             481
-#define ERROR_CP_SWITCH_INCOMPLETE           482
-#define ERROR_VIO_TRANSPARENT_POPUP          483
-#define ERROR_CRITSEC_OVERFLOW               484
-#define ERROR_CRITSEC_UNDERFLOW                      485
-#define ERROR_VIO_BAD_RESERVE                486
-#define ERROR_INVALID_ADDRESS                487
-#define ERROR_ZERO_SELECTORS_REQUESTED       488
-#define ERROR_NOT_ENOUGH_SELECTORS_AVA       489
-#define ERROR_INVALID_SELECTOR               490
-#define ERROR_SMG_INVALID_PROGRAM_TYPE       491
-#define ERROR_SMG_INVALID_PGM_CONTROL        492
-#define ERROR_SMG_INVALID_INHERIT_OPT        493
-#define ERROR_VIO_EXTENDED_SG                494
-#define ERROR_VIO_NOT_PRES_MGR_SG            495
-#define ERROR_VIO_SHIELD_OWNED               496
-#define ERROR_VIO_NO_MORE_HANDLES            497
-#define ERROR_VIO_SEE_ERROR_LOG                      498
-#define ERROR_VIO_ASSOCIATED_DC                      499
-#define ERROR_KBD_NO_CONSOLE                 500
-#define ERROR_MOUSE_NO_CONSOLE               501
-#define ERROR_MOUSE_INVALID_HANDLE           502
-#define ERROR_SMG_INVALID_DEBUG_PARMS        503
-#define ERROR_KBD_EXTENDED_SG                504
-#define ERROR_MOU_EXTENDED_SG                505
-#define ERROR_SMG_INVALID_ICON_FILE          506
-#define ERROR_TRC_PID_NON_EXISTENT           507
-#define ERROR_TRC_COUNT_ACTIVE               508
-#define ERROR_TRC_SUSPENDED_BY_COUNT         509
-#define ERROR_TRC_COUNT_INACTIVE             510
-#define ERROR_TRC_COUNT_REACHED                      511
-#define ERROR_NO_MC_TRACE                    512
-#define ERROR_MC_TRACE                       513
-#define ERROR_TRC_COUNT_ZERO                 514
-#define ERROR_SMG_TOO_MANY_DDS               515
-#define ERROR_SMG_INVALID_NOTIFICATION       516
-#define ERROR_LF_INVALID_FUNCTION            517
-#define ERROR_LF_NOT_AVAIL                   518
-#define ERROR_LF_SUSPENDED                   519
-#define ERROR_LF_BUF_TOO_SMALL               520
-#define ERROR_LF_BUFFER_CORRUPTED            521
-#define ERROR_LF_BUFFER_FULL                 521 /*!*/
-#define ERROR_LF_INVALID_DAEMON                      522
-#define ERROR_LF_INVALID_RECORD                      522 /*!*/
-#define ERROR_LF_INVALID_TEMPL               523
-#define ERROR_LF_INVALID_SERVICE             523 /*!*/
-#define ERROR_LF_GENERAL_FAILURE             524
-#define ERROR_LF_INVALID_ID                  525
-#define ERROR_LF_INVALID_HANDLE                      526
-#define ERROR_LF_NO_ID_AVAIL                 527
-#define ERROR_LF_TEMPLATE_AREA_FULL          528
-#define ERROR_LF_ID_IN_USE                   529
-#define ERROR_MOU_NOT_INITIALIZED            530
-#define ERROR_MOUINITREAL_DONE               531
-#define ERROR_DOSSUB_CORRUPTED               532
-#define ERROR_MOUSE_CALLER_NOT_SUBSYS        533
-#define ERROR_ARITHMETIC_OVERFLOW            534
-#define ERROR_TMR_NO_DEVICE                  535
-#define ERROR_TMR_INVALID_TIME               536
-#define ERROR_PVW_INVALID_ENTITY             537
-#define ERROR_PVW_INVALID_ENTITY_TYPE        538
-#define ERROR_PVW_INVALID_SPEC               539
-#define ERROR_PVW_INVALID_RANGE_TYPE         540
-#define ERROR_PVW_INVALID_COUNTER_BLK        541
-#define ERROR_PVW_INVALID_TEXT_BLK           542
-#define ERROR_PRF_NOT_INITIALIZED            543
-#define ERROR_PRF_ALREADY_INITIALIZED        544
-#define ERROR_PRF_NOT_STARTED                545
-#define ERROR_PRF_ALREADY_STARTED            546
-#define ERROR_PRF_TIMER_OUT_OF_RANGE         547
-#define ERROR_PRF_TIMER_RESET                548
-#define ERROR_VDD_LOCK_USEAGE_DENIED         639
-#define ERROR_TIMEOUT                        640
-#define ERROR_VDM_DOWN                       641
-#define ERROR_VDM_LIMIT                              642
-#define ERROR_VDD_NOT_FOUND                  643
-#define ERROR_INVALID_CALLER                 644
-#define ERROR_PID_MISMATCH                   645
-#define ERROR_INVALID_VDD_HANDLE             646
-#define ERROR_VLPT_NO_SPOOLER                647
-#define ERROR_VCOM_DEVICE_BUSY               648
-#define ERROR_VLPT_DEVICE_BUSY               649
-#define ERROR_NESTING_TOO_DEEP               650
-#define ERROR_VDD_MISSING                    651
-#define ERROR_BIDI_INVALID_LENGTH            671
-#define ERROR_BIDI_INVALID_INCREMENT         672
-#define ERROR_BIDI_INVALID_COMBINATION       673
-#define ERROR_BIDI_INVALID_RESERVED          674
-#define ERROR_BIDI_INVALID_EFFECT            675
-#define ERROR_BIDI_INVALID_CSDREC            676
-#define ERROR_BIDI_INVALID_CSDSTATE          677
-#define ERROR_BIDI_INVALID_LEVEL             678
-#define ERROR_BIDI_INVALID_TYPE_SUPPORT              679
-#define ERROR_BIDI_INVALID_ORIENTATION       680
-#define ERROR_BIDI_INVALID_NUM_SHAPE         681
-#define ERROR_BIDI_INVALID_CSD               682
-#define ERROR_BIDI_NO_SUPPORT                683
-#define NO_ERROR_BIDI_RW_INCOMPLETE          684
-#define ERROR_IMP_INVALID_PARM               691
-#define ERROR_IMP_INVALID_LENGTH             692
-#define ERROR_MON_BAD_BUFFER                 730
-#define ERROR_MODULE_CORRUPTED               731
-#define ERROR_SM_OUTOF_SWAPFILE                     1477
-#define ERROR_LF_TIMEOUT                    2055
-#define ERROR_LF_SUSPEND_SUCCESS            2057
-#define ERROR_LF_RESUME_SUCCESS                     2058
-#define ERROR_LF_REDIRECT_SUCCESS           2059
-#define ERROR_LF_REDIRECT_FAILURE           2060
-#define ERROR_SWAPPER_NOT_ACTIVE           32768
-#define ERROR_INVALID_SWAPID               32769
-#define ERROR_IOERR_SWAP_FILE              32770
-#define ERROR_SWAP_TABLE_FULL              32771
-#define ERROR_SWAP_FILE_FULL               32772
-#define ERROR_CANT_INIT_SWAPPER                    32773
-#define ERROR_SWAPPER_ALREADY_INIT         32774
-#define ERROR_PMM_INSUFFICIENT_MEMORY      32775
-#define ERROR_PMM_INVALID_FLAGS                    32776
-#define ERROR_PMM_INVALID_ADDRESS          32777
-#define ERROR_PMM_LOCK_FAILED              32778
-#define ERROR_PMM_UNLOCK_FAILED                    32779
-#define ERROR_PMM_MOVE_INCOMPLETE          32780
-#define ERROR_UCOM_DRIVE_RENAMED           32781
-#define ERROR_UCOM_FILENAME_TRUNCATED      32782
-#define ERROR_UCOM_BUFFER_LENGTH           32783
-#define ERROR_MON_CHAIN_HANDLE             32784
-#define ERROR_MON_NOT_REGISTERED           32785
-#define ERROR_SMG_ALREADY_TOP              32786
-#define ERROR_PMM_ARENA_MODIFIED           32787
-#define ERROR_SMG_PRINTER_OPEN             32788
-#define ERROR_PMM_SET_FLAGS_FAILED         32789
-#define ERROR_INVALID_DOS_DD               32790
-#define ERROR_BLOCKED                      32791
-#define ERROR_NOBLOCK                      32792
-#define ERROR_INSTANCE_SHARED              32793
-#define ERROR_NO_OBJECT                            32794
-#define ERROR_PARTIAL_ATTACH               32795
-#define ERROR_INCACHE                      32796
-#define ERROR_SWAP_IO_PROBLEMS             32797
-#define ERROR_CROSSES_OBJECT_BOUNDARY      32798
-#define ERROR_LONGLOCK                     32799
-#define ERROR_SHORTLOCK                            32800
-#define ERROR_UVIRTLOCK                            32801
-#define ERROR_ALIASLOCK                            32802
-#define ERROR_ALIAS                        32803
-#define ERROR_NO_MORE_HANDLES              32804
-#define ERROR_SCAN_TERMINATED              32805
-#define ERROR_TERMINATOR_NOT_FOUND         32806
-#define ERROR_NOT_DIRECT_CHILD             32807
-#define ERROR_DELAY_FREE                   32808
-#define ERROR_GUARDPAGE                            32809
-#define ERROR_SWAPERROR                            32900
-#define ERROR_LDRERROR                     32901
-#define ERROR_NOMEMORY                     32902
-#define ERROR_NOACCESS                     32903
-#define ERROR_NO_DLL_TERM                  32904
-#define ERROR_CPSIO_CODE_PAGE_INVALID      65026
-#define ERROR_CPSIO_NO_SPOOLER             65027
-#define ERROR_CPSIO_FONT_ID_INVALID        65028
-#define ERROR_CPSIO_INTERNAL_ERROR         65033
-#define ERROR_CPSIO_INVALID_PTR_NAME       65034
-#define ERROR_CPSIO_NOT_ACTIVE             65037
-#define ERROR_CPSIO_PID_FULL               65039
-#define ERROR_CPSIO_PID_NOT_FOUND          65040
-#define ERROR_CPSIO_READ_CTL_SEQ           65043
-#define ERROR_CPSIO_READ_FNT_DEF           65045
-#define ERROR_CPSIO_WRITE_ERROR                    65047
-#define ERROR_CPSIO_WRITE_FULL_ERROR       65048
-#define ERROR_CPSIO_WRITE_HANDLE_BAD       65049
-#define ERROR_CPSIO_SWIT_LOAD              65074
-#define ERROR_CPSIO_INV_COMMAND                    65077
-#define ERROR_CPSIO_NO_FONT_SWIT           65078
-#define ERROR_ENTRY_IS_CALLGATE                    65079
-
-#endif /* INCL_DOSERRORS */
-
-/* ----------------------------- ERRORS ----------------------------------- */
-
-#if defined (INCL_DOSERRORS)
-
-#define ERRACT_RETRY           1
-#define ERRACT_DLYRET          2
-#define ERRACT_USER            3
-#define ERRACT_ABORT           4
-#define ERRACT_PANIC           5
-#define ERRACT_IGNORE          6
-#define ERRACT_INTRET          7
-
-#define ERRCLASS_OUTRES                1
-#define ERRCLASS_TEMPSIT       2
-#define ERRCLASS_AUTH          3
-#define ERRCLASS_INTRN         4
-#define ERRCLASS_HRDFAIL       5
-#define ERRCLASS_SYSFAIL       6
-#define ERRCLASS_APPERR                7
-#define ERRCLASS_NOTFND                8
-#define ERRCLASS_BADFMT                9
-#define ERRCLASS_LOCKED                10
-#define ERRCLASS_MEDIA         11
-#define ERRCLASS_ALREADY       12
-#define ERRCLASS_UNK           13
-#define ERRCLASS_CANT          14
-#define ERRCLASS_TIME          15
-
-#define ERRLOC_UNK             1
-#define ERRLOC_DISK            2
-#define ERRLOC_NET             3
-#define ERRLOC_SERDEV          4
-#define ERRLOC_MEM             5
-
-#endif /* INCL_DOSERRORS */
-
-#if defined (INCL_DOSMISC)
-
-#define FERR_DISABLEHARDERR    0x0000L
-#define FERR_ENABLEHARDERR     0x0001L
-#define FERR_ENABLEEXCEPTION   0x0000L
-#define FERR_DISABLEEXCEPTION  0x0002L
-
-#define BEGIN_LIBPATH          1
-#define END_LIBPATH            2
-
-ULONG DosErrClass (ULONG ulCode, PULONG pulClass, PULONG pulAction,
-    PULONG pulLocus);
-ULONG DosError (ULONG ulError);
-ULONG DosQueryExtLIBPATH (PCSZ pszExtLIBPATH, ULONG flags);
-ULONG DosSetExtLIBPATH (PCSZ pszExtLIBPATH, ULONG flags);
-
-#endif /* INCL_DOSMISC */
-
-/* ----------------------------- FONTS ------------------------------------ */
-
-#define FACESIZE 32
-
-#define FATTR_SEL_ITALIC               0x0001
-#define FATTR_SEL_UNDERSCORE           0x0002
-#define FATTR_SEL_OUTLINE              0x0008
-#define FATTR_SEL_STRIKEOUT            0x0010
-#define FATTR_SEL_BOLD                 0x0020
-
-#define FATTR_TYPE_KERNING             0x0004
-#define FATTR_TYPE_MBCS                        0x0008
-#define FATTR_TYPE_DBCS                        0x0010
-#define FATTR_TYPE_ANTIALIASED         0x0020
-
-#define FATTR_FONTUSE_NOMIX            0x0002
-#define FATTR_FONTUSE_OUTLINE          0x0004
-#define FATTR_FONTUSE_TRANSFORMABLE    0x0008
-
-#define FM_TYPE_FIXED                  0x0001
-#define FM_TYPE_LICENSED               0x0002
-#define FM_TYPE_KERNING                        0x0004
-#define FM_TYPE_DBCS                   0x0010
-#define FM_TYPE_MBCS                   0x0018
-#define FM_TYPE_64K                    0x8000
-#define FM_TYPE_ATOMS                  0x4000
-#define FM_TYPE_FAMTRUNC               0x2000
-#define FM_TYPE_FACETRUNC              0x1000
-
-#define FM_DEFN_OUTLINE                        0x0001
-#define FM_DEFN_IFI                    0x0002
-#define FM_DEFN_WIN                    0x0004
-#define FM_DEFN_GENERIC                        0x8000
-
-#define FM_SEL_ITALIC                  0x0001
-#define FM_SEL_UNDERSCORE              0x0002
-#define FM_SEL_NEGATIVE                        0x0004
-#define FM_SEL_OUTLINE                 0x0008
-#define FM_SEL_STRIKEOUT               0x0010
-#define FM_SEL_BOLD                    0x0020
-#define FM_SEL_ISO9241_TESTED          0x0040
-
-#define FM_CAP_NOMIX                   0x0001
-
-#define FM_ISO_9518_640                        0x01
-#define FM_ISO_9515_640                        0x02
-#define FM_ISO_9515_1024               0x04
-#define FM_ISO_9517_640                        0x08
-#define FM_ISO_9517_1024               0x10
-
-
-typedef struct _PANOSE
-{
-  BYTE bFamilyType;
-  BYTE bSerifStyle;
-  BYTE bWeight;
-  BYTE bProportion;
-  BYTE bContrast;
-  BYTE bStrokeVariation;
-  BYTE bArmStyle;
-  BYTE bLetterform;
-  BYTE bMidline;
-  BYTE bXHeight;
-  BYTE fbPassedISO;
-  BYTE fbFailedISO;
-} PANOSE;
-
-typedef struct _FONTMETRICS
-{
-  CHAR  szFamilyname[FACESIZE];
-  CHAR  szFacename[FACESIZE];
-  USHORT idRegistry;
-  USHORT usCodePage;
-  LONG  lEmHeight;
-  LONG  lXHeight;
-  LONG  lMaxAscender;
-  LONG  lMaxDescender;
-  LONG  lLowerCaseAscent;
-  LONG  lLowerCaseDescent;
-  LONG  lInternalLeading;
-  LONG  lExternalLeading;
-  LONG  lAveCharWidth;
-  LONG  lMaxCharInc;
-  LONG  lEmInc;
-  LONG  lMaxBaselineExt;
-  SHORT         sCharSlope;
-  SHORT         sInlineDir;
-  SHORT         sCharRot;
-  USHORT usWeightClass;
-  USHORT usWidthClass;
-  SHORT         sXDeviceRes;
-  SHORT         sYDeviceRes;
-  SHORT         sFirstChar;
-  SHORT         sLastChar;
-  SHORT         sDefaultChar;
-  SHORT         sBreakChar;
-  SHORT         sNominalPointSize;
-  SHORT         sMinimumPointSize;
-  SHORT         sMaximumPointSize;
-  USHORT fsType;
-  USHORT fsDefn;
-  USHORT fsSelection;
-  USHORT fsCapabilities;
-  LONG  lSubscriptXSize;
-  LONG  lSubscriptYSize;
-  LONG  lSubscriptXOffset;
-  LONG  lSubscriptYOffset;
-  LONG  lSuperscriptXSize;
-  LONG  lSuperscriptYSize;
-  LONG  lSuperscriptXOffset;
-  LONG  lSuperscriptYOffset;
-  LONG  lUnderscoreSize;
-  LONG  lUnderscorePosition;
-  LONG  lStrikeoutSize;
-  LONG  lStrikeoutPosition;
-  SHORT         sKerningPairs;
-  SHORT         sFamilyClass;
-  LONG  lMatch;
-  LONG  FamilyNameAtom;
-  LONG  FaceNameAtom;
-  PANOSE panose;
-} FONTMETRICS;
-typedef FONTMETRICS *PFONTMETRICS;
-
-typedef struct _FATTRS
-{
-  USHORT usRecordLength;
-  USHORT fsSelection;
-  LONG  lMatch;
-  CHAR  szFacename[FACESIZE];
-  USHORT idRegistry;
-  USHORT usCodePage;
-  LONG  lMaxBaselineExt;
-  LONG  lAveCharWidth;
-  USHORT fsType;
-  USHORT fsFontUse;
-} FATTRS;
-typedef FATTRS *PFATTRS;
-
-/* ------------------------- MEMORY MANAGEMENT ---------------------------- */
-
-#if defined (INCL_DOSMEMMGR) || !defined (INCL_NOCOMMON)
-
-#define PAG_READ               0x0001
-#define PAG_WRITE              0x0002
-#define PAG_EXECUTE            0x0004
-#define PAG_GUARD              0x0008
-#define PAG_COMMIT             0x0010
-#define PAG_DECOMMIT           0x0020
-#define OBJ_TILE               0x0040
-#define OBJ_PROTECTED          0x0080
-#define OBJ_GETTABLE           0x0100
-#define OBJ_GIVEABLE           0x0200
-#define PAG_DEFAULT            0x0400
-#define PAG_SHARED             0x2000
-#define PAG_FREE               0x4000
-#define PAG_BASE               0x00010000
-
-#define DOSSUB_INIT            0x0001
-#define DOSSUB_GROW            0x0002
-#define DOSSUB_SPARSE_OBJ      0x0004
-#define DOSSUB_SERIALIZE       0x0008
-
-#define fPERM                  (PAG_EXECUTE | PAG_READ | PAG_WRITE)
-#define fSHARE                 (OBJ_GETTABLE | OBJ_GIVEABLE)
-#define fALLOC                 (fPERM | OBJ_TILE | PAG_COMMIT)
-#define fALLOCSHR              (fPERM | fSHARE | OBJ_TILE | PAG_COMMIT)
-#define fGETNMSHR              (fPERM)
-#define fGETSHR                        (fPERM)
-#define fGIVESHR               (fPERM)
-#define fSET                   (fPERM|PAG_COMMIT|PAG_DECOMMIT|PAG_DEFAULT)
-
-ULONG DosAllocMem (PPVOID pBaseAddress, ULONG ulObjectSize,
-    ULONG ulAllocationFlags);
-ULONG DosAllocSharedMem (PPVOID pBaseAddress, PCSZ pszName,
-    ULONG ulObjectSize, ULONG ulAllocationFlags);
-ULONG DosFreeMem (PVOID pBaseAddress);
-ULONG DosGetNamedSharedMem (PPVOID pBaseAddress, PCSZ pszSharedMemName,
-    ULONG ulAttributeFlags);
-ULONG DosGetSharedMem (CPVOID pBaseAddress, ULONG ulAttributeFlags);
-ULONG DosGiveSharedMem (CPVOID pBaseAddress, PID idProcessId,
-    ULONG ulAttributeFlags);
-ULONG DosQueryMem (CPVOID pBaseAddress, PULONG pulRegionSize,
-    PULONG pulAllocationFlags);
-ULONG DosSetMem (CPVOID pBaseAddress, ULONG ulRegionSize,
-    ULONG ulAttributeFlags);
-ULONG DosSubAllocMem (PVOID pOffset, PPVOID pBlockOffset, ULONG ulSize);
-ULONG DosSubFreeMem (PVOID pOffset, PVOID pBlockOffset, ULONG ulSize);
-ULONG DosSubSetMem (PVOID pOffset, ULONG ulFlags, ULONG ulSize);
-ULONG DosSubUnsetMem (PVOID pOffset);
-
-#endif /* INCL_DOSMEMMGR || !INCL_NOCOMMON */
-
-/* --------------------------- FILE SYSTEM -------------------------------- */
-
-#define CCHMAXPATH                     260
-#define CCHMAXPATHCOMP                 256
-
-#if defined (INCL_DOSMISC)
-#define DSP_IMPLIEDCUR                 1
-#define DSP_PATHREF                    2
-#define DSP_IGNORENETERR               4
-#endif
-
-#if defined (INCL_DOSFILEMGR) || !defined (INCL_NOCOMMON)
-
-#define DCPY_EXISTING                  0x0001
-#define DCPY_APPEND                    0x0002
-#define DCPY_FAILEAS                   0x0004
-
-#define DSPI_WRTTHRU                   0x0010
-
-#define EAT_BINARY                     0xfffe
-#define EAT_ASCII                      0xfffd
-#define EAT_BITMAP                     0xfffb
-#define EAT_METAFILE                   0xfffa
-#define EAT_ICON                       0xfff9
-#define EAT_EA                         0xffee
-#define EAT_MVMT                       0xffdf
-#define EAT_MVST                       0xffde
-#define EAT_ASN1                       0xffdd
-
-#define ENUMEA_LEVEL_NO_VALUE          1
-
-#define ENUMEA_REFTYPE_FHANDLE         0
-#define ENUMEA_REFTYPE_PATH            1
-#define ENUMEA_REFTYPE_MAX             ENUMEA_REFTYPE_PATH
-
-#define ENUMEA_REFTYPE_FHANDLE         0
-#define ENUMEA_REFTYPE_PATH            1
-
-#define FEA_NEEDEA                     0x80
-
-#define FHB_DSKREMOTE                  0x8000
-#define FHB_CHRDEVREMOTE               0x8000
-#define FHB_PIPEREMOTE                 0x8000
-
-#define FHT_DISKFILE                   0x0000
-#define FHT_CHRDEV                     0x0001
-#define FHT_PIPE                       0x0002
-
-#define FIL_STANDARD                   1
-#define FIL_QUERYEASIZE                        2
-#define FIL_QUERYEASFROMLIST           3
-#define FIL_QUERYFULLNAME              5 /* DosQueryPathInfo */
-
-#define FILE_BEGIN                     0
-#define FILE_CURRENT                   1
-#define FILE_END                       2
-
-#define FILE_NORMAL                    0x0000
-#define FILE_READONLY                  0x0001
-#define FILE_HIDDEN                    0x0002
-#define FILE_SYSTEM                    0x0004
-#define FILE_DIRECTORY                 0x0010
-#define FILE_ARCHIVED                  0x0020
-
-#define FILE_IGNORE                    0x10000
-
-#define FILE_EXISTED                   0x0001
-#define FILE_CREATED                   0x0002
-#define FILE_TRUNCATED                 0x0003
-
-#define FILE_OPEN                      0x0001
-#define FILE_TRUNCATE                  0x0002
-#define FILE_CREATE                    0x0010
-
-#define FS_ATTACH                      0
-#define FS_DETACH                      1
-#define FS_SPOOLATTACH                 2
-#define FS_SPOOLDETACH                 3
-
-#define FSAIL_QUERYNAME                        1
-#define FSAIL_DEVNUMBER                        2
-#define FSAIL_DRVNUMBER                        3
-
-#define FSAT_CHARDEV                   1
-#define FSAT_PSEUDODEV                 2
-#define FSAT_LOCALDRV                  3
-#define FSAT_REMOTEDRV                 4
-
-#define FSCTL_HANDLE                   1
-#define FSCTL_PATHNAME                 2
-#define FSCTL_FSDNAME                  3
-
-#define FSCTL_ERROR_INFO               1
-#define FSCTL_MAX_EASIZE               2
-#define FSCTL_GET_NEXT_ROUTE_NAME      3
-#define FSCTL_DAEMON_QUERY             4
-
-#define FSCTL_QUERY_COMPLETE           0
-#define FSCTL_QUERY_AGAIN              1
-
-#define FSIL_ALLOC                     1
-#define FSIL_VOLSER                    2
-
-#define HANDTYPE_FILE                  0x0000
-#define HANDTYPE_DEVICE                        0x0001
-#define HANDTYPE_PIPE                  0x0002
-#define HANDTYPE_PROTECTED             0x4000
-#define HANDTYPE_NETWORK               0x8000
-
-#define HDIR_SYSTEM                    1
-#define HDIR_CREATE                    ((HDIR)-1)
-
-#define MUST_HAVE_READONLY     (FILE_READONLY  | (FILE_READONLY  << 8))
-#define MUST_HAVE_HIDDEN       (FILE_HIDDEN    | (FILE_HIDDEN    << 8))
-#define MUST_HAVE_SYSTEM       (FILE_SYSTEM    | (FILE_SYSTEM    << 8))
-#define MUST_HAVE_DIRECTORY    (FILE_DIRECTORY | (FILE_DIRECTORY << 8))
-#define MUST_HAVE_ARCHIVED     (FILE_ARCHIVED  | (FILE_ARCHIVED  << 8))
-
-#define OPEN_ACTION_FAIL_IF_EXISTS     0x0000
-#define OPEN_ACTION_OPEN_IF_EXISTS     0x0001
-#define OPEN_ACTION_REPLACE_IF_EXISTS  0x0002
-#define OPEN_ACTION_FAIL_IF_NEW               0x0000
-#define OPEN_ACTION_CREATE_IF_NEW      0x0010
-
-#define OPEN_ACCESS_READONLY          0x0000
-#define OPEN_ACCESS_WRITEONLY         0x0001
-#define OPEN_ACCESS_READWRITE         0x0002
-
-#define OPEN_SHARE_DENYREADWRITE       0x0010
-#define OPEN_SHARE_DENYWRITE          0x0020
-#define OPEN_SHARE_DENYREAD           0x0030
-#define OPEN_SHARE_DENYNONE           0x0040
-
-#define OPEN_FLAGS_NOINHERIT          0x0080
-#define OPEN_FLAGS_NO_LOCALITY        0x0000
-#define OPEN_FLAGS_SEQUENTIAL         0x0100
-#define OPEN_FLAGS_RANDOM             0x0200
-#define OPEN_FLAGS_RANDOMSEQUENTIAL    0x0300
-#define OPEN_FLAGS_NO_CACHE           0x1000
-#define OPEN_FLAGS_FAIL_ON_ERROR       0x2000
-#define OPEN_FLAGS_WRITE_THROUGH       0x4000
-#define OPEN_FLAGS_DASD                       0x8000
-#define OPEN_FLAGS_NONSPOOLED         0x40000
-#define OPEN_FLAGS_PROTECTED_HANDLE    0x40000000
-
-#define SEARCH_PATH                    0x0000
-#define SEARCH_CUR_DIRECTORY           0x0001
-#define SEARCH_ENVIRONMENT             0x0002
-#define SEARCH_IGNORENETERRS           0x0004
-
-
-typedef LHANDLE HFILE;
-typedef HFILE *PHFILE;
-
-typedef ULONG FHLOCK;
-typedef PULONG PFHLOCK;
-
-typedef LHANDLE HDIR;
-typedef HDIR *PHDIR;
-
-
-typedef struct _FTIME
-{
-  USHORT twosecs : 5;
-  USHORT minutes : 6;
-  USHORT hours  : 5;
-} FTIME;
-typedef FTIME *PFTIME;
-
-typedef struct _FDATE
-{
-  USHORT day   : 5;
-  USHORT month : 4;
-  USHORT year  : 7;
-} FDATE;
-typedef FDATE *PFDATE;
-
-typedef struct _FEA
-{
-  BYTE  fEA;
-  BYTE  cbName;
-  USHORT cbValue;
-} FEA;
-typedef FEA *PFEA;
-
-typedef struct _FEALIST
-{
-  ULONG cbList;
-  FEA  list[1];
-} FEALIST;
-typedef FEALIST *PFEALIST;
-
-typedef struct _GEA
-{
-  BYTE cbName;
-  CHAR szName[1];
-} GEA;
-typedef GEA *PGEA;
-
-typedef struct _GEALIST
-{
-  ULONG cbList;
-  GEA  list[1];
-} GEALIST;
-typedef GEALIST *PGEALIST;
-
-typedef struct _EAOP
-{
-  PGEALIST fpGEAList;
-  PFEALIST fpFEAList;
-  ULONG           oError;
-} EAOP;
-typedef EAOP *PEAOP;
-
-typedef struct _FEA2
-{
-  ULONG         oNextEntryOffset;
-  BYTE  fEA;
-  BYTE  cbName;
-  USHORT cbValue;
-  CHAR  szName[1];
-} FEA2;
-typedef FEA2 *PFEA2;
-
-typedef struct _FEA2LIST
-{
-  ULONG cbList;
-  FEA2 list[1];
-} FEA2LIST;
-typedef FEA2LIST *PFEA2LIST;
-
-typedef struct _GEA2
-{
-  ULONG oNextEntryOffset;
-  BYTE cbName;
-  CHAR szName[1];
-} GEA2;
-typedef GEA2 *PGEA2;
-
-typedef struct _GEA2LIST
-{
-  ULONG cbList;
-  GEA2 list[1];
-} GEA2LIST;
-typedef GEA2LIST *PGEA2LIST;
-
-typedef struct _EAOP2
-{
-  PGEA2LIST fpGEA2List;
-  PFEA2LIST fpFEA2List;
-  ULONG            oError;
-} EAOP2;
-typedef EAOP2 *PEAOP2;
-
-typedef struct _DENA1
-{
-  UCHAR         reserved;
-  UCHAR         cbName;
-  USHORT cbValue;
-  UCHAR         szName[1];
-} DENA1;
-typedef DENA1 *PDENA1;
-
-typedef FEA2 DENA2;
-typedef PFEA2 PDENA2;
-
-typedef struct _EASIZEBUF
-{
-  USHORT cbMaxEASize;
-  ULONG         cbMaxEAListSize;       /* Packed? */
-} EASIZEBUF;
-typedef EASIZEBUF *PEASIZEBUF;
-
-typedef struct _ROUTENAMEBUF
-{
-  ULONG hRouteHandle;
-  UCHAR szRouteName;
-} ROUTENAMEBUF;
-typedef ROUTENAMEBUF *PROUTENAMEBUF;
-
-typedef struct _FSDTHREAD
-{
-  USHORT usFunc;
-  USHORT usStackSize;
-  ULONG         ulPriorityClass;
-  LONG  lPriorityLevel;
-} FSDTHREAD;
-
-typedef struct _FSDDAEMON
-{
-  USHORT    usNumThreads;
-  USHORT    usMoreFlag;
-  USHORT    usCallInstance;
-  FSDTHREAD tdThrds[16];
-} FSDDAEMON;
-
-typedef struct _FILEFINDBUF
-{
-  FDATE         fdateCreation;
-  FTIME         ftimeCreation;
-  FDATE         fdateLastAccess;
-  FTIME         ftimeLastAccess;
-  FDATE         fdateLastWrite;
-  FTIME         ftimeLastWrite;
-  ULONG         cbFile;
-  ULONG         cbFileAlloc;
-  USHORT attrFile;
-  UCHAR         cchName;
-  CHAR  achName[CCHMAXPATHCOMP];
-} FILEFINDBUF;
-typedef FILEFINDBUF *PFILEFINDBUF;
-
-typedef struct _FILEFINDBUF2
-{
-  FDATE         fdateCreation;
-  FTIME         ftimeCreation;
-  FDATE         fdateLastAccess;
-  FTIME         ftimeLastAccess;
-  FDATE         fdateLastWrite;
-  FTIME         ftimeLastWrite;
-  ULONG         cbFile;
-  ULONG         cbFileAlloc;
-  USHORT attrFile;
-  ULONG         cbList;
-  UCHAR         cchName;
-  CHAR  achName[CCHMAXPATHCOMP];
-} FILEFINDBUF2;
-typedef FILEFINDBUF2 *PFILEFINDBUF2;
-
-typedef struct _FILEFINDBUF3
-{
-  ULONG oNextEntryOffset;
-  FDATE fdateCreation;
-  FTIME ftimeCreation;
-  FDATE fdateLastAccess;
-  FTIME ftimeLastAccess;
-  FDATE fdateLastWrite;
-  FTIME ftimeLastWrite;
-  ULONG cbFile;
-  ULONG cbFileAlloc;
-  ULONG attrFile;
-  UCHAR cchName;
-  CHAR achName[CCHMAXPATHCOMP];
-} FILEFINDBUF3;
-typedef FILEFINDBUF3 *PFILEFINDBUF3;
-
-typedef struct _FILEFINDBUF4
-{
-  ULONG oNextEntryOffset;
-  FDATE fdateCreation;
-  FTIME ftimeCreation;
-  FDATE fdateLastAccess;
-  FTIME ftimeLastAccess;
-  FDATE fdateLastWrite;
-  FTIME ftimeLastWrite;
-  ULONG cbFile;
-  ULONG cbFileAlloc;
-  ULONG attrFile;
-  ULONG cbList;
-  UCHAR cchName;
-  CHAR achName[CCHMAXPATHCOMP];
-} FILEFINDBUF4;
-typedef FILEFINDBUF4 *PFILEFINDBUF4;
-
-typedef struct _FILELOCK
-{
-  LONG lOffset;
-  LONG lRange;
-} FILELOCK;
-typedef FILELOCK *PFILELOCK;
-
-typedef struct _FILESTATUS
-{
-  FDATE         fdateCreation;
-  FTIME         ftimeCreation;
-  FDATE         fdateLastAccess;
-  FTIME         ftimeLastAccess;
-  FDATE         fdateLastWrite;
-  FTIME         ftimeLastWrite;
-  ULONG         cbFile;
-  ULONG         cbFileAlloc;
-  USHORT attrFile;
-} FILESTATUS;
-typedef FILESTATUS *PFILESTATUS;
-
-typedef struct _FILESTATUS2
-{
-  FDATE         fdateCreation;
-  FTIME         ftimeCreation;
-  FDATE         fdateLastAccess;
-  FTIME         ftimeLastAccess;
-  FDATE         fdateLastWrite;
-  FTIME         ftimeLastWrite;
-  ULONG         cbFile;
-  ULONG         cbFileAlloc;
-  USHORT attrFile;
-  ULONG         cbList;
-} FILESTATUS2;
-typedef FILESTATUS2 *PFILESTATUS2;
-
-typedef struct _FILESTATUS3
-{
-  FDATE fdateCreation;
-  FTIME ftimeCreation;
-  FDATE fdateLastAccess;
-  FTIME ftimeLastAccess;
-  FDATE fdateLastWrite;
-  FTIME ftimeLastWrite;
-  ULONG cbFile;
-  ULONG cbFileAlloc;
-  ULONG attrFile;
-} FILESTATUS3;
-typedef FILESTATUS3 *PFILESTATUS3;
-
-typedef struct _FILESTATUS4
-{
-  FDATE fdateCreation;
-  FTIME ftimeCreation;
-  FDATE fdateLastAccess;
-  FTIME ftimeLastAccess;
-  FDATE fdateLastWrite;
-  FTIME ftimeLastWrite;
-  ULONG cbFile;
-  ULONG cbFileAlloc;
-  ULONG attrFile;
-  ULONG cbList;
-} FILESTATUS4;
-typedef FILESTATUS4 *PFILESTATUS4;
-
-typedef struct _FSALLOCATE
-{
-  ULONG         idFileSystem;
-  ULONG         cSectorUnit;
-  ULONG         cUnit;
-  ULONG         cUnitAvail;
-  USHORT cbSector;
-} FSALLOCATE;
-typedef FSALLOCATE *PFSALLOCATE;
-
-typedef struct _FSQBUFFER
-{
-  USHORT iType;
-  USHORT cbName;
-  UCHAR         szName[1];
-  USHORT cbFSDName;
-  UCHAR         szFSDName[1];
-  USHORT cbFSAData;
-  UCHAR         rgFSAData[1];
-} FSQBUFFER;
-typedef FSQBUFFER *PFSQBUFFER;
-
-typedef struct _FSQBUFFER2
-{
-  USHORT iType;
-  USHORT cbName;
-  USHORT cbFSDName;
-  USHORT cbFSAData;
-  UCHAR         szName[1];
-  UCHAR         szFSDName[1];
-  UCHAR         rgFSAData[1];
-} FSQBUFFER2;
-typedef FSQBUFFER2 *PFSQBUFFER2;
-
-typedef struct _SPOOLATTACH
-{
-  USHORT hNmPipe;
-  ULONG         ulKey;
-} SPOOLATTACH;
-typedef SPOOLATTACH *PSPOOLATTACH;
-
-typedef struct _VOLUMELABEL
-{
-  BYTE cch;
-  CHAR szVolLabel[12];
-} VOLUMELABEL;
-typedef VOLUMELABEL *PVOLUMELABEL;
-
-typedef struct _FSINFO
-{
-  FDATE fdateCreation;
-  FTIME ftimeCreation;
-  VOLUMELABEL vol;
-} FSINFO;
-typedef FSINFO *PFSINFO;
-
-
-ULONG DosCancelLockRequest (HFILE hFile, __const__ FILELOCK *pfl);
-ULONG DosClose (HFILE hFile);
-ULONG DosCopy (PCSZ pszSource, PCSZ pszTarget, ULONG ulOption);
-ULONG DosCreateDir (PCSZ pszDirName, PEAOP2 pEABuf);
-ULONG DosDelete (PCSZ pszFileName);
-ULONG DosDeleteDir (PCSZ pszDirName);
-ULONG DosDupHandle (HFILE hFile, PHFILE phFile);
-ULONG DosEditName (ULONG ulLevel, PCSZ pszSource, PCSZ pszEdit,
-    PBYTE pszTargetBuf, ULONG ulTargetBufLength);
-ULONG DosEnumAttribute (ULONG ulRefType, CPVOID pvFile, ULONG ulEntry,
-    PVOID pvBuf, ULONG ulBufLength, PULONG pulCount, ULONG ulInfoLevel);
-ULONG DosFindClose (HDIR hDir);
-ULONG DosFindFirst (PCSZ pszFileSpec, PHDIR phDir, ULONG flAttribute,
-    PVOID pFindBuf, ULONG ulFindBufLength, PULONG pulFileNames,
-    ULONG ulInfoLevel);
-ULONG DosFindNext (HDIR hDir, PVOID pFindBuf, ULONG ulFindBufLength,
-    PULONG pulFileNames);
-ULONG DosForceDelete (PCSZ pszFileName);
-ULONG DosFSAttach (PCSZ pszDevice, PCSZ pszFilesystem,
-    __const__ VOID *pData, ULONG ulDataLength, ULONG ulFlag);
-ULONG DosFSCtl (PVOID pData, ULONG ulDataLengthMax, PULONG pulDataLength,
-    PVOID pParmList, ULONG ulParmLengthMax, PULONG pulParmLength,
-    ULONG ulFunction, PCSZ pszRouteName, HFILE hFile, ULONG ulMethod);
-ULONG DosMove (PCSZ pszOldName, PCSZ pszNewName);
-ULONG DosOpen (PCSZ pszFileName, PHFILE phFile, PULONG pulAction,
-    ULONG ulFileSize, ULONG ulAttribute, ULONG ulOpenFlags, ULONG ulOpenMode,
-    PEAOP2 pEABuf);
-ULONG DosProtectClose (HFILE hFile, FHLOCK fhFileHandleLockID);
-ULONG DosProtectEnumAttribute (ULONG ulRefType, CPVOID pvFile,
-    ULONG ulEntry, PVOID pvBuf, ULONG ulBufLength, PULONG pulCount,
-    ULONG ulInfoLevel, FHLOCK fhFileHandleLockID);
-ULONG DosProtectOpen (PCSZ pszFileName, PHFILE phFile, PULONG pulAction,
-    ULONG ulFileSize, ULONG ulAttribute, ULONG ulOpenFlags, ULONG ulOpenMode,
-    PEAOP2 pEABuf, PFHLOCK pfhFileHandleLockID);
-ULONG DosProtectQueryFHState (HFILE hFile, PULONG pulMode,
-    FHLOCK fhFileHandleLockID);
-ULONG DosProtectQueryFileInfo (HFILE hFile, ULONG ulInfoLevel,
-    PVOID pInfoBuffer, ULONG ulInfoLength, FHLOCK fhFileHandleLockID);
-ULONG DosProtectRead (HFILE hFile, PVOID pBuffer, ULONG ulLength,
-    PULONG pulBytesRead, FHLOCK fhFileHandleLockID);
-ULONG DosProtectSetFHState (HFILE hFile, ULONG ulMode,
-    FHLOCK fhFileHandleLockID);
-ULONG DosProtectSetFileInfo (HFILE hFile, ULONG ulInfoLevel, PVOID pInfoBuffer,
-    ULONG ulInfoLength, FHLOCK fhFileHandleLockID);
-ULONG DosProtectSetFileLocks (HFILE hFile, __const__ FILELOCK *pflUnlock,
-    __const__ FILELOCK *pflLock, ULONG ulTimeout, ULONG ulFlags,
-    FHLOCK fhFileHandleLockID);
-ULONG DosProtectSetFilePtr (HFILE hFile, LONG lOffset, ULONG ulOrigin,
-    PULONG pulPos, FHLOCK fhFileHandleLockID);
-ULONG DosProtectSetFileSize (HFILE hFile, ULONG ulSize,
-    FHLOCK fhFileHandleLockID);
-ULONG DosProtectWrite (HFILE hFile, CPVOID pBuffer, ULONG ulLength,
-    PULONG pulBytesWritten, FHLOCK fhFileHandleLockID);
-ULONG DosQueryCurrentDir (ULONG ulDrive, PBYTE pPath, PULONG pulPathLength);
-ULONG DosQueryCurrentDisk (PULONG pulDrive, PULONG pulLogical);
-ULONG DosQueryFHState (HFILE hFile, PULONG pulMode);
-ULONG DosQueryFileInfo (HFILE hFile, ULONG ulInfoLevel, PVOID pInfoBuffer,
-    ULONG ulInfoLength);
-ULONG DosQueryFSAttach (PCSZ pszDeviceName, ULONG ulOrdinal,
-    ULONG ulFSAInfoLevel, PFSQBUFFER2 pfsqb, PULONG pulBufLength);
-ULONG DosQueryFSInfo (ULONG ulDrive, ULONG ulInfoLevel, PVOID pBuf,
-    ULONG ulBufLength);
-ULONG DosQueryHType (HFILE hFile, PULONG pulType, PULONG pulAttr);
-ULONG DosQueryPathInfo (PCSZ pszPathName, ULONG ulInfoLevel,
-    PVOID pInfoBuffer, ULONG ulInfoLength);
-ULONG DosQueryVerify (PBOOL32 pVerify);
-ULONG DosRead (HFILE hFile, PVOID pBuffer, ULONG ulLength,
-    PULONG pulBytesRead);
-ULONG DosResetBuffer (HFILE hf);
-ULONG DosSetCurrentDir (PCSZ pszDir);
-ULONG DosSetDefaultDisk (ULONG ulDrive);
-ULONG DosSetFHState (HFILE hFile, ULONG ulMode);
-ULONG DosSetFileInfo (HFILE hFile, ULONG ulInfoLevel, PVOID pInfoBuffer,
-    ULONG ulInfoLength);
-ULONG DosSetFileLocks (HFILE hFile, __const__ FILELOCK *pflUnlock,
-    __const__ FILELOCK *pflLock, ULONG ulTimeout, ULONG ulFlags);
-ULONG DosSetFilePtr (HFILE hFile, LONG lOffset, ULONG ulOrigin, PULONG pulPos);
-ULONG DosSetFileSize (HFILE hFile, ULONG ulSize);
-ULONG DosSetFSInfo (ULONG ulDrive, ULONG ulInfoLevel, PVOID pBuf,
-    ULONG ulBufLength);
-ULONG DosSetMaxFH (ULONG ulCount);
-ULONG DosSetPathInfo (PCSZ pszPathName, ULONG ulInfoLevel, PVOID pInfoBuffer,
-    ULONG ulInfoLength, ULONG ulOptions);
-ULONG DosSetRelMaxFH (PLONG pulReqCount, PULONG pulCurMaxFH);
-ULONG DosSetVerify (BOOL32 f32Verify);
-ULONG DosShutdown (ULONG ulReserved);
-ULONG DosWrite (HFILE hFile, CPVOID pBuffer, ULONG ulLength,
-    PULONG pulBytesWritten);
-
-#endif /* INCL_DOSFILEMGR || !INCL_NOCOMMON */
-
-
-#if defined (INCL_DOSMISC)
-ULONG DosSearchPath (ULONG ulControl, PCSZ pszPath, PCSZ pszFilename,
-    PBYTE pBuf, ULONG ulBufLength);
-#endif /* INCL_DOSMISC */
-
-/* ---------------------------- DEVICE I/O -------------------------------- */
-
-#if defined (INCL_DOSDEVICES)
-
-#define DEVINFO_PRINTER                       0
-#define DEVINFO_RS232                 1
-#define DEVINFO_FLOPPY                2
-#define DEVINFO_COPROCESSOR           3
-#define DEVINFO_SUBMODEL              4
-#define DEVINFO_MODEL                 5
-#define DEVINFO_ADAPTER                       6
-
-#define INFO_COUNT_PARTITIONABLE_DISKS 1
-#define INFO_GETIOCTLHANDLE           2
-#define INFO_FREEIOCTLHANDLE          3
-
-ULONG DosDevConfig (PVOID pInfo, ULONG ulItem);
-ULONG DosDevIOCtl (HFILE hDevice, ULONG ulCategory, ULONG ulFunction,
-    PVOID pParams, ULONG ulParamsLengthMax, PULONG pulParamsLength,
-    PVOID pData, ULONG ulDataLengthMax, PULONG pulDataLength);
-ULONG DosPhysicalDisk (ULONG ulFunction, PVOID pBuffer, ULONG ulBufferLength,
-    PVOID pParams, ULONG ulParamsLength);
-
-#endif /* INCL_DOSDEVICES */
-
-#if defined (INCL_DOSDEVIOCTL)
-
-#define IOCTL_ASYNC                    0x0001
-#define IOCTL_SCR_AND_PTRDRAW          0x0003
-#define IOCTL_KEYBOARD                 0x0004
-#define IOCTL_PRINTER                  0x0005
-#define IOCTL_LIGHTPEN                 0x0006
-#define IOCTL_POINTINGDEVICE           0x0007
-#define IOCTL_DISK                     0x0008
-#define IOCTL_PHYSICALDISK             0x0009
-#define IOCTL_MONITOR                  0x000a
-#define IOCTL_GENERAL                  0x000b
-#define IOCTL_POWER                    0x000c
-#define IOCTL_OEMHLP                   0x0080
-#define IOCTL_TESTCFG_SYS              0x0080
-#define IOCTL_CDROMDISK                        0x0080
-#define IOCTL_CDROMAUDIO               0x0081
-#define IOCTL_TOUCH_DEVDEP             0x0081
-#define IOCTL_TOUCH_DEVINDEP           0x0081
-
-#define ASYNC_SETBAUDRATE              0x0041
-#define ASYNC_SETLINECTRL              0x0042
-#define ASYNC_EXTSETBAUDRATE           0x0043
-#define ASYNC_TRANSMITIMM              0x0044
-#define ASYNC_SETBREAKOFF              0x0045
-#define ASYNC_SETMODEMCTRL             0x0046
-#define ASYNC_STOPTRANSMIT             0x0047
-#define ASYNC_STARTTRANSMIT            0x0048
-#define ASYNC_SETBREAKON               0x004b
-#define ASYNC_SETDCBINFO               0x0053
-#define ASYNC_SETENHANCEDMODEPARMS     0x0054
-#define ASYNC_GETBAUDRATE              0x0061
-#define ASYNC_GETLINECTRL              0x0062
-#define ASYNC_EXTGETBAUDRATE           0x0063
-#define ASYNC_GETCOMMSTATUS            0x0064
-#define ASYNC_GETLINESTATUS            0x0065
-#define ASYNC_GETMODEMOUTPUT           0x0066
-#define ASYNC_GETMODEMINPUT            0x0067
-#define ASYNC_GETINQUECOUNT            0x0068
-#define ASYNC_GETOUTQUECOUNT           0x0069
-#define ASYNC_GETCOMMERROR             0x006d
-#define ASYNC_GETCOMMEVENT             0x0072
-#define ASYNC_GETDCBINFO               0x0073
-#define ASYNC_GETENHANCEDMODEPARMS     0x0074
-
-#define SCR_ALLOCLDT                   0x0070
-#define SCR_DEALLOCLDT                 0x0071
-#define PTR_GETPTRDRAWADDRESS          0x0072
-#define VID_INITCALLVECTOR             0x0073
-#define SCR_ABIOSPASSTHRU              0x0074
-#define SCR_ALLOCLDTOFF                        0x0075
-#define SCR_ALLOCLDTBGVAL              0x0076
-#define SCR_ALLOCVIDEOBUFFER           0x007e
-#define SCR_GETROMFONTADDR             0x007f
-
-#define KBD_SETTRANSTABLE              0x0050
-#define KBD_SETINPUTMODE               0x0051
-#define KBD_SETINTERIMFLAG             0x0052
-#define KBD_SETSHIFTSTATE              0x0053
-#define KBD_SETTYPAMATICRATE           0x0054
-#define KBD_SETFGNDSCREENGRP           0x0055
-#define KBD_SETSESMGRHOTKEY            0x0056
-#define KBD_SETFOCUS                   0x0057
-#define KBD_SETKCB                     0x0058
-#define KBD_SETREADNOTIFICATION                0x0059
-#define KBD_ALTERKBDLED                        0x005a
-#define KBD_SETNLS                     0x005c
-#define KBD_CREATE                     0x005d
-#define KBD_DESTROY                    0x005e
-#define KBD_GETINPUTMODE               0x0071
-#define KBD_GETINTERIMFLAG             0x0072
-#define KBD_GETSHIFTSTATE              0x0073
-#define KBD_READCHAR                   0x0074
-#define KBD_PEEKCHAR                   0x0075
-#define KBD_GETSESMGRHOTKEY            0x0076
-#define KBD_GETKEYBDTYPE               0x0077
-#define KBD_GETCODEPAGEID              0x0078
-#define KBD_XLATESCAN                  0x0079
-#define KBD_QUERYKBDHARDWAREID         0x007a
-#define KBD_QUERYKBDCODEPAGESUPPORT    0x007b
-
-#define PRT_QUERYJOBHANDLE             0x0021
-#define PRT_SETFRAMECTL                        0x0042
-#define PRT_SETINFINITERETRY           0x0044
-#define PRT_INITPRINTER                        0x0046
-#define PRT_ACTIVATEFONT               0x0048
-#define PRT_SETPRINTJOBTITLE           0x004d
-#define PRT_SETIRQTIMEOUT              0x004e
-#define PRT_GETFRAMECTL                        0x0062
-#define PRT_GETINFINITERETRY           0x0064
-#define PRT_GETPRINTERSTATUS           0x0066
-#define PRT_QUERYACTIVEFONT            0x0069
-#define PRT_VERIFYFONT                 0x006a
-#define PRT_QUERYIRQTIMEOUT            0x006e
-
-#define MOU_ALLOWPTRDRAW               0x0050
-#define MOU_UPDATEDISPLAYMODE          0x0051
-#define MOU_SCREENSWITCH               0x0052
-#define MOU_SETSCALEFACTORS            0x0053
-#define MOU_SETEVENTMASK               0x0054
-#define MOU_SETHOTKEYBUTTON            0x0055
-#define MOU_REASSIGNTHRESHOLDVALUES    0x0055 /* ? */
-#define MOU_SETPTRSHAPE                        0x0056
-#define MOU_DRAWPTR                    0x0057
-#define MOU_UNMARKCOLLISIONAREA                0x0057 /* ? */
-#define MOU_REMOVEPTR                  0x0058
-#define MOU_MARKCOLLISIONAREA          0x0058 /* ? */
-#define MOU_SETPTRPOS                  0x0059
-#define MOU_SETPROTDRAWADDRESS         0x005a
-#define MOU_SETREALDRAWADDRESS         0x005b
-#define MOU_SETMOUSTATUS               0x005c
-#define MOU_DISPLAYMODECHANGE          0x005d
-#define MOU_GETBUTTONCOUNT             0x0060
-#define MOU_GETMICKEYCOUNT             0x0061
-#define MOU_GETMOUSTATUS               0x0062
-#define MOU_READEVENTQUE               0x0063
-#define MOU_GETQUESTATUS               0x0064
-#define MOU_GETEVENTMASK               0x0065
-#define MOU_GETSCALEFACTORS            0x0066
-#define MOU_GETPTRPOS                  0x0067
-#define MOU_GETPTRSHAPE                        0x0068
-#define MOU_GETHOTKEYBUTTON            0x0069
-#define MOU_QUERYTHRESHOLDVALUES       0x0069 /* ? */
-#define MOU_VER                                0x006a
-#define MOU_QUERYPOINTERID             0x006b /* ? */
-
-#define DSK_LOCKDRIVE                  0x0000
-#define DSK_UNLOCKDRIVE                        0x0001
-#define DSK_REDETERMINEMEDIA           0x0002
-#define DSK_SETLOGICALMAP              0x0003
-#define DSK_BEGINFORMAT                        0x0004
-#define DSK_BLOCKREMOVABLE             0x0020
-#define DSK_GETLOGICALMAP              0x0021
-#define DSK_UNLOCKEJECTMEDIA           0x0040
-#define DSK_SETDEVICEPARAMS            0x0043
-#define DSK_WRITETRACK                 0x0044
-#define DSK_FORMATVERIFY               0x0045
-#define DSK_DISKETTECONTROL            0x005d
-#define DSK_QUERYMEDIASENSE            0x0060
-#define DSK_GETDEVICEPARAMS            0x0063
-#define DSK_READTRACK                  0x0064
-#define DSK_VERIFYTRACK                        0x0065
-#define DSK_GETLOCKSTATUS              0x0066
-
-#define PDSK_LOCKPHYSDRIVE             0x0000
-#define PDSK_UNLOCKPHYSDRIVE           0x0001
-#define PDSK_WRITEPHYSTRACK            0x0044
-#define PDSK_GETPHYSDEVICEPARAMS       0x0063
-#define PDSK_READPHYSTRACK             0x0064
-#define PDSK_VERIFYPHYSTRACK           0x0065
-
-#define POWER_SENDPOWEREVENT           0x0040
-#define POWER_SETPOWEREVENTRES         0x0041
-#define POWER_GETPOWERSTATUS           0x0060
-#define POWER_GETPOWEREVENT            0x0061
-#define POWER_GETPOWERINFO             0x0062
-
-#define OEMHLP_GETOEMADAPTIONINFO      0x0000
-#define OEMHLP_GETMACHINEINFO          0x0001
-#define OEMHLP_GETDISPLAYCOMBCODE      0x0002
-#define OEMHLP_GETVIDEOFONTS           0x0003
-#define OEMHLP_READEISACONFIGINFO      0x0004
-#define OEMHLP_GETROMBIOSINFO          0x0005
-#define OEMHLP_GETMISCVIDEOINFO                0x0006
-#define OEMHLP_GETVIDEOADAPTER         0x0007
-#define OEMHLP_GETSVGAINFO             0x0008
-#define OEMHLP_GETMEMINFO              0x0009
-#define OEMHLP_GETDMQSINFO             0x000a
-#define OEMHLP_PCI                     0x000b
-
-#define TESTCFG_SYS_GETBIOSADAPTER     0x0040
-#define TESTCFG_SYS_ISSUEINIOINSTR     0x0041
-#define TESTCFG_SYS_ISSUEOUTIOINSTR    0x0042
-#define TESTCFG_SYS_GETBUSARCH         0x0060
-#define TESTCFG_SYS_GETALLPOSIDS       0x0061
-#define TESTCFG_SYS_GETALLEISAIDS      0x0062
-
-#define CDROMDISK_RESETDRIVE           0x0040
-#define CDROMDISK_EJECTDISK            0x0044
-#define CDROMDISK_LOCKUNLOCKDOOR       0x0046
-#define CDROMDISK_SEEK                 0x0050
-#define CDROMDISK_DEVICESTATUS         0x0060
-#define CDROMDISK_GETDRIVER            0x0061
-#define CDROMDISK_GETSECTORSIZE                0x0063
-#define CDROMDISK_GETHEADLOC           0x0070
-#define CDROMDISK_READLONG             0x0072
-#define CDROMDISK_GETVOLUMESIZE                0x0078
-#define CDROMDISK_GETUPC               0x0079
-
-#define CDROMAUDIO_SETCHANNELCTRL      0x0040
-#define CDROMAUDIO_PLAYAUDIO           0x0050
-#define CDROMAUDIO_STOPAUDIO           0x0051
-#define CDROMAUDIO_RESUMEAUDIO         0x0052
-#define CDROMAUDIO_GETCHANNEL          0x0060
-#define CDROMAUDIO_GETAUDIODISK                0x0061
-#define CDROMAUDIO_GETAUDIOTRACK       0x0062
-#define CDROMAUDIO_GETSUBCHANNELQ      0x0063
-#define CDROMAUDIO_GETAUDIOSTATUS      0x0065
-
-#define TOUCH_DEVDEP_SETCALIBCONST     0x0052
-#define TOUCH_DEVDEP_READDATA          0x0053
-#define TOUCH_DEVDEP_SETDATAMODE       0x0054
-#define TOUCH_DEVDEP_SETCLICKLOCK      0x0055
-#define TOUCH_DEVDEP_SETTOUCHTHRESHOLD 0x0056
-#define TOUCH_DEVDEP_SETEMULXY         0x0057
-#define TOUCH_DEVDEP_SETDATAREPORTRATE 0x0058
-#define TOUCH_DEVDEP_SETLOWPASSFILTER  0x0059
-#define TOUCH_DEVDEP_WRITEMEMLOC       0x005a
-#define TOUCH_DEVDEP_GETCALIBCONST     0x0060
-#define TOUCH_DEVDEP_GETDATAMODE       0x0061
-#define TOUCH_DEVDEP_GETCLICKLOCK      0x0062
-#define TOUCH_DEVDEP_GETTOUCHTHRESHOLD 0x0063
-#define TOUCH_DEVDEP_GETEMULXY         0x0064
-#define TOUCH_DEVDEP_GETDATAREPORTRATE 0x0065
-#define TOUCH_DEVDEP_GETLOWPASSFILTER  0x0066
-#define TOUCH_DEVDEP_READMEMLOC                0x0067
-
-#define TOUCH_DEVINDEP_SETCOORDSYS     0x0050
-#define TOUCH_DEVINDEP_SETSELECTMECH   0x0052
-#define TOUCH_DEVINDEP_SETEVENTMASK    0x0053
-#define TOUCH_DEVINDEP_SETQUEUESIZE    0x0054
-#define TOUCH_DEVINDEP_SETEMULSTATE    0x0055
-#define TOUCH_DEVINDEP_GETCOORDSYS     0x0060
-#define TOUCH_DEVINDEP_GETSELECTMECH   0x0062
-#define TOUCH_DEVINDEP_GETEVENTMASK    0x0063
-#define TOUCH_DEVINDEP_GETQUEUESIZE    0x0064
-#define TOUCH_DEVINDEP_GETEMULSTATE    0x0065
-#define TOUCH_DEVINDEP_GETREADEVENTQUEUE 0x0066
-
-#define MON_REGISTERMONITOR            0x0040
-
-#define DEV_FLUSHINPUT                 0x0001
-#define DEV_FLUSHOUTPUT                        0x0002
-#define DEV_SYSTEMNOTIFYPDD            0x0041
-#define DEV_QUERYMONSUPPORT            0x0060
-
-#define RX_QUE_OVERRUN                 0x0001
-#define RX_HARDWARE_OVERRUN            0x0002
-#define PARITY_ERROR                   0x0004
-#define FRAMING_ERROR                  0x0008
-
-#define CHAR_RECEIVED                  0x0001
-#define LAST_CHAR_SENT                 0x0004
-#define CTS_CHANGED                    0x0008
-#define DSR_CHANGED                    0x0010
-#define DCD_CHANGED                    0x0020
-#define BREAK_DETECTED                 0x0040
-#define ERROR_OCCURRED                 0x0080
-#define RI_DETECTED                    0x0100
-
-#define TX_WAITING_FOR_CTS             0x0001
-#define TX_WAITING_FOR_DSR             0x0002
-#define TX_WAITING_FOR_DCD             0x0004
-#define TX_WAITING_FOR_XON             0x0008
-#define TX_WAITING_TO_SEND_XON         0x0010
-#define TX_WAITING_WHILE_BREAK_ON      0x0020
-#define TX_WAITING_TO_SEND_IMM         0x0040
-#define RX_WAITING_FOR_DSR             0x0080
-
-#define WRITE_REQUEST_QUEUED           0x0001
-#define DATA_IN_TX_QUE                 0x0002
-#define HARDWARE_TRANSMITTING          0x0004
-#define CHAR_READY_TO_SEND_IMM         0x0008
-#define WAITING_TO_SEND_XON            0x0010
-#define WAITING_TO_SEND_XOFF           0x0020
-
-#define CTS_ON                         0x10
-#define DSR_ON                         0x20
-#define RI_ON                          0x40
-#define DCD_ON                         0x80
-
-#define MODE_DTR_CONTROL               0x01
-#define MODE_DTR_HANDSHAKE             0x02
-#define MODE_CTS_HANDSHAKE             0x08
-#define MODE_DSR_HANDSHAKE             0x10
-#define MODE_DCD_HANDSHAKE             0x20
-#define MODE_DSR_SENSITIVITY           0x40
-
-#define MODE_AUTO_TRANSMIT             0x01
-#define MODE_AUTO_RECEIVE              0x02
-#define MODE_ERROR_CHAR                        0x04
-#define MODE_NULL_STRIPPING            0x08
-#define MODE_BREAK_CHAR                        0x10
-#define MODE_RTS_CONTROL               0x40
-#define MODE_RTS_HANDSHAKE             0x80
-#define MODE_TRANSMIT_TOGGLE           0xc0
-
-#define MODE_NO_WRITE_TIMEOUT          0x01
-#define MODE_READ_TIMEOUT              0x02
-#define MODE_WAIT_READ_TIMEOUT         0x04
-#define MODE_NOWAIT_READ_TIMEOUT       0x06
-
-#define DTR_ON                         0x01
-#define RTS_ON                         0x02
-
-#define DTR_OFF                                0xfe
-#define RTS_OFF                                0xfd
-
-#define ASCII_MODE                     0x00
-#define BINARY_MODE                    0x80
-
-#define CONVERSION_REQUEST             0x20
-#define INTERIM_CHAR                   0x80
-
-#define HOTKEY_MAX_COUNT               0x0000
-#define HOTKEY_CURRENT_COUNT           0x0001
-
-#define KBD_DATA_RECEIVED              0x0001
-#define KBD_DATA_BINARY                        0x8000
-
-#define KBD_READ_WAIT                  0x0000
-#define KBD_READ_NOWAIT                        0x8000
-
-#define SHIFT_REPORT_MODE              0x01
-
-#define RIGHTSHIFT                     0x0001
-#define LEFTSHIFT                      0x0002
-#define CONTROL                                0x0004
-#define ALT                            0x0008
-#define SCROLLLOCK_ON                  0x0010
-#define NUMLOCK_ON                     0x0020
-#define CAPSLOCK_ON                    0x0040
-#define INSERT_ON                      0x0080
-#define LEFTCONTROL                    0x0100
-#define LEFTALT                                0x0200
-#define RIGHTCONTROL                   0x0400
-#define RIGHTALT                       0x0800
-#define SCROLLLOCK                     0x1000
-#define NUMLOCK                                0x2000
-#define CAPSLOCK                       0x4000
-#define SYSREQ                         0x8000
-
-#define PRINTER_TIMEOUT                        0x0001
-#define PRINTER_IO_ERROR               0x0008
-#define PRINTER_SELECTED               0x0010
-#define PRINTER_OUT_OF_PAPER           0x0020
-#define PRINTER_ACKNOWLEDGED           0x0040
-#define PRINTER_NOT_BUSY               0x0080
-
-#define MOUSE_MOTION                   0x0001
-#define MOUSE_MOTION_WITH_BN1_DOWN     0x0002
-#define MOUSE_BN1_DOWN                 0x0004
-#define MOUSE_MOTION_WITH_BN2_DOWN     0x0008
-#define MOUSE_BN2_DOWN                 0x0010
-#define MOUSE_MOTION_WITH_BN3_DOWN     0x0020
-#define MOUSE_BN3_DOWN                 0x0040
-
-#define MHK_BUTTON1                    0x0001
-#define MHK_BUTTON2                    0x0002
-#define MHK_BUTTON3                    0x0004
-
-#define MOU_NOWAIT                     0x0000
-#define MOU_WAIT                       0x0001
-
-#define MHK_NO_HOTKEY                  0x0000
-
-#define MOUSE_QUEUEBUSY                        0x0001
-#define MOUSE_BLOCKREAD                        0x0002
-#define MOUSE_FLUSH                    0x0004
-#define MOUSE_UNSUPPORTED_MODE         0x0008
-#define MOUSE_DISABLED                 0x0100
-#define MOUSE_MICKEYS                  0x0200
-
-#define BUILD_BPB_FROM_MEDIUM          0x00
-#define REPLACE_BPB_FOR_DEVICE         0x01
-#define REPLACE_BPB_FOR_MEDIUM         0x02
-
-#define DEVTYPE_48TPI                  0x0000
-#define DEVTYPE_96TPI                  0x0001
-#define DEVTYPE_35                     0x0002
-#define DEVTYPE_8SD                    0x0003
-#define DEVTYPE_8DD                    0x0004
-#define DEVTYPE_FIXED                  0x0005
-#define DEVTYPE_TAPE                   0x0006
-#define DEVTYPE_UNKNOWN                        0x0007
-
-#define SCREENDD_GETCURRENTBANK                0x00
-#define SCREENDD_SETCURRENTBANK                0x01
-#define SCREENDD_SVGA_ID               0x08
-#define SCREENDD_SVGA_OEM              0x09
-#define SCREENDD_UPDATEMEMORY          0x0a
-#define SCREENDD_GETLINEARACCESS       0x0b
-#define SCREENDD_GETGLOBALACCESS       0x0c
-#define SCREENDD_FREEGLOBALACCESS      0x0d
-#define SCREENDD_REGISTER_RING0_CALLER 0x0e
-#define SCREENDD_WAIT_ON_RING0_CALLER  0x0f
-#define SCREENDD_CATEGORY              0x80
-#define SCREENDD_NAME                  "SCREEN$"
-
-#define GETLINEAR_FLAG_MAPPHYSICAL     0x00000010
-#define GETLINEAR_FLAG_MAPPROCESS      0x00000020
-#define GETLINEAR_FLAG_MAPSHARED       0x00000400
-#define GETLINEAR_FLAG_MAPATTACH       0x80000000
-
-#define EGA_BIT                                4
-#define VGA_BIT                                8
-#define EGAVGA_BIT                     (EGA_BIT|VGA_BIT)
-
-#define READ_BANK                      0
-#define WRITE_BANK                     1
-#define MODE_TEXT                      0
-#define MODE_PLANAR                    1
-#define MODE_LINEAR                    2
-
-typedef struct _DCBINFO
-{
-  USHORT usWriteTimeout;
-  USHORT usReadTimeout;
-  BYTE  fbCtlHndShake;
-  BYTE  fbFlowReplace;
-  BYTE  fbTimeout;
-  BYTE  bErrorReplacementChar;
-  BYTE  bBreakReplacementChar;
-  BYTE  bXONChar;
-  BYTE  bXOFFChar;
-} DCBINFO;
-typedef DCBINFO *PDCBINFO;
-
-typedef struct _LINECONTROL
-{
-  BYTE bDataBits;
-  BYTE bParity;
-  BYTE bStopBits;
-  BYTE fTransBreak;
-} LINECONTROL;
-typedef LINECONTROL *PLINECONTROL;
-
-typedef struct _MODEMSTATUS
-{
-  BYTE fbModemOn;
-  BYTE fbModemOff;
-} MODEMSTATUS;
-typedef MODEMSTATUS *PMODEMSTATUS;
-
-typedef struct _KBDTYPE
-{
-  USHORT usType;
-  USHORT reserved1;
-  USHORT reserved2;
-} KBDTYPE;
-typedef KBDTYPE *PKBDTYPE;
-
-typedef struct _RATEDELAY
-{
-  USHORT usDelay;
-  USHORT usRate;
-} RATEDELAY;
-typedef RATEDELAY *PRATEDELAY;
-
-typedef struct _CODEPAGEINFO
-{
-  PBYTE         pbTransTable;
-  USHORT idCodePage;
-  USHORT idTable;
-} CODEPAGEINFO;
-typedef CODEPAGEINFO *PCODEPAGEINFO;
-
-typedef struct _CPID
-{
-  USHORT idCodePage;
-  USHORT Reserved;
-} CPID;
-typedef CPID *PCPID;
-
-typedef struct _SHIFTSTATE
-{
-  USHORT fsState;
-  BYTE  fNLS;
-} SHIFTSTATE;
-typedef SHIFTSTATE *PSHIFTSTATE;
-
-typedef struct _HOTKEY
-{
-  USHORT fsHotKey;
-  UCHAR         uchScancodeMake;
-  UCHAR         uchScancodeBreak;
-  USHORT idHotKey;
-} HOTKEY;
-typedef HOTKEY *PHOTKEY;
-
-typedef struct _PTRDRAWFUNCTION
-{
-  USHORT usReturnCode;
-  PFN   pfnDraw;
-  PCH   pchDataSeg;
-} PTRDRAWFUNCTION;
-typedef PTRDRAWFUNCTION *PPTRDRAWFUNCTION;
-
-typedef struct _PTRDRAWADDRESS
-{
-  USHORT         reserved;
-  PTRDRAWFUNCTION ptrdfnc;
-} PTRDRAWADDRESS;
-typedef PTRDRAWADDRESS *PPTRDRAWADDRESS;
-
-typedef struct _PTRDRAWDATA
-{
-  USHORT cb;
-  USHORT usConfig;
-  USHORT usFlag;
-} PTRDRAWDATA;
-typedef PTRDRAWDATA *PPTRDRAWDATA;
-
-typedef struct _TRACKLAYOUT
-{
-  BYTE  bCommand;
-  USHORT usHead;
-  USHORT usCylinder;
-  USHORT usFirstSector;
-  USHORT cSectors;
-  struct
-    {
-      USHORT usSectorNumber;
-      USHORT usSectorSize;
-    } TrackTable[1];
-} TRACKLAYOUT;
-typedef TRACKLAYOUT *PTRACKLAYOUT;
-
-typedef struct _TRACKFORMAT
-{
-  BYTE  bCommand;
-  USHORT usHead;
-  USHORT usCylinder;
-  USHORT usReserved;
-  USHORT cSectors;
-  struct
-    {
-      BYTE bCylinder;
-      BYTE bHead;
-      BYTE idSector;
-      BYTE bBytesSector;
-    } FormatTable[1];
-} TRACKFORMAT;
-typedef TRACKFORMAT *PTRACKFORMAT;
-
-typedef struct _BIOSPARAMETERBLOCK
-{
-  USHORT usBytesPerSector;
-  BYTE  bSectorsPerCluster;
-  USHORT usReservedSectors;
-  BYTE  cFATs;
-  USHORT cRootEntries;
-  USHORT cSectors;
-  BYTE  bMedia;
-  USHORT usSectorsPerFAT;
-  USHORT usSectorsPerTrack;
-  USHORT cHeads;
-  ULONG         cHiddenSectors;
-  ULONG         cLargeSectors;
-  BYTE  abReserved[6];
-  USHORT cCylinders;
-  BYTE  bDeviceType;
-  USHORT fsDeviceAttr;
-} BIOSPARAMETERBLOCK;
-typedef BIOSPARAMETERBLOCK *PBIOSPARAMETERBLOCK;
-
-typedef struct _DEVICEPARAMETERBLOCK
-{
-  USHORT reserved1;
-  USHORT cCylinders;
-  USHORT cHeads;
-  USHORT cSectorsPerTrack;
-  USHORT reserved2;
-  USHORT reserved3;
-  USHORT reserved4;
-  USHORT reserved5;
-} DEVICEPARAMETERBLOCK;
-typedef DEVICEPARAMETERBLOCK *PDEVICEPARAMETERBLOCK;
-
-typedef struct _MONITORPOSITION
-{
-  USHORT fPosition;
-  USHORT index;
-  ULONG         pbInBuf;
-  USHORT offOutBuf;
-} MONITORPOSITION;
-typedef MONITORPOSITION *PMONITORPOSITION;
-
-typedef struct _FRAME
-{
-  BYTE bCharsPerLine;
-  BYTE bLinesPerInch;
-} FRAME;
-typedef FRAME *PFRAME;
-
-typedef struct _LDTADDRINFO
-{
-  PULONG pulPhysAddr;
-  USHORT cb;
-} LDTADDRINFO;
-typedef LDTADDRINFO *PLDTADDRINFO;
-
-typedef struct _SCREENGROUP
-{
-  USHORT idScreenGrp;
-  USHORT fTerminate;
-} SCREENGROUP;
-typedef SCREENGROUP *PSCREENGROUP;
-
-typedef struct _RXQUEUE
-{
-  USHORT cch;
-  USHORT cb;
-} RXQUEUE;
-typedef RXQUEUE *PRXQUEUE;
-
-typedef struct _GETLINIOCTLDATA
-{
-  ULONG PacketLength;
-  ULONG PhysicalAddress;
-  ULONG ApertureSize;
-  PBYTE LinearAddress;
-  ULONG LinearFlags;
-} GETLINIOCTLDATA;
-typedef GETLINIOCTLDATA *PGETLINIOCTLDATA;
-
-typedef struct _BANKINFO
-{
-  ULONG         ulBankLength;
-  USHORT usBank;
-  USHORT usVideoModeType;
-  USHORT usReadWriteMode;
-} BANKINFO;
-
-typedef struct _GLOBALIOCTLDATA
-{
-  ULONG ProcessAddress;
-  ULONG AddressLength;
-  ULONG GlobalAddress;
-} GLOBALIOCTLDATA;
-
-typedef struct _OEMSVGAINFO
-{
-  USHORT AdapterType;
-  USHORT ChipType;
-  ULONG         Memory;
-} OEMSVGAINFO;
-
-typedef struct _OEMINFO
-{
-  ULONG         OEMLength;
-  USHORT Manufacturer;
-  ULONG         ManufacturerData;
-} OEMINFO;
-
-typedef struct _GETGLOBALPACKET
-{
-  ULONG                  GlobalPktLength;
-  GLOBALIOCTLDATA GlobalPktData[1];
-} GETGLOBALPACKET;
-
-#endif /* INCL_DOSDEVIOCTL */
-
-/* -------------------- NATIONAL LANGUAGE SUPPORT ------------------------- */
-
-#if defined (INCL_DOSNLS)
-
-typedef struct _COUNTRYCODE
-{
-  ULONG country;
-  ULONG codepage;
-} COUNTRYCODE;
-typedef COUNTRYCODE *PCOUNTRYCODE;
-
-typedef struct _COUNTRYINFO
-{
-  ULONG         country;
-  ULONG         codepage;
-  ULONG         fsDateFmt;
-  CHAR  szCurrency[5];
-  CHAR  szThousandsSeparator[2];
-  CHAR  szDecimal[2];
-  CHAR  szDateSeparator[2];
-  CHAR  szTimeSeparator[2];
-  UCHAR         fsCurrencyFmt;
-  UCHAR         cDecimalPlace;
-  UCHAR         fsTimeFmt;
-  USHORT abReserved1[2];
-  CHAR  szDataSeparator[2];
-  USHORT abReserved2[5];
-} COUNTRYINFO;
-typedef COUNTRYINFO *PCOUNTRYINFO;
-
-
-ULONG DosMapCase (ULONG ulLength, __const__ COUNTRYCODE *pCountryCode,
-    PCHAR pchString);
-ULONG DosQueryCollate (ULONG ulLength, __const__ COUNTRYCODE *pCountryCode,
-    PCHAR pchBuffer, PULONG pulDataLength);
-ULONG DosQueryCp (ULONG ulLength, PULONG pCodePageList, PULONG pDataLength);
-ULONG DosQueryCtryInfo (ULONG ulLength, PCOUNTRYCODE pCountryCode,
-    PCOUNTRYINFO pCountryInfo, PULONG pulDataLength);
-ULONG DosQueryDBCSEnv (ULONG ulLength, PCOUNTRYCODE pCountryCode, PCHAR pBuf);
-ULONG DosSetProcessCp (ULONG ulCodePage);
-
-#endif /* INCL_DOSNLS */
-
-/* -------------------------- DYNAMIC LINKING ----------------------------- */
-
-#if defined (INCL_DOSMODULEMGR)
-
-#define PT_16BIT               0
-#define PT_32BIT               1
-
-
-ULONG DosFreeModule (HMODULE hmod);
-ULONG DosLoadModule (PSZ pszObject, ULONG uObjectLen, PCSZ pszModule,
-    PHMODULE phmod);
-ULONG DosQueryModuleHandle (PCSZ pszModname, PHMODULE phmod);
-ULONG DosQueryModuleName (HMODULE hmod, ULONG ulNameLength, PCHAR pNameBuf);
-ULONG DosQueryProcAddr (HMODULE hmod, ULONG ulOrdinal, PCSZ pszProcName,
-    PPFN pProcAddr);
-ULONG DosQueryProcType (HMODULE hmod, ULONG ulOrdinal, PCSZ pszProcName,
-     PULONG pulProcType);
-
-#endif /* INCL_DOSMODULEMGR */
-
-/* ----------------------------- RESOURCES -------------------------------- */
-
-#if defined (INCL_DOSRESOURCES) || !defined (INCL_NOCOMMON)
-
-#define RT_POINTER             1
-#define RT_BITMAP              2
-#define RT_MENU                        3
-#define RT_DIALOG              4
-#define RT_STRING              5
-#define RT_FONTDIR             6
-#define RT_FONT                        7
-#define RT_ACCELTABLE          8
-#define RT_RCDATA              9
-#define RT_MESSAGE             10
-#define RT_DLGINCLUDE          11
-#define RT_VKEYTBL             12
-#define RT_KEYTBL              13
-#define RT_CHARTBL             14
-#define RT_DISPLAYINFO         15
-#define RT_FKASHORT            16
-#define RT_FKALONG             17
-#define RT_HELPTABLE           18
-#define RT_HELPSUBTABLE                19
-#define RT_FDDIR               20
-#define RT_FD                  21
-#define RT_MAX                 22
-
-#define RF_ORDINALID           0x80000000L
-
-
-ULONG DosFreeResource (PVOID pResAddr);
-ULONG DosGetResource (HMODULE hmod, ULONG ulTypeID, ULONG ulNameID,
-    PPVOID pOffset);
-ULONG DosQueryResourceSize (HMODULE hmod, ULONG ulTypeID, ULONG ulNameID,
-    PULONG pulSize);
-
-#endif /* INCL_DOSRESOURCES || !INCL_NOCOMMON */
-
-/* -------------------------------- TASKS --------------------------------- */
-
-#if defined (INCL_DOSPROCESS) || !defined (INCL_NOCOMMON)
-
-#define EXIT_THREAD            0
-#define EXIT_PROCESS           1
-
-ULONG DosBeep (ULONG ulFrequency, ULONG ulDuration);
-VOID DosExit (ULONG ulAction, ULONG ulResult) __attribute__ ((__noreturn__));
-
-#endif /* INCL_DOSPROCESS || !defined (INCL_NOCOMMON) */
-
-
-#if defined (INCL_DOSPROCESS)
-
-#define CREATE_READY           0
-#define CREATE_SUSPENDED       1
-
-#define STACK_SPARSE           0
-#define STACK_COMMITTED                2
-
-#define DCWA_PROCESS           0
-#define DCWA_PROCESSTREE       1
-
-#define DCWW_WAIT              0
-#define DCWW_NOWAIT            1
-
-#define DKP_PROCESSTREE                0
-#define DKP_PROCESS            1
-
-#define EXEC_SYNC              0
-#define EXEC_ASYNC             1
-#define EXEC_ASYNCRESULT       2
-#define EXEC_TRACE             3
-#define EXEC_BACKGROUND                4
-#define EXEC_LOAD              5
-#define EXEC_ASYNCRESULTDB     6
-
-#define EXLST_ADD              1
-#define EXLST_REMOVE           2
-#define EXLST_EXIT             3
-
-#define PRTYC_NOCHANGE         0
-#define PRTYC_IDLETIME         1
-#define PRTYC_REGULAR          2
-#define PRTYC_TIMECRITICAL     3
-#define PRTYC_FOREGROUNDSERVER 4
-
-#define PRTYD_MINIMUM          (-31)
-#define PRTYD_MAXIMUM          31
-
-#define PRTYS_PROCESS          0
-#define PRTYS_PROCESSTREE      1
-#define PRTYS_THREAD           2
-
-#define TC_EXIT                        0
-#define TC_HARDERROR           1
-#define TC_TRAP                        2
-#define TC_KILLPROCESS         3
-#define TC_EXCEPTION           4
-
-
-typedef struct _RESULTCODES
-{
-  ULONG codeTerminate;
-  ULONG codeResult;
-} RESULTCODES;
-typedef RESULTCODES *PRESULTCODES;
-
-typedef struct tib2_s
-{
-  ULONG         tib2_ultid;
-  ULONG         tib2_ulpri;
-  ULONG         tib2_version;
-  USHORT tib2_usMCCount;
-  USHORT tib2_fMCForceFlag;
-} TIB2;
-typedef TIB2 *PTIB2;
-
-typedef struct tib_s
-{
-  PVOID tib_pexchain;
-  PVOID tib_pstack;
-  PVOID tib_pstacklimit;
-  PTIB2 tib_ptib2;
-  ULONG tib_version;
-  ULONG tib_ordinal;
-} TIB;
-typedef TIB *PTIB;
-
-typedef struct pib_s
-{
-  ULONG pib_ulpid;
-  ULONG pib_ulppid;
-  ULONG pib_hmte;
-  PCHAR pib_pchcmd;
-  PCHAR pib_pchenv;
-  ULONG pib_flstatus;
-  ULONG pib_ultype;
-} PIB;
-typedef PIB *PPIB;
-
-typedef VOID (*PFNTHREAD)(ULONG ulThreadArg);
-typedef VOID (*PFNEXITLIST)(ULONG ulArg);
-
-
-ULONG DosAllocThreadLocalMemory (ULONG cb, PULONG *p);
-ULONG DosCreateThread (PTID ptidThreadID, PFNTHREAD pfnThreadAddr,
-    ULONG ulThreadArg, ULONG ulFlags, ULONG ulStackSize);
-ULONG DosEnterCritSec (VOID);
-ULONG DosExecPgm (PCHAR pObjname, LONG lObjnameLength, ULONG ulFlagS,
-    PCSZ pszArg, PCSZ pszEnv, PRESULTCODES pReturnCodes, PCSZ pszName);
-ULONG DosExitCritSec (VOID);
-ULONG DosExitList (ULONG ulOrder, PFNEXITLIST pfn);
-ULONG DosFreeThreadLocalMemory (ULONG *p);
-ULONG DosGetInfoBlocks (PTIB *ptib, PPIB *ppib);
-ULONG DosKillProcess (ULONG ulAction, PID pid);
-ULONG DosKillThread (TID tid);
-ULONG DosResumeThread (TID tid);
-ULONG DosSetPriority (ULONG ulScope, ULONG ulClass, LONG lDelta, ULONG ulID);
-
-#define STDCALL     __attribute__ ((stdcall))
-//#define CDECL       __attribute__ ((cdecl))
-//#define CALLBACK    WINAPI
-//#define PASCAL      WINAPI
-
-#define WINAPI      STDCALL
-//#define APIENTRY    STDCALL
-
-//ULONG WINAPI DosSleep (ULONG ulInterval);
-ULONG DosSleep (ULONG ulInterval);
-
-ULONG DosSuspendThread (TID tid);
-ULONG DosVerifyPidTid (PID pid, TID tid);
-ULONG DosWaitChild (ULONG ulAction, ULONG ulWait, PRESULTCODES pReturnCodes,
-    PPID ppidOut, PID pidIn);
-ULONG DosWaitThread (PTID ptid, ULONG ulWait);
-
-#endif /* INCL_DOSPROCESS */
-
-/* ------------------------------ SESSIONS -------------------------------- */
-
-#if defined (INCL_DOSSESMGR) || defined (INCL_DOSFILEMGR)
-
-#define FAPPTYP_NOTSPEC                0x0000
-#define FAPPTYP_NOTWINDOWCOMPAT 0x0001
-#define FAPPTYP_WINDOWCOMPAT   0x0002
-#define FAPPTYP_WINDOWAPI      0x0003
-#define FAPPTYP_BOUND          0x0008
-#define FAPPTYP_DLL            0x0010
-#define FAPPTYP_DOS            0x0020
-#define FAPPTYP_PHYSDRV                0x0040
-#define FAPPTYP_VIRTDRV                0x0080
-#define FAPPTYP_PROTDLL                0x0100
-#define FAPPTYP_WINDOWSREAL    0x0200
-#define FAPPTYP_WINDOWSPROT    0x0400
-#define FAPPTYP_WINDOWSPROT31  0x1000
-#define FAPPTYP_32BIT          0x4000
-#define FAPPTYP_EXETYPE                0x0003
-#define FAPPTYP_RESERVED       (~(FAPPTYP_WINDOWAPI | FAPPTYP_BOUND | \
-                                  FAPPTYP_DLL | FAPPTYP_DOS | \
-                                  FAPPTYP_PHYSDRV | FAPPTYP_VIRTDRV | \
-                                  FAPPTYP_PROTDLL | FAPPTYP_32BIT))
-
-#endif /* INCL_DOSSESMGR || INCL_DOSFILEMGR */
-
-#if defined (INCL_DOSSESMGR)
-
-#define SET_SESSION_UNCHANGED         0
-#define SET_SESSION_SELECTABLE        1
-#define SET_SESSION_NON_SELECTABLE     2
-#define SET_SESSION_BOND              1
-#define SET_SESSION_NO_BOND           2
-
-#define SSF_RELATED_INDEPENDENT 0
-#define SSF_RELATED_CHILD      1
-
-#define SSF_FGBG_FORE          0
-#define SSF_FGBG_BACK          1
-
-#define SSF_TRACEOPT_NONE      0
-#define SSF_TRACEOPT_TRACE     1
-#define SSF_TRACEOPT_TRACEALL  2
-
-#define SSF_INHERTOPT_SHELL    0
-#define SSF_INHERTOPT_PARENT   1
-
-#define SSF_TYPE_DEFAULT       0
-#define SSF_TYPE_FULLSCREEN    1
-#define SSF_TYPE_WINDOWABLEVIO 2
-#define SSF_TYPE_PM            3
-#define SSF_TYPE_VDM           4
-#define SSF_TYPE_GROUP         5
-#define SSF_TYPE_DLL           6
-#define SSF_TYPE_WINDOWEDVDM   7
-#define SSF_TYPE_PDD           8
-#define SSF_TYPE_VDD           9
-
-#define SSF_CONTROL_VISIBLE    0x0000
-#define SSF_CONTROL_INVISIBLE  0x0001
-#define SSF_CONTROL_MAXIMIZE   0x0002
-#define SSF_CONTROL_MINIMIZE   0x0004
-#define SSF_CONTROL_NOAUTOCLOSE 0x0008
-#define SSF_CONTROL_SETPOS     0x8000
-
-#define STOP_SESSION_SPECIFIED        0
-#define STOP_SESSION_ALL              1
-
-typedef struct _STARTDATA
-{
-  USHORT Length;
-  USHORT Related;
-  USHORT FgBg;
-  USHORT TraceOpt;
-  PSZ   PgmTitle;
-  PSZ   PgmName;
-  PBYTE         PgmInputs;
-  PBYTE         TermQ;
-  PBYTE         Environment;
-  USHORT InheritOpt;
-  USHORT SessionType;
-  PSZ   IconFile;
-  ULONG         PgmHandle;
-  USHORT PgmControl;
-  USHORT InitXPos;
-  USHORT InitYPos;
-  USHORT InitXSize;
-  USHORT InitYSize;
-  USHORT Reserved;
-  PSZ   ObjectBuffer;
-  ULONG         ObjectBuffLen;
-} STARTDATA;
-typedef STARTDATA *PSTARTDATA;
-
-typedef struct _STATUSDATA
-{
-  USHORT Length;
-  USHORT SelectInd;
-  USHORT BondInd;
-} STATUSDATA;
-typedef STATUSDATA *PSTATUSDATA;
-
-ULONG DosQueryAppType (PCSZ pszName, PULONG pulFlags);
-ULONG DosSelectSession (ULONG ulIDSession);
-ULONG DosSetSession (ULONG ulIDSession, PSTATUSDATA psd);
-ULONG DosStartSession (PSTARTDATA psd, PULONG pulIDSession, PPID ppid);
-ULONG DosStopSession (ULONG ulScope, ULONG ulIDSession);
-
-#endif /* INCL_DOSSESMGR */
-
-/* ----------------------------- SEMAPHORES ------------------------------- */
-
-#if defined (INCL_DOSSEMAPHORES) || !defined (INCL_NOCOMMON)
-
-#define DC_SEM_SHARED          0x01
-#define DCMW_WAIT_ANY          0x02
-#define DCMW_WAIT_ALL          0x04
-
-#define SEM_INDEFINITE_WAIT    ((ULONG)-1)
-#define SEM_IMMEDIATE_RETURN   0
-
-typedef ULONG HEV;
-typedef HEV *PHEV;
-
-typedef struct _PSEMRECORD     /* Note 1 */
-{
-  HSEM hsemCur;
-  ULONG ulUser;
-} SEMRECORD;
-typedef SEMRECORD *PSEMRECORD;
-
-#endif /* INCL_DOSSEMAPHORES || !INCL_NOCOMMON */
-
-#if defined (INCL_DOSSEMAPHORES)
-
-ULONG DosCloseEventSem (HEV hev);
-ULONG DosCreateEventSem (PCSZ pszName, PHEV phev, ULONG ulAttr, BOOL32 fState);
-ULONG DosOpenEventSem (PCSZ pszName, PHEV phev);
-ULONG DosPostEventSem (HEV hev);
-ULONG DosQueryEventSem (HEV hev, PULONG pulCount);
-ULONG DosResetEventSem (HEV hev, PULONG pulCount);
-ULONG DosWaitEventSem (HEV hev, ULONG ulTimeout);
-
-ULONG DosCloseMutexSem (HMTX hmtx);
-ULONG DosCreateMutexSem (PCSZ pszName, PHMTX phmtx, ULONG ulAttr,
-    BOOL32 fState);
-ULONG DosOpenMutexSem (PCSZ pszName, PHMTX phmtx);
-ULONG DosQueryMutexSem (HMTX hmtx, PPID ppid, PTID ptid, PULONG pulCount);
-ULONG DosReleaseMutexSem (HMTX hmtx);
-ULONG DosRequestMutexSem (HMTX hmtx, ULONG ulTimeout);
-
-ULONG DosAddMuxWaitSem (HMUX hmux, PSEMRECORD pSemRec);
-ULONG DosCloseMuxWaitSem (HMUX hmux);
-ULONG DosCreateMuxWaitSem (PCSZ pszName, PHMUX phmux, ULONG ulcSemRec,
-    PSEMRECORD pSemRec, ULONG ulAttr);
-ULONG DosDeleteMuxWaitSem (HMUX hmux, HSEM hSem);
-ULONG DosOpenMuxWaitSem (PCSZ pszName, PHMUX phmux);
-ULONG DosQueryMuxWaitSem (HMUX hmux, PULONG pulcSemRec, PSEMRECORD pSemRec,
-    PULONG pulAttr);
-ULONG DosWaitMuxWaitSem (HMUX hmux, ULONG ulTimeout, PULONG pulUser);
-
-#endif /* INCL_DOSSEMAPHORES */
-
-/* ---------------------------- NAMED PIPES ------------------------------- */
-
-#define NP_INDEFINITE_WAIT     ((ULONG)-1)
-#define NP_DEFAULT_WAIT                0
-
-#define NP_STATE_DISCONNECTED  1
-#define NP_STATE_LISTENING     2
-#define NP_STATE_CONNECTED     3
-#define NP_STATE_CLOSING       4
-
-#define NP_ACCESS_INBOUND      0x0000
-#define NP_ACCESS_OUTBOUND     0x0001
-#define NP_ACCESS_DUPLEX       0x0002
-#define NP_INHERIT             0x0000
-#define NP_NOINHERIT           0x0080
-#define NP_WRITEBEHIND         0x0000
-#define NP_NOWRITEBEHIND       0x4000
-
-#define NP_READMODE_BYTE       0x0000
-#define NP_READMODE_MESSAGE    0x0100
-#define NP_TYPE_BYTE           0x0000
-#define NP_TYPE_MESSAGE                0x0400
-#define NP_END_CLIENT          0x0000
-#define NP_END_SERVER          0x4000
-#define NP_WAIT                        0x0000
-#define NP_NOWAIT              0x8000
-#define NP_UNLIMITED_INSTANCES 0x00ff
-
-#define NP_NBLK                        NO_WAIT
-#define NP_SERVER              NP_END_SERVER
-#define NP_WMESG               NP_TYPE_MESSAGE
-#define NP_RMESG               NP_READMODE_MESSAGE
-#define NP_ICOUNT              0x00ff
-
-#define NPSS_EOI               0
-#define NPSS_RDATA             1
-#define NPSS_WSPACE            2
-#define NPSS_CLOSE             3
-
-#define NPSS_WAIT              0x0001
-
-typedef struct _AVAILDATA
-{
-  USHORT cbpipe;
-  USHORT cbmessage;
-} AVAILDATA;
-typedef AVAILDATA *PAVAILDATA;
-
-typedef struct _PIPEINFO
-{
-  USHORT cbOut;
-  USHORT cbIn;
-  BYTE  cbMaxInst;
-  BYTE  cbCurInst;
-  BYTE  cbName;
-  CHAR  szName[1];
-} PIPEINFO;
-typedef PIPEINFO *PPIPEINFO;
-
-typedef struct _PIPESEMSTATE
-{
-  BYTE  fStatus;
-  BYTE  fFlag;
-  USHORT usKey;
-  USHORT usAvail;
-} PIPESEMSTATE;
-typedef PIPESEMSTATE *PPIPESEMSTATE;
-
-ULONG DosCallNPipe (PCSZ pszName, PVOID pInbuf, ULONG ulInbufLength,
-    PVOID pOutbuf, ULONG ulOutbufSize, PULONG pulActualLength,
-    ULONG ulTimeout);
-ULONG DosConnectNPipe (HPIPE hpipe);
-ULONG DosCreateNPipe (PCSZ pszName, PHPIPE phpipe, ULONG ulOpenMode,
-    ULONG ulPipeMode, ULONG ulInbufLength, ULONG ulOutbufLength,
-    ULONG ulTimeout);
-ULONG DosDisConnectNPipe (HPIPE hpipe);
-ULONG DosPeekNPipe (HPIPE hpipe, PVOID pBuf, ULONG ulBufLength,
-    PULONG pulActualLength, PAVAILDATA pAvail, PULONG pulState);
-ULONG DosQueryNPHState (HPIPE hpipe, PULONG pulState);
-ULONG DosQueryNPipeInfo (HPIPE hpipe, ULONG ulInfoLevel, PVOID pBuf,
-    ULONG ulBufLength);
-ULONG DosQueryNPipeSemState (HSEM hsem, PPIPESEMSTATE pState,
-    ULONG ulBufLength);
-ULONG DosRawReadNPipe (PCSZ pszName, ULONG ulCount, PULONG pulLength,
-    PVOID pBuf);
-ULONG DosRawWriteNPipe (PCSZ pszName, ULONG ulCount);
-ULONG DosSetNPHState (HPIPE hpipe, ULONG ulState);
-ULONG DosSetNPipeSem (HPIPE hpipe, HSEM hsem, ULONG ulKey);
-ULONG DosTransactNPipe (HPIPE hpipe, PVOID pOutbuf, ULONG ulOutbufLength,
-    PVOID pInbuf, ULONG ulInbufLength, PULONG pulBytesRead);
-ULONG DosWaitNPipe (PCSZ pszName, ULONG ulTimeout);
-
-/* ------------------------------- QUEUES --------------------------------- */
-
-#if defined (INCL_DOSQUEUES)
-
-#define QUE_FIFO                       0x0000
-#define QUE_LIFO                       0x0001
-#define QUE_PRIORITY                   0x0002
-#define QUE_NOCONVERT_ADDRESS          0x0000
-#define QUE_CONVERT_ADDRESS            0x0004
-
-typedef struct _REQUESTDATA
-{
-  PID  pid;
-  ULONG ulData;
-} REQUESTDATA;
-typedef REQUESTDATA *PREQUESTDATA;
-
-ULONG DosCreatePipe (PHFILE phfReadHandle, PHFILE phfWriteHandle,
-    ULONG ulPipeSize);
-
-ULONG DosCloseQueue (HQUEUE hq);
-ULONG DosCreateQueue (PHQUEUE phq, ULONG ulPriority, PCSZ pszName);
-ULONG DosOpenQueue (PPID ppid, PHQUEUE phq, PCSZ pszName);
-ULONG DosPeekQueue (HQUEUE hq, PREQUESTDATA pRequest, PULONG pulDataLength,
-    PPVOID pDataAddress, PULONG pulElement, BOOL32 fNowait, PBYTE pPriority,
-    HEV hsem);
-ULONG DosPurgeQueue (HQUEUE hq);
-ULONG DosQueryQueue (HQUEUE hq, PULONG pulCount);
-ULONG DosReadQueue (HQUEUE hq, PREQUESTDATA pRequest, PULONG pulDataLength,
-    PPVOID pDataAddress, ULONG pulElement, BOOL32 fNowait, PBYTE pPriority,
-    HEV hsem);
-ULONG DosWriteQueue (HQUEUE hq, ULONG ulRequest, ULONG ulDataLength,
-    PVOID pData, ULONG ulPriority);
-
-#endif /* INCL_DOSQUEUES */
-
-/* --------------------------- EXCEPTIONS --------------------------------- */
-
-#if defined (INCL_DOSEXCEPTIONS)
-
-#define CONTEXT_CONTROL                        0x0001
-#define CONTEXT_INTEGER                        0x0002
-#define CONTEXT_SEGMENTS               0x0004
-#define CONTEXT_FLOATING_POINT         0x0008
-#define CONTEXT_FULL                   (CONTEXT_CONTROL | CONTEXT_INTEGER | \
-                                 CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT)
-
-#define EH_NONCONTINUABLE              0x0001
-#define EH_UNWINDING                   0x0002
-#define EH_EXIT_UNWIND                 0x0004
-#define EH_STACK_INVALID               0x0008
-#define EH_NESTED_CALL                 0x0010
-
-#define SIG_UNSETFOCUS                 0
-#define SIG_SETFOCUS                   1
-
-#define UNWIND_ALL                     0
-
-#define XCPT_CONTINUE_SEARCH           0x00000000
-#define XCPT_CONTINUE_EXECUTION                0xffffffff
-#define XCPT_CONTINUE_STOP             0x00716668
-
-#define XCPT_SIGNAL_INTR               1
-#define XCPT_SIGNAL_KILLPROC           3
-#define XCPT_SIGNAL_BREAK              4
-
-#define XCPT_FATAL_EXCEPTION           0xc0000000
-#define XCPT_SEVERITY_CODE             0xc0000000
-#define XCPT_CUSTOMER_CODE             0x20000000
-#define XCPT_FACILITY_CODE             0x1fff0000
-#define XCPT_EXCEPTION_CODE            0x0000ffff
-
-#define XCPT_UNKNOWN_ACCESS            0x00000000
-#define XCPT_READ_ACCESS               0x00000001
-#define XCPT_WRITE_ACCESS              0x00000002
-#define XCPT_EXECUTE_ACCESS            0x00000004
-#define XCPT_SPACE_ACCESS              0x00000008
-#define XCPT_LIMIT_ACCESS              0x00000010
-#define XCPT_DATA_UNKNOWN              0xffffffff
-
-#define XCPT_GUARD_PAGE_VIOLATION      0x80000001
-#define XCPT_UNABLE_TO_GROW_STACK      0x80010001
-#define XCPT_ACCESS_VIOLATION          0xc0000005
-#define XCPT_IN_PAGE_ERROR             0xc0000006
-#define XCPT_ILLEGAL_INSTRUCTION       0xc000001c
-#define XCPT_INVALID_LOCK_SEQUENCE     0xc000001d
-#define XCPT_NONCONTINUABLE_EXCEPTION  0xc0000024
-#define XCPT_INVALID_DISPOSITION       0xc0000025
-#define XCPT_UNWIND                    0xc0000026
-#define XCPT_BAD_STACK                 0xc0000027
-#define XCPT_INVALID_UNWIND_TARGET     0xc0000028
-#define XCPT_ARRAY_BOUNDS_EXCEEDED     0xc0000093
-#define XCPT_FLOAT_DENORMAL_OPERAND    0xc0000094
-#define XCPT_FLOAT_DIVIDE_BY_ZERO      0xc0000095
-#define XCPT_FLOAT_INEXACT_RESULT      0xc0000096
-#define XCPT_FLOAT_INVALID_OPERATION   0xc0000097
-#define XCPT_FLOAT_OVERFLOW            0xc0000098
-#define XCPT_FLOAT_STACK_CHECK         0xc0000099
-#define XCPT_FLOAT_UNDERFLOW           0xc000009a
-#define XCPT_INTEGER_DIVIDE_BY_ZERO    0xc000009b
-#define XCPT_INTEGER_OVERFLOW          0xc000009c
-#define XCPT_PRIVILEGED_INSTRUCTION    0xc000009d
-#define XCPT_DATATYPE_MISALIGNMENT     0xc000009e
-#define XCPT_BREAKPOINT                        0xc000009f
-#define XCPT_SINGLE_STEP               0xc00000a0
-#define XCPT_PROCESS_TERMINATE         0xc0010001
-#define XCPT_ASYNC_PROCESS_TERMINATE   0xc0010002
-#define XCPT_SIGNAL                    0xc0010003
-
-typedef struct _fpreg          /* Note 1 */
-{
-  ULONG         losig;
-  ULONG         hisig;
-  USHORT signexp;
-} FPREG;
-typedef FPREG *PFPREG;
-
-typedef struct _CONTEXT                /* Note 1 */
-{
-  ULONG ContextFlags;
-  ULONG ctx_env[7];
-  FPREG ctx_stack[8];
-  ULONG ctx_SegGs;
-  ULONG ctx_SegFs;
-  ULONG ctx_SegEs;
-  ULONG ctx_SegDs;
-  ULONG ctx_RegEdi;
-  ULONG ctx_RegEsi;
-  ULONG ctx_RegEax;
-  ULONG ctx_RegEbx;
-  ULONG ctx_RegEcx;
-  ULONG ctx_RegEdx;
-  ULONG ctx_RegEbp;
-  ULONG ctx_RegEip;
-  ULONG ctx_SegCs;
-  ULONG ctx_EFlags;
-  ULONG ctx_RegEsp;
-  ULONG ctx_SegSs;
-} CONTEXTRECORD;
-typedef CONTEXTRECORD *PCONTEXTRECORD;
-
-#define EXCEPTION_MAXIMUM_PARAMETERS 4
-
-typedef struct _EXCEPTIONREPORTRECORD
-{
-  ULONG                                  ExceptionNum;
-  ULONG                                  fHandlerFlags;
-  struct _EXCEPTIONREPORTRECORD * NestedExceptionReportRecord;
-  PVOID                                  ExceptionAddress;
-  ULONG                                  cParameters;
-  ULONG                                  ExceptionInfo[EXCEPTION_MAXIMUM_PARAMETERS];
-} EXCEPTIONREPORTRECORD;
-typedef EXCEPTIONREPORTRECORD *PEXCEPTIONREPORTRECORD;
-
-struct _EXCEPTIONREGISTRATIONRECORD;
-
-typedef ULONG _ERR (PEXCEPTIONREPORTRECORD pReport,
-                   struct _EXCEPTIONREGISTRATIONRECORD *pRegistration,
-                   PCONTEXTRECORD pContext, PVOID pWhatever);
-typedef _ERR *ERR;
-
-typedef struct _EXCEPTIONREGISTRATIONRECORD
-{
-  struct _EXCEPTIONREGISTRATIONRECORD * __volatile__ prev_structure;
-  ERR __volatile__                                  ExceptionHandler;
-} EXCEPTIONREGISTRATIONRECORD;
-typedef EXCEPTIONREGISTRATIONRECORD *PEXCEPTIONREGISTRATIONRECORD;
-
-#define END_OF_CHAIN           ((PEXCEPTIONREGISTRATIONRECORD)(-1))
-
-ULONG DosAcknowledgeSignalException (ULONG ulSignal);
-ULONG DosEnterMustComplete (PULONG pulNesting);
-ULONG DosExitMustComplete (PULONG pulNesting);
-ULONG DosQueryThreadContext (TID tid, ULONG ulLevel, PCONTEXTRECORD pContext);
-ULONG DosRaiseException (PEXCEPTIONREPORTRECORD pXRepRec);
-ULONG DosSendSignalException (PID pid, ULONG ulSignal);
-ULONG DosSetExceptionHandler (PEXCEPTIONREGISTRATIONRECORD pXRegRec);
-ULONG DosSetSignalExceptionFocus (BOOL32 flag, PULONG pulTimes);
-ULONG DosUnsetExceptionHandler (PEXCEPTIONREGISTRATIONRECORD pXRegRec);
-ULONG DosUnwindException (PEXCEPTIONREGISTRATIONRECORD pXRegRec,
-    PVOID pJumpThere, PEXCEPTIONREPORTRECORD pXRepRec);
-
-#endif /* INCL_DOSEXCEPTIONS */
-
-/* --------------------------- INFORMATION -------------------------------- */
-
-#if defined (INCL_DOSMISC)
-
-#define QSV_MAX_PATH_LENGTH            1
-#define QSV_MAX_TEXT_SESSIONS          2
-#define QSV_MAX_PM_SESSIONS            3
-#define QSV_MAX_VDM_SESSIONS           4
-#define QSV_BOOT_DRIVE                 5
-#define QSV_DYN_PRI_VARIATION          6
-#define QSV_MAX_WAIT                   7
-#define QSV_MIN_SLICE                  8
-#define QSV_MAX_SLICE                  9
-#define QSV_PAGE_SIZE                  10
-#define QSV_VERSION_MAJOR              11
-#define QSV_VERSION_MINOR              12
-#define QSV_VERSION_REVISION           13
-#define QSV_MS_COUNT                   14
-#define QSV_TIME_LOW                   15
-#define QSV_TIME_HIGH                  16
-#define QSV_TOTPHYSMEM                 17
-#define QSV_TOTRESMEM                  18
-#define QSV_TOTAVAILMEM                        19
-#define QSV_MAXPRMEM                   20
-#define QSV_MAXSHMEM                   21
-#define QSV_TIMER_INTERVAL             22
-#define QSV_MAX_COMP_LENGTH            23
-#define QSV_FOREGROUND_FS_SESSION      24
-#define QSV_FOREGROUND_PROCESS         25
-#define QSV_MAX                                QSV_FOREGROUND_PROCESS
-
-#define SIS_MMIOADDR                   0
-#define SIS_MEC_TABLE                  1
-#define SIS_SYS_LOG                    2
-
-ULONG DosQuerySysInfo (ULONG ulStart, ULONG ulLast, PVOID pBuf,
-    ULONG ulBufLength);
-ULONG DosScanEnv (PCSZ pszName, PSZ *pszValue);
-ULONG DosQueryRASInfo (ULONG Index, PPVOID Addr);
-
-#endif /* INCL_DOSMISC */
-
-/* ---------------------------- TIMERS ------------------------------------ */
-
-#if defined (INCL_DOSDATETIME) || !defined (INCL_NOCOMMON)
-
-typedef struct _DATETIME
-{
-  UCHAR         hours;
-  UCHAR         minutes;
-  UCHAR         seconds;
-  UCHAR         hundredths;
-  UCHAR         day;
-  UCHAR         month;
-  USHORT year;
-  SHORT         timezone;
-  UCHAR         weekday;
-} DATETIME;
-typedef DATETIME *PDATETIME;
-
-ULONG DosGetDateTime (PDATETIME pdt);
-ULONG DosSetDateTime (__const__ DATETIME *pdt);
-
-#endif /* INCL_DOSDATETIME || !INCL_NOCOMMON */
-
-
-#if defined (INCL_DOSDATETIME)
-
-typedef LHANDLE HTIMER;
-typedef HTIMER *PHTIMER;
-
-ULONG DosAsyncTimer (ULONG ulMilliSec, HSEM hsem, PHTIMER phtimer);
-ULONG DosStartTimer (ULONG ulMilliSec, HSEM hsem, PHTIMER phtimer);
-ULONG DosStopTimer (HTIMER htimer);
-
-#endif /* INCL_DOSDATETIME */
-
-#if defined (INCL_DOSPROFILE)
-
-typedef struct _QWORD
-{
-  ULONG ulLo;
-  ULONG ulHi;
-} QWORD;
-typedef QWORD *PQWORD;
-
-ULONG DosTmrQueryFreq (PULONG pulTmrFreq);
-ULONG DosTmrQueryTime (PQWORD pqwTmrTime);
-
-#endif /* INCL_DOSPROFILE */
-
-/* ---------------------- VIRTUAL DOS MACHINES----------------------------- */
-
-typedef USHORT SGID;
-
-#if defined (INCL_DOSMVDM)
-
-typedef LHANDLE HVDD;
-typedef HVDD *PHVDD;
-
-ULONG DosCloseVDD (HVDD hvdd);
-ULONG DosOpenVDD (PCSZ pszVDD, PHVDD phvdd);
-ULONG DosQueryDOSProperty (SGID sgidSesssionID, PCSZ pszName,
-    ULONG ulBufferLength, PSZ pBuffer);
-ULONG DosRequestVDD (HVDD hvdd, SGID sgidSessionID, ULONG ulCommand,
-    ULONG ulInputBufferLength, PVOID pInputBuffer,
-    ULONG ulOutputBufferLength, PVOID pOutputBuffer);
-ULONG DosSetDOSProperty (SGID sgidSessionID, PCSZ pszName,
-    ULONG ulBufferLength, PCSZ pBuffer);
-
-#endif /* INCL_DOSMVDM */
-
-/* --------------------------- DEBUGGING ---------------------------------- */
-
-#if defined (INCL_DOSPROCESS)
-
-#define DBG_C_Null                     0
-#define DBG_C_ReadMem                  1
-#define DBG_C_ReadMem_I                        1
-#define DBG_C_ReadMem_D                        2
-#define DBG_C_ReadReg                  3
-#define DBG_C_WriteMem                 4
-#define DBG_C_WriteMem_I               4
-#define DBG_C_WriteMem_D               5
-#define DBG_C_WriteReg                 6
-#define DBG_C_Go                       7
-#define DBG_C_Term                     8
-#define DBG_C_SStep                    9
-#define DBG_C_Stop                     10
-#define DBG_C_Freeze                   11
-#define DBG_C_Resume                   12
-#define DBG_C_NumToAddr                        13
-#define DBG_C_ReadCoRegs               14
-#define DBG_C_WriteCoRegs              15
-#define DBG_C_ThrdStat                 17
-#define DBG_C_MapROAlias               18
-#define DBG_C_MapRWAlias               19
-#define DBG_C_UnMapAlias               20
-#define DBG_C_Connect                  21
-#define DBG_C_ReadMemBuf               22
-#define DBG_C_WriteMemBuf              23
-#define DBG_C_SetWatch                 24
-#define DBG_C_ClearWatch               25
-#define DBG_C_RangeStep                        26
-#define DBG_C_Continue                 27
-#define DBG_C_AddrToObject             28
-#define DBG_C_XchngOpcode              29
-#define DBG_C_LinToSel                 30
-#define DBG_C_SelToLin                 31
-
-#define DBG_N_Success                  0
-#define DBG_N_Error                    (-1)
-#define DBG_N_ProcTerm                 (-6)
-#define DBG_N_Exception                        (-7)
-#define DBG_N_ModuleLoad               (-8)
-#define DBG_N_CoError                  (-9)
-#define DBG_N_ThreadTerm               (-10)
-#define DBG_N_AsyncStop                        (-11)
-#define DBG_N_NewProc                  (-12)
-#define DBG_N_AliasFree                        (-13)
-#define DBG_N_Watchpoint               (-14)
-#define DBG_N_ThreadCreate             (-15)
-#define DBG_N_ModuleFree               (-16)
-#define DBG_N_RangeStep                        (-17)
-
-#define DBG_D_Thawed                   0
-#define DBG_D_Frozen                   1
-
-#define DBG_T_Runnable                 0
-#define DBG_T_Suspended                        1
-#define DBG_T_Blocked                  2
-#define DBG_T_CritSec                  3
-
-#define DBG_L_386                      1
-
-#define DBG_LEN_387                    108
-
-#define DBG_CO_387                     1
-
-#define DBG_O_OBJMTE                   0x10000000
-
-#define DBG_W_Global                   0x00000001
-#define DBG_W_Local                    0x00000002
-#define DBG_W_Execute                  0x00010000
-#define DBG_W_Write                    0x00020000
-#define DBG_W_ReadWrite                        0x00030000
-
-#define DBG_X_PRE_FIRST_CHANCE         0x00000000
-#define DBG_X_FIRST_CHANCE             0x00000001
-#define DBG_X_LAST_CHANCE              0x00000002
-#define DBG_X_STACK_INVALID            0x00000003
-
-typedef struct _TStat
-{
-  UCHAR         DbgState;
-  UCHAR         TState;
-  USHORT TPriority;
-} TStat_t;
-
-typedef struct _uDB
-{
-  ULONG         Pid;
-  ULONG         Tid;
-  LONG  Cmd;
-  LONG  Value;
-  ULONG         Addr;
-  ULONG         Buffer;
-  ULONG         Len;
-  ULONG         Index;
-  ULONG         MTE;
-  ULONG         EAX;
-  ULONG         ECX;
-  ULONG         EDX;
-  ULONG         EBX;
-  ULONG         ESP;
-  ULONG         EBP;
-  ULONG         ESI;
-  ULONG         EDI;
-  ULONG         EFlags;
-  ULONG         EIP;
-  ULONG         CSLim;
-  ULONG         CSBase;
-  UCHAR         CSAcc;
-  UCHAR         CSAtr;
-  USHORT CS;
-  ULONG         DSLim;
-  ULONG         DSBase;
-  UCHAR         DSAcc;
-  UCHAR         DSAtr;
-  USHORT DS;
-  ULONG         ESLim;
-  ULONG         ESBase;
-  UCHAR         ESAcc;
-  UCHAR         ESAtr;
-  USHORT ES;
-  ULONG         FSLim;
-  ULONG         FSBase;
-  UCHAR         FSAcc;
-  UCHAR         FSAtr;
-  USHORT FS;
-  ULONG         GSLim;
-  ULONG         GSBase;
-  UCHAR         GSAcc;
-  UCHAR         GSAtr;
-  USHORT GS;
-  ULONG         SSLim;
-  ULONG         SSBase;
-  UCHAR         SSAcc;
-  UCHAR         SSAtr;
-  USHORT SS;
-} uDB_t;
-
-ULONG DosDebug (uDB_t *pDebugBuffer);
-
-#endif /* INCL_DOSPROCESS */
-
-/* ---------------------------- MESSAGES ---------------------------------- */
-
-#if defined (INCL_DOSMISC)
-
-ULONG DosGetMessage (PCHAR *pTable, ULONG ulTableEntries,
-    PCHAR pBuffer, ULONG ulBufferLengthMax, ULONG ulMsgnNumber,
-    PCSZ pszFile, PULONG pulBufferLength);
-ULONG DosInsertMessage (PCHAR *pTable, ULONG ulCount, PCSZ pszMsg,
-    ULONG ulMsgLength, PCHAR pBuffer, ULONG ulBufferLengthMax,
-    PULONG pulBufferLength);
-ULONG DosPutMessage (HFILE hfile, ULONG ulMessageLength, PCHAR pMessage);
-ULONG DosQueryMessageCP (PCHAR pBuffer, ULONG ulBufferLengthMax,
-    PCSZ pszFilename, PULONG pulBufferLength);
-
-#endif /* INCL_DOSMISC */
-
-/* ----------------------------- RAS -------------------------------------- */
-
-#if defined (INCL_DOSRAS)
-
-#define DDP_DISABLEPROCDUMP            0
-#define DDP_ENABLEPROCDUMP             1
-#define DDP_PERFORMPROCDUMP            2
-
-#define LF_LOGENABLE                   0x0001
-#define LF_LOGAVAILABLE                        0x0002
-
-#define SIS_MMIOADDR                   0
-#define SIS_MEC_TABLE                  1
-#define SIS_SYS_LOG                    2
-
-#define SPU_DISABLESUPPRESSION         0
-#define SPU_ENABLESUPPRESSION          1
-
-ULONG DosDumpProcess (ULONG ulFlag, ULONG ulDrive, PID pid);
-ULONG DosForceSystemDump (ULONG ulReserved);
-ULONG DosQueryRASInfo (ULONG ulIndex, PPVOID addr);
-ULONG DosSuppressPopUps (ULONG ulFlag, ULONG ulDrive);
-
-#endif /* INCL_DOSRAS */
-
-/* ---------------------------- REXX -------------------------------------- */
-
-#define RXAUTOBUFLEN                   256
-
-typedef struct _RXSTRING
-{
-  ULONG strlength;
-  PCH  strptr;
-} RXSTRING;
-typedef RXSTRING *PRXSTRING;
-
-typedef struct _RXSYSEXIT
-{
-  PSZ  sysexit_name;
-  LONG sysexit_code;
-} RXSYSEXIT;
-typedef RXSYSEXIT *PRXSYSEXIT;
-
-#define RXNULLSTRING(r)                ((r).strptr == (PCH)0)
-#define RXZEROLENSTRING(r)     ((r).strptr != (PCH)0 && (r).strlength == 0)
-#define RXVALIDSTRING(r)       ((r).strptr != (PCH)0 && (r).strlength != 0)
-#define RXSTRLEN(r)            (RXNULLSTRING(r) ? 0 : (r).strlength)
-#define RXSTRPTR(r)            (r).strptr
-#define MAKERXSTRING(r,p,l) \
-    ((r).strptr = (PCH)p, (r).strlength = (ULONG)l)
-
-#define RXCOMMAND                      0
-#define RXSUBROUTINE                   1
-#define RXFUNCTION                     2
-
-#if defined (INCL_RXSUBCOM)
-
-#define RXSUBCOM_DROPPABLE             0x0000
-#define RXSUBCOM_NONDROP               0x0001
-
-#define RXSUBCOM_ISREG                 0x0001
-#define RXSUBCOM_ERROR                 0x0001
-#define RXSUBCOM_FAILURE               0x0002
-
-#define RXSUBCOM_BADENTRY              1001
-#define RXSUBCOM_NOEMEM                        1002
-#define RXSUBCOM_BADTYPE               1003
-#define RXSUBCOM_NOTINIT               1004
-
-#define RXSUBCOM_OK                    0
-#define RXSUBCOM_DUP                   10
-#define RXSUBCOM_MAXREG                        20
-#define RXSUBCOM_NOTREG                        30
-#define RXSUBCOM_NOCANDROP             40
-#define RXSUBCOM_LOADERR               50
-#define RXSUBCOM_NOPROC                        127
-
-typedef ULONG RexxSubcomHandler (PRXSTRING prxCommand, PUSHORT pusFlags,
-    PRXSTRING prxResult);
-
-ULONG RexxDeregisterSubcom (PCSZ pszEnvName, PCSZ pszModuleName);
-ULONG RexxQuerySubcom (PCSZ pszEnvName, PCSZ pszModuleName, PUSHORT pusFlags,
-    PUCHAR pUserWord);
-ULONG RexxRegisterSubcomDll (PCSZ pszEnvName, PCSZ pszModuleName,
-    PCSZ pszEntryPoint, PUCHAR pUserArea, ULONG ulDropAuth);
-ULONG RexxRegisterSubcomExe (PCSZ pszEnvName, PFN pfnEntryPoint,
-    PUCHAR pUserArea);
-
-#define REXXDEREGISTERSUBCOM  RexxDeregisterSubcom
-#define REXXREGISTERSUBCOMDLL          RexxRegisterSubcomDll
-#define REXXREGISTERSUBCOMEXE          RexxRegisterSubcomExe
-#define REXXQUERYSUBCOM                        RexxQuerySubcom
-
-#endif /* INCL_RXSUBCOM */
-
-#if defined (INCL_RXSHV)
-
-#define RXSHV_SET                      0x0000
-#define RXSHV_FETCH                    0x0001
-#define RXSHV_DROPV                    0x0002
-#define RXSHV_SYSET                    0x0003
-#define RXSHV_SYFET                    0x0004
-#define RXSHV_SYDRO                    0x0005
-#define RXSHV_NEXTV                    0x0006
-#define RXSHV_PRIV                     0x0007
-#define RXSHV_EXIT                     0x0008
-
-#define RXSHV_NOAVL                    144
-
-#define RXSHV_OK                       0x0000
-#define RXSHV_NEWV                     0x0001
-#define RXSHV_LVAR                     0x0002
-#define RXSHV_TRUNC                    0x0004
-#define RXSHV_BADN                     0x0008
-#define RXSHV_MEMFL                    0x0010
-#define RXSHV_BADF                     0x0080
-
-typedef struct _SHVBLOCK
-{
-  struct _SHVBLOCK *shvnext;
-  RXSTRING         shvname;
-  RXSTRING         shvvalue;
-  ULONG                    shvnamelen;
-  ULONG                    shvvaluelen;
-  UCHAR                    shvcode;
-  UCHAR                    shvret;
-} SHVBLOCK;
-typedef SHVBLOCK *PSHVBLOCK;
-
-ULONG RexxVariablePool (PSHVBLOCK pRequest);
-
-#define REXXVARIABLEPOOL               RexxVariablePool
-
-#endif /* INCL_RXSHV */
-
-#if defined (INCL_RXFUNC)
-
-#define RXFUNC_DYNALINK                        1
-#define RXFUNC_CALLENTRY               2
-
-#define RXFUNC_OK                      0
-#define RXFUNC_DEFINED                 10
-#define RXFUNC_NOMEM                   20
-#define RXFUNC_NOTREG                  30
-#define RXFUNC_MODNOTFND               40
-#define RXFUNC_ENTNOTFND               50
-#define RXFUNC_NOTINIT                 60
-#define RXFUNC_BADTYPE                 70
-
-typedef ULONG RexxFunctionHandler (PCSZ pszName, ULONG ulArgCount,
-    PRXSTRING prxArgList, PCSZ pszQueueName, PRXSTRING prxResult);
-
-ULONG RexxDeregisterFunction (PCSZ pszFuncName);
-ULONG RexxQueryFunction (PCSZ pszFuncName);
-ULONG RexxRegisterFunctionDll (PCSZ pszFuncName, PCSZ pszModuleName,
-    PCSZ pszEntryPoint);
-ULONG RexxRegisterFunctionExe (PCSZ pszFuncName,
-    RexxFunctionHandler *pfnEntryPoint);
-
-#define REXXDEREGISTERFUNCTION RexxDeregisterFunction
-#define REXXQUERYFUNCTION  RexxQueryFunction
-#define REXXREGISTERFUNCTIONDLL                RexxRegisterFunctionDll
-#define REXXREGISTERFUNCTIONEXE                RexxRegisterFunctionExe
-
-#endif /* INCL_RXFUNC */
-
-#if defined (INCL_RXSYSEXIT)
-
-#define RXEXIT_DROPPABLE               0x0000
-#define RXEXIT_NONDROP                 0x0001
-
-#define RXEXIT_HANDLED                 0
-#define RXEXIT_NOT_HANDLED             1
-#define RXEXIT_RAISE_ERROR             (-1)
-
-#define RXEXIT_ISREG                   0x0001
-#define RXEXIT_ERROR                   0x0001
-#define RXEXIT_FAILURE                 0x0002
-
-#define RXEXIT_BADENTRY                        1001
-#define RXEXIT_NOEMEM                  1002
-#define RXEXIT_BADTYPE                 1003
-#define RXEXIT_NOTINIT                 1004
-
-#define RXEXIT_OK                      0
-#define RXEXIT_DUP                     10
-#define RXEXIT_MAXREG                  20
-#define RXEXIT_NOTREG                  30
-#define RXEXIT_NOCANDROP               40
-#define RXEXIT_LOADERR                 50
-#define RXEXIT_NOPROC                  127
-
-#define RXENDLST                       0
-
-#define RXFNC                          2
-#define RXFNCCAL                       1
-
-#define RXCMD                          3
-#define RXCMDHST                       1
-
-#define RXMSQ                          4
-#define RXMSQPLL                       1
-#define RXMSQPSH                       2
-#define RXMSQSIZ                       3
-#define RXMSQNAM                       20
-
-#define RXSIO                          5
-#define RXSIOSAY                       1
-#define RXSIOTRC                       2
-#define RXSIOTRD                       3
-#define RXSIODTR                       4
-#define RXSIOTLL                       5
-
-#define RXHLT                          7
-#define RXHLTCLR                       1
-#define RXHLTTST                       2
-
-#define RXTRC                          8
-#define RXTRCTST                       1
-
-#define RXINI                          9
-#define RXINIEXT                       1
-
-#define RXTER                          10
-#define RXTEREXT                       1
-
-#define RXNOOFEXITS                    11
-
-typedef PUCHAR PEXIT;
-
-typedef struct _RXFNC_FLAGS
-{
-  ULONG rxfferr         : 1;
-  ULONG rxffnfnd : 1;
-  ULONG rxffsub         : 1;
-} RXFNC_FLAGS;
-
-typedef struct _RXFNCCAL_PARM
-{
-  RXFNC_FLAGS rxfnc_flags;
-  PUCHAR      rxfnc_name;
-  USHORT      rxfnc_namel;
-  PUCHAR      rxfnc_que;
-  USHORT      rxfnc_quel;
-  USHORT      rxfnc_argc;
-  PRXSTRING   rxfnc_argv;
-  RXSTRING    rxfnc_retc;
-} RXFNCCAL_PARM;
-
-typedef struct _RXCMD_FLAGS
-{
-  ULONG rxfcfail : 1;
-  ULONG rxfcerr         : 1;
-} RXCMD_FLAGS;
-
-typedef struct _RXCMDHST_PARM
-{
-  RXCMD_FLAGS rxcmd_flags;
-  PUCHAR      rxcmd_address;
-  USHORT      rxcmd_addressl;
-  PUCHAR      rxcmd_dll;
-  USHORT      rxcmd_dll_len;
-  RXSTRING    rxcmd_command;
-  RXSTRING    rxcmd_retc;
-} RXCMDHST_PARM;
-
-typedef struct _RXMSQPLL_PARM
-{
-  RXSTRING rxmsq_retc;
-} RXMSQPLL_PARM;
-
-typedef struct _RXMSQ_FLAGS
-{
-  ULONG rxfmlifo : 1;
-} RXMSQ_FLAGS;
-
-typedef struct _RXMSQPSH_PARM
-{
-  RXMSQ_FLAGS rxmsq_flags;
-  RXSTRING    rxmsq_value;
-} RXMSQPSH_PARM;
-
-typedef struct _RXMSQSIZ_PARM
-{
-  ULONG rxmsq_size;
-} RXMSQSIZ_PARM;
-
-typedef struct _RXMSQNAM_PARM
-{
-  RXSTRING rxmsq_name;
-} RXMSQNAM_PARM;
-
-typedef struct _RXSIOSAY_PARM
-{
-  RXSTRING rxsio_string;
-} RXSIOSAY_PARM;
-
-typedef struct _RXSIOTRC_PARM
-{
-  RXSTRING rxsio_string;
-} RXSIOTRC_PARM;
-
-typedef struct _RXSIOTRD_PARM
-{
-  RXSTRING rxsiotrd_retc;
-} RXSIOTRD_PARM;
-
-typedef struct _RXSIODR_PARM
-{
-  RXSTRING rxsiodtr_retc;
-} RXSIODTR_PARM;
-
-typedef struct _RXHLT_FLAGS
-{
-  ULONG rxfhhalt : 1;
-} RXHLT_FLAGS;
-
-typedef struct _RXHLTTST_PARM
-{
-  RXHLT_FLAGS rxhlt_flags;
-} RXHLTTST_PARM;
-
-typedef struct _RXTRC_FLAGS
-{
-  ULONG rxftrace : 1;
-} RXTRC_FLAGS;
-
-typedef struct _RXTRCTST_PARM
-{
-  RXTRC_FLAGS rxtrc_flags;
-} RXTRCTST_PARM;
-
-typedef LONG RexxExitHandler (LONG lExitNumber, LONG lSubfunction,
-    PEXIT pParmBlock);
-
-ULONG RexxDeregisterExit (PCSZ pszEnvName, PCSZ pszModuleName);
-ULONG RexxQueryExit (PCSZ pszEnvName, PCSZ pszModuleName, PUSHORT pusFlag,
-    PUCHAR pUserWord);
-ULONG RexxRegisterExitDll (PCSZ pszEnvName, PCSZ pszModuleName,
-    PCSZ pszEntryName, PUCHAR pUserArea, ULONG ulDropAuth);
-ULONG RexxRegisterExitExe (PCSZ pszEnvName, PFN pfnEntryPoint,
-    PUCHAR pUserArea);
-
-#define REXXDEREGISTEREXIT             RexxDeregisterExit
-#define REXXQUERYEXIT                  RexxQueryExit
-#define REXXREGISTEREXITDLL            RexxRegisterExitDll
-#define REXXREGISTEREXITEXE            RexxRegisterExitExe
-
-#endif /* INCL_RXSYSEXIT */
-
-#if defined (INCL_RXARI)
-
-#define RXARI_OK                       0
-#define RXARI_NOT_FOUND                        1
-#define RXARI_PROCESSING_ERROR         2
-
-ULONG RexxResetTrace (PID pid, TID tid);
-ULONG RexxSetHalt (PID pid, TID tid);
-ULONG RexxSetTrace (PID pid, TID tid);
-
-#define REXXRESETTRACE                 RexxResetTrace
-#define REXXSETHALT                    RexxSetHalt
-#define REXXSETTRACE                   RexxSetTrace
-
-#endif /* INCL_RXARI */
-
-#if defined (INCL_RXMACRO)
-
-#define RXMACRO_SEARCH_BEFORE          1
-#define RXMACRO_SEARCH_AFTER           2
-
-#define RXMACRO_OK                     0
-#define RXMACRO_NO_STORAGE             1
-#define RXMACRO_NOT_FOUND              2
-#define RXMACRO_EXTENSION_REQUIRED     3
-#define RXMACRO_ALREADY_EXISTS         4
-#define RXMACRO_FILE_ERROR             5
-#define RXMACRO_SIGNATURE_ERROR                6
-#define RXMACRO_SOURCE_NOT_FOUND       7
-#define RXMACRO_INVALID_POSITION       8
-#define RXMACRO_NOT_INIT               9
-
-ULONG RexxAddMacro (PCSZ pszFuncName, PCSZ pszSourceFile, ULONG ulPosition);
-ULONG RexxClearMacroSpace (VOID);
-ULONG RexxDropMacro (PCSZ pszFuncName);
-ULONG RexxLoadMacroSpace (ULONG ulFuncCout, PCSZ *apszFuncNames,
-    PCSZ pszMacroLibFile);
-ULONG RexxQueryMacro (PCSZ pszFuncName, PUSHORT pusPosition);
-ULONG RexxReorderMacro(PCSZ pszFuncName, ULONG ulPosition);
-ULONG RexxSaveMacroSpace (ULONG ulFuncCount, PCSZ *apszFuncNames,
-    PCSZ pszMacroLibFile);
-
-#define REXXADDMACRO                   RexxAddMacro
-#define REXXCLEARMACROSPACE            RexxClearMacroSpace
-#define REXXDROPMACRO                  RexxDropMacro
-#define REXXSAVEMACROSPACE             RexxSaveMacroSpace
-#define REXXLOADMACROSPACE             RexxLoadMacroSpace
-#define REXXQUERYMACRO                 RexxQueryMacro
-#define REXXREORDERMACRO               RexxReorderMacro
-
-#endif /* INCL_RXMACRO */
-
-LONG RexxStart (LONG lArgCount, PRXSTRING prxArgList, PCSZ pszProgramName,
-    PRXSTRING prxInstore, PCSZ pszEnvName, LONG lCallType, PRXSYSEXIT pExits,
-    PSHORT psReturnCode, PRXSTRING prxResult);
-
-#define REXXSTART                      RexxStart
-
-/* ----------------------- PRESENTATION MANAGER --------------------------- */
-
-#define         CTLS_WM_BIDI_FIRST             0x390
-#define         CTLS_WM_BIDI_LAST              0x39f
-
-#if defined (INCL_NLS)
-#define WM_DBCSFIRST                   0x00b0
-#define WM_DBCSLAST                    0x00cf
-#endif /* INCL_NLS */
-
-#define WC_FRAME                       ((PSZ)0xffff0001)
-#define WC_COMBOBOX                    ((PSZ)0xffff0002)
-#define WC_BUTTON                      ((PSZ)0xffff0003)
-#define WC_MENU                                ((PSZ)0xffff0004)
-#define WC_STATIC                      ((PSZ)0xffff0005)
-#define WC_ENTRYFIELD                  ((PSZ)0xffff0006)
-#define WC_LISTBOX                     ((PSZ)0xffff0007)
-#define WC_SCROLLBAR                   ((PSZ)0xffff0008)
-#define WC_TITLEBAR                    ((PSZ)0xffff0009)
-#define WC_MLE                         ((PSZ)0xffff000a)
-#define WC_APPSTAT                     ((PSZ)0xffff0010)
-#define WC_KBDSTAT                     ((PSZ)0xffff0011)
-#define WC_PECIC                       ((PSZ)0xffff0012)
-#define WC_DBE_KKPOPUP                 ((PSZ)0xffff0013)
-#define WC_SPINBUTTON                  ((PSZ)0xffff0020)
-#define WC_CONTAINER                   ((PSZ)0xffff0025)
-#define WC_SLIDER                      ((PSZ)0xffff0026)
-#define WC_VALUESET                    ((PSZ)0xffff0027)
-#define WC_NOTEBOOK                    ((PSZ)0xffff0028)
-#define WC_PENFIRST                    ((PSZ)0xffff0029)
-#define WC_PENLAST                     ((PSZ)0xffff002c)
-#define WC_MMPMFIRST                   ((PSZ)0xffff0040)
-#define WC_CIRCULARSLIDER              ((PSZ)0xffff0041)
-#define WC_MMPMLAST                    ((PSZ)0xffff004f)
-
-#define WS_VISIBLE                     0x80000000
-#define WS_DISABLED                    0x40000000
-#define WS_CLIPCHILDREN                        0x20000000
-#define WS_CLIPSIBLINGS                        0x10000000
-#define WS_PARENTCLIP                  0x08000000
-#define WS_SAVEBITS                    0x04000000
-#define WS_SYNCPAINT                   0x02000000
-#define WS_MINIMIZED                   0x01000000
-#define WS_MAXIMIZED                   0x00800000
-#define WS_ANIMATE                     0x00400000
-#define WS_GROUP                       0x00010000
-#define WS_TABSTOP                     0x00020000
-#define WS_MULTISELECT                 0x00040000
-
-#define CS_MOVENOTIFY                  0x00000001
-#define CS_SIZEREDRAW                  0x00000004
-#define CS_HITTEST                     0x00000008
-#define CS_PUBLIC                      0x00000010
-#define CS_FRAME                       0x00000020
-#define CS_CLIPCHILDREN                        0x20000000
-#define CS_CLIPSIBLINGS                        0x10000000
-#define CS_PARENTCLIP                  0x08000000
-#define CS_SAVEBITS                    0x04000000
-#define CS_SYNCPAINT                   0x02000000
-
-#define MID_NONE                       (-1)
-#define MID_ERROR                      (-1)
-
-#define DB_PATCOPY                     0x0000
-#define DB_PATINVERT                   0x0001
-#define DB_DESTINVERT                  0x0002
-#define DB_AREAMIXMODE                 0x0003
-
-#define DB_ROP                         0x0007
-#define DB_INTERIOR                    0x0008
-#define DB_AREAATTRS                   0x0010
-#define DB_STANDARD                    0x0100
-#define DB_DLGBORDER                   0x0200
-
-#define DBM_NORMAL                     0x0000
-#define DBM_INVERT                     0x0001
-#define DBM_HALFTONE                   0x0002
-#define DBM_STRETCH                    0x0004
-#define DBM_IMAGEATTRS                 0x0008
-
-#define DT_LEFT                                0x00000000
-#define DT_QUERYEXTENT                 0x00000002
-#define DT_UNDERSCORE                  0x00000010
-#define DT_STRIKEOUT                   0x00000020
-#define DT_TEXTATTRS                   0x00000040
-#define DT_EXTERNALLEADING             0x00000080
-#define DT_CENTER                      0x00000100
-#define DT_RIGHT                       0x00000200
-#define DT_TOP                         0x00000000
-#define DT_VCENTER                     0x00000400
-#define DT_BOTTOM                      0x00000800
-#define DT_HALFTONE                    0x00001000
-#define DT_MNEMONIC                    0x00002000
-#define DT_WORDBREAK                   0x00004000
-#define DT_ERASERECT                   0x00008000
-
-#define QW_NEXT                                0
-#define QW_PREV                                1
-#define QW_TOP                         2
-#define QW_BOTTOM                      3
-#define QW_OWNER                       4
-#define QW_PARENT                      5
-#define QW_NEXTTOP                     6
-#define QW_PREVTOP                     7
-#define QW_FRAMEOWNER                  8
-
-#define SWP_SIZE                       0x0001
-#define SWP_MOVE                       0x0002
-#define SWP_ZORDER                     0x0004
-#define SWP_SHOW                       0x0008
-#define SWP_HIDE                       0x0010
-#define SWP_NOREDRAW                   0x0020
-#define SWP_NOADJUST                   0x0040
-#define SWP_ACTIVATE                   0x0080
-#define SWP_DEACTIVATE                 0x0100
-#define SWP_EXTSTATECHANGE             0x0200
-#define SWP_MINIMIZE                   0x0400
-#define SWP_MAXIMIZE                   0x0800
-#define SWP_RESTORE                    0x1000
-#define SWP_FOCUSACTIVATE              0x2000
-#define SWP_FOCUSDEACTIVATE            0x4000
-#define SWP_NOAUTOCLOSE                        0x8000
-
-#define AWP_MINIMIZED                  0x00010000
-#define AWP_MAXIMIZED                  0x00020000
-#define AWP_RESTORED                   0x00040000
-#define AWP_ACTIVATE                   0x00080000
-#define AWP_DEACTIVATE                 0x00100000
-
-#define HWND_DESKTOP                   ((HWND)1)
-#define HWND_OBJECT                    ((HWND)2)
-#define HWND_TOP                       ((HWND)3)
-#define HWND_BOTTOM                    ((HWND)4)
-#define HWND_THREADCAPTURE             ((HWND)5)
-
-#define EAF_DEFAULTOWNER               0x0001
-#define EAF_UNCHANGEABLE               0x0002
-#define EAF_REUSEICON                  0x0004
-
-#define ICON_FILE                      1
-#define ICON_RESOURCE                  2
-#define ICON_DATA                      3
-#define ICON_CLEAR                     4
-
-#define SZDDEFMT_RTF                   "Rich Text Format"
-#define SZDDEFMT_PTRPICT               "Printer_Picture"
-
-#define STR_DLLNAME                    "keyremap"
-
-#if defined (INCL_WINERRORS)
-
-#define PMERR_INVALID_HWND             0x1001
-#define PMERR_INVALID_HMQ              0x1002
-#define PMERR_PARAMETER_OUT_OF_RANGE   0x1003
-#define PMERR_WINDOW_LOCK_UNDERFLOW    0x1004
-#define PMERR_WINDOW_LOCK_OVERFLOW     0x1005
-#define PMERR_BAD_WINDOW_LOCK_COUNT    0x1006
-#define PMERR_WINDOW_NOT_LOCKED                0x1007
-#define PMERR_INVALID_SELECTOR         0x1008
-#define PMERR_CALL_FROM_WRONG_THREAD   0x1009
-#define PMERR_RESOURCE_NOT_FOUND       0x100a
-#define PMERR_INVALID_STRING_PARM      0x100b
-#define PMERR_INVALID_HHEAP            0x100c
-#define PMERR_INVALID_HEAP_POINTER     0x100d
-#define PMERR_INVALID_HEAP_SIZE_PARM   0x100e
-#define PMERR_INVALID_HEAP_SIZE                0x100f
-#define PMERR_INVALID_HEAP_SIZE_WORD   0x1010
-#define PMERR_HEAP_OUT_OF_MEMORY       0x1011
-#define PMERR_HEAP_MAX_SIZE_REACHED    0x1012
-#define PMERR_INVALID_HATOMTBL         0x1013
-#define PMERR_INVALID_ATOM             0x1014
-#define PMERR_INVALID_ATOM_NAME                0x1015
-#define PMERR_INVALID_INTEGER_ATOM     0x1016
-#define PMERR_ATOM_NAME_NOT_FOUND      0x1017
-#define PMERR_QUEUE_TOO_LARGE          0x1018
-#define PMERR_INVALID_FLAG             0x1019
-#define PMERR_INVALID_HACCEL           0x101a
-#define PMERR_INVALID_HPTR             0x101b
-#define PMERR_INVALID_HENUM            0x101c
-#define PMERR_INVALID_SRC_CODEPAGE     0x101d
-#define PMERR_INVALID_DST_CODEPAGE     0x101e
-#define PMERR_UNKNOWN_COMPONENT_ID     0x101f
-#define PMERR_UNKNOWN_ERROR_CODE       0x1020
-#define PMERR_SEVERITY_LEVELS          0x1021
-#define PMERR_INVALID_RESOURCE_FORMAT  0x1034
-#define PMERR_NO_MSG_QUEUE             0x1036
-#define PMERR_CANNOT_SET_FOCUS         0x1037
-#define PMERR_QUEUE_FULL               0x1038
-#define PMERR_LIBRARY_LOAD_FAILED      0x1039
-#define PMERR_PROCEDURE_LOAD_FAILED    0x103a
-#define PMERR_LIBRARY_DELETE_FAILED    0x103b
-#define PMERR_PROCEDURE_DELETE_FAILED  0x103c
-#define PMERR_ARRAY_TOO_LARGE          0x103d
-#define PMERR_ARRAY_TOO_SMALL          0x103e
-#define PMERR_DATATYPE_ENTRY_BAD_INDEX 0x103f
-#define PMERR_DATATYPE_ENTRY_CTL_BAD   0x1040
-#define PMERR_DATATYPE_ENTRY_CTL_MISS  0x1041
-#define PMERR_DATATYPE_ENTRY_INVALID   0x1042
-#define PMERR_DATATYPE_ENTRY_NOT_NUM   0x1043
-#define PMERR_DATATYPE_ENTRY_NOT_OFF   0x1044
-#define PMERR_DATATYPE_INVALID         0x1045
-#define PMERR_DATATYPE_NOT_UNIQUE      0x1046
-#define PMERR_DATATYPE_TOO_LONG                0x1047
-#define PMERR_DATATYPE_TOO_SMALL       0x1048
-#define PMERR_DIRECTION_INVALID                0x1049
-#define PMERR_INVALID_HAB              0x104a
-#define PMERR_INVALID_HSTRUCT          0x104d
-#define PMERR_LENGTH_TOO_SMALL         0x104e
-#define PMERR_MSGID_TOO_SMALL          0x104f
-#define PMERR_NO_HANDLE_ALLOC          0x1050
-#define PMERR_NOT_IN_A_PM_SESSION      0x1051
-#define PMERR_MSG_QUEUE_ALREADY_EXISTS 0x1052
-#define PMERR_SEND_MSG_TIMEOUT         0x1053
-#define PMERROR_SEND_MSG_FAILED                0x1054
-#define PMERR_OLD_RESOURCE             0x1055
-#define PMERR_WPDSERVER_IS_ACTIVE      0x1056
-#define PMERR_WPDSERVER_NOT_STARTED    0x1057
-#define PMERR_SOMDD_IS_ACTIVE          0x1058
-#define PMERR_SOMDD_NOT_STARTED                0x1059
-
-#define PMERR_BIDI_FIRST               0x10f0
-#define PMERR_BIDI_LAST                        0x10ff
-
-#endif /* INCL_WINERRORS */
-
-#if defined (INCL_SHLERRORS)
-
-#define PMERR_INVALID_PIB              0x1101
-#define PMERR_INSUFF_SPACE_TO_ADD      0x1102
-#define PMERR_INVALID_GROUP_HANDLE     0x1103
-#define PMERR_DUPLICATE_TITLE          0x1104
-#define PMERR_INVALID_TITLE            0x1105
-#define PMERR_HANDLE_NOT_IN_GROUP      0x1107
-#define PMERR_INVALID_TARGET_HANDLE    0x1106
-#define PMERR_INVALID_PATH_STATEMENT   0x1108
-#define PMERR_NO_PROGRAM_FOUND         0x1109
-#define PMERR_INVALID_BUFFER_SIZE      0x110a
-#define PMERR_BUFFER_TOO_SMALL         0x110b
-#define PMERR_PL_INITIALISATION_FAIL   0x110c
-#define PMERR_CANT_DESTROY_SYS_GROUP   0x110d
-#define PMERR_INVALID_TYPE_CHANGE      0x110e
-#define PMERR_INVALID_PROGRAM_HANDLE   0x110f
-#define PMERR_NOT_CURRENT_PL_VERSION   0x1110
-#define PMERR_INVALID_CIRCULAR_REF     0x1111
-#define PMERR_MEMORY_ALLOCATION_ERR    0x1112
-#define PMERR_MEMORY_DEALLOCATION_ERR  0x1113
-#define PMERR_TASK_HEADER_TOO_BIG      0x1114
-#define PMERR_INVALID_INI_FILE_HANDLE  0x1115
-#define PMERR_MEMORY_SHARE             0x1116
-#define PMERR_OPEN_QUEUE               0x1117
-#define PMERR_CREATE_QUEUE             0x1118
-#define PMERR_WRITE_QUEUE              0x1119
-#define PMERR_READ_QUEUE               0x111a
-#define PMERR_CALL_NOT_EXECUTED                0x111b
-#define PMERR_UNKNOWN_APIPKT           0x111c
-#define PMERR_INITHREAD_EXISTS         0x111d
-#define PMERR_CREATE_THREAD            0x111e
-#define PMERR_NO_HK_PROFILE_INSTALLED  0x111f
-#define PMERR_INVALID_DIRECTORY                0x1120
-#define PMERR_WILDCARD_IN_FILENAME     0x1121
-#define PMERR_FILENAME_BUFFER_FULL     0x1122
-#define PMERR_FILENAME_TOO_LONG                0x1123
-#define PMERR_INI_FILE_IS_SYS_OR_USER  0x1124
-#define PMERR_BROADCAST_PLMSG          0x1125
-#define PMERR_190_INIT_DONE            0x1126
-#define PMERR_HMOD_FOR_PMSHAPI         0x1127
-#define PMERR_SET_HK_PROFILE           0x1128
-#define PMERR_API_NOT_ALLOWED          0x1129
-#define PMERR_INI_STILL_OPEN           0x112a
-#define PMERR_PROGDETAILS_NOT_IN_INI   0x112b
-#define PMERR_PIBSTRUCT_NOT_IN_INI     0x112c
-#define PMERR_INVALID_DISKPROGDETAILS  0x112d
-#define PMERR_PROGDETAILS_READ_FAILURE 0x112e
-#define PMERR_PROGDETAILS_WRITE_FAILURE 0x112f
-#define PMERR_PROGDETAILS_QSIZE_FAILURE 0x1130
-#define PMERR_INVALID_PROGDETAILS      0x1131
-#define PMERR_SHEPROFILEHOOK_NOT_FOUND 0x1132
-#define PMERR_190PLCONVERTED           0x1133
-#define PMERR_FAILED_TO_CONVERT_INI_PL 0x1134
-#define PMERR_PMSHAPI_NOT_INITIALISED  0x1135
-#define PMERR_INVALID_SHELL_API_HOOK_ID 0x1136
-#define PMERR_DOS_ERROR                        0x1200
-#define PMERR_NO_SPACE                 0x1201
-#define PMERR_INVALID_SWITCH_HANDLE    0x1202
-#define PMERR_NO_HANDLE                        0x1203
-#define PMERR_INVALID_PROCESS_ID       0x1204
-#define PMERR_NOT_SHELL                        0x1205
-#define PMERR_INVALID_WINDOW           0x1206
-#define PMERR_INVALID_POST_MSG         0x1207
-#define PMERR_INVALID_PARAMETERS       0x1208
-#define PMERR_INVALID_PROGRAM_TYPE     0x1209
-#define PMERR_NOT_EXTENDED_FOCUS       0x120a
-#define PMERR_INVALID_SESSION_ID       0x120b
-#define PMERR_SMG_INVALID_ICON_FILE    0x120c
-#define PMERR_SMG_ICON_NOT_CREATED     0x120d
-#define PMERR_SHL_DEBUG                        0x120e
-#define PMERR_OPENING_INI_FILE         0x1301
-#define PMERR_INI_FILE_CORRUPT         0x1302
-#define PMERR_INVALID_PARM             0x1303
-#define PMERR_NOT_IN_IDX               0x1304
-#define PMERR_NO_ENTRIES_IN_GROUP      0x1305
-#define PMERR_INI_WRITE_FAIL           0x1306
-#define PMERR_IDX_FULL                 0x1307
-#define PMERR_INI_PROTECTED            0x1308
-#define PMERR_MEMORY_ALLOC             0x1309
-#define PMERR_INI_INIT_ALREADY_DONE    0x130a
-#define PMERR_INVALID_INTEGER          0x130b
-#define PMERR_INVALID_ASCIIZ           0x130c
-#define PMERR_CAN_NOT_CALL_SPOOLER     0x130d
-#define PMERR_VALIDATION_REJECTED      0x130d /*!*/
-#define PMERR_WARNING_WINDOW_NOT_KILLED 0x1401
-#define PMERR_ERROR_INVALID_WINDOW     0x1402
-#define PMERR_ALREADY_INITIALIZED      0x1403
-#define PMERR_MSG_PROG_NO_MOU          0x1405
-#define PMERR_MSG_PROG_NON_RECOV       0x1406
-#define PMERR_WINCONV_INVALID_PATH     0x1407
-#define PMERR_PI_NOT_INITIALISED       0x1408
-#define PMERR_PL_NOT_INITIALISED       0x1409
-#define PMERR_NO_TASK_MANAGER          0x140a
-#define PMERR_SAVE_NOT_IN_PROGRESS     0x140b
-#define PMERR_NO_STACK_SPACE           0x140c
-#define PMERR_INVALID_COLR_FIELD       0x140d
-#define PMERR_INVALID_COLR_VALUE       0x140e
-#define PMERR_COLR_WRITE               0x140f
-#define PMERR_TARGET_FILE_EXISTS       0x1501
-#define PMERR_SOURCE_SAME_AS_TARGET    0x1502
-#define PMERR_SOURCE_FILE_NOT_FOUND    0x1503
-#define PMERR_INVALID_NEW_PATH         0x1504
-#define PMERR_TARGET_FILE_NOT_FOUND    0x1505
-#define PMERR_INVALID_DRIVE_NUMBER     0x1506
-#define PMERR_NAME_TOO_LONG            0x1507
-#define PMERR_NOT_ENOUGH_ROOM_ON_DISK  0x1508
-#define PMERR_NOT_ENOUGH_MEM           0x1509
-#define PMERR_LOG_DRV_DOES_NOT_EXIST   0x150b
-#define PMERR_INVALID_DRIVE            0x150c
-#define PMERR_ACCESS_DENIED            0x150d
-#define PMERR_NO_FIRST_SLASH           0x150e
-#define PMERR_READ_ONLY_FILE           0x150f
-#define PMERR_GROUP_PROTECTED          0x151f
-#define PMERR_INVALID_PROGRAM_CATEGORY 0x152f
-#define PMERR_INVALID_APPL             0x1530
-#define PMERR_CANNOT_START             0x1531
-#define PMERR_STARTED_IN_BACKGROUND    0x1532
-#define PMERR_INVALID_HAPP             0x1533
-#define PMERR_CANNOT_STOP              0x1534
-#define PMERR_INVALID_FREE_MESSAGE_ID  0x1630
-#define PMERR_FUNCTION_NOT_SUPPORTED   0x1641
-#define PMERR_INVALID_ARRAY_COUNT      0x1642
-#define PMERR_INVALID_LENGTH           0x1643
-#define PMERR_INVALID_BUNDLE_TYPE      0x1644
-#define PMERR_INVALID_PARAMETER                0x1645
-#define PMERR_INVALID_NUMBER_OF_PARMS  0x1646
-#define PMERR_GREATER_THAN_64K         0x1647
-#define PMERR_INVALID_PARAMETER_TYPE   0x1648
-#define PMERR_NEGATIVE_STRCOND_DIM     0x1649
-#define PMERR_INVALID_NUMBER_OF_TYPES  0x164a
-#define PMERR_INCORRECT_HSTRUCT                0x164b
-#define PMERR_INVALID_ARRAY_SIZE       0x164c
-#define PMERR_INVALID_CONTROL_DATATYPE 0x164d
-#define PMERR_INCOMPLETE_CONTROL_SEQU  0x164e
-#define PMERR_INVALID_DATATYPE         0x164f
-#define PMERR_INCORRECT_DATATYPE       0x1650
-#define PMERR_NOT_SELF_DESCRIBING_DTYP 0x1651
-#define PMERR_INVALID_CTRL_SEQ_INDEX   0x1652
-#define PMERR_INVALID_TYPE_FOR_LENGTH  0x1653
-#define PMERR_INVALID_TYPE_FOR_OFFSET  0x1654
-#define PMERR_INVALID_TYPE_FOR_MPARAM  0x1655
-#define PMERR_INVALID_MESSAGE_ID       0x1656
-#define PMERR_C_LENGTH_TOO_SMALL       0x1657
-#define PMERR_APPL_STRUCTURE_TOO_SMALL 0x1658
-#define PMERR_INVALID_ERRORINFO_HANDLE 0x1659
-#define PMERR_INVALID_CHARACTER_INDEX  0x165a
-
-#endif /* INCL_SHLERRORS */
-
-#if defined (INCL_GPIERRORS)
-
-#define PMERR_OK                       0x0000
-#define PMERR_ALREADY_IN_AREA          0x2001
-#define PMERR_ALREADY_IN_ELEMENT       0x2002
-#define PMERR_ALREADY_IN_PATH          0x2003
-#define PMERR_ALREADY_IN_SEG           0x2004
-#define PMERR_AREA_INCOMPLETE          0x2005
-#define PMERR_BASE_ERROR               0x2006
-#define PMERR_BITBLT_LENGTH_EXCEEDED   0x2007
-#define PMERR_BITMAP_IN_USE            0x2008
-#define PMERR_BITMAP_IS_SELECTED       0x2009
-#define PMERR_BITMAP_NOT_FOUND         0x200a
-#define PMERR_BITMAP_NOT_SELECTED      0x200b
-#define PMERR_BOUNDS_OVERFLOW          0x200c
-#define PMERR_CALLED_SEG_IS_CHAINED    0x200d
-#define PMERR_CALLED_SEG_IS_CURRENT    0x200e
-#define PMERR_CALLED_SEG_NOT_FOUND     0x200f
-#define PMERR_CANNOT_DELETE_ALL_DATA   0x2010
-#define PMERR_CANNOT_REPLACE_ELEMENT_0 0x2011
-#define PMERR_COL_TABLE_NOT_REALIZABLE 0x2012
-#define PMERR_COL_TABLE_NOT_REALIZED   0x2013
-#define PMERR_COORDINATE_OVERFLOW      0x2014
-#define PMERR_CORR_FORMAT_MISMATCH     0x2015
-#define PMERR_DATA_TOO_LONG            0x2016
-#define PMERR_DC_IS_ASSOCIATED         0x2017
-#define PMERR_DESC_STRING_TRUNCATED    0x2018
-#define PMERR_DEVICE_DRIVER_ERROR_1    0x2019
-#define PMERR_DEVICE_DRIVER_ERROR_2    0x201a
-#define PMERR_DEVICE_DRIVER_ERROR_3    0x201b
-#define PMERR_DEVICE_DRIVER_ERROR_4    0x201c
-#define PMERR_DEVICE_DRIVER_ERROR_5    0x201d
-#define PMERR_DEVICE_DRIVER_ERROR_6    0x201e
-#define PMERR_DEVICE_DRIVER_ERROR_7    0x201f
-#define PMERR_DEVICE_DRIVER_ERROR_8    0x2020
-#define PMERR_DEVICE_DRIVER_ERROR_9    0x2021
-#define PMERR_DEVICE_DRIVER_ERROR_10   0x2022
-#define PMERR_DEV_FUNC_NOT_INSTALLED   0x2023
-#define PMERR_DOSOPEN_FAILURE          0x2024
-#define PMERR_DOSREAD_FAILURE          0x2025
-#define PMERR_DRIVER_NOT_FOUND         0x2026
-#define PMERR_DUP_SEG                  0x2027
-#define PMERR_DYNAMIC_SEG_SEQ_ERROR    0x2028
-#define PMERR_DYNAMIC_SEG_ZERO_INV     0x2029
-#define PMERR_ELEMENT_INCOMPLETE       0x202a
-#define PMERR_ESC_CODE_NOT_SUPPORTED   0x202b
-#define PMERR_EXCEEDS_MAX_SEG_LENGTH   0x202c
-#define PMERR_FONT_AND_MODE_MISMATCH   0x202d
-#define PMERR_FONT_FILE_NOT_LOADED     0x202e
-#define PMERR_FONT_NOT_LOADED          0x202f
-#define PMERR_FONT_TOO_BIG             0x2030
-#define PMERR_HARDWARE_INIT_FAILURE    0x2031
-#define PMERR_HBITMAP_BUSY             0x2032
-#define PMERR_HDC_BUSY                 0x2033
-#define PMERR_HRGN_BUSY                        0x2034
-#define PMERR_HUGE_FONTS_NOT_SUPPORTED 0x2035
-#define PMERR_ID_HAS_NO_BITMAP         0x2036
-#define PMERR_IMAGE_INCOMPLETE         0x2037
-#define PMERR_INCOMPAT_COLOR_FORMAT    0x2038
-#define PMERR_INCOMPAT_COLOR_OPTIONS   0x2039
-#define PMERR_INCOMPATIBLE_BITMAP      0x203a
-#define PMERR_INCOMPATIBLE_METAFILE    0x203b
-#define PMERR_INCORRECT_DC_TYPE                0x203c
-#define PMERR_INSUFFICIENT_DISK_SPACE  0x203d
-#define PMERR_INSUFFICIENT_MEMORY      0x203e
-#define PMERR_INV_ANGLE_PARM           0x203f
-#define PMERR_INV_ARC_CONTROL          0x2040
-#define PMERR_INV_AREA_CONTROL         0x2041
-#define PMERR_INV_ARC_POINTS           0x2042
-#define PMERR_INV_ATTR_MODE            0x2043
-#define PMERR_INV_BACKGROUND_COL_ATTR  0x2044
-#define PMERR_INV_BACKGROUND_MIX_ATTR  0x2045
-#define PMERR_INV_BITBLT_MIX           0x2046
-#define PMERR_INV_BITBLT_STYLE         0x2047
-#define PMERR_INV_BITMAP_DIMENSION     0x2048
-#define PMERR_INV_BOX_CONTROL          0x2049
-#define PMERR_INV_BOX_ROUNDING_PARM    0x204a
-#define PMERR_INV_CHAR_ANGLE_ATTR      0x204b
-#define PMERR_INV_CHAR_DIRECTION_ATTR  0x204c
-#define PMERR_INV_CHAR_MODE_ATTR       0x204d
-#define PMERR_INV_CHAR_POS_OPTIONS     0x204e
-#define PMERR_INV_CHAR_SET_ATTR                0x204f
-#define PMERR_INV_CHAR_SHEAR_ATTR      0x2050
-#define PMERR_INV_CLIP_PATH_OPTIONS    0x2051
-#define PMERR_INV_CODEPAGE             0x2052
-#define PMERR_INV_COLOR_ATTR           0x2053
-#define PMERR_INV_COLOR_DATA           0x2054
-#define PMERR_INV_COLOR_FORMAT         0x2055
-#define PMERR_INV_COLOR_INDEX          0x2056
-#define PMERR_INV_COLOR_OPTIONS                0x2057
-#define PMERR_INV_COLOR_START_INDEX    0x2058
-#define PMERR_INV_COORD_OFFSET         0x2059
-#define PMERR_INV_COORD_SPACE          0x205a
-#define PMERR_INV_COORDINATE           0x205b
-#define PMERR_INV_CORRELATE_DEPTH      0x205c
-#define PMERR_INV_CORRELATE_TYPE       0x205d
-#define PMERR_INV_CURSOR_BITMAP                0x205e
-#define PMERR_INV_DC_DATA              0x205f
-#define PMERR_INV_DC_TYPE              0x2060
-#define PMERR_INV_DEVICE_NAME          0x2061
-#define PMERR_INV_DEV_MODES_OPTIONS    0x2062
-#define PMERR_INV_DRAW_CONTROL         0x2063
-#define PMERR_INV_DRAW_VALUE           0x2064
-#define PMERR_INV_DRAWING_MODE         0x2065
-#define PMERR_INV_DRIVER_DATA          0x2066
-#define PMERR_INV_DRIVER_NAME          0x2067
-#define PMERR_INV_DRAW_BORDER_OPTION   0x2068
-#define PMERR_INV_EDIT_MODE            0x2069
-#define PMERR_INV_ELEMENT_OFFSET       0x206a
-#define PMERR_INV_ELEMENT_POINTER      0x206b
-#define PMERR_INV_END_PATH_OPTIONS     0x206c
-#define PMERR_INV_ESC_CODE             0x206d
-#define PMERR_INV_ESCAPE_DATA          0x206e
-#define PMERR_INV_EXTENDED_LCID                0x206f
-#define PMERR_INV_FILL_PATH_OPTIONS    0x2070
-#define PMERR_INV_FIRST_CHAR           0x2071
-#define PMERR_INV_FONT_ATTRS           0x2072
-#define PMERR_INV_FONT_FILE_DATA       0x2073
-#define PMERR_INV_FOR_THIS_DC_TYPE     0x2074
-#define PMERR_INV_FORMAT_CONTROL       0x2075
-#define PMERR_INV_FORMS_CODE           0x2076
-#define PMERR_INV_FONTDEF              0x2077
-#define PMERR_INV_GEOM_LINE_WIDTH_ATTR 0x2078
-#define PMERR_INV_GETDATA_CONTROL      0x2079
-#define PMERR_INV_GRAPHICS_FIELD       0x207a
-#define PMERR_INV_HBITMAP              0x207b
-#define PMERR_INV_HDC                  0x207c
-#define PMERR_INV_HJOURNAL             0x207d
-#define PMERR_INV_HMF                  0x207e
-#define PMERR_INV_HPS                  0x207f
-#define PMERR_INV_HRGN                 0x2080
-#define PMERR_INV_ID                   0x2081
-#define PMERR_INV_IMAGE_DATA_LENGTH    0x2082
-#define PMERR_INV_IMAGE_DIMENSION      0x2083
-#define PMERR_INV_IMAGE_FORMAT         0x2084
-#define PMERR_INV_IN_AREA              0x2085
-#define PMERR_INV_IN_CALLED_SEG                0x2086
-#define PMERR_INV_IN_CURRENT_EDIT_MODE 0x2087
-#define PMERR_INV_IN_DRAW_MODE         0x2088
-#define PMERR_INV_IN_ELEMENT           0x2089
-#define PMERR_INV_IN_IMAGE             0x208a
-#define PMERR_INV_IN_PATH              0x208b
-#define PMERR_INV_IN_RETAIN_MODE       0x208c
-#define PMERR_INV_IN_SEG               0x208d
-#define PMERR_INV_IN_VECTOR_SYMBOL     0x208e
-#define PMERR_INV_INFO_TABLE           0x208f
-#define PMERR_INV_JOURNAL_OPTION       0x2090
-#define PMERR_INV_KERNING_FLAGS                0x2091
-#define PMERR_INV_LENGTH_OR_COUNT      0x2092
-#define PMERR_INV_LINE_END_ATTR                0x2093
-#define PMERR_INV_LINE_JOIN_ATTR       0x2094
-#define PMERR_INV_LINE_TYPE_ATTR       0x2095
-#define PMERR_INV_LINE_WIDTH_ATTR      0x2096
-#define PMERR_INV_LOGICAL_ADDRESS      0x2097
-#define PMERR_INV_MARKER_BOX_ATTR      0x2098
-#define PMERR_INV_MARKER_SET_ATTR      0x2099
-#define PMERR_INV_MARKER_SYMBOL_ATTR   0x209a
-#define PMERR_INV_MATRIX_ELEMENT       0x209b
-#define PMERR_INV_MAX_HITS             0x209c
-#define PMERR_INV_METAFILE             0x209d
-#define PMERR_INV_METAFILE_LENGTH      0x209e
-#define PMERR_INV_METAFILE_OFFSET      0x209f
-#define PMERR_INV_MICROPS_DRAW_CONTROL 0x20a0
-#define PMERR_INV_MICROPS_FUNCTION     0x20a1
-#define PMERR_INV_MICROPS_ORDER                0x20a2
-#define PMERR_INV_MIX_ATTR             0x20a3
-#define PMERR_INV_MODE_FOR_OPEN_DYN    0x20a4
-#define PMERR_INV_MODE_FOR_REOPEN_SEG  0x20a5
-#define PMERR_INV_MODIFY_PATH_MODE     0x20a6
-#define PMERR_INV_MULTIPLIER           0x20a7
-#define PMERR_INV_NESTED_FIGURES       0x20a8
-#define PMERR_INV_OR_INCOMPAT_OPTIONS  0x20a9
-#define PMERR_INV_ORDER_LENGTH         0x20aa
-#define PMERR_INV_ORDERING_PARM                0x20ab
-#define PMERR_INV_OUTSIDE_DRAW_MODE    0x20ac
-#define PMERR_INV_PAGE_VIEWPORT                0x20ad
-#define PMERR_INV_PATH_ID              0x20ae
-#define PMERR_INV_PATH_MODE            0x20af
-#define PMERR_INV_PATTERN_ATTR         0x20b0
-#define PMERR_INV_PATTERN_REF_PT_ATTR  0x20b1
-#define PMERR_INV_PATTERN_SET_ATTR     0x20b2
-#define PMERR_INV_PATTERN_SET_FONT     0x20b3
-#define PMERR_INV_PICK_APERTURE_OPTION 0x20b4
-#define PMERR_INV_PICK_APERTURE_POSN   0x20b5
-#define PMERR_INV_PICK_APERTURE_SIZE   0x20b6
-#define PMERR_INV_PICK_NUMBER          0x20b7
-#define PMERR_INV_PLAY_METAFILE_OPTION 0x20b8
-#define PMERR_INV_PRIMITIVE_TYPE       0x20b9
-#define PMERR_INV_PS_SIZE              0x20ba
-#define PMERR_INV_PUTDATA_FORMAT       0x20bb
-#define PMERR_INV_QUERY_ELEMENT_NO     0x20bc
-#define PMERR_INV_RECT                 0x20bd
-#define PMERR_INV_REGION_CONTROL       0x20be
-#define PMERR_INV_REGION_MIX_MODE      0x20bf
-#define PMERR_INV_REPLACE_MODE_FUNC    0x20c0
-#define PMERR_INV_RESERVED_FIELD       0x20c1
-#define PMERR_INV_RESET_OPTIONS                0x20c2
-#define PMERR_INV_RGBCOLOR             0x20c3
-#define PMERR_INV_SCAN_START           0x20c4
-#define PMERR_INV_SEG_ATTR             0x20c5
-#define PMERR_INV_SEG_ATTR_VALUE       0x20c6
-#define PMERR_INV_SEG_CH_LENGTH                0x20c7
-#define PMERR_INV_SEG_NAME             0x20c8
-#define PMERR_INV_SEG_OFFSET           0x20c9
-#define PMERR_INV_SETID                        0x20ca
-#define PMERR_INV_SETID_TYPE           0x20cb
-#define PMERR_INV_SET_VIEWPORT_OPTION  0x20cc
-#define PMERR_INV_SHARPNESS_PARM       0x20cd
-#define PMERR_INV_SOURCE_OFFSET                0x20ce
-#define PMERR_INV_STOP_DRAW_VALUE      0x20cf
-#define PMERR_INV_TRANSFORM_TYPE       0x20d0
-#define PMERR_INV_USAGE_PARM           0x20d1
-#define PMERR_INV_VIEWING_LIMITS       0x20d2
-#define PMERR_JFILE_BUSY               0x20d3
-#define PMERR_JNL_FUNC_DATA_TOO_LONG   0x20d4
-#define PMERR_KERNING_NOT_SUPPORTED    0x20d5
-#define PMERR_LABEL_NOT_FOUND          0x20d6
-#define PMERR_MATRIX_OVERFLOW          0x20d7
-#define PMERR_METAFILE_INTERNAL_ERROR  0x20d8
-#define PMERR_METAFILE_IN_USE          0x20d9
-#define PMERR_METAFILE_LIMIT_EXCEEDED  0x20da
-#define PMERR_NAME_STACK_FULL          0x20db
-#define PMERR_NOT_CREATED_BY_DEVOPENDC 0x20dc
-#define PMERR_NOT_IN_AREA              0x20dd
-#define PMERR_NOT_IN_DRAW_MODE         0x20de
-#define PMERR_NOT_IN_ELEMENT           0x20df
-#define PMERR_NOT_IN_IMAGE             0x20e0
-#define PMERR_NOT_IN_PATH              0x20e1
-#define PMERR_NOT_IN_RETAIN_MODE       0x20e2
-#define PMERR_NOT_IN_SEG               0x20e3
-#define PMERR_NO_BITMAP_SELECTED       0x20e4
-#define PMERR_NO_CURRENT_ELEMENT       0x20e5
-#define PMERR_NO_CURRENT_SEG           0x20e6
-#define PMERR_NO_METAFILE_RECORD_HANDLE 0x20e7
-#define PMERR_ORDER_TOO_BIG            0x20e8
-#define PMERR_OTHER_SET_ID_REFS                0x20e9
-#define PMERR_OVERRAN_SEG              0x20ea
-#define PMERR_OWN_SET_ID_REFS          0x20eb
-#define PMERR_PATH_INCOMPLETE          0x20ec
-#define PMERR_PATH_LIMIT_EXCEEDED      0x20ed
-#define PMERR_PATH_UNKNOWN             0x20ee
-#define PMERR_PEL_IS_CLIPPED           0x20ef
-#define PMERR_PEL_NOT_AVAILABLE                0x20f0
-#define PMERR_PRIMITIVE_STACK_EMPTY    0x20f1
-#define PMERR_PROLOG_ERROR             0x20f2
-#define PMERR_PROLOG_SEG_ATTR_NOT_SET  0x20f3
-#define PMERR_PS_BUSY                  0x20f4
-#define PMERR_PS_IS_ASSOCIATED         0x20f5
-#define PMERR_RAM_JNL_FILE_TOO_SMALL   0x20f6
-#define PMERR_REALIZE_NOT_SUPPORTED    0x20f7
-#define PMERR_REGION_IS_CLIP_REGION    0x20f8
-#define PMERR_RESOURCE_DEPLETION       0x20f9
-#define PMERR_SEG_AND_REFSEG_ARE_SAME  0x20fa
-#define PMERR_SEG_CALL_RECURSIVE       0x20fb
-#define PMERR_SEG_CALL_STACK_EMPTY     0x20fc
-#define PMERR_SEG_CALL_STACK_FULL      0x20fd
-#define PMERR_SEG_IS_CURRENT           0x20fe
-#define PMERR_SEG_NOT_CHAINED          0x20ff
-#define PMERR_SEG_NOT_FOUND            0x2100
-#define PMERR_SEG_STORE_LIMIT_EXCEEDED 0x2101
-#define PMERR_SETID_IN_USE             0x2102
-#define PMERR_SETID_NOT_FOUND          0x2103
-#define PMERR_STARTDOC_NOT_ISSUED      0x2104
-#define PMERR_STOP_DRAW_OCCURRED       0x2105
-#define PMERR_TOO_MANY_METAFILES_IN_USE 0x2106
-#define PMERR_TRUNCATED_ORDER          0x2107
-#define PMERR_UNCHAINED_SEG_ZERO_INV   0x2108
-#define PMERR_UNSUPPORTED_ATTR         0x2109
-#define PMERR_UNSUPPORTED_ATTR_VALUE   0x210a
-#define PMERR_ENDDOC_NOT_ISSUED                0x210b
-#define PMERR_PS_NOT_ASSOCIATED                0x210c
-#define PMERR_INV_FLOOD_FILL_OPTIONS   0x210d
-#define PMERR_INV_FACENAME             0x210e
-#define PMERR_PALETTE_SELECTED         0x210f
-#define PMERR_NO_PALETTE_SELECTED      0x2110
-#define PMERR_INV_HPAL                 0x2111
-#define PMERR_PALETTE_BUSY             0x2112
-#define PMERR_START_POINT_CLIPPED      0x2113
-#define PMERR_NO_FILL                  0x2114
-#define PMERR_INV_FACENAMEDESC         0x2115
-#define PMERR_INV_BITMAP_DATA          0x2116
-#define PMERR_INV_CHAR_ALIGN_ATTR      0x2117
-#define PMERR_INV_HFONT                        0x2118
-#define PMERR_HFONT_IS_SELECTED                0x2119
-#define PMERR_DRVR_NOT_SUPPORTED       0x2120
-#define PMERR_INV_INKPS_FUNCTION       0x2121
-
-#endif /* INCL_GPIERRORS */
-
-#if defined (INCL_WPERRORS)
-
-#define WPERR_PROTECTED_CLASS          0x1700
-#define WPERR_INVALID_CLASS            0x1701
-#define WPERR_INVALID_SUPERCLASS       0x1702
-#define WPERR_NO_MEMORY                        0x1703
-#define WPERR_SEMAPHORE_ERROR          0x1704
-#define WPERR_BUFFER_TOO_SMALL         0x1705
-#define WPERR_CLSLOADMOD_FAILED                0x1706
-#define WPERR_CLSPROCADDR_FAILED       0x1707
-#define WPERR_OBJWORD_LOCATION         0x1708
-#define WPERR_INVALID_OBJECT           0x1709
-#define WPERR_MEMORY_CLEANUP           0x170a
-#define WPERR_INVALID_MODULE           0x170b
-#define WPERR_INVALID_OLDCLASS         0x170c
-#define WPERR_INVALID_NEWCLASS         0x170d
-#define WPERR_NOT_IMMEDIATE_CHILD      0x170e
-#define WPERR_NOT_WORKPLACE_CLASS      0x170f
-#define WPERR_CANT_REPLACE_METACLS     0x1710
-#define WPERR_INI_FILE_WRITE           0x1711
-#define WPERR_INVALID_FOLDER           0x1712
-#define WPERR_BUFFER_OVERFLOW          0x1713
-#define WPERR_OBJECT_NOT_FOUND         0x1714
-#define WPERR_INVALID_HFIND            0x1715
-#define WPERR_INVALID_COUNT            0x1716
-#define WPERR_INVALID_BUFFER           0x1717
-#define WPERR_ALREADY_EXISTS           0x1718
-#define WPERR_INVALID_FLAGS            0x1719
-#define WPERR_INVALID_OBJECTID         0x1720
-#define WPERR_INVALID_TARGET_OBJECT    0x1721
-
-#endif /* INCL_WPERRORS */
-
-#if defined (INCL_SPLERRORS)
-
-#define PMERR_SPL_DRIVER_ERROR         0x4001
-#define PMERR_SPL_DEVICE_ERROR         0x4002
-#define PMERR_SPL_DEVICE_NOT_INSTALLED 0x4003
-#define PMERR_SPL_QUEUE_ERROR          0x4004
-#define PMERR_SPL_INV_HSPL             0x4005
-#define PMERR_SPL_NO_DISK_SPACE                0x4006
-#define PMERR_SPL_NO_MEMORY            0x4007
-#define PMERR_SPL_PRINT_ABORT          0x4008
-#define PMERR_SPL_SPOOLER_NOT_INSTALLED 0x4009
-#define PMERR_SPL_INV_FORMS_CODE       0x400a
-#define PMERR_SPL_INV_PRIORITY         0x400b
-#define PMERR_SPL_NO_FREE_JOB_ID       0x400c
-#define PMERR_SPL_NO_DATA              0x400d
-#define PMERR_SPL_INV_TOKEN            0x400e
-#define PMERR_SPL_INV_DATATYPE         0x400f
-#define PMERR_SPL_PROCESSOR_ERROR      0x4010
-#define PMERR_SPL_INV_JOB_ID           0x4011
-#define PMERR_SPL_JOB_NOT_PRINTING     0x4012
-#define PMERR_SPL_JOB_PRINTING         0x4013
-#define PMERR_SPL_QUEUE_ALREADY_EXISTS 0x4014
-#define PMERR_SPL_INV_QUEUE_NAME       0x4015
-#define PMERR_SPL_QUEUE_NOT_EMPTY      0x4016
-#define PMERR_SPL_DEVICE_ALREADY_EXISTS 0x4017
-#define PMERR_SPL_DEVICE_LIMIT_REACHED 0x4018
-#define PMERR_SPL_STATUS_STRING_TRUNC  0x4019
-#define PMERR_SPL_INV_LENGTH_OR_COUNT  0x401a
-#define PMERR_SPL_FILE_NOT_FOUND       0x401b
-#define PMERR_SPL_CANNOT_OPEN_FILE     0x401c
-#define PMERR_SPL_DRIVER_NOT_INSTALLED 0x401d
-#define PMERR_SPL_INV_PROCESSOR_DATTYPE 0x401e
-#define PMERR_SPL_INV_DRIVER_DATATYPE  0x401f
-#define PMERR_SPL_PROCESSOR_NOT_INST   0x4020
-#define PMERR_SPL_NO_SUCH_LOG_ADDRESS  0x4021
-#define PMERR_SPL_PRINTER_NOT_FOUND    0x4022
-#define PMERR_SPL_DD_NOT_FOUND         0x4023
-#define PMERR_SPL_QUEUE_NOT_FOUND      0x4024
-#define PMERR_SPL_MANY_QUEUES_ASSOC    0x4025
-#define PMERR_SPL_NO_QUEUES_ASSOCIATED 0x4026
-#define PMERR_SPL_INI_FILE_ERROR       0x4027
-#define PMERR_SPL_NO_DEFAULT_QUEUE     0x4028
-#define PMERR_SPL_NO_CURRENT_FORMS_CODE 0x4029
-#define PMERR_SPL_NOT_AUTHORISED       0x402a
-#define PMERR_SPL_TEMP_NETWORK_ERROR   0x402b
-#define PMERR_SPL_HARD_NETWORK_ERROR   0x402c
-#define PMERR_DEL_NOT_ALLOWED          0x402d
-#define PMERR_CANNOT_DEL_QP_REF                0x402e
-#define PMERR_CANNOT_DEL_QNAME_REF     0x402f
-#define PMERR_CANNOT_DEL_PRINTER_DD_REF 0x4030
-#define PMERR_CANNOT_DEL_PRN_NAME_REF  0x4031
-#define PMERR_CANNOT_DEL_PRN_ADDR_REF  0x4032
-#define PMERR_SPOOLER_QP_NOT_DEFINED   0x4033
-#define PMERR_PRN_NAME_NOT_DEFINED     0x4034
-#define PMERR_PRN_ADDR_NOT_DEFINED     0x4035
-#define PMERR_PRINTER_DD_NOT_DEFINED   0x4036
-#define PMERR_PRINTER_QUEUE_NOT_DEFINED 0x4037
-#define PMERR_PRN_ADDR_IN_USE          0x4038
-#define PMERR_SPL_TOO_MANY_OPEN_FILES  0x4039
-#define PMERR_SPL_CP_NOT_REQD          0x403a
-#define PMERR_SPL_PORT_SHUTDOWN                0x403b
-#define PMERR_SPL_NOT_HANDLED          0x403c
-#define PMERR_SPL_CNV_NOT_INIT         0x403d
-#define PMERR_SPL_INIT_IN_PROGRESS     0x403e
-#define PMERR_SPL_TYPE_NOT_AVAIL       0x403f
-#define PMERR_UNABLE_TO_CLOSE_DEVICE   0x4040
-#define PMERR_SPL_SESSION_TERM         0x4041
-#define PMERR_SPL_NOT_REGISTERED       0x4042
-
-#endif /* INCL_SPLERRORS */
-
-#if defined (INCL_PICERRORS)
-
-#define PMERR_INV_TYPE                 0x5001
-#define PMERR_INV_CONV                 0x5002
-#define PMERR_INV_SEGLEN               0x5003
-#define PMERR_DUP_SEGNAME              0x5004
-#define PMERR_INV_XFORM                        0x5005
-#define PMERR_INV_VIEWLIM              0x5006
-#define PMERR_INV_3DCOORD              0x5007
-#define PMERR_SMB_OVFLOW               0x5008
-#define PMERR_SEG_OVFLOW               0x5009
-#define PMERR_PIC_DUP_FILENAME         0x5010
-
-#endif /* INCL_PICERRORS */
-
-#if defined (INCL_WINERRORS)
-
-#define WINDBG_HWND_NOT_DESTROYED      0x1022
-#define WINDBG_HPTR_NOT_DESTROYED      0x1023
-#define WINDBG_HACCEL_NOT_DESTROYED    0x1024
-#define WINDBG_HENUM_NOT_DESTROYED     0x1025
-#define WINDBG_VISRGN_SEM_BUSY         0x1026
-#define WINDBG_USER_SEM_BUSY           0x1027
-#define WINDBG_DC_CACHE_BUSY           0x1028
-#define WINDBG_HOOK_STILL_INSTALLED    0x1029
-#define WINDBG_WINDOW_STILL_LOCKED     0x102a
-#define WINDBG_UPDATEPS_ASSERTION_FAIL 0x102b
-#define WINDBG_SENDMSG_WITHIN_USER_SEM 0x102c
-#define WINDBG_USER_SEM_NOT_ENTERED    0x102d
-#define WINDBG_PROC_NOT_EXPORTED       0x102e
-#define WINDBG_BAD_SENDMSG_HWND                0x102f
-#define WINDBG_ABNORMAL_EXIT           0x1030
-#define WINDBG_INTERNAL_REVISION       0x1031
-#define WINDBG_INITSYSTEM_FAILED       0x1032
-#define WINDBG_HATOMTBL_NOT_DESTROYED  0x1033
-#define WINDBG_WINDOW_UNLOCK_WAIT      0x1035
-
-#endif /* INCL_WINERRORS */
-
-
-#define WRECT  RECTL
-#define PWRECT PRECTL
-
-#define WPOINT POINTL
-#define PWPOINT PPOINTL
-
-
-typedef LHANDLE HACCEL;
-
-typedef LHANDLE HRGN;
-typedef HRGN *PHRGN;
-
-typedef VOID *MRESULT;
-typedef MRESULT *PMRESULT;
-
-typedef VOID *MPARAM;
-typedef MPARAM *PMPARAM;
-
-typedef LHANDLE HPOINTER;
-
-typedef HMODULE HLIB;
-typedef HLIB *PHLIB;
-
-typedef LONG COLOR;
-typedef COLOR *PCOLOR;
-
-typedef LHANDLE HAB;
-typedef HAB *PHAB;
-
-typedef LHANDLE HPS;
-typedef HPS *PHPS;
-
-typedef LHANDLE HDC;
-typedef HDC *PHDC;
-
-typedef LHANDLE HWND;
-typedef HWND *PHWND;
-
-typedef LHANDLE HMQ;
-
-typedef LHANDLE HPAL;
-typedef HPAL *PHPAL;
-
-typedef LHANDLE HBITMAP;
-typedef HBITMAP *PHBITMAP;
-
-typedef ULONG ERRORID;
-typedef ERRORID *PERRORID;
-
-typedef MRESULT FNWP (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-typedef FNWP *PFNWP;
-
-#define ERRORIDERROR(errid)            (LOUSHORT (errid))
-#define ERRORIDSEV(errid)              (HIUSHORT (errid))
-#define MAKEERRORID(sev,error)         (ERRORID)(MAKEULONG ((error), (sev)))
-
-typedef struct _POINTL
-{
-  LONG x;
-  LONG y;
-} POINTL;
-typedef POINTL *PPOINTL;
-
-typedef struct _POINTS
-{
-  SHORT x;
-  SHORT y;
-} POINTS;
-typedef POINTS *PPOINTS;
-
-typedef struct _RECTL
-{
-  LONG xLeft;
-  LONG yBottom;
-  LONG xRight;
-  LONG yTop;
-} RECTL;
-typedef RECTL *PRECTL;
-
-#if defined (INCL_WINMESSAGEMGR) || !defined (INCL_NOCOMMON)
-
-#define WM_NULL                                0x0000
-#define WM_CREATE                      0x0001
-#define WM_DESTROY                     0x0002
-#define WM_ENABLE                      0x0004
-#define WM_SHOW                                0x0005
-#define WM_MOVE                                0x0006
-#define WM_SIZE                                0x0007
-#define WM_ADJUSTWINDOWPOS             0x0008
-#define WM_CALCVALIDRECTS              0x0009
-#define WM_SETWINDOWPARAMS             0x000a
-#define WM_QUERYWINDOWPARAMS           0x000b
-#define WM_HITTEST                     0x000c
-#define WM_ACTIVATE                    0x000d
-#define WM_SETFOCUS                    0x000f
-#define WM_SETSELECTION                        0x0010
-#define WM_PPAINT                      0x0011
-#define WM_PSETFOCUS                   0x0012
-#define WM_PSYSCOLORCHANGE             0x0013
-#define WM_PSIZE                       0x0014
-#define WM_PACTIVATE                   0x0015
-#define WM_PCONTROL                    0x0016
-#define WM_COMMAND                     0x0020
-#define WM_SYSCOMMAND                  0x0021
-#define WM_HELP                                0x0022
-#define WM_PAINT                       0x0023
-#define WM_TIMER                       0x0024
-#define WM_SEM1                                0x0025
-#define WM_SEM2                                0x0026
-#define WM_SEM3                                0x0027
-#define WM_SEM4                                0x0028
-#define WM_CLOSE                       0x0029
-#define WM_QUIT                                0x002a
-#define WM_SYSCOLORCHANGE              0x002b
-#define WM_SYSVALUECHANGED             0x002d
-#define WM_APPTERMINATENOTIFY          0x002e
-#define WM_PRESPARAMCHANGED            0x002f
-#define WM_CONTROL                     0x0030
-#define WM_VSCROLL                     0x0031
-#define WM_HSCROLL                     0x0032
-#define WM_INITMENU                    0x0033
-#define WM_MENUSELECT                  0x0034
-#define WM_MENUEND                     0x0035
-#define WM_DRAWITEM                    0x0036
-#define WM_MEASUREITEM                 0x0037
-#define WM_CONTROLPOINTER              0x0038
-#define WM_QUERYDLGCODE                        0x003a
-#define WM_INITDLG                     0x003b
-#define WM_SUBSTITUTESTRING            0x003c
-#define WM_MATCHMNEMONIC               0x003d
-#define WM_SAVEAPPLICATION             0x003e
-
-#define WM_HELPBASE                    0x0f00
-#define WM_HELPTOP                     0x0fff
-
-#define WM_USER                                0x1000
-
-#define CMDSRC_OTHER                   0
-#define CMDSRC_PUSHBUTTON              1
-#define CMDSRC_MENU                    2
-#define CMDSRC_ACCELERATOR             3
-#define CMDSRC_FONTDLG                 4
-#define CMDSRC_FILEDLG                 5
-#define CMDSRC_PRINTDLG                        6
-#define CMDSRC_COLORDLG                        7
-
-#define PM_NOREMOVE                    0x0000
-#define PM_REMOVE                      0x0001
-
-#define RUM_IN                         1
-#define RUM_OUT                                2
-#define RUM_INOUT                      3
-
-#define SMD_DELAYED                    0x0001
-#define SMD_IMMEDIATE                  0x0002
-
-#define SSM_SYNCHRONOUS                        0x0001
-#define SSM_ASYNCHRONOUS               0x0002
-#define SSM_MIXED                      0x0003
-
-#define WLI_NOBUTTONUP                 0x0002
-
-#if defined (INCL_WINTYPES)
-
-#define DTYP_USER                      16384
-
-#define DTYP_CTL_ARRAY                 1
-#define DTYP_CTL_PARRAY                        (-1)
-#define DTYP_CTL_OFFSET                        2
-#define DTYP_CTL_LENGTH                        3
-
-#define DTYP_ACCEL                     28
-#define DTYP_ACCELTABLE                        29
-#define DTYP_ARCPARAMS                 38
-#define DTYP_AREABUNDLE                        139
-#define DTYP_ATOM                      90
-#define DTYP_BITMAPINFO                        60
-#define DTYP_BITMAPINFOHEADER          61
-#define DTYP_BITMAPINFO2               170
-#define DTYP_BITMAPINFOHEADER2         171
-#define DTYP_BIT16                     20
-#define DTYP_BIT32                     21
-#define DTYP_BIT8                      19
-#define DTYP_BOOL                      18
-#define DTYP_BTNCDATA                  35
-#define DTYP_BYTE                      13
-#define DTYP_CATCHBUF                  141
-#define DTYP_CHAR                      15
-#define DTYP_CHARBUNDLE                        135
-#define DTYP_CLASSINFO                 95
-#define DTYP_COUNT2                    93
-#define DTYP_COUNT2B                   70
-#define DTYP_COUNT2CH                  82
-#define DTYP_COUNT4                    152
-#define DTYP_COUNT4B                   42
-#define DTYP_CPID                      57
-#define DTYP_CREATESTRUCT              98
-#define DTYP_CURSORINFO                        34
-#define DTYP_DEVOPENSTRUC              124
-#define DTYP_DLGTEMPLATE               96
-#define DTYP_DLGTITEM                  97
-#define DTYP_ENTRYFDATA                        127
-#define DTYP_ERRORID                   45
-#define DTYP_FATTRS                    75
-#define DTYP_FFDESCS                   142
-#define DTYP_FIXED                     99
-#define DTYP_FONTMETRICS               74
-#define DTYP_FRAMECDATA                        144
-#define DTYP_GRADIENTL                 48
-#define DTYP_HAB                       10
-#define DTYP_HACCEL                    30
-#define DTYP_HAPP                      146
-#define DTYP_HATOMTBL                  91
-#define DTYP_HBITMAP                   62
-#define DTYP_HCINFO                    46
-#define DTYP_HDC                       132
-#define DTYP_HENUM                     117
-#define DTYP_HHEAP                     109
-#define DTYP_HINI                      53
-#define DTYP_HLIB                      147
-#define DTYP_HMF                       85
-#define DTYP_HMQ                       86
-#define DTYP_HPOINTER                  106
-#define DTYP_HPROGRAM                  131
-#define DTYP_HPS                       12
-#define DTYP_HRGN                      116
-#define DTYP_HSEM                      140
-#define DTYP_HSPL                      32
-#define DTYP_HSWITCH                   66
-#define DTYP_HVPS                      58
-#define DTYP_HWND                      11
-#define DTYP_IDENTITY                  133
-#define DTYP_IDENTITY4                 169
-#define DTYP_IMAGEBUNDLE               136
-#define DTYP_INDEX2                    81
-#define DTYP_IPT                       155
-#define DTYP_KERNINGPAIRS              118
-#define DTYP_LENGTH2                   68
-#define DTYP_LENGTH4                   69
-#define DTYP_LINEBUNDLE                        137
-#define DTYP_LONG                      25
-#define DTYP_MARKERBUNDLE              138
-#define DTYP_MATRIXLF                  113
-#define DTYP_MLECTLDATA                        161
-#define DTYP_MLEMARGSTRUCT             157
-#define DTYP_MLEOVERFLOW               158
-#define DTYP_OFFSET2B                  112
-#define DTYP_OWNERITEM                 154
-#define DTYP_PID                       92
-#define DTYP_PIX                       156
-#define DTYP_POINTERINFO               105
-#define DTYP_POINTL                    77
-#define DTYP_PROGCATEGORY              129
-#define DTYP_PROGRAMENTRY              128
-#define DTYP_PROGTYPE                  130
-#define DTYP_PROPERTY2                 88
-#define DTYP_PROPERTY4                 89
-#define DTYP_QMSG                      87
-#define DTYP_RECTL                     121
-#define DTYP_RESID                     125
-#define DTYP_RGB                       111
-#define DTYP_RGNRECT                   115
-#define DTYP_SBCDATA                   159
-#define DTYP_SEGOFF                    126
-#define DTYP_SHORT                     23
-#define DTYP_SIZEF                     101
-#define DTYP_SIZEL                     102
-#define DTYP_STRL                      17
-#define DTYP_STR16                     40
-#define DTYP_STR32                     37
-#define DTYP_STR64                     47
-#define DTYP_STR8                      33
-#define DTYP_SWBLOCK                   63
-#define DTYP_SWCNTRL                   64
-#define DTYP_SWENTRY                   65
-#define DTYP_SWP                       31
-#define DTYP_TID                       104
-#define DTYP_TIME                      107
-#define DTYP_TRACKINFO                 73
-#define DTYP_UCHAR                     22
-#define DTYP_ULONG                     26
-#define DTYP_USERBUTTON                        36
-#define DTYP_USHORT                    24
-#define DTYP_WIDTH4                    108
-#define DTYP_WNDPARAMS                 83
-#define DTYP_WNDPROC                   84
-#define DTYP_WPOINT                    59
-#define DTYP_WRECT                     55
-#define DTYP_XYWINSIZE                 52
-
-#define DTYP_PACCEL                    (-28)
-#define DTYP_PACCELTABLE               (-29)
-#define DTYP_PARCPARAMS                        (-38)
-#define DTYP_PAREABUNDLE               (-139)
-#define DTYP_PATOM                     (-90)
-#define DTYP_PBITMAPINFO               (-60)
-#define DTYP_PBITMAPINFOHEADER         (-61)
-#define DTYP_PBITMAPINFO2              (-170)
-#define DTYP_PBITMAPINFOHEADER2                (-171)
-#define DTYP_PBIT16                    (-20)
-#define DTYP_PBIT32                    (-21)
-#define DTYP_PBIT8                     (-19)
-#define DTYP_PBOOL                     (-18)
-#define DTYP_PBTNCDATA                 (-35)
-#define DTYP_PBYTE                     (-13)
-#define DTYP_PCATCHBUF                 (-141)
-#define DTYP_PCHAR                     (-15)
-#define DTYP_PCHARBUNDLE               (-135)
-#define DTYP_PCLASSINFO                        (-95)
-#define DTYP_PCOUNT2                   (-93)
-#define DTYP_PCOUNT2B                  (-70)
-#define DTYP_PCOUNT2CH                 (-82)
-#define DTYP_PCOUNT4                   (-152)
-#define DTYP_PCOUNT4B                  (-42)
-#define DTYP_PCPID                     (-57)
-#define DTYP_PCREATESTRUCT             (-98)
-#define DTYP_PCURSORINFO               (-34)
-#define DTYP_PDEVOPENSTRUC             (-124)
-#define DTYP_PDLGTEMPLATE              (-96)
-#define DTYP_PDLGTITEM                 (-97)
-#define DTYP_PENTRYFDATA               (-127)
-#define DTYP_PERRORID                  (-45)
-#define DTYP_PFATTRS                   (-75)
-#define DTYP_PFFDESCS                  (-142)
-#define DTYP_PFIXED                    (-99)
-#define DTYP_PFONTMETRICS              (-74)
-#define DTYP_PFRAMECDATA               (-144)
-#define DTYP_PGRADIENTL                        (-48)
-#define DTYP_PHAB                      (-10)
-#define DTYP_PHACCEL                   (-30)
-#define DTYP_PHAPP                     (-146)
-#define DTYP_PHATOMTBL                 (-91)
-#define DTYP_PHBITMAP                  (-62)
-#define DTYP_PHCINFO                   (-46)
-#define DTYP_PHDC                      (-132)
-#define DTYP_PHENUM                    (-117)
-#define DTYP_PHHEAP                    (-109)
-#define DTYP_PHINI                     (-53)
-#define DTYP_PHLIB                     (-147)
-#define DTYP_PHMF                      (-85)
-#define DTYP_PHMQ                      (-86)
-#define DTYP_PHPOINTER                 (-106)
-#define DTYP_PHPROGRAM                 (-131)
-#define DTYP_PHPS                      (-12)
-#define DTYP_PHRGN                     (-116)
-#define DTYP_PHSEM                     (-140)
-#define DTYP_PHSPL                     (-32)
-#define DTYP_PHSWITCH                  (-66)
-#define DTYP_PHVPS                     (-58)
-#define DTYP_PHWND                     (-11)
-#define DTYP_PIDENTITY                 (-133)
-#define DTYP_PIDENTITY4                        (-169)
-#define DTYP_PIMAGEBUNDLE              (-136)
-#define DTYP_PINDEX2                   (-81)
-#define DTYP_PIPT                      (-155)
-#define DTYP_PKERNINGPAIRS             (-118)
-#define DTYP_PLENGTH2                  (-68)
-#define DTYP_PLENGTH4                  (-69)
-#define DTYP_PLINEBUNDLE               (-137)
-#define DTYP_PLONG                     (-25)
-#define DTYP_PMARKERBUNDLE             (-138)
-#define DTYP_PMATRIXLF                 (-113)
-#define DTYP_PMLECTLDATA               (-161)
-#define DTYP_PMLEMARGSTRUCT            (-157)
-#define DTYP_PMLEOVERFLOW              (-158)
-#define DTYP_POFFSET2B                 (-112)
-#define DTYP_POWNERITEM                        (-154)
-#define DTYP_PPID                      (-92)
-#define DTYP_PPIX                      (-156)
-#define DTYP_PPOINTERINFO              (-105)
-#define DTYP_PPOINTL                   (-77)
-#define DTYP_PPROGCATEGORY             (-129)
-#define DTYP_PPROGRAMENTRY             (-128)
-#define DTYP_PPROGTYPE                 (-130)
-#define DTYP_PPROPERTY2                        (-88)
-#define DTYP_PPROPERTY4                        (-89)
-#define DTYP_PQMSG                     (-87)
-#define DTYP_PRECTL                    (-121)
-#define DTYP_PRESID                    (-125)
-#define DTYP_PRGB                      (-111)
-#define DTYP_PRGNRECT                  (-115)
-#define DTYP_PSBCDATA                  (-159)
-#define DTYP_PSEGOFF                   (-126)
-#define DTYP_PSHORT                    (-23)
-#define DTYP_PSIZEF                    (-101)
-#define DTYP_PSIZEL                    (-102)
-#define DTYP_PSTRL                     (-17)
-#define DTYP_PSTR16                    (-40)
-#define DTYP_PSTR32                    (-37)
-#define DTYP_PSTR64                    (-47)
-#define DTYP_PSTR8                     (-33)
-#define DTYP_PSWBLOCK                  (-63)
-#define DTYP_PSWCNTRL                  (-64)
-#define DTYP_PSWENTRY                  (-65)
-#define DTYP_PSWP                      (-31)
-#define DTYP_PTID                      (-104)
-#define DTYP_PTIME                     (-107)
-#define DTYP_PTRACKINFO                        (-73)
-#define DTYP_PUCHAR                    (-22)
-#define DTYP_PULONG                    (-26)
-#define DTYP_PUSERBUTTON               (-36)
-#define DTYP_PUSHORT                   (-24)
-#define DTYP_PWIDTH4                   (-108)
-#define DTYP_PWNDPARAMS                        (-83)
-#define DTYP_PWNDPROC                  (-84)
-#define DTYP_PWPOINT                   (-59)
-#define DTYP_PWRECT                    (-55)
-#define DTYP_PXYWINSIZE                        (-52)
-
-#endif /* INCL_WINTYPES */
-
-typedef struct _QMSG
-{
-  HWND  hwnd;
-  ULONG         msg;
-  MPARAM mp1;
-  MPARAM mp2;
-  ULONG         time;
-  POINTL ptl;
-  ULONG         reserved;
-} QMSG;
-typedef QMSG *PQMSG;
-
-typedef struct _COMMANDMSG
-{
-  USHORT cmd;
-  USHORT unused;
-  USHORT source;
-  USHORT fMouse;
-} CMDMSG;
-typedef CMDMSG *PCMDMSG;
-
-typedef struct _MQINFO
-{
-  ULONG cb;
-  PID  pid;
-  TID  tid;
-  ULONG cmsgs;
-  PVOID pReserved;
-} MQINFO;
-typedef MQINFO *PMQINFO;
-
-#define COMMANDMSG(pmsg)       ((PCMDMSG)((PBYTE)pmsg + sizeof (ULONG)))
-
-
-BOOL WinCancelShutdown (HMQ hmq, BOOL fCancelAlways);
-HMQ WinCreateMsgQueue (HAB hab, LONG cmsg);
-BOOL WinDestroyMsgQueue (HMQ hmq);
-MRESULT WinDispatchMsg (HAB hab, PQMSG pqmsg);
-BOOL WinGetMsg (HAB hab, PQMSG pqmsg, HWND hwndFilter, ULONG msgFilterFirst,
-    ULONG msgFilterLast);
-BOOL WinLockInput (HMQ hmq, ULONG fLock);
-BOOL WinPeekMsg (HAB hab, PQMSG pqmsg, HWND hwndFilter, ULONG msgFilterFirst,
-    ULONG msgFilterLast, ULONG fl);
-BOOL WinPostMsg (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-HMQ WinQueueFromID (HAB hab, PID pid, TID tid);
-BOOL WinQueryQueueInfo (HMQ hmq, PMQINFO pmqi, ULONG cbCopy);
-HMQ WinQuerySendMsg (HAB hab, HMQ hmqSender, HMQ hmqReceiver, PQMSG pqmsg);
-BOOL WinRegisterUserDatatype (HAB hab, LONG datatype, LONG count, PLONG types);
-BOOL WinRegisterUserMsg (HAB hab, ULONG msgid, LONG datatype1, LONG dir1,
-    LONG datatype2, LONG dir2, LONG datatyper);
-BOOL WinReplyMsg (HAB hab, HMQ hmqSender, HMQ hmqReceiver, MRESULT mresult);
-MRESULT WinSendMsg (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-BOOL WinSetMsgMode (HAB hab, PCSZ classname, LONG control);
-BOOL WinSetSynchroMode (HAB hab, LONG mode);
-BOOL WinThreadAssocQueue (HAB hab, HMQ hmq);
-BOOL WinWakeThread (HMQ hmq);
-
-#endif /* INCL_WINMESSAGEMGR || !INCL_NOCOMMON */
-
-typedef struct _SWP
-{
-  ULONG fl;
-  LONG cy;
-  LONG cx;
-  LONG y;
-  LONG x;
-  HWND hwndInsertBehind;
-  HWND hwnd;
-  ULONG ulReserved1;
-  ULONG ulReserved2;
-} SWP;
-typedef SWP *PSWP;
-
-typedef struct _ICONINFO
-{
-   ULONG   cb;
-   ULONG   fFormat;
-   PSZ    pszFileName;
-   HMODULE hmod;
-   ULONG   resid;
-   ULONG   cbIconData;
-   PVOID   pIconData;
-} ICONINFO;
-typedef ICONINFO *PICONINFO;
-
-
-#define MPVOID                 ((MPARAM)0)
-
-#define MPFROMP(x)             ((MPARAM)((ULONG)(x)))
-#define MPFROMHWND(x)          ((MPARAM)(HWND)(x))
-#define MPFROMCHAR(x)          ((MPARAM)(ULONG)(USHORT)(x))
-#define MPFROMSHORT(x)         ((MPARAM)(ULONG)(USHORT)(x))
-#define MPFROM2SHORT(x1,x2)    ((MPARAM)MAKELONG (x1, x2))
-#define MPFROMSH2CH(s,c1,c2)   ((MPARAM)MAKELONG (s, MAKESHORT (c1, c2)))
-#define MPFROMLONG(x)          ((MPARAM)(ULONG)(x))
-
-#define PVOIDFROMMP(mp)                ((PVOID)(mp))
-#define HWNDFROMMP(mp)         ((HWND)(mp))
-#define CHAR1FROMMP(mp)                ((UCHAR)(ULONG)(mp))
-#define CHAR2FROMMP(mp)                ((UCHAR)((ULONG)mp >> 8))
-#define CHAR3FROMMP(mp)                ((UCHAR)((ULONG)mp >> 16))
-#define CHAR4FROMMP(mp)                ((UCHAR)((ULONG)mp >> 24))
-#define SHORT1FROMMP(mp)       ((USHORT)(ULONG)(mp))
-#define SHORT2FROMMP(mp)       ((USHORT)((ULONG)mp >> 16))
-#define LONGFROMMP(mp)         ((ULONG)(mp))
-
-#define MRFROMP(x)             ((MRESULT)(PVOID)(x))
-#define MRFROMSHORT(x)         ((MRESULT)(ULONG)(USHORT)(x))
-#define MRFROM2SHORT(x1,x2)    ((MRESULT)MAKELONG (x1, x2))
-#define MRFROMLONG(x)          ((MRESULT)(ULONG)(x))
-
-#define PVOIDFROMMR(mr)                ((VOID *)(mr))
-#define SHORT1FROMMR(mr)       ((USHORT)((ULONG)mr))
-#define SHORT2FROMMR(mr)       ((USHORT)((ULONG)mr >> 16))
-#define LONGFROMMR(mr)         ((ULONG)(mr))
-
-
-HWND WinCreateWindow (HWND hwndParent, PCSZ pszClass, PCSZ pszName,
-    ULONG flStyle, LONG x, LONG y, LONG cx, LONG cy, HWND hwndOwner,
-    HWND hwndInsertBehind, ULONG id, PVOID pCtlData, PVOID pPresParams);
-BOOL WinDrawBitmap (HPS hpsDst, HBITMAP hbm, __const__ RECTL *pwrcSrc,
-    __const__ POINTL *pptlDst, LONG clrFore, LONG clrBack, ULONG fl);
-BOOL WinDrawBorder (HPS hps, __const__ RECTL *prcl, LONG cx, LONG cy,
-    LONG clrFore, LONG clrBack, ULONG flCmd);
-LONG WinDrawText (HPS hps, LONG cchText, PCCH lpchText, PRECTL prcl,
-    LONG clrFore, LONG clrBack, ULONG flCmd);
-BOOL WinEnableWindow (HWND hwnd, BOOL fEnable);
-BOOL WinEnableWindowUpdate (HWND hwnd, BOOL fEnable);
-BOOL WinInvalidateRect (HWND hwnd, __const__ RECTL *prcl,
-    BOOL fIncludeChildren);
-BOOL WinInvalidateRegion (HWND hwnd, HRGN hrgn, BOOL fIncludeChildren);
-BOOL WinInvertRect (HPS hps, __const__ RECTL *prcl);
-BOOL WinIsChild (HWND hwnd, HWND hwndParent);
-BOOL WinIsWindow (HAB hab, HWND hwnd);
-BOOL WinIsWindowEnabled (HWND hwnd);
-BOOL WinIsWindowVisible (HWND hwnd);
-LONG WinLoadMessage (HAB hab, HMODULE hmod, ULONG id, LONG cchMax,
-    PSZ pchBuffer);
-LONG WinLoadString (HAB hab, HMODULE hmod, ULONG id, LONG cchMax,
-    PSZ pchBuffer);
-LONG WinMultWindowFromIDs (HWND hwndParent, PHWND prghwnd, ULONG idFirst,
-    ULONG idLast);
-HWND WinQueryDesktopWindow (HAB hab, HDC hdc);
-HWND WinQueryObjectWindow (HWND hwndDesktop);
-HPOINTER WinQueryPointer (HWND hwndDesktop);
-HWND WinQueryWindow (HWND hwnd, LONG cmd);
-BOOL WinQueryWindowPos (HWND hwnd, PSWP pswp);
-BOOL WinQueryWindowProcess (HWND hwnd, PPID ppid, PTID ptid);
-LONG WinQueryWindowText (HWND hwnd, LONG cchBufferMax, PCH pchBuffer);
-LONG WinQueryWindowTextLength (HWND hwnd);
-BOOL WinSetMultWindowPos (HAB hab, __const__ SWP *pswp, ULONG cswp);
-BOOL WinSetOwner (HWND hwnd, HWND hwndNewOwner);
-BOOL WinSetParent (HWND hwnd, HWND hwndNewParent, BOOL fRedraw);
-BOOL WinSetWindowPos (HWND hwnd, HWND hwndInsertBehind, LONG x, LONG y,
-    LONG cx, LONG cy, ULONG fl);
-BOOL WinSetWindowText (HWND hwnd, PCSZ pszText);
-BOOL WinUpdateWindow (HWND hwnd);
-HWND WinWindowFromID (HWND hwndParent, ULONG id);
-
-
-#if defined (INCL_WINFRAMEMGR) || !defined (INCL_NOCOMMON)
-
-#define FCF_TITLEBAR                   0x00000001
-#define FCF_SYSMENU                    0x00000002
-#define FCF_MENU                       0x00000004
-#define FCF_SIZEBORDER                 0x00000008
-#define FCF_MINBUTTON                  0x00000010
-#define FCF_MAXBUTTON                  0x00000020
-#define FCF_MINMAX                     (FCF_MINBUTTON|FCF_MAXBUTTON)
-#define FCF_VERTSCROLL                 0x00000040
-#define FCF_HORZSCROLL                 0x00000080
-#define FCF_DLGBORDER                  0x00000100
-#define FCF_BORDER                     0x00000200
-#define FCF_SHELLPOSITION              0x00000400
-#define FCF_TASKLIST                   0x00000800
-#define FCF_NOBYTEALIGN                        0x00001000
-#define FCF_NOMOVEWITHOWNER            0x00002000
-#define FCF_ICON                       0x00004000
-#define FCF_ACCELTABLE                 0x00008000
-#define FCF_SYSMODAL                   0x00010000
-#define FCF_SCREENALIGN                        0x00020000
-#define FCF_MOUSEALIGN                 0x00040000
-#define FCF_PALETTE_NORMAL             0x00080000
-#define FCF_PALETTE_HELP               0x00100000
-#define FCF_PALETTE_POPUPODD           0x00200000
-#define FCF_PALETTE_POPUPEVEN          0x00400000
-#define FCF_HIDEBUTTON                 0x01000000
-#define FCF_HIDEMAX                    0x01000020
-#define FCF_AUTOICON                   0x40000000
-#if defined (INCL_NLS)
-#define FCF_DBE_APPSTAT                        0x80000000
-#endif /* INCL_NLS */
-
-#define FCF_STANDARD                   0x0000cc3f
-
-#define FF_FLASHWINDOW                 0x0001
-#define FF_ACTIVE                      0x0002
-#define FF_FLASHHILITE                 0x0004
-#define FF_OWNERHIDDEN                 0x0008
-#define FF_DLGDISMISSED                        0x0010
-#define FF_OWNERDISABLED               0x0020
-#define FF_SELECTED                    0x0040
-#define FF_NOACTIVATESWP               0x0080
-#define FF_DIALOGBOX                   0x0100
-
-#define FS_ICON                                0x00000001
-#define FS_ACCELTABLE                  0x00000002
-#define FS_SHELLPOSITION               0x00000004
-#define FS_TASKLIST                    0x00000008
-#define FS_NOBYTEALIGN                 0x00000010
-#define FS_NOMOVEWITHOWNER             0x00000020
-#define FS_SYSMODAL                    0x00000040
-#define FS_DLGBORDER                   0x00000080
-#define FS_BORDER                      0x00000100
-#define FS_SCREENALIGN                 0x00000200
-#define FS_MOUSEALIGN                  0x00000400
-#define FS_SIZEBORDER                  0x00000800
-#define FS_AUTOICON                    0x00001000
-#if defined (INCL_NLS)
-#define FS_DBE_APPSTAT                 0x00008000
-#endif /* INCL_NLS */
-
-#define FS_STANDARD                    0x0000000f
-
-typedef struct _FRAMECDATA
-{
-  USHORT cb;
-  ULONG         flCreateFlags;
-  USHORT hmodResources;
-  USHORT idResources;
-} FRAMECDATA;
-typedef FRAMECDATA *PFRAMECDATA;
-
-HWND WinCreateStdWindow (HWND hwndParent, ULONG flStyle,
-    PULONG pflCreateFlags, PCSZ pszClientClass, PCSZ pszTitle,
-    ULONG styleClient, HMODULE hmod, ULONG idResources, PHWND phwndClient);
-
-#endif /* INCL_WINFRAMEMGR || !INCL_NOCOMMON */
-
-#if defined (INCL_WINFRAMEMGR)
-
-#define WM_FLASHWINDOW                 0x0040
-#define WM_FORMATFRAME                 0x0041
-#define WM_UPDATEFRAME                 0x0042
-#define WM_FOCUSCHANGE                 0x0043
-#define WM_SETBORDERSIZE               0x0044
-#define WM_TRACKFRAME                  0x0045
-#define WM_MINMAXFRAME                 0x0046
-#define WM_SETICON                     0x0047
-#define WM_QUERYICON                   0x0048
-#define WM_SETACCELTABLE               0x0049
-#define WM_QUERYACCELTABLE             0x004a
-#define WM_TRANSLATEACCEL              0x004b
-#define WM_QUERYTRACKINFO              0x004c
-#define WM_QUERYBORDERSIZE             0x004d
-#define WM_NEXTMENU                    0x004e
-#define WM_ERASEBACKGROUND             0x004f
-#define WM_QUERYFRAMEINFO              0x0050
-#define WM_QUERYFOCUSCHAIN             0x0051
-#define WM_OWNERPOSCHANGE              0x0052
-#define WM_CALCFRAMERECT               0x0053
-#define WM_WINDOWPOSCHANGED            0x0055
-#define WM_ADJUSTFRAMEPOS              0x0056
-#define WM_QUERYFRAMECTLCOUNT          0x0059
-#define WM_QUERYHELPINFO               0x005b
-#define WM_SETHELPINFO                 0x005c
-#define WM_ERROR                       0x005d
-#define WM_REALIZEPALETTE              0x005e
-
-#define FI_FRAME                       0x00000001
-#define FI_OWNERHIDE                   0x00000002
-#define FI_ACTIVATEOK                  0x00000004
-#define FI_NOMOVEWITHOWNER             0x00000008
-
-#define FID_SYSMENU                    0x8002
-#define FID_TITLEBAR                   0x8003
-#define FID_MINMAX                     0x8004
-#define FID_MENU                       0x8005
-#define FID_VERTSCROLL                 0x8006
-#define FID_HORZSCROLL                 0x8007
-#define FID_CLIENT                     0x8008
-#define FID_DBE_APPSTAT                        0x8010
-#define FID_DBE_KBDSTAT                        0x8011
-#define FID_DBE_PECIC                  0x8012
-#define FID_DBE_KKPOPUP                        0x8013
-
-#define SC_SIZE                                0x8000
-#define SC_MOVE                                0x8001
-#define SC_MINIMIZE                    0x8002
-#define SC_MAXIMIZE                    0x8003
-#define SC_CLOSE                       0x8004
-#define SC_NEXT                                0x8005
-#define SC_APPMENU                     0x8006
-#define SC_SYSMENU                     0x8007
-#define SC_RESTORE                     0x8008
-#define SC_NEXTFRAME                   0x8009
-#define SC_NEXTWINDOW                  0x8010
-#define SC_TASKMANAGER                 0x8011
-#define SC_HELPKEYS                    0x8012
-#define SC_HELPINDEX                   0x8013
-#define SC_HELPEXTENDED                        0x8014
-#define SC_SWITCHPANELIDS              0x8015
-#define SC_DBE_FIRST                   0x8018
-#define SC_DBE_LAST                    0x801f
-#define SC_BEGINDRAG                   0x8020
-#define SC_ENDDRAG                     0x8021
-#define SC_SELECT                      0x8022
-#define SC_OPEN                                0x8023
-#define SC_CONTEXTMENU                 0x8024
-#define SC_CONTEXTHELP                 0x8025
-#define SC_TEXTEDIT                    0x8026
-#define SC_BEGINSELECT                 0x8027
-#define SC_ENDSELECT                   0x8028
-#define SC_WINDOW                      0x8029
-#define SC_HIDE                                0x802a
-
-typedef LHANDLE HSAVEWP;
-
-BOOL WinCalcFrameRect (HWND hwndFrame, PRECTL prcl, BOOL fClient);
-BOOL WinCreateFrameControls (HWND hwndFrame, PFRAMECDATA pfcdata,
-    PCSZ pszTitle);
-BOOL WinFlashWindow (HWND hwndFrame, BOOL fFlash);
-BOOL WinGetMaxPosition (HWND hwnd, PSWP pswp);
-BOOL WinGetMinPosition (HWND hwnd, PSWP pswp, __const__ POINTL *pptl);
-BOOL WinSaveWindowPos (HSAVEWP hsvwp, PSWP pswp, ULONG cswp);
-
-#endif /* INCL_WINFRAMEMGR */
-
-
-#if defined (INCL_WINWINDOWMGR) || !defined (INCL_NOCOMMON)
-
-#define PSF_LOCKWINDOWUPDATE           0x0001
-#define PSF_CLIPUPWARDS                        0x0002
-#define PSF_CLIPDOWNWARDS              0x0004
-#define PSF_CLIPSIBLINGS               0x0008
-#define PSF_CLIPCHILDREN               0x0010
-#define PSF_PARENTCLIP                 0x0020
-
-#define QV_OS2                         0x0000
-#define QV_CMS                         0x0001
-#define QV_TSO                         0x0002
-#define QV_TSOBATCH                    0x0003
-#define QV_OS400                       0x0004
-
-#define SW_SCROLLCHILDREN              0x0001
-#define SW_INVALIDATERGN               0x0002
-
-
-typedef struct _QVERSDATA
-{
-  USHORT environment;
-  USHORT version;
-} QVERSDATA;
-typedef QVERSDATA *PQVERSDATA;
-
-
-HPS WinBeginPaint (HWND hwnd, HPS hps, PRECTL prclPaint);
-MRESULT WinDefWindowProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-BOOL WinDestroyWindow (HWND hwnd);
-BOOL WinEndPaint (HPS hps);
-BOOL WinFillRect (HPS hps, __const__ RECTL *prcl, LONG lColor);
-HPS WinGetClipPS (HWND hwnd, HWND hwndClip, ULONG fl);
-HPS WinGetPS (HWND hwnd);
-HAB WinInitialize (ULONG fsOptions);
-BOOL WinIsWindowShowing (HWND hwnd);
-HDC WinOpenWindowDC (HWND hwnd);
-HAB WinQueryAnchorBlock (HWND hwnd);
-ULONG WinQueryVersion (HAB hab);
-BOOL WinQueryWindowRect (HWND hwnd, PRECTL prclDest);
-BOOL WinRegisterClass (HAB hab, PCSZ pszClassName, PFNWP pfnWndProc,
-    ULONG flStyle, ULONG cbWindowData);
-BOOL WinReleasePS (HPS hps);
-LONG WinScrollWindow (HWND hwnd, LONG dx, LONG dy, __const__ RECTL *prclScroll,
-    __const__ RECTL *prclClip, HRGN hrgnUpdate, PRECTL prclUpdate,
-    ULONG rgfsw);
-BOOL WinSetActiveWindow (HWND hwndDesktop, HWND hwnd);
-BOOL WinShowWindow (HWND hwnd, BOOL fShow);
-BOOL WinTerminate (HAB hab);
-
-#endif /* INCL_WINWINDOWMGR || !INCL_NOCOMMON */
-
-#if defined (INCL_WINWINDOWMGR)
-
-#define WM_QUERYCONVERTPOS             0x00b0
-
-#define QCP_CONVERT                    0x0001
-#define QCP_NOCONVERT                  0x0000
-
-#define QWS_USER                       0
-#define QWS_ID                         (-1)
-#define QWS_MIN                                (-1)
-
-#define QWL_USER                       0
-#define QWL_STYLE                      (-2)
-#define QWP_PFNWP                      (-3)
-#define QWL_HMQ                                (-4)
-#define QWL_RESERVED                   (-5)
-#define QWL_PENDATA                    (-7)
-#define QWL_BD_ATTR                    (-9)
-#define QWL_BD_STAT                    (-10)
-#define QWL_KBDLAYER                   (-11)
-#define QWL_MIN                                (-11)
-
-#define QWL_HHEAP                      0x0004
-#define QWL_HWNDFOCUSSAVE              0x0018
-#define QWL_DEFBUTTON                  0x0040
-#define QWL_PSSCBLK                    0x0048
-#define QWL_PFEPBLK                    0x004c
-#define QWL_PSTATBLK                   0x0050
-
-#define QWS_FLAGS                      0x0008
-#define QWS_RESULT                     0x000a
-#define QWS_XRESTORE                   0x000c
-#define QWS_YRESTORE                   0x000e
-#define QWS_CXRESTORE                  0x0010
-#define QWS_CYRESTORE                  0x0012
-#define QWS_XMINIMIZE                  0x0014
-#define QWS_YMINIMIZE                  0x0016
-
-
-typedef struct _CLASSINFO
-{
-  ULONG flClassStyle;
-  PFNWP pfnWindowProc;
-  ULONG cbWindowData;
-} CLASSINFO;
-typedef CLASSINFO *PCLASSINFO;
-
-typedef struct _CREATESTRUCT
-{
-  PVOID pPresParams;
-  PVOID pCtlData;
-  ULONG id;
-  HWND hwndInsertBehind;
-  HWND hwndOwner;
-  LONG cy;
-  LONG cx;
-  LONG y;
-  LONG x;
-  ULONG flStyle;
-  PSZ  pszText;
-  PSZ  pszClass;
-  HWND hwndParent;
-} CREATESTRUCT;
-typedef CREATESTRUCT *PCREATESTRUCT;
-
-typedef LHANDLE HENUM;
-
-
-HENUM WinBeginEnumWindows (HWND hwnd);
-BOOL WinEndEnumWindows (HENUM henum);
-LONG WinExcludeUpdateRegion (HPS hps, HWND hwnd);
-HWND WinGetNextWindow (HENUM henum);
-HPS WinGetScreenPS (HWND hwndDesktop);
-BOOL WinIsThreadActive (HAB hab);
-BOOL WinLockVisRegions (HWND hwndDesktop, BOOL fLock);
-BOOL WinLockWindowUpdate (HWND hwndDesktop, HWND hwndLockUpdate);
-BOOL WinMapWindowPoints (HWND hwndFrom, HWND hwndTo, PPOINTL prgptl,
-    LONG cwpt);
-HWND WinQueryActiveWindow (HWND hwndDesktop);
-BOOL WinQueryClassInfo (HAB hab, PCSZ pszClassName, PCLASSINFO pClassInfo);
-LONG WinQueryClassName (HWND hwnd, LONG cchMax, PCH pch);
-BOOL WinQueryUpdateRect (HWND hwnd, PRECTL prcl);
-LONG WinQueryUpdateRegion (HWND hwnd, HRGN hrgn);
-HWND WinQuerySysModalWindow (HWND hwndDesktop);
-HDC WinQueryWindowDC (HWND hwnd);
-PVOID WinQueryWindowPtr (HWND hwnd, LONG index);
-ULONG WinQueryWindowULong (HWND hwnd, LONG index);
-USHORT WinQueryWindowUShort (HWND hwnd, LONG index);
-BOOL WinSetSysModalWindow (HWND hwndDesktop, HWND hwnd);
-BOOL WinSetWindowBits (HWND hwnd, LONG index, ULONG flData, ULONG flMask);
-BOOL WinSetWindowPtr (HWND hwnd, LONG index, PVOID p);
-BOOL WinSetWindowULong (HWND hwnd, LONG index, ULONG ul);
-BOOL WinSetWindowUShort (HWND hwnd, LONG index, USHORT us);
-PFNWP WinSubclassWindow (HWND hwnd, PFNWP pfnwp);
-BOOL WinValidateRect (HWND hwnd, __const__ RECTL *prcl, BOOL fIncludeChildren);
-BOOL WinValidateRegion (HWND hwnd, HRGN hrgn, BOOL fIncludeChildren);
-HWND WinWindowFromDC (HDC hdc);
-HWND WinWindowFromPoint (HWND hwnd, __const__ POINTL *pptl, BOOL fChildren);
-
-#endif /* INCL_WINWINDOWMGR */
-
-
-#if defined (INCL_WINACCELERATORS)
-
-#define AF_CHAR                                0x0001
-#define AF_VIRTUALKEY                  0x0002
-#define AF_SCANCODE                    0x0004
-#define AF_SHIFT                       0x0008
-#define AF_CONTROL                     0x0010
-#define AF_ALT                         0x0020
-#define AF_LONEKEY                     0x0040
-#define AF_SYSCOMMAND                  0x0100
-#define AF_HELP                                0x0200
-
-typedef struct _ACCEL
-{
-  USHORT fs;
-  USHORT key;
-  USHORT cmd;
-} ACCEL;
-typedef ACCEL *PACCEL;
-
-typedef struct _ACCELTABLE
-{
-  USHORT cAccel;
-  USHORT codepage;
-  ACCEL         aaccel[1];
-} ACCELTABLE;
-typedef ACCELTABLE *PACCELTABLE;
-
-ULONG WinCopyAccelTable (HACCEL haccel, PACCELTABLE pAccelTable,
-    ULONG cbCopyMax);
-HACCEL WinCreateAccelTable (HAB hab, PACCELTABLE pAccelTable);
-BOOL WinDestroyAccelTable (HACCEL haccel);
-HACCEL WinLoadAccelTable (HAB hab, HMODULE hmod, ULONG idAccelTable);
-HACCEL WinQueryAccelTable (HAB hab, HWND hwndFrame);
-BOOL WinSetAccelTable (HAB hab, HACCEL haccel, HWND hwndFrame);
-BOOL WinTranslateAccel (HAB hab, HWND hwnd, HACCEL haccel, PQMSG pqmsg);
-
-#endif /* INCL_WINACCELERATORS */
-
-
-#if defined (INCL_WINATOM)
-
-typedef LHANDLE HATOMTBL;
-typedef ULONG ATOM;
-
-#define MAKEINTATOM(x)         ((PCH)MAKEULONG (x, 0xffff))
-
-ATOM WinAddAtom (HATOMTBL hAtomTbl, PCSZ pszAtomName);
-HATOMTBL WinCreateAtomTable (ULONG cbInitial, ULONG cBuckets);
-ATOM WinDeleteAtom (HATOMTBL hAtomTbl, ATOM atom);
-HATOMTBL WinDestroyAtomTable (HATOMTBL hAtomTbl);
-ATOM WinFindAtom (HATOMTBL hAtomTbl, PCSZ pszAtomName);
-ULONG WinQueryAtomLength (HATOMTBL hAtomTbl, ATOM atom);
-ULONG WinQueryAtomName (HATOMTBL hAtomTbl, ATOM atom, PSZ pchBuffer,
-    ULONG cchBufferMax);
-ULONG WinQueryAtomUsage (HATOMTBL hAtomTbl, ATOM atom);
-HATOMTBL WinQuerySystemAtomTable (VOID);
-
-#endif /* INCL_WINATOM */
-
-
-#if defined (INCL_WINBUTTONS)
-
-#define BDS_HILITED                    0x0100
-#define BDS_DISABLED                   0x0200
-#define BDS_DEFAULT                    0x0400
-
-#define BM_CLICK                       0x0120
-#define BM_QUERYCHECKINDEX             0x0121
-#define BM_QUERYHILITE                 0x0122
-#define BM_SETHILITE                   0x0123
-#define BM_QUERYCHECK                  0x0124
-#define BM_SETCHECK                    0x0125
-#define BM_SETDEFAULT                  0x0126
-
-#define BN_CLICKED                     1
-#define BN_DBLCLICKED                  2
-#define BN_PAINT                       3
-
-#define BS_PUSHBUTTON                  0
-#define BS_CHECKBOX                    1
-#define BS_AUTOCHECKBOX                        2
-#define BS_RADIOBUTTON                 3
-#define BS_AUTORADIOBUTTON             4
-#define BS_3STATE                      5
-#define BS_AUTO3STATE                  6
-#define BS_USERBUTTON                  7
-
-#define BS_PRIMARYSTYLES               0x000f
-#define BS_TEXT                                0x0010
-#define BS_MINIICON                    0x0020
-#define BS_BITMAP                      0x0040
-#define BS_ICON                                0x0080
-#define BS_HELP                                0x0100
-#define BS_SYSCOMMAND                  0x0200
-#define BS_DEFAULT                     0x0400
-#define BS_NOPOINTERFOCUS              0x0800
-#define BS_NOBORDER                    0x1000
-#define BS_NOCURSORSELECT              0x2000
-#define BS_AUTOSIZE                    0x4000
-
-typedef struct _BTNCDATA
-{
-  USHORT  cb;
-  USHORT  fsCheckState;
-  USHORT  fsHiliteState;
-  LHANDLE hImage;
-} BTNCDATA;
-typedef BTNCDATA *PBTNCDATA;
-
-typedef struct _USERBUTTON
-{
-  HWND hwnd;
-  HPS  hps;
-  ULONG fsState;
-  ULONG fsStateOld;
-} USERBUTTON;
-typedef USERBUTTON *PUSERBUTTON;
-
-
-#endif /* INCL_WINBUTTONS */
-
-
-#if defined (INCL_WINCLIPBOARD) || defined (INCL_WINDDE)
-
-#define WM_RENDERFMT                   0x0060
-#define WM_RENDERALLFMTS               0x0061
-#define WM_DESTROYCLIPBOARD            0x0062
-#define WM_PAINTCLIPBOARD              0x0063
-#define WM_SIZECLIPBOARD               0x0064
-#define WM_HSCROLLCLIPBOARD            0x0065
-#define WM_VSCROLLCLIPBOARD            0x0066
-#define WM_DRAWCLIPBOARD               0x0067
-
-#define CF_TEXT                                1
-#define CF_BITMAP                      2
-#define CF_DSPTEXT                     3
-#define CF_DSPBITMAP                   4
-#define CF_METAFILE                    5
-#define CF_DSPMETAFILE                 6
-#define CF_PALETTE                     9
-#define CF_MMPMFIRST                   10
-#define CF_MMPMLAST                    19
-
-#define SZFMT_TEXT                     "#1"
-#define SZFMT_BITMAP                   "#2"
-#define SZFMT_DSPTEXT                  "#3"
-#define SZFMT_DSPBITMAP                        "#4"
-#define SZFMT_METAFILE                 "#5"
-#define SZFMT_DSPMETAFILE              "#6"
-#define SZFMT_PALETTE                  "#9"
-#define SZFMT_SYLK                     "Sylk"
-#define SZFMT_DIF                      "Dif"
-#define SZFMT_TIFF                     "Tiff"
-#define SZFMT_OEMTEXT                  "OemText"
-#define SZFMT_DIB                      "Dib"
-#define SZFMT_OWNERDISPLAY             "OwnerDisplay"
-#define SZFMT_LINK                     "Link"
-#define SZFMT_METAFILEPICT             "MetaFilePict"
-#define SZFMT_DSPMETAFILEPICT          "DspMetaFilePict"
-#define SZFMT_CPTEXT                   "Codepage Text"
-
-typedef struct _CPTEXT
-{
-  USHORT idCountry;
-  USHORT usCodepage;
-  USHORT usLangID;
-  USHORT usSubLangID;
-  BYTE  abText[1];
-} CPTEXT;
-typedef CPTEXT *PCPTEXT;
-
-typedef struct _MFP
-{
-  POINTL sizeBounds;
-  POINTL sizeMM;
-  ULONG         cbLength;
-  USHORT mapMode;
-  USHORT reserved;
-  BYTE  abData[1];
-} MFP;
-typedef MFP *PMFP;
-
-#endif /* INCL_WINCLIPBOARD || INCL_WINDDE */
-
-#if defined (INCL_WINCLIPBOARD)
-
-#define CFI_OWNERFREE                  0x0001
-#define CFI_OWNERDISPLAY               0x0002
-#define CFI_HANDLE                     0x0200
-#define CFI_POINTER                    0x0400
-
-BOOL WinCloseClipbrd (HAB hab);
-BOOL WinEmptyClipbrd (HAB hab);
-ULONG WinEnumClipbrdFmts (HAB hab, ULONG fmt);
-BOOL WinOpenClipbrd (HAB hab);
-ULONG WinQueryClipbrdData (HAB hab, ULONG fmt);
-BOOL WinQueryClipbrdFmtInfo (HAB hab, ULONG fmt, PULONG prgfFmtInfo);
-HWND WinQueryClipbrdOwner (HAB hab);
-HWND WinQueryClipbrdViewer (HAB hab);
-BOOL WinSetClipbrdData (HAB hab, ULONG ulData, ULONG fmt, ULONG rgfFmtInfo);
-BOOL WinSetClipbrdOwner (HAB hab, HWND hwnd);
-BOOL WinSetClipbrdViewer (HAB hab, HWND hwndNewClipViewer);
-
-#endif /* INCL_WINCLIPBOARD */
-
-
-#if defined (INCL_WINDDE)
-
-#define WM_DDE_FIRST                   0x00a0
-#define WM_DDE_INITIATE                        0x00a0
-#define WM_DDE_REQUEST                 0x00a1
-#define WM_DDE_ACK                     0x00a2
-#define WM_DDE_DATA                    0x00a3
-#define WM_DDE_ADVISE                  0x00a4
-#define WM_DDE_UNADVISE                        0x00a5
-#define WM_DDE_POKE                    0x00a6
-#define WM_DDE_EXECUTE                 0x00a7
-#define WM_DDE_TERMINATE               0x00a8
-#define WM_DDE_INITIATEACK             0x00a9
-#define WM_DDE_LAST                    0x00af
-
-#define DDE_FACK                       0x0001
-#define DDE_FBUSY                      0x0002
-#define DDE_FNODATA                    0x0004
-#define DDE_FACKREQ                    0x0008
-#define DDE_FRESPONSE                  0x0010
-#define DDE_NOTPROCESSED               0x0020
-#define DDE_FRESERVED                  0x00c0
-#define DDE_FAPPSTATUS                 0xff00
-
-#define DDECTXT_CASESENSITIVE          0x0001
-
-#define DDEFMT_TEXT                    0x0001
-
-#define DDEPM_RETRY                    0x0001
-#define DDEPM_NOFREE                   0x0002
-
-#define SZDDESYS_TOPIC                 "System"
-#define SZDDESYS_ITEM_TOPICS           "Topics"
-#define SZDDESYS_ITEM_SYSITEMS         "SysItems"
-#define SZDDESYS_ITEM_RTNMSG           "ReturnMessage"
-#define SZDDESYS_ITEM_STATUS           "Status"
-#define SZDDESYS_ITEM_FORMATS          "Formats"
-#define SZDDESYS_ITEM_SECURITY         "Security"
-#define SZDDESYS_ITEM_ITEMFORMATS      "ItemFormats"
-#define SZDDESYS_ITEM_HELP             "Help"
-#define SZDDESYS_ITEM_PROTOCOLS                "Protocols"
-#define SZDDESYS_ITEM_RESTART          "Restart"
-
-typedef struct _CONVCONTEXT
-{
-  ULONG cb;
-  ULONG fsContext;
-  ULONG idCountry;
-  ULONG usCodepage;
-  ULONG usLangID;
-  ULONG usSubLangID;
-} CONVCONTEXT;
-typedef CONVCONTEXT *PCONVCONTEXT;
-
-typedef struct _DDEINIT
-{
-  ULONG cb;
-  PSZ  pszAppName;
-  PSZ  pszTopic;
-  ULONG offConvContext;
-} DDEINIT;
-typedef DDEINIT *PDDEINIT;
-
-typedef struct _DDESTRUCT
-{
-  ULONG         cbData;
-  USHORT fsStatus;
-  USHORT usFormat;
-  USHORT offszItemName;
-  USHORT offabData;
-} DDESTRUCT;
-typedef DDESTRUCT *PDDESTRUCT;
-
-#define DDES_PSZITEMNAME(pddes) \
-    (((PSZ)pddes) + ((PDDESTRUCT)pddes)->offszItemName)
-
-#define DDES_PABDATA(pddes) \
-    (((PBYTE)pddes) + ((PDDESTRUCT)pddes)->offabData)
-
-#define DDEI_PCONVCONTEXT(pddei) \
-    ((PCONVCONTEXT)((PBYTE)pddei + pddei->offConvContext))
-
-BOOL WinDdeInitiate (HWND hwndClient, PCSZ pszAppName, PCSZ pszTopicName,
-    __const__ CONVCONTEXT *pcctxt);
-BOOL WinDdePostMsg (HWND hwndTo, HWND hwndFrom, ULONG wm,
-    __const__ DDESTRUCT *pddest, ULONG flOptions);
-MRESULT WinDdeRespond (HWND hwndClient, HWND hwndServer, PCSZ pszAppName,
-    PCSZ pszTopicName, __const__ CONVCONTEXT *pcctxt);
-
-#endif /* INCL_WINDDE */
-
-
-#if defined (INCL_WINCOUNTRY)
-
-#define WCS_ERROR                      0
-#define WCS_EQ                         1
-#define WCS_LT                         2
-#define WCS_GT                         3
-
-ULONG WinCompareStrings (HAB hab, ULONG idcp, ULONG idcc, PCSZ psz1,
-    PCSZ psz2, ULONG reserved);
-UCHAR WinCpTranslateChar (HAB hab, ULONG cpSrc, UCHAR chSrc, ULONG cpDst);
-BOOL WinCpTranslateString (HAB hab, ULONG cpSrc, PCSZ pszSrc, ULONG cpDst,
-    ULONG cchDestMax, PSZ pchDest);
-PSZ WinNextChar (HAB hab, ULONG idcp, ULONG idcc, PCSZ psz);
-PSZ WinPrevChar (HAB hab, ULONG idcp, ULONG idcc, PCSZ pszStart,
-    PCSZ psz);
-ULONG WinQueryCp (HMQ hmq);
-ULONG WinQueryCpList (HAB hab, ULONG ccpMax, PULONG prgcp);
-BOOL WinSetCp (HMQ hmq, ULONG idCodePage);
-ULONG WinUpper (HAB hab, ULONG idcp, ULONG idcc, PSZ psz);
-ULONG WinUpperChar (HAB hab, ULONG idcp, ULONG idcc, ULONG c);
-
-#endif /* INCL_WINCOUNTRY */
-
-
-#if defined (INCL_WINCURSORS) || !defined (INCL_NOCOMMON)
-
-#define CURSOR_SOLID                   0x0000
-#define CURSOR_HALFTONE                        0x0001
-#define CURSOR_FRAME                   0x0002
-#define CURSOR_FLASH                   0x0004
-#define CURSOR_BIDI_FIRST              0x0100
-#define CURSOR_BIDI_LAST               0x0200
-#define CURSOR_SETPOS                  0x8000
-
-BOOL WinCreateCursor (HWND hwnd, LONG x, LONG y, LONG cx, LONG cy,
-    ULONG fs, PRECTL prclClip);
-BOOL WinDestroyCursor (HWND hwnd);
-BOOL WinShowCursor (HWND hwnd, BOOL fShow);
-
-#endif /* INCL_WINCURSORS || !INCL_NOCOMMON */
-
-#if defined (INCL_WINCURSORS)
-
-typedef struct _CURSORINFO
-{
-  HWND hwnd;
-  LONG x;
-  LONG y;
-  LONG cx;
-  LONG cy;
-  ULONG fs;
-  RECTL rclClip;
-} CURSORINFO;
-typedef CURSORINFO *PCURSORINFO;
-
-BOOL WinQueryCursorInfo (HWND hwndDesktop, PCURSORINFO pCursorInfo);
-
-#endif /* INCL_WINCURSORS */
-
-
-#if defined (INCL_WINDESKTOP)
-
-#define SDT_DESTROY                    0x0001
-#define SDT_NOBKGND                    0x0002
-#define SDT_TILE                       0x0004
-#define SDT_SCALE                      0x0008
-#define SDT_PATTERN                    0x0010
-#define SDT_CENTER                     0x0020
-#define SDT_RETAIN                     0x0040
-#define SDT_LOADFILE                   0x0080
-
-typedef struct _DESKTOP
-{
-  ULONG          cbSize;
-  HBITMAP hbm;
-  LONG   x;
-  LONG   y;
-  ULONG          fl;
-  LONG   lTileCount;
-  CHAR   szFile[260];
-} DESKTOP;
-typedef DESKTOP *PDESKTOP;
-
-BOOL WinQueryDesktopBkgnd (HWND hwndDesktop, PDESKTOP pdsk);
-HBITMAP WinSetDesktopBkgnd (HWND hwndDesktop, __const__ DESKTOP *pdskNew);
-
-#endif /* INCL_WINDESKTOP */
-
-
-#if defined (INCL_WINDIALOGS) || !defined (INCL_NOCOMMON)
-
-#define DID_OK                         1
-#define DID_CANCEL                     2
-#define DID_ERROR                      0xffff
-
-#define MB_OK                          0x0000
-#define MB_OKCANCEL                    0x0001
-#define MB_RETRYCANCEL                 0x0002
-#define MB_ABORTRETRYIGNORE            0x0003
-#define MB_YESNO                       0x0004
-#define MB_YESNOCANCEL                 0x0005
-#define MB_CANCEL                      0x0006
-#define MB_ENTER                       0x0007
-#define MB_ENTERCANCEL                 0x0008
-
-#define MB_NOICON                      0x0000
-#define MB_CUANOTIFICATION             0x0000
-#define MB_ICONQUESTION                        0x0010
-#define MB_ICONEXCLAMATION             0x0020
-#define MB_CUAWARNING                  0x0020
-#define MB_ICONASTERISK                        0x0030
-#define MB_ICONHAND                    0x0040
-#define MB_CUACRITICAL                 0x0040
-#define MB_QUERY                       MB_ICONQUESTION
-#define MB_WARNING                     MB_CUAWARNING
-#define MB_INFORMATION                 MB_ICONASTERISK
-#define MB_CRITICAL                    MB_CUACRITICAL
-#define MB_ERROR                       MB_CRITICAL
-#define MB_CUSTOMICON                  0x0080
-
-#define MB_DEFBUTTON1                  0x0000
-#define MB_DEFBUTTON2                  0x0100
-#define MB_DEFBUTTON3                  0x0200
-
-#define MB_APPLMODAL                   0x0000
-#define MB_SYSTEMMODAL                 0x1000
-#define MB_HELP                                0x2000
-#define MB_MOVEABLE                    0x4000
-#define MB_NONMODAL                    0x8000
-
-#define MBID_OK                                1
-#define MBID_CANCEL                    2
-#define MBID_ABORT                     3
-#define MBID_RETRY                     4
-#define MBID_IGNORE                    5
-#define MBID_YES                       6
-#define MBID_NO                                7
-#define MBID_HELP                      8
-#define MBID_ENTER                     9
-#define MBID_ERROR                     0xffff
-
-#define WA_WARNING                     0
-#define WA_NOTE                                1
-#define WA_ERROR                       2
-#define WA_CDEFALARMS                  3
-
-#if 0 /* Multimedia */
-#define WA_WINDOWOPEN                  3
-#define WA_WINDOWCLOSE                 4
-#define WA_BEGINDRAG                   5
-#define WA_ENDDRAG                     6
-#define WA_STARTUP                     7
-#define WA_SHUTDOWN                    8
-#define WA_SHRED                       9
-#define WA_CWINALARMS                  13
-#endif /* 0 */
-
-#define MAX_MBDTEXT                    70
-
-typedef struct _MB2D
-{
-  CHAR achText[MAX_MBDTEXT+1];
-  CHAR _pad[1];
-  ULONG idButton;
-  LONG flStyle;
-} MB2D;
-typedef MB2D *PMB2D;
-
-typedef struct _MB2INFO
-{
-  ULONG           cb;
-  HPOINTER hIcon;
-  ULONG           cButtons;
-  ULONG           flStyle;
-  HWND    hwndNotify;
-  MB2D    mb2d[1];
-} MB2INFO;
-
-typedef MB2INFO *PMB2INFO;
-
-
-#define WinCheckButton(hwndDlg,id,usCheckState) \
-    ((ULONG)WinSendDlgItemMsg (hwndDlg, id, BM_SETCHECK, \
-                              MPFROMSHORT (usCheckState), (MPARAM)NULL))
-
-#define WinEnableControl(hwndDlg,id,fEnable) \
-    WinEnableWindow (WinWindowFromID (hwndDlg, id), fEnable)
-
-#define WinIsControlEnabled(hwndDlg,id) \
-    ((BOOL)WinIsWindowEnabled (WinWindowFromID (hwndDlg, id)))
-
-#define WinQueryButtonCheckstate(hwndDlg,id) \
-    ((ULONG)WinSendDlgItemMsg (hwndDlg, id, BM_QUERYCHECK, \
-                              (MPARAM)NULL, (MPARAM)NULL))
-
-
-BOOL WinAlarm (HWND hwndDesktop, ULONG rgfType);
-MRESULT WinDefDlgProc (HWND hwndDlg, ULONG msg, MPARAM mp1, MPARAM mp2);
-BOOL WinDismissDlg (HWND hwndDlg, ULONG usResult);
-ULONG WinDlgBox (HWND hwndParent, HWND hwndOwner, PFNWP pfnDlgProc,
-    HMODULE hmod, ULONG idDlg, PVOID pCreateParams);
-BOOL WinGetDlgMsg (HWND hwndDlg, PQMSG pqmsg);
-HWND WinLoadDlg (HWND hwndParent, HWND hwndOwner, PFNWP pfnDlgProc,
-    HMODULE hmod, ULONG idDlg, PVOID pCreateParams);
-ULONG WinMessageBox (HWND hwndParent, HWND hwndOwner, PCSZ pszText,
-    PCSZ pszCaption, ULONG idWindow, ULONG flStyle);
-ULONG WinMessageBox2 (HWND hwndParent, HWND hwndOwner, PCSZ pszText,
-    PCSZ pszCaption, ULONG idWindow, PMB2INFO pmb2info);
-BOOL WinQueryDlgItemShort (HWND hwndDlg, ULONG idItem, PSHORT pResult,
-    BOOL fSigned);
-ULONG WinQueryDlgItemText (HWND hwndDlg, ULONG idItem, LONG cchBufferMax,
-    PSZ pchBuffer);
-LONG WinQueryDlgItemTextLength (HWND hwndDlg, ULONG idItem);
-BOOL WinSetDlgItemShort (HWND hwndDlg, ULONG idItem, USHORT usValue,
-    BOOL fSigned);
-BOOL WinSetDlgItemText (HWND hwndDlg, ULONG idItem, PCSZ pszText);
-
-#endif /* INCL_WINDIALOGS || !defined (INCL_NOCOMMON) */
-
-
-#if defined (INCL_WINDIALOGS)
-
-#define DLGC_ENTRYFIELD                        0x0001
-#define DLGC_BUTTON                    0x0002
-#define DLGC_RADIOBUTTON               0x0004
-#define DLGC_STATIC                    0x0008
-#define DLGC_DEFAULT                   0x0010
-#define DLGC_PUSHBUTTON                        0x0020
-#define DLGC_CHECKBOX                  0x0040
-#define DLGC_SCROLLBAR                 0x0080
-#define DLGC_MENU                      0x0100
-#define DLGC_TABONCLICK                        0x0200
-#define DLGC_MLE                       0x0400
-
-#define EDI_FIRSTTABITEM               0
-#define EDI_LASTTABITEM                        1
-#define EDI_NEXTTABITEM                        2
-#define EDI_PREVTABITEM                        3
-#define EDI_FIRSTGROUPITEM             4
-#define EDI_LASTGROUPITEM              5
-#define EDI_NEXTGROUPITEM              6
-#define EDI_PREVGROUPITEM              7
-
-typedef struct _DLGTITEM
-{
-  USHORT fsItemStatus;
-  USHORT cChildren;
-  USHORT cchClassName;
-  USHORT offClassName;
-  USHORT cchText;
-  USHORT offText;
-  ULONG         flStyle;
-  SHORT         x;
-  SHORT         y;
-  SHORT         cx;
-  SHORT         cy;
-  USHORT id;
-  USHORT offPresParams;
-  USHORT offCtlData;
-} DLGTITEM;
-typedef DLGTITEM *PDLGTITEM;
-
-typedef struct _DLGTEMPLATE
-{
-  USHORT   cbTemplate;
-  USHORT   type;
-  USHORT   codepage;
-  USHORT   offadlgti;
-  USHORT   fsTemplateStatus;
-  USHORT   iItemFocus;
-  USHORT   coffPresParams;
-  DLGTITEM adlgti[1];
-} DLGTEMPLATE;
-typedef DLGTEMPLATE *PDLGTEMPLATE;
-
-
-HWND WinCreateDlg (HWND hwndParent, HWND hwndOwner, PFNWP pfnDlgProc,
-    PDLGTEMPLATE pdlgt, PVOID pCreateParams);
-HWND WinEnumDlgItem (HWND hwndDlg, HWND hwnd, ULONG code);
-BOOL WinMapDlgPoints (HWND hwndDlg, PPOINTL prgwptl, ULONG cwpt,
-    BOOL fCalcWindowCoords);
-ULONG WinProcessDlg (HWND hwndDlg);
-MRESULT WinSendDlgItemMsg (HWND hwndDlg, ULONG idItem, ULONG msg,
-    MPARAM mp1, MPARAM mp2);
-LONG WinSubstituteStrings (HWND hwnd, PCSZ pszSrc, LONG cchDstMax,
-    PSZ pszDst);
-
-#endif /* INCL_WINDIALOGS */
-
-
-#if defined (INCL_WINENTRYFIELDS)
-
-#define CBID_LIST                      0x029a
-#define CBID_EDIT                      0x029b
-
-#define CBM_SHOWLIST                   0x0170
-#define CBM_HILITE                     0x0171
-#define CBM_ISLISTSHOWING              0x0172
-
-#define CBN_EFCHANGE                   1
-#define CBN_EFSCROLL                   2
-#define CBN_MEMERROR                   3
-#define CBN_LBSELECT                   4
-#define CBN_LBSCROLL                   5
-#define CBN_SHOWLIST                   6
-#define CBN_ENTER                      7
-
-#define CBS_SIMPLE                     0x0001
-#define CBS_DROPDOWN                   0x0002
-#define CBS_DROPDOWNLIST               0x0004
-#define CBS_COMPATIBLE                 0x0008
-
-#define EM_QUERYCHANGED                        0x0140
-#define EM_QUERYSEL                    0x0141
-#define EM_SETSEL                      0x0142
-#define EM_SETTEXTLIMIT                        0x0143
-#define EM_CUT                         0x0144
-#define EM_COPY                                0x0145
-#define EM_CLEAR                       0x0146
-#define EM_PASTE                       0x0147
-#define EM_QUERYFIRSTCHAR              0x0148
-#define EM_SETFIRSTCHAR                        0x0149
-#define EM_QUERYREADONLY               0x014a
-#define EM_SETREADONLY                 0x014b
-#define EM_SETINSERTMODE               0x014c
-
-#define EN_SETFOCUS                    0x0001
-#define EN_KILLFOCUS                   0x0002
-#define EN_CHANGE                      0x0004
-#define EN_SCROLL                      0x0008
-#define EN_MEMERROR                    0x0010
-#define EN_OVERFLOW                    0x0020
-#define EN_INSERTMODETOGGLE            0x0040
-
-#define ES_LEFT                                0x0000
-#define ES_CENTER                      0x0001
-#define ES_RIGHT                       0x0002
-#define ES_AUTOSCROLL                  0x0004
-#define ES_MARGIN                      0x0008
-#define ES_AUTOTAB                     0x0010
-#define ES_READONLY                    0x0020
-#define ES_COMMAND                     0x0040
-#define ES_UNREADABLE                  0x0080
-#define ES_AUTOSIZE                    0x0200
-
-#if defined (INCL_NLS)
-#define ES_ANY                         0x0000
-#define ES_SBCS                                0x1000
-#define ES_DBCS                                0x2000
-#define ES_MIXED                       0x3000
-#endif /* INCL_NLS */
-
-typedef struct _COMBOCDATA
-{
-  ULONG cbSize;
-  ULONG reserved;
-  PVOID pHWXCtlData;
-} COMBOCDATA;
-typedef COMBOCDATA *PCOMBOCDATA;
-
-typedef struct _ENTRYFDATA
-{
-  USHORT cb;
-  USHORT cchEditLimit;
-  USHORT ichMinSel;
-  USHORT ichMaxSel;
-  PVOID         pHWXCtlData;
-} ENTRYFDATA;
-typedef ENTRYFDATA *PENTRYFDATA;
-
-#endif /* INCL_WINENTRYFIELDS */
-
-
-#if defined (INCL_WINERRORS)
-
-typedef struct _ERRINFO
-{
-  ULONG          cbFixedErrInfo;
-  ERRORID idError;
-  ULONG          cDetailLevel;
-  ULONG          offaoffszMsg;
-  ULONG          offBinaryData;
-} ERRINFO;
-typedef ERRINFO *PERRINFO;
-
-ERRORID WinGetLastError (HAB hab);
-BOOL WinFreeErrorInfo (PERRINFO perrinfo);
-PERRINFO WinGetErrorInfo (HAB hab);
-
-#endif /* INCL_WINERRORS */
-
-
-#if defined (INCL_WINFRAMECTLS)
-
-#define TBM_SETHILITE                  0x01e3
-#define TBM_QUERYHILITE                        0x01e4
-
-#endif /* INCL_WINFRAMECTLS */
-
-
-#if defined (INCL_WINHOOKS)
-
-#define HK_SENDMSG                     0
-#define HK_INPUT                       1
-#define HK_MSGFILTER                   2
-#define HK_JOURNALRECORD               3
-#define HK_JOURNALPLAYBACK             4
-#define HK_HELP                                5
-#define HK_LOADER                      6
-#define HK_REGISTERUSERMSG             7
-#define HK_MSGCONTROL                  8
-#define HK_PLIST_ENTRY                 9
-#define HK_PLIST_EXIT                  10
-#define HK_FINDWORD                    11
-#define HK_CODEPAGECHANGED             12
-#define HK_WINDOWDC                    15
-#define HK_DESTROYWINDOW               16
-#define HK_CHECKMSGFILTER              20
-#define HK_MSGINPUT                    21
-#define HK_ALARM                       22
-#define HK_LOCKUP                      23
-#define HK_FLUSHBUF                    24
-
-#define HLPM_FRAME                     (-1)
-#define HLPM_WINDOW                    (-2)
-#define HLPM_MENU                      (-3)
-
-#define HMQ_CURRENT            ((HMQ)1)
-
-#define LHK_DELETEPROC                 1
-#define LHK_DELETELIB                  2
-#define LHK_LOADPROC                   3
-#define LHK_LOADLIB                    4
-
-#define MCHK_MSGINTEREST               1
-#define MCHK_CLASSMSGINTEREST          2
-#define MCHK_SYNCHRONISATION           3
-#define MCHK_MSGMODE                   4
-
-#define MSGF_DIALOGBOX                 1
-#define MSGF_MESSAGEBOX                        2
-#define MSGF_DDEPOSTMSG                        3
-#define MSGF_TRACK                     8
-
-#define PM_MODEL_1X                    0
-#define PM_MODEL_2X                    1
-
-#define RUMHK_DATATYPE                 1
-#define RUMHK_MSG                      2
-
-
-typedef struct _SMHSTRUCT
-{
-  MPARAM mp2;
-  MPARAM mp1;
-  ULONG         msg;
-  HWND  hwnd;
-  ULONG         model;
-} SMHSTRUCT;
-typedef SMHSTRUCT *PSMHSTRUCT;
-
-
-BOOL WinCallMsgFilter (HAB hab, PQMSG pqmsg, ULONG msgf);
-BOOL WinReleaseHook (HAB hab, HMQ hmq, LONG iHook, PFN pfnHook, HMODULE hmod);
-BOOL WinSetHook (HAB hab, HMQ hmq, LONG iHook, PFN pfnHook, HMODULE hmod);
-
-#endif /* INCL_WINHOOKS */
-
-
-#if defined (INCL_WININPUT) || !defined (INCL_NOCOMMON)
-
-#define FC_NOSETFOCUS                  0x0001
-#define FC_NOBRINGTOTOP                        0x0001 /*!*/
-#define FC_NOLOSEFOCUS                 0x0002
-#define FC_NOBRINGTOPFIRSTWINDOW       0x0002 /*!*/
-#define FC_NOSETACTIVE                 0x0004
-#define FC_NOLOSEACTIVE                        0x0008
-#define FC_NOSETSELECTION              0x0010
-#define FC_NOLOSESELECTION             0x0020
-
-#define QFC_NEXTINCHAIN                        0x0001
-#define QFC_ACTIVE                     0x0002
-#define QFC_FRAME                      0x0003
-#define QFC_SELECTACTIVE               0x0004
-#define QFC_PARTOFCHAIN                        0x0005
-
-BOOL WinFocusChange (HWND hwndDesktop, HWND hwndSetFocus, ULONG flFocusChange);
-BOOL WinLockupSystem (HAB hab);
-BOOL WinSetFocus (HWND hwndDesktop, HWND hwndSetFocus);
-BOOL WinUnlockSystem (HAB hab, PCSZ pszPassword);
-
-#endif /* INCL_WININPUT || !INCL_NOCOMMON */
-
-
-#if defined (INCL_WININPUT)
-
-#define WM_MOUSEFIRST                  0x0070
-#define WM_MOUSEMOVE                   0x0070
-#define WM_BUTTONCLICKFIRST            0x0071
-#define WM_BUTTON1DOWN                 0x0071
-#define WM_BUTTON1UP                   0x0072
-#define WM_BUTTON1DBLCLK               0x0073
-#define WM_BUTTON2DOWN                 0x0074
-#define WM_BUTTON2UP                   0x0075
-#define WM_BUTTON2DBLCLK               0x0076
-#define WM_BUTTON3DOWN                 0x0077
-#define WM_BUTTON3UP                   0x0078
-#define WM_BUTTON3DBLCLK               0x0079
-#define WM_BUTTONCLICKLAST             0x0079
-#define WM_MOUSELAST                   0x0079
-#define WM_CHAR                                0x007a
-#define WM_VIOCHAR                     0x007b
-#define WM_JOURNALNOTIFY               0x007c
-#define WM_MOUSEMAP                    0x007d
-#define WM_VRNDISABLED                 0x007e
-#define WM_VRNENABLED                  0x007f
-
-#define WM_EXTMOUSEFIRST               0x0410
-#define WM_CHORD                       0x0410
-#define WM_BUTTON1MOTIONSTART          0x0411
-#define WM_BUTTON1MOTIONEND            0x0412
-#define WM_BUTTON1CLICK                        0x0413
-#define WM_BUTTON2MOTIONSTART          0x0414
-#define WM_BUTTON2MOTIONEND            0x0415
-#define WM_BUTTON2CLICK                        0x0416
-#define WM_BUTTON3MOTIONSTART          0x0417
-#define WM_BUTTON3MOTIONEND            0x0418
-#define WM_BUTTON3CLICK                        0x0419
-#define WM_EXTMOUSELAST                        0x0419
-
-#define WM_MOUSETRANSLATEFIRST         0x0420
-#define WM_BEGINDRAG                   0x0420
-#define WM_ENDDRAG                     0x0421
-#define WM_SINGLESELECT                        0x0422
-#define WM_OPEN                                0x0423
-#define WM_CONTEXTMENU                 0x0424
-#define WM_CONTEXTHELP                 0x0425
-#define WM_TEXTEDIT                    0x0426
-#define WM_BEGINSELECT                 0x0427
-#define WM_ENDSELECT                   0x0428
-#define WM_MOUSETRANSLATELAST          0x0428
-#define WM_PICKUP                      0x0429
-
-#define WM_PENFIRST                    0x0481
-#define WM_PENLAST                     0x049f
-
-#define WM_MMPMFIRST                   0x0500
-#define WM_MMPMLAST                    0x05ff
-
-#define WM_BIDI_FIRST                  0x0bd0
-#define WM_BIDI_LAST                   0x0bff
-
-#define INP_NONE                       0x0000
-#define INP_KBD                                0x0001
-#define INP_MULT                       0x0002
-#define INP_RES2                       0x0004
-#define INP_SHIFT                      0x0008
-#define INP_CTRL                       0x0010
-#define INP_ALT                                0x0020
-#define INP_RES3                       0x0040
-#define INP_RES4                       0x0080
-#define INP_IGNORE                     0xffff
-
-#define JRN_QUEUESTATUS                        0x0001
-#define JRN_PHYSKEYSTATE               0x0002
-
-#define KC_NONE                                0x0000
-#define KC_CHAR                                0x0001
-#define KC_VIRTUALKEY                  0x0002
-#define KC_SCANCODE                    0x0004
-#define KC_SHIFT                       0x0008
-#define KC_CTRL                                0x0010
-#define KC_ALT                         0x0020
-#define KC_KEYUP                       0x0040
-#define KC_PREVDOWN                    0x0080
-#define KC_LONEKEY                     0x0100
-#define KC_DEADKEY                     0x0200
-#define KC_COMPOSITE                   0x0400
-#define KC_INVALIDCOMP                 0x0800
-#define KC_TOGGLE                      0x1000
-#define KC_INVALIDCHAR                 0x2000
-#define KC_DBCSRSRVD1                  0x4000
-#define KC_DBCSRSRVD2                  0x8000
-
-#define VK_BUTTON1                     0x0001
-#define VK_BUTTON2                     0x0002
-#define VK_BUTTON3                     0x0003
-#define VK_BREAK                       0x0004
-#define VK_BACKSPACE                   0x0005
-#define VK_TAB                         0x0006
-#define VK_BACKTAB                     0x0007
-#define VK_NEWLINE                     0x0008
-#define VK_SHIFT                       0x0009
-#define VK_CTRL                                0x000a
-#define VK_ALT                         0x000b
-#define VK_ALTGRAF                     0x000c
-#define VK_PAUSE                       0x000d
-#define VK_CAPSLOCK                    0x000e
-#define VK_ESC                         0x000f
-#define VK_SPACE                       0x0010
-#define VK_PAGEUP                      0x0011
-#define VK_PAGEDOWN                    0x0012
-#define VK_END                         0x0013
-#define VK_HOME                                0x0014
-#define VK_LEFT                                0x0015
-#define VK_UP                          0x0016
-#define VK_RIGHT                       0x0017
-#define VK_DOWN                                0x0018
-#define VK_PRINTSCRN                   0x0019
-#define VK_INSERT                      0x001a
-#define VK_DELETE                      0x001b
-#define VK_SCRLLOCK                    0x001c
-#define VK_NUMLOCK                     0x001d
-#define VK_ENTER                       0x001e
-#define VK_SYSRQ                       0x001f
-#define VK_F1                          0x0020
-#define VK_F2                          0x0021
-#define VK_F3                          0x0022
-#define VK_F4                          0x0023
-#define VK_F5                          0x0024
-#define VK_F6                          0x0025
-#define VK_F7                          0x0026
-#define VK_F8                          0x0027
-#define VK_F9                          0x0028
-#define VK_F10                         0x0029
-#define VK_F11                         0x002a
-#define VK_F12                         0x002b
-#define VK_F13                         0x002c
-#define VK_F14                         0x002d
-#define VK_F15                         0x002e
-#define VK_F16                         0x002f
-#define VK_F17                         0x0030
-#define VK_F18                         0x0031
-#define VK_F19                         0x0032
-#define VK_F20                         0x0033
-#define VK_F21                         0x0034
-#define VK_F22                         0x0035
-#define VK_F23                         0x0036
-#define VK_F24                         0x0037
-#define VK_ENDDRAG                     0x0038
-#define VK_CLEAR                       0x0039
-#define VK_EREOF                       0x003a
-#define VK_PA1                         0x003b
-#define VK_ATTN                                0x003c
-#define VK_CRSEL                       0x003d
-#define VK_EXSEL                       0x003e
-#define VK_COPY                                0x003f
-#define VK_BLK1                                0x0040
-#define VK_BLK2                                0x0041
-
-#define VK_MENU                                VK_F10
-
-#if defined (INCL_NLS)
-#define VK_DBCSFIRST                   0x0080
-#define VK_DBCSLAST                    0x00ff
-#define VK_BIDI_FIRST                  0x00e0
-#define VK_BIDI_LAST                   0x00ff
-#endif /* INCL_NLS */
-
-#define VK_USERFIRST                   0x0100
-#define VK_USERLAST                    0x01ff
-
-typedef struct _CHARMSG
-{
-  USHORT fs;
-  UCHAR         cRepeat;
-  UCHAR         scancode;
-  USHORT chr;
-  USHORT vkey;
-} CHRMSG;
-typedef CHRMSG *PCHRMSG;
-
-typedef struct _MOUSEMSG
-{
-  SHORT         x;
-  SHORT         y;
-  USHORT codeHitTest;
-  USHORT fsInp;
-} MSEMSG;
-typedef MSEMSG *PMSEMSG;
-
-#define CHARMSG(pmsg)          ((PCHRMSG)((PBYTE)pmsg + sizeof (ULONG)))
-#define MOUSEMSG(pmsg)         ((PMSEMSG)((PBYTE)pmsg + sizeof (ULONG)))
-
-BOOL WinCheckInput (HAB hab);
-BOOL WinEnablePhysInput (HWND hwndDesktop, BOOL fEnable);
-LONG WinGetKeyState (HWND hwndDesktop, LONG vkey);
-LONG WinGetPhysKeyState (HWND hwndDesktop, LONG sc);
-BOOL WinIsPhysInputEnabled (HWND hwndDesktop);
-HWND WinQueryCapture (HWND hwndDesktop);
-HWND WinQueryFocus (HWND hwndDesktop);
-ULONG WinQueryVisibleRegion (HWND hwnd, HRGN hrgn);
-BOOL WinSetCapture (HWND hwndDesktop, HWND hwnd);
-BOOL WinSetKeyboardStateTable (HWND hwndDesktop, PBYTE pKeyStateTable,
-    BOOL fSet);
-BOOL WinSetVisibleRegionNotify (HWND hwnd, BOOL fEnable);
-
-#endif /* INCL_WININPUT */
-
-
-#if defined (INCL_WINLISTBOXES)
-
-#define LS_MULTIPLESEL                 0x0001
-#define LS_OWNERDRAW                   0x0002
-#define LS_NOADJUSTPOS                 0x0004
-#define LS_HORZSCROLL                  0x0008
-#define LS_EXTENDEDSEL                 0x0010
-
-#define LN_SELECT                      1
-#define LN_SETFOCUS                    2
-#define LN_KILLFOCUS                   3
-#define LN_SCROLL                      4
-#define LN_ENTER                       5
-
-#define LM_QUERYITEMCOUNT              0x0160
-#define LM_INSERTITEM                  0x0161
-#define LM_SETTOPINDEX                 0x0162
-#define LM_DELETEITEM                  0x0163
-#define LM_SELECTITEM                  0x0164
-#define LM_QUERYSELECTION              0x0165
-#define LM_SETITEMTEXT                 0x0166
-#define LM_QUERYITEMTEXTLENGTH         0x0167
-#define LM_QUERYITEMTEXT               0x0168
-#define LM_SETITEMHANDLE               0x0169
-#define LM_QUERYITEMHANDLE             0x016a
-#define LM_SEARCHSTRING                        0x016b
-#define LM_SETITEMHEIGHT               0x016c
-#define LM_QUERYTOPINDEX               0x016d
-#define LM_DELETEALL                   0x016e
-#define LM_INSERTMULTITEMS             0x016f
-#define LM_SETITEMWIDTH                        0x0660 /* ? */
-
-#define LIT_CURSOR                     (-4)
-#define LIT_ERROR                      (-3)
-#define LIT_MEMERROR                   (-2)
-#define LIT_NONE                       (-1)
-#define LIT_FIRST                      (-1)
-
-#define LIT_END                                (-1)
-#define LIT_SORTASCENDING              (-2)
-#define LIT_SORTDESCENDING             (-3)
-
-#define LSS_SUBSTRING                  0x0001
-#define LSS_PREFIX                     0x0002
-#define LSS_CASESENSITIVE              0x0004
-
-
-typedef struct _LBOXINFO
-{
-  LONG lItemIndex;
-  ULONG ulItemCount;
-  ULONG reserved;
-  ULONG reserved2;
-} LBOXINFO;
-typedef LBOXINFO *PLBOXINFO;
-
-
-#define WinDeleteLboxItem(hwndLbox,index) \
-    ((LONG)WinSendMsg (hwndLbox, LM_DELETEITEM, MPFROMLONG (index), \
-                      (MPARAM)NULL))
-
-#define WinInsertLboxItem(hwndLbox,index,psz) \
-    ((LONG)WinSendMsg (hwndLbox, LM_INSERTITEM, MPFROMLONG(index), \
-                      MPFROMP (psz)))
-
-#define WinQueryLboxCount(hwndLbox) \
-    ((LONG)WinSendMsg (hwndLbox, LM_QUERYITEMCOUNT, (MPARAM)NULL, \
-                      (MPARAM)NULL))
-
-#define WinQueryLboxItemText(hwndLbox,index,psz,cchMax) \
-    ((LONG)WinSendMsg (hwndLbox, LM_QUERYITEMTEXT, \
-                      MPFROM2SHORT((index), (cchMax)), MPFROMP (psz)))
-
-#define WinQueryLboxItemTextLength(hwndLbox,index) \
-    ((SHORT)WinSendMsg (hwndLbox, LM_QUERYITEMTEXTLENGTH, \
-                       MPFROMSHORT (index), (MPARAM)NULL))
-
-#define WinQueryLboxSelectedItem(hwndLbox) \
-    ((LONG)WinSendMsg (hwndLbox, LM_QUERYSELECTION, MPFROMLONG (LIT_FIRST), \
-                      (MPARAM)NULL))
-
-#define WinSetLboxItemText(hwndLbox,index,psz) \
-    ((BOOL)WinSendMsg (hwndLbox, LM_SETITEMTEXT, \
-                      MPFROMLONG (index), MPFROMP (psz)))
-
-#endif /* INCL_WINLISTBOXES */
-
-
-#if defined (INCL_WINLOAD)
-
-BOOL WinDeleteLibrary (HAB hab, HLIB libhandle);
-BOOL WinDeleteProcedure (HAB hab, PFNWP wndproc);
-HLIB WinLoadLibrary (HAB hab, PCSZ libname);
-PFNWP WinLoadProcedure (HAB hab, HLIB libhandle, PSZ procname);
-
-#endif /* INCL_WINLOAD */
-
-
-#if defined (INCL_WINMENUS)
-
-#define MIA_NODISMISS                  0x0020
-#define MIA_FRAMED                     0x1000
-#define MIA_CHECKED                    0x2000
-#define MIA_DISABLED                   0x4000
-#define MIA_HILITED                    0x8000
-
-#define MIS_TEXT                       0x0001
-#define MIS_BITMAP                     0x0002
-#define MIS_SEPARATOR                  0x0004
-#define MIS_OWNERDRAW                  0x0008
-#define MIS_SUBMENU                    0x0010
-#define MIS_MULTMENU                   0x0020
-#define MIS_SYSCOMMAND                 0x0040
-#define MIS_HELP                       0x0080
-#define MIS_STATIC                     0x0100
-#define MIS_BUTTONSEPARATOR            0x0200
-#define MIS_BREAK                      0x0400
-#define MIS_BREAKSEPARATOR             0x0800
-#define MIS_GROUP                      0x1000
-#define MIS_SINGLE                     0x2000
-
-#define MIT_END                                (-1)
-#define MIT_NONE                       (-1)
-#define MIT_MEMERROR                   (-1)
-#define MIT_ERROR                      (-1)
-#define MIT_FIRST                      (-2)
-#define MIT_LAST                       (-3)
-
-#define MM_INSERTITEM                  0x0180
-#define MM_DELETEITEM                  0x0181
-#define MM_QUERYITEM                   0x0182
-#define MM_SETITEM                     0x0183
-#define MM_QUERYITEMCOUNT              0x0184
-#define MM_STARTMENUMODE               0x0185
-#define MM_ENDMENUMODE                 0x0186
-#define MM_REMOVEITEM                  0x0188
-#define MM_SELECTITEM                  0x0189
-#define MM_QUERYSELITEMID              0x018a
-#define MM_QUERYITEMTEXT               0x018b
-#define MM_QUERYITEMTEXTLENGTH         0x018c
-#define MM_SETITEMHANDLE               0x018d
-#define MM_SETITEMTEXT                 0x018e
-#define MM_ITEMPOSITIONFROMID          0x018f
-#define MM_ITEMIDFROMPOSITION          0x0190
-#define MM_QUERYITEMATTR               0x0191
-#define MM_SETITEMATTR                 0x0192
-#define MM_ISITEMVALID                 0x0193
-#define MM_QUERYITEMRECT               0x0194
-
-#define MM_QUERYDEFAULTITEMID          0x0431
-#define MM_SETDEFAULTITEMID            0x0432
-
-#define MS_ACTIONBAR                   0x0001
-#define MS_TITLEBUTTON                 0x0002
-#define MS_VERTICALFLIP                        0x0004
-#define MS_CONDITIONALCASCADE          0x0040
-
-#define PU_POSITIONONITEM              0x0001
-#define PU_HCONSTRAIN                  0x0002
-#define PU_VCONSTRAIN                  0x0004
-#define PU_NONE                                0x0000
-#define PU_MOUSEBUTTON1DOWN            0x0008
-#define PU_MOUSEBUTTON2DOWN            0x0010
-#define PU_MOUSEBUTTON3DOWN            0x0018
-#define PU_SELECTITEM                  0x0020
-#define PU_MOUSEBUTTON1                        0x0040
-#define PU_MOUSEBUTTON2                        0x0080
-#define PU_MOUSEBUTTON3                        0x0100
-#define PU_KEYBOARD                    0x0200
-
-typedef struct _MENUITEM
-{
-  SHORT         iPosition;
-  USHORT afStyle;
-  USHORT afAttribute;
-  USHORT id;
-  HWND  hwndSubMenu;
-  ULONG         hItem;
-} MENUITEM;
-typedef MENUITEM *PMENUITEM;
-
-typedef struct _mti            /* Note 1 */
-{
-  USHORT afStyle;
-  USHORT pad;
-  USHORT idItem;
-  CHAR  c[2];
-} MTI;
-
-typedef struct _mt             /* Note 1 */
-{
-  ULONG         len;
-  USHORT codepage;
-  USHORT reserved;
-  USHORT cMti;
-  MTI   rgMti[1];
-} MT;
-typedef MT *LPMT;
-
-typedef struct _OWNERITEM
-{
-  HWND hwnd;
-  HPS  hps;
-  ULONG fsState;
-  ULONG fsAttribute;
-  ULONG fsStateOld;
-  ULONG fsAttributeOld;
-  RECTL rclItem;
-  LONG idItem;
-  ULONG hItem;
-} OWNERITEM;
-typedef OWNERITEM *POWNERITEM;
-
-
-#define WinCheckMenuItem(hwndMenu,id,fcheck) \
-    ((BOOL)WinSendMsg (hwndMenu, MM_SETITEMATTR, \
-                      MPFROM2SHORT (id, TRUE), \
-                      MPFROM2SHORT (MIA_CHECKED, \
-                                    ((USHORT)(fcheck) ? MIA_CHECKED : 0))))
-
-#define WinEnableMenuItem(hwndMenu,id,fEnable) \
-    ((BOOL)WinSendMsg (hwndMenu, MM_SETITEMATTR, MPFROM2SHORT (id, TRUE), \
-                      MPFROM2SHORT (MIA_DISABLED, \
-                                    ((USHORT)(fEnable) ? 0 : MIA_DISABLED))))
-
-#define WinIsMenuItemChecked(hwndMenu,id) \
-    ((BOOL)WinSendMsg (hwndMenu, MM_QUERYITEMATTR, \
-                      MPFROM2SHORT (id, TRUE), \
-                      MPFROMLONG (MIA_CHECKED)))
-
-#define WinIsMenuItemEnabled(hwndMenu,id)  \
-    (!(BOOL)WinSendMsg (hwndMenu, MM_QUERYITEMATTR, \
-                       MPFROM2SHORT (id, TRUE), \
-                       MPFROMLONG (MIA_DISABLED)))
-
-#define WinIsMenuItemValid(hwndMenu,id) \
-    ((BOOL)WinSendMsg (hwndMenu, MM_ISITEMVALID, \
-                      MPFROM2SHORT (id, TRUE), MPFROMLONG (FALSE)))
-
-#define WinSetMenuItemText(hwndMenu,id,psz) \
-    ((BOOL)WinSendMsg (hwndMenu, MM_SETITEMTEXT, \
-                      MPFROMLONG (id), MPFROMP (psz)))
-
-
-HWND WinCreateMenu (HWND hwndParent, CPVOID lpmt);
-HWND WinLoadMenu (HWND hwndFrame, HMODULE hmod, ULONG idMenu);
-BOOL WinPopupMenu (HWND hwndParent, HWND hwndOwner, HWND hwndMenu,
-    LONG x, LONG y, LONG idItem, ULONG fs);
-
-#endif /* INCL_WINMENUS */
-
-
-#if defined (INCL_WINMESSAGEMGR)
-
-#define BMSG_POST                      0x0000
-#define BMSG_SEND                      0x0001
-#define BMSG_POSTQUEUE                 0x0002
-#define BMSG_DESCENDANTS               0x0004
-#define BMSG_FRAMEONLY                 0x0008
-
-#define CVR_ALIGNLEFT                  0x0001
-#define CVR_ALIGNBOTTOM                        0x0002
-#define CVR_ALIGNRIGHT                 0x0004
-#define CVR_ALIGNTOP                   0x0008
-#define CVR_REDRAW                     0x0010
-
-#define HT_NORMAL                      0
-#define HT_TRANSPARENT                 (-1)
-#define HT_DISCARD                     (-2)
-#define HT_ERROR                       (-3)
-
-#define QS_KEY                         0x0001
-#define QS_MOUSEBUTTON                 0x0002
-#define QS_MOUSEMOVE                   0x0004
-#define QS_MOUSE                       0x0006
-#define QS_TIMER                       0x0008
-#define QS_PAINT                       0x0010
-#define QS_POSTMSG                     0x0020
-#define QS_SEM1                                0x0040
-#define QS_SEM2                                0x0080
-#define QS_SEM3                                0x0100
-#define QS_SEM4                                0x0200
-#define QS_SENDMSG                     0x0400
-#define QS_MSGINPUT                    0x0800
-
-#define SMIM_ALL                       0x0eff
-#define SMI_NOINTEREST                 0x0001
-#define SMI_INTEREST                   0x0002
-#define SMI_RESET                      0x0004
-#define SMI_AUTODISPATCH               0x0008
-
-#define WPM_TEXT                       0x0001
-#define WPM_CTLDATA                    0x0002
-#define WPM_PRESPARAMS                 0x0004
-#define WPM_CCHTEXT                    0x0008
-#define WPM_CBCTLDATA                  0x0010
-#define WPM_CBPRESPARAMS               0x0020
-
-
-typedef struct _WNDPARAMS
-{
-  ULONG fsStatus;
-  ULONG cchText;
-  PSZ  pszText;
-  ULONG cbPresParams;
-  PVOID pPresParams;
-  ULONG cbCtlData;
-  PVOID pCtlData;
-} WNDPARAMS;
-typedef WNDPARAMS *PWNDPARAMS;
-
-BOOL WinBroadcastMsg (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2, ULONG rgf);
-BOOL WinInSendMsg (HAB hab);
-BOOL WinPostQueueMsg (HMQ hmq, ULONG msg, MPARAM mp1, MPARAM mp2);
-BOOL WinQueryMsgPos (HAB hab, PPOINTL pptl);
-ULONG WinQueryMsgTime (HAB hab);
-ULONG WinQueryQueueStatus (HWND hwndDesktop);
-ULONG WinRequestMutexSem (HMTX hmtx, ULONG ulTimeout);
-BOOL WinSetClassMsgInterest (HAB hab, PCSZ pszClassName, ULONG msg_class,
-    LONG control);
-BOOL WinSetMsgInterest (HWND hwnd, ULONG msg_class, LONG control);
-ULONG WinWaitEventSem (HEV hev, ULONG ulTimeout);
-BOOL WinWaitMsg (HAB hab, ULONG msgFirst, ULONG msgLast);
-ULONG WinWaitMuxWaitSem (HMUX hmux, ULONG ulTimeout, PULONG pulUser);
-
-#endif /* INCL_WINMESSAGEMGR */
-
-
-#if defined (INCL_WINPALETTE)
-
-LONG WinRealizePalette (HWND hwnd, HPS hps, PULONG pcclr);
-
-#endif /* INCL_WINPALETTE */
-
-
-#if defined (INCL_WINPOINTERS)
-
-#define DP_NORMAL                      0x0000
-#define DP_HALFTONED                   0x0001
-#define DP_INVERTED                    0x0002
-#define DP_MINI                                0x0004
-
-#define SBMP_OLD_SYSMENU               1
-#define SBMP_OLD_SBUPARROW             2
-#define SBMP_OLD_SBDNARROW             3
-#define SBMP_OLD_SBRGARROW             4
-#define SBMP_OLD_SBLFARROW             5
-#define SBMP_MENUCHECK                 6
-#define SBMP_OLD_CHECKBOXES            7
-#define SBMP_BTNCORNERS                        8
-#define SBMP_OLD_MINBUTTON             9
-#define SBMP_OLD_MAXBUTTON             10
-#define SBMP_OLD_RESTOREBUTTON         11
-#define SBMP_OLD_CHILDSYSMENU          12
-#define SBMP_DRIVE                     15
-#define SBMP_FILE                      16
-#define SBMP_FOLDER                    17
-#define SBMP_TREEPLUS                  18
-#define SBMP_TREEMINUS                 19
-#define SBMP_PROGRAM                   22
-#define SBMP_MENUATTACHED              23
-#define SBMP_SIZEBOX                   24
-#define SBMP_SYSMENU                   25
-#define SBMP_MINBUTTON                 26
-#define SBMP_MAXBUTTON                 27
-#define SBMP_RESTOREBUTTON             28
-#define SBMP_CHILDSYSMENU              29
-#define SBMP_SYSMENUDEP                        30
-#define SBMP_MINBUTTONDEP              31
-#define SBMP_MAXBUTTONDEP              32
-#define SBMP_RESTOREBUTTONDEP          33
-#define SBMP_CHILDSYSMENUDEP           34
-#define SBMP_SBUPARROW                 35
-#define SBMP_SBDNARROW                 36
-#define SBMP_SBLFARROW                 37
-#define SBMP_SBRGARROW                 38
-#define SBMP_SBUPARROWDEP              39
-#define SBMP_SBDNARROWDEP              40
-#define SBMP_SBLFARROWDEP              41
-#define SBMP_SBRGARROWDEP              42
-#define SBMP_SBUPARROWDIS              43
-#define SBMP_SBDNARROWDIS              44
-#define SBMP_SBLFARROWDIS              45
-#define SBMP_SBRGARROWDIS              46
-#define SBMP_COMBODOWN                 47
-#define SBMP_CHECKBOXES                        48
-#define SBMP_HIDE                      50
-#define SBMP_HIDEDEP                   51
-#define SBMP_CLOSE                     52
-#define SBMP_CLOSEDEP                  53
-
-#define SPTR_ARROW                     1
-#define SPTR_TEXT                      2
-#define SPTR_WAIT                      3
-#define SPTR_SIZE                      4
-#define SPTR_MOVE                      5
-#define SPTR_SIZENWSE                  6
-#define SPTR_SIZENESW                  7
-#define SPTR_SIZEWE                    8
-#define SPTR_SIZENS                    9
-#define SPTR_APPICON                   10
-#define SPTR_ICONINFORMATION           11
-#define SPTR_ICONQUESTION              12
-#define SPTR_ICONERROR                 13
-#define SPTR_ICONWARNING               14
-#define SPTR_ILLEGAL                   18
-#define SPTR_FILE                      19
-#define SPTR_FOLDER                    20
-#define SPTR_MULTFILE                  21
-#define SPTR_PROGRAM                   22
-#define SPTR_DISPLAY_PTRS              22
-
-#define SPTR_PENFIRST                  23
-#define SPTR_PENLAST                   39
-#define SPTR_CPTR                      39
-
-#define SPTR_HANDICON                  SPTR_ICONERROR
-#define SPTR_QUESICON                  SPTR_ICONQUESTION
-#define SPTR_BANGICON                  SPTR_ICONWARNING
-#define SPTR_NOTEICON                  SPTR_ICONINFORMATION
-
-typedef struct _POINTERINFO
-{
-  ULONG          fPointer;
-  LONG   xHotspot;
-  LONG   yHotspot;
-  HBITMAP hbmPointer;
-  HBITMAP hbmColor;
-  HBITMAP hbmMiniPointer;
-  HBITMAP hbmMiniColor;
-} POINTERINFO;
-typedef POINTERINFO *PPOINTERINFO;
-
-
-HPOINTER WinCreatePointer (HWND hwndDesktop, HBITMAP hbmPointer, BOOL fPointer,
-    LONG xHotspot, LONG yHotspot);
-HPOINTER WinCreatePointerIndirect (HWND hwndDesktop,
-    __const__ POINTERINFO *pptri);
-BOOL WinDestroyPointer (HPOINTER hptr);
-BOOL WinDrawPointer (HPS hps, LONG x, LONG y, HPOINTER hptr, ULONG fs);
-HBITMAP WinGetSysBitmap (HWND hwndDesktop, ULONG ibm);
-HPOINTER WinLoadPointer (HWND hwndDesktop, HMODULE hmod, ULONG idres);
-BOOL WinLockPointerUpdate (HWND hwndDesktop, HPOINTER hptrNew,
-    ULONG ulTimeInterval);
-BOOL WinQueryPointerPos (HWND hwndDesktop, PPOINTL pptl);
-BOOL WinQueryPointerInfo (HPOINTER hptr, PPOINTERINFO pPointerInfo);
-HPOINTER WinQuerySysPointer (HWND hwndDesktop, LONG lId, BOOL fCopy);
-BOOL WinQuerySysPointerData (HWND hwndDesktop, ULONG ulId,
-    PICONINFO pIconInfo);
-BOOL WinSetPointer (HWND hwndDesktop, HPOINTER hptrNew);
-BOOL WinSetPointerOwner (HPOINTER hptr, PID pid, BOOL fDestroy);
-BOOL WinSetPointerPos (HWND hwndDesktop, LONG x, LONG y);
-BOOL WinSetSysPointerData (HWND hwndDesktop, ULONG ulId,
-    __const__ ICONINFO *pIconInfo);
-BOOL WinShowPointer (HWND hwndDesktop, BOOL fShow);
-
-#endif /* INCL_WINPOINTERS */
-
-
-#if defined (INCL_WINRECTANGLES)
-
-BOOL WinCopyRect (HAB hab, PRECTL prclDst, __const__ RECTL *prclSrc);
-BOOL WinEqualRect (HAB hab, __const__ RECTL *prcl1, __const__ RECTL *prcl2);
-BOOL WinInflateRect (HAB hab, PRECTL prcl, LONG cx, LONG cy);
-BOOL WinIntersectRect (HAB hab, PRECTL prclDst, __const__ RECTL *prclSrc1,
-    __const__ RECTL *prclSrc2);
-BOOL WinIsRectEmpty (HAB hab, __const__ RECTL *prcl);
-BOOL WinMakePoints (HAB hab, PPOINTL pwpt, ULONG cwpt);
-BOOL WinMakeRect (HAB hab, PRECTL pwrc);
-BOOL WinOffsetRect (HAB hab, PRECTL prcl, LONG cx, LONG cy);
-BOOL WinPtInRect (HAB hab, __const__ RECTL *prcl, __const__ POINTL *pptl);
-BOOL WinSetRect (HAB hab, PRECTL prcl, LONG xLeft, LONG yBottom, LONG xRight,
-    LONG yTop);
-BOOL WinSetRectEmpty (HAB hab, PRECTL prcl);
-BOOL WinSubtractRect (HAB hab, PRECTL prclDst, __const__ RECTL *prclSrc1,
-    __const__ RECTL *prclSrc2);
-BOOL WinUnionRect (HAB hab, PRECTL prclDst, __const__ RECTL *prclSrc1,
-    __const__ RECTL *prclSrc2);
-
-#endif /* INCL_WINRECTANGLES */
-
-
-#if defined (INCL_WINSCROLLBARS)
-
-#define SB_LINEUP                      1
-#define SB_LINEDOWN                    2
-#define SB_LINELEFT                    1
-#define SB_LINERIGHT                   2
-#define SB_PAGEUP                      3
-#define SB_PAGEDOWN                    4
-#define SB_PAGELEFT                    3
-#define SB_PAGERIGHT                   4
-#define SB_SLIDERTRACK                 5
-#define SB_SLIDERPOSITION              6
-#define SB_ENDSCROLL                   7
-
-#define SBM_SETSCROLLBAR               0x01a0
-#define SBM_SETPOS                     0x01a1
-#define SBM_QUERYPOS                   0x01a2
-#define SBM_QUERYRANGE                 0x01a3
-#define SBM_SETTHUMBSIZE               0x01a6
-
-#define SBS_HORZ                       0
-#define SBS_VERT                       1
-#define SBS_THUMBSIZE                  2
-#define SBS_AUTOTRACK                  4
-#define SBS_AUTOSIZE                   0x2000
-
-typedef struct _SBCDATA
-{
-  USHORT cb;
-  USHORT sHilite;
-  SHORT         posFirst;
-  SHORT         posLast;
-  SHORT         posThumb;
-  SHORT         cVisible;
-  SHORT         cTotal;
-} SBCDATA;
-typedef SBCDATA *PSBCDATA;
-
-#endif /* INCL_WINSCROLLBARS */
-
-
-#if defined (INCL_WINSTATICS)
-
-#define SM_SETHANDLE                   0x0100
-#define SM_QUERYHANDLE                 0x0101
-
-#define SS_TEXT                                0x0001
-#define SS_GROUPBOX                    0x0002
-#define SS_ICON                                0x0003
-#define SS_BITMAP                      0x0004
-#define SS_FGNDRECT                    0x0005
-#define SS_HALFTONERECT                        0x0006
-#define SS_BKGNDRECT                   0x0007
-#define SS_FGNDFRAME                   0x0008
-#define SS_HALFTONEFRAME               0x0009
-#define SS_BKGNDFRAME                  0x000a
-#define SS_SYSICON                     0x000b
-#define SS_AUTOSIZE                    0x0040
-
-#define WM_MSGBOXINIT                  0x010e
-#define WM_MSGBOXDISMISS               0x010f
-
-#endif /* INCL_WINSTATICS */
-
-
-#if defined (INCL_WINSYS)
-
-#define CCF_GLOBAL                     0x0000
-#define CCF_APPLICATION                        0x0001
-#define CCF_COUNTCOLORS                        0x0010
-#define CCF_ALLCOLORS                  0x0020
-
-#define CCI_FOREGROUND                 1
-#define CCI_FOREGROUNDREADONLY         2
-#define CCI_BACKGROUND                 3
-#define CCI_BACKGROUNDDIALOG           4
-#define CCI_DISABLEDFOREGROUND         5
-#define CCI_DISABLEDFOREGROUNDREADONLY 6
-#define CCI_DISABLEDBACKGROUND         7
-#define CCI_DISABLEDBACKGROUNDDIALOG   8
-#define CCI_HIGHLIGHTFOREGROUND                9
-#define CCI_HIGHLIGHTBACKGROUND                10
-#define CCI_HIGHLIGHTBACKGROUNDDIALOG  11
-#define CCI_INACTIVEFOREGROUND         12
-#define CCI_INACTIVEFOREGROUNDDIALOG   13
-#define CCI_INACTIVEBACKGROUND         14
-#define CCI_INACTIVEBACKGROUNDTEXT     15
-#define CCI_ACTIVEFOREGROUND           16
-#define CCI_ACTIVEFOREGROUNDDIALOG     17
-#define CCI_ACTIVEBACKGROUND           18
-#define CCI_ACTIVEBACKGROUNDTEXT       19
-#define CCI_PAGEBACKGROUND             20
-#define CCI_PAGEFOREGROUND             21
-#define CCI_FIELDBACKGROUND            22
-#define CCI_BORDER                     23
-#define CCI_BORDERLIGHT                        24
-#define CCI_BORDERDARK                 25
-#define CCI_BORDER2                    26
-#define CCI_BORDER2LIGHT               27
-#define CCI_BORDER2DARK                        28
-#define CCI_BORDERDEFAULT              29
-#define CCI_BUTTONBACKGROUND           30
-#define CCI_BUTTONFOREGROUND           31
-#define CCI_BUTTONBORDERLIGHT          32
-#define CCI_BUTTONBORDERDARK           33
-#define CCI_ARROW                      34
-#define CCI_DISABLEDARROW              35
-#define CCI_ARROWBORDERLIGHT           36
-#define CCI_ARROWBORDERDARK            37
-#define CCI_CHECKLIGHT                 38
-#define CCI_CHECKMIDDLE                        39
-#define CCI_CHECKDARK                  40
-#define CCI_ICONFOREGROUND             41
-#define CCI_ICONBACKGROUND             42
-#define CCI_ICONBACKGROUNDDESKTOP      43
-#define CCI_ICONHILITEFOREGROUND       44
-#define CCI_ICONHILITEBACKGROUND       45
-#define CCI_MAJORTABFOREGROUND         46
-#define CCI_MAJORTABBACKGROUND         47
-#define CCI_MINORTABFOREGROUND         48
-#define CCI_MINORTABBACKGROUND         49
-#define CCI_MAXINDEX                   49
-
-#define CCT_STATIC                     1
-#define CCT_STATICTEXT                 2
-#define CCT_GROUPBOX                   3
-#define CCT_PUSHBUTTON                 4
-#define CCT_CHECKBOX                   5
-#define CCT_RADIOBUTTON                        6
-#define CCT_ENTRYFIELD                 7
-#define CCT_LISTBOX                    8
-#define CCT_COMBOBOX                   9
-#define CCT_SCROLLBAR                  10
-#define CCT_FRAME                      11
-#define CCT_MENU                       12
-#define CCT_TITLEBAR                   13
-#define CCT_SPINBUTTON                 14
-#define CCT_SLIDER                     15
-#define CCT_CIRCULARSLIDER             16
-#define CCT_VALUESET                   17
-#define CCT_MLE                                18
-#define CCT_CONTAINER                  19
-#define CCT_NOTEBOOK                   20
-#define CCT_MAXTYPE                    20
-
-#define CCV_NOTFOUND                   (-1)
-#define CCV_IGNORE                     (-2)
-#define CCV_DEFAULT                    (-3)
-
-#define PP_FOREGROUNDCOLOR             1
-#define PP_FOREGROUNDCOLORINDEX                2
-#define PP_BACKGROUNDCOLOR             3
-#define PP_BACKGROUNDCOLORINDEX                4
-#define PP_HILITEFOREGROUNDCOLOR       5
-#define PP_HILITEFOREGROUNDCOLORINDEX  6
-#define PP_HILITEBACKGROUNDCOLOR       7
-#define PP_HILITEBACKGROUNDCOLORINDEX  8
-#define PP_DISABLEDFOREGROUNDCOLOR     9
-#define PP_DISABLEDFOREGROUNDCOLORINDEX 10
-#define PP_DISABLEDBACKGROUNDCOLOR     11
-#define PP_DISABLEDBACKGROUNDCOLORINDEX 12
-#define PP_BORDERCOLOR                 13
-#define PP_BORDERCOLORINDEX            14
-#define PP_FONTNAMESIZE                        15
-#define PP_FONTHANDLE                  16
-#define PP_RESERVED                    17
-#define PP_ACTIVECOLOR                 18
-#define PP_ACTIVECOLORINDEX            19
-#define PP_INACTIVECOLOR               20
-#define PP_INACTIVECOLORINDEX          21
-#define PP_ACTIVETEXTFGNDCOLOR         22
-#define PP_ACTIVETEXTFGNDCOLORINDEX    23
-#define PP_ACTIVETEXTBGNDCOLOR         24
-#define PP_ACTIVETEXTBGNDCOLORINDEX    25
-#define PP_INACTIVETEXTFGNDCOLOR       26
-#define PP_INACTIVETEXTFGNDCOLORINDEX  27
-#define PP_INACTIVETEXTBGNDCOLOR       28
-#define PP_INACTIVETEXTBGNDCOLORINDEX  29
-#define PP_SHADOW                      30
-#define PP_MENUFOREGROUNDCOLOR         31
-#define PP_MENUFOREGROUNDCOLORINDEX    32
-#define PP_MENUBACKGROUNDCOLOR         33
-#define PP_MENUBACKGROUNDCOLORINDEX    34
-#define PP_MENUHILITEFGNDCOLOR         35
-#define PP_MENUHILITEFGNDCOLORINDEX    36
-#define PP_MENUHILITEBGNDCOLOR         37
-#define PP_MENUHILITEBGNDCOLORINDEX    38
-#define PP_MENUDISABLEDFGNDCOLOR       39
-#define PP_MENUDISABLEDFGNDCOLORINDEX  40
-#define PP_MENUDISABLEDBGNDCOLOR       41
-#define PP_MENUDISABLEDBGNDCOLORINDEX  42
-#define PP_SHADOWTEXTCOLOR             43
-#define PP_SHADOWTEXTCOLORINDEX                44
-#define PP_SHADOWHILITEFGNDCOLOR       45
-#define PP_SHADOWHILITEFGNDCOLORINDEX  46
-#define PP_SHADOWHILITEBGNDCOLOR       47
-#define PP_SHADOWHILITEBGNDCOLORINDEX  48
-#define PP_ICONTEXTBACKGROUNDCOLOR     49
-#define PP_ICONTEXTBACKGROUNDCOLORINDEX        50
-#define PP_BORDERLIGHTCOLOR            51
-#define PP_BORDERDARKCOLOR             52
-#define PP_BORDER2COLOR                        53
-#define PP_BORDER2LIGHTCOLOR           54
-#define PP_BORDER2DARKCOLOR            55
-#define PP_BORDERDEFAULTCOLOR          56
-#define PP_FIELDBACKGROUNDCOLOR                57
-#define PP_BUTTONBACKGROUNDCOLOR       58
-#define PP_BUTTONBORDERLIGHTCOLOR      59
-#define PP_BUTTONBORDERDARKCOLOR       60
-#define PP_ARROWCOLOR                  61
-#define PP_ARROWBORDERLIGHTCOLOR       62
-#define PP_ARROWBORDERDARKCOLOR                63
-#define PP_ARROWDISABLEDCOLOR          64
-#define PP_CHECKLIGHTCOLOR             65
-#define PP_CHECKMIDDLECOLOR            66
-#define PP_CHECKDARKCOLOR              67
-#define PP_PAGEFOREGROUNDCOLOR         68
-#define PP_PAGEBACKGROUNDCOLOR         69
-#define PP_MAJORTABFOREGROUNDCOLOR     70
-#define PP_MAJORTABBACKGROUNDCOLOR     71
-#define PP_MINORTABFOREGROUNDCOLOR     72
-#define PP_MINORTABBACKGROUNDCOLOR     73
-
-#define PP_BIDI_FIRST                  0x0100
-#define PP_BIDI_LAST                   0x012f
-#define PP_USER                                0x8000
-
-#define QPF_NOINHERIT                  0x0001
-#define QPF_ID1COLORINDEX              0x0002
-#define QPF_ID2COLORINDEX              0x0004
-#define QPF_PURERGBCOLOR               0x0008
-#define QPF_VALIDFLAGS                 0x000f
-
-#define SV_SWAPBUTTON                  0
-#define SV_DBLCLKTIME                  1
-#define SV_CXDBLCLK                    2
-#define SV_CYDBLCLK                    3
-#define SV_CXSIZEBORDER                        4
-#define SV_CYSIZEBORDER                        5
-#define SV_ALARM                       6
-#define SV_CURSORRATE                  9
-#define SV_FIRSTSCROLLRATE             10
-#define SV_SCROLLRATE                  11
-#define SV_NUMBEREDLISTS               12
-#define SV_WARNINGFREQ                 13
-#define SV_NOTEFREQ                    14
-#define SV_ERRORFREQ                   15
-#define SV_WARNINGDURATION             16
-#define SV_NOTEDURATION                        17
-#define SV_ERRORDURATION               18
-#define SV_CXSCREEN                    20
-#define SV_CYSCREEN                    21
-#define SV_CXVSCROLL                   22
-#define SV_CYHSCROLL                   23
-#define SV_CYVSCROLLARROW              24
-#define SV_CXHSCROLLARROW              25
-#define SV_CXBORDER                    26
-#define SV_CYBORDER                    27
-#define SV_CXDLGFRAME                  28
-#define SV_CYDLGFRAME                  29
-#define SV_CYTITLEBAR                  30
-#define SV_CYVSLIDER                   31
-#define SV_CXHSLIDER                   32
-#define SV_CXMINMAXBUTTON              33
-#define SV_CYMINMAXBUTTON              34
-#define SV_CYMENU                      35
-#define SV_CXFULLSCREEN                        36
-#define SV_CYFULLSCREEN                        37
-#define SV_CXICON                      38
-#define SV_CYICON                      39
-#define SV_CXPOINTER                   40
-#define SV_CYPOINTER                   41
-#define SV_DEBUG                       42
-#define SV_CMOUSEBUTTONS               43
-#define SV_CPOINTERBUTTONS             43
-#define SV_POINTERLEVEL                        44
-#define SV_CURSORLEVEL                 45
-#define SV_TRACKRECTLEVEL              46
-#define SV_CTIMERS                     47
-#define SV_MOUSEPRESENT                        48
-#define SV_CXBYTEALIGN                 49
-#define SV_CXALIGN                     49
-#define SV_CYBYTEALIGN                 50
-#define SV_CYALIGN                     50
-#define SV_DESKTOPWORKAREAYTOP         51
-#define SV_DESKTOPWORKAREAYBOTTOM      52
-#define SV_DESKTOPWORKAREAXRIGHT       53
-#define SV_DESKTOPWORKAREAXLEFT                54
-#define SV_NOTRESERVED                 56
-#define SV_EXTRAKEYBEEP                        57
-#define SV_SETLIGHTS                   58
-#define SV_INSERTMODE                  59
-#define SV_MENUROLLDOWNDELAY           64
-#define SV_MENUROLLUPDELAY             65
-#define SV_ALTMNEMONIC                 66
-#define SV_TASKLISTMOUSEACCESS         67
-#define SV_CXICONTEXTWIDTH             68
-#define SV_CICONTEXTLINES              69
-#define SV_CHORDTIME                   70
-#define SV_CXCHORD                     71
-#define SV_CYCHORD                     72
-#define SV_CXMOTIONSTART               73
-#define SV_CYMOTIONSTART               74
-#define SV_BEGINDRAG                   75
-#define SV_ENDDRAG                     76
-#define SV_SINGLESELECT                        77
-#define SV_OPEN                                78
-#define SV_CONTEXTMENU                 79
-#define SV_CONTEXTHELP                 80
-#define SV_TEXTEDIT                    81
-#define SV_BEGINSELECT                 82
-#define SV_ENDSELECT                   83
-#define SV_BEGINDRAGKB                 84
-#define SV_ENDDRAGKB                   85
-#define SV_SELECTKB                    86
-#define SV_OPENKB                      87
-#define SV_CONTEXTMENUKB               88
-#define SV_CONTEXTHELPKB               89
-#define SV_TEXTEDITKB                  90
-#define SV_BEGINSELECTKB               91
-#define SV_ENDSELECTKB                 92
-#define SV_ANIMATION                   93
-#define SV_ANIMATIONSPEED              94
-#define SV_MONOICONS                   95
-#define SV_KBDALTERED                  96
-#define SV_PRINTSCREEN                 97
-#define SV_LOCKSTARTINPUT              98
-#define SV_DYNAMICDRAG                 99
-#define SV_CSYSVALUES                  100
-
-#define SYSCLR_SHADOWHILITEBGND                (-50)
-#define SYSCLR_SHADOWHILITEFGND                (-49)
-#define SYSCLR_SHADOWTEXT              (-48)
-#define SYSCLR_ENTRYFIELD              (-47)
-#define SYSCLR_MENUDISABLEDTEXT                (-46)
-#define SYSCLR_MENUHILITE              (-45)
-#define SYSCLR_MENUHILITEBGND          (-44)
-#define SYSCLR_PAGEBACKGROUND          (-43)
-#define SYSCLR_FIELDBACKGROUND         (-42)
-#define SYSCLR_BUTTONLIGHT             (-41)
-#define SYSCLR_BUTTONMIDDLE            (-40)
-#define SYSCLR_BUTTONDARK              (-39)
-#define SYSCLR_BUTTONDEFAULT           (-38)
-#define SYSCLR_TITLEBOTTOM             (-37)
-#define SYSCLR_SHADOW                  (-36)
-#define SYSCLR_ICONTEXT                        (-35)
-#define SYSCLR_DIALOGBACKGROUND                (-34)
-#define SYSCLR_HILITEFOREGROUND                (-33)
-#define SYSCLR_HILITEBACKGROUND                (-32)
-#define SYSCLR_INACTIVETITLETEXTBGND   (-31)
-#define SYSCLR_ACTIVETITLETEXTBGND     (-30)
-#define SYSCLR_INACTIVETITLETEXT       (-29)
-#define SYSCLR_ACTIVETITLETEXT         (-28)
-#define SYSCLR_OUTPUTTEXT              (-27)
-#define SYSCLR_WINDOWSTATICTEXT                (-26)
-#define SYSCLR_SCROLLBAR               (-25)
-#define SYSCLR_BACKGROUND              (-24)
-#define SYSCLR_ACTIVETITLE             (-23)
-#define SYSCLR_INACTIVETITLE           (-22)
-#define SYSCLR_MENU                    (-21)
-#define SYSCLR_WINDOW                  (-20)
-#define SYSCLR_WINDOWFRAME             (-19)
-#define SYSCLR_MENUTEXT                        (-18)
-#define SYSCLR_WINDOWTEXT              (-17)
-#define SYSCLR_TITLETEXT               (-16)
-#define SYSCLR_ACTIVEBORDER            (-15)
-#define SYSCLR_INACTIVEBORDER          (-14)
-#define SYSCLR_APPWORKSPACE            (-13)
-#define SYSCLR_HELPBACKGROUND          (-12)
-#define SYSCLR_HELPTEXT                        (-11)
-#define SYSCLR_HELPHILITE              (-10)
-
-#define SYSCLR_CSYSCOLORS              41
-
-#define WM_CTLCOLORCHANGE              0x0129
-#define WM_QUERYCTLTYPE                        0x0130 /*0x012a?*/
-
-
-typedef struct _CTLCOLOR
-{
-  LONG clrIndex;
-  LONG clrValue;
-} CTLCOLOR;
-typedef CTLCOLOR *PCTLCOLOR;
-
-typedef struct _PARAM
-{
-  ULONG id;
-  ULONG cb;
-  BYTE ab[1];
-} PARAM;
-typedef PARAM *NPPARAM;
-typedef PARAM *PPARAM;
-
-typedef struct _PRESPARAMS
-{
-  ULONG cb;
-  PARAM aparam[1];
-} PRESPARAMS;
-typedef PRESPARAMS *NPPRESPARAMS;
-typedef PRESPARAMS *PPRESPARAMS;
-
-
-LONG WinQueryControlColors (HWND hwnd, LONG clrType, ULONG flCtlColor,
-    ULONG cCtlColor, PCTLCOLOR pCtlColor);
-ULONG WinQueryPresParam (HWND hwnd, ULONG id1, ULONG id2, PULONG pulId,
-    ULONG cbBuf, PVOID pbBuf, ULONG fs);
-LONG WinQuerySysColor (HWND hwndDesktop, LONG clr, LONG lReserved);
-LONG WinQuerySysValue (HWND hwndDesktop, LONG iSysValue);
-BOOL WinRemovePresParam (HWND hwnd, ULONG id);
-LONG WinSetControlColors (HWND hwnd, LONG clrType, ULONG flCtlColor,
-    ULONG cCtlColor, PCTLCOLOR pCtlColor);
-BOOL WinSetPresParam (HWND hwnd, ULONG id, ULONG cbParam, PVOID pbParam);
-BOOL WinSetSysColors (HWND hwndDesktop, ULONG flOptions, ULONG flFormat,
-    LONG clrFirst, ULONG cclr, __const__ LONG *pclr);
-BOOL WinSetSysValue (HWND hwndDesktop, LONG iSysValue, LONG lValue);
-
-#endif /* INCL_WINSYS */
-
-
-#if defined (INCL_WINTHUNKAPI)
-
-PFN WinQueryClassThunkProc (PCSZ pszClassname);
-LONG WinQueryWindowModel (HWND hwnd);
-PFN WinQueryWindowThunkProc (HWND hwnd);
-BOOL WinSetClassThunkProc (PCSZ pszClassname, PFN pfnThunkProc);
-BOOL WinSetWindowThunkProc (HWND hwnd, PFN pfnThunkProc);
-
-#endif /* INCL_WINTHUNKAPI */
-
-
-#if defined (INCL_WINTIMER)
-
-#define TID_CURSOR                     0xffff
-#define TID_SCROLL                     0xfffe
-#define TID_FLASHWINDOW                        0xfffd
-#define TID_USERMAX                    0x7fff
-
-ULONG  WinGetCurrentTime (HAB hab);
-ULONG WinStartTimer (HAB hab, HWND hwnd, ULONG idTimer, ULONG dtTimeout);
-BOOL WinStopTimer (HAB hab, HWND hwnd, ULONG idTimer);
-
-#endif /* INCL_WINTIMER */
-
-#if defined (INCL_WINTRACKRECT)
-
-#define TF_LEFT                                0x0001
-#define TF_TOP                         0x0002
-#define TF_RIGHT                       0x0004
-#define TF_BOTTOM                      0x0008
-#define TF_SETPOINTERPOS               0x0010
-#define TF_GRID                                0x0020
-#define TF_STANDARD                    0x0040
-#define TF_ALLINBOUNDARY               0x0080
-#define TF_VALIDATETRACKRECT           0x0100
-#define TF_PARTINBOUNDARY              0x0200
-
-#define TF_MOVE                                0x000f
-
-typedef struct _TRACKINFO
-{
-  LONG  cxBorder;
-  LONG  cyBorder;
-  LONG  cxGrid;
-  LONG  cyGrid;
-  LONG  cxKeyboard;
-  LONG  cyKeyboard;
-  RECTL         rclTrack;
-  RECTL         rclBoundary;
-  POINTL ptlMinTrackSize;
-  POINTL ptlMaxTrackSize;
-  ULONG         fs;
-} TRACKINFO;
-typedef TRACKINFO *PTRACKINFO;
-
-BOOL WinShowTrackRect (HWND hwnd, BOOL fShow);
-BOOL WinTrackRect (HWND hwnd, HPS hps, PTRACKINFO pti);
-
-#endif /* INCL_WINTRACKRECT */
-
-/* -------------------- MULTIPLE LINE ENTRIES ----------------------------- */
-
-#if defined (INCL_WINMLE)
-
-#define MLS_WORDWRAP                   0x0001
-#define MLS_BORDER                     0x0002
-#define MLS_VSCROLL                    0x0004
-#define MLS_HSCROLL                    0x0008
-#define MLS_READONLY                   0x0010
-#define MLS_IGNORETAB                  0x0020
-#define MLS_DISABLEUNDO                        0x0040
-
-#define MLFFMTRECT_FORMATRECT          0x0007
-#define MLFFMTRECT_LIMITHORZ           0x0001
-#define MLFFMTRECT_LIMITVERT           0x0002
-#define MLFFMTRECT_MATCHWINDOW         0x0004
-
-#define MLFIE_CFTEXT                   0
-#define MLFIE_NOTRANS                  1
-#define MLFIE_WINFMT                   2
-#define MLFIE_RTF                      3
-
-#define MLFEFR_RESIZE                  0x0001
-#define MLFEFR_TABSTOP                 0x0002
-#define MLFEFR_FONT                    0x0004
-#define MLFEFR_TEXT                    0x0008
-#define MLFEFR_WORDWRAP                        0x0010
-#define MLFETL_TEXTBYTES               0x0020
-
-#define MLFMARGIN_LEFT                 0x0001
-#define MLFMARGIN_BOTTOM               0x0002
-#define MLFMARGIN_RIGHT                        0x0003
-#define MLFMARGIN_TOP                  0x0004
-
-#define MLFQS_MINMAXSEL                        0
-#define MLFQS_MINSEL                   1
-#define MLFQS_MAXSEL                   2
-#define MLFQS_ANCHORSEL                        3
-#define MLFQS_CURSORSEL                        4
-
-#define MLFCLPBD_TOOMUCHTEXT           0x0001
-#define MLFCLPBD_ERROR                 0x0002
-
-#define MLFSEARCH_CASESENSITIVE                0x0001
-#define MLFSEARCH_SELECTMATCH          0x0002
-#define MLFSEARCH_CHANGEALL            0x0004
-
-#define MLM_SETTEXTLIMIT               0x01b0
-#define MLM_QUERYTEXTLIMIT             0x01b1
-#define MLM_SETFORMATRECT              0x01b2
-#define MLM_QUERYFORMATRECT            0x01b3
-#define MLM_SETWRAP                    0x01b4
-#define MLM_QUERYWRAP                  0x01b5
-#define MLM_SETTABSTOP                 0x01b6
-#define MLM_QUERYTABSTOP               0x01b7
-#define MLM_SETREADONLY                        0x01b8
-#define MLM_QUERYREADONLY              0x01b9
-
-#define MLM_QUERYCHANGED               0x01ba
-#define MLM_SETCHANGED                 0x01bb
-#define MLM_QUERYLINECOUNT             0x01bc
-#define MLM_CHARFROMLINE               0x01bd
-#define MLM_LINEFROMCHAR               0x01be
-#define MLM_QUERYLINELENGTH            0x01bf
-#define MLM_QUERYTEXTLENGTH            0x01c0
-
-#define MLM_FORMAT                     0x01c1
-#define MLM_SETIMPORTEXPORT            0x01c2
-#define MLM_IMPORT                     0x01c3
-#define MLM_EXPORT                     0x01c4
-#define MLM_DELETE                     0x01c6
-#define MLM_QUERYFORMATLINELENGTH      0x01c7
-#define MLM_QUERYFORMATTEXTLENGTH      0x01c8
-#define MLM_INSERT                     0x01c9
-
-#define MLM_SETSEL                     0x01ca
-#define MLM_QUERYSEL                   0x01cb
-#define MLM_QUERYSELTEXT               0x01cc
-
-#define MLM_QUERYUNDO                  0x01cd
-#define MLM_UNDO                       0x01ce
-#define MLM_RESETUNDO                  0x01cf
-
-#define MLM_QUERYFONT                  0x01d0
-#define MLM_SETFONT                    0x01d1
-#define MLM_SETTEXTCOLOR               0x01d2
-#define MLM_QUERYTEXTCOLOR             0x01d3
-#define MLM_SETBACKCOLOR               0x01d4
-#define MLM_QUERYBACKCOLOR             0x01d5
-
-#define MLM_QUERYFIRSTCHAR             0x01d6
-#define MLM_SETFIRSTCHAR               0x01d7
-
-#define MLM_CUT                                0x01d8
-#define MLM_COPY                       0x01d9
-#define MLM_PASTE                      0x01da
-#define MLM_CLEAR                      0x01db
-
-#define MLM_ENABLEREFRESH              0x01dc
-#define MLM_DISABLEREFRESH             0x01dd
-
-#define MLM_SEARCH                     0x01de
-#define MLM_QUERYIMPORTEXPORT          0x01df
-
-#define MLN_OVERFLOW                   0x0001
-#define MLN_PIXHORZOVERFLOW            0x0002
-#define MLN_PIXVERTOVERFLOW            0x0003
-#define MLN_TEXTOVERFLOW               0x0004
-#define MLN_VSCROLL                    0x0005
-#define MLN_HSCROLL                    0x0006
-#define MLN_CHANGE                     0x0007
-#define MLN_SETFOCUS                   0x0008
-#define MLN_KILLFOCUS                  0x0009
-#define MLN_MARGIN                     0x000a
-#define MLN_SEARCHPAUSE                        0x000b
-#define MLN_MEMERROR                   0x000c
-#define MLN_UNDOOVERFLOW               0x000d
-#define MLN_CLPBDFAIL                  0x000f
-
-
-typedef LONG IPT;
-typedef IPT *PIPT;
-typedef LONG PIX;
-typedef ULONG LINE;
-
-
-typedef struct _FORMATRECT     /* Note 1 */
-{
-  LONG cxFormat;
-  LONG cyFormat;
-} MLEFORMATRECT;
-typedef MLEFORMATRECT *PFORMATRECT;
-
-typedef struct _MLECTLDATA
-{
-  USHORT cbCtlData;
-  USHORT afIEFormat;
-  ULONG         cchText;
-  IPT   iptAnchor;
-  IPT   iptCursor;
-  LONG  cxFormat;
-  LONG  cyFormat;
-  ULONG         afFormatFlags;
-  PVOID         pHWXCtlData;
-} MLECTLDATA;
-typedef MLECTLDATA *PMLECTLDATA;
-
-typedef struct _MLEOVERFLOW
-{
-  ULONG afErrInd;
-  LONG nBytesOver;
-  LONG pixHorzOver;
-  LONG pixVertOver;
-} MLEOVERFLOW;
-typedef MLEOVERFLOW *POVERFLOW;
-
-typedef struct _MLEMARGSTRUCT
-{
-  USHORT afMargins;
-  USHORT usMouMsg;
-  IPT   iptNear;
-} MLEMARGSTRUCT;
-typedef MLEMARGSTRUCT *PMARGSTRUCT;
-
-typedef struct _SEARCH         /* Note 1 */
-{
-  USHORT cb;
-  USHORT _pad;
-  PCHAR         pchFind;
-  PCHAR         pchReplace;
-  SHORT         cchFind;
-  SHORT         cchReplace;
-  IPT   iptStart;
-  IPT   iptStop;
-  USHORT cchFound;
-} MLE_SEARCHDATA;
-typedef MLE_SEARCHDATA *PMLE_SEARCHDATA;
-
-#endif /* INCL_WINMLE */
-
-/* --------------- GRAPHICS PROGRAMMING INTERFACE ------------------------- */
-
-#define GPI_ERROR                      0
-#define GPI_OK                         1
-#define GPI_ALTERROR                   (-1)
-
-#define HRGN_ERROR                     ((HRGN)(-1))
-
-#define CLR_ERROR                      (-255)
-#define CLR_NOINDEX                    (-254)
-#define CLR_FALSE                      (-5)
-#define CLR_TRUE                       (-4)
-#define CLR_DEFAULT                    (-3)
-#define CLR_WHITE                      (-2)
-#define CLR_BLACK                      (-1)
-#define CLR_BACKGROUND                 0
-#define CLR_BLUE                       1
-#define CLR_RED                                2
-#define CLR_PINK                       3
-#define CLR_GREEN                      4
-#define CLR_CYAN                       5
-#define CLR_YELLOW                     6
-#define CLR_NEUTRAL                    7
-#define CLR_DARKGRAY                   8
-#define CLR_DARKBLUE                   9
-#define CLR_DARKRED                    10
-#define CLR_DARKPINK                   11
-#define CLR_DARKGREEN                  12
-#define CLR_DARKCYAN                   13
-#define CLR_BROWN                      14
-#define CLR_PALEGRAY                   15
-
-#define RGB_ERROR                      (-255)
-#define RGB_BLACK                      0x00000000
-#define RGB_BLUE                       0x000000ff
-#define RGB_GREEN                      0x0000ff00
-#define RGB_CYAN                       0x0000ffff
-#define RGB_RED                                0x00ff0000
-#define RGB_PINK                       0x00ff00ff
-#define RGB_YELLOW                     0x00ffff00
-#define RGB_WHITE                      0x00ffffff
-
-#define PRIM_LINE                      1
-#define PRIM_CHAR                      2
-#define PRIM_MARKER                    3
-#define PRIM_AREA                      4
-#define PRIM_IMAGE                     5
-
-#define AM_ERROR                       (-1)
-#define AM_PRESERVE                    0
-#define AM_NOPRESERVE                  1
-
-#define FM_ERROR                       (-1)
-#define FM_DEFAULT                     0
-#define FM_OR                          1
-#define FM_OVERPAINT                   2
-#define FM_LEAVEALONE                  5
-
-#define FM_XOR                         4
-#define FM_AND                         6
-#define FM_SUBTRACT                    7
-#define FM_MASKSRCNOT                  8
-#define FM_ZERO                                9
-#define FM_NOTMERGESRC                 10
-#define FM_NOTXORSRC                   11
-#define FM_INVERT                      12
-#define FM_MERGESRCNOT                 13
-#define FM_NOTCOPYSRC                  14
-#define FM_MERGENOTSRC                 15
-#define FM_NOTMASKSRC                  16
-#define FM_ONE                         17
-
-#define BM_ERROR                       (-1)
-#define BM_DEFAULT                     0
-#define BM_OR                          1
-#define BM_OVERPAINT                   2
-#define BM_LEAVEALONE                  5
-
-#define BM_XOR                         4
-#define BM_AND                         6
-#define BM_SUBTRACT                    7
-#define BM_MASKSRCNOT                  8
-#define BM_ZERO                                9
-#define BM_NOTMERGESRC                 10
-#define BM_NOTXORSRC                   11
-#define BM_INVERT                      12
-#define BM_MERGESRCNOT                 13
-#define BM_NOTCOPYSRC                  14
-#define BM_MERGENOTSRC                 15
-#define BM_NOTMASKSRC                  16
-#define BM_ONE                         17
-#define BM_SRCTRANSPARENT              18
-#define BM_DESTTRANSPARENT             19
-
-#define LINETYPE_ERROR                 (-1)
-#define LINETYPE_DEFAULT               0
-#define LINETYPE_DOT                   1
-#define LINETYPE_SHORTDASH             2
-#define LINETYPE_DASHDOT               3
-#define LINETYPE_DOUBLEDOT             4
-#define LINETYPE_LONGDASH              5
-#define LINETYPE_DASHDOUBLEDOT         6
-#define LINETYPE_SOLID                 7
-#define LINETYPE_INVISIBLE             8
-#define LINETYPE_ALTERNATE             9
-
-#define LINEWIDTH_ERROR                        (-1)
-#define LINEWIDTH_DEFAULT              0L
-#define LINEWIDTH_NORMAL               0x00010000
-#define LINEWIDTH_THICK                        0x00020000
-
-#define LINEWIDTHGEOM_ERROR            (-1)
-
-#define LINEEND_ERROR                  (-1)
-#define LINEEND_DEFAULT                        0
-#define LINEEND_FLAT                   1
-#define LINEEND_SQUARE                 2
-#define LINEEND_ROUND                  3
-
-#define LINEJOIN_ERROR                 (-1)
-#define LINEJOIN_DEFAULT               0
-#define LINEJOIN_BEVEL                 1
-#define LINEJOIN_ROUND                 2
-#define LINEJOIN_MITRE                 3
-
-#define CHDIRN_ERROR                   (-1)
-#define CHDIRN_DEFAULT                 0
-#define CHDIRN_LEFTRIGHT               1
-#define CHDIRN_TOPBOTTOM               2
-#define CHDIRN_RIGHTLEFT               3
-#define CHDIRN_BOTTOMTOP               4
-
-#define TA_NORMAL_HORIZ                        0x0001
-#define TA_LEFT                                0x0002
-#define TA_CENTER                      0x0003
-#define TA_RIGHT                       0x0004
-#define TA_STANDARD_HORIZ              0x0005
-#define TA_NORMAL_VERT                 0x0100
-#define TA_TOP                         0x0200
-#define TA_HALF                                0x0300
-#define TA_BASE                                0x0400
-#define TA_BOTTOM                      0x0500
-#define TA_STANDARD_VERT               0x0600
-
-#define CM_ERROR                       (-1)
-#define CM_DEFAULT                     0
-#define CM_MODE1                       1
-#define CM_MODE2                       2
-#define CM_MODE3                       3
-
-#define MARKSYM_ERROR                  (-1)
-#define MARKSYM_DEFAULT                        0
-#define MARKSYM_CROSS                  1
-#define MARKSYM_PLUS                   2
-#define MARKSYM_DIAMOND                        3
-#define MARKSYM_SQUARE                 4
-#define MARKSYM_SIXPOINTSTAR           5
-#define MARKSYM_EIGHTPOINTSTAR         6
-#define MARKSYM_SOLIDDIAMOND           7
-#define MARKSYM_SOLIDSQUARE            8
-#define MARKSYM_DOT                    9
-#define MARKSYM_SMALLCIRCLE            10
-#define MARKSYM_BLANK                  64
-
-#define TXTBOX_TOPLEFT                 0
-#define TXTBOX_BOTTOMLEFT              1
-#define TXTBOX_TOPRIGHT                        2
-#define TXTBOX_BOTTOMRIGHT             3
-#define TXTBOX_CONCAT                  4
-#define TXTBOX_COUNT                   5
-
-#define PVIS_ERROR                     0
-#define PVIS_INVISIBLE                 1
-#define PVIS_VISIBLE                   2
-
-#define RVIS_ERROR                     0
-#define RVIS_INVISIBLE                 1
-#define RVIS_PARTIAL                   2
-#define RVIS_VISIBLE                   3
-
-#define FONT_DEFAULT                   1
-#define FONT_MATCH                     2
-
-#define LCIDT_FONT                     6
-#define LCIDT_BITMAP                   7
-
-#define LCID_ALL                       (-1)
-
-#define CHS_OPAQUE                     0x0001
-#define CHS_VECTOR                     0x0002
-#define CHS_LEAVEPOS                   0x0008
-#define CHS_CLIP                       0x0010
-#define CHS_UNDERSCORE                 0x0200
-#define CHS_STRIKEOUT                  0x0400
-
-#define FWEIGHT_DONT_CARE              0
-#define FWEIGHT_ULTRA_LIGHT            1
-#define FWEIGHT_EXTRA_LIGHT            2
-#define FWEIGHT_LIGHT                  3
-#define FWEIGHT_SEMI_LIGHT             4
-#define FWEIGHT_NORMAL                 5
-#define FWEIGHT_SEMI_BOLD              6
-#define FWEIGHT_BOLD                   7
-#define FWEIGHT_EXTRA_BOLD             8
-#define FWEIGHT_ULTRA_BOLD             9
-
-#define FWIDTH_DONT_CARE               0
-#define FWIDTH_ULTRA_CONDENSED         1
-#define FWIDTH_EXTRA_CONDENSED         2
-#define FWIDTH_CONDENSED               3
-#define FWIDTH_SEMI_CONDENSED          4
-#define FWIDTH_NORMAL                  5
-#define FWIDTH_SEMI_EXPANDED           6
-#define FWIDTH_EXPANDED                        7
-#define FWIDTH_EXTRA_EXPANDED          8
-#define FWIDTH_ULTRA_EXPANDED          9
-
-#define FTYPE_ITALIC                   0x0001
-#define FTYPE_ITALIC_DONT_CARE         0x0002
-#define FTYPE_OBLIQUE                  0x0004
-#define FTYPE_OBLIQUE_DONT_CARE                0x0008
-#define FTYPE_ROUNDED                  0x0010
-#define FTYPE_ROUNDED_DONT_CARE                0x0020
-
-#define QFA_PUBLIC                     1
-#define QFA_PRIVATE                    2
-#define QFA_ERROR                      GPI_ALTERROR
-
-#define QF_PUBLIC                      0x0001
-#define QF_PRIVATE                     0x0002
-#define QF_NO_GENERIC                  0x0004
-#define QF_NO_DEVICE                   0x0008
-
-#define QCD_LCT_FORMAT                 0
-#define QCD_LCT_LOINDEX                        1
-#define QCD_LCT_HIINDEX                        2
-#define QCD_LCT_OPTIONS                        3
-
-#define QLCT_ERROR                     (-1)
-#define QLCT_RGB                       (-2)
-
-#define QLCT_NOTLOADED                 (-1)
-
-#define PAL_ERROR                      (-1)
-
-#define PC_RESERVED                    0x01
-#define PC_EXPLICIT                    0x02
-#define PC_NOCOLLAPSE                  0x04
-
-#define SCP_ALTERNATE                  0
-#define SCP_WINDING                    2
-#define SCP_AND                                4
-#define SCP_RESET                      0
-#define SCP_INCL                       0
-#define SCP_EXCL                       8
-
-#define MPATH_STROKE                   6
-
-#define FPATH_ALTERNATE                        0
-#define FPATH_WINDING                  2
-#define FPATH_INCL                     0
-#define FPATH_EXCL                     8
-
-#define CVTC_WORLD                     1
-#define CVTC_MODEL                     2
-#define CVTC_DEFAULTPAGE               3
-#define CVTC_PAGE                      4
-#define CVTC_DEVICE                    5
-
-#define TRANSFORM_REPLACE              0
-#define TRANSFORM_ADD                  1
-#define TRANSFORM_PREEMPT              2
-
-#define SEGEM_ERROR                    0
-#define SEGEM_INSERT                   1
-#define SEGEM_REPLACE                  2
-
-#define POLYGON_NOBOUNDARY             0x0000
-#define POLYGON_BOUNDARY               0x0001
-
-#define POLYGON_ALTERNATE              0x0000
-#define POLYGON_WINDING                        0x0002
-
-#define POLYGON_INCL                   0x0000
-#define POLYGON_EXCL                   0x0008
-
-#define POLYGON_FILL                   0x0000
-#define POLYGON_NOFILL                 0x0010
-
-#define LCOL_RESET                     0x0001
-#define LCOL_REALIZABLE                        0x0002
-#define LCOL_PURECOLOR                 0x0004
-#define LCOL_OVERRIDE_DEFAULT_COLORS   0x0008
-#define LCOL_REALIZED                  0x0010
-
-#define LCOLF_DEFAULT                  0
-#define LCOLF_INDRGB                   1
-#define LCOLF_CONSECRGB                        2
-#define LCOLF_RGB                      3
-#define LCOLF_PALETTE                  4
-
-#define LCOLOPT_REALIZED               0x0001
-#define LCOLOPT_INDEX                  0x0002
-
-#define BA_NOBOUNDARY                  0
-#define BA_BOUNDARY                    0x0001
-
-#define BA_ALTERNATE                   0
-#define BA_WINDING                     0x0002
-
-#define BA_INCL                                0
-#define BA_EXCL                                8
-
-#define DRO_FILL                       1
-#define DRO_OUTLINE                    2
-#define DRO_OUTLINEFILL                        3
-
-#define PATSYM_ERROR                   (-1)
-#define PATSYM_DEFAULT                 0
-#define PATSYM_DENSE1                  1
-#define PATSYM_DENSE2                  2
-#define PATSYM_DENSE3                  3
-#define PATSYM_DENSE4                  4
-#define PATSYM_DENSE5                  5
-#define PATSYM_DENSE6                  6
-#define PATSYM_DENSE7                  7
-#define PATSYM_DENSE8                  8
-#define PATSYM_VERT                    9
-#define PATSYM_HORIZ                   10
-#define PATSYM_DIAG1                   11
-#define PATSYM_DIAG2                   12
-#define PATSYM_DIAG3                   13
-#define PATSYM_DIAG4                   14
-#define PATSYM_NOSHADE                 15
-#define PATSYM_SOLID                   16
-#define PATSYM_HALFTONE                        17
-#define PATSYM_HATCH                   18
-#define PATSYM_DIAGHATCH               19
-#define PATSYM_BLANK                   64
-
-#define LCID_ERROR                     (-1)
-#define LCID_DEFAULT                   0
-
-#define CRGN_OR                                1
-#define CRGN_COPY                      2
-#define CRGN_XOR                       4
-#define CRGN_AND                       6
-#define CRGN_DIFF                      7
-
-#define RGN_ERROR                      0
-#define RGN_NULL                       1
-#define RGN_RECT                       2
-#define RGN_COMPLEX                    3
-
-#define PRGN_ERROR                     0
-#define PRGN_OUTSIDE                   1
-#define PRGN_INSIDE                    2
-
-#define RRGN_ERROR                     0
-#define RRGN_OUTSIDE                   1
-#define RRGN_PARTIAL                   2
-#define RRGN_INSIDE                    3
-
-#define EQRGN_ERROR                    0
-#define EQRGN_NOTEQUAL                 1
-#define EQRGN_EQUAL                    2
-
-#define RECTDIR_LFRT_TOPBOT            1
-#define RECTDIR_RTLF_TOPBOT            2
-#define RECTDIR_LFRT_BOTTOP            3
-#define RECTDIR_RTLF_BOTTOP            4
-
-#define PMF_SEGBASE                    0
-#define PMF_LOADTYPE                   1
-#define PMF_RESOLVE                    2
-#define PMF_LCIDS                      3
-#define PMF_RESET                      4
-#define PMF_SUPPRESS                   5
-#define PMF_COLORTABLES                        6
-#define PMF_COLORREALIZABLE            7
-#define PMF_DEFAULTS                   8
-#define PMF_DELETEOBJECTS              9
-
-#define RS_DEFAULT                     0
-#define RS_NODISCARD                   1
-#define LC_DEFAULT                     0
-#define LC_NOLOAD                      1
-#define LC_LOADDISC                    3
-#define LT_DEFAULT                     0
-#define LT_NOMODIFY                    1
-#define LT_ORIGINALVIEW                        4
-#define RES_DEFAULT                    0
-#define RES_NORESET                    1
-#define RES_RESET                      2
-#define SUP_DEFAULT                    0
-#define SUP_NOSUPPRESS                 1
-#define SUP_SUPPRESS                   2
-#define CTAB_DEFAULT                   0
-#define CTAB_NOMODIFY                  1
-#define CTAB_REPLACE                   3
-#define CTAB_REPLACEPALETTE            4
-#define CREA_DEFAULT                   0
-#define CREA_REALIZE                   1
-#define CREA_NOREALIZE                 2
-#define CREA_DOREALIZE                 3
-
-#define DDEF_DEFAULT                   0
-#define DDEF_IGNORE                    1
-#define DDEF_LOADDISC                  3
-#define DOBJ_DEFAULT                   0
-#define DOBJ_NODELETE                  1
-#define DOBJ_DELETE                    2
-#define RSP_DEFAULT                    0
-#define RSP_NODISCARD                  1
-
-#define LBB_COLOR                      0x0001
-#define LBB_BACK_COLOR                 0x0002
-#define LBB_MIX_MODE                   0x0004
-#define LBB_BACK_MIX_MODE              0x0008
-#define LBB_WIDTH                      0x0010
-#define LBB_GEOM_WIDTH                 0x0020
-#define LBB_TYPE                       0x0040
-#define LBB_END                                0x0080
-#define LBB_JOIN                       0x0100
-
-#define CBB_COLOR                      0x0001
-#define CBB_BACK_COLOR                 0x0002
-#define CBB_MIX_MODE                   0x0004
-#define CBB_BACK_MIX_MODE              0x0008
-#define CBB_SET                                0x0010
-#define CBB_MODE                       0x0020
-#define CBB_BOX                                0x0040
-#define CBB_ANGLE                      0x0080
-#define CBB_SHEAR                      0x0100
-#define CBB_DIRECTION                  0x0200
-#define CBB_TEXT_ALIGN                 0x0400
-#define CBB_EXTRA                      0x0800
-#define CBB_BREAK_EXTRA                        0x1000
-
-#define MBB_COLOR                      0x0001
-#define MBB_BACK_COLOR                 0x0002
-#define MBB_MIX_MODE                   0x0004
-#define MBB_BACK_MIX_MODE              0x0008
-#define MBB_SET                                0x0010
-#define MBB_SYMBOL                     0x0020
-#define MBB_BOX                                0x0040
-
-#define ABB_COLOR                      0x0001
-#define ABB_BACK_COLOR                 0x0002
-#define ABB_MIX_MODE                   0x0004
-#define ABB_BACK_MIX_MODE              0x0008
-#define ABB_SET                                0x0010
-#define ABB_SYMBOL                     0x0020
-#define ABB_REF_POINT                  0x0040
-
-#define IBB_COLOR                      0x0001
-#define IBB_BACK_COLOR                 0x0002
-#define IBB_MIX_MODE                   0x0004
-#define IBB_BACK_MIX_MODE              0x0008
-
-
-typedef PVOID PBUNDLE;
-
-typedef LONG FIXED;
-typedef FIXED *PFIXED;
-
-typedef LHANDLE HMF;
-typedef HMF *PHMF;
-
-
-typedef struct _SIZEL
-{
-  LONG cx;
-  LONG cy;
-} SIZEL;
-typedef SIZEL *PSIZEL;
-
-typedef struct _RGNRECT
-{
-  ULONG ircStart;
-  ULONG crc;
-  ULONG crcReturned;
-  ULONG ulDirection;
-} RGNRECT;
-typedef RGNRECT *PRGNRECT;
-
-typedef struct _MATRIXLF
-{
-  FIXED fxM11;
-  FIXED fxM12;
-  LONG lM13;
-  FIXED fxM21;
-  FIXED fxM22;
-  LONG lM23;
-  LONG lM31;
-  LONG lM32;
-  LONG lM33;
-} MATRIXLF;
-typedef MATRIXLF *PMATRIXLF;
-
-typedef struct _ARCPARAMS
-{
-  LONG lP;
-  LONG lQ;
-  LONG lR;
-  LONG lS;
-} ARCPARAMS;
-typedef ARCPARAMS *PARCPARAMS;
-
-typedef struct _SIZEF
-{
-  FIXED cx;
-  FIXED cy;
-} SIZEF;
-typedef SIZEF *PSIZEF;
-
-typedef struct _POLYGON
-{
-  ULONG          ulPoints;
-  PPOINTL aPointl;
-} POLYGON;
-typedef POLYGON *PPOLYGON;
-
-typedef struct _POLYSET
-{
-  ULONG          ulPolys;
-  POLYGON aPolygon[1];
-} POLYSET;
-typedef POLYSET *PPOLYSET;
-
-typedef struct _GRADIENTL
-{
-  LONG x;
-  LONG y;
-} GRADIENTL;
-typedef GRADIENTL *PGRADIENTL;
-
-typedef struct _KERNINGPAIRS
-{
-  SHORT sFirstChar;
-  SHORT sSecondChar;
-  LONG lKerningAmount;
-} KERNINGPAIRS;
-typedef KERNINGPAIRS *PKERNINGPAIRS;
-
-typedef struct _FACENAMEDESC
-{
-  USHORT usSize;
-  USHORT usWeightClass;
-  USHORT usWidthClass;
-  USHORT usReserved;
-  ULONG         flOptions;
-} FACENAMEDESC;
-typedef FACENAMEDESC *PFACENAMEDESC;
-
-typedef CHAR FFDESCS[2][FACESIZE];
-typedef FFDESCS *PFFDESCS;
-
-typedef struct _FFDESCS2
-{
-  ULONG cbLength;
-  ULONG cbFacenameOffset;
-  BYTE abFamilyName[1];
-} FFDESCS2;
-typedef FFDESCS2 *PFFDESCS2;
-
-
-typedef struct _LINEBUNDLE
-{
-  LONG  lColor;
-  LONG  lBackColor;
-  USHORT usMixMode;
-  USHORT usBackMixMode;
-  FIXED         fxWidth;
-  LONG  lGeomWidth;
-  USHORT usType;
-  USHORT usEnd;
-  USHORT usJoin;
-  USHORT usReserved;
-} LINEBUNDLE;
-typedef LINEBUNDLE *PLINEBUNDLE;
-
-typedef struct _CHARBUNDLE
-{
-  LONG  lColor;
-  LONG  lBackColor;
-  USHORT usMixMode;
-  USHORT usBackMixMode;
-  USHORT usSet;
-  USHORT usPrecision;
-  SIZEF         sizfxCell;
-  POINTL ptlAngle;
-  POINTL ptlShear;
-  USHORT usDirection;
-  USHORT usTextAlign;
-  FIXED         fxExtra;
-  FIXED         fxBreakExtra;
-} CHARBUNDLE;
-typedef CHARBUNDLE *PCHARBUNDLE;
-
-typedef struct _MARKERBUNDLE
-{
-  LONG  lColor;
-  LONG  lBackColor;
-  USHORT usMixMode;
-  USHORT usBackMixMode;
-  USHORT usSet;
-  USHORT usSymbol;
-  SIZEF         sizfxCell;
-} MARKERBUNDLE;
-typedef MARKERBUNDLE *PMARKERBUNDLE;
-
-typedef struct _AREABUNDLE
-{
-  LONG  lColor;
-  LONG  lBackColor;
-  USHORT usMixMode;
-  USHORT usBackMixMode;
-  USHORT usSet;
-  USHORT usSymbol;
-  POINTL ptlRefPoint;
-} AREABUNDLE;
-typedef AREABUNDLE *PAREABUNDLE;
-
-typedef struct _IMAGEBUNDLE
-{
-  LONG  lColor;
-  LONG  lBackColor;
-  USHORT usMixMode;
-  USHORT usBackMixMode;
-} IMAGEBUNDLE;
-typedef IMAGEBUNDLE *PIMAGEBUNDLE;
-
-
-#define MAKEFIXED(i,f) MAKELONG(f,i)
-#define FIXEDFRAC(fx)  (LOUSHORT(fx))
-#define FIXEDINT(fx)   ((SHORT)HIUSHORT(fx))
-
-
-LONG GpiAnimatePalette (HPAL hpal, ULONG ulFormat, ULONG ulStart,
-    ULONG ulCount, __const__ ULONG *aulTable);
-BOOL GpiBeginArea (HPS hps, ULONG flOptions);
-BOOL GpiBeginElement (HPS hps, LONG lType, PCSZ pszDesc);
-BOOL GpiBeginPath (HPS hps, LONG lPath);
-LONG GpiBox (HPS hps, LONG lControl, __const__ POINTL *pptlPoint, LONG lHRound,
-    LONG lVRound);
-LONG GpiCallSegmentMatrix (HPS hps, LONG lSegment, LONG lCount,
-    __const__ MATRIXLF *pmatlfArray, LONG lOptions);
-LONG GpiCharString (HPS hps, LONG lCount, PCCH pchString);
-LONG GpiCharStringAt (HPS hps, __const__ POINTL *pptlPoint, LONG lCount,
-     PCCH pchString);
-LONG GpiCharStringPos (HPS hps, __const__ RECTL *prclRect, ULONG flOptions,
-    LONG lCount, PCCH pchString, __const__ LONG *alAdx);
-LONG  GpiCharStringPosAt (HPS hps, __const__ POINTL *pptlStart,
-    __const__ RECTL *prclRect, ULONG flOptions, LONG lCount, PCCH pchString,
-    __const__ LONG *alAdx);
-BOOL GpiCloseFigure (HPS hps);
-LONG GpiCombineRegion (HPS hps, HRGN hrgnDest, HRGN hrgnSrc1, HRGN hrgnSrc2,
-    LONG lMode);
-BOOL GpiComment (HPS hps, LONG lLength, __const__ BYTE *pbData);
-BOOL GpiConvert (HPS hps, LONG lSrc, LONG lTarg, LONG lCount,
-    PPOINTL aptlPoints);
-BOOL GpiConvertWithMatrix (HPS hps, LONG lCountp, PPOINTL aptlPoints,
-    LONG lCount, __const__ MATRIXLF *pmatlfArray);
-HMF GpiCopyMetaFile (HMF hmf);
-BOOL GpiCreateLogColorTable (HPS hps, ULONG flOptions, LONG lFormat,
-    LONG lStart, LONG lCount, __const__ LONG *alTable);
-LONG GpiCreateLogFont (HPS hps, __const__ STR8 *pName, LONG lLcid,
-    __const__ FATTRS *pfatAttrs);
-HPAL GpiCreatePalette (HAB hab, ULONG flOptions, ULONG ulFormat,
-    ULONG ulCount, __const__ ULONG *aulTable);
-HRGN GpiCreateRegion (HPS hps, LONG lCount, __const__ RECTL *arclRectangles);
-BOOL GpiDeleteElement (HPS hps);
-BOOL GpiDeleteElementRange (HPS hps, LONG lFirstElement, LONG lLastElement);
-BOOL GpiDeleteElementsBetweenLabels (HPS hps, LONG lFirstLabel,
-    LONG lLastLabel);
-BOOL GpiDeleteMetaFile (HMF hmf);
-BOOL GpiDeletePalette (HPAL hpal);
-BOOL GpiDeleteSetId (HPS hps, LONG lLcid);
-BOOL GpiDestroyRegion (HPS hps, HRGN hrgn);
-LONG GpiElement (HPS hps, LONG lType, PCSZ pszDesc, LONG lLength,
-    __const__ BYTE *pbData);
-LONG GpiEndArea (HPS hps);
-BOOL GpiEndElement (HPS hps);
-BOOL GpiEndPath (HPS hps);
-LONG GpiEqualRegion (HPS hps, HRGN hrgnSrc1, HRGN hrgnSrc2);
-LONG GpiExcludeClipRectangle (HPS hps, __const__ RECTL *prclRectangle);
-LONG GpiFillPath (HPS hps, LONG lPath, LONG lOptions);
-LONG GpiFrameRegion (HPS hps, HRGN hrgn, __const__ SIZEL *thickness);
-LONG GpiFullArc (HPS hps, LONG lControl, FIXED fxMultiplier);
-LONG GpiImage (HPS hps, LONG lFormat, __const__ SIZEL *psizlImageSize,
-    LONG lLength, __const__ BYTE *pbData);
-LONG GpiIntersectClipRectangle (HPS hps, __const__ RECTL *prclRectangle);
-BOOL GpiLabel (HPS hps, LONG lLabel);
-LONG GpiLine (HPS hps, __const__ POINTL *pptlEndPoint);
-BOOL GpiLoadFonts (HAB hab, PCSZ pszFilename);
-HMF GpiLoadMetaFile (HAB hab, PCSZ pszFilename);
-BOOL GpiLoadPublicFonts (HAB hab, PCSZ pszFileName);
-LONG GpiMarker (HPS hps, __const__ POINTL *pptlPoint);
-BOOL GpiModifyPath (HPS hps, LONG lPath, LONG lMode);
-BOOL GpiMove (HPS hps, __const__ POINTL *pptlPoint);
-LONG GpiOffsetClipRegion (HPS hps, __const__ POINTL *pptlPoint);
-BOOL GpiOffsetElementPointer (HPS hps, LONG loffset);
-BOOL GpiOffsetRegion (HPS hps, HRGN Hrgn, __const__ POINTL *pptlOffset);
-LONG GpiOutlinePath (HPS hps, LONG lPath, LONG lOptions);
-LONG GpiPaintRegion (HPS hps, HRGN hrgn);
-LONG GpiPartialArc (HPS hps, __const__ POINTL *pptlCenter, FIXED fxMultiplier,
-    FIXED fxStartAngle, FIXED fxSweepAngle);
-HRGN GpiPathToRegion (HPS GpiH, LONG lPath, LONG lOptions);
-LONG GpiPlayMetaFile (HPS hps, HMF hmf, LONG lCount1,
-    __const__ LONG *alOptarray, PLONG plSegCount, LONG lCount2, PSZ pszDesc);
-LONG GpiPointArc (HPS hps, __const__ POINTL *pptl2);
-LONG GpiPolyFillet (HPS hps, LONG lCount, __const__ POINTL *aptlPoints);
-LONG GpiPolyFilletSharp (HPS hps, LONG lCount, __const__ POINTL *aptlPoints,
-    __const__ FIXED *afxPoints);
-LONG GpiPolygons (HPS hps, ULONG ulCount, __const__ POLYGON *paplgn,
-    ULONG flOptions, ULONG flModel);
-LONG GpiPolyLine (HPS hps, LONG lCount, __const__ POINTL *aptlPoints);
-LONG GpiPolyLineDisjoint (HPS hps, LONG lCount, __const__ POINTL *aptlPoints);
-LONG GpiPolyMarker (HPS hps, LONG lCount, __const__ POINTL *aptlPoints);
-LONG GpiPolySpline (HPS hps, LONG lCount, __const__ POINTL *aptlPoints);
-BOOL GpiPop (HPS hps, LONG lCount);
-LONG GpiPtInRegion (HPS hps, HRGN hrgn, __const__ POINTL *pptlPoint);
-LONG GpiPtVisible (HPS hps, __const__ POINTL *pptlPoint);
-BOOL GpiQueryArcParams (HPS hps, PARCPARAMS parcpArcParams);
-LONG GpiQueryAttrMode (HPS hps);
-LONG GpiQueryAttrs (HPS hps, LONG lPrimType, ULONG flAttrMask,
-    PBUNDLE ppbunAttrs);
-LONG GpiQueryBackColor (HPS hps);
-LONG GpiQueryBackMix (HPS hps);
-BOOL GpiQueryCharAngle (HPS hps, PGRADIENTL pgradlAngle);
-BOOL GpiQueryCharBox (HPS hps, PSIZEF psizfxSize);
-BOOL GpiQueryCharBreakExtra (HPS hps, PFIXED BreakExtra);
-LONG GpiQueryCharDirection (HPS hps);
-BOOL GpiQueryCharExtra (HPS hps, PFIXED Extra);
-LONG GpiQueryCharMode (HPS hps);
-LONG GpiQueryCharSet (HPS hps);
-BOOL GpiQueryCharShear (HPS hps, PPOINTL pptlShear);
-BOOL GpiQueryCharStringPos (HPS hps, ULONG flOptions, LONG lCount,
-    PCCH pchString, PLONG alXincrements, PPOINTL aptlPositions);
-BOOL GpiQueryCharStringPosAt (HPS hps, PPOINTL pptlStart, ULONG flOptions,
-    LONG lCount, PCCH pchString, PLONG alXincrements, PPOINTL aptlPositions);
-LONG GpiQueryClipBox (HPS hps, PRECTL prclBound);
-HRGN GpiQueryClipRegion (HPS hps);
-LONG GpiQueryColor (HPS hps);
-BOOL GpiQueryColorData (HPS hps, LONG lCount, PLONG alArray);
-LONG GpiQueryColorIndex (HPS hps, ULONG flOptions, LONG lRgbColor);
-ULONG GpiQueryCp (HPS hps);
-BOOL GpiQueryCurrentPosition (HPS hps, PPOINTL pptlPoint);
-BOOL GpiQueryDefArcParams (HPS hps, PARCPARAMS parcpArcParams);
-BOOL GpiQueryDefAttrs (HPS hps, LONG lPrimType, ULONG flAttrMask,
-    PBUNDLE ppbunAttrs);
-BOOL GpiQueryDefCharBox (HPS hps, PSIZEL psizlSize);
-BOOL GpiQueryDefTag (HPS hps, PLONG plTag);
-BOOL GpiQueryDefViewingLimits (HPS hps, PRECTL prclLimits);
-BOOL GpiQueryDefaultViewMatrix (HPS hps, LONG lCount, PMATRIXLF pmatlfArray);
-LONG GpiQueryEditMode (HPS hps);
-LONG GpiQueryElement (HPS hps, LONG lOff, LONG lMaxLength, PBYTE pbData);
-LONG GpiQueryElementPointer (HPS hps);
-LONG GpiQueryElementType (HPS hps, PLONG plType, LONG lLength, PSZ pszData);
-ULONG GpiQueryFaceString (HPS PS, PCSZ FamilyName, PFACENAMEDESC attrs,
-    LONG length, PSZ CompoundFaceName);
-ULONG GpiQueryFontAction (HAB anchor, ULONG options);
-LONG GpiQueryFontFileDescriptions (HAB hab, PCSZ pszFilename, PLONG plCount,
-    PFFDESCS affdescsNames);
-BOOL GpiQueryFontMetrics (HPS hps, LONG lMetricsLength,
-    PFONTMETRICS pfmMetrics);
-LONG GpiQueryFonts (HPS hps, ULONG flOptions, PCSZ pszFacename,
-    PLONG plReqFonts, LONG lMetricsLength, PFONTMETRICS afmMetrics);
-LONG GpiQueryFullFontFileDescs (HAB hab, PCSZ pszFilename, PLONG plCount,
-    PVOID pNames, PLONG plNamesBuffLength);
-BOOL GpiQueryGraphicsField (HPS hps, PRECTL prclField);
-LONG GpiQueryKerningPairs (HPS hps, LONG lCount, PKERNINGPAIRS akrnprData);
-LONG GpiQueryLineEnd (HPS hps);
-LONG GpiQueryLineJoin (HPS hps);
-LONG GpiQueryLineType (HPS hps);
-FIXED GpiQueryLineWidth (HPS hps);
-LONG GpiQueryLineWidthGeom (HPS hps);
-LONG GpiQueryLogColorTable (HPS hps, ULONG flOptions, LONG lStart, LONG lCount,
-    PLONG alArray);
-BOOL GpiQueryLogicalFont (HPS PS, LONG lcid, PSTR8 name, PFATTRS attrs,
-    LONG length);
-LONG GpiQueryMarker (HPS hps);
-BOOL GpiQueryMarkerBox (HPS hps, PSIZEF psizfxSize);
-LONG GpiQueryMarkerSet (HPS hps);
-BOOL GpiQueryMetaFileBits (HMF hmf, LONG lOffset, LONG lLength, PBYTE pbData);
-LONG GpiQueryMetaFileLength (HMF hmf);
-LONG GpiQueryMix (HPS hps);
-BOOL GpiQueryModelTransformMatrix (HPS hps, LONG lCount,
-    PMATRIXLF pmatlfArray);
-LONG GpiQueryNearestColor (HPS hps, ULONG flOptions, LONG lRgbIn);
-LONG GpiQueryNumberSetIds (HPS hps);
-BOOL GpiQueryPageViewport (HPS hps, PRECTL prclViewport);
-HPAL GpiQueryPalette (HPS hps);
-LONG GpiQueryPaletteInfo (HPAL hpal, HPS  hps, ULONG flOptions,
-    ULONG ulStart, ULONG ulCount, PULONG aulArray);
-LONG GpiQueryPattern (HPS hps);
-BOOL GpiQueryPatternRefPoint (HPS hps, PPOINTL pptlRefPoint);
-LONG GpiQueryPatternSet (HPS hps);
-LONG GpiQueryRealColors (HPS hps, ULONG flOptions, LONG lStart, LONG lCount,
-    PLONG alColors);
-LONG GpiQueryRegionBox (HPS hps, HRGN hrgn, PRECTL prclBound);
-BOOL GpiQueryRegionRects (HPS hps, HRGN hrgn, PRECTL prclBound,
-    PRGNRECT prgnrcControl, PRECTL prclRect);
-LONG GpiQueryRGBColor (HPS hps, ULONG flOptions, LONG lColorIndex);
-BOOL GpiQuerySegmentTransformMatrix (HPS hps, LONG lSegid, LONG lCount,
-    PMATRIXLF pmatlfArray);
-BOOL GpiQuerySetIds (HPS hps, LONG lCount, PLONG alTypes, PSTR8 aNames,
-    PLONG allcids);
-BOOL GpiQueryTextAlignment (HPS hps, PLONG plHoriz, PLONG plVert);
-BOOL GpiQueryTextBox (HPS hps, LONG lCount1, PCH pchString, LONG lCount2,
-    PPOINTL aptlPoints);
-BOOL GpiQueryViewingLimits (HPS hps, PRECTL prclLimits);
-BOOL GpiQueryViewingTransformMatrix (HPS hps, LONG lCount,
-    PMATRIXLF pmatlfArray);
-BOOL GpiQueryWidthTable (HPS hps, LONG lFirstChar, LONG lCount, PLONG alData);
-LONG GpiRectInRegion (HPS hps, HRGN hrgn, __const__ RECTL *prclRect);
-LONG GpiRectVisible (HPS hps, __const__ RECTL *prclRectangle);
-BOOL GpiRotate (HPS hps, PMATRIXLF pmatlfArray, LONG lOptions, FIXED fxAngle,
-    __const__ POINTL *pptlCenter);
-BOOL GpiSaveMetaFile (HMF hmf, PCSZ pszFilename);
-BOOL GpiScale (HPS hps, PMATRIXLF pmfatlfArray, LONG lOptions,
-    __const__ FIXED *afxScale, __const__ POINTL *pptlCenter);
-HPAL GpiSelectPalette (HPS hps, HPAL hpal);
-BOOL GpiSetArcParams (HPS hps, __const__ ARCPARAMS *parcpArcParams);
-BOOL GpiSetAttrMode (HPS hps, LONG lMode);
-BOOL GpiSetAttrs (HPS hps, LONG lPrimType, ULONG flAttrMask, ULONG flDefMask,
-    __const__ VOID *ppbunAttrs);
-BOOL GpiSetBackColor (HPS hps, LONG lColor);
-BOOL GpiSetBackMix (HPS hps, LONG lMixMode);
-BOOL GpiSetCharAngle (HPS hps, __const__ GRADIENTL *pgradlAngle);
-BOOL GpiSetCharBox (HPS hps, __const__ SIZEF *psizfxBox);
-BOOL GpiSetCharBreakExtra (HPS hps, FIXED BreakExtra);
-BOOL GpiSetCharDirection (HPS hps, LONG lDirection);
-BOOL GpiSetCharExtra (HPS hps, FIXED  Extra);
-BOOL GpiSetCharMode (HPS hps, LONG lMode);
-BOOL GpiSetCharSet (HPS hps, LONG llcid);
-BOOL GpiSetCharShear (HPS hps, __const__ POINTL *pptlAngle);
-BOOL GpiSetClipPath (HPS hps, LONG lPath, LONG lOptions);
-LONG GpiSetClipRegion (HPS hps, HRGN hrgn, PHRGN phrgnOld);
-BOOL GpiSetColor (HPS hps, LONG lColor);
-BOOL GpiSetCp (HPS hps, ULONG ulCodePage);
-BOOL GpiSetCurrentPosition (HPS hps, __const__ POINTL *pptlPoint);
-BOOL GpiSetDefArcParams (HPS hps, __const__ ARCPARAMS *parcpArcParams);
-BOOL GpiSetDefAttrs (HPS hps, LONG lPrimType, ULONG flAttrMask,
-    __const__ VOID *ppbunAttrs);
-BOOL GpiSetDefaultViewMatrix (HPS hps, LONG lCount,
-    __const__ MATRIXLF *pmatlfarray, LONG lOptions);
-BOOL GpiSetDefTag (HPS hps, LONG lTag);
-BOOL GpiSetDefViewingLimits (HPS hps, __const__ RECTL *prclLimits);
-BOOL GpiSetEditMode (HPS hps, LONG lMode);
-BOOL GpiSetElementPointer (HPS hps, LONG lElement);
-BOOL GpiSetElementPointerAtLabel (HPS hps, LONG lLabel);
-BOOL GpiSetGraphicsField (HPS hps, __const__ RECTL *prclField);
-BOOL GpiSetLineEnd (HPS hps, LONG lLineEnd);
-BOOL GpiSetLineJoin (HPS hps, LONG lLineJoin);
-BOOL GpiSetLineType (HPS hps, LONG lLineType);
-BOOL GpiSetLineWidth (HPS hps, FIXED fxLineWidth);
-BOOL GpiSetLineWidthGeom (HPS hps, LONG lLineWidth);
-BOOL GpiSetMarker (HPS hps, LONG lSymbol);
-BOOL GpiSetMarkerBox (HPS hps, __const__ SIZEF *psizfxSize);
-BOOL GpiSetMarkerSet (HPS hps, LONG lSet);
-BOOL GpiSetMetaFileBits (HMF hmf, LONG lOffset, LONG lLength,
-    __const__ BYTE *pbBuffer);
-BOOL GpiSetMix (HPS hps, LONG lMixMode);
-BOOL GpiSetModelTransformMatrix (HPS hps, LONG lCount,
-    __const__ MATRIXLF *pmatlfArray, LONG lOptions);
-BOOL GpiSetPageViewport (HPS hps, __const__ RECTL *prclViewport);
-BOOL GpiSetPaletteEntries (HPAL hpal, ULONG ulFormat, ULONG ulStart,
-    ULONG ulCount, __const__ ULONG *aulTable);
-BOOL GpiSetPattern (HPS hps, LONG lPatternSymbol);
-BOOL GpiSetPatternRefPoint (HPS hps, __const__ POINTL *pptlRefPoint);
-BOOL GpiSetPatternSet (HPS hps, LONG lSet);
-BOOL GpiSetRegion (HPS hps, HRGN hrgn, LONG lcount,
-    __const__ RECTL *arclRectangles);
-BOOL GpiSetSegmentTransformMatrix (HPS hps, LONG lSegid, LONG lCount,
-    __const__ MATRIXLF *pmatlfarray, LONG lOptions);
-BOOL GpiSetTextAlignment (HPS hps, LONG lHoriz, LONG lVert);
-BOOL GpiSetViewingLimits (HPS hps, __const__ RECTL *prclLimits);
-BOOL GpiSetViewingTransformMatrix (HPS hps, LONG lCount,
-    __const__ MATRIXLF *pmatlfArray, LONG lOptions);
-LONG GpiStrokePath (HPS hps, LONG lPath, ULONG flOptions);
-BOOL GpiTranslate (HPS hps, PMATRIXLF pmatlfArray, LONG lOptions,
-    __const__ POINTL *pptlTranslation);
-BOOL GpiUnloadFonts (HAB hab, PCSZ pszFilename);
-BOOL GpiUnloadPublicFonts (HAB hab, PCSZ pszFilename);
-
-
-#if defined (INCL_GPIBITMAPS) || !defined (INCL_NOCOMMON)
-
-#define ROP_SRCCOPY                    0x00cc
-#define ROP_SRCPAINT                   0x00ee
-#define ROP_SRCAND                     0x0088
-#define ROP_SRCINVERT                  0x0066
-#define ROP_SRCERASE                   0x0044
-#define ROP_NOTSRCCOPY                 0x0033
-#define ROP_NOTSRCERASE                        0x0011
-#define ROP_MERGECOPY                  0x00c0
-#define ROP_MERGEPAINT                 0x00bb
-#define ROP_PATCOPY                    0x00f0
-#define ROP_PATPAINT                   0x00fb
-#define ROP_PATINVERT                  0x005a
-#define ROP_DSTINVERT                  0x0055
-#define ROP_ZERO                       0x0000
-#define ROP_ONE                                0x00ff
-
-#define BBO_OR                         0
-#define BBO_AND                                1
-#define BBO_IGNORE                     2
-#define BBO_PAL_COLORS                 4
-#define BBO_NO_COLOR_INFO              8
-
-#define FF_BOUNDARY                    0
-#define FF_SURFACE                     1
-
-#define HBM_ERROR                      ((HBITMAP)(-1))
-
-
-LONG GpiBitBlt (HPS hpsTarget, HPS hpsSource, LONG lCount,
-    __const__ POINTL *aptlPoints, LONG lRop, ULONG flOptions);
-BOOL GpiDeleteBitmap (HBITMAP hbm);
-HBITMAP GpiLoadBitmap (HPS hps, HMODULE Resource, ULONG idBitmap,
-    LONG lWidth, LONG lHeight);
-HBITMAP GpiSetBitmap (HPS hps, HBITMAP hbm);
-LONG GpiWCBitBlt (HPS hpsTarget, HBITMAP hbmSource, LONG lCount,
-    __const__ POINTL *aptlPoints, LONG lRop, ULONG flOptions);
-
-#endif /* INCL_GPIBITMAPS */
-
-
-#if defined (INCL_GPIBITMAPS)
-
-#define BFT_ICON                       0x4349
-#define BFT_BMAP                       0x4d42
-#define BFT_POINTER                    0x5450
-#define BFT_COLORICON                  0x4943
-#define BFT_COLORPOINTER               0x5043
-#define BFT_BITMAPARRAY                        0x4142
-
-#define CBD_BITS                       0
-#define CBD_COMPRESSION                        1
-#define CBD_DECOMPRESSION              2
-
-#define CBD_COLOR_CONVERSION           0x0001
-
-#define CBM_INIT                       0x0004
-
-#define BCA_UNCOMP                     0
-#define BCA_RLE8                       1
-#define BCA_RLE4                       2
-#define BCA_HUFFMAN1D                  3
-#define BCA_RLE24                      4
-
-#define BMB_ERROR                      (-1)
-
-#define BRU_METRIC                     0
-
-#define BRA_BOTTOMUP                   0
-
-#define BRH_NOTHALFTONED               0
-#define BRH_ERRORDIFFUSION             1
-#define BRH_PANDA                      2
-#define BRH_SUPERCIRCLE                        3
-
-#define BCE_PALETTE                    (-1)
-#define BCE_RGB                                0
-
-
-typedef struct _RGB
-{
-  BYTE bBlue;
-  BYTE bGreen;
-  BYTE bRed;
-} RGB;
-
-typedef struct _RGB2
-{
-  BYTE bBlue;
-  BYTE bGreen;
-  BYTE bRed;
-  BYTE fcOptions;
-} RGB2;
-typedef RGB2 *PRGB2;
-
-typedef struct _BITMAPINFOHEADER
-{
-  ULONG         cbFix;
-  USHORT cx;
-  USHORT cy;
-  USHORT cPlanes;
-  USHORT cBitCount;
-} BITMAPINFOHEADER;
-typedef BITMAPINFOHEADER *PBITMAPINFOHEADER;
-
-typedef struct _BITMAPINFO
-{
-  ULONG         cbFix;
-  USHORT cx;
-  USHORT cy;
-  USHORT cPlanes;
-  USHORT cBitCount;
-  RGB   argbColor[1];
-} BITMAPINFO;
-typedef BITMAPINFO *PBITMAPINFO;
-
-typedef struct _BITMAPINFO2
-{
-  ULONG         cbFix;
-  ULONG         cx;
-  ULONG         cy;
-  USHORT cPlanes;
-  USHORT cBitCount;
-  ULONG         ulCompression;
-  ULONG         cbImage;
-  ULONG         cxResolution;
-  ULONG         cyResolution;
-  ULONG         cclrUsed;
-  ULONG         cclrImportant;
-  USHORT usUnits;
-  USHORT usReserved;
-  USHORT usRecording;
-  USHORT usRendering;
-  ULONG         cSize1;
-  ULONG         cSize2;
-  ULONG         ulColorEncoding;
-  ULONG         ulIdentifier;
-  RGB2  argbColor[1];
-} BITMAPINFO2;
-typedef BITMAPINFO2 *PBITMAPINFO2;
-
-typedef struct _BITMAPINFOHEADER2
-{
-  ULONG         cbFix;
-  ULONG         cx;
-  ULONG         cy;
-  USHORT cPlanes;
-  USHORT cBitCount;
-  ULONG         ulCompression;
-  ULONG         cbImage;
-  ULONG         cxResolution;
-  ULONG         cyResolution;
-  ULONG         cclrUsed;
-  ULONG         cclrImportant;
-  USHORT usUnits;
-  USHORT usReserved;
-  USHORT usRecording;
-  USHORT usRendering;
-  ULONG         cSize1;
-  ULONG         cSize2;
-  ULONG         ulColorEncoding;
-  ULONG         ulIdentifier;
-} BITMAPINFOHEADER2;
-typedef BITMAPINFOHEADER2 *PBITMAPINFOHEADER2;
-
-typedef struct _BITMAPFILEHEADER
-{
-  USHORT          usType;
-  ULONG                   cbSize;
-  SHORT                   xHotspot;
-  SHORT                   yHotspot;
-  ULONG                   offBits;
-  BITMAPINFOHEADER bmp;
-} BITMAPFILEHEADER;
-typedef BITMAPFILEHEADER *PBITMAPFILEHEADER;
-
-typedef struct _BITMAPARRAYFILEHEADER
-{
-  USHORT          usType;
-  ULONG                   cbSize;
-  ULONG                   offNext;
-  USHORT          cxDisplay;
-  USHORT          cyDisplay;
-  BITMAPFILEHEADER bfh;
-} BITMAPARRAYFILEHEADER;
-typedef BITMAPARRAYFILEHEADER *PBITMAPARRAYFILEHEADER;
-
-typedef struct _BITMAPFILEHEADER2
-{
-  USHORT           usType;
-  ULONG                    cbSize;
-  SHORT                    xHotspot;
-  SHORT                    yHotspot;
-  ULONG                    offBits;
-  BITMAPINFOHEADER2 bmp2;
-} BITMAPFILEHEADER2;
-typedef BITMAPFILEHEADER2 *PBITMAPFILEHEADER2;
-
-typedef struct _BITMAPARRAYFILEHEADER2
-{
-  USHORT           usType;
-  ULONG                    cbSize;
-  ULONG                    offNext;
-  USHORT           cxDisplay;
-  USHORT           cyDisplay;
-  BITMAPFILEHEADER2 bfh2;
-} BITMAPARRAYFILEHEADER2;
-typedef BITMAPARRAYFILEHEADER2 *PBITMAPARRAYFILEHEADER2;
-
-
-HBITMAP GpiCreateBitmap (HPS hps, __const__ BITMAPINFOHEADER2 *pbmpNew,
-    ULONG flOptions, __const__ BYTE *pbInitData,
-    __const__ BITMAPINFO2 *pbmiInfoTable);
-LONG GpiDrawBits (HPS hps, __const__ VOID *pBits,
-    __const__ BITMAPINFO2 *pbmiInfoTable, LONG lCount,
-    __const__ POINTL *aptlPoints, LONG lRop, ULONG flOptions);
-LONG GpiFloodFill (HPS hps, LONG lOptions, LONG lColor);
-LONG GpiQueryBitmapBits (HPS hps, LONG lScanStart, LONG lScans, PBYTE pbBuffer,
-    PBITMAPINFO2 pbmiInfoTable);
-BOOL GpiQueryBitmapDimension (HBITMAP hbm, PSIZEL psizlBitmapDimension);
-HBITMAP GpiQueryBitmapHandle (HPS hps, LONG lLcid);
-BOOL GpiQueryBitmapInfoHeader (HBITMAP hbm, PBITMAPINFOHEADER2 pbmpData);
-BOOL GpiQueryBitmapParameters (HBITMAP hbm, PBITMAPINFOHEADER pbmpData);
-BOOL GpiQueryDeviceBitmapFormats (HPS hps, LONG lCount, PLONG alArray);
-LONG  GpiSetBitmapBits (HPS hps, LONG lScanStart, LONG lScans,
-    __const__ BYTE *pbBuffer, __const__ BITMAPINFO2 *pbmiInfoTable);
-LONG GpiQueryPel (HPS hps, PPOINTL pptlPoint);
-BOOL GpiSetBitmapDimension (HBITMAP hbm,
-    __const__ SIZEL *psizlBitmapDimension);
-BOOL GpiSetBitmapId (HPS hps, HBITMAP hbm, LONG lLcid);
-LONG GpiSetPel (HPS hps, __const__ POINTL *pptlPoint);
-
-
-#endif /* INCL_GPIBITMAPS */
-
-
-#if defined (INCL_GPICONTROL) || !defined (INCL_NOCOMMON)
-
-#define GPIA_NOASSOC                   0x0000
-#define GPIA_ASSOC                     0x4000
-
-#define GPIF_DEFAULT                   0x0000
-#define GPIF_SHORT                     0x0100
-#define GPIF_LONG                      0x0200
-
-#define GPIM_AREAEXCL                  0x8000
-
-#define GPIT_NORMAL                    0x0000
-#define GPIT_MICRO                     0x1000
-#define GPIT_INK                       0x2000
-
-#define HDC_ERROR                      ((HDC)(-1))
-
-#define PU_ARBITRARY                   0x0004
-#define PU_PELS                                0x0008
-#define PU_LOMETRIC                    0x000c
-#define PU_HIMETRIC                    0x0010
-#define PU_LOENGLISH                   0x0014
-#define PU_HIENGLISH                   0x0018
-#define PU_TWIPS                       0x001c
-
-
-BOOL GpiAssociate (HPS hps, HDC hdc);
-HPS GpiCreatePS (HAB hab, HDC hdc, PSIZEL psizlSize, ULONG flOptions);
-BOOL GpiDestroyPS (HPS hps);
-BOOL GpiErase (HPS hps);
-HDC GpiQueryDevice (HPS hps);
-BOOL GpiRestorePS (HPS hps, LONG lPSid);
-LONG GpiSavePS (HPS hps);
-
-#endif /* INCL_GPICONTROL */
-
-
-#if defined (INCL_GPICONTROL)
-
-#define DCTL_ERASE                     1
-#define DCTL_DISPLAY                   2
-#define DCTL_BOUNDARY                  3
-#define DCTL_DYNAMIC                   4
-#define DCTL_CORRELATE                 5
-
-#define DCTL_ERROR                     (-1)
-#define DCTL_OFF                       0
-#define DCTL_ON                                1
-
-#define DM_ERROR                       0
-#define DM_DRAW                                1
-#define DM_RETAIN                      2
-#define DM_DRAWANDRETAIN               3
-
-#define GPIE_SEGMENT                   0
-#define GPIE_ELEMENT                   1
-#define GPIE_DATA                      2
-
-#define GRES_ATTRS                     0x0001
-#define GRES_SEGMENTS                  0x0002
-#define GRES_ALL                       0x0004
-
-#define PS_UNITS                       0x00fc
-#define PS_FORMAT                      0x0f00
-#define PS_TYPE                                0x1000
-#define PS_MODE                                0x2000
-#define PS_ASSOCIATE                   0x4000
-#define PS_NORESET                     0x8000
-
-#define SDW_ERROR                      (-1)
-#define SDW_OFF                                0
-#define SDW_ON                         1
-
-
-LONG GpiErrorSegmentData (HPS hps, PLONG plSegment, PLONG plContext);
-LONG GpiQueryDrawControl (HPS hps, LONG lControl);
-LONG GpiQueryDrawingMode (HPS hps);
-ULONG GpiQueryPS (HPS hps, PSIZEL psizlSize);
-BOOL GpiResetPS (HPS hps, ULONG flOptions);
-LONG GpiQueryStopDraw (HPS hps);
-BOOL GpiSetDrawControl (HPS hps, LONG lControl, LONG lValue);
-BOOL GpiSetDrawingMode (HPS hps, LONG lMode);
-BOOL GpiSetPS (HPS hps, __const__ SIZEL *psizlsize, ULONG flOptions);
-BOOL GpiSetStopDraw (HPS hps, LONG lValue);
-
-#endif /* INCL_GPICONTROL */
-
-
-#if defined (INCL_GPICORRELATION)
-
-#define GPI_HITS                       2
-
-#define PICKAP_DEFAULT                 0
-#define PICKAP_REC                     2
-
-#define PICKSEL_VISIBLE                        0
-#define PICKSEL_ALL                    1
-
-
-LONG GpiCorrelateChain (HPS hps, LONG lType, __const__ POINTL *pptlPick,
-    LONG lMaxHits, LONG lMaxDepth, PLONG pl2);
-LONG GpiCorrelateFrom (HPS hps, LONG lFirstSegment, LONG lLastSegment,
-    LONG lType, __const__ POINTL *pptlPick, LONG lMaxHits, LONG lMaxDepth,
-    PLONG plSegTag);
-LONG GpiCorrelateSegment (HPS hps, LONG lSegment, LONG lType,
-    __const__ POINTL *pptlPick, LONG lMaxHits, LONG lMaxDepth, PLONG alSegTag);
-BOOL GpiQueryBoundaryData (HPS hps, PRECTL prclBoundary);
-BOOL GpiQueryPickAperturePosition (HPS hps, PPOINTL pptlPoint);
-BOOL GpiQueryPickApertureSize (HPS hps, PSIZEL psizlSize);
-BOOL GpiQueryTag (HPS hps, PLONG plTag);
-BOOL GpiResetBoundaryData (HPS hps);
-BOOL GpiSetPickAperturePosition (HPS hps, __const__ POINTL *pptlPick);
-BOOL GpiSetPickApertureSize (HPS hps, LONG lOptions,
-    __const__ SIZEL *psizlSize);
-BOOL GpiSetTag (HPS hps, LONG lTag);
-
-#endif /* INCL_GPICORRELATION */
-
-
-#if defined (INCL_GPIINK)
-
-#define PPE_KEEPPATH                   0
-#define PPE_ERASEPATH                  1
-
-#define PPS_INKMOVE                    0
-#define PPS_INKDOWN                    1
-#define PPS_INKUP                      2
-
-
-BOOL GpiBeginInkPath (HPS hps, LONG lPath, ULONG flOptions);
-BOOL GpiEndInkPath (HPS hps, ULONG flOptions);
-LONG GpiStrokeInkPath (HPS hps, LONG lPath, LONG lCount,
-    __const__ POINTL *aptlPoints, ULONG flOptions);
-
-#endif /* INCL_GPIINK */
-
-
-#if defined (INCL_GPISEGMENTS)
-
-#define DFORM_NOCONV                   0
-
-#define DFORM_S370SHORT                        1
-#define DFORM_PCSHORT                  2
-#define DFORM_PCLONG                   4
-
-#define ATTR_ERROR                     (-1)
-#define ATTR_DETECTABLE                        1
-#define ATTR_VISIBLE                   2
-#define ATTR_CHAINED                   6
-#define ATTR_DYNAMIC                   8
-#define ATTR_FASTCHAIN                 9
-#define ATTR_PROP_DETECTABLE           10
-#define ATTR_PROP_VISIBLE              11
-
-#define ATTR_OFF                       0
-#define ATTR_ON                                1
-
-#define LOWER_PRI                      (-1)
-#define HIGHER_PRI                     1
-
-
-BOOL GpiCloseSegment (HPS hps);
-BOOL GpiDeleteSegment (HPS hps, LONG lSegid);
-BOOL GpiDeleteSegments (HPS hps, LONG lFirstSegment, LONG lLastSegment);
-BOOL GpiDrawChain (HPS hps);
-BOOL GpiDrawDynamics (HPS hps);
-BOOL GpiDrawFrom (HPS hps, LONG lFirstSegment, LONG lLastSegment);
-BOOL GpiDrawSegment (HPS hps, LONG lSegment);
-LONG GpiGetData (HPS hps, LONG lSegid, PLONG plOffset, LONG lFormat,
-    LONG lLength, PBYTE pbData);
-BOOL GpiOpenSegment (HPS hps, LONG lSegment);
-LONG GpiPutData (HPS hps, LONG lFormat, PLONG plCount, __const__ BYTE *pbData);
-LONG GpiQueryInitialSegmentAttrs (HPS hps, LONG lAttribute);
-LONG GpiQuerySegmentAttrs (HPS hps, LONG lSegid, LONG lAttribute);
-LONG GpiQuerySegmentNames (HPS hps, LONG lFirstSegid, LONG lLastSegid,
-    LONG lMax, PLONG alSegids);
-LONG GpiQuerySegmentPriority (HPS hps, LONG lRefSegid, LONG lOrder);
-BOOL GpiRemoveDynamics (HPS hps, LONG lFirstSegid, LONG lLastSegid);
-BOOL GpiSetInitialSegmentAttrs (HPS hps, LONG lAttribute, LONG lValue);
-BOOL GpiSetSegmentAttrs (HPS hps, LONG lSegid, LONG lAttribute, LONG lValue);
-BOOL GpiSetSegmentPriority (HPS hps, LONG lSegid, LONG lRefSegid, LONG lOrder);
-
-#endif /* INCL_GPISEGMENTS */
-
-
-/* ---------------------- DEVICE CONTEXTS --------------------------------- */
-
-#define DEV_ERROR                      0
-#define DEV_OK                         1
-#define DEV_BAD_PARAMETERS             2
-#define DEV_WARNING                    3
-#define DEV_PROP_BUF_TOO_SMALL         4
-#define DEV_ITEM_BUF_TOO_SMALL         5
-#define DEV_INV_INP_JOBPROPERTIES      6
-
-#define ADDRESS                                0
-#define DRIVER_NAME                    1
-#define DRIVER_DATA                    2
-#define DATA_TYPE                      3
-#define COMMENT                                4
-#define PROC_NAME                      5
-#define PROC_PARAMS                    6
-#define SPL_PARAMS                     7
-#define NETWORK_PARAMS                 8
-
-#define OD_SCREEN                      0
-#define OD_QUEUED                      2
-#define OD_DIRECT                      5
-#define OD_INFO                                6
-#define OD_METAFILE                    7
-#define OD_MEMORY                      8
-#define OD_METAFILE_NOQUERY            9
-
-#define CAPS_FAMILY                    0
-#define CAPS_IO_CAPS                   1
-#define CAPS_TECHNOLOGY                        2
-#define CAPS_DRIVER_VERSION            3
-#define CAPS_WIDTH                     4
-#define CAPS_HEIGHT                    5
-#define CAPS_WIDTH_IN_CHARS            6
-#define CAPS_HEIGHT_IN_CHARS           7
-#define CAPS_HORIZONTAL_RESOLUTION     8
-#define CAPS_VERTICAL_RESOLUTION       9
-#define CAPS_CHAR_WIDTH                        10
-#define CAPS_CHAR_HEIGHT               11
-#define CAPS_SMALL_CHAR_WIDTH          12
-#define CAPS_SMALL_CHAR_HEIGHT         13
-#define CAPS_COLORS                    14
-#define CAPS_COLOR_PLANES              15
-#define CAPS_COLOR_BITCOUNT            16
-#define CAPS_COLOR_TABLE_SUPPORT       17
-#define CAPS_MOUSE_BUTTONS             18
-#define CAPS_FOREGROUND_MIX_SUPPORT    19
-#define CAPS_BACKGROUND_MIX_SUPPORT    20
-#define CAPS_DEVICE_WINDOWING          31
-#define CAPS_ADDITIONAL_GRAPHICS       32
-#define CAPS_VIO_LOADABLE_FONTS                21
-#define CAPS_WINDOW_BYTE_ALIGNMENT     22
-#define CAPS_BITMAP_FORMATS            23
-#define CAPS_RASTER_CAPS               24
-#define CAPS_MARKER_HEIGHT             25
-#define CAPS_MARKER_WIDTH              26
-#define CAPS_DEVICE_FONTS              27
-#define CAPS_GRAPHICS_SUBSET           28
-#define CAPS_GRAPHICS_VERSION          29
-#define CAPS_GRAPHICS_VECTOR_SUBSET    30
-#define CAPS_PHYS_COLORS               33
-#define CAPS_COLOR_INDEX               34
-#define CAPS_GRAPHICS_CHAR_WIDTH       35
-#define CAPS_GRAPHICS_CHAR_HEIGHT      36
-#define CAPS_HORIZONTAL_FONT_RES       37
-#define CAPS_VERTICAL_FONT_RES         38
-#define CAPS_DEVICE_FONT_SIM           39
-#define CAPS_LINEWIDTH_THICK           40
-#define CAPS_DEVICE_POLYSET_POINTS     41
-
-#define CAPS_IO_DUMMY                  1
-#define CAPS_IO_SUPPORTS_OP            2
-#define CAPS_IO_SUPPORTS_IP            3
-#define CAPS_IO_SUPPORTS_IO            4
-
-#define CAPS_TECH_UNKNOWN              0
-#define CAPS_TECH_VECTOR_PLOTTER       1
-#define CAPS_TECH_RASTER_DISPLAY       2
-#define CAPS_TECH_RASTER_PRINTER       3
-#define CAPS_TECH_RASTER_CAMERA                4
-#define CAPS_TECH_POSTSCRIPT           5
-
-#define CAPS_COLTABL_RGB_8             0x0001
-#define CAPS_COLTABL_RGB_8_PLUS                0x0002
-#define CAPS_COLTABL_TRUE_MIX          0x0004
-#define CAPS_COLTABL_REALIZE           0x0008
-
-#define CAPS_FM_OR                     0x0001
-#define CAPS_FM_OVERPAINT              0x0002
-#define CAPS_FM_XOR                    0x0008
-#define CAPS_FM_LEAVEALONE             0x0010
-#define CAPS_FM_AND                    0x0020
-#define CAPS_FM_GENERAL_BOOLEAN                0x0040
-
-#define CAPS_BM_OR                     0x0001
-#define CAPS_BM_OVERPAINT              0x0002
-#define CAPS_BM_XOR                    0x0008
-#define CAPS_BM_LEAVEALONE             0x0010
-#define CAPS_BM_AND                    0x0020
-#define CAPS_BM_GENERAL_BOOLEAN                0x0040
-#define CAPS_BM_SRCTRANSPARENT         0x0080
-#define CAPS_BM_DESTTRANSPARENT                0x0100
-
-#define CAPS_DEV_WINDOWING_SUPPORT     0x0001
-
-#define CAPS_DEV_FONT_SIM_BOLD         0x0001
-#define CAPS_DEV_FONT_SIM_ITALIC       0x0002
-#define CAPS_DEV_FONT_SIM_UNDERSCORE   0x0004
-#define CAPS_DEV_FONT_SIM_STRIKEOUT    0x0008
-
-#define CAPS_VDD_DDB_TRANSFER          0x0001
-#define CAPS_GRAPHICS_KERNING_SUPPORT  0x0002
-#define CAPS_FONT_OUTLINE_DEFAULT      0x0004
-#define CAPS_FONT_IMAGE_DEFAULT                0x0008
-#define CAPS_SCALED_DEFAULT_MARKERS    0x0040
-#define CAPS_COLOR_CURSOR_SUPPORT      0x0080
-#define CAPS_PALETTE_MANAGER           0x0100
-#define CAPS_COSMETIC_WIDELINE_SUPPORT 0x0200
-#define CAPS_DIRECT_FILL               0x0400
-#define CAPS_REBUILD_FILLS             0x0800
-#define CAPS_CLIP_FILLS                        0x1000
-#define CAPS_ENHANCED_FONTMETRICS      0x2000
-#define CAPS_TRANSFORM_SUPPORT         0x4000
-#define CAPS_EXTERNAL_16_BITCOUNT      0x8000
-
-#define CAPS_BYTE_ALIGN_REQUIRED       0
-#define CAPS_BYTE_ALIGN_RECOMMENDED    1
-#define CAPS_BYTE_ALIGN_NOT_REQUIRED   2
-
-#define CAPS_RASTER_BITBLT             0x0001
-#define CAPS_RASTER_BANDING            0x0002
-#define CAPS_RASTER_BITBLT_SCALING     0x0004
-#define CAPS_RASTER_SET_PEL            0x0010
-#define CAPS_RASTER_FONTS              0x0020
-#define CAPS_RASTER_FLOOD_FILL         0x0040
-
-#define DEVESC_ERROR                   (-1)
-#define DEVESC_NOTIMPLEMENTED          0
-
-#define DEVESC_QUERYESCSUPPORT         0
-#define DEVESC_GETSCALINGFACTOR                1
-#define DEVESC_QUERYVIOCELLSIZES       2
-#define DEVESC_GETCP                   8000
-#define DEVESC_STARTDOC                        8150
-#define DEVESC_ENDDOC                  8151
-#define DEVESC_NEXTBAND                        8152
-#define DEVESC_ABORTDOC                        8153
-#define DEVESC_GETJOBID                        8160
-#define DEVESC_QUERY_RASTER            8161
-#define DEVESC_QUERYSIZE               8162
-#define DEVESC_QUERYJOBPROPERTIES      8163
-#define DEVESC_SETJOBPROPERTIES                8164
-#define DEVESC_DEFAULTJOBPROPERTIES    8165
-#define DEVESC_CHANGEOUTPUTPORT                8166
-#define DEVESC_NEWFRAME                        16300
-#define DEVESC_DRAFTMODE               16301
-#define DEVESC_FLUSHOUTPUT             16302
-#define DEVESC_RAWDATA                 16303
-#define DEVESC_SETMODE                 16304
-#define DEVESC_SEP                     16305
-#define DEVESC_MACRO                   16307
-#define DEVESC_BEGIN_BITBLT            16309
-#define DEVESC_END_BITBLT              16310
-#define DEVESC_SEND_COMPDATA           16311
-#define DEVESC_DBE_FIRST               24450
-#define DEVESC_DBE_LAST                        24455
-#define DEVESC_CHAR_EXTRA              16998
-#define DEVESC_BREAK_EXTRA             16999
-#define DEVESC_STD_JOURNAL             32600
-#define DEVESC_STARTDOC_WPROP          49150
-#define DEVESC_NEWFRAME_WPROP          49151
-
-#define DPDM_ERROR                     (-1)
-#define DPDM_NONE                      0
-
-#define DPDM_POSTJOBPROP               0
-#define DPDM_CHANGEPROP                        1
-#define DPDM_QUERYJOBPROP              2
-
-#define DQHC_ERROR                     (-1)
-
-#define HCAPS_CURRENT                  1
-#define HCAPS_SELECTABLE               2
-
-
-typedef PSZ *PDEVOPENDATA;
-
-
-typedef struct _DRIVDATA
-{
-  LONG cb;
-  LONG lVersion;
-  CHAR szDeviceName[32];
-  CHAR abGeneralData[1];
-} DRIVDATA;
-typedef DRIVDATA *PDRIVDATA;
-
-typedef struct _DEVOPENSTRUC
-{
-  PSZ      pszLogAddress;
-  PSZ      pszDriverName;
-  PDRIVDATA pdriv;
-  PSZ      pszDataType;
-  PSZ      pszComment;
-  PSZ      pszQueueProcName;
-  PSZ      pszQueueProcParams;
-  PSZ      pszSpoolerParams;
-  PSZ      pszNetworkParams;
-} DEVOPENSTRUC;
-typedef DEVOPENSTRUC *PDEVOPENSTRUC;
-
-typedef struct _ESCMODE
-{
-  ULONG mode;
-  BYTE modedata[1];
-} ESCMODE;
-typedef ESCMODE *PESCMODE;
-
-typedef struct _VIOSIZECOUNT
-{
-  LONG maxcount;
-  LONG count;
-} VIOSIZECOUNT;
-typedef VIOSIZECOUNT *PVIOSIZECOUNT;
-
-typedef struct _VIOFONTCELLSIZE
-{
-  LONG cx;
-  LONG cy;
-} VIOFONTCELLSIZE;
-typedef VIOFONTCELLSIZE *PVIOFONTCELLSIZE;
-
-typedef struct _SFACTORS
-{
-  LONG x;
-  LONG y;
-} SFACTORS;
-typedef SFACTORS *PSFACTORS;
-
-typedef struct _BANDRECT
-{
-  LONG xleft;
-  LONG ybottom;
-  LONG xright;
-  LONG ytop;
-} BANDRECT;
-typedef BANDRECT *PBANDRECT;
-
-typedef struct _HCINFO
-{
-  CHAR szFormname[32];
-  LONG cx;
-  LONG cy;
-  LONG xLeftClip;
-  LONG yBottomClip;
-  LONG xRightClip;
-  LONG yTopClip;
-  LONG xPels;
-  LONG yPels;
-  LONG flAttributes;
-} HCINFO;
-typedef HCINFO *PHCINFO;
-
-HMF DevCloseDC (HDC hdc);
-LONG DevEscape (HDC hdc, LONG lCode, LONG lInCount, PBYTE pbInData,
-    PLONG plOutCount, PBYTE pbOutData);
-HDC DevOpenDC (HAB hab, LONG lType, PCSZ pszToken, LONG lCount,
-    PDEVOPENDATA pdopData, HDC hdcComp);
-LONG DevPostDeviceModes (HAB hab, PDRIVDATA pdrivDriverData ,
-    PCSZ pszDriverName, PCSZ pszDeviceName, PCSZ pszName, ULONG flOptions);
-BOOL DevQueryCaps (HDC hdc, LONG lStart, LONG lCount, PLONG alArray);
-BOOL DevQueryDeviceNames (HAB hab, PCSZ pszDriverName, PLONG pldn,
-    PSTR32 aDeviceName, PSTR64 aDeviceDesc, PLONG pldt, PSTR16 aDataType);
-LONG DevQueryHardcopyCaps (HDC hdc, LONG lStartForm, LONG lForms,
-    PHCINFO phciHcInfo);
-
-/* ------------------ PRESENTATION MANAGER SHELL -------------------------- */
-
-#define MAXNAMEL                       60
-
-#define HINI_PROFILE                   (HINI)0
-#define HINI_USERPROFILE               (HINI)(-1)
-#define HINI_SYSTEMPROFILE             (HINI)(-2)
-#define HINI_USER                      HINI_USERPROFILE
-#define HINI_SYSTEM                    HINI_SYSTEMPROFILE
-
-typedef LHANDLE HSWITCH;
-typedef HSWITCH *PHSWITCH;
-
-typedef LHANDLE HPROGRAM;
-typedef HPROGRAM *PHPROGRAM;
-
-typedef LHANDLE HINI;
-typedef HINI *PHINI;
-
-typedef LHANDLE HAPP;
-
-
-typedef struct _PRFPROFILE
-{
-  ULONG cchUserName;
-  PSZ  pszUserName;
-  ULONG cchSysName;
-  PSZ  pszSysName;
-} PRFPROFILE;
-typedef PRFPROFILE *PPRFPROFILE;
-
-
-#if defined (INCL_WINPROGRAMLIST)
-
-#define MAXPATHL                       128
-#define SGH_ROOT                       (HPROGRAM)(-1L)
-
-#define PROG_DEFAULT                   0
-#define PROG_FULLSCREEN                        1
-#define PROG_WINDOWABLEVIO             2
-#define PROG_PM                                3
-#define PROG_GROUP                     5
-#define PROG_REAL                      4
-#define PROG_VDM                       4
-#define PROG_WINDOWEDVDM               7
-#define PROG_DLL                       6
-#define PROG_PDD                       8
-#define PROG_VDD                       9
-#define PROG_WINDOW_REAL               10
-#define PROG_WINDOW_PROT               11
-#define PROG_WINDOW_AUTO               12
-#define PROG_SEAMLESSVDM               13
-#define PROG_SEAMLESSCOMMON            14
-#define PROG_30_STDSEAMLESSCOMMON      14
-#define PROG_31_STDSEAMLESSVDM         15
-#define PROG_31_STDSEAMLESSCOMMON      16
-#define PROG_31_ENHSEAMLESSVDM         17
-#define PROG_31_ENHSEAMLESSCOMMON      18
-#define PROG_31_ENH                    19
-#define PROG_31_STD                    20
-#define PROG_DOS_GAME                  21
-#define PROG_WIN_GAME                  22
-#define PROG_DOS_MODE                  23
-#define PROG_RESERVED                  255
-
-#define SAF_VALIDFLAGS                 0x001f
-
-#define SAF_INSTALLEDCMDLINE           0x0001
-#define SAF_STARTCHILDAPP              0x0002
-#define SAF_MAXIMIZED                  0x0004
-#define SAF_MINIMIZED                  0x0008
-#define SAF_BACKGROUND                 0x0010
-
-#define SHE_VISIBLE                    0x00
-#define SHE_INVISIBLE                  0x01
-#define SHE_RESERVED                   0xff
-
-#define SHE_UNPROTECTED                        0x00
-#define SHE_PROTECTED                  0x02
-
-
-typedef ULONG PROGCATEGORY;
-typedef PROGCATEGORY *PPROGCATEGORY;
-
-typedef struct _HPROGARRAY
-{
-  HPROGRAM ahprog[1];
-} HPROGARRAY;
-typedef HPROGARRAY *PHPROGARRAY;
-
-typedef struct _PROGTYPE
-{
-  PROGCATEGORY progc;
-  ULONG               fbVisible;
-} PROGTYPE;
-typedef PROGTYPE *PPROGTYPE;
-
-typedef struct _PROGTITLE
-{
-  HPROGRAM hprog;
-  PROGTYPE progt;
-  PSZ     pszTitle;
-} PROGTITLE;
-typedef PROGTITLE *PPROGTITLE;
-
-typedef struct _PROGDETAILS
-{
-  ULONG           Length;
-  PROGTYPE progt;
-  PSZ     pszTitle;
-  PSZ     pszExecutable;
-  PSZ     pszParameters;
-  PSZ     pszStartupDir;
-  PSZ     pszIcon;
-  PSZ     pszEnvironment;
-  SWP     swpInitial;
-} PROGDETAILS;
-typedef PROGDETAILS *PPROGDETAILS;
-
-
-HPROGRAM PrfAddProgram (HINI hini, PPROGDETAILS pDetails, HPROGRAM hprogGroup);
-BOOL PrfChangeProgram (HINI hini, HPROGRAM hprog, PPROGDETAILS pDetails);
-HPROGRAM PrfCreateGroup (HINI hini, PCSZ pszTitle, UCHAR chVisibility);
-BOOL PrfDestroyGroup (HINI hini, HPROGRAM hprogGroup);
-PROGCATEGORY PrfQueryProgramCategory (HINI hini, PCSZ pszExe);
-ULONG PrfQueryProgramHandle (HINI hini, PCSZ pszExe,
-    PHPROGARRAY phprogArray, ULONG cchBufferMax, PULONG pulCount);
-ULONG PrfQueryProgramTitles (HINI hini, HPROGRAM hprogGroup,
-    PPROGTITLE pTitles, ULONG ulBufferLength, PULONG pulCount);
-ULONG PrfQueryDefinition (HINI hini, HPROGRAM hprog, PPROGDETAILS pDetails,
-    ULONG ulBufferLength);
-BOOL PrfRemoveProgram (HINI hini, HPROGRAM hprog);
-
-HAPP WinStartApp (HWND hwndNotify, PPROGDETAILS pDetails,
-    PCSZ pszParams, PVOID Reserved, ULONG fbOptions);
-BOOL WinTerminateApp (HAPP happ);
-
-#endif /* INCL_WINPROGRAMLIST */
-
-
-#if defined (INCL_WINSWITCHLIST) || !defined (INCL_NOCOMMON)
-
-#define SWL_INVISIBLE                  0x01
-#define SWL_GRAYED                     0x02
-#define SWL_VISIBLE                    0x04
-
-#define SWL_NOTJUMPABLE                        0x01
-#define SWL_JUMPABLE                   0x02
-
-typedef struct _SWCNTRL
-{
-  HWND    hwnd;
-  HWND    hwndIcon;
-  HPROGRAM hprog;
-  PID     idProcess;
-  ULONG           idSession;
-  ULONG           uchVisibility;
-  ULONG           fbJump;
-  CHAR    szSwtitle[MAXNAMEL+4];
-  ULONG           bProgType;
-} SWCNTRL;
-typedef SWCNTRL *PSWCNTRL;
-
-HSWITCH WinAddSwitchEntry (__const__ SWCNTRL *pswctl);
-ULONG WinRemoveSwitchEntry (HSWITCH hsw);
-
-#endif /* INCL_WINSWITCHLIST || !INCL_NOCOMMON */
-
-#if defined (INCL_WINSWITCHLIST)
-
-typedef struct _SWENTRY
-{
-  HSWITCH hswitch;
-  SWCNTRL swctl;
-} SWENTRY;
-typedef SWENTRY *PSWENTRY;
-
-typedef struct _SWBLOCK
-{
-  ULONG          cswentry;
-  SWENTRY aswentry[1];
-} SWBLOCK;
-typedef SWBLOCK *PSWBLOCK;
-
-
-ULONG WinChangeSwitchEntry (HSWITCH hsw, __const__ SWCNTRL *pswctl);
-HSWITCH WinCreateSwitchEntry (HAB hab, __const__ SWCNTRL *pswctl);
-ULONG WinQuerySessionTitle (HAB hab, ULONG usSession, PSZ pszTitle,
-    ULONG usTitlelen);
-ULONG WinQuerySwitchEntry (HSWITCH hsw, PSWCNTRL pswctl);
-HSWITCH WinQuerySwitchHandle (HWND hwnd, PID pid);
-ULONG WinQuerySwitchList (HAB hab, PSWBLOCK pswblk, ULONG usDataLength);
-ULONG WinQueryTaskSizePos (HAB hab, ULONG usScreenGroup, PSWP pswp);
-ULONG WinQueryTaskTitle (ULONG usSession, PSZ pszTitle, ULONG usTitlelen);
-ULONG WinSwitchToProgram (HSWITCH hsw);
-
-#endif /* INCL_WINSWITCHLIST */
-
-
-#if defined (INCL_WINSHELLDATA)
-
-#define PL_ALTERED                     0x008e
-
-BOOL PrfCloseProfile (HINI hini);
-HINI PrfOpenProfile (HAB hab, PCSZ pszFileName);
-BOOL PrfQueryProfile (HAB hab, PPRFPROFILE pPrfProfile);
-BOOL PrfQueryProfileData (HINI hini, PCSZ pszApp, PCSZ pszKey, PVOID pBuffer,
-    PULONG pulBufferLength);
-LONG PrfQueryProfileInt (HINI hini, PCSZ pszApp, PCSZ pszKey, LONG  sDefault);
-BOOL PrfQueryProfileSize (HINI hini, PCSZ pszApp, PCSZ pszKey,
-    PULONG pulReqLen);
-ULONG PrfQueryProfileString (HINI hini, PCSZ pszApp, PCSZ pszKey,
-    PCSZ pszDefault, PVOID pBuffer, ULONG ulBufferLength);
-BOOL PrfReset (HAB hab, __const__ PRFPROFILE *pPrfProfile);
-BOOL PrfWriteProfileData (HINI hini, PCSZ pszApp, PCSZ pszKey,
-    CPVOID pData, ULONG ulDataLength);
-BOOL PrfWriteProfileString (HINI hini, PCSZ pszApp, PCSZ pszKey,
-    PCSZ pszData);
-
-#endif /* INCL_WINSHELLDATA */
-
-/* ------------------ STANDARD DIALOGS: FILE ------------------------------ */
-
-#if defined (INCL_WINSTDFILE)
-
-#define FDM_FILTER                     (WM_USER+40)
-#define FDM_VALIDATE                   (WM_USER+41)
-#define FDM_ERROR                      (WM_USER+42)
-
-#define DID_FILE_DIALOG                        256
-#define DID_FILENAME_TXT               257
-#define DID_FILENAME_ED                        258
-#define DID_DRIVE_TXT                  259
-#define DID_DRIVE_CB                   260
-#define DID_FILTER_TXT                 261
-#define DID_FILTER_CB                  262
-#define DID_DIRECTORY_TXT              263
-#define DID_DIRECTORY_LB               264
-#define DID_FILES_TXT                  265
-#define DID_FILES_LB                   266
-#define DID_HELP_PB                    267
-#define DID_APPLY_PB                   268
-#define DID_READ_ONLY                  269
-#define DID_DIRECTORY_SELECTED         270
-#define DID_OK_PB                      DID_OK
-#define DID_CANCEL_PB                  DID_CANCEL
-
-#define FDS_CENTER                     0x00000001
-#define FDS_CUSTOM                     0x00000002
-#define FDS_FILTERUNION                        0x00000004
-#define FDS_HELPBUTTON                 0x00000008
-#define FDS_APPLYBUTTON                        0x00000010
-#define FDS_PRELOAD_VOLINFO            0x00000020
-#define FDS_MODELESS                   0x00000040
-#define FDS_INCLUDE_EAS                        0x00000080
-#define FDS_OPEN_DIALOG                        0x00000100
-#define FDS_SAVEAS_DIALOG              0x00000200
-#define FDS_MULTIPLESEL                        0x00000400
-#define FDS_ENABLEFILELB               0x00000800
-#define FDS_NATIONAL_LANGUAGE          0x80000000
-
-#define FDS_EFSELECTION                        0
-#define FDS_LBSELECTION                        1
-
-#define FDS_SUCCESSFUL                 0
-#define FDS_ERR_DEALLOCATE_MEMORY      1
-#define FDS_ERR_FILTER_TRUNC           2
-#define FDS_ERR_INVALID_DIALOG         3
-#define FDS_ERR_INVALID_DRIVE          4
-#define FDS_ERR_INVALID_FILTER         5
-#define FDS_ERR_INVALID_PATHFILE       6
-#define FDS_ERR_OUT_OF_MEMORY          7
-#define FDS_ERR_PATH_TOO_LONG          8
-#define FDS_ERR_TOO_MANY_FILE_TYPES    9
-#define FDS_ERR_INVALID_VERSION                10
-#define FDS_ERR_INVALID_CUSTOM_HANDLE  11
-#define FDS_ERR_DIALOG_LOAD_ERROR      12
-#define FDS_ERR_DRIVE_ERROR            13
-
-#define IDS_FILE_ALL_FILES_SELECTOR    1000
-#define IDS_FILE_BACK_CUR_PATH         1001
-#define IDS_FILE_BACK_PREV_PATH                1002
-#define IDS_FILE_BACK_SLASH            1003
-#define IDS_FILE_BASE_FILTER           1004
-#define IDS_FILE_BLANK                 1005
-#define IDS_FILE_COLON                 1006
-#define IDS_FILE_DOT                   1007
-#define IDS_FILE_DRIVE_LETTERS         1008
-#define IDS_FILE_FWD_CUR_PATH          1009
-#define IDS_FILE_FWD_PREV_PATH         1010
-#define IDS_FILE_FORWARD_SLASH         1011
-#define IDS_FILE_PARENT_DIR            1012
-#define IDS_FILE_Q_MARK                        1013
-#define IDS_FILE_SPLAT                 1014
-#define IDS_FILE_SPLAT_DOT             1015
-#define IDS_FILE_SAVEAS_TITLE          1016
-#define IDS_FILE_SAVEAS_FILTER_TXT     1017
-#define IDS_FILE_SAVEAS_FILENM_TXT     1018
-#define IDS_FILE_DUMMY_FILE_NAME       1019
-#define IDS_FILE_DUMMY_FILE_EXT                1020
-#define IDS_FILE_DUMMY_DRIVE           1021
-#define IDS_FILE_DUMMY_ROOT_DIR                1022
-#define IDS_FILE_PATH_PTR              1023
-#define IDS_FILE_VOLUME_PREFIX         1024
-#define IDS_FILE_VOLUME_SUFFIX         1025
-#define IDS_FILE_PATH_PTR2             1026
-#define IDS_FILE_INVALID_CHARS         1027
-#define IDS_FILE_ETC_BACK_SLASH                1028
-#define IDS_FILE_OPEN_PARENTHESIS      1029
-#define IDS_FILE_CLOSE_PARENTHESIS     1030
-#define IDS_FILE_SEMICOLON             1031
-#define IDS_FILE_BAD_DRIVE_NAME                1100
-#define IDS_FILE_BAD_DRIVE_OR_PATH_NAME 1101
-#define IDS_FILE_BAD_FILE_NAME         1102
-#define IDS_FILE_BAD_FQF               1103
-#define IDS_FILE_BAD_NETWORK_NAME      1104
-#define IDS_FILE_BAD_SUB_DIR_NAME      1105
-#define IDS_FILE_DRIVE_NOT_AVAILABLE   1106
-#define IDS_FILE_FQFNAME_TOO_LONG      1107
-#define IDS_FILE_OPEN_DIALOG_NOTE      1108
-#define IDS_FILE_PATH_TOO_LONG         1109
-#define IDS_FILE_SAVEAS_DIALOG_NOTE    1110
-#define IDS_FILE_DRIVE_DISK_CHANGE     1120
-#define IDS_FILE_DRIVE_NOT_READY       1122
-#define IDS_FILE_DRIVE_LOCKED          1123
-#define IDS_FILE_DRIVE_NO_SECTOR       1124
-#define IDS_FILE_DRIVE_SOME_ERROR      1125
-#define IDS_FILE_DRIVE_INVALID         1126
-#define IDS_FILE_INSERT_DISK_NOTE      1127
-#define IDS_FILE_OK_WHEN_READY         1128
-
-typedef PSZ APSZ[1];
-typedef APSZ *PAPSZ;
-
-typedef struct _FILEDLG
-{
-  ULONG          cbSize;
-  ULONG          fl;
-  ULONG          ulUser;
-  LONG   lReturn;
-  LONG   lSRC;
-  PSZ    pszTitle;
-  PSZ    pszOKButton;
-  PFNWP          pfnDlgProc;
-  PSZ    pszIType;
-  PAPSZ          papszITypeList;
-  PSZ    pszIDrive;
-  PAPSZ          papszIDriveList;
-  HMODULE hMod;
-  CHAR   szFullFile[CCHMAXPATH];
-  PAPSZ          papszFQFilename;
-  ULONG          ulFQFCount;
-  USHORT  usDlgId;
-  SHORT          x;
-  SHORT          y;
-  SHORT          sEAType;
-} FILEDLG;
-typedef FILEDLG *PFILEDLG;
-
-
-MRESULT WinDefFileDlgProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-HWND WinFileDlg (HWND hwndP, HWND hwndO, PFILEDLG pfild);
-BOOL WinFreeFileDlgList (PAPSZ papszFQFilename);
-
-#endif /* INCL_WINSTDFILE */
-
-/* ------------------ STANDARD DIALOGS: FONT ------------------------------ */
-
-#if defined (INCL_WINSTDFONT)
-
-#define FNTM_FACENAMECHANGED           (WM_USER+50)
-#define FNTM_POINTSIZECHANGED          (WM_USER+51)
-#define FNTM_STYLECHANGED              (WM_USER+52)
-#define FNTM_COLORCHANGED              (WM_USER+53)
-#define FNTM_UPDATEPREVIEW             (WM_USER+54)
-#define FNTM_FILTERLIST                        (WM_USER+55)
-
-#define FNTS_CENTER                    0x00000001
-#define FNTS_CUSTOM                    0x00000002
-#define FNTS_OWNERDRAWPREVIEW          0x00000004
-#define FNTS_HELPBUTTON                        0x00000008
-#define FNTS_APPLYBUTTON               0x00000010
-#define FNTS_RESETBUTTON               0x00000020
-#define FNTS_MODELESS                  0x00000040
-#define FNTS_INITFROMFATTRS            0x00000080
-#define FNTS_BITMAPONLY                        0x00000100
-#define FNTS_VECTORONLY                        0x00000200
-#define FNTS_FIXEDWIDTHONLY            0x00000400
-#define FNTS_PROPORTIONALONLY          0x00000800
-#define FNTS_NOSYNTHESIZEDFONTS                0x00001000
-#define FNTS_NATIONAL_LANGUAGE         0x80000000
-
-#define FNTF_NOVIEWSCREENFONTS         0x0001
-#define FNTF_NOVIEWPRINTERFONTS                0x0002
-#define FNTF_SCREENFONTSELECTED                0x0004
-#define FNTF_PRINTERFONTSELECTED       0x0008
-
-#define CLRC_FOREGROUND                        1
-#define CLRC_BACKGROUND                        2
-
-#define FNTI_BITMAPFONT                        0x0001
-#define FNTI_VECTORFONT                        0x0002
-#define FNTI_FIXEDWIDTHFONT            0x0004
-#define FNTI_PROPORTIONALFONT          0x0008
-#define FNTI_SYNTHESIZED               0x0010
-#define FNTI_DEFAULTLIST               0x0020
-#define FNTI_FAMILYNAME                        0x0100
-#define FNTI_STYLENAME                 0x0200
-#define FNTI_POINTSIZE                 0x0400
-
-#define FNTS_SUCCESSFUL                        0
-#define FNTS_ERR_INVALID_DIALOG                3
-#define FNTS_ERR_ALLOC_SHARED_MEM      4
-#define FNTS_ERR_INVALID_PARM          5
-#define FNTS_ERR_OUT_OF_MEMORY         7
-#define FNTS_ERR_INVALID_VERSION       10
-#define FNTS_ERR_DIALOG_LOAD_ERROR     12
-
-#define DID_FONT_DIALOG                        300
-#define DID_NAME                       301
-#define DID_STYLE                      302
-#define DID_DISPLAY_FILTER             303
-#define DID_PRINTER_FILTER             304
-#define DID_SIZE                       305
-#define DID_SAMPLE                     306
-#define DID_OUTLINE                    307
-#define DID_UNDERSCORE                 308
-#define DID_STRIKEOUT                  309
-#define DID_HELP_BUTTON                        310
-#define DID_APPLY_BUTTON               311
-#define DID_RESET_BUTTON               312
-#define DID_OK_BUTTON                  DID_OK
-#define DID_CANCEL_BUTTON              DID_CANCEL
-#define DID_NAME_PREFIX                        313
-#define DID_STYLE_PREFIX               314
-#define DID_SIZE_PREFIX                        315
-#define DID_SAMPLE_GROUPBOX            316
-#define DID_EMPHASIS_GROUPBOX          317
-#define DID_FONT_ISO_SUPPORT           318
-#define DID_FONT_ISO_UNTESTED          319
-
-#define IDS_FONT_SAMPLE                        350
-#define IDS_FONT_BLANK                 351
-#define IDS_FONT_KEY_0                 352
-#define IDS_FONT_KEY_9                 353
-#define IDS_FONT_KEY_SEP               354
-#define IDS_FONT_DISP_ONLY             355
-#define IDS_FONT_PRINTER_ONLY          356
-#define IDS_FONT_COMBINED              357
-#define IDS_FONT_WEIGHT1               358
-#define IDS_FONT_WEIGHT2               359
-#define IDS_FONT_WEIGHT3               360
-#define IDS_FONT_WEIGHT4               361
-#define IDS_FONT_WEIGHT5               362
-#define IDS_FONT_WEIGHT6               363
-#define IDS_FONT_WEIGHT7               364
-#define IDS_FONT_WEIGHT8               365
-#define IDS_FONT_WEIGHT9               366
-#define IDS_FONT_WIDTH1                        367
-#define IDS_FONT_WIDTH2                        368
-#define IDS_FONT_WIDTH3                        369
-#define IDS_FONT_WIDTH4                        370
-#define IDS_FONT_WIDTH5                        371
-#define IDS_FONT_WIDTH6                        372
-#define IDS_FONT_WIDTH7                        373
-#define IDS_FONT_WIDTH8                        374
-#define IDS_FONT_WIDTH9                        375
-#define IDS_FONT_OPTION0               376
-#define IDS_FONT_OPTION1               377
-#define IDS_FONT_OPTION2               378
-#define IDS_FONT_OPTION3               379
-#define IDS_FONT_POINT_SIZE_LIST       380
-
-typedef struct _FONTDLG
-{
-  ULONG          cbSize;
-  HPS    hpsScreen;
-  HPS    hpsPrinter;
-  PSZ    pszTitle;
-  PSZ    pszPreview;
-  PSZ    pszPtSizeList;
-  PFNWP          pfnDlgProc;
-  PSZ    pszFamilyname;
-  FIXED          fxPointSize;
-  ULONG          fl;
-  ULONG          flFlags;
-  ULONG          flType;
-  ULONG          flTypeMask;
-  ULONG          flStyle;
-  ULONG          flStyleMask;
-  LONG   clrFore;
-  LONG   clrBack;
-  ULONG          ulUser;
-  LONG   lReturn;
-  LONG   lSRC;
-  LONG   lEmHeight;
-  LONG   lXHeight;
-  LONG   lExternalLeading;
-  HMODULE hMod;
-  FATTRS  fAttrs;
-  SHORT          sNominalPointSize;
-  USHORT  usWeight;
-  USHORT  usWidth;
-  SHORT          x;
-  SHORT          y;
-  USHORT  usDlgId;
-  USHORT  usFamilyBufLen;
-  USHORT  usReserved;
-} FONTDLG;
-typedef FONTDLG *PFONTDLG;
-
-typedef struct _STYLECHANGE
-{
-  USHORT usWeight;
-  USHORT usWeightOld;
-  USHORT usWidth;
-  USHORT usWidthOld;
-  ULONG         flType;
-  ULONG         flTypeOld;
-  ULONG         flTypeMask;
-  ULONG         flTypeMaskOld;
-  ULONG         flStyle;
-  ULONG         flStyleOld;
-  ULONG         flStyleMask;
-  ULONG         flStyleMaskOld;
-} STYLECHANGE;
-typedef STYLECHANGE *PSTYLECHANGE;
-
-HWND WinFontDlg (HWND hwndP, HWND hwndO, PFONTDLG pfntd);
-MRESULT WinDefFontDlgProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-
-#endif /* INCL_WINSTDFONT */
-
-/* -------------------------- SPIN BUTTON --------------------------------- */
-
-#if defined (INCL_WINSTDSPIN)
-
-#define SPBS_ALLCHARACTERS             0x0000
-#define SPBS_NUMERICONLY               0x0001
-#define SPBS_READONLY                  0x0002
-#define SPBS_SERVANT                   0x0000
-#define SPBS_MASTER                    0x0010
-#define SPBS_JUSTDEFAULT               0x0000
-#define SPBS_JUSTRIGHT                 0x0004
-#define SPBS_JUSTLEFT                  0x0008
-#define SPBS_JUSTCENTER                        0x000c
-#define SPBS_NOBORDER                  0x0020
-#define SPBS_PADWITHZEROS              0x0080
-#define SPBS_FASTSPIN                  0x0100
-
-#define SPBM_OVERRIDESETLIMITS         0x0200
-#define SPBM_QUERYLIMITS               0x0201
-#define SPBM_SETTEXTLIMIT              0x0202
-#define SPBM_SPINUP                    0x0203
-#define SPBM_SPINDOWN                  0x0204
-#define SPBM_QUERYVALUE                        0x0205
-#define SPBM_SETARRAY                  0x0206
-#define SPBM_SETLIMITS                 0x0207
-#define SPBM_SETCURRENTVALUE           0x0208
-#define SPBM_SETMASTER                 0x0209
-
-#define SPBN_UPARROW                   0x020a
-#define SPBN_DOWNARROW                 0x020b
-#define SPBN_ENDSPIN                   0x020c
-#define SPBN_CHANGE                    0x020d
-#define SPBN_SETFOCUS                  0x020e
-#define SPBN_KILLFOCUS                 0x020f
-
-#define SPBQ_UPDATEIFVALID             0
-#define SPBQ_ALWAYSUPDATE              1
-#define SPBQ_DONOTUPDATE               3
-
-#endif /* INCL_WINSTDSPIN */
-
-/* ----------------------------- SLIDER ----------------------------------- */
-
-#if defined (INCL_WINSTDSLIDER)
-
-#define SLM_ADDDETENT                  0x0369
-#define SLM_QUERYDETENTPOS             0x036a
-#define SLM_QUERYSCALETEXT             0x036b
-#define SLM_QUERYSLIDERINFO            0x036c
-#define SLM_QUERYTICKPOS               0x036d
-#define SLM_QUERYTICKSIZE              0x036e
-#define SLM_REMOVEDETENT               0x036f
-#define SLM_SETSCALETEXT               0x0370
-#define SLM_SETSLIDERINFO              0x0371
-#define SLM_SETTICKSIZE                        0x0372
-
-#define SLN_CHANGE                     1
-#define SLN_SLIDERTRACK                        2
-#define SLN_SETFOCUS                   3
-#define SLN_KILLFOCUS                  4
-
-#define SLS_HORIZONTAL                 0x0000
-#define SLS_VERTICAL                   0x0001
-#define SLS_CENTER                     0x0000
-#define SLS_BOTTOM                     0x0002
-#define SLS_TOP                                0x0004
-#define SLS_LEFT                       0x0002
-#define SLS_RIGHT                      0x0004
-#define SLS_SNAPTOINCREMENT            0x0008
-#define SLS_BUTTONSBOTTOM              0x0010
-#define SLS_BUTTONSTOP                 0x0020
-#define SLS_BUTTONSLEFT                        0x0010
-#define SLS_BUTTONSRIGHT               0x0020
-#define SLS_OWNERDRAW                  0x0040
-#define SLS_READONLY                   0x0080
-#define SLS_RIBBONSTRIP                        0x0100
-#define SLS_HOMEBOTTOM                 0x0000
-#define SLS_HOMETOP                    0x0200
-#define SLS_HOMELEFT                   0x0000
-#define SLS_HOMERIGHT                  0x0200
-#define SLS_PRIMARYSCALE1              0x0000
-#define SLS_PRIMARYSCALE2              0x0400
-
-#define SMA_SCALE1                     0x0001
-#define SMA_SCALE2                     0x0002
-#define SMA_SHAFTDIMENSIONS            0x0000
-#define SMA_SHAFTPOSITION              0x0001
-#define SMA_SLIDERARMDIMENSIONS                0x0002
-#define SMA_SLIDERARMPOSITION          0x0003
-#define SMA_RANGEVALUE                 0x0000
-#define SMA_INCREMENTVALUE             0x0001
-#define SMA_SETALLTICKS                        0xffff
-
-#define SDA_RIBBONSTRIP                        1
-#define SDA_SLIDERSHAFT                        2
-#define SDA_BACKGROUND                 3
-#define SDA_SLIDERARM                  4
-
-#define PMERR_UPDATE_IN_PROGRESS       0x1f06
-#define SLDERR_INVALID_PARAMETERS      (-1)
-
-
-typedef struct _SLDCDATA
-{
-  ULONG         cbSize;
-  USHORT usScale1Increments;
-  USHORT usScale1Spacing;
-  USHORT usScale2Increments;
-  USHORT usScale2Spacing;
-} SLDCDATA;
-typedef SLDCDATA *PSLDCDATA;
-
-#endif /* INCL_WINSTDSLIDER */
-
-/* ------------------------- CIRCULAR SLIDER ------------------------------ */
-
-#if defined (INCL_WINCIRCULARSLIDER)
-
-#define CSM_QUERYRANGE                 0x053d
-#define CSM_SETRANGE                   0x053e
-#define CSM_QUERYVALUE                 0x053f
-#define CSM_SETVALUE                   0x0540
-#define CSM_QUERYRADIUS                        0x0541
-#define CSM_SETINCREMENT               0x0542
-#define CSM_QUERYINCREMENT             0x0543
-#define CSM_SETBITMAPDATA              0x0544
-#define CSN_SETFOCUS                   0x0548
-#define CSN_CHANGED                    0x0549
-#define CSN_TRACKING                   0x054a
-#define CSN_QUERYBACKGROUNDCOLOR       0x054b
-
-#define CSS_NOBUTTON                   0x0001
-#define CSS_NOTEXT                     0x0002
-#define CSS_NONUMBER                   0x0004
-#define CSS_POINTSELECT                        0x0008
-#define CSS_360                                0x0010
-#define CSS_MIDPOINT                   0x0020
-#define CSS_PROPORTIONALTICKS          0x0040
-#define CSS_NOTICKS                    0x0080
-#define CSS_CIRCULARVALUE              0x0100
-
-typedef struct _CSBITMAPDATA
-{
-  HBITMAP hbmLeftUp;
-  HBITMAP hbmLeftDown;
-  HBITMAP hbmRightUp;
-  HBITMAP hbmRightDown;
-} CSBITMAPDATA;
-typedef CSBITMAPDATA *PCSBITMAPDATA;
-
-#endif /* INCL_WINCIRCULARSLIDER */
-
-/* ---------------------------- NOTEBOOK ---------------------------------- */
-
-#if defined (INCL_WINSTDBOOK)
-
-#define BFA_PAGEDATA                   0x0001
-#define BFA_PAGEFROMHWND               0x0002
-#define BFA_PAGEFROMDLGTEMPLATE                0x0004
-#define BFA_PAGEFROMDLGRES             0x0008
-#define BFA_STATUSLINE                 0x0010
-#define BFA_MAJORTABBITMAP             0x0020
-#define BFA_MINORTABBITMAP             0x0040
-#define BFA_MAJORTABTEXT               0x0080
-#define BFA_MINORTABTEXT               0x0100
-#define BFA_BIDIINFO                   0x0200
-
-#define BKM_CALCPAGERECT               0x0353
-#define BKM_DELETEPAGE                 0x0354
-#define BKM_INSERTPAGE                 0x0355
-#define BKM_INVALIDATETABS             0x0356
-#define BKM_TURNTOPAGE                 0x0357
-#define BKM_QUERYPAGECOUNT             0x0358
-#define BKM_QUERYPAGEID                        0x0359
-#define BKM_QUERYPAGEDATA              0x035a
-#define BKM_QUERYPAGEWINDOWHWND                0x035b
-#define BKM_QUERYTABBITMAP             0x035c
-#define BKM_QUERYTABTEXT               0x035d
-#define BKM_SETDIMENSIONS              0x035e
-#define BKM_SETPAGEDATA                        0x035f
-#define BKM_SETPAGEWINDOWHWND          0x0360
-#define BKM_SETSTATUSLINETEXT          0x0361
-#define BKM_SETTABBITMAP               0x0362
-#define BKM_SETTABTEXT                 0x0363
-#define BKM_SETNOTEBOOKCOLORS          0x0364
-#define BKM_QUERYPAGESTYLE             0x0365
-#define BKM_QUERYSTATUSLINETEXT                0x0366
-#define BKM_SETPAGEINFO                        0x0367
-#define BKM_QUERYPAGEINFO              0x0368
-#define BKM_SETTABCOLOR                        0x0374
-#define BKM_SETNOTEBOOKBUTTONS         0x0375
-
-#define BKN_PAGESELECTED               0x0082
-#define BKN_NEWPAGESIZE                        0x0083
-#define BKN_HELP                       0x0084
-#define BKN_PAGEDELETED                        0x0085
-#define BKN_PAGESELECTEDPENDING                0x0086
-
-#define BKA_ALL                                0x0001
-#define BKA_SINGLE                     0x0002
-#define BKA_TAB                                0x0004
-
-#define BKA_LAST                       0x0002
-#define BKA_FIRST                      0x0004
-#define BKA_NEXT                       0x0008
-#define BKA_PREV                       0x0010
-#define BKA_TOP                                0x0020
-
-#define BKA_MAJORTAB                   0x0001
-#define BKA_MINORTAB                   0x0002
-#define BKA_PAGEBUTTON                 0x0100
-
-#define BKA_STATUSTEXTON               0x0001
-#define BKA_MAJOR                      0x0040
-#define BKA_MINOR                      0x0080
-#define BKA_AUTOPAGESIZE               0x0100
-#define BKA_END                                0x0200
-
-#define BKA_TEXT                       0x0400
-#define BKA_BITMAP                     0x0800
-
-#define BKA_AUTOCOLOR                  (-1)
-#define BKA_MAXBUTTONID                        7999
-
-#define BKS_BACKPAGESBR                        0x0001
-#define BKS_BACKPAGESBL                        0x0002
-#define BKS_BACKPAGESTR                        0x0004
-#define BKS_BACKPAGESTL                        0x0008
-
-#define BKS_MAJORTABRIGHT              0x0010
-#define BKS_MAJORTABLEFT               0x0020
-#define BKS_MAJORTABTOP                        0x0040
-#define BKS_MAJORTABBOTTOM             0x0080
-
-#define BKS_SQUARETABS                 0x0000
-#define BKS_ROUNDEDTABS                        0x0100
-#define BKS_POLYGONTABS                        0x0200
-
-#define BKS_SOLIDBIND                  0x0000
-#define BKS_SPIRALBIND                 0x0400
-
-#define BKS_STATUSTEXTLEFT             0x0000
-#define BKS_STATUSTEXTRIGHT            0x1000
-#define BKS_STATUSTEXTCENTER           0x2000
-
-#define BKS_TABTEXTLEFT                        0x0000
-#define BKS_TABTEXTRIGHT               0x4000
-#define BKS_TABTEXTCENTER              0x8000
-
-#define BKS_BUTTONAREA                 0x0200
-#define BKS_TABBEDDIALOG               0x0800
-
-#define BKA_BACKGROUNDPAGECOLORINDEX   0x0001
-#define BKA_BACKGROUNDPAGECOLOR                0x0002
-#define BKA_BACKGROUNDMAJORCOLORINDEX  0x0003
-#define BKA_BACKGROUNDMAJORCOLOR       0x0004
-#define BKA_BACKGROUNDMINORCOLORINDEX  0x0005
-#define BKA_BACKGROUNDMINORCOLOR       0x0006
-#define BKA_FOREGROUNDMAJORCOLORINDEX  0x0007
-#define BKA_FOREGROUNDMAJORCOLOR       0x0008
-#define BKA_FOREGROUNDMINORCOLORINDEX  0x0009
-#define BKA_FOREGROUNDMINORCOLOR       0x000a
-
-#define BOOKERR_INVALID_PARAMETERS     (-1)
-
-
-typedef struct _BOOKTEXT
-{
-  PSZ  pString;
-  ULONG textLen;
-} BOOKTEXT;
-typedef BOOKTEXT *PBOOKTEXT;
-
-typedef struct _NOTEBOOKBUTTON
-{
-  PSZ    pszText;
-  ULONG          idButton;
-  LHANDLE hImage;
-  LONG   flStyle;
-} NOTEBOOKBUTTON;
-typedef NOTEBOOKBUTTON *PNOTEBOOKBUTTON;
-
-typedef struct _DELETENOTIFY
-{
-  HWND   hwndBook;
-  HWND   hwndPage;
-  ULONG          ulAppPageData;
-  HBITMAP hbmTab;
-} DELETENOTIFY;
-typedef DELETENOTIFY *PDELETENOTIFY;
-
-typedef struct _PAGESELECTNOTIFY
-{
-  HWND hwndBook;
-  ULONG ulPageIdCur;
-  ULONG ulPageIdNew;
-} PAGESELECTNOTIFY;
-typedef PAGESELECTNOTIFY *PPAGESELECTNOTIFY;
-
-typedef struct _BOOKPAGEINFO
-{
-  ULONG               cb;
-  ULONG               fl;
-  BOOL        bLoadDlg;
-  ULONG               ulPageData;
-  HWND        hwndPage;
-  PFN         pfnPageDlgProc;
-  ULONG               idPageDlg;
-  HMODULE      hmodPageDlg;
-  PVOID               pPageDlgCreateParams;
-  PDLGTEMPLATE pdlgtPage;
-  ULONG               cbStatusLine;
-  PSZ         pszStatusLine;
-  HBITMAP      hbmMajorTab;
-  HBITMAP      hbmMinorTab;
-  ULONG               cbMajorTab;
-  PSZ         pszMajorTab;
-  ULONG               cbMinorTab;
-  PSZ         pszMinorTab;
-  PVOID               pBidiInfo;
-} BOOKPAGEINFO;
-typedef BOOKPAGEINFO *PBOOKPAGEINFO;
-
-#endif /* INCL_WINSTDBOOK */
-
-/* -------------------------- DRAG AND DROP ------------------------------- */
-
-#if defined (INCL_WINSTDDRAG)
-
-#define PMERR_NOT_DRAGGING             0x1f00
-#define PMERR_ALREADY_DRAGGING         0x1f01
-
-#define WM_DRAGFIRST                   0x0310
-#define WM_DRAGLAST                    0x032f
-
-#define DM_DROP                                0x032f
-#define DM_DRAGOVER                    0x032e
-#define DM_DRAGLEAVE                   0x032d
-#define DM_DROPHELP                    0x032c
-#define DM_ENDCONVERSATION             0x032b
-#define DM_PRINT                       0x032a
-#define DM_RENDER                      0x0329
-#define DM_RENDERCOMPLETE              0x0328
-#define DM_RENDERPREPARE               0x0327
-#define DM_DRAGFILECOMPLETE            0x0326
-#define DM_EMPHASIZETARGET             0x0325
-#define DM_DRAGERROR                   0x0324
-#define DM_FILERENDERED                        0x0323
-#define DM_RENDERFILE                  0x0322
-#define DM_DRAGOVERNOTIFY              0x0321
-#define DM_PRINTOBJECT                 0x0320
-#define DM_DISCARDOBJECT               0x031f
-#define DM_DROPNOTIFY                  0x031e
-
-#define MSGF_DRAG                      0x0010
-
-#define DC_OPEN                                0x0001
-#define DC_REF                         0x0002
-#define DC_GROUP                       0x0004
-#define DC_CONTAINER                   0x0008
-#define DC_PREPARE                     0x0010
-#define DC_REMOVEABLEMEDIA             0x0020
-
-#define DF_MOVE                                0x0001
-#define DF_SOURCE                      0x0002
-#define DF_SUCCESSFUL                  0x0004
-
-#define DFF_MOVE                       1
-#define DFF_COPY                       2
-#define DFF_DELETE                     3
-
-#define DGS_DRAGINPROGRESS             0x0001
-#define DGS_LAZYDRAGINPROGRESS         0x0002
-
-#define DME_IGNOREABORT                        1
-#define DME_IGNORECONTINUE             2
-#define DME_REPLACE                    3
-#define DME_RETRY                      4
-
-#define DMFL_TARGETSUCCESSFUL          0x0001
-#define DMFL_TARGETFAIL                        0x0002
-#define DMFL_NATIVERENDER              0x0004
-#define DMFL_RENDERRETRY               0x0008
-#define DMFL_RENDEROK                  0x0010
-#define DMFL_RENDERFAIL                        0x0020
-
-#define DO_DEFAULT                     0xbffe
-#define DO_UNKNOWN                     0xbfff
-#define DO_COPYABLE                    0x0001
-#define DO_MOVEABLE                    0x0002
-#define DO_LINKABLE                    0x0004
-#define DO_CREATEABLE                  0x0008
-#define DO_CREATEPROGRAMOBJECTABLE     0x0010
-
-#define DO_COPY                                0x0010
-#define DO_MOVE                                0x0020
-#define DO_LINK                                0x0018
-#define DO_CREATE                      0x0040
-#define DO_CREATEPROGRAMOBJECT         0x0080
-
-#define DOR_NODROP                     0x0000
-#define DOR_DROP                       0x0001
-#define DOR_NODROPOP                   0x0002
-#define DOR_NEVERDROP                  0x0003
-
-#define DRG_ICON                       0x0001
-#define DRG_BITMAP                     0x0002
-#define DRG_POLYGON                    0x0004
-#define DRG_STRETCH                    0x0008
-#define DRG_TRANSPARENT                        0x0010
-#define DRG_CLOSED                     0x0020
-#define DRG_MINIBITMAP                 0x0040
-
-#define DRR_SOURCE                     1
-#define DRR_TARGET                     2
-#define DRR_ABORT                      3
-
-#define DRT_ASM                                "Assembler Code"
-#define DRT_BASIC                      "BASIC Code"
-#define DRT_BINDATA                    "Binary Data"
-#define DRT_BITMAP                     "Bitmap"
-#define DRT_C                          "C Code"
-#define DRT_COBOL                      "COBOL Code"
-#define DRT_DLL                                "Dynamic Link Library"
-#define DRT_DOSCMD                     "DOS Command File"
-#define DRT_EXE                                "Executable"
-#define DRT_FORTRAN                    "FORTRAN Code"
-#define DRT_ICON                       "Icon"
-#define DRT_LIB                                "Library"
-#define DRT_METAFILE                   "Metafile"
-#define DRT_OS2CMD                     "OS/2 Command File"
-#define DRT_PASCAL                     "Pascal Code"
-#define DRT_RESOURCE                   "Resource File"
-#define DRT_TEXT                       "Plain Text"
-#define DRT_UNKNOWN                    "Unknown"
-
-typedef LHANDLE HSTR;
-
-typedef struct _DRAGIMAGE
-{
-  USHORT  cb;
-  USHORT  cptl;
-  LHANDLE hImage;
-  SIZEL          sizlStretch;
-  ULONG          fl;
-  SHORT          cxOffset;
-  SHORT          cyOffset;
-} DRAGIMAGE;
-typedef DRAGIMAGE *PDRAGIMAGE;
-
-typedef struct _DRAGINFO
-{
-  ULONG         cbDraginfo;
-  USHORT cbDragitem;
-  USHORT usOperation;
-  HWND  hwndSource;
-  SHORT         xDrop;
-  SHORT         yDrop;
-  USHORT cditem;
-  USHORT usReserved;
-} DRAGINFO;
-typedef DRAGINFO *PDRAGINFO;
-
-typedef struct _DRAGITEM
-{
-  HWND  hwndItem;
-  ULONG         ulItemID;
-  HSTR  hstrType;
-  HSTR  hstrRMF;
-  HSTR  hstrContainerName;
-  HSTR  hstrSourceName;
-  HSTR  hstrTargetName;
-  SHORT         cxOffset;
-  SHORT         cyOffset;
-  USHORT fsControl;
-  USHORT fsSupportedOps;
-} DRAGITEM;
-typedef DRAGITEM *PDRAGITEM;
-
-typedef struct _DRAGTRANSFER
-{
-  ULONG            cb;
-  HWND     hwndClient;
-  PDRAGITEM pditem;
-  HSTR     hstrSelectedRMF;
-  HSTR     hstrRenderToName;
-  ULONG            ulTargetInfo;
-  USHORT    usOperation;
-  USHORT    fsReply;
-} DRAGTRANSFER;
-typedef DRAGTRANSFER *PDRAGTRANSFER;
-
-typedef struct _RENDERFILE
-{
-  HWND  hwndDragFiles;
-  HSTR  hstrSource;
-  HSTR  hstrTarget;
-  USHORT fMove;
-  USHORT usRsvd;
-} RENDERFILE;
-typedef RENDERFILE *PRENDERFILE;
-
-
-BOOL DrgAcceptDroppedFiles (HWND hwnd, PCSZ pszPath, PCSZ pszTypes,
-    ULONG ulDefaultOp, ULONG ulReserved);
-BOOL DrgAccessDraginfo (PDRAGINFO pdinfo);
-HSTR DrgAddStrHandle (PCSZ psz);
-PDRAGINFO DrgAllocDraginfo (ULONG cDitem);
-PDRAGTRANSFER DrgAllocDragtransfer (ULONG cdxfer);
-BOOL DrgCancelLazyDrag (VOID);
-BOOL DrgDeleteDraginfoStrHandles (PDRAGINFO pdinfo);
-BOOL DrgDeleteStrHandle (HSTR hstr);
-HWND DrgDrag (HWND hwndSource, PDRAGINFO pdinfo, PDRAGIMAGE pdimg,
-    ULONG cdimg, LONG vkTerminate, PVOID pReserved);
-BOOL DrgDragFiles (HWND hwnd, PSZ *apszFiles, PSZ *apszTypes, PSZ *apszTargets,
-    ULONG cFiles, HPOINTER hptrDrag, ULONG vkTerm, BOOL fSourceRender,
-    ULONG ulReserved);
-BOOL DrgFreeDraginfo (PDRAGINFO pdinfo);
-BOOL DrgFreeDragtransfer (PDRAGTRANSFER pdxfer);
-HPS DrgGetPS (HWND hwnd);
-BOOL DrgLazyDrag (HWND hwndSource, PDRAGINFO pDraginfo, PDRAGIMAGE pdimg,
-    ULONG cdimg, PVOID pReserved);
-BOOL DrgLazyDrop (HWND hwndTarget, ULONG ulOperation, PPOINTL pptlDrop);
-BOOL DrgPostTransferMsg (HWND hwnd, ULONG msg, PDRAGTRANSFER pdxfer, ULONG fl,
-    ULONG ulReserved, BOOL fRetry);
-BOOL DrgPushDraginfo (PDRAGINFO pdinfo, HWND hwndDest);
-PDRAGINFO DrgQueryDraginfoPtr (PDRAGINFO pReserved);
-PDRAGINFO DrgQueryDraginfoPtrFromHwnd (HWND hwndSource);
-PDRAGINFO DrgQueryDraginfoPtrFromDragitem (__const__ DRAGITEM *pDragitem);
-BOOL DrgQueryDragitem (PDRAGINFO pdinfo, ULONG cbBuffer, PDRAGITEM pditem,
-    ULONG iItem);
-ULONG DrgQueryDragitemCount (PDRAGINFO pdinfo);
-PDRAGITEM DrgQueryDragitemPtr (PDRAGINFO pdinfo, ULONG ulIndex);
-ULONG DrgQueryDragStatus (VOID);
-BOOL DrgQueryNativeRMF (PDRAGITEM pditem, ULONG cbBuffer, PCHAR pBuffer);
-ULONG DrgQueryNativeRMFLen (PDRAGITEM pditem);
-ULONG DrgQueryStrName (HSTR hstr, ULONG cbBuffer, PSZ pBuffer);
-ULONG DrgQueryStrNameLen (HSTR hstr);
-BOOL DrgQueryTrueType (PDRAGITEM pditem, ULONG cbBuffer, PSZ pBuffer);
-ULONG DrgQueryTrueTypeLen (PDRAGITEM pditem);
-PDRAGINFO DrgReallocDraginfo (PDRAGINFO pDraginfoOld, ULONG cditem);
-BOOL DrgReleasePS (HPS hps);
-MRESULT DrgSendTransferMsg (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
-BOOL DrgSetDragImage (PDRAGINFO pdinfo, PDRAGIMAGE pdimg, ULONG cdimg,
-    PVOID pReserved);
-BOOL DrgSetDragitem (PDRAGINFO pdinfo, PDRAGITEM pditem, ULONG cbBuffer,
-    ULONG iItem);
-BOOL DrgSetDragPointer (PDRAGINFO pdinfo, HPOINTER hptr);
-BOOL DrgVerifyNativeRMF (PDRAGITEM pditem, PCSZ pszRMF);
-BOOL DrgVerifyRMF (PDRAGITEM pditem, PCSZ pszMech, PCSZ pszFmt);
-BOOL DrgVerifyTrueType (PDRAGITEM pditem, PCSZ pszType);
-BOOL DrgVerifyType (PDRAGITEM pditem, PCSZ pszType);
-BOOL DrgVerifyTypeSet (PDRAGITEM pditem, PCSZ pszType, ULONG cbMatch,
-    PSZ pszMatch);
-
-#endif /* INCL_WINSTDDRAG */
-
-/* -------------------------- VALUE SET ----------------------------------- */
-
-#if defined (INCL_WINSTDVALSET)
-
-#define VDA_ITEM                       0x0001
-#define VDA_ITEMBACKGROUND             0x0002
-#define VDA_SURROUNDING                        0x0003
-#define VDA_BACKGROUND                 0x0004
-
-#define VIA_BITMAP                     0x0001
-#define VIA_ICON                       0x0002
-#define VIA_TEXT                       0x0004
-#define VIA_RGB                                0x0008
-#define VIA_COLORINDEX                 0x0010
-#define VIA_OWNERDRAW                  0x0020
-#define VIA_DISABLED                   0x0040
-#define VIA_DRAGGABLE                  0x0080
-#define VIA_DROPONABLE                 0x0100
-
-#define VM_QUERYITEM                   0x0375
-#define VM_QUERYITEMATTR               0x0376
-#define VM_QUERYMETRICS                        0x0377
-#define VM_QUERYSELECTEDITEM           0x0378
-#define VM_SELECTITEM                  0x0379
-#define VM_SETITEM                     0x037a
-#define VM_SETITEMATTR                 0x037b
-#define VM_SETMETRICS                  0x037c
-
-#define VMA_ITEMSIZE                   0x0001
-#define VMA_ITEMSPACING                        0x0002
-
-#define VN_SELECT                      0x0078
-#define VN_ENTER                       0x0079
-#define VN_DRAGLEAVE                   0x007a
-#define VN_DRAGOVER                    0x007b
-#define VN_DROP                                0x007c
-#define VN_DROPHELP                    0x007d
-#define VN_INITDRAG                    0x007e
-#define VN_SETFOCUS                    0x007f
-#define VN_KILLFOCUS                   0x0080
-#define VN_HELP                                0x0081
-
-#define VS_BITMAP                      0x0001
-#define VS_ICON                                0x0002
-#define VS_TEXT                                0x0004
-#define VS_RGB                         0x0008
-#define VS_COLORINDEX                  0x0010
-#define VS_BORDER                      0x0020
-#define VS_ITEMBORDER                  0x0040
-#define VS_SCALEBITMAPS                        0x0080
-#define VS_RIGHTTOLEFT                 0x0100
-#define VS_OWNERDRAW                   0x0200
-
-#define VSERR_INVALID_PARAMETERS       (-1)
-
-
-typedef struct _VSCDATA
-{
-  ULONG         cbSize;
-  USHORT usRowCount;
-  USHORT usColumnCount;
-} VSCDATA;
-typedef VSCDATA *PVSCDATA;
-
-typedef struct _VSDRAGINIT
-{
-  HWND  hwnd;
-  LONG  x;
-  LONG  y;
-  LONG  cx;
-  LONG  cy;
-  USHORT usRow;
-  USHORT usColumn;
-} VSDRAGINIT;
-typedef VSDRAGINIT *PVSDRAGINIT;
-
-typedef struct _VSDRAGINFO
-{
-  PDRAGINFO pDragInfo;
-  USHORT    usRow;
-  USHORT    usColumn;
-} VSDRAGINFO;
-typedef VSDRAGINFO *PVSDRAGINFO;
-
-typedef struct _VSTEXT
-{
-  PSZ  pszItemText;
-  ULONG ulBufLen;
-} VSTEXT;
-typedef VSTEXT *PVSTEXT;
-
-#endif /* INCL_WINSTDVALSET */
-
-/* ---------------------------- CONTAINER --------------------------------- */
-
-#if defined (INCL_WINSTDCNR)
-
-#define CA_CONTAINERTITLE              0x00000200
-#define CA_TITLESEPARATOR              0x00000400
-#define CA_TITLELEFT                   0x00000800
-#define CA_TITLERIGHT                  0x00001000
-#define CA_TITLECENTER                 0x00002000
-#define CA_OWNERDRAW                   0x00004000
-#define CA_DETAILSVIEWTITLES           0x00008000
-#define CA_ORDEREDTARGETEMPH           0x00010000
-#define CA_DRAWBITMAP                  0x00020000
-#define CA_DRAWICON                    0x00040000
-#define CA_TITLEREADONLY               0x00080000
-#define CA_OWNERPAINTBACKGROUND                0x00100000
-#define CA_MIXEDTARGETEMPH             0x00200000
-#define CA_TREELINE                    0x00400000
-
-#define CCS_EXTENDSEL                  0x0001
-#define CCS_MULTIPLESEL                        0x0002
-#define CCS_SINGLESEL                  0x0004
-#define CCS_AUTOPOSITION               0x0008
-#define CCS_VERIFYPOINTERS             0x0010
-#define CCS_READONLY                   0x0020
-#define CCS_MINIRECORDCORE             0x0040
-#define CCS_MINIICONS                  0x0800
-#define CCS_NOCONTROLPTR               0x1000
-
-#define CFA_LEFT                       0x00000001
-#define CFA_RIGHT                      0x00000002
-#define CFA_CENTER                     0x00000004
-#define CFA_TOP                                0x00000008
-#define CFA_VCENTER                    0x00000010
-#define CFA_BOTTOM                     0x00000020
-#define CFA_INVISIBLE                  0x00000040
-#define CFA_BITMAPORICON               0x00000100
-#define CFA_SEPARATOR                  0x00000200
-#define CFA_HORZSEPARATOR              0x00000400
-#define CFA_STRING                     0x00000800
-#define CFA_OWNER                      0x00001000
-#define CFA_DATE                       0x00002000
-#define CFA_TIME                       0x00004000
-#define CFA_FIREADONLY                 0x00008000
-#define CFA_FITITLEREADONLY            0x00010000
-#define CFA_ULONG                      0x00020000
-#define CFA_RANGE                      0x00040000
-#define CFA_NEWCOMP                    0x00080000
-#define CFA_OBJECT                     0x00100000
-#define CFA_LIST                       0x00200000
-#define CFA_CLASS                      0x00400000
-#define CFA_IGNORE                     0x80000000
-
-#define CID_LEFTCOLTITLEWND            0x7ff0
-#define CID_RIGHTCOLTITLEWND           0x7ff1
-#define CID_BLANKBOX                   0x7ff2
-#define CID_HSCROLL                    0x7ff3
-#define CID_RIGHTHSCROLL               0x7ff4
-#define CID_CNRTITLEWND                        0x7ff5
-#define CID_LEFTDVWND                  0x7ff7
-#define CID_RIGHTDVWND                 0x7ff8
-#define CID_VSCROLL                    0x7ff9
-#define CID_MLE                                0x7ffa
-
-#define CM_ALLOCDETAILFIELDINFO                0x0330
-#define CM_ALLOCRECORD                 0x0331
-#define CM_ARRANGE                     0x0332
-#define CM_ERASERECORD                 0x0333
-#define CM_FILTER                      0x0334
-#define CM_FREEDETAILFIELDINFO         0x0335
-#define CM_FREERECORD                  0x0336
-#define CM_HORZSCROLLSPLITWINDOW       0x0337
-#define CM_INSERTDETAILFIELDINFO       0x0338
-#define CM_INSERTRECORD                        0x0339
-#define CM_INVALIDATEDETAILFIELDINFO   0x033a
-#define CM_INVALIDATERECORD            0x033b
-#define CM_PAINTBACKGROUND             0x033c
-#define CM_QUERYCNRINFO                        0x033d
-#define CM_QUERYDETAILFIELDINFO                0x033e
-#define CM_QUERYDRAGIMAGE              0x033f
-#define CM_QUERYRECORD                 0x0340
-#define CM_QUERYRECORDEMPHASIS         0x0341
-#define CM_QUERYRECORDFROMRECT         0x0342
-#define CM_QUERYRECORDRECT             0x0343
-#define CM_QUERYVIEWPORTRECT           0x0344
-#define CM_REMOVEDETAILFIELDINFO       0x0345
-#define CM_REMOVERECORD                        0x0346
-#define CM_SCROLLWINDOW                        0x0347
-#define CM_SEARCHSTRING                        0x0348
-#define CM_SETCNRINFO                  0x0349
-#define CM_SETRECORDEMPHASIS           0x034a
-#define CM_SORTRECORD                  0x034b
-#define CM_OPENEDIT                    0x034c
-#define CM_CLOSEEDIT                   0x034d
-#define CM_COLLAPSETREE                        0x034e
-#define CM_EXPANDTREE                  0x034f
-#define CM_QUERYRECORDINFO             0x0350
-#define CM_INSERTRECORDARRAY           0x0351
-#define CM_MOVETREE                    0x0352
-#define CM_SETTEXTVISIBILITY           0x0353
-#define CM_SETGRIDINFO                 0x0354
-#define CM_QUERYGRIDINFO               0x0355
-#define CM_SNAPTOGRID                  0x0356
-
-#define CMA_TOP                                0x0001
-#define CMA_BOTTOM                     0x0002
-#define CMA_LEFT                       0x0004
-#define CMA_RIGHT                      0x0008
-#define CMA_PERIMETER                  0x0010
-#define CMA_USER                       0x0020
-
-#define CMA_FIRST                      0x0010
-#define CMA_LAST                       0x0020
-#define CMA_END                                0x0040
-#define CMA_PREV                       0x0080
-#define CMA_NEXT                       0x0100
-
-#define CMA_HORIZONTAL                 0x0200
-#define CMA_VERTICAL                   0x0400
-#define CMA_ICON                       0x0800
-#define CMA_TEXT                       0x1000
-#define CMA_PARTIAL                    0x2000
-#define CMA_COMPLETE                   0x4000
-
-#define CMA_PARENT                     0x0001
-#define CMA_FIRSTCHILD                 0x0002
-#define CMA_LASTCHILD                  0x0004
-
-#define CMA_CNRTITLE                   0x0001
-#define CMA_DELTA                      0x0002
-#define CMA_FLWINDOWATTR               0x0004
-#define CMA_LINESPACING                        0x0008
-#define CMA_PFIELDINFOLAST             0x0010
-
-#define CMA_PSORTRECORD                        0x0020
-#define CMA_PTLORIGIN                  0x0040
-#define CMA_SLBITMAPORICON             0x0080
-#define CMA_XVERTSPLITBAR              0x0100
-#define CMA_PFIELDINFOOBJECT           0x0200
-
-#define CMA_TREEICON                   0x0400
-#define CMA_TREEBITMAP                 0x0800
-#define CMA_CXTREEINDENT               0x1000
-#define CMA_CXTREELINE                 0x2000
-#define CMA_SLTREEBITMAPORICON         0x4000
-
-#define CMA_ITEMORDER                  0x0001
-#define CMA_WINDOW                     0x0002
-#define CMA_WORKSPACE                  0x0004
-#define CMA_ZORDER                     0x0008
-
-#define CMA_DELTATOP                   0x0001
-#define CMA_DELTABOT                   0x0002
-#define CMA_DELTAHOME                  0x0004
-#define CMA_DELTAEND                   0x0008
-
-#define CMA_NOREPOSITION               0x0001
-#define CMA_REPOSITION                 0x0002
-#define CMA_TEXTCHANGED                        0x0004
-#define CMA_ERASE                      0x0008
-#define CMA_NOTEXTCHANGED              0x0010
-#define CMA_FILTER                     0x1000
-
-#define CMA_FREE                       0x0001
-#define CMA_INVALIDATE                 0x0002
-
-#define CMA_ARRANGESTANDARD            0x0000
-#define CMA_ARRANGEGRID                        0x0001
-#define CMA_ARRANGESELECTED            0x0002
-
-#define CMA_AVAIL                      0x0001
-#define CMA_UNAVAIL                    0x0002
-
-#define CN_DRAGAFTER                   0x0065
-#define CN_DRAGLEAVE                   0x0066
-#define CN_DRAGOVER                    0x0067
-#define CN_DROP                                0x0068
-#define CN_DROPHELP                    0x0069
-#define CN_ENTER                       0x006a
-#define CN_INITDRAG                    0x006b
-#define CN_EMPHASIS                    0x006c
-#define CN_KILLFOCUS                   0x006d
-#define CN_SCROLL                      0x006e
-#define CN_QUERYDELTA                  0x006f
-#define CN_SETFOCUS                    0x0070
-#define CN_REALLOCPSZ                  0x0071
-#define CN_BEGINEDIT                   0x0072
-#define CN_ENDEDIT                     0x0073
-#define CN_COLLAPSETREE                        0x0074
-#define CN_EXPANDTREE                  0x0075
-#define CN_HELP                                0x0076
-#define CN_CONTEXTMENU                 0x0077
-#define CN_VERIFYEDIT                  0x0086
-#define CN_PICKUP                      0x0087
-#define CN_DROPNOTIFY                  0x0088
-#define CN_GRIDRESIZED                 0x0089
-
-#define CRA_SELECTED                   0x00000001
-#define CRA_TARGET                     0x00000002
-#define CRA_CURSORED                   0x00000004
-#define CRA_INUSE                      0x00000008
-#define CRA_FILTERED                   0x00000010
-#define CRA_DROPONABLE                 0x00000020
-#define CRA_RECORDREADONLY             0x00000040
-#define CRA_EXPANDED                   0x00000080
-#define CRA_COLLAPSED                  0x00000100
-#define CRA_PICKED                     0x00000200
-#define CRA_LOCKED                     0x00000400
-#define CRA_DISABLED                   0x00001000
-#define CRA_SOURCE                     0x00004000
-#define CRA_IGNORE                     0x00008000
-#define CRA_OWNERFREE                  0x00010000
-#define CRA_OWNERDRAW                  0x00020000
-
-#define CV_TEXT                                0x00000001
-#define CV_NAME                                0x00000002
-#define CV_ICON                                0x00000004
-#define CV_DETAIL                      0x00000008
-#define CV_FLOW                                0x00000010
-#define CV_MINI                                0x00000020
-#define CV_TREE                                0x00000040
-#define CV_GRID                                0x00000080
-#define CV_EXACTLENGTH                 0x10000000
-
-#define PMERR_NOFILTERED_ITEMS         0x1f02
-#define PMERR_COMPARISON_FAILED                0x1f03
-#define PMERR_RECORD_CURRENTLY_INSERTED 0x1f04
-#define PMERR_FI_CURRENTLY_INSERTED    0x1f05
-
-
-typedef struct _TREEITEMDESC
-{
-  HBITMAP  hbmExpanded;
-  HBITMAP  hbmCollapsed;
-  HPOINTER hptrExpanded;
-  HPOINTER hptrCollapsed;
-} TREEITEMDESC;
-typedef TREEITEMDESC *PTREEITEMDESC;
-
-typedef struct _FIELDINFO
-{
-  ULONG                    cb;
-  ULONG                    flData;
-  ULONG                    flTitle;
-  PVOID                    pTitleData;
-  ULONG                    offStruct;
-  PVOID                    pUserData;
-  struct _FIELDINFO *pNextFieldInfo;
-  ULONG                    cxWidth;
-} FIELDINFO;
-typedef FIELDINFO *PFIELDINFO;
-
-typedef struct _RECORDCORE
-{
-  ULONG                     cb;
-  ULONG                     flRecordAttr;
-  POINTL            ptlIcon;
-  struct _RECORDCORE *preccNextRecord;
-  PSZ               pszIcon;
-  HPOINTER          hptrIcon;
-  HPOINTER          hptrMiniIcon;
-  HBITMAP           hbmBitmap;
-  HBITMAP           hbmMiniBitmap;
-  PTREEITEMDESC             pTreeItemDesc;
-  PSZ               pszText;
-  PSZ               pszName;
-  PSZ               pszTree;
-} RECORDCORE;
-typedef RECORDCORE *PRECORDCORE;
-
-typedef struct _MINIRECORDCORE
-{
-  ULONG                         cb;
-  ULONG                         flRecordAttr;
-  POINTL                ptlIcon;
-  struct _MINIRECORDCORE *preccNextRecord;
-  PSZ                   pszIcon;
-  HPOINTER              hptrIcon;
-} MINIRECORDCORE;
-typedef MINIRECORDCORE *PMINIRECORDCORE;
-
-typedef struct _TREEMOVE
-{
-  PRECORDCORE preccMove;
-  PRECORDCORE preccNewParent;
-  PRECORDCORE pRecordOrder;
-  BOOL       flMoveSiblings;
-} TREEMOVE;
-typedef TREEMOVE *PTREEMOVE;
-
-typedef struct _CNRINFO
-{
-  ULONG             cb;
-  PVOID             pSortRecord;
-  PFIELDINFO pFieldInfoLast;
-  PFIELDINFO pFieldInfoObject;
-  PSZ       pszCnrTitle;
-  ULONG             flWindowAttr;
-  POINTL     ptlOrigin;
-  ULONG             cDelta;
-  ULONG             cRecords;
-  SIZEL             slBitmapOrIcon;
-  SIZEL             slTreeBitmapOrIcon;
-  HBITMAP    hbmExpanded;
-  HBITMAP    hbmCollapsed;
-  HPOINTER   hptrExpanded;
-  HPOINTER   hptrCollapsed;
-  LONG      cyLineSpacing;
-  LONG      cxTreeIndent;
-  LONG      cxTreeLine;
-  ULONG             cFields;
-  LONG      xVertSplitbar;
-} CNRINFO;
-typedef CNRINFO *PCNRINFO;
-
-typedef struct _GRIDSQUARE
-{
-  ULONG ulNumber;
-  ULONG ulState;
-  RECTL rctlSquare;
-} GRIDSQUARE;
-typedef GRIDSQUARE *PGRIDSQUARE;
-
-typedef struct _GRIDINFO
-{
-  ULONG cb;
-  SHORT cxGrid;
-  SHORT cyGrid;
-  SHORT sGridRows;
-  SHORT sGridCols;
-  LONG cGridSquares;
-  PGRIDSQUARE pGrid;
-} GRIDINFO;
-typedef GRIDINFO *PGRIDINFO;
-
-typedef struct _CDATE
-{
-  UCHAR         day;
-  UCHAR         month;
-  USHORT year;
-} CDATE;
-typedef CDATE *PCDATE;
-
-typedef struct _CTIME
-{
-  UCHAR hours;
-  UCHAR minutes;
-  UCHAR seconds;
-  UCHAR ucReserved;
-} CTIME;
-typedef CTIME *PCTIME;
-
-typedef struct _CNRDRAGINIT
-{
-  HWND       hwndCnr;
-  PRECORDCORE pRecord;
-  LONG       x;
-  LONG       y;
-  LONG       cx;
-  LONG       cy;
-} CNRDRAGINIT;
-typedef CNRDRAGINIT *PCNRDRAGINIT;
-
-typedef struct _FIELDINFOINSERT
-{
-  ULONG             cb;
-  PFIELDINFO pFieldInfoOrder;
-  ULONG             fInvalidateFieldInfo;
-  ULONG             cFieldInfoInsert;
-} FIELDINFOINSERT;
-typedef FIELDINFOINSERT *PFIELDINFOINSERT;
-
-typedef struct _RECORDINSERT
-{
-  ULONG              cb;
-  PRECORDCORE pRecordOrder;
-  PRECORDCORE pRecordParent;
-  ULONG              fInvalidateRecord;
-  ULONG              zOrder;
-  ULONG              cRecordsInsert;
-} RECORDINSERT;
-typedef RECORDINSERT *PRECORDINSERT;
-
-typedef struct _QUERYRECFROMRECT
-{
-  ULONG cb;
-  RECTL rect;
-  ULONG fsSearch;
-} QUERYRECFROMRECT;
-typedef QUERYRECFROMRECT *PQUERYRECFROMRECT;
-
-typedef struct _QUERYRECORDRECT
-{
-  ULONG              cb;
-  PRECORDCORE pRecord;
-  ULONG              fRightSplitWindow;
-  ULONG              fsExtent;
-} QUERYRECORDRECT;
-typedef QUERYRECORDRECT *PQUERYRECORDRECT;
-
-typedef struct _SEARCHSTRING
-{
-  ULONG cb;
-  PSZ  pszSearch;
-  ULONG fsPrefix;
-  ULONG fsCaseSensitive;
-  ULONG usView;
-} SEARCHSTRING;
-typedef SEARCHSTRING *PSEARCHSTRING;
-
-typedef struct _CNRDRAGINFO
-{
-  PDRAGINFO   pDragInfo;
-  PRECORDCORE pRecord;
-} CNRDRAGINFO;
-typedef CNRDRAGINFO *PCNRDRAGINFO;
-
-typedef struct _CNRLAZYDRAGINFO
-{
-  PDRAGINFO   pDragInfo;
-  PRECORDCORE pRecord;
-  HWND       hwndTarget;
-} CNRLAZYDRAGINFO;
-typedef CNRLAZYDRAGINFO *PCNRLAZYDRAGINFO;
-
-typedef struct _NOTIFYRECORDEMPHASIS
-{
-  HWND       hwndCnr;
-  PRECORDCORE pRecord;
-  ULONG              fEmphasisMask;
-} NOTIFYRECORDEMPHASIS;
-typedef NOTIFYRECORDEMPHASIS *PNOTIFYRECORDEMPHASIS;
-
-typedef struct _NOTIFYRECORDENTER
-{
-  HWND       hwndCnr;
-  ULONG              fKey;
-  PRECORDCORE pRecord;
-} NOTIFYRECORDENTER;
-typedef NOTIFYRECORDENTER *PNOTIFYRECORDENTER;
-
-typedef struct _NOTIFYDELTA
-{
-  HWND hwndCnr;
-  ULONG fDelta;
-} NOTIFYDELTA;
-typedef NOTIFYDELTA *PNOTIFYDELTA;
-
-typedef struct _NOTIFYSCROLL
-{
-  HWND hwndCnr;
-  LONG lScrollInc;
-  ULONG fScroll;
-} NOTIFYSCROLL;
-typedef NOTIFYSCROLL *PNOTIFYSCROLL;
-
-typedef struct _CNREDITDATA
-{
-  ULONG              cb;
-  HWND       hwndCnr;
-  PRECORDCORE pRecord;
-  PFIELDINFO  pFieldInfo;
-  PSZ        *ppszText;
-  ULONG              cbText;
-  ULONG              id;
-} CNREDITDATA;
-typedef CNREDITDATA *PCNREDITDATA;
-
-typedef struct _OWNERBACKGROUND
-{
-  HWND hwnd;
-  HPS  hps;
-  RECTL rclBackground;
-  LONG idWindow;
-} OWNERBACKGROUND;
-typedef OWNERBACKGROUND *POWNERBACKGROUND;
-
-typedef struct _CNRDRAWITEMINFO
-{
-  PRECORDCORE pRecord;
-  PFIELDINFO  pFieldInfo;
-} CNRDRAWITEMINFO;
-typedef CNRDRAWITEMINFO *PCNRDRAWITEMINFO;
-
-#endif /* INCL_WINSTDCNR */
-
-/* ------------------------- WORKPLACE SHELL ------------------------------ */
-
-#if defined (INCL_WPCLASS) || !defined (INCL_NOCOMMON)
-
-#define CCHMAXCLASS                    3
-
-#define QC_First                       0
-#define QC_Next                                1
-#define QC_Last                                2
-#define QC_FIRST                       QC_First
-#define QC_NEXT                                QC_Next
-#define QC_LAST                                QC_Last
-
-#define CO_FAILIFEXISTS                        0
-#define CO_REPLACEIFEXISTS             1
-#define CO_UPDATEIFEXISTS              2
-
-#if !defined (LOCATION_DESKTOP)
-#define LOCATION_DESKTOP               ((PSZ)0xffff0001)
-#endif
-
-typedef struct _OBJCLASS
-{
-  struct _OBJCLASS *pNext;
-  PSZ              pszClassName;
-  PSZ              pszModName;
-} OBJCLASS;
-typedef OBJCLASS *POBJCLASS;
-
-HOBJECT WinCopyObject (HOBJECT hObjectofObject, HOBJECT hObjectofDest,
-    ULONG ulReserved);
-HOBJECT WinCreateObject (PCSZ pszClassName, PCSZ pszTitle, PCSZ pszSetupString,
-    PCSZ pszLocation, ULONG ulFlags);
-HOBJECT WinCreateShadow (HOBJECT hObjectofObject, HOBJECT hObjectofDest,
-    ULONG ulReserved);
-BOOL WinDeregisterObjectClass (PCSZ pszClassName);
-BOOL WinDestroyObject (HOBJECT hObject);
-BOOL WinEnumObjectClasses (POBJCLASS pObjClass, PULONG pulSize);
-BOOL WinIsSOMDDReady (VOID);
-BOOL WinIsWPDServerReady (VOID);
-HOBJECT WinMoveObject (HOBJECT hObjectofObject, HOBJECT hObjectofDest,
-    ULONG ulReserved);
-BOOL WinOpenObject (HOBJECT hObject, ULONG ulView, BOOL fFlag);
-BOOL WinQueryActiveDesktopPathname (PSZ pszPathName, ULONG ulSize);
-HOBJECT WinQueryObject (PCSZ pszObjectID);
-BOOL WinQueryObjectPath (HOBJECT hobject, PSZ pszPathName, ULONG ulSize);
-BOOL WinRegisterObjectClass (PCSZ pszClassName, PCSZ pszModName);
-BOOL WinReplaceObjectClass (PCSZ pszOldClassName, PCSZ pszNewClassName,
-    BOOL fReplace);
-ULONG WinRestartSOMDD (BOOL fState);
-ULONG WinRestartWPDServer (BOOL fState);
-BOOL WinSaveObject (HOBJECT hObject, BOOL fAsync);
-BOOL WinSetObjectData (HOBJECT hObject, PCSZ pszSetupString);
-
-#endif /* INCL_WPCLASS || !INCL_NOCOMMON */
-
-#if !defined (INCL_NOCOMMON)
-
-BOOL WinFreeFileIcon (HPOINTER hptr);
-HPOINTER WinLoadFileIcon (PCSZ pszFileName, BOOL fPrivate);
-BOOL WinRestoreWindowPos (PCSZ pszAppName, PCSZ pszKeyName, HWND hwnd);
-#if defined (INCL_WINPOINTERS)
-BOOL WinSetFileIcon (PCSZ pszFileName, __const__ ICONINFO *pIconInfo);
-#endif
-BOOL WinShutdownSystem (HAB hab, HMQ hmq);
-BOOL WinStoreWindowPos (PCSZ pszAppName, PCSZ pszKeyName, HWND hwnd);
-
-#endif /* !INCL_NOCOMMON */
-
-/* ---------------------------- SPOOLER ----------------------------------- */
-
-#if defined (INCL_SPL)
-
-#define SPL_ERROR                      0
-#define SPL_OK                         1
-
-#define SPL_INI_SPOOLER                        "PM_SPOOLER"
-#define SPL_INI_QUEUE                  "PM_SPOOLER_QUEUE"
-#define SPL_INI_PRINTER                        "PM_SPOOLER_PRINTER"
-#define SPL_INI_PRINTERDESCR           "PM_SPOOLER_PRINTER_DESCR"
-#define SPL_INI_QUEUEDESCR             "PM_SPOOLER_QUEUE_DESCR"
-#define SPL_INI_QUEUEDD                        "PM_SPOOLER_QUEUE_DD"
-#define SPL_INI_QUEUEDDDATA            "PM_SPOOLER_QUEUE_DDDATA"
-
-#define SPLC_ABORT                     1
-#define SPLC_PAUSE                     2
-#define SPLC_CONTINUE                  3
-
-#define SPLDATA_PRINTERJAM             0x0001
-#define SPLDATA_FORMCHGREQD            0x0002
-#define SPLDATA_CARTCHGREQD            0x0004
-#define SPLDATA_PENCHGREQD             0x0008
-#define SPLDATA_DATAERROR              0x0010
-#define SPLDATA_UNEXPECTERROR          0x0020
-#define SPLDATA_OTHER                  0x8000
-
-#define SPLINFO_QPERROR                        0x0001
-#define SPLINFO_DDERROR                        0x0002
-#define SPLINFO_SPLERROR               0x0004
-#define SPLINFO_OTHERERROR             0x0080
-#define SPLINFO_INFORMATION            0x0100
-#define SPLINFO_WARNING                        0x0200
-#define SPLINFO_ERROR                  0x0400
-#define SPLINFO_SEVERE                 0x0800
-#define SPLINFO_USERINTREQD            0x1000
-
-#define SPLPORT_VERSION_REGULAR                0
-#define SPLPORT_VERSION_VIRTUAL                1
-
-#define SSQL_ERROR                     (-1)
-
-#define QP_RAWDATA_BYPASS              0x0001
-#define QP_PRINT_SEPARATOR_PAGE                0x0002
-
-#define QPDAT_ADDRESS                  0
-#define QPDAT_DRIVER_NAME              1
-#define QPDAT_DRIVER_DATA              2
-#define QPDAT_DATA_TYPE                        3
-#define QPDAT_COMMENT                  4
-#define QPDAT_PROC_PARAMS              5
-#define QPDAT_SPL_PARAMS               6
-#define QPDAT_NET_PARAMS               7
-#define QPDAT_DOC_NAME                 8
-#define QPDAT_QUEUE_NAME               9
-#define QPDAT_TOKEN                    10
-#define QPDAT_JOBID                    11
-
-typedef LHANDLE HSPL;
-typedef LHANDLE HSTD;
-typedef HSTD *PHSTD;
-typedef PSZ *PQMOPENDATA;
-typedef unsigned long SPLERR;
-
-typedef struct _SQPOPENDATA
-{
-  PSZ      pszLogAddress;
-  PSZ      pszDriverName;
-  PDRIVDATA pdriv;
-  PSZ      pszDataType;
-  PSZ      pszComment;
-  PSZ      pszProcParams;
-  PSZ      pszSpoolParams;
-  PSZ      pszNetworkParams;
-  PSZ      pszDocName;
-  PSZ      pszQueueName;
-  PSZ      pszToken;
-  USHORT    idJobId;
-} SQPOPENDATA;
-typedef SQPOPENDATA *PSQPOPENDATA;
-
-
-BOOL SplStdClose (HDC hdc);
-BOOL SplStdDelete (HSTD hMetaFile);
-BOOL SplStdGetBits (HSTD hMetaFile, LONG offData, LONG cbData, PCH pchData);
-BOOL SplStdOpen (HDC hdc);
-LONG SplStdQueryLength (HSTD hMetaFile);
-BOOL SplStdStart (HDC hdc);
-HSTD SplStdStop (HDC hdc);
-
-SPLERR SplControlDevice (PSZ pszComputerName, PSZ pszPortName,
-    ULONG ulControl);
-SPLERR SplCopyJob (PCSZ pszSrcComputerName, PCSZ pszSrcQueueName,
-    ULONG ulSrcJob, PCSZ pszTrgComputerName, PCSZ pszTrgQueueName,
-    PULONG pulTrgJob);
-SPLERR SplCreateDevice (PSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf);
-SPLERR SplCreatePort (PCSZ pszComputerName, PCSZ pszPortName,
-    PCSZ pszPortDriver, ULONG ulVersion, PVOID pBuf, ULONG cbBuf);
-SPLERR SplCreateQueue (PSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf);
-SPLERR SplDeleteDevice (PSZ pszComputerName, PSZ pszPrintDeviceName);
-SPLERR SplDeleteJob (PSZ pszComputerName, PSZ pszQueueName, ULONG ulJob);
-SPLERR SplDeletePort (PCSZ pszComputerName, PCSZ pszPortName);
-SPLERR SplDeleteQueue (PSZ pszComputerName, PSZ pszQueueName);
-SPLERR SplEnumDevice (PSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf, PULONG pcReturned, PULONG pcTotal, PULONG pcbNeeded,
-    PVOID pReserved);
-SPLERR SplEnumDriver (PSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf, PULONG pcReturned, PULONG pcTotal, PULONG pcbNeeded,
-    PVOID pReserved);
-SPLERR SplEnumJob (PSZ pszComputerName, PSZ pszQueueName, ULONG ulLevel,
-    PVOID pBuf, ULONG cbBuf, PULONG pcReturned, PULONG pcTotal,
-    PULONG pcbNeeded, PVOID pReserved);
-SPLERR SplEnumPort (PCSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf, PULONG pcReturned, PULONG pcTotal, PULONG pcbNeeded,
-    PVOID pReserved);
-SPLERR SplEnumPrinter (PSZ pszComputerName, ULONG uLevel, ULONG flType,
-    PVOID pBuf, ULONG cbbuf, PULONG pcReturned, PULONG pcTotal,
-    PULONG pcbNeeded, PVOID pReserved);
-SPLERR SplEnumQueue (PSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf, PULONG pcReturned, PULONG pcTotal, PULONG pcbNeeded,
-    PVOID pReserved);
-SPLERR SplEnumQueueProcessor (PSZ pszComputerName, ULONG ulLevel, PVOID pBuf,
-    ULONG cbBuf, PULONG pcReturned, PULONG pcTotal, PULONG pcbNeeded,
-    PVOID pReserved);
-SPLERR SplHoldJob (PCSZ pszComputerName, PCSZ pszQueueName, ULONG ulJob);
-SPLERR SplHoldQueue (PSZ pszComputerName, PSZ pszQueueName);
-SPLERR SplPurgeQueue (PSZ pszComputerName, PSZ pszQueueName);
-SPLERR SplQueryDevice (PSZ pszComputerName, PSZ pszPrintDeviceName,
-    ULONG ulLevel, PVOID pBuf, ULONG cbBuf, PULONG pcbNeeded);
-SPLERR SplQueryDriver (PCSZ pszComputerName, PCSZ pszDriverName,
-    PCSZ pszPrinterName, ULONG ulLevel, PVOID pBuf, ULONG cbBuf,
-    PULONG pcbNeeded);
-SPLERR SplQueryJob (PSZ pszComputerName, PSZ pszQueueName, ULONG ulJob,
-    ULONG ulLevel, PVOID pBuf, ULONG cbBuf, PULONG pcbNeeded);
-SPLERR SplQueryPort (PCSZ pszComputerName, PCSZ pszPortName, ULONG ulLevel,
-    PVOID pBuf, ULONG cbBuf, PULONG pcbNeeded);
-SPLERR SplQueryQueue (PSZ pszComputerName, PSZ pszQueueName, ULONG ulLevel,
-    PVOID pBuf, ULONG cbBuf, PULONG pcbNeeded);
-SPLERR SplReleaseJob (PCSZ pszComputerName, PCSZ pszQueueName, ULONG ulJob);
-SPLERR SplReleaseQueue (PSZ pszComputerName, PSZ pszQueueName);
-SPLERR SplSetDevice (PSZ pszComputerName, PSZ pszPrintDeviceName,
-    ULONG ulLevel, PVOID pBuf, ULONG cbBuf, ULONG ulParmNum);
-SPLERR SplSetDriver (PCSZ pszComputerName, PCSZ pszDriverName,
-    PCSZ pszPrinterName, ULONG ulLevel, PVOID pBuf, ULONG cbBuf,
-    ULONG ulParmNum);
-SPLERR SplSetJob (PSZ pszComputerName, PSZ pszQueueName, ULONG ulJob,
-    ULONG ulLevel, PVOID pBuf, ULONG cbBuf, ULONG ulParmNum);
-SPLERR SplSetPort (PCSZ pszComputerName, PCSZ pszPortName, ULONG ulLevel,
-    PVOID pBuf, ULONG cbBuf, ULONG ulParmNum);
-SPLERR SplSetQueue (PSZ pszComputerName, PSZ pszQueueName, ULONG ulLevel,
-    PVOID pBuf, ULONG cbBuf, ULONG ulParmNum);
-
-ULONG SplMessageBox (PSZ pszLogAddr, ULONG fErrInfo, ULONG fErrData,
-    PSZ pszText, PSZ pszCaption, ULONG idWindow, ULONG fStyle);
-BOOL SplQmAbort (HSPL hspl);
-BOOL SplQmAbortDoc (HSPL hspl);
-BOOL SplQmClose (HSPL hspl);
-BOOL SplQmEndDoc (HSPL hspl);
-ULONG SplQmGetJobID (HSPL hspl, ULONG ulLevel, PVOID pBuf, ULONG cbBuf,
-    PULONG pcbNeeded);
-BOOL SplQmNewPage (HSPL hspl, ULONG ulPageNumber);
-HSPL SplQmOpen (PSZ pszToken, LONG lCount, PQMOPENDATA pqmdopData);
-BOOL SplQmStartDoc (HSPL hspl, PSZ pszDocName);
-BOOL SplQmWrite (HSPL hspl, LONG lCount, PVOID pData);
-
-#if defined (INCL_SPLDOSPRINT)
-
-#define CNLEN                          15
-#define DTLEN                          9
-#define PDLEN                          8
-#define QNLEN                          12
-#define UNLEN                          20
-
-#define DRIV_DEVICENAME_SIZE           31
-#define DRIV_NAME_SIZE                 8
-#define FORMNAME_SIZE                  31
-#define MAXCOMMENTSZ                   48
-#define PRINTERNAME_SIZE               32
-#define QP_DATATYPE_SIZE               15
-
-#define PRD_STATUS_MASK                        0x0003
-#define PRD_DEVSTATUS                  0x0ffc
-
-#define PRD_ACTIVE                     0
-#define PRD_PAUSED                     1
-
-#define PRD_DELETE                     0
-#define PRD_PAUSE                      1
-#define PRD_CONT                       2
-#define PRD_RESTART                    3
-
-#define PRD_LOGADDR_PARMNUM            3
-#define PRD_COMMENT_PARMNUM            7
-#define PRD_DRIVERS_PARMNUM            8
-#define PRD_TIMEOUT_PARMNUM            10
-
-#define PRJ_NOTIFYNAME_PARMNUM         3
-#define PRJ_DATATYPE_PARMNUM           4
-#define PRJ_PARMS_PARMNUM              5
-#define PRJ_POSITION_PARMNUM           6
-#define PRJ_JOBFILEINUSE_PARMNUM       7
-#define PRJ_COMMENT_PARMNUM            11
-#define PRJ_DOCUMENT_PARMNUM           12
-#define PRJ_STATUSCOMMENT_PARMNUM      13
-#define PRJ_PRIORITY_PARMNUM           14
-#define PRJ_PROCPARMS_PARMNUM          16
-#define PRJ_DRIVERDATA_PARMNUM         18
-#define PRJ_SPOOLFILENAME_PARMNUM      19
-#define PRJ_PAGESSPOOLED_PARMNUM       20
-#define PRJ_PAGESSENT_PARMNUM          21
-#define PRJ_PAGESPRINTED_PARMNUM       22
-#define PRJ_TIMEPRINTED_PARMNUM                23
-#define PRJ_EXTENDSTATUS_PARMNUM       24
-#define PRJ_STARTPAGE_PARMNUM          25
-#define PRJ_ENDPAGE_PARMNUM            26
-#define PRJ_MAXPARMNUM                 26
-
-#define PRJ_QSTATUS                    0x0003
-#define PRJ_DEVSTATUS                  0x0ffc
-
-#define PRJ_COMPLETE                   0x0004
-#define PRJ_INTERV                     0x0008
-#define PRJ_ERROR                      0x0010
-#define PRJ_DESTOFFLINE                        0x0020
-#define PRJ_DESTPAUSED                 0x0040
-#define PRJ_NOTIFY                     0x0080
-#define PRJ_DESTNOPAPER                        0x0100
-#define PRJ_DESTFORMCHG                        0x0200
-#define PRJ_DESTCRTCHG                 0x0400
-#define PRJ_DESTPENCHG                 0x0800
-#define PRJ_JOBFILEINUSE               0x4000
-#define PRJ_DELETED                    0x8000
-
-#define PRJ_QS_QUEUED                  0
-#define PRJ_QS_PAUSED                  1
-#define PRJ_QS_SPOOLING                        2
-#define PRJ_QS_PRINTING                        3
-
-#define PRJ_MAX_PRIORITY               99
-#define PRJ_MIN_PRIORITY               1
-#define PRJ_NO_PRIORITY                        0
-
-#define PRJ4_INPRINTER                 0x0001
-#define PRJ4_STACKED                   0x0002
-#define PRJ4_HELDINPRINTER             0x0004
-#define PRJ4_JOBSTARTED                        0x0008
-
-#define PRPO_PORT_DRIVER               1
-#define PRPO_PROTOCOL_CNV              2
-#define PRPO_MODE                      3
-#define PRPO_PRIORITY                  4
-
-#define PRPORT_AUTODETECT              1
-#define PRPORT_DISABLE_BIDI            2
-#define PRPORT_ENABLE_BIDI             3
-
-#define PRQ_PRIORITY_PARMNUM           2
-#define PRQ_STARTTIME_PARMNUM          3
-#define PRQ_UNTILTIME_PARMNUM          4
-#define PRQ_SEPARATOR_PARMNUM          5
-#define PRQ_PROCESSOR_PARMNUM          6
-#define PRQ_DESTINATIONS_PARMNUM       7
-#define PRQ_PARMS_PARMNUM              8
-#define PRQ_COMMENT_PARMNUM            9
-#define PRQ_TYPE_PARMNUM               10
-#define PRQ_PRINTERS_PARMNUM           12
-#define PRQ_DRIVERNAME_PARMNUM         13
-#define PRQ_DRIVERDATA_PARMNUM         14
-#define PRQ_REMOTE_COMPUTER_PARMNUM    15
-#define PRQ_REMOTE_QUEUE_PARMNUM       16
-#define PRQ_MAXPARMNUM                 16
-
-#define PRQ_MAX_PRIORITY               1
-#define PRQ_DEF_PRIORITY               5
-#define PRQ_MIN_PRIORITY               9
-#define PRQ_NO_PRIORITY                        0
-
-#define PRQ_STATUS_MASK                        3
-#define PRQ_ACTIVE                     0
-#define PRQ_PAUSED                     1
-#define PRQ_ERROR                      2
-#define PRQ_PENDING                    3
-
-#define PRQ3_PAUSED                    0x0001
-#define PRQ3_PENDING                   0x0002
-
-#define PRQ3_TYPE_RAW                  0x0001
-#define PRQ3_TYPE_BYPASS               0x0002
-#define PRQ3_TYPE_APPDEFAULT           0x0004
-
-#define SPL_PR_QUEUE                   0x0001
-#define SPL_PR_DIRECT_DEVICE           0x0002
-#define SPL_PR_QUEUED_DEVICE           0x0004
-#define SPL_PR_LOCAL_ONLY              0x0100
-
-typedef struct _DRIVPROPS
-{
-  PSZ  pszKeyName;
-  ULONG cbBuf;
-  PVOID pBuf;
-} DRIVPROPS;
-typedef DRIVPROPS *PDRIVPROPS;
-
-typedef struct _PRINTERINFO
-{
-  ULONG flType;
-  PSZ  pszComputerName;
-  PSZ  pszPrintDestinationName;
-  PSZ  pszDescription;
-  PSZ  pszLocalName;
-} PRINTERINFO;
-typedef PRINTERINFO *PPRINTERINFO;
-
-typedef struct _PRJINFO
-{
-  USHORT uJobId;
-  CHAR  szUserName[UNLEN+1];
-  CHAR  pad_1;
-  CHAR  szNotifyName[CNLEN+1];
-  CHAR  szDataType[DTLEN+1];
-  PSZ   pszParms;
-  USHORT uPosition;
-  USHORT fsStatus;
-  PSZ   pszStatus;
-  ULONG         ulSubmitted;
-  ULONG         ulSize;
-  PSZ   pszComment;
-} PRJINFO;
-typedef PRJINFO *PPRJINFO;
-
-typedef struct _PRJINFO2
-{
-  USHORT uJobId;
-  USHORT uPriority;
-  PSZ   pszUserName;
-  USHORT uPosition;
-  USHORT fsStatus;
-  ULONG         ulSubmitted;
-  ULONG         ulSize;
-  PSZ   pszComment;
-  PSZ   pszDocument;
-} PRJINFO2;
-typedef PRJINFO2 *PPRJINFO2;
-
-typedef struct _PRJINFO3
-{
-  USHORT    uJobId;
-  USHORT    uPriority;
-  PSZ      pszUserName;
-  USHORT    uPosition;
-  USHORT    fsStatus;
-  ULONG            ulSubmitted;
-  ULONG            ulSize;
-  PSZ      pszComment;
-  PSZ      pszDocument;
-  PSZ      pszNotifyName;
-  PSZ      pszDataType;
-  PSZ      pszParms;
-  PSZ      pszStatus;
-  PSZ      pszQueue;
-  PSZ      pszQProcName;
-  PSZ      pszQProcParms;
-  PSZ      pszDriverName;
-  PDRIVDATA pDriverData;
-  PSZ      pszPrinterName;
-} PRJINFO3;
-typedef PRJINFO3 *PPRJINFO3;
-
-typedef struct _PRJINFO4
-{
-  USHORT uJobId;
-  USHORT uPriority;
-  PSZ   pszUserName;
-  USHORT uPosition;
-  USHORT fsStatus;
-  ULONG         ulSubmitted;
-  ULONG         ulSize;
-  PSZ   pszComment;
-  PSZ   pszDocument;
-  PSZ   pszSpoolFileName;
-  PSZ   pszPortName;
-  PSZ   pszStatus;
-  ULONG         ulPagesSpooled;
-  ULONG         ulPagesSent;
-  ULONG         ulPagesPrinted;
-  ULONG         ulTimePrinted;
-  ULONG         ulExtendJobStatus;
-  ULONG         ulStartPage;
-  ULONG         ulEndPage;
-} PRJINFO4;
-typedef PRJINFO4 *PPRJINFO4;
-
-typedef struct _PRDINFO
-{
-  CHAR   szName[PDLEN+1];
-  CHAR   szUserName[UNLEN+1];
-  USHORT  uJobId;
-  USHORT  fsStatus;
-  PSZ    pszStatus;
-  USHORT  time;
-} PRDINFO;
-typedef PRDINFO *PPRDINFO;
-
-typedef struct _PRDINFO3
-{
-  PSZ   pszPrinterName;
-  PSZ   pszUserName;
-  PSZ   pszLogAddr;
-  USHORT uJobId;
-  USHORT fsStatus;
-  PSZ   pszStatus;
-  PSZ   pszComment;
-  PSZ   pszDrivers;
-  USHORT time;
-  USHORT usTimeOut;
-} PRDINFO3;
-typedef PRDINFO3 *PPRDINFO3;
-
-typedef struct _PRQINFO
-{
-  CHAR  szName[QNLEN+1];
-  CHAR  pad_1;
-  USHORT uPriority;
-  USHORT uStartTime;
-  USHORT uUntilTime;
-  PSZ   pszSepFile;
-  PSZ   pszPrProc;
-  PSZ   pszDestinations;
-  PSZ   pszParms;
-  PSZ   pszComment;
-  USHORT fsStatus;
-  USHORT cJobs;
-} PRQINFO;
-typedef PRQINFO *PPRQINFO;
-
-typedef struct _PRQINFO3
-{
-  PSZ      pszName;
-  USHORT    uPriority;
-  USHORT    uStartTime;
-  USHORT    uUntilTime;
-  USHORT    fsType;
-  PSZ      pszSepFile;
-  PSZ      pszPrProc;
-  PSZ      pszParms;
-  PSZ      pszComment;
-  USHORT    fsStatus;
-  USHORT    cJobs;
-  PSZ      pszPrinters;
-  PSZ      pszDriverName;
-  PDRIVDATA pDriverData;
-} PRQINFO3;
-typedef PRQINFO3 *PPRQINFO3;
-
-typedef struct _PRQINFO6
-{
-  PSZ      pszName;
-  USHORT    uPriority;
-  USHORT    uStartTime;
-  USHORT    uUntilTime;
-  USHORT    fsType;
-  PSZ      pszSepFile;
-  PSZ      pszPrProc;
-  PSZ      pszParms;
-  PSZ      pszComment;
-  USHORT    fsStatus;
-  USHORT    cJobs;
-  PSZ      pszPrinters;
-  PSZ      pszDriverName;
-  PDRIVDATA pDriverData;
-  PSZ      pszRemoteComputerName;
-  PSZ      pszRemoteQueueName;
-} PRQINFO6;
-typedef PRQINFO6 *PPRQINFO6;
-
-typedef struct _PRIDINFO
-{
-  USHORT uJobId;
-  CHAR  szComputerName[CNLEN+1];
-  CHAR  szQueueName[QNLEN+1];
-  CHAR  pad_1;
-} PRIDINFO;
-typedef PRIDINFO *PPRIDINFO;
-
-typedef struct _PRDRIVINFO
-{
-  CHAR szDrivName[DRIV_NAME_SIZE+1+DRIV_DEVICENAME_SIZE+1];
-} PRDRIVINFO;
-typedef PRDRIVINFO *PPRDRIVINFO;
-
-typedef struct _PRDRIVINFO2
-{
-  PSZ   pszPrinterName;
-  PSZ   pszDriverName;
-  USHORT usFlags;
-  USHORT cDriverProps;
-} PRDRIVINFO2;
-typedef PRDRIVINFO2 *PPRDRIVINFO2;
-
-typedef struct _PRQPROCINFO
-{
-  CHAR szQProcName[QNLEN+1];
-} PRQPROCINFO;
-typedef PRQPROCINFO *PPRQPROCINFO;
-
-typedef struct _PRPORTINFO
-{
-  CHAR szPortName[PDLEN+1];
-} PRPORTINFO;
-typedef PRPORTINFO *PPRPORTINFO;
-
-typedef struct _PRPORTINFO1
-{
-  PSZ pszPortName;
-  PSZ pszPortDriverName;
-  PSZ pszPortDriverPathName;
-} PRPORTINFO1;
-typedef PRPORTINFO1 *PPRPORTINFO1;
-
-typedef struct _PRPORTINFO2
-{
-  PSZ  pszPortName;
-  PSZ  pszPortDriver;
-  PSZ  pszProtocolConverter;
-  ULONG ulReserved;
-  ULONG ulMode;
-  ULONG ulPriority;
-} PRPORTINFO2;
-typedef PRPORTINFO2 *PPRPORTINFO2;
-
-typedef struct _QMJOBINFO
-{
-  ULONG ulJobID;
-  PSZ  pszComputerName;
-  PSZ  pszQueueName;
-} QMJOBINFO;
-typedef QMJOBINFO *PQMJOBINFO;
-
-#endif /* INCL_SPLDOSPRINT */
-#endif /* INCL_SPL */
-
-/* -------------------------- HELP MANAGER -------------------------------- */
-
-#if defined (INCL_WINHELP)
-
-#define CMIC_HIDE_PANEL_ID             0x0000
-#define CMIC_SHOW_PANEL_ID             0x0001
-#define CMIC_TOGGLE_PANEL_ID           0x0002
-
-#define CTRL_PREVIOUS_ID               ((USHORT)0x0001)
-#define CTRL_SEARCH_ID                 ((USHORT)0x0002)
-#define CTRL_PRINT_ID                  ((USHORT)0x0003)
-#define CTRL_INDEX_ID                  ((USHORT)0x0004)
-#define CTRL_CONTENTS_ID               ((USHORT)0x0005)
-#define CTRL_BACK_ID                   ((USHORT)0x0006)
-#define CTRL_FORWARD_ID                        ((USHORT)0x0007)
-#define CTRL_TUTORIAL_ID               ((USHORT)0x00ff)
-#define CTRL_USER_ID_BASE              ((USHORT)0x0101)
-
-#define HM_MSG_BASE                    0x0220
-#define HM_DISMISS_WINDOW              0x0221
-#define HM_DISPLAY_HELP                        0x0222
-#define HM_EXT_HELP                    0x0223
-#define HM_GENERAL_HELP                        0x0223 /*!*/
-#define HM_SET_ACTIVE_WINDOW           0x0224
-#define HM_LOAD_HELP_TABLE             0x0225
-#define HM_CREATE_HELP_TABLE           0x0226
-#define HM_SET_HELP_WINDOW_TITLE       0x0227
-#define HM_SET_SHOW_PANEL_ID           0x0228
-#define HM_REPLACE_HELP_FOR_HELP       0x0229
-#define HM_REPLACE_USING_HELP          0x0229 /*!*/
-#define HM_HELP_INDEX                  0x022a
-#define HM_HELP_CONTENTS               0x022b
-#define HM_KEYS_HELP                   0x022c
-#define HM_SET_HELP_LIBRARY_NAME       0x022d
-#define HM_ERROR                       0x022e
-#define HM_HELPSUBITEM_NOT_FOUND       0x022f
-#define HM_QUERY_KEYS_HELP             0x0230
-#define HM_TUTORIAL                    0x0231
-#define HM_EXT_HELP_UNDEFINED          0x0232
-#define HM_GENERAL_HELP_UNDEFINED      0x0232 /*!*/
-#define HM_ACTIONBAR_COMMAND           0x0233
-#define HM_INFORM                      0x0234
-#define HM_SET_OBJCOM_WINDOW           0x0238
-#define HM_UPDATE_OBJCOM_WINDOW_CHAIN  0x0239
-#define HM_QUERY_DDF_DATA              0x023a
-#define HM_INVALIDATE_DDF_DATA         0x023b
-#define HM_QUERY                       0x023c
-#define HM_SET_COVERPAGE_SIZE          0x023d
-#define HM_NOTIFY                      0x0242
-#define HM_SET_USERDATA                        0x0243
-#define HM_CONTROL                     0x0244
-
-#define HM_RESOURCEID                  0
-#define HM_PANELNAME                   1
-
-#define HMERR_NO_FRAME_WND_IN_CHAIN    0x1001
-#define HMERR_INVALID_ASSOC_APP_WND    0x1002
-#define HMERR_INVALID_ASSOC_HELP_INST  0x1003
-#define HMERR_INVALID_DESTROY_HELP_INST 0x1004
-#define HMERR_NO_HELP_INST_IN_CHAIN    0x1005
-#define HMERR_INVALID_HELP_INSTANCE_HDL 0x1006
-#define HMERR_INVALID_QUERY_APP_WND    0x1007
-#define HMERR_HELP_INST_CALLED_INVALID 0x1008
-#define HMERR_HELPTABLE_UNDEFINE       0x1009
-#define HMERR_HELP_INSTANCE_UNDEFINE   0x100a
-#define HMERR_HELPITEM_NOT_FOUND       0x100b
-#define HMERR_INVALID_HELPSUBITEM_SIZE 0x100c
-#define HMERR_HELPSUBITEM_NOT_FOUND    0x100d
-
-#define HMERR_INDEX_NOT_FOUND          0x2001
-#define HMERR_CONTENT_NOT_FOUND                0x2002
-#define HMERR_OPEN_LIB_FILE            0x2003
-#define HMERR_READ_LIB_FILE            0x2004
-#define HMERR_CLOSE_LIB_FILE           0x2005
-#define HMERR_INVALID_LIB_FILE         0x2006
-#define HMERR_NO_MEMORY                        0x2007
-#define HMERR_ALLOCATE_SEGMENT         0x2008
-#define HMERR_FREE_MEMORY              0x2009
-#define HMERR_PANEL_NOT_FOUND          0x2010
-#define HMERR_DATABASE_NOT_OPEN                0x2011
-#define HMERR_LOAD_DLL                 0x2013
-
-#define HMPANELTYPE_NUMBER             0
-#define HMPANELTYPE_NAME               1
-
-#define HMQVP_NUMBER                   0x0001
-#define HMQVP_NAME                     0x0002
-#define HMQVP_GROUP                    0x0003
-
-#define HMQW_COVERPAGE                 0x0001
-#define HMQW_INDEX                     0x0002
-#define HMQW_TOC                       0x0003
-#define HMQW_SEARCH                    0x0004
-#define HMQW_VIEWPAGES                 0x0005
-#define HMQW_LIBRARY                   0x0006
-#define HMQW_VIEWPORT                  0x0007
-#define HMQW_OBJCOM_WINDOW             0x0008
-#define HMQW_INSTANCE                  0x0009
-#define HMQW_ACTIVEVIEWPORT            0x000a
-#define CONTROL_SELECTED               0x000b
-
-#define HMQW_GROUP_VIEWPORT            0x00f1
-#define HMQW_RES_VIEWPORT              0x00f2
-#define USERDATA                       0x00f3
-
-#define HWND_PARENT                    (HWND)NULL
-
-#define OPEN_COVERPAGE                 0x0001
-#define OPEN_PAGE                      0x0002
-#define SWAP_PAGE                      0x0003
-#define OPEN_TOC                       0x0004
-#define OPEN_INDEX                     0x0005
-#define OPEN_HISTORY                   0x0006
-#define OPEN_SEARCH_HIT_LIST           0x0007
-#define OPEN_LIBRARY                   0x0008
-
-
-typedef USHORT HELPSUBTABLE;
-typedef HELPSUBTABLE *PHELPSUBTABLE;
-
-
-typedef struct _ACVP
-{
-  ULONG cb;
-  HAB  hAB;
-  HMQ  hmq;
-  ULONG ObjectID;
-  HWND hWndParent;
-  HWND hWndOwner;
-  HWND hWndACVP;
-} ACVP;
-typedef ACVP *PACVP;
-
-typedef struct _HELPTABLE
-{
-  USHORT       idAppWindow;
-  PHELPSUBTABLE phstHelpSubTable;
-  USHORT       idExtPanel;
-} HELPTABLE;
-typedef HELPTABLE *PHELPTABLE;
-
-typedef struct _HELPINIT
-{
-  ULONG             cb;
-  ULONG             ulReturnCode;
-  PSZ       pszTutorialName;
-  PHELPTABLE phtHelpTable;
-  HMODULE    hmodHelpTableModule;
-  HMODULE    hmodAccelActionBarModule;
-  ULONG             idAccelTable;
-  ULONG             idActionBar;
-  PSZ       pszHelpWindowTitle;
-  ULONG             fShowPanelId;
-  PSZ       pszHelpLibraryName;
-} HELPINIT;
-typedef HELPINIT *PHELPINIT;
-
-BOOL WinAssociateHelpInstance (HWND hwndHelpInstance, HWND hwndApp);
-HWND WinCreateHelpInstance (HAB hab, PHELPINIT phinitHMInitStructure);
-BOOL WinCreateHelpTable (HWND hwndHelpInstance,
-    __const__ HELPTABLE *phtHelpTable);
-BOOL WinDestroyHelpInstance (HWND hwndHelpInstance);
-BOOL WinLoadHelpTable (HWND hwndHelpInstance, ULONG idHelpTable,
-    HMODULE Module);
-HWND WinQueryHelpInstance (HWND hwndApp);
-
-#endif /* INCL_WINHELP */
-
-
-#if defined (INCL_DDF)
-
-#define ART_RUNIN                      0x0010
-#define ART_LEFT                       0x0001
-#define ART_RIGHT                      0x0002
-#define ART_CENTER                     0x0004
-
-#define CLR_UNCHANGED                  (-6)
-
-#define HMBT_NONE                      1
-#define HMBT_ALL                       2
-#define HMBT_FIT                       3
-
-#define HMERR_DDF_MEMORY               0x3001
-#define HMERR_DDF_ALIGN_TYPE           0x3002
-#define HMERR_DDF_BACKCOLOR            0x3003
-#define HMERR_DDF_FORECOLOR            0x3004
-#define HMERR_DDF_FONTSTYLE            0x3005
-#define HMERR_DDF_REFTYPE              0x3006
-#define HMERR_DDF_LIST_UNCLOSED                0x3007
-#define HMERR_DDF_LIST_UNINITIALIZED   0x3008
-#define HMERR_DDF_LIST_BREAKTYPE       0x3009
-#define HMERR_DDF_LIST_SPACING         0x300A
-#define HMERR_DDF_HINSTANCE            0x300B
-#define HMERR_DDF_EXCEED_MAX_LENGTH    0x300C
-#define HMERR_DDF_EXCEED_MAX_INC       0x300D
-#define HMERR_DDF_INVALID_DDF          0x300E
-#define HMERR_DDF_FORMAT_TYPE          0x300F
-#define HMERR_DDF_INVALID_PARM         0x3010
-#define HMERR_DDF_INVALID_FONT         0x3011
-#define HMERR_DDF_SEVERE               0x3012
-
-#define HMLS_SINGLELINE                        1
-#define HMLS_DOUBLELINE                        2
-
-#define REFERENCE_BY_ID                        0
-#define REFERENCE_BY_RES               1
-
-typedef VOID *HDDF;
-
-BOOL DdfBeginList (HDDF hddf, ULONG ulWidthDT, ULONG fBreakType,
-    ULONG fSpacing);
-BOOL DdfBitmap (HDDF hddf, HBITMAP hbm, ULONG fAlign);
-BOOL DdfEndList (HDDF hddf);
-BOOL DdfHyperText (HDDF hddf, PCSZ pszText, PCSZ pszReference,
-    ULONG fReferenceType);
-BOOL DdfInform (HDDF hddf, PCSZ pszText, ULONG resInformNumber);
-HDDF DdfInitialize (HWND hwndHelpInstance, ULONG cbBuffer, ULONG ulIncrement);
-BOOL DdfListItem (HDDF hddf, PCSZ pszTerm, PCSZ pszDescription);
-BOOL DdfMetafile (HDDF hddf, HMF hmf, __const__ RECTL *prclRect);
-BOOL DdfPara (HDDF hddf);
-BOOL DdfSetColor (HDDF hddf, COLOR fBackColor, COLOR fForColor);
-BOOL DdfSetFont (HDDF hddf, PCSZ pszFaceName, ULONG ulWidth, ULONG ulHeight);
-BOOL DdfSetFontStyle (HDDF hddf, ULONG fFontStyle);
-BOOL DdfSetFormat (HDDF hddf, ULONG fFormatType);
-BOOL DdfSetTextAlign (HDDF hddf, ULONG fAlign);
-BOOL DdfText (HDDF hddf, PCSZ pszText);
-
-#endif /* INCL_DDF */
-
-/* ---------------------- Advanced Video ---------------------------------- */
-
-#if defined (INCL_FONTFILEFORMAT)
-
-#define FONTDEFFONT1                   0x0047
-#define FONTDEFFONT2                   0x0042
-#define FONTDEFFONT3                   0x0042
-#define FONTDEFCHAR1                   0x0081
-#define FONTDEFCHAR2                   0x0081
-#define FONTDEFCHAR3                   0x00b8
-#define FONTDEFDEVFONT                 0x2000
-#define FONTDEFFOCA32                  0x4000
-#define SPACE_UNDEF                    0x8000
-
-#define FONT_SIGNATURE                 0xfffffffe
-#define FONT_METRICS                   0x00000001
-#define FONT_DEFINITION                        0x00000002
-#define FONT_KERNPAIRS                 0x00000003
-#define FONT_ADDITIONALMETRICS         0x00000004
-#define FONT_ENDRECORD                 0xffffffff
-
-#define QUERY_PUBLIC_FONTS             0x0001
-#define QUERY_PRIVATE_FONTS            0x0002
-
-#define CDEF_GENERIC                   0x0001
-#define CDEF_BOLD                      0x0002
-#define CDEF_ITALIC                    0x0004
-#define CDEF_UNDERSCORE                        0x0008
-#define CDEF_STRIKEOUT                 0x0010
-#define CDEF_OUTLINE                   0x0020
-
-typedef struct _FOCAMETRICS
-{
-  ULONG         ulIdentity;
-  ULONG         ulSize;
-  CHAR  szFamilyname[32];
-  CHAR  szFacename[32];
-  SHORT         usRegistryId;
-  SHORT         usCodePage;
-  SHORT         yEmHeight;
-  SHORT         yXHeight;
-  SHORT         yMaxAscender;
-  SHORT         yMaxDescender;
-  SHORT         yLowerCaseAscent;
-  SHORT         yLowerCaseDescent;
-  SHORT         yInternalLeading;
-  SHORT         yExternalLeading;
-  SHORT         xAveCharWidth;
-  SHORT         xMaxCharInc;
-  SHORT         xEmInc;
-  SHORT         yMaxBaselineExt;
-  SHORT         sCharSlope;
-  SHORT         sInlineDir;
-  SHORT         sCharRot;
-  USHORT usWeightClass;
-  USHORT usWidthClass;
-  SHORT         xDeviceRes;
-  SHORT         yDeviceRes;
-  SHORT         usFirstChar;
-  SHORT         usLastChar;
-  SHORT         usDefaultChar;
-  SHORT         usBreakChar;
-  SHORT         usNominalPointSize;
-  SHORT         usMinimumPointSize;
-  SHORT         usMaximumPointSize;
-  SHORT         fsTypeFlags;
-  SHORT         fsDefn;
-  SHORT         fsSelectionFlags;
-  SHORT         fsCapabilities;
-  SHORT         ySubscriptXSize;
-  SHORT         ySubscriptYSize;
-  SHORT         ySubscriptXOffset;
-  SHORT         ySubscriptYOffset;
-  SHORT         ySuperscriptXSize;
-  SHORT         ySuperscriptYSize;
-  SHORT         ySuperscriptXOffset;
-  SHORT         ySuperscriptYOffset;
-  SHORT         yUnderscoreSize;
-  SHORT         yUnderscorePosition;
-  SHORT         yStrikeoutSize;
-  SHORT         yStrikeoutPosition;
-  SHORT         usKerningPairs;
-  SHORT         sFamilyClass;
-  PSZ   pszDeviceNameOffset;
-} FOCAMETRICS;
-typedef FOCAMETRICS *PFOCAMETRICS;
-
-typedef struct _FONTFILEMETRICS
-{
-  ULONG         ulIdentity;
-  ULONG         ulSize;
-  CHAR  szFamilyname[32];
-  CHAR  szFacename[32];
-  SHORT         usRegistryId;
-  SHORT         usCodePage;
-  SHORT         yEmHeight;
-  SHORT         yXHeight;
-  SHORT         yMaxAscender;
-  SHORT         yMaxDescender;
-  SHORT         yLowerCaseAscent;
-  SHORT         yLowerCaseDescent;
-  SHORT         yInternalLeading;
-  SHORT         yExternalLeading;
-  SHORT         xAveCharWidth;
-  SHORT         xMaxCharInc;
-  SHORT         xEmInc;
-  SHORT         yMaxBaselineExt;
-  SHORT         sCharSlope;
-  SHORT         sInlineDir;
-  SHORT         sCharRot;
-  USHORT usWeightClass;
-  USHORT usWidthClass;
-  SHORT         xDeviceRes;
-  SHORT         yDeviceRes;
-  SHORT         usFirstChar;
-  SHORT         usLastChar;
-  SHORT         usDefaultChar;
-  SHORT         usBreakChar;
-  SHORT         usNominalPointSize;
-  SHORT         usMinimumPointSize;
-  SHORT         usMaximumPointSize;
-  SHORT         fsTypeFlags;
-  SHORT         fsDefn;
-  SHORT         fsSelectionFlags;
-  SHORT         fsCapabilities;
-  SHORT         ySubscriptXSize;
-  SHORT         ySubscriptYSize;
-  SHORT         ySubscriptXOffset;
-  SHORT         ySubscriptYOffset;
-  SHORT         ySuperscriptXSize;
-  SHORT         ySuperscriptYSize;
-  SHORT         ySuperscriptXOffset;
-  SHORT         ySuperscriptYOffset;
-  SHORT         yUnderscoreSize;
-  SHORT         yUnderscorePosition;
-  SHORT         yStrikeoutSize;
-  SHORT         yStrikeoutPosition;
-  SHORT         usKerningPairs;
-  SHORT         sFamilyClass;
-  ULONG         ulReserved;
-  PANOSE panose;
-} FONTFILEMETRICS;
-typedef FONTFILEMETRICS *PFONTFILEMETRICS;
-
-typedef struct _FONTDEFINITIONHEADER
-{
-  ULONG ulIdentity;
-  ULONG ulSize;
-  SHORT fsFontdef;
-  SHORT fsChardef;
-  SHORT usCellSize;
-  SHORT xCellWidth;
-  SHORT yCellHeight;
-  SHORT xCellIncrement;
-  SHORT xCellA;
-  SHORT xCellB;
-  SHORT xCellC;
-  SHORT pCellBaseOffset;
-} FONTDEFINITIONHEADER;
-typedef FONTDEFINITIONHEADER *PFONTDEFINITIONHEADER;
-
-typedef struct _FONTSIGNATURE
-{
-  ULONG ulIdentity;
-  ULONG ulSize;
-  CHAR achSignature[12];
-} FONTSIGNATURE;
-typedef FONTSIGNATURE *PFONTSIGNATURE;
-
-typedef struct _ADDITIONALMETRICS
-{
-  ULONG         ulIdentity;
-  ULONG         ulSize;
-  PANOSE panose;
-} ADDITIONALMETRICS;
-typedef ADDITIONALMETRICS *PADDITIONALMETRICS;
-
-typedef struct _FOCAFONT
-{
-  FONTSIGNATURE               fsSignature;
-  FOCAMETRICS         fmMetrics;
-  FONTDEFINITIONHEADER fdDefinitions;
-} FOCAFONT;
-typedef FOCAFONT *PFOCAFONT;
-
-typedef FOCAFONT FOCAFONT32;
-typedef FOCAFONT32 *PFOCAFONT32;
-
-#endif /* INCL_FONTFILEFORMAT */
-
-/* ---------------------- Advanced Video ---------------------------------- */
-
-#if defined (INCL_AVIO)
-
-#define FORMAT_CGA                     0x0001
-#define FORMAT_4BYTE                   0x0003
-
-#define VQF_PUBLIC                     0x0001
-#define VQF_PRIVATE                    0x0002
-
-typedef USHORT HVPS;
-typedef HVPS *PHVPS;
-
-USHORT VioAssociate (HDC hdc, HVPS hvps);
-USHORT VioCreateLogFont (PFATTRS pfatattrs, LONG llcid, PSTR8 pName,
-    HVPS hvps);
-USHORT VioCreatePS (PHVPS phvps, SHORT sDepth, SHORT sWidth, SHORT sFormat,
-    SHORT sAttrs, HVPS hvpsReserved);
-USHORT VioDeleteSetId (LONG llcid, HVPS hvps);
-USHORT VioDestroyPS (HVPS hvps);
-USHORT VioGetDeviceCellSize (PSHORT psHeight, PSHORT psWidth, HVPS hvps);
-USHORT VioGetOrg (PSHORT psRow, PSHORT psColumn, HVPS hvps);
-USHORT VioQueryFonts (PLONG plRemfonts, PFONTMETRICS afmMetrics,
-    LONG lMetricsLength, PLONG plFonts, PSZ pszFacename, ULONG flOptions,
-    HVPS hvps);
-USHORT VioQuerySetIds (PLONG allcids, PSTR8 pNames, PLONG alTypes, LONG lcount,
-    HVPS hvps);
-USHORT VioSetDeviceCellSize (SHORT sHeight, SHORT sWidth, HVPS hvps);
-USHORT VioSetOrg (SHORT sRow, SHORT sColumn, HVPS hvps);
-USHORT VioShowPS (SHORT sDepth, SHORT sWidth, SHORT soffCell, HVPS hvps);
-
-MRESULT WinDefAVioWindowProc (HWND hwnd, USHORT msg, ULONG mp1, ULONG mp2);
-
-#endif /* INCL_AVIO */
-
-/* --------------------------- MONITORS ----------------------------------- */
-
-#if defined (INCL_DOSMONITORS)
-
-#define MONITOR_DEFAULT                0x0000
-#define MONITOR_BEGIN          0x0001
-#define MONITOR_END            0x0002
-
-typedef SHANDLE HMONITOR;
-typedef HMONITOR *PHMONITOR;
-
-typedef struct _MONIN
-{
-  USHORT cb;
-  BYTE  abReserved[18];
-  BYTE  abBuffer[108];
-} MONIN;
-typedef MONIN *PMONIN;
-
-typedef struct _MONOUT
-{
-  USHORT cb;
-  UCHAR         buffer[18];
-  BYTE  abBuf[108];
-} MONOUT;
-typedef MONOUT *PMONOUT;
-
-USHORT DosMonOpen (PSZ pszDevName, PHMONITOR phmon);
-USHORT DosMonClose (HMONITOR hmon);
-USHORT DosMonReg (HMONITOR hmon, PBYTE pbInBuf, PBYTE pbOutBuf,
-    USHORT fPosition, USHORT usIndex);
-USHORT DosMonRead (PBYTE pbInBuf, USHORT fWait, PBYTE pbDataBuf,
-    PUSHORT pcbData);
-USHORT DosMonWrite (PBYTE pbOutBuf, PBYTE pbDataBuf, USHORT cbData);
-
-#endif /* INCL_DOSMONITORS */
-
-/* -------------------------- SUBSYSTEMS ---------------------------------- */
-
-#if defined (INCL_KBD)
-
-#define IO_WAIT                                0
-#define IO_NOWAIT                      1
-
-#define KBDSTF_RIGHTSHIFT              0x0001
-#define KBDSTF_LEFTSHIFT               0x0002
-#define KBDSTF_CONTROL                 0x0004
-#define KBDSTF_ALT                     0x0008
-#define KBDSTF_SCROLLLOCK_ON           0x0010
-#define KBDSTF_NUMLOCK_ON              0x0020
-#define KBDSTF_CAPSLOCK_ON             0x0040
-#define KBDSTF_INSERT_ON               0x0080
-#define KBDSTF_LEFTCONTROL             0x0100
-#define KBDSTF_LEFTALT                 0x0200
-#define KBDSTF_RIGHTCONTROL            0x0400
-#define KBDSTF_RIGHTALT                        0x0800
-#define KBDSTF_SCROLLLOCK              0x1000
-#define KBDSTF_NUMLOCK                 0x2000
-#define KBDSTF_CAPSLOCK                        0x4000
-#define KBDSTF_SYSREQ                  0x8000
-
-#define KBDTRF_SHIFT_KEY_IN            0x01
-#define KBDTRF_EXTENDED_CODE           0x02
-#define KBDTRF_CONVERSION_REQUEST      0x20
-#define KBDTRF_FINAL_CHAR_IN           0x40
-#define KBDTRF_INTERIM_CHAR_IN         0x80
-
-#define KEYBOARD_ECHO_ON               0x0001
-#define KEYBOARD_ECHO_OFF              0x0002
-#define KEYBOARD_BINARY_MODE           0x0004
-#define KEYBOARD_ASCII_MODE            0x0008
-#define KEYBOARD_MODIFY_STATE          0x0010
-#define KEYBOARD_MODIFY_INTERIM                0x0020
-#define KEYBOARD_MODIFY_TURNAROUND     0x0040
-#define KEYBOARD_2B_TURNAROUND         0x0080
-#define KEYBOARD_SHIFT_REPORT          0x0100
-
-#define KR_KBDCHARIN                   0x00000001
-#define KR_KBDPEEK                     0x00000002
-#define KR_KBDFLUSHBUFFER              0x00000004
-#define KR_KBDGETSTATUS                        0x00000008
-#define KR_KBDSETSTATUS                        0x00000010
-#define KR_KBDSTRINGIN                 0x00000020
-#define KR_KBDOPEN                     0x00000040
-#define KR_KBDCLOSE                    0x00000080
-#define KR_KBDGETFOCUS                 0x00000100
-#define KR_KBDFREEFOCUS                        0x00000200
-#define KR_KBDGETCP                    0x00000400
-#define KR_KBDSETCP                    0x00000800
-#define KR_KBDXLATE                    0x00001000
-#define KR_KBDSETCUSTXT                        0x00002000
-
-typedef USHORT HKBD;
-typedef HKBD *PHKBD;
-
-typedef struct _KBDKEYINFO
-{
-  UCHAR         chChar;
-  UCHAR         chScan;
-  UCHAR         fbStatus;
-  UCHAR         bNlsShift;
-  USHORT fsState;
-  ULONG         time;
-} KBDKEYINFO;
-typedef KBDKEYINFO *PKBDKEYINFO;
-
-typedef struct _KBDINFO
-{
-  USHORT cb;
-  USHORT fsMask;
-  USHORT chTurnAround;
-  USHORT fsInterim;
-  USHORT fsState;
-} KBDINFO;
-typedef KBDINFO *PKBDINFO;
-
-typedef struct _KBDHWID
-{
-  USHORT cb;
-  USHORT idKbd;
-  USHORT usReserved1;
-  USHORT usReserved2;
-} KBDHWID;
-typedef KBDHWID *PKBDHWID;
-
-typedef struct _KBDTRANS
-{
-  UCHAR         chChar;
-  UCHAR         chScan;
-  UCHAR         fbStatus;
-  UCHAR         bNlsShift;
-  USHORT fsState;
-  ULONG         time;
-  USHORT fsDD;
-  USHORT fsXlate;
-  USHORT fsShift;
-  USHORT sZero;
-} KBDTRANS;
-typedef KBDTRANS *PKBDTRANS;
-
-typedef struct _STRINGINBUF
-{
-  USHORT cb;
-  USHORT cchIn;
-} STRINGINBUF;
-typedef STRINGINBUF *PSTRINGINBUF;
-
-USHORT KbdCharIn (PKBDKEYINFO pkbci, USHORT fWait, HKBD hkbd);
-USHORT KbdClose (HKBD hkbd);
-USHORT KbdDeRegister (VOID);
-USHORT KbdFlushBuffer (HKBD hkbd);
-USHORT KbdFreeFocus (HKBD hkbd);
-USHORT KbdGetCp (ULONG ulReserved, PUSHORT pidCP, HKBD hkbd);
-USHORT KbdGetFocus (USHORT fWait, HKBD hkbd);
-USHORT KbdGetHWID (PKBDHWID pkbdhwid, HKBD hkbd);
-USHORT KbdGetStatus (PKBDINFO pkbdinfo, HKBD hkbd);
-USHORT KbdOpen (PHKBD phkbd);
-USHORT KbdPeek (PKBDKEYINFO pkbci, HKBD hkbd);
-USHORT KbdRegister (PCSZ pszModName, PCSZ pszEntryName, ULONG ulFunMask);
-USHORT KbdSetCp (USHORT usReserved, USHORT idCP, HKBD hkbd);
-USHORT KbdSetCustXt (PUSHORT pusCodePage, HKBD hkbd);
-USHORT KbdSetFgnd (VOID);
-USHORT KbdSetHWID (PKBDHWID pkbdhwid, HKBD hkbd);
-USHORT KbdSetStatus (PKBDINFO pkbdinfo, HKBD hkbd);
-USHORT KbdStringIn (PCH pch, PSTRINGINBUF pchIn, USHORT fWait, HKBD hkbd);
-USHORT KbdSynch (USHORT fWait);
-USHORT KbdXlate (PKBDTRANS pkbdtrans, HKBD hkbd);
-
-#endif /* INCL_KBD */
-
-#if defined (INCL_VIO)
-
-#define ANSI_OFF                       0
-#define ANSI_ON                                1
-
-#define COLORS_2                       0x01
-#define COLORS_4                       0x02
-#define COLORS_16                      0x04
-
-#define VGMT_OTHER                     0x01
-#define VGMT_GRAPHICS                  0x02
-#define VGMT_DISABLEBURST              0x04
-
-#define VP_NOWAIT                      0x0000
-#define VP_WAIT                                0x0001
-#define VP_OPAQUE                      0x0000
-#define VP_TRANSPARENT                 0x0002
-
-#define VMWR_POPUP                     0
-#define VMWN_POPUP                     0
-
-#define VSRWI_SAVEANDREDRAW            0
-#define VSRWI_REDRAW                   1
-
-#define VSRWN_SAVE                     0
-#define VSRWN_REDRAW                   1
-
-#define UNDOI_GETOWNER                 0
-#define UNDOI_RELEASEOWNER             1
-
-#define UNDOK_ERRORCODE                        0
-#define UNDOK_TERMINATE                        1
-
-#define LOCKIO_NOWAIT                  0
-#define LOCKIO_WAIT                    1
-
-#define LOCK_SUCCESS                   0
-#define LOCK_FAIL                      1
-
-#define VCC_SBCSCHAR                   0
-#define VCC_DBCSFULLCHAR               1
-#define VCC_DBCS1STHALF                        2
-#define VCC_DBCS2NDHALF                        3
-
-#define VGFI_GETCURFONT                        0
-#define VGFI_GETROMFONT                        1
-
-#define VIO_CONFIG_CURRENT             0
-#define VIO_CONFIG_PRIMARY             1
-#define VIO_CONFIG_SECONDARY           2
-
-#define DISPLAY_MONOCHROME             0
-#define DISPLAY_CGA                    1
-#define DISPLAY_EGA                    2
-#define DISPLAY_VGA                    3
-#define DISPLAY_8514A                  7
-#define DISPLAY_IMAGEADAPTER           8
-#define DISPLAY_XGA                    9
-
-#define MONITOR_MONOCHROME             0x0000
-#define MONITOR_COLOR                  0x0001
-#define MONITOR_ENHANCED               0x0002
-#define MONITOR_8503                   0x0003
-#define MONITOR_851X_COLOR             0x0004
-#define MONITOR_8514                   0x0009
-#define MONITOR_FLATPANEL              0x000a
-#define MONITOR_8507_8604              0x000b
-#define MONITOR_8515                   0x000c
-#define MONITOR_9515                   0x000f
-#define MONITOR_9517                   0x0011
-#define MONITOR_9518                   0x0012
-
-#define VR_VIOGETCURPOS                        0x00000001
-#define VR_VIOGETCURTYPE               0x00000002
-#define VR_VIOGETMODE                  0x00000004
-#define VR_VIOGETBUF                   0x00000008
-#define VR_VIOGETPHYSBUF               0x00000010
-#define VR_VIOSETCURPOS                        0x00000020
-#define VR_VIOSETCURTYPE               0x00000040
-#define VR_VIOSETMODE                  0x00000080
-#define VR_VIOSHOWBUF                  0x00000100
-#define VR_VIOREADCHARSTR              0x00000200
-#define VR_VIOREADCELLSTR              0x00000400
-#define VR_VIOWRTNCHAR                 0x00000800
-#define VR_VIOWRTNATTR                 0x00001000
-#define VR_VIOWRTNCELL                 0x00002000
-#define VR_VIOWRTTTY                   0x00004000
-#define VR_VIOWRTCHARSTR               0x00008000
-#define VR_VIOWRTCHARSTRATT            0x00010000
-#define VR_VIOWRTCELLSTR               0x00020000
-#define VR_VIOSCROLLUP                 0x00040000
-#define VR_VIOSCROLLDN                 0x00080000
-#define VR_VIOSCROLLLF                 0x00100000
-#define VR_VIOSCROLLRT                 0x00200000
-#define VR_VIOSETANSI                  0x00400000
-#define VR_VIOGETANSI                  0x00800000
-#define VR_VIOPRTSC                    0x01000000
-#define VR_VIOSCRLOCK                  0x02000000
-#define VR_VIOSCRUNLOCK                        0x04000000
-#define VR_VIOSAVREDRAWWAIT            0x08000000
-#define VR_VIOSAVREDRAWUNDO            0x10000000
-#define VR_VIOPOPUP                    0x20000000
-#define VR_VIOENDPOPUP                 0x40000000
-#define VR_VIOPRTSCTOGGLE              0x80000000
-
-#define VR_VIOMODEWAIT                 0x00000001
-#define VR_VIOMODEUNDO                 0x00000002
-#define VR_VIOGETFONT                  0x00000004
-#define VR_VIOGETCONFIG                        0x00000008
-#define VR_VIOSETCP                    0x00000010
-#define VR_VIOGETCP                    0x00000020
-#define VR_VIOSETFONT                  0x00000040
-#define VR_VIOGETSTATE                 0x00000080
-#define VR_VIOSETSTATE                 0x00000100
-
-
-typedef USHORT HVIO;
-typedef HVIO *PHVIO;
-
-
-typedef struct _VIOMODEINFO
-{
-  USHORT cb;
-  UCHAR         fbType;
-  UCHAR         color;
-  USHORT col;
-  USHORT row;
-  USHORT hres;
-  USHORT vres;
-  UCHAR         fmt_ID;
-  UCHAR         attrib;
-  ULONG         buf_addr;
-  ULONG         buf_length;
-  ULONG         full_length;
-  ULONG         partial_length;
-  PCH   ext_data_addr;
-} VIOMODEINFO;
-typedef VIOMODEINFO *PVIOMODEINFO;
-
-typedef struct _VIOCONFIGINFO
-{
-  USHORT cb;
-  USHORT adapter;
-  USHORT display;
-  ULONG         cbMemory;
-  USHORT Configuration;
-  USHORT VDHVersion;
-  USHORT Flags;
-  ULONG         HWBufferSize;
-  ULONG         FullSaveSize;
-  ULONG         PartSaveSize;
-  USHORT EMAdaptersOFF;
-  USHORT EMDisplaysOFF;
-} VIOCONFIGINFO;
-typedef VIOCONFIGINFO *PVIOCONFIGINFO;
-
-typedef struct _VIOPHYSBUF
-{
-  PBYTE pBuf;
-  ULONG cb;
-  SEL  asel[1];
-} VIOPHYSBUF;
-typedef VIOPHYSBUF *PVIOPHYSBUF;
-
-typedef struct _VIOPALSTATE
-{
-  USHORT cb;
-  USHORT type;
-  USHORT iFirst;
-  USHORT acolor[1];
-} VIOPALSTATE;
-typedef VIOPALSTATE *PVIOPALSTATE;
-
-typedef struct _VIOOVERSCAN
-{
-  USHORT cb;
-  USHORT type;
-  USHORT color;
-} VIOOVERSCAN;
-typedef VIOOVERSCAN *PVIOOVERSCAN;
-
-typedef struct _VIOINTENSITY
-{
-  USHORT cb;
-  USHORT type;
-  USHORT fs;
-} VIOINTENSITY;
-typedef VIOINTENSITY *PVIOINTENSITY;
-
-typedef struct _VIOCOLORREG
-{
-  USHORT cb;
-  USHORT type;
-  USHORT firstcolorreg;
-  USHORT numcolorregs;
-  PCH   colorregaddr;
-} VIOCOLORREG;
-typedef VIOCOLORREG *PVIOCOLORREG;
-
-typedef struct _VIOSETULINELOC
-{
-  USHORT cb;
-  USHORT type;
-  USHORT scanline;
-} VIOSETULINELOC;
-typedef VIOSETULINELOC *PVIOSETULINELOC;
-
-typedef struct _VIOSETTARGET
-{
-  USHORT cb;
-  USHORT type;
-  USHORT defaultalgorithm;
-} VIOSETTARGET;
-typedef VIOSETTARGET *PVIOSETTARGET;
-
-typedef struct _VIOCURSORINFO
-{
-  USHORT yStart;
-  USHORT cEnd;
-  USHORT cx;
-  USHORT attr;
-} VIOCURSORINFO;
-typedef VIOCURSORINFO *PVIOCURSORINFO;
-
-typedef struct _VIOFONTINFO
-{
-  USHORT cb;
-  USHORT type;
-  USHORT cxCell;
-  USHORT cyCell;
-  ULONG         pbData;                /* PVOID16 / _far16ptr */
-  USHORT cbData;
-} VIOFONTINFO;
-typedef VIOFONTINFO *PVIOFONTINFO;
-
-
-USHORT VioCheckCharType (PUSHORT pType, USHORT usRow, USHORT usColumn,
-    HVIO hvio);
-USHORT VioDeRegister (VOID);
-USHORT VioEndPopUp (HVIO hvio);
-USHORT VioGetAnsi (PUSHORT pfAnsi, HVIO hvio);
-USHORT VioGetBuf (PULONG pLVB, PUSHORT pcbLVB, HVIO hvio);
-USHORT VioGetConfig (USHORT usConfigId, PVIOCONFIGINFO pvioin, HVIO hvio);
-USHORT VioGetCp (USHORT usReserved, PUSHORT pusCodePage, HVIO hvio);
-USHORT VioGetCurPos (PUSHORT pusRow, PUSHORT pusColumn, HVIO hvio);
-USHORT VioGetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);
-USHORT VioGetFont (PVIOFONTINFO pviofi, HVIO hvio);
-USHORT VioGetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);
-USHORT VioGetPhysBuf (PVIOPHYSBUF pvioPhysBuf, USHORT usReserved);
-USHORT VioGetState (PVOID pState, HVIO hvio);
-USHORT VioGlobalReg (PCSZ pszModName, PCSZ pszEntryName, ULONG ulFunMask1,
-    ULONG ulFunMask2, USHORT usReturn);
-USHORT VioModeUndo (USHORT usOwnerInd, USHORT usKillInd, USHORT usReserved);
-USHORT VioModeWait (USHORT usReqType, PUSHORT pNotifyType, USHORT usReserved);
-USHORT VioPopUp (PUSHORT pfWait, HVIO hvio);
-USHORT VioPrtSc (HVIO hvio);
-USHORT VioPrtScToggle (HVIO hvio);
-USHORT VioReadCellStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow,
-    USHORT usColumn, HVIO hvio);
-USHORT VioReadCharStr (PCH pch, PUSHORT pcb, USHORT usRow, USHORT usColumn,
-    HVIO hvio);
-USHORT VioRegister (PCSZ pszModName, PCSZ pszEntryName, ULONG ulFunMask1,
-    ULONG ulFunMask2);
-USHORT VioSavRedrawUndo (USHORT usOwnerInd, USHORT usKillInd,
-    USHORT usReserved);
-USHORT VioSavRedrawWait (USHORT usRedrawInd, PUSHORT pusNotifyType,
-    USHORT usReserved);
-USHORT VioScrLock (USHORT fWait, PUCHAR pfNotLocked, HVIO hvio);
-USHORT VioScrollDn (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow,
-    USHORT usRightCol, USHORT cbLines, PBYTE pCell, HVIO hvio);
-USHORT VioScrollLf (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow,
-    USHORT usRightCol, USHORT cbCol, PBYTE pCell, HVIO hvio);
-USHORT VioScrollRt (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow,
-    USHORT usRightCol, USHORT cbCol, PBYTE pCell, HVIO hvio);
-USHORT VioScrollUp (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow,
-    USHORT usRightCol, USHORT cbLines, PBYTE pCell, HVIO hvio);
-USHORT VioScrUnLock (HVIO hvio);
-USHORT VioSetAnsi (USHORT fAnsi, HVIO hvio);
-USHORT VioSetCp (USHORT usReserved, USHORT usCodePage, HVIO hvio);
-USHORT VioSetCurPos (USHORT usRow, USHORT usColumn, HVIO hvio);
-USHORT VioSetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);
-USHORT VioSetFont (PVIOFONTINFO pviofi, HVIO hvio);
-USHORT VioSetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);
-USHORT VioSetState (CPVOID pState, HVIO hvio);
-USHORT VioShowBuf (USHORT offLVB, USHORT cb, HVIO hvio);
-USHORT VioWrtCellStr (PCCH pchCellStr, USHORT cb, USHORT usRow,
-    USHORT usColumn, HVIO hvio);
-USHORT VioWrtCharStr (PCCH pch, USHORT cb, USHORT usRow, USHORT usColumn,
-    HVIO hvio);
-USHORT VioWrtCharStrAtt (PCCH pch, USHORT cb, USHORT usRow, USHORT usColumn,
-    PBYTE pAttr, HVIO hvio);
-USHORT VioWrtNAttr (__const__ BYTE *pAttr, USHORT cb, USHORT usRow,
-    USHORT usColumn, HVIO hvio);
-USHORT VioWrtNCell (__const__ BYTE *pCell, USHORT cb, USHORT usRow,
-    USHORT usColumn, HVIO hvio);
-USHORT VioWrtNChar (PCCH pch, USHORT cb, USHORT usRow, USHORT usColumn,
-    HVIO hvio);
-USHORT VioWrtTTY (PCCH pch, USHORT cb, HVIO hvio);
-
-#endif /* INCL_VIO */
-
-#if defined (INCL_MOU)
-
-#define MHK_BUTTON1                    0x0001
-#define MHK_BUTTON2                    0x0002
-#define MHK_BUTTON3                    0x0004
-
-#define MOU_NOWAIT                     0x0000
-#define MOU_WAIT                       0x0001
-
-#define MOUSE_MOTION                   0x0001
-#define MOUSE_MOTION_WITH_BN1_DOWN     0x0002
-#define MOUSE_BN1_DOWN                 0x0004
-#define MOUSE_MOTION_WITH_BN2_DOWN     0x0008
-#define MOUSE_BN2_DOWN                 0x0010
-#define MOUSE_MOTION_WITH_BN3_DOWN     0x0020
-#define MOUSE_BN3_DOWN                 0x0040
-
-#define MOUSE_QUEUEBUSY                        0x0001
-#define MOUSE_BLOCKREAD                        0x0002
-#define MOUSE_FLUSH                    0x0004
-#define MOUSE_UNSUPPORTED_MODE         0x0008
-#define MOUSE_DISABLED                 0x0100
-#define MOUSE_MICKEYS                  0x0200
-
-#define MOU_NODRAW                     0x0001
-#define MOU_DRAW                       0x0000
-#define MOU_MICKEYS                    0x0002
-#define MOU_PELS                       0x0000
-
-#define MR_MOUGETNUMBUTTONS            0x00000001
-#define MR_MOUGETNUMMICKEYS            0x00000002
-#define MR_MOUGETDEVSTATUS             0x00000004
-#define MR_MOUGETNUMQUEEL              0x00000008
-#define MR_MOUREADEVENTQUE             0x00000010
-#define MR_MOUGETSCALEFACT             0x00000020
-#define MR_MOUGETEVENTMASK             0x00000040
-#define MR_MOUSETSCALEFACT             0x00000080
-#define MR_MOUSETEVENTMASK             0x00000100
-#define MR_MOUOPEN                     0x00000800
-#define MR_MOUCLOSE                    0x00001000
-#define MR_MOUGETPTRSHAPE              0x00002000
-#define MR_MOUSETPTRSHAPE              0x00004000
-#define MR_MOUDRAWPTR                  0x00008000
-#define MR_MOUREMOVEPTR                        0x00010000
-#define MR_MOUGETPTRPOS                        0x00020000
-#define MR_MOUSETPTRPOS                        0x00040000
-#define MR_MOUINITREAL                 0x00080000
-#define MR_MOUSETDEVSTATUS             0x00100000
-
-
-typedef USHORT HMOU;
-typedef HMOU *PHMOU;
-
-
-typedef struct _MOUEVENTINFO
-{
-  USHORT fs;
-  ULONG         time;
-  SHORT         row;
-  SHORT         col;
-} MOUEVENTINFO;
-typedef MOUEVENTINFO *PMOUEVENTINFO;
-
-typedef struct _MOUQUEINFO
-{
-  USHORT cEvents;
-  USHORT cmaxEvents;
-} MOUQUEINFO;
-typedef MOUQUEINFO *PMOUQUEINFO;
-
-typedef struct _PTRLOC
-{
-  USHORT row;
-  USHORT col;
-} PTRLOC;
-typedef PTRLOC *PPTRLOC;
-
-typedef struct _NOPTRRECT
-{
-  USHORT row;
-  USHORT col;
-  USHORT cRow;
-  USHORT cCol;
-} NOPTRRECT;
-typedef NOPTRRECT *PNOPTRRECT;
-
-typedef struct _PTRSHAPE
-{
-  USHORT cb;
-  USHORT col;
-  USHORT row;
-  USHORT colHot;
-  USHORT rowHot;
-} PTRSHAPE;
-typedef PTRSHAPE *PPTRSHAPE;
-
-typedef struct _SCALEFACT
-{
-  USHORT rowScale;
-  USHORT colScale;
-} SCALEFACT;
-typedef SCALEFACT *PSCALEFACT;
-
-typedef struct _THRESHOLD
-{
-  USHORT Length;
-  USHORT Level1;
-  USHORT Lev1Mult;
-  USHORT Level2;
-  USHORT lev2Mult;
-} THRESHOLD;
-typedef THRESHOLD *PTHRESHOLD;
-
-
-USHORT MouClose (HMOU hmou);
-USHORT MouDeRegister (VOID);
-USHORT MouDrawPtr (HMOU hmou);
-USHORT MouFlushQue (HMOU hmou);
-USHORT MouGetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);
-USHORT MouGetEventMask (PUSHORT pfsEvents, HMOU hmou);
-USHORT MouGetNumButtons (PUSHORT pcButtons, HMOU hmou);
-USHORT MouGetNumMickeys (PUSHORT pcMickeys, HMOU hmou);
-USHORT MouGetNumQueEl (PMOUQUEINFO qmouqi, HMOU hmou);
-USHORT MouGetPtrPos (PPTRLOC pmouLoc, HMOU hmou);
-USHORT MouGetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo, HMOU hmou);
-USHORT MouGetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);
-USHORT MouGetThreshold (PTHRESHOLD pthreshold, HMOU hmou);
-USHORT MouInitReal (PCSZ pszDriverName);
-USHORT MouOpen (PCSZ pszDvrName, PHMOU phmou);
-USHORT MouReadEventQue (PMOUEVENTINFO pmouevEvent, PUSHORT pfWait, HMOU hmou);
-USHORT MouRegister (PCSZ pszModName, PCSZ pszEntryName, ULONG ulFunMask);
-USHORT MouRemovePtr (PNOPTRRECT pmourtRect, HMOU hmou);
-USHORT MouSetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);
-USHORT MouSetEventMask (PUSHORT pfsEvents, HMOU hmou);
-USHORT MouSetPtrPos (PPTRLOC pmouLoc, HMOU hmou);
-USHORT MouSetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo, HMOU hmou);
-USHORT MouSetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);
-USHORT MouSetThreshold (PTHRESHOLD pthreshold, HMOU hmou);
-USHORT MouSynch (USHORT fWait);
-
-#endif /* INCL_MOU */
-
-/* ------------------------------ THE END --------------------------------- */
-
-#pragma pack(4)
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* not _OS2EMX_H */
-
-/* Note 1:
-
-   There are some inconsistencies in the structure names defined in
-   the header files of the IBM Developer's Toolkit for OS/2.  To make
-   C++ modules compiled with those headers linkable with C++ modules
-   compiled with this header, we have to use the same (questionable)
-   structure names. */
-
-/*
- * Local variables:
- * indent-tabs-mode: t
- * end:
- */
-
diff --git a/os2/include/ros2.h b/os2/include/ros2.h
deleted file mode 100644 (file)
index 8c08b14..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* $     $
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * FILE:             dll/doscalls.c
- * PURPOSE:          supportheader for Kernelservices.
- *                                             Use this file if your dll or application
- *                                             is going to use both, the os2 base services
- *                                             as well as the native API of NTDLL.DLL
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *    1-08-2002  Created
- */
-
-/*   How to use:
-       History got us another time. If you want to write a module
-       that uses either native-api or os2-services...no problem.
-       But if you want to use both of them you run into type conflicts.
-       BOOL is not very surprising. But there are many other types 
-       whose names are equal. This results from the fact that NT
-       should originally become OS/2 3.0. 
-       So your solution lies in including this file instead of os2.h
-       and ntddk.h. What this file here does is, it puts the os2-types+
-       functions into the namespace OS2 while the nt-types+functions are
-       put into the namespace NT. The still conflicting #defines are handled
-       like this:  If ntddk.h defintes a symbol FOO and os2.h does the same,
-       this file here undefines the ntddk.h-one and renames it to NT_FOO.
-       This is only done for conflicting symbols. Of course, this list is a 
-       source for errors. But is there a better solution than renaming 
-       all of the symbols?
-*/
-
-#ifndef __ROS2_H__
-#define __ROS2_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-namespace NT
-{
-#include <ddk/ntddk.h>
-#include <napi/types.h>
-}
-
-
-/* rename all the symbols */
-#define        NT_FILE_CREATE          FILE_CREATE
-#undef FILE_CREATE
-#define        NT_CREATE_SUSPENDED             CREATE_SUSPENDED
-#undef CREATE_SUSPENDED
-
-namespace OS2
-{
-#include "os2.h"
-}
-
-using namespace OS2;
-
-APIRET STDCALL  Dos32Open(PSZ    pszFileName,  PHFILE pHf,
-                            PULONG pulAction,  ULONG  cbFile,
-                            ULONG  ulAttribute,  ULONG  fsOpenFlags,
-                            ULONG  fsOpenMode,  PVOID reserved );  //ULONGPEAOP2 peaop2)
-APIRET STDCALL  Dos32Close(HFILE hFile);
-APIRET STDCALL  Dos32Read(HFILE hFile, PVOID pBuffer,
-                            ULONG cbRead, PULONG pcbActual);
-APIRET STDCALL  Dos32Write(HFILE hFile, PVOID pBuffer,
-                             ULONG cbWrite, PULONG pcbActual);
-ULONG STDCALL DosSleep (ULONG ulInterval);
-ULONG STDCALL DosBeep (ULONG ulFrequency, ULONG ulDuration);
-VOID STDCALL DosExit (ULONG ulAction, ULONG ulResult);
-
-//ULONG STDCALL DosDevIOCtl (HFILE hDevice, ULONG ulCategory, ULONG ulFunction,
-//    PVOID pParams, ULONG ulParamsLengthMax, PULONG pulParamsLength,
-//    PVOID pData, ULONG ulDataLengthMax, PULONG pulDataLength);
-
-typedef ULONG foo_TID;
-typedef foo_TID* foo_PTID;
-typedef void (*foo_PFNTHREAD)(ULONG ulThreadArg);
-
-ULONG STDCALL DosCreateThread (foo_PTID ptidThreadID, foo_PFNTHREAD pfnThreadAddr,
-    ULONG ulThreadArg, ULONG ulFlags, ULONG ulStackSize);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __ROS2_H__ */
diff --git a/os2/install.bat b/os2/install.bat
deleted file mode 100644 (file)
index f0e4dd6..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-@echo off
-if "%1" == "" goto NoParameter
-set ROS_INSTALL=%1
-goto Install
-:NoParameter
-set ROS_INSTALL=c:\reactos
-:Install
-echo Installing to %ROS_INSTALL%
-@echo off
-
-md %ROS_INSTALL%
-md %ROS_INSTALL%\bin
-md %ROS_INSTALL%\symbols
-md %ROS_INSTALL%\system32
-
-copy ..\os2\apps\bepslep\bepslep.exe %ROS_INSTALL%\bin
-copy ..\os2\lib\doscalls\doscalls.dll %ROS_INSTALL%\system32
-copy ..\os2\lib\doscalls\doscalls.sym %ROS_INSTALL%\symbols
-copy ..\os2\server\os2ss.exe %ROS_INSTALL%\system32
-copy ..\os2\server\os2ss.sym %ROS_INSTALL%\symbols
diff --git a/os2/lib/directory.xml b/os2/lib/directory.xml
deleted file mode 100644 (file)
index 98087f3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<group>
-       <directory name="doscalls">
-               <xi:include href="doscalls/doscalls.xml" />
-       </directory>
-</group>
diff --git a/os2/lib/doscalls/devices/devices.cpp b/os2/lib/doscalls/devices/devices.cpp
deleted file mode 100644 (file)
index 23d9295..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-/* $Id$
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * PART:                        doscalls.dll
- * FILE:             devices.cpp
- * CONTAINS:            device io ctl main function.
- * PURPOSE:          Kernelservices for OS/2 apps
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *  13-03-2002  Created
- *     25-07-2002      Work to make it compile 
- *     10-11-2002      Done som little things
- */
-
-#define INCL_DOSDEVICES
-#define INCL_DOSERRORS
-#include "ros2.h"
-
-
-/*******************************************/
-/* DosDevIOCtl performs control functions  */
-/* on a device specified by an opened      */
-/* device handle.                          */
-/*******************************************/
-/*HFILE     hDevice;         Device handle returned by DosOpen, or a standard (open) device handle. */
-/*ULONG     category;        Device category. */
-/*ULONG     function;        Device-specific function code. */
-/*PVOID     pParams;         Address of the command-specific argument list. */
-/*ULONG     cbParmLenMax;    Length, in bytes, of pParams. */
-/*PULONG    pcbParmLen;      Pointer to the length of parameters. */
-/*PVOID     pData;           Address of the data area. */
-/*ULONG     cbDataLenMax;    Length, in bytes, of pData. */
-/*PULONG    pcbDataLen;      Pointer to the length of data. */
-/*APIRET    ulrc;            Return Code. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosDevIOCtl returns one of the following values: 
-
-      0         NO_ERROR 
-      1         ERROR_INVALID_FUNCTION 
-      6         ERROR_INVALID_HANDLE 
-      15        ERROR_INVALID_DRIVE 
-      31        ERROR_GEN_FAILURE 
-      87        ERROR_INVALID_PARAMETER 
-      111       ERROR_BUFFER_OVERFLOW 
-      115       ERROR_PROTECTION_VIOLATION 
-      117       ERROR_INVALID_CATEGORY 
-      119       ERROR_BAD_DRIVER_LEVEL 
-      163       ERROR_UNCERTAIN_MEDIA 
-      165       ERROR_MONITORS_NOT_SUPPORTED 
-*/
-APIRET STDCALL DosDevIOCtl(HFILE hDevice, ULONG category, ULONG function,
-        PVOID pParams,ULONG cbParmLenMax,PULONG pcbParmLen,
-        PVOID pData,ULONG cbDataLenMax,PULONG pcbDataLen)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-/* EOF */
diff --git a/os2/lib/doscalls/devices/ioctl_async.cpp b/os2/lib/doscalls/devices/ioctl_async.cpp
deleted file mode 100644 (file)
index eb10004..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* $Id: ioctl_async.cpp,v 1.2 2004/01/31 01:29:11 robertk Exp $
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * PART:                        doscalls.dll
- * FILE:             ipctl_async.cpp
- * PURPOSE:          This file is to be directly included into devices.cpp
- * CONTAINS:            implementation of the category 1 (async I/O)
- *                                             ioctl functioncodes.
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *  10-11-2002  Created
- */
-
-
-/*  This function implements the async ioctls. It
-       is called from the real DosIOCtl function. This
-       function implies that it is only called, if the
-       cathegory was 0x01. 
-       All other parameters are the same as DosIoCtl. 
-
-       FIXME: implement me
-*/
-APIRET EvaluateAsyncIoCtl( HFILE hDevice, ULONG function,
-               PVOID pParams,  ULONG cbParmLenMax, PULONG pcbParmLen,
-               PVOID pData, ULONG cbDataLenMax, PULONG pcbDataLen)
-{
-       switch( function )
-       {
-       case 0x41: //ASYNC_SETBAUDRATE
-                               //+------------------------------------+
-                               //|Field        Length     C Datatype  |
-                               //|------------------------------------|
-                               //|Bit Rate     WORD       USHORT      |
-                               //+------------------------------------+
-               break;
-               
-       case 0x42: // Set Line Characteristics (stop, parity, data bits)
-               return ERROR_INVALID_PARAMETER; // example
-               break;
-       case 0x43: // Extended Set Bit Rate                           .
-               break;
-       case 0x44: // Transmit Byte Immediate                         .
-               break;
-       case 0x45: // Set Break OFF                                   .
-               break;
-       case 0x46: // Set Modem Control Signals                       .
-               break;
-       case 0x47: // Behave as if XOFF Received (stop transmit)      .
-               break;
-       case 0x48: // Behave as if XON Received (start transmit)      .
-               break;
-       case 0x49: // Reserved                                        .
-               break;
-       case 0x53: // Set Device Control Block (DCB) Parameters       .
-               break;
-       case 0x54: // Set Enhanced Mode Parameters                    .
-               break;
-       case 0x61: // Query Current Bit Rate                          .
-               break;
-       case 0x62: // Query Line Characteristics                      .
-               break;
-       case 0x63: // Extended Query Bit Rate                         .
-               break;
-       case 0x64: // Query COM Status                                .
-               break;
-       case 0x65: // Query Transmit Data Status                      .
-               break;
-       case 0x66: // Query Modem Control Output Signals              .
-               break;
-       case 0x67: // Query Current Modem Input Signals               .
-               break;
-       case 0x68: // Query Number of Characters in Receive Queue     .
-               break;
-       case 0x69: // Query Number of Characters in Transmit Queue    .
-               break;
-       case 0x72: // Query COM Event Information                     .
-               break;
-       case 0x73: // Query Device Control Block (DCB) Parameters     .
-               break;
-       case 0x74: // Query Enhanced Mode Parameters                  .
-               break;
-       default:
-               return ERROR_INVALID_FUNCTION;
-               break;
-       }
-       return ERROR_INVALID_FUNCTION;
-}
-
-
-
-
-
-
-/* EOF */
diff --git a/os2/lib/doscalls/doscalls.def b/os2/lib/doscalls/doscalls.def
deleted file mode 100644 (file)
index 20ace6c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-; $Id: doscalls.def,v 1.6 2004/01/31 01:29:11 robertk Exp $
-;
-; Def for doscalls.dll - part of the OS/2-sub system
-; for ReactOS. Provides Access to OS/2 kernel services.
-
-LIBRARY doscalls.dll 
-
-DESCRIPTION "Part of the ReactOS OS/2 sub system, provides base kernel services to OS/2-apps"
-
-EXPORTS
-; FIXME: fill in all exports
-
-<<<<<<< doscalls.def
-DosSleep               
-DosClose                       
-DosOpen                        
-DosRead                        
-DosWrite                       
-DosDevIOCtl            
-DosBeep                
-DosExit                
-DosCreateThread        
-=======
-DosSleep
-Dos32Close
-Dos32Open
-Dos32Read
-Dos32Write
-;DosDevIOCtl
-DosBeep
-DosExit
-DosCreateThread
->>>>>>> 1.5
-
-; EOF
diff --git a/os2/lib/doscalls/doscalls.def.bak b/os2/lib/doscalls/doscalls.def.bak
deleted file mode 100644 (file)
index 879c26b..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-; $Id: doscalls.def.bak,v 1.1 2002/09/04 22:19:47 robertk Exp $
-;
-; Def for doscalls.dll - part of the OS/2-sub system
-; for ReactOS. Provides Access to OS/2 kernel services.
-
-LIBRARY doscalls.dll 
-
-DESCRIPTION "Part of the ReactOS OS/2 sub system, provides base kernel services to OS/2-apps"
-
-EXPORTS
-; FIXME: fill in all exports
-
-Dos32Sleep@4                   @229
-Dos32Close@4                   @257
-Dos32Open@32                   @273
-Dos32Read@16                   @281
-Dos32Write@16                  @282
-Dos32DevIOCtl@36               @284
-Dos32Beep@8                    @286
-Dos32Exit@8                    @234
-Dos32CreateThread@20           @311
-
-; EOF
diff --git a/os2/lib/doscalls/doscalls.edf b/os2/lib/doscalls/doscalls.edf
deleted file mode 100644 (file)
index 1288f6f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-; $Id: doscalls.edf,v 1.4 2004/01/31 01:29:11 robertk Exp $
-;
-; Def for doscalls.dll - part of the OS/2-sub system
-; for ReactOS. Provides Access to OS/2 kernel services.
-
-LIBRARY doscalls.dll 
-
-DESCRIPTION "Part of the ReactOS OS/2 sub system, provides base kernel services to OS/2-apps"
-
-EXPORTS
-; FIXME: fill in all exports
-
-<<<<<<< doscalls.edf
-DosSleep=DosSleep
-DosClose=DosClose
-DosOpen=DosOpen
-DosRead=DosRead
-DosWrite=DosWrite
-DosDevIOCtl=DosDevIOCtl
-DosBeep=DosBeep
-DosExit=DosExit
-DosCreateThread=DosCreateThread
-=======
-DosSleep=DosSleep@4                     @229
-Dos32Close=Dos32Close@4                 @257
-Dos32Open=Dos32Open@32                  @273
-Dos32Read=Dos32Read@16                  @281
-Dos32Write=Dos32Write@16                @282
-;DosDevIOCtl=DosDevIOCtl@36              @284
-DosBeep=DosBeep@8                       @286
-DosExit=DosExit@8                       @234
-DosCreateThread=DosCreateThread@20      @311
->>>>>>> 1.3
-
-; EOF
diff --git a/os2/lib/doscalls/doscalls.rc b/os2/lib/doscalls/doscalls.rc
deleted file mode 100644 (file)
index ea5631f..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS-OS/2 subsystem base services\0"
-#define REACTOS_STR_INTERNAL_NAME      "doscalls\0"
-#define REACTOS_STR_ORIGINAL_FILENAME  "doscalls.dll\0"
-#include <reactos/version.rc>
diff --git a/os2/lib/doscalls/doscalls.xml b/os2/lib/doscalls/doscalls.xml
deleted file mode 100644 (file)
index c6da163..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<module name="doscalls" type="nativedll">
-       <importlibrary definition="doscalls.def" />
-       <include base="doscalls">../../include</include>
-       <linkerflag>-lgcc</linkerflag>
-       <directory name="devices">
-               <file>devices.cpp</file>
-               <file>ioctl_async.cpp</file>
-       </directory>
-       <directory name="file">
-               <file>directory.cpp</file>
-               <file>openclose.cpp</file>
-       </directory>
-       <directory name="memory">
-               <file>memory.cpp</file>
-       </directory>
-       <directory name="misc">
-               <file>doscalls.cpp</file>
-               <file>error.cpp</file>
-       </directory>
-       <directory name="run">
-               <file>process.cpp</file>
-       </directory>
-</module>
diff --git a/os2/lib/doscalls/file/directory.cpp b/os2/lib/doscalls/file/directory.cpp
deleted file mode 100644 (file)
index d271cc1..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-/* $Id$
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * PART:                        doscalls.dll
- * FILE:             directory.cpp
- * PURPOSE:          Kernelservices for OS/2 apps
- * CONTAINS:            Directory related CP-functions.
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *  10-11-2002  Created
- */
-
-
-#define INCL_DOSFILEMGR
-#define INCL_DOSERRORS
-#include "ros2.h"
-
-
-/******************************************
- DosDelete removes a file name from a    
- directory. The deleted file may be      
- recoverable.                            
-
- pszFile (PSZ) - input 
-    Address of the name of the file to be deleted. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-  DosDelete returns one of the following values: 
-      0         NO_ERROR 
-      2         ERROR_FILE_NOT_FOUND 
-      3         ERROR_PATH_NOT_FOUND 
-      5         ERROR_ACCESS_DENIED 
-      26        ERROR_NOT_DOS_DISK 
-      32        ERROR_SHARING_VIOLATION 
-      36        ERROR_SHARING_BUFFER_EXCEEDED 
-      87        ERROR_INVALID_PARAMETER 
-      206       ERROR_FILENAME_EXCED_RANGE 
-*******************************************/
-APIRET DosDelete(PSZ pszFile)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-
-/******************************************
-       DosDeleteDir removes a subdirectory     
-       from the specified disk.    
-       
- pszDir (PSZ) - input 
-    Address of the fully qualified path name of the subdirectory to be removed. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosDeleteDir returns one of the following values: 
-
-      0         NO_ERROR 
-      2         ERROR_FILE_NOT_FOUND 
-      3         ERROR_PATH_NOT_FOUND 
-      5         ERROR_ACCESS_DENIED 
-      16        ERROR_CURRENT_DIRECTORY 
-      26        ERROR_NOT_DOS_DISK 
-      87        ERROR_INVALID_PARAMETER 
-      108       ERROR_DRIVE_LOCKED 
-      206       ERROR_FILENAME_EXCED_RANGE 
-******************************************/
-APIRET DosDeleteDir(PSZ pszDir)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-
-
-
-/*******************************************
- DosCopy copies the source file or       
- subdirectory to the destination file or 
- subdirectory.                           
-
- pszOld (PSZ) - input 
-    Address of the ASCIIZ path name of the source file, 
-    subdirectory, or character device. 
-
-    Global file-name characters are not allowed. 
- pszNew (PSZ) - input 
-    Address of the ASCIIZ path name of the target file, 
-    subdirectory, or character device. 
-
-    Global file-name characters are not allowed. 
- option (ULONG) - input 
-    ULONG bit flags that define how the DosCopy 
-    function is done. 
-
-      
-      Bit       Description 
-
-      31-3      Reserved. These bits must be set to 
-                zero. 
-
-      2         DCPY_FAILEAS (0x00000004) 
-                Discard the EAs if the source file 
-                contains EAs and the destination file 
-                system does not support EAs. 
-
-           0   Discard the EAs (extended attributes) if 
-               the destination file system does not 
-               support EAs. 
-
-           1   Fail the copy if the destination file 
-               system does not support EAs. 
-
-      1         DCPY_APPEND (x00000002) 
-                Append the source file to the target 
-                file's end of data. 
-
-           0   Replace the target file with the source 
-               file. 
-           1   Append the source file to the target file's 
-               end of data. 
-
-                This is ignored when copying a 
-                directory, or if the target file does not 
-                exist. 
-
-      0         DCPY_EXISTING (0x00000001) 
-                Existing Target File Disposition. 
-
-           0   Do not copy the source file to the target 
-               if the file name already exists within the 
-               target directory. If a single file is being 
-               copied and the target already exists, an 
-               error is returned. 
-
-           1   Copy the source file to the target even if 
-               the file name already exists within the 
-               target directory. 
-
-    Bit flag DCPY_FAILEAS can be used in 
-    combination with bit flag DCPY_APPEND or 
-    DCPY_EXISTING. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosCopy returns one of the following values: 
-
-      0         NO_ERROR 
-      2         ERROR_FILE_NOT_FOUND 
-      3         ERROR_PATH_NOT_FOUND 
-      5         ERROR_ACCESS_DENIED 
-      26        ERROR_NOT_DOS_DISK 
-      32        ERROR_SHARING_VIOLATION 
-      36        ERROR_SHARING_BUFFER_EXCEEDED 
-      87        ERROR_INVALID_PARAMETER 
-      108       ERROR_DRIVE_LOCKED 
-      112       ERROR_DISK_FULL 
-      206       ERROR_FILENAME_EXCED_RANGE 
-      267       ERROR_DIRECTORY 
-      282       ERROR_EAS_NOT_SUPPORTED 
-      283       ERROR_NEED_EAS_FOUND 
-*******************************************/
-APIRET DosCopy(PSZ pszOld,PSZ pszNew, ULONG option)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-
-
-/* EOF */
diff --git a/os2/lib/doscalls/file/openclose.cpp b/os2/lib/doscalls/file/openclose.cpp
deleted file mode 100644 (file)
index 2b6e167..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/* $Id$
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * PART:                        doscalls.dll
- * FILE:             openclose.cpp
- * PURPOSE:          Kernelservices for OS/2 apps
- * CONTAINS:            Open close write and handle related stuff.
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *  13-03-2002  Created
- *     25-07-2002      Work to make it compile 
- */
-
-
-#define INCL_DOSFILEMGR
-#define INCL_DOSERRORS
-#include "ros2.h"
-
-
-<<<<<<< openclose.cpp
-
-APIRET STDCALL  DosOpen(PSZ    pszFileName,  PHFILE pHf,
-=======
-APIRET STDCALL  Dos32Open(PSZ    pszFileName,  PHFILE pHf,
->>>>>>> 1.4
-                            PULONG pulAction,  ULONG  cbFile,
-                            ULONG  ulAttribute,  ULONG  fsOpenFlags,
-                            ULONG  fsOpenMode,  PVOID reserved )  //ULONGPEAOP2 peaop2)
-{
-/*     NTAPI
-ZwCreateFile(
-OUT PHANDLE FileHandle,
-IN ACCESS_MASK DesiredAccess,
-IN POBJECT_ATTRIBUTES ObjectAttributes,
-OUT PIO_STATUS_BLOCK IoStatusBlock,
-IN PLARGE_INTEGER AllocationSize OPTIONAL,
-IN ULONG FileAttributes,
-IN ULONG ShareAccess,
-IN ULONG CreateDisposition,
-IN ULONG CreateOptions,
-IN PVOID EaBuffer OPTIONAL,
-IN ULONG EaLength
-);*/
-
-/*
-
-          OBJECT_ATTRIBUTES ObjectAttributes;
-   IO_STATUS_BLOCK IoStatusBlock;
-   UNICODE_STRING NtPathU;
-   HANDLE FileHandle;
-   NTSTATUS Status;
-   ULONG Flags = 0;
-
-   switch (dwCreationDisposition)
-     {
-      case CREATE_NEW:
-       dwCreationDisposition = FILE_CREATE;
-       break;
-       
-      case CREATE_ALWAYS:
-       dwCreationDisposition = FILE_OVERWRITE_IF;
-       break;
-       
-      case OPEN_EXISTING:
-       dwCreationDisposition = FILE_OPEN;
-       break;
-       
-      case OPEN_ALWAYS:
-       dwCreationDisposition = OPEN_ALWAYS;
-       break;
-
-      case TRUNCATE_EXISTING:
-       dwCreationDisposition = FILE_OVERWRITE;
-     }
-   
-   DPRINT("CreateFileW(lpFileName %S)\n",lpFileName);
-   
-   if (dwDesiredAccess & GENERIC_READ)
-     dwDesiredAccess |= FILE_GENERIC_READ;
-   
-   if (dwDesiredAccess & GENERIC_WRITE)
-     dwDesiredAccess |= FILE_GENERIC_WRITE;
-   
-   if (!(dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED))
-     {
-       Flags |= FILE_SYNCHRONOUS_IO_ALERT;
-     }
-   
-   if (!RtlDosPathNameToNtPathName_U ((LPWSTR)lpFileName,
-                                     &NtPathU,
-                                     NULL,
-                                     NULL))
-     return INVALID_HANDLE_VALUE;
-   
-   DPRINT("NtPathU \'%S\'\n", NtPathU.Buffer);
-   
-   ObjectAttributes.Length = sizeof(OBJECT_ATTRIBUTES);
-   ObjectAttributes.RootDirectory = NULL;
-   ObjectAttributes.ObjectName = &NtPathU;
-   ObjectAttributes.Attributes = OBJ_CASE_INSENSITIVE;
-   ObjectAttributes.SecurityDescriptor = NULL;
-   ObjectAttributes.SecurityQualityOfService = NULL;
-   
-   Status = NtCreateFile (&FileHandle,
-                         dwDesiredAccess,
-                         &ObjectAttributes,
-                         &IoStatusBlock,
-                         NULL,
-                         dwFlagsAndAttributes,
-                         dwShareMode,
-                         dwCreationDisposition,
-                         Flags,
-                         NULL,
-                         0);
-   if (!NT_SUCCESS(Status))
-     {
-       SetLastErrorByStatus (Status);
-       return INVALID_HANDLE_VALUE;
-     }
-   
-   return FileHandle;*/
-
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-
-/* close a Handle. seems finished */
-APIRET STDCALL  DosClose(HFILE hFile)
-{
-       NT::NTSTATUS   nErrCode;
-       nErrCode = NT::ZwClose( (NT::HANDLE)hFile );
-       switch( nErrCode )
-       {
-/*
-       case STATUS_SUCCESS:
-               return NO_ERROR;
-       case STATUS_INVALID_HANDLE:
-               return ERROR_INVALID_HANDLE;
-       case STATUS_HANDLE_NOT_CLOSABLE:
-               return ERROR_FILE_NOT_FOUND;
- */
-       }
-       return nErrCode;
-}
-
-
-
-APIRET STDCALL  DosRead(HFILE hFile, PVOID pBuffer,
-                            ULONG cbRead, PULONG pcbActual)
-{
-       NT::NTSTATUS        nErrCode;
-       NT::IO_STATUS_BLOCK isbStatus;
-       // read data from file 
-       nErrCode = NT::ZwReadFile( (NT::HANDLE)hFile,   NULL,   NULL,   NULL,
-                                                       &isbStatus,             pBuffer,        cbRead,
-                                                       NULL,           NULL    );
-       // contains the # bytes actually read.
-       *pcbActual = isbStatus.Information;
-       switch(nErrCode)
-       {
-/*
-       case STATUS_INVALID_HANDLE:
-               return ERROR_INVALID_HANDLE;
-               // FIXME: complete this
- */
-       }
-       return NO_ERROR;
-}
-
-/* Generic write to a stream given by hFile */
-APIRET STDCALL  DosWrite(HFILE hFile, PVOID pBuffer,
-                             ULONG cbWrite, PULONG pcbActual)
-{ 
-       NT::NTSTATUS         nErrCode;
-       NT::IO_STATUS_BLOCK  StatusBlk;
-       nErrCode = NtWriteFile( (NT::HANDLE)hFile, NULL, NULL, NULL,
-                                                       &StatusBlk, pBuffer, cbWrite, 0, NULL );
-       // FIXME *pcbActual = StatusBlk.Information;
-       // do an errorcode translation   FIXME: correct
-       return ERROR_CALL_NOT_IMPLEMENTED;
-       switch(nErrCode)
-       {
-/*
-       case STATUS_SUCCESS:
-       case STATUS_PENDING:
-       case STATUS_ACCESS_DENIED:
-       case STATUS_INVALID_HANDLE:
-       case STATUS_FILE_LOCK_CONFLICT:
-               return 0;
- */
-       }
-       return 0;
-}
-   
-
-
diff --git a/os2/lib/doscalls/implemented_functions_info.txt b/os2/lib/doscalls/implemented_functions_info.txt
deleted file mode 100644 (file)
index 0533e99..0000000
+++ /dev/null
@@ -1,1063 +0,0 @@
-Creator: robert K.             robertk@mok.lvcm.com
-
-This is a list of all functions of the doscalls.dll from OS/2.
-Since ReactOS is an OS with flat model and since we have no
-ambitions to support 16-Bit OS/2 apps, we'll not implement souch
-16Bit-functions. Above that, we want to port ReacOS and the OS/2 sub 
-system to other platforms (i.e. the PowerPC ;-D ). These platforms
-however don't permit segmented code and memory.
-
-
-Semantics of this file:
-=======================
-Functions with nothing behind are not yet implemented/considered.
-Functions with a ??? should be considered later.
-Functions with a --- will not be implemented.
-Functions with a -  xxx are implemented in some file
-
-in the directory xxx:
-file-  file, pipe io
-sync-  thread synchronisation
-mem    -       memory considerations
-misc-  internal and indifferent stuff
-mou    -       mouse sub system
-kbd    -       keyboard sub system
-vio    -       video/console io
-run    -       processes and threads
-...
-
-
-1 DosICreateThread             ???
-2 Dos16Cwait                   ---
-3 Dos16EnterCritSec            ---
-4 DosIExecPgm                  ???
-5 Dos16Exit                            ---
-6 Dos16ExitCritSec 
-7 Dos16ExitList 
-8 Dos16GetInfoSeg 
-9 Dos16GetPrty 
-10 Dos16KillProcess 
-11 Dos16SetPrty 
-12 Dos16Ptrace 
-13 Dos16HoldSignal 
-14 Dos16SetSigHandler 
-15 Dos16FlagProcess 
-16 Dos16MakePipe 
-17 DosISysSemClear 
-18 DosISemRequest 
-19 DosISysSemSet 
-20 Dos16SemSetWait 
-21 DosISemWait 
-22 Dos16MuxSemWait 
-23 Dos16CloseSem 
-24 Dos16CreateSem 
-25 Dos16OpenSem 
-26 Dos16ResumeThread 
-27 Dos16SuspendThread 
-28 Dos16SetDateTime 
-29 Dos16TimerAsync 
-30 Dos16TimerStart 
-31 Dos16TimerStop 
-32 Dos16Sleep 
-33 Dos16GetDateTime 
-34 Dos16AllocSeg 
-35 Dos16AllocShrSeg 
-36 Dos16GetShrSeg 
-37 Dos16GiveSeg 
-38 Dos16ReallocSeg 
-39 Dos16FreeSeg 
-40 Dos16AllocHuge 
-41 Dos16GetHugeShift 
-42 Dos16ReallocHuge 
-43 Dos16CreateCSAlias 
-44 Dos16LoadModule 
-45 Dos16GetProcAddr 
-46 Dos16FreeModule 
-47 Dos16GetModHandle 
-48 Dos16GetModName 
-49 Dos16GetMachineMode 
-50 Dos16Beep 
-51 Dos16CLIAccess 
-52 Dos16DevConfig 
-53 Dos16DevIOCtl 
-54 Dos16SGSwitch 
-55 Dos16SGSwitchMe 
-56 Dos16BufReset 
-57 Dos16ChDir 
-58 Dos16ChgFilePtr 
-59 Dos16Close 
-60 Dos16Delete 
-61 Dos16DupHandle 
-62 Dos16FileLocks 
-63 Dos16FindClose 
-64 Dos16FindFirst 
-65 Dos16FindNext 
-66 Dos16MkDir 
-67 Dos16Move 
-68 Dos16NewSize 
-69 Dos16PortAccess 
-70 Dos16Open 
-71 Dos16QCurDir 
-72 Dos16QCurDisk 
-73 Dos16QFHandState 
-74 Dos16QFileInfo 
-75 Dos16QFileMode 
-76 Dos16QFSInfo 
-77 Dos16QHandType 
-78 Dos16QVerify 
-79 DosIRead 
-80 Dos16RmDir 
-81 Dos16SelectDisk 
-82 Dos16SetFHandState 
-83 Dos16SetFileInfo 
-84 Dos16SetFileMode 
-85 Dos16SetMaxFH 
-86 Dos16SetVerify 
-87 DosIWrite 
-88 Dos16SystemService 
-89 Dos16SetVec 
-90 Dos16SysTrace 
-91 Dos16GetEnv 
-92 Dos16GetVersion 
-93 Dos16QTraceInfo 
-94 Dos16GetPID 
-95 Dos16Open2 
-96 Dos16LibInit 
-97 Dos16SetFSInfo 
-98 Dos16QPathInfo 
-99 Dos16DevIOCtl2 
-100 DosICanonicalize 
-101 Dos16SetFgnd 
-102 Dos16SwapTaskInit 
-103 Dos16ReadPhys 
-104 Dos16SetPathInfo 
-105 Dos16SGSwitchProc2 
-106 STRUCHECK 
-107 STRURESUPDATE 
-108 DosISetRelMaxFH 
-109 DosIDevIOCtl 
-110 Dos32ForceDelete 
-111 Dos32KillThread 
-112 Dos32QueryRASInfo 
-113 Dos32DumpProcess 
-114 Dos32SuppressPopUps 
-115 THK32ALLOCMEM 
-116 THK32FREEMEM 
-117 THK32ALLOCSTACK 
-118 DosOpen2Compt 
-119 Dos16GetSTDA 
-120 Dos16Error 
-121 Dos16GetSeg 
-122 Dos16LockSeg 
-123 Dos16UnlockSeg 
-124 Dos16SGSwitchProc 
-125 DosIRamSemWake 
-126 Dos16SizeSeg 
-127 Dos16MemAvail 
-128 DosIRamSemRequest 
-129 DosPhysicalDisk 
-130 Dos16GetCP 
-131 DosISetCP 
-132 DosGlobalSeg 
-133 Dos16Profile 
-134 Dos16SendSignal 
-135 DosHugeShift 
-136 DosHugeIncr 
-137 Dos16Read 
-138 Dos16Write 
-139 Dos16ErrClass 
-140 Dos16SemRequest 
-141 Dos16SemClear 
-142 Dos16SemWait 
-143 Dos16SemSet 
-144 Dos16ExecPgm 
-145 Dos16CreateThread 
-146 Dos16SubSet 
-147 Dos16SubAlloc 
-148 Dos16SubFree 
-149 Dos16ReadAsync 
-150 Dos16WriteAsync 
-151 Dos16SearchPath 
-152 Dos16ScanEnv 
-153 Dos16SetCP 
-154 Dos16QProcStatus 
-155 Dos16GetResource 
-156 Dos16GetPPID 
-157 Dos16CallBack 
-158 DosICallBack 
-159 DosRetForward 
-160 Dos16R2StackRealloc 
-161 Dos16FSRamSemRequest 
-162 Dos16FSRamSemClear 
-163 Dos16QAppType 
-164 Dos16SetProcCP 
-165 Dos16DynamicTrace 
-166 Dos16QSysInfo 
-167 DosIMakeNmPipe 
-168 DosICallNmPipe 
-169 DosIConnectNmPipe 
-170 DosIDisconnectNmPipe 
-171 DosIPeekNmPipe 
-172 DosIQNmPipeInfo 
-173 DosIQNmPHandState 
-174 DosISetNmPHandState 
-175 DosITransactNmPipe 
-176 DosIWaitNmPipe 
-177 DosISetNmPipeSem 
-178 DosIQNmPipeSemState 
-179 DosIRawReadNmPipe 
-180 DosIRawWriteNmPipe 
-181 Dos16FSAttach 
-182 Dos16QFSAttach 
-183 Dos16FSCtl 
-184 Dos16FindFirst2 
-185 Dos16MkDir2 
-186 Dos16FileIO 
-187 Dos16FindNotifyClose 
-188 Dos16FindNotifyFirst 
-189 Dos16FindNotifyNext 
-190 Dos16SetTraceInfo 
-191 Dos16EditName 
-192 Dos16LogMode 
-193 Dos16LogEntry 
-194 Dos16GetLogBuffer 
-195 Dos16LogRegister 
-196 Dos16LogRead 
-197 Dos16FindFromName 
-198 Dos16OPLockRelease 
-199 Dos16OPLockWait 
-200 DosICopy 
-201 Dos16Copy 
-202 DosIQAppType 
-203 DosForceDelete 
-204 DosEnumAttribute 
-205 Dos16OPLockShutdown 
-206 DosShutdown 
-207 DosGetResource2 
-208 DosFreeResource 
-209 Dos32SetMaxFH 
-210 Dos32SetVerify 
-211 Dos32ErrClass 
-212 Dos32Error 
-213 DosCreateVDM 
-214 DosMaxPathLen 
-215 DosPageSize 
-216 DosLocalInfo 
-217 DosGlobalInfo 
-218 Dos32SetFileInfo 
-219 Dos32SetPathInfo 
-220 Dos32SetDefaultDisk 
-221 Dos32SetFHState 
-222 Dos32SetFSInfo 
-223 Dos32QueryPathInfo 
-224 Dos32QueryHType 
-225 Dos32QueryVerify 
-226 Dos32DeleteDir 
-227 Dos32ScanEnv 
-228 Dos32SearchPath 
-229 Dos32Sleep 
-230 Dos32GetDateTime 
-231 Dos32DevConfig 
-232 Dos32EnterCritSec 
-233 Dos32ExitCritSec 
-234 Dos32Exit                  run
-235 Dos32KillProcess 
-236 Dos32SetPriority 
-237 Dos32ResumeThread 
-238 Dos32SuspendThread 
-239 Dos32CreatePipe 
-240 Dos32CallNPipe 
-241 Dos32ConnectNPipe 
-242 Dos32DisConnectNPipe 
-243 Dos32CreateNPipe 
-244 Dos32PeekNPipe 
-245 Dos32QueryNPHState 
-246 Dos32RawReadNPipe 
-247 Dos32RawWriteNPipe 
-248 Dos32QueryNPipeInfo 
-249 Dos32QueryNPipeSemState 
-250 Dos32SetNPHState 
-251 Dos32SetNPipeSem 
-252 Dos32TransactNPipe 
-253 Dos32WaitNPipe 
-254 Dos32ResetBuffer 
-255 Dos32SetCurrentDir 
-256 Dos32SetFilePtr 
-257 Dos32Close 
-258 Dos32Copy 
-259 Dos32Delete 
-260 Dos32DupHandle 
-261 Dos32EditName 
-262 THK32FREESTACK 
-263 Dos32FindClose 
-264 Dos32FindFirst 
-265 Dos32FindNext 
-266 Dos16OpenVDD 
-267 Dos16RequestVDD 
-268 Dos16CloseVDD 
-269 Dos32FSAttach 
-270 Dos32CreateDir 
-271 Dos32Move 
-272 Dos32SetFileSize 
-273 Dos32Open 
-274 Dos32QueryCurrentDir 
-275 Dos32QueryCurrentDisk 
-276 Dos32QueryFHState 
-277 Dos32QueryFSAttach 
-278 Dos32QueryFSInfo 
-279 Dos32QueryFileInfo 
-280 Dos32WaitChild 
-281 Dos32Read 
-282 Dos32Write 
-283 Dos32ExecPgm 
-284 Dos32DevIOCtl 
-285 Dos32FSCtl 
-286 Dos32Beep 
-287 Dos32PhysicalDisk 
-288 Dos32SetCp 
-289 Dos32SetProcessCp 
-290 Dos32StopTimer 
-291 Dos32QueryCp 
-292 Dos32SetDateTime 
-293 Thk32AllocBlock 
-294 Thk32FreeBlock 
-295 Thk32R3DS 
-296 Dos32ExitList 
-297 Dos32AllocProtectedMem 
-298 Dos32AliasMem 
-299 Dos32AllocMem 
-300 Dos32AllocSharedMem 
-301 Dos32GetNamedSharedMem 
-302 Dos32GetSharedMem 
-303 Dos32GiveSharedMem 
-304 Dos32FreeMem 
-305 Dos32SetMem 
-306 Dos32QueryMem 
-307 Dos32QueryMemState 
-308 Dos32OpenVDD 
-309 Dos32RequestVDD 
-310 Dos32CloseVDD 
-311 Dos32CreateThread 
-312 Dos32GetInfoBlocks 
-313 Dos16AllocProtSeg 
-314 Dos16AllocShrProtSeg 
-315 Dos16AllocProtHuge 
-316 Dos32DynamicTrace 
-317 Dos32Debug 
-318 Dos32LoadModule 
-319 Dos32QueryModuleHandle 
-320 Dos32QueryModuleName 
-321 Dos32QueryProcAddr 
-322 Dos32FreeModule 
-323 Dos32QueryAppType 
-324 Dos32CreateEventSem 
-325 Dos32OpenEventSem 
-326 Dos32CloseEventSem 
-327 Dos32ResetEventSem 
-328 Dos32PostEventSem 
-329 Dos32WaitEventSem 
-330 Dos32QueryEventSem 
-331 Dos32CreateMutexSem 
-332 Dos32OpenMutexSem 
-333 Dos32CloseMutexSem 
-334 Dos32RequestMutexSem 
-335 Dos32ReleaseMutexSem 
-336 Dos32QueryMutexSem 
-337 Dos32CreateMuxWaitSem 
-338 Dos32OpenMuxWaitSem 
-339 Dos32CloseMuxWaitSem 
-340 Dos32WaitMuxWaitSem 
-341 Dos32AddMuxWaitSem 
-342 Dos32DeleteMuxWaitSem 
-343 Dos32QueryMuxWaitSem 
-344 Dos32SubSetMem 
-345 Dos32SubAllocMem 
-346 Dos32SubFreeMem 
-347 Dos32SubUnsetMem 
-348 Dos32QuerySysInfo 
-349 Dos32WaitThread 
-350 Dos32AsyncTimer 
-351 Dos32StartTimer 
-352 Dos32GetResource 
-353 Dos32FreeResource 
-354 Dos32SetExceptionHandler 
-355 Dos32UnsetExceptionHandler 
-356 Dos32RaiseException 
-357 Dos32UnwindException 
-358 Dos32QueryPageUsage 
-359 Dos16QueryModFromCS 
-360 Dos32QueryModFromEIP 
-361 DosFPDataArea 
-362 Dos32TmrQueryFreq 
-363 Dos32TmrQueryTime 
-364 Dos32AliasPerfCtrs 
-365 Dos32ConfigPerf 
-366 Dos32DeconPerf 
-367 Dos32RegisterPerfCtrs 
-368 Dos32QuerySysState 
-369 Dos32FlatCS 
-370 Dos32FlatDS 
-371 Dos32QueryABIOSSupport 
-372 Dos32EnumAttribute 
-373 Dos32QueryDosProperty 
-374 Dos32SetDosProperty 
-375 Dos16QueryDosProperty 
-376 Dos16SetDosProperty 
-377 Dos32Profile 
-378 Dos32SetSignalExceptionFocus 
-379 Dos32SendSignalException 
-380 Dos32EnterMustComplete 
-381 Dos32ExitMustComplete 
-382 Dos32SetRelMaxFH 
-383 Dos16PutMessage 
-384 Dos16TrueGetMessage 
-385 Dos16InsMessage 
-386 Dos32InsertMessage 
-387 Dos32PutMessage 
-388 Dos32TrueGetMessage 
-389 DosIQueryMessageCP 
-390 Dos32IQueryMessageCP 
-391 Dos16CaseMap 
-392 Dos16GetCollate 
-393 Dos16GetCtryInfo 
-394 Dos16GetDBCSEv 
-395 Dos32QueryCtryInfo 
-396 Dos32QueryDBCSEnv 
-397 Dos32MapCase 
-398 Dos32QueryCollate 
-399 Dos16MakeNmPipe 
-400 Dos16QNmPipeInfo 
-401 Dos16ConnectNmPipe 
-402 Dos16DisconnectNmPipe 
-403 Dos16QNmPHandState 
-404 Dos16SetNmPHandState 
-405 Dos16PeekNmPipe 
-406 Dos16WaitNmPipe 
-407 Dos16TransactNmPipe 
-408 Dos16CallNmPipe 
-409 Dos16RawReadNmPipe 
-410 Dos16RawWriteNmPipe 
-411 Dos16SetNmPipeSem 
-412 Dos16QNmPipeSemState 
-413 StartLazyWriter 
-414 _QueInst_Data 
-415 Dos32Shutdown 
-416 Dos32ICacheModule 
-417 Dos32ReplaceModule 
-418 Dos32AcknowledgeSignalException 
-419 Dos32TIB 
-420 Dos16TmrQueryFreq 
-421 Dos16TmrQueryTime 
-422 Dos16RegisterPerfCtrs 
-423 Dos16FlatToSel 
-424 Dos16SelToFlat 
-425 Dos32FlatToSel 
-426 Dos32SelToFlat 
-427 DosIODelayCnt 
-428 Dos32SetFileLocks 
-429 Dos32CancelLockRequest 
-430 Dos32GetLocaleModule 
-430 LogOpen 
-431 LogClose 
-432 LogAddEntries 
-433 LogGetEntries 
-434 LogSetState 
-435 LogSetName 
-436 LogQueryState 
-437 Dos16OpenChangeNotify 
-438 Dos16ResetChangeNotify 
-439 Dos16CloseChangeNotify 
-440 Dos32OpenChangeNotify 
-441 Dos32ResetChangeNotify 
-442 Dos32CloseChangeNotify 
-443 Dos16QueryABIOSSupport 
-444 Dos32ForceSystemDump 
-447 Dos32GetProcessorStatus 
-448 Dos32SetProcessorStatus 
-449 Dos16CreateSpinLock 
-450 Dos16AcquireSpinLock 
-451 Dos16ReleaseSpinLock 
-452 Dos16FreeSpinLock 
-453 Dos32TestPSD 
-454 Dos32AllocThreadLocalMemory 
-455 Dos32FreeThreadLocalMemory 
-460 Dos32VerifyPIDTID 
-464 PTDA_LANMAN_SEC 
-465 PTDA_PID 
-466 SAS_SEL 
-467 TCB_OPCOOKIE 
-468 TCB_OPFLAGS 
-469 TCB_NEWFLAGS 
-470 TCB_USER_ID 
-471 TCB_PROC_ID 
-472 TCB_FSHARING 
-473 TCB_SRVATTRIB 
-474 TCB_ALLOWED 
-475 TCB_PRTCB 
-476 TCB_NUMBER 
-477 TCB_THISSFT 
-478 TCB_THISCDS 
-479 TKOPTDA 
-480 PTDA_CRITSEC 
-481 PTDA_HOLDSIGCNT 
-482 PTDA_PPTDAPARENT 
-483 PTDA_PGDATA 
-484 PTDA_HANDLE 
-485 PTDA_MODULE 
-486 PTDA_LDTHANDLE 
-487 PTDA_CODEPAGE_TAG 
-488 PTDA_JFN_LENGTH 
-489 PTDA_JFN_PTABLE 
-490 PTDA_JFN_FLG_PTR 
-491 PTDA_EXTERR_LOCUS 
-492 PTDA_EXTERR 
-493 PTDA_EXTERR_ACTION 
-494 PTDA_EXTERR_CLASS 
-495 PTDA_PPID 
-496 PTDA_PROCTYPE 
-497 PTDA_CURRTCB 
-498 PTDA_CURRTSD 
-499 PTDA_SIGNATURE 
-500 T32EXITLIST 
-501 T32ALLOCPROTECTEDMEM 
-502 T32ALIASMEM 
-503 T32ALLOCMEM 
-504 T32ALLOCSHAREDMEM 
-505 T32GETNAMEDSHAREDMEM 
-506 T32GETSHAREDMEM 
-507 T32GIVESHAREDMEM 
-508 T32FREEMEM 
-509 T32SETMEM 
-510 T32QUERYMEM 
-511 T32QUERYMEMSTATE 
-512 T32OPENVDD 
-513 T32REQUESTVDD 
-514 T32CLOSEVDD 
-515 T32CREATETHREAD 
-516 T32DYNAMICTRACE 
-517 T32DEBUG 
-518 T32QUERYPROCADDR 
-519 T32CREATEEVENTSEM 
-520 T32OPENEVENTSEM 
-521 T32CLOSEEVENTSEM 
-522 T32RESETEVENTSEM 
-523 T32POSTEVENTSEM 
-524 T32WAITEVENTSEM 
-525 T32QUERYEVENTSEM 
-526 T32CREATEMUTEXSEM 
-527 T32OPENMUTEXSEM 
-528 T32CLOSEMUTEXSEM 
-529 T32REQUESTMUTEXSEM 
-530 T32RELEASEMUTEXSEM 
-531 T32QUERYMUTEXSEM 
-532 T32CREATEMUXWAITSEM 
-533 T32OPENMUXWAITSEM 
-534 T32CLOSEMUXWAITSEM 
-535 T32WAITMUXWAITSEM 
-536 T32ADDMUXWAITSEM 
-537 T32DELETEMUXWAITSEM 
-538 T32QUERYMUXWAITSEM 
-539 T32QUERYSYSINFO 
-540 T32WAITTHREAD 
-541 DosIOpenL 
-541 T32GETRESOURCE 
-542 DosIProtectOpenL 
-542 T32FREERESOURCE 
-543 DosISetFileSizeL 
-543 T32EXCEPTIONCALLBACK 
-544 DosIProtectSetFileSizeL 
-544 T32QUERYPAGEUSAGE 
-545 Dos32ExceptionCallBack 
-546 TI32ASYNCTIMER 
-546 THK32STRLEN 
-547 TI32STARTTIMER 
-547 THK_UNITHUNK 
-548 Dos32R3ExceptionDispatcher 
-549 DosLibiDisp 
-550 DosLibiDisp16 
-551 DosLibiDisp32 
-552 DosR3ExitAddr 
-553 Dos32R3ExitAddr 
-554 Dos32IRead 
-555 T32IREAD 
-556 Dos32IWrite 
-557 Dos32CreateSpinLock 
-557 T32IWRITE 
-558 Dos32AcquireSpinLock 
-558 T32TMRQUERYFREQ 
-559 Dos32ReleaseSpinLock 
-559 T32TMRQUERYTIME 
-560 Dos32FreeSpinLock 
-560 T32ALIASPERFCTRS 
-561 Dos32PMR3WaitEventSem 
-561 T32CONFIGUREPERF 
-562 Dos32PMR3PostEventSem 
-562 T32DECONPERF 
-563 Dos32QueryThreadAffinity 
-563 T32REGISTERPERFCTRS 
-564 Dos32SetThreadAffinity 
-564 T32QUERYSYSSTATE 
-565 DosISetFileInfo 
-566 DosISetPathInfo 
-567 DosOpenL 
-567 T32QUERYDOSPROPERTY 
-568 DosSetFilePtrL 
-568 T32SETDOSPROPERTY 
-569 DosIFindNext 
-570 DosSetFileSizeL 
-570 T32PROFILE 
-571 T32QUERYRESOURCESIZE 
-572 Dos32QueryResourceSize 
-573 DosQueryResourceSize 
-574 T32SETSIGNALEXCEPTIONFOCUS 
-574 DosPMSemWait 
-575 T32SENDSIGNALEXCEPTION 
-575 DosPMMuxSemWait 
-576 T32STARTTIMER 
-576 THK16_UNITHUNK 
-577 T32STOPTIMER 
-577 HT16_STARTUP 
-578 T32ASYNCTIMER 
-578 HT16_CLEANUP 
-579 T32INITIALIZEPORTHOLE 
-579 HT32_STARTUP 
-580 Dos32InitializePorthole 
-581 T32QUERYHEADERINFO 
-581 HT32_CLEANUP 
-582 Dos32QueryHeaderInfo 
-583 DosInitializePorthole 
-584 DosQueryHeaderInfo 
-585 T32QUERYPROCTYPE 
-585 _Dos32IMonRead 
-586 Dos32QueryProcType 
-587 DosQueryProcType 
-588 T32IEXITMUSTCOMPLETE 
-588 _Dos32IMonWrite 
-589 DosISigDispatch 
-590 T32ICACHEMODULE 
-590 Dos32PMPostEventSem 
-591 T32DLLTERM 
-591 Dos32PMWaitEventSem 
-592 Dos32DllTermDisp 
-593 T32IRAISEEXCEPTION 
-593 Dos32PMRequestMutexSem 
-594 Dos32IRaiseException 
-595 T32ACKNOWLEDGESIGNALEXC 
-595 Dos32PMWaitMuxWaitSem 
-596 Dos32PM16SemChk 
-597 Dos32IQueryFHState 
-598 Dos32ISetFHState 
-599 Dos32LDTSel 
-600 Dos32R3Frestor 
-601 DosIFindFirst 
-602 T32SETFILELOCKS 
-603 T32CANCELLOCKREQUEST 
-604 T32IMONREAD 
-605 T32IMONWRITE 
-606 DosMonOpen 
-607 DosMonClose 
-608 DosMonRead 
-609 DosMonWrite 
-610 DosMonReg 
-611 T32KILLTHREAD 
-612 TQUERYRASINFO 
-615 Dos32IProtectWrite 
-617 DosIProtectSetFileInfo 
-618 Dos32IProtectSetFileInfo 
-619 Dos32IProtectSetFHState 
-620 Dos32IProtectQueryFHState 
-621 Dos32ProtectSetFilePtr 
-622 Dos16ProtectClose 
-623 Dos16ProtectFileIO 
-624 Dos16ProtectFileLocks 
-625 DosIProtectRead 
-626 DosIProtectWrite 
-627 Dos16ProtectNewSize 
-628 Dos16ProtectOpen 
-629 Dos16ProtectQFHandState 
-630 Dos16ProtectSetFHandState 
-631 Dos16ProtectQFileInfo 
-632 Dos16ProtectSetFileInfo 
-634 Dos16ProtectChgFilePtr 
-635 Dos16ProtectEnumAttribute 
-636 Dos32ProtectEnumAttribute 
-637 Dos32ProtectOpen 
-638 Dos32ProtectClose 
-639 Dos32ProtectSetFileLocks 
-640 Dos32ProtectSetFileSize 
-641 Dos32ProtectRead 
-642 Dos32ProtectWrite 
-643 Dos32ProtectSetFileInfo 
-644 Dos32ProtectSetFHState 
-645 Dos32ProtectQueryFHState 
-646 Dos32ProtectQueryFileInfo 
-647 Dos32IProtectRead 
-649 DosCloseMessageFile 
-650 DosLDRDirtyWorker 
-651 Dos16LDRDirtyWorker 
-652 Dos32IGetInfoBlocks 
-653 T32IGETINFOBLOCKS 
-656 T32GETPROCESSORSTATUS 
-657 T32SETPROCESSORSTATUS 
-658 T32TESTPSD 
-659 T32QUERYTHREADAFFINITY 
-660 T32SETTHREADAFFINITY 
-661 Dos32ReadQueue 
-662 Dos32PurgeQueue 
-663 Dos32CloseQueue 
-664 Dos32QueryQueue 
-665 Dos32PeekQueue 
-666 Dos32WriteQueue 
-667 Dos32OpenQueue 
-668 Dos32CreateQueue 
-669 Dos32StartSession 
-670 Dos32SelectSession 
-671 Dos32SetSession 
-672 Dos32StopSession 
-673 DosRegisterNotification 
-674 Dos16ReadQueue 
-675 Dos16PurgeQueue 
-676 Dos16CloseQueue 
-677 Dos16QueryQueue 
-678 Dos16PeekQueue 
-679 Dos16WriteQueue 
-680 Dos16OpenQueue 
-681 Dos16CreateQueue 
-682 Dos16SMGetmem 
-683 Dos16SMFreemem 
-684 Dos16SMGetSGCB 
-685 Dos16SMInitSGCB 
-686 Dos16SMSGDoPopup 
-687 Dos16SMSwitch 
-688 Dos16SMServeAppReq 
-689 Dos16GetTimes 
-690 Dos16SMSetTitle 
-691 Dos16ScrUnlock 
-692 Dos16SMDoAppReq 
-693 Dos16StopSession 
-694 Dos16SelectSession 
-695 Dos16ScrLock 
-696 Dos16SavRedrawWait 
-697 Dos16SavRedrawUndo 
-698 Dos16SMSGEndPopup 
-699 Dos16SetSession 
-700 Dos16SetMNLockTime 
-701 Dos16ModeUndo 
-702 Dos16StartSession 
-703 Dos16SMGetStatus 
-704 Dos16ModeWait 
-705 Dos16SMTerminate 
-706 Dos16SMGetAppReq 
-707 Dos16SMInitialize 
-708 Dos16SMStart 
-709 Dos16SMParentSwitch 
-710 Dos16SMPause 
-711 Dos16SMHDeinit 
-712 Dos16SMPMPresent 
-713 Dos16SMRegisterDD 
-714 Dos16SMNotifyDD 
-715 Dos16SMNotifyDD2 
-716 Dos16SMOpenDD 
-717 Dos16SMSetSessionType 
-718 OS2BaseInit 
-719 MouGetPtrShape 
-720 MouSetPtrShape 
-721 MouGetNumMickeys 
-722 MouGetThreshold 
-723 MouShellInit 
-724 MouGetScaleFact 
-725 MouFlushQue 
-726 MouGetNumButtons 
-727 MouClose 
-728 MouSetThreshold 
-729 MouSetScaleFact 
-730 MouGetNumQueEl 
-731 MouDeRegister 
-732 MouGetEventMask 
-733 MouSetEventMask 
-734 MouOpen 
-735 MouRemovePtr 
-736 MouGetPtrPos 
-737 MouReadEventQue 
-738 MouSetPtrPos 
-739 MouGetDevStatus 
-740 MouSynch 
-741 MouRegister 
-742 MouSetDevStatus 
-743 MouDrawPtr 
-744 MouInitReal 
-745 KbdSetCustXt 
-746 KbdInit 
-747 KbdGetCp 
-748 KbdCharIn 
-749 KbdSetCp 
-750 KbdLoadInstance 
-751 KbdSynch 
-752 KbdRegister 
-753 KbdStringIn 
-754 KbdGetStatus 
-755 KbdSetStatus 
-756 KbdGetFocus 
-757 KbdFlushBuffer 
-758 KbdXlate 
-759 KbdSwitchFgnd 
-760 KbdShellInit 
-761 KbdClose 
-762 KbdFreeFocus 
-763 KbdFree 
-764 KbdDeRegister 
-765 KbdSetFgnd 
-766 KbdPeek 
-767 KbdOpen 
-768 KbdGetHWId 
-769 KbdSetHWId 
-770 VioEndPopup 
-771 VioGetPhysBuf 
-772 VioGetAnsi 
-773 VioFree 
-774 VioSetAnsi 
-775 VioDeRegister 
-776 VioScrollUp 
-777 VioPrtSc 
-778 VioGetCurPos 
-779 VioWrtCellStr 
-780 VioPopUp 
-781 VioScrollRt 
-782 VioWrtCharStr 
-783 Avs_Prtsc 
-784 VioSetCurPos 
-785 VioSrfUnblock 
-786 VioSrfBlock 
-787 VioScrUnlock 
-788 VioWrtTty 
-789 VioSave 
-790 VioGetMode 
-791 VioSetMode 
-792 VioScrLock 
-793 VioReadCellStr 
-794 VioSavRedrawWait 
-795 VioWrtNAttr 
-796 VioGetCurType 
-797 VioSavRedrawUndo 
-798 VioGetFont 
-799 VioReadCharStr 
-800 VioGetBuf 
-801 VioSetCurType 
-802 VioSetFont 
-803 VioHetInit 
-804 VioModeUndo 
-805 VioSswSwitch 
-806 VioModeWait 
-807 Avs_PrtscToggle 
-808 VioGetCp 
-809 VioRestore 
-810 VioSetCp 
-811 VioShowBuf 
-812 VioScrollLf 
-813 VioRegister 
-814 VioGetConfig 
-815 VioScrollDn 
-816 VioWrtCharStrAtt 
-817 VioGetState 
-818 VioPrtScToggle 
-819 VioSetState 
-820 VioWrtNCell 
-821 VioWrtNChar 
-822 VioShellInit 
-823 VioAssociate 
-824 VioCreatePS 
-825 VioDeleteSetId 
-826 VioGetDeviceCellSize 
-827 VioGetOrg 
-828 VioCreateLogFont 
-829 VioDestroyPS 
-830 VioQuerySetIds 
-831 VioSetOrg 
-832 VioQueryFonts 
-833 VioSetDeviceCellSize 
-834 VioShowPS 
-835 VioGetPSAddress 
-836 VioQueryConsole 
-837 VioRedrawSize 
-838 VioGlobalReg 
-839 XVioSetCAState 
-840 XVioCheckCharType 
-841 XVioDestroyCA 
-842 XVioCreateCA 
-843 VioCheckCharType 
-844 XVioGetCAState 
-845 BVSMAIN 
-846 BVSREDRAWSIZE 
-847 BVSGETPTRDRAWNAME 
-848 AnsiInject 
-849 AnsiKeydef 
-850 AnsiInterp 
-851 BKSMAIN 
-852 BMSMAIN 
-853 MouGetHotKey 
-854 MouSetHotKey 
-855 Dos16SMSysInit 
-856 QhKeybdHandle 
-857 QhMouseHandle 
-858 SMQueueRamSem 
-859 SMArray 
-860 SMPIDArray 
-861 SMInitialized 
-862 SMArraySize 
-863 BVSGLOBAL 
-864 SMGINSTANCE 
-865 BVHINSTANCE 
-866 THK32ALIASMEM 
-867 THK32FREEALIAS 
-868 THK32ALLOCVARLEN 
-869 THK32HANDLEBOUNDARY 
-870 THK32HANDLESTRING 
-871 THK32DEALLOC 
-872 THK32XHNDLR 
-873 Dos32SetExtLIBPATH 
-874 Dos32QueryExtLIBPATH 
-875 Dos32PM16SemRst 
-876 Dos32SysCtl 
-877 Dos32QueryThreadContext 
-878 DosSGQueryTopmost 
-976 Dos32PerfSysCall 
-981 Dos32OpenL 
-982 Dos32ProtectOpenL 
-983 Dos32ProtectSetFileLocksL 
-984 Dos32ProtectSetFilePtrL 
-985 Dos32ProtectSetFileSizeL 
-986 Dos32SetFileLocksL 
-987 Dos32CancelLockRequestL 
-988 Dos32SetFilePtrL 
-989 Dos32SetFileSizeL 
-990 Dos32ListIOL 
-991 Dos16FSRamSemRequest2 
-992 Dos16FSRamSemClear2 
-995 Dos32SystemService 
-996 Dos32ListIO 
-997 Dos32CreateThread2 
-998 Dos16SetExtLIBPATH 
-999 Dos16QueryExtLIBPATH 
-1000 T32EXITLIST 
-1001 T32ALLOCPROTECTEDMEM 
-1002 T32ALIASMEM 
-1003 T32ALLOCMEM 
-1004 T32ALLOCSHAREDMEM 
-1005 T32GETNAMEDSHAREDMEM 
-1006 T32GETSHAREDMEM 
-1007 T32GIVESHAREDMEM 
-1008 T32FREEMEM 
-1009 T32SETMEM 
-1010 T32QUERYMEM 
-1011 T32QUERYMEMSTATE 
-1012 T32OPENVDD 
-1013 T32REQUESTVDD 
-1014 T32CLOSEVDD 
-1015 T32CREATETHREAD 
-1016 T32DYNAMICTRACE 
-1017 T32DEBUG 
-1018 T32QUERYPROCADDR 
-1019 T32CREATEEVENTSEM 
-1020 T32OPENEVENTSEM 
-1021 T32CLOSEEVENTSEM 
-1022 T32RESETEVENTSEM 
-1023 T32POSTEVENTSEM 
-1024 T32WAITEVENTSEM 
-1025 T32QUERYEVENTSEM 
-1026 T32CREATEMUTEXSEM 
-1027 T32OPENMUTEXSEM 
-1028 T32CLOSEMUTEXSEM 
-1029 T32REQUESTMUTEXSEM 
-1030 T32RELEASEMUTEXSEM 
-1031 T32QUERYMUTEXSEM 
-1032 T32CREATEMUXWAITSEM 
-1033 T32OPENMUXWAITSEM 
-1034 T32CLOSEMUXWAITSEM 
-1035 T32WAITMUXWAITSEM 
-1036 T32ADDMUXWAITSEM 
-1037 T32DELETEMUXWAITSEM 
-1038 T32QUERYMUXWAITSEM 
-1039 T32QUERYSYSINFO 
-1040 T32WAITTHREAD 
-1041 T32GETRESOURCE 
-1042 T32FREERESOURCE 
-1043 T32EXCEPTIONCALLBACK 
-1044 T32QUERYPAGEUSAGE 
-1045 T32FORCESYSTEMDUMP 
-1046 TI32ASYNCTIMER 
-1047 TI32STARTTIMER 
-1048 T32QUERYABIOSSUPPORT 
-1049 T32QUERYMODFROMEIP 
-1050 T32ALIASPERFCTRS 
-1051 T32CONFIGUREPERF 
-1052 T32DECONPERF 
-1053 T32REGISTERPERFCTRS 
-1054 T32QUERYSYSSTATE 
-1055 T32IREAD 
-1056 T32IWRITE 
-1057 T32TMRQUERYFREQ 
-1058 T32TMRQUERYTIME 
-1059 T32IMONREAD 
-1060 T32IMONWRITE 
-1061 T32QUERYRESOURCESIZE 
-1062 T32PROFILE 
-1063 T32SETSIGNALEXCEPTIONFOCUS 
-1064 T32SENDSIGNALEXCEPTION 
-1065 T32STARTTIMER 
-1066 T32STOPTIMER 
-1067 T32ASYNCTIMER 
-1068 T32INITIALIZEPORTHOLE 
-1069 T32QUERYHEADERINFO 
-1070 T32QUERYPROCTYPE 
-1071 T32IEXITMUSTCOMPLETE 
-1072 T32ICACHEMODULE 
-1073 T32DLLTERM 
-1074 T32IRAISEEXCEPTION 
-1075 T32ACKNOWLEDGESIGNALEXCEPTION 
-1076 T32QUERYDOSPROPERTY 
-1077 T32SETDOSPROPERTY 
-1078 T32SETFILELOCKS 
-1079 T32CANCELLOCKREQUEST 
-1080 T32KILLTHREAD 
-1081 TQUERYRASINFO 
-1082 T32DUMPPROCESS 
-1083 T32SUPPRESSPOPUPS 
-1084 T32IPROTECTWRITE 
-1085 T32PROTECTSETFILELOCKS 
-1086 T32IPROTECTREAD 
-1087 T32PMPOSTEVENTSEM 
-1088 T32PMWAITEVENTSEM 
-1089 T32PMREQUESTMUTEXSEM 
-1090 T32PMWAITMUXWAITSEM 
-1091 T32PM16SEMCHK 
-1092 T32ALLOCTHREADLOCALMEMORY 
-1093 T32FREETHREADLOCALMEMORY 
-1094 T32SETEXTLIBPATH 
-1095 T32QUERYEXTLIBPATH 
-1096 T32PM16SEMRST 
-1097 T32VERIFYPIDTID 
-1098 T32SYSCTL 
-1099 T32QUERYTHREADCONTEXT 
-1101 T32PERFSYSCALL 
-1102 T32LISTIO 
-1103 T32PMR3WAITEVENTSEM 
-1104 T32PMR3POSTEVENTSEM 
-1105 T32CREATETHREAD2 
-1106 T32PROTECTSETFILELOCKSL 
-1107 T32IPROTECTSETFILEPTRL 
-1108 T32SETFILELOCKSL 
-1109 T32CANCELLOCKREQUESTL 
-1110 T32ISETFILEPTRL 
-1111 T32LISTIOL 
-1116 T32ISETFILEPTR 
-1117 T32IPROTECTSETFILEPTR 
-9004 Dos32CreateRamSem 
-9005 Dos32CloseRamSem 
-9006 Dos32OpenRamSem 
-9007 Dos32RequestRamSem 
-9008 Dos32ReleaseRamSem 
-9010 Dos32QueryProcessInfo 
-9011 Dos32QueryThreadInfo 
-9018 Dos32FindFromName 
-
-
diff --git a/os2/lib/doscalls/makefile b/os2/lib/doscalls/makefile
deleted file mode 100644 (file)
index e84ae72..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# $Id: makefile,v 1.7 2004/01/31 01:29:11 robertk Exp $
-
-PATH_TO_TOP = ../../../reactos
-
-PATH_TO_OS2_TOP = ../..
-
-TARGET_TYPE = dynlink
-
-#TARGET_DEFONLY = yes
-
-TARGET_NAME = doscalls
-
-TARGET_BASE = 0x68E00000
-
-TARGET_CPPFLAGS =\
-       -Wall \
-       -I$(PATH_TO_OS2_TOP)/include \
-       -D__DOSCALLSDLL__
-# removed CFLAGX
-#      -fno-builtin \
-#      -nostdinc \
-#      -nostdlib \
-
-TARGET_ENTRY = _DllMain@12
-
-TARGET_LFLAGS = -nostartfiles
-
-TARGET_LIBS = doscalls.a
-
-TARGET_SDKLIBS = ntdll.a
-
-TARGET_GCCLIBS = stdc++
-
-TARGET_OBJECTS = $(TARGET_NAME).o
-
-
-MISC_OBJECTS = misc/doscalls.o misc/error.o 
-
-FILE_OBJECTS = file/openclose.o
-
-RUN_OBJECTS = run/process.o
-
-DEVICES_OBJECTS = devices/devices.o
-
-OTHER_OBJECTS =
-
-SYNC_OBJECTS =
-
-TARGET_OBJECTS = $(FILE_OBJECTS) $(RUN_OBJECTS) $(DEVICES_OBJECTS) \
-                $(MISC_OBJECTS) $(OTHER_OBJECTS) $(SYNC_OBJECTS)
-
-#TARGET_CLEAN = file/*.o vio/*.o sync/*.o mem/*.o \
-#              misc/*.o mou/*.o kbd/*.o run/*.o \
-#              doscalls.dll temp.exp
-
-include $(PATH_TO_TOP)/rules.mak
-
-include $(TOOLS_PATH)/helper.mk
-
-
-# EOF
diff --git a/os2/lib/doscalls/memory/memory.cpp b/os2/lib/doscalls/memory/memory.cpp
deleted file mode 100644 (file)
index 4be00ab..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-\r
-\r
-\r
-// TODO: HEader: To be pasted\r
-\r
-\r
-\r
-\r
-// INCL_DOSMEMMGR || !INCL_NOCOMMON \r
-#define  INCL_DOSMEMMGR \r
-#undefine INCL_NOCOMMON\r
-\r
-#include <os2.h>\r
-\r
-\r
-// TODO: Expain that this is for memory alloc/free funcs of Os2 api\r
-\r
-\r
-\r
-// TODO: Implement functions and give them bodies\r
-ULONG DosAllocMem (PPVOID pBaseAddress, ULONG ulObjectSize,\r
-    ULONG ulAllocationFlags);\r
-ULONG DosAllocSharedMem (PPVOID pBaseAddress, PCSZ pszName,\r
-    ULONG ulObjectSize, ULONG ulAllocationFlags);\r
-ULONG DosFreeMem (PVOID pBaseAddress);\r
-ULONG DosGetNamedSharedMem (PPVOID pBaseAddress, PCSZ pszSharedMemName,\r
-    ULONG ulAttributeFlags);\r
-ULONG DosGetSharedMem (CPVOID pBaseAddress, ULONG ulAttributeFlags);\r
-ULONG DosGiveSharedMem (CPVOID pBaseAddress, PID idProcessId,\r
-    ULONG ulAttributeFlags);\r
-ULONG DosQueryMem (CPVOID pBaseAddress, PULONG pulRegionSize,\r
-    PULONG pulAllocationFlags);\r
-ULONG DosSetMem (CPVOID pBaseAddress, ULONG ulRegionSize,\r
-    ULONG ulAttributeFlags);\r
-ULONG DosSubAllocMem (PVOID pOffset, PPVOID pBlockOffset, ULONG ulSize);\r
-ULONG DosSubFreeMem (PVOID pOffset, PVOID pBlockOffset, ULONG ulSize);\r
-ULONG DosSubSetMem (PVOID pOffset, ULONG ulFlags, ULONG ulSize);\r
-ULONG DosSubUnsetMem (PVOID pOffset);\r
-\r
-// TODO: Add file to makefile
\ No newline at end of file
diff --git a/os2/lib/doscalls/misc/doscalls.cpp b/os2/lib/doscalls/misc/doscalls.cpp
deleted file mode 100644 (file)
index cc40f9c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/* $Id$
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * FILE:             dll/doscalls.c
- * PURPOSE:          Kernelservices for OS/2 apps
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *    13-03-2002  Created
- */
-
-
-// here's only the NTDLL needet
-#include <ddk/ntddk.h>
-
-
-
-BOOL STDCALL DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved )
-{
-       switch (ul_reason_for_call)
-       {
-       case 1://DLL_PROCESS_ATTACH:
-       case 2://DLL_THREAD_ATTACH:
-       case 3://DLL_THREAD_DETACH:
-       case 0://DLL_PROCESS_DETACH:
-               break;
-       }
-    return TRUE;
-}
-
diff --git a/os2/lib/doscalls/misc/error.cpp b/os2/lib/doscalls/misc/error.cpp
deleted file mode 100644 (file)
index 93a4c84..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/* $Id$
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * PART:                        doscalls.dll
- * FILE:             error.cpp
- * CONTAINS:            Error related CP-functions.
- * PURPOSE:          Kernelservices for OS/2 apps
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *  13-03-2002  Created
- *     25-07-2002      Work to make it compile 
- */
-
-
-#define INCL_DOSPROCESS
-#define INCL_DOSERRORS
-#include "ros2.h"
-// we need the extra definitions of this file
-namespace NT {
-#include <ddk/ntddbeep.h>
-}
-
-
-/*******************************************
- DosBeep generates sound from the        
- speaker.                                
-
- freq (ULONG) - input 
-    Cycles per second (Hertz) in the range of 0x25 to 
-    0x7FFF. 
- dur (ULONG) - input 
-    The length of the sound in milliseconds. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosBeep returns one of the following values: 
-
-      0         NO_ERROR 
-      395       ERROR_INVALID_FREQUENCY 
-*******************************************/
-APIRET STDCALL DosBeep(ULONG freq, ULONG dur)
-{
-    NT::BEEP_SET_PARAMETERS BeepSetParameters;
-       NT::HANDLE      hBeep;
-       NT::IO_STATUS_BLOCK ComplStatus;
-       NT::UNICODE_STRING unistr; 
-       NT::NTSTATUS stat;
-       NT::OBJECT_ATTRIBUTES oa = {sizeof oa, 0, &unistr, NT::OBJ_CASE_INSENSITIVE, 0, 0};
-
-       // init String still bevore use.
-       NT::RtlInitUnicodeString( &unistr, (NT::PWSTR)L"\\\\.\\Beep" );
-       
-       if( freq<0x25 || freq>0x7FFF )
-               return ERROR_INVALID_FREQUENCY; //395;  // 
-
-    /* Set beep data */
-    BeepSetParameters.Frequency = freq;
-    BeepSetParameters.Duration  = dur;
-
-       /* open the beep dirver */
-       stat = NT::ZwOpenFile( &hBeep,
-                               FILE_READ_DATA | FILE_WRITE_DATA,
-                               &oa,
-                               &ComplStatus,
-                               0,      // no sharing
-                               FILE_OPEN );
-       
-       if ( stat<0 )
-       {
-               return ERROR_NOT_READY;
-       }
-       
-       /* actually beep */
-    NT::ZwDeviceIoControlFile(hBeep, 0, // Event
-                                       0, // APC-routine
-                                       0, // UserAPCContext
-                                       &ComplStatus,   IOCTL_BEEP_SET,
-                    &BeepSetParameters,
-                    sizeof(NT::BEEP_SET_PARAMETERS),
-                    NULL,
-                    0 );
-    NT::ZwClose(hBeep);
-
-    return NO_ERROR;
-}
-
-
-/******************************************
-       DosError disables or enables error      
-       notification to end users.              
- error (ULONG) - input 
-    Error and Exception pop-up flags. 
-
-    The unused high-order bits are reserved, and must be zero. The following values can be specified 
-    for this parameter. They can be combined using the "logical or" ( | ) operator. 
-
-      FERR_DISABLEHARDERR (0x00000000) 
-          Disable hard error pop-ups. 
-
-      FERR_ENABLEHARDERR (0x00000001) 
-          Enable hard error pop-ups. 
-
-      FERR_ENABLEEXCEPTION (0x00000000) 
-          Enable program exception and untrapped numeric-processor exception pop-ups. 
-
-      FERR_DISABLEEXCEPTION (0x00000002) 
-          Disable program exception and untrapped numeric-processor exception pop-ups. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosError returns one of the following values: 
-
-      0         NO_ERROR 
-      87        ERROR_INVALID_PARAMETER 
-*******************************************/
-APIRET DosError( ULONG error)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-
-/*******************************************
- DosMove moves a file object to another  
- location, and changes its name.         
-
- pszOld (PSZ) - input 
-    Address of the old path name of the file or 
-    subdirectory to be moved. 
- pszNew (PSZ) - input 
-    Address of the new path name of the file or 
-    subdirectory. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosMove returns the one of following values: 
-
-      0         NO_ERROR 
-      2         ERROR_FILE_NOT_FOUND 
-      3         ERROR_PATH_NOT_FOUND 
-      5         ERROR_ACCESS_DENIED 
-      17        ERROR_NOT_SAME_DEVICE 
-      26        ERROR_NOT_DOS_DISK 
-      32        ERROR_SHARING_VIOLATION 
-      36        ERROR_SHARING_BUFFER_EXCEEDED 
-      87        ERROR_INVALID_PARAMETER 
-      108       ERROR_DRIVE_LOCKED 
-      206       ERROR_FILENAME_EXCED_RANGE 
-      250       ERROR_CIRCULARITY_REQUESTED 
-      251       ERROR_DIRECTORY_IN_CDS 
-*******************************************/
-APIRET DosMove(PSZ pszOld, PSZ pszNew)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-/* EOF */
diff --git a/os2/lib/doscalls/run/process.cpp b/os2/lib/doscalls/run/process.cpp
deleted file mode 100644 (file)
index 68c7bcd..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* $Id$
-*/
-/*
- *
- * COPYRIGHT:        See COPYING in the top level directory
- * PROJECT:          ReactOS OS/2 sub system
- * PART:                        doscalls.dll
- * FILE:             process.cpp
- * CONTAINS:            process and thread related CP-functions.
- * PURPOSE:          Kernelservices for OS/2 apps
- * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
- * REVISION HISTORY:
- *  13-03-2002  Created
- *     25-07-2002      Work to make it compile 
- */
-
-
-//#if defined (INCL_DOS)
-#define INCL_DOSPROCESS
-#define INCL_DOSERRORS
-#include "ros2.h"
-
-
-APIRET STDCALL DosSleep(ULONG msec)
-{
-       NT::NTSTATUS stat;
-       NT::TIME Interv;
-       Interv.QuadPart= -(10000 * msec);
-       stat = NT::NtDelayExecution( TRUE, &Interv );
-       return 0;
-}
-
-
-/* $Id$ */
-/* Terminates the current thread or the current Process.
-       Decission is made by action 
-       FIXME:  move this code to OS2.EXE */
-VOID APIENTRY DosExit(ULONG action, ULONG result)
-{
-       // decide what to do
-       if( action == EXIT_THREAD)
-       {
-               NT::NtTerminateThread( NULL, result );
-       }
-       else    // EXIT_PROCESS
-       {
-               NT::NtTerminateProcess( NULL, result );
-       }
-}
-
-
-APIRET STDCALL DosCreateThread(PTID ptid, PFNTHREAD pfn,
-                                   ULONG param, ULONG flag, ULONG cbStack)
-{
-       return ERROR_CALL_NOT_IMPLEMENTED;
-}
-
-/* EOF */
diff --git a/os2/makefile b/os2/makefile
deleted file mode 100644 (file)
index 5ceda24..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-all: 
-       @echo To build "os2" there are two paths:
-       @echo ---
-       @echo 1. copy the os2 folder into the reactos\modules folder
-       @echo 2. link reactos/modules/os2 to os2
-       @echo    UNIX
-       @echo         cd $${ROS_SRC_ROOT}/reactos/modules
-       @echo         ln -s $${ROS_SRC_ROOT}/os2 os2
-       @echo    WINDOWS
-       @echo         cd %%ROS_SRC_ROOT%%\reactos\modules
-       @echo         junction os2 %%ROS_SRC_ROOT%%\os2
-       @echo ---
-       @echo Eventually you can run "make depends" in the %%ROS_SRC_ROOT%%\reactos
-       @echo directory to compile it.
diff --git a/os2/server/dllmain.c b/os2/server/dllmain.c
deleted file mode 100644 (file)
index 8d84b68..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* $Id$
- *
- * dllmain.c - OS/2 Enviroment Subsystem Server
- * 
- * ReactOS Operating System
- * 
- * --------------------------------------------------------------------
- *
- * This software is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.LIB. If not, write
- * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- * MA 02139, USA.  
- *
- * --------------------------------------------------------------------
- */
-#include "os2srv.h"
-
-#define NDEBUG
-#include <debug.h>
-
-/* DLL entry point */
-
-HANDLE Os2SrvDllHandle = 0;
-
-/* FUNCTIONS *****************************************************************/
-
-BOOL STDCALL
-DllMain(HANDLE hDll,
-       DWORD dwReason,
-       LPVOID lpReserved)
-{
-  if (DLL_PROCESS_ATTACH == dwReason)
-    {
-      Os2SrvDllHandle = hDll;
-    }
-
-  return TRUE;
-}
-
-/* EOF */
diff --git a/os2/server/os2srv.def b/os2/server/os2srv.def
deleted file mode 100644 (file)
index 81fe14c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY os2srv.dll
-EXPORTS
-ServerDllInitialization@8
diff --git a/os2/server/os2srv.h b/os2/server/os2srv.h
deleted file mode 100644 (file)
index f80eb73..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _OS2SS_H_INCLUDED_
-#define _OS2SS_H_INCLUDED_
-
-/* PSDK/NDK Headers */
-#include <stdio.h>
-#include <windows.h>
-
-#define NTOS_MODE_USER
-#include <ndk/ntndk.h>
-
-#include <csr/server.h>
-
-#endif /* ndef _OS2SS_H_INCLUDED_ */
diff --git a/os2/server/os2srv.rc b/os2/server/os2srv.rc
deleted file mode 100644 (file)
index f4e3fff..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS-OS/2 Environment Subsystem Server\0"
-#define REACTOS_STR_INTERNAL_NAME      "os2srv\0"
-#define REACTOS_STR_ORIGINAL_FILENAME  "os2srv.dll\0"
-#include <reactos/version.rc>
diff --git a/os2/server/os2srv.xml b/os2/server/os2srv.xml
deleted file mode 100644 (file)
index 3c5706a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<module name="os2srv" type="nativedll">
-       <importlibrary definition="os2srv.def" />
-       <include base="os2srv">.</include>
-       <define name="__USE_W32API" />
-       <define name="_DISABLE_TIDENTS" />
-       <library>ntdll</library>
-       <library>csrsrv</library>
-       <file>dllmain.c</file>
-       <file>server.c</file>
-       <file>os2srv.rc</file>
-</module>
diff --git a/os2/server/server.c b/os2/server/server.c
deleted file mode 100644 (file)
index fa95de2..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/* $Id$
- *
- * server.c - OS/2 Enviroment Subsystem Server - Initialization
- * 
- * ReactOS Operating System
- * 
- * --------------------------------------------------------------------
- *
- * This software is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.LIB. If not, write
- * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- * MA 02139, USA.  
- *
- * --------------------------------------------------------------------
- */
-#include "os2srv.h"
-
-//#define NDEBUG
-#include <debug.h>
-
-HANDLE Os2ApiPort = NULL;
-
-/**********************************************************************
- * NAME                                                        PRIVATE
- *     Os2StaticServerThread/1
- */
-VOID STDCALL Os2StaticServerThread (PVOID x)
-{
-       NTSTATUS Status = STATUS_SUCCESS;
-       PPORT_MESSAGE Request = (PPORT_MESSAGE) x;
-       PPORT_MESSAGE Reply = NULL;
-       ULONG MessageType = 0;
-
-       DPRINT("VMSSRV: %s called\n", __FUNCTION__);
-
-       MessageType = Request->u2.s2.Type;
-       DPRINT("VMSSRV: %s received a message (Type=%d)\n",
-               __FUNCTION__, MessageType);
-       switch (MessageType)
-       {
-               default:
-                       Reply = Request;
-                       Status = NtReplyPort (Os2ApiPort, Reply);
-                       break;
-       }
-}
-
-/*=====================================================================
- *     PUBLIC API
- *===================================================================*/
-
-NTSTATUS STDCALL ServerDllInitialization (ULONG ArgumentCount,
-                                         LPWSTR *Argument)
-{
-       NTSTATUS Status = STATUS_SUCCESS;
-       
-       DPRINT("VMSSRV: %s called\n", __FUNCTION__);
-
-       // Get the listening port from csrsrv.dll
-       Os2ApiPort = CsrQueryApiPort ();
-       if (NULL == Os2ApiPort)
-       {
-               return STATUS_UNSUCCESSFUL;
-       }
-       // Register our message dispatcher
-       Status = CsrAddStaticServerThread (Os2StaticServerThread);
-       if (NT_SUCCESS(Status))
-       {
-               //TODO: perform the real OS/2 server internal initialization here
-       }
-       return Status;
-}
-
-/* EOF */
diff --git a/os2/utils/LXDUMP.EXE b/os2/utils/LXDUMP.EXE
deleted file mode 100644 (file)
index ba1ce70..0000000
Binary files a/os2/utils/LXDUMP.EXE and /dev/null differ
diff --git a/rosky/.gitignore b/rosky/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/rosky/directory.xml b/rosky/directory.xml
deleted file mode 100644 (file)
index 1e8f27d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<directory name="lib">
-       <xi:include href="lib/directory.xml" />
-</directory>
-
diff --git a/rosky/include/.gitignore b/rosky/include/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/rosky/include/defines.h b/rosky/include/defines.h
deleted file mode 100644 (file)
index 7aef204..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#ifndef __RSK_DEFINES_H
-#define __RSK_DEFINES_H
-
-/* Messages */
-#define MSG_MOUSE_BUT1_PRESSED         162
-#define MSG_MOUSE_BUT2_PRESSED         163
-#define MSG_MOUSE_BUT1_RELEASED                164
-#define MSG_MOUSE_BUT2_RELEASED                165
-#define MSG_MOUSE_MOVED                        166
-#define MSG_GUI_REDRAW                 170
-#define MSG_COMMAND                    2505
-#define MSG_QUIT                       2600
-#define MSG_DESTROY                    2700
-
-/* Window Styles */
-#define WF_DONT_EREASE_BACKGROUND      0x00000010
-#define WF_NO_FRAME                    0x00000020
-#define WF_MODAL                       0x00000100
-#define WF_HAS_MENU                    0x00001000
-#define WF_HAS_STATUSBAR               0x00002000
-#define WF_NO_INITIAL_DRAW             0x00008000
-#define WF_FOCUSABLE                   0x00010000
-#define WF_NOT_SIZEABLE                        0x00040000
-#define WF_SMALL_TITLE                 0x00080000
-#define WF_NOT_MOVEABLE                        0x00100000
-#define WF_NO_TITLE                    0x00200000
-#define WF_POPUP                       0x00400000
-#define WF_NO_BUTTONS                  0x00800000
-#define WF_FREEFORM                    0x08000000
-#define WF_USE_BACKGROUND              0x20000000
-#define WF_USER                                0x20000000
-#define WF_HIDE                                0x40000000
-#define WF_DESKTOP                     0x80000000
-#define WF_TRANSPARENT                 0x01000000
-
-/* GC types */
-#define GC_TYPE_WINDOW                 0x00000002
-#define GC_TYPE_DIB                    0x00000004
-
-/* Menu flags */
-#define MENU_SEPERATOR                 0x00000001
-
-/* Message box flags */
-#define WGF_MB_YESNO                   0x00000001
-#define WGF_MB_OK                      0x00000010
-#define WGF_MB_CANCEL                  0x00000100
-#define WGF_MB_ICON_INFO               0x00100000
-#define WGF_MB_ICON_ASK                        0x01000000
-#define WGF_MB_ICON_STOP               0x10000000
-
-/* Message box return values */
-#define ID_OK                          1
-#define ID_YES                         2
-#define ID_NO                          3
-#define ID_CANCEL                      4
-
-#endif /* __RSK_DEFINES_H */
diff --git a/rosky/include/rosky.h b/rosky/include/rosky.h
deleted file mode 100644 (file)
index a050298..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
- * ReactOS SkyOS headers
- */
-
-#include <structs.h>
-#include <defines.h>
-
diff --git a/rosky/include/structs.h b/rosky/include/structs.h
deleted file mode 100644 (file)
index 586a96a..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-#ifndef __RSK_STRUCTS_H
-#define __RSK_STRUCTS_H
-
-typedef unsigned int COLOR;
-
-typedef struct region
-{
-  int x1;
-  int y1;
-  int x2;
-  int y2;
-} s_region;
-
-typedef struct s_gi_msg
-{
-  HANDLE win;
-  unsigned int type;
-  unsigned int para1;
-  unsigned int para2;
-  s_region rect;
-  struct s_gi_msg *next;
-  struct s_gi_msg *prev;
-  unsigned long long timestamp;
-} s_gi_msg;
-
-typedef struct DDB
-{
-  unsigned int color;
-  unsigned int width;
-  unsigned int height;
-  unsigned char *data;
-  unsigned int palette_size;
-  unsigned int transcolor;
-  unsigned char trans;
-  unsigned char *bAndMask;
-  unsigned char bUseAndMask;
-  unsigned int uiAndMaskWidth;
-  unsigned int uiAndMaskHeight;
-  COLOR *palette;
-} DDB;
-
-typedef struct DIB
-{
-  unsigned int color;
-  unsigned int width;
-  unsigned int height;
-  unsigned char *data;
-
-  unsigned int palette_size;
-  unsigned int transcolor;
-  unsigned char trans;
-
-  unsigned char *bAndMask;
-  unsigned char bUseAndMask;
-  unsigned int uiAndMaskWidth;
-  unsigned int uiAndMaskHeight;
-  unsigned int uiFlags;
-  COLOR *palette;
-} DIB;
-
-typedef struct GC
-{
-  unsigned int type;
-  HANDLE window;
-  DIB *hDIB;
-  unsigned int width;
-  unsigned int height;
-  s_region *clip;
-  COLOR fg_color;
-  COLOR bg_color;
-  COLOR trans_color;
-  unsigned int uiTransparentLevel;
-  unsigned int flags;
-  unsigned int fontIndex;
-  unsigned int fontSize;
-  unsigned int fontFlags;
-} GC;
-
-typedef struct sBlit
-{
-  DIB *hDIB;
-  DDB *hDDB;
-  int iDestX;
-  int iDestY;
-  int iSrcX;
-  int iSrcY;
-  int iWidth;
-  int iHeight;
-  unsigned int uiFlags;
-  unsigned int uiReserved0;
-  unsigned int uiReserved1;
-  unsigned int uiReserved2;
-  unsigned int uiReserved3;
-  unsigned int uiReserved4;
-  unsigned int uiReserved5;
-  unsigned int uiReserved6;
-  unsigned int uiReserved7;
-  unsigned int uiReserved8;
-  unsigned int uiReserved9;
-} sBlit;
-
-typedef struct widget_dynbmp_item
-{
-  DIB *hDib;
-  unsigned char *rawData;
-  struct widget_dynbmp_item *next;
-} widget_dynbmp_item;
-
-typedef struct widget_dynbmp
-{
-  unsigned int state;
-  unsigned int trans;
-  unsigned int transcolor;
-  unsigned int thread_id;
-  unsigned int timer_id;
-  widget_dynbmp_item *first;
-  widget_dynbmp_item *selected;
-} widget_dynbmp;
-
-typedef struct widget_popup
-{
-  unsigned int uiItemHeight;
-  unsigned int uiFlags;
-  HANDLE hFont;
-  unsigned int uiFontFlags;
-  unsigned int uiFontSize;
-
-  unsigned int uiColorSelectedBack;
-  unsigned int uiColorSelectedFore;
-  unsigned int uiColorBack;
-  unsigned int uiColorFore;
-  unsigned int uiWindowBackColor;
-
-  unsigned int uiSpacingX;
-} widget_popup;
-
-typedef struct widget_menu_item
-{
-  unsigned char text[255];
-  unsigned int ID;
-  unsigned int flags;
-  struct widget_menu_item *next;
-  struct widget_menu *child;
-  unsigned int focus;
-  unsigned int enabled;
-  unsigned int x;
-  HANDLE icon;
-  DIB *hDIB;
-  unsigned int has_icon;
-
-  /* sub items */
-  unsigned int width;
-  unsigned int count;
-} widget_menu_item;
-
-typedef struct widget_menu
-{
-  unsigned char focus;
-  unsigned int count;
-  unsigned int width;
-  unsigned int has_icons;
-  widget_menu_item *items;
-  widget_dynbmp *animation;
-  widget_popup *pPopUpData;
-  unsigned int uiLineColor;
-  unsigned int uiBackGroundColor;
-} widget_menu;
-
-typedef struct app_para
-{
-  unsigned char cpName[255];
-  unsigned int ulX;
-  unsigned int ulY;
-  unsigned int ulWidth;
-  unsigned int ulHeight;
-
-  void *win_func;
-  unsigned int ulStyle;
-  unsigned int ulBackGround;
-
-  unsigned int ulAppIcon;
-  widget_menu *pMenu;
-} app_para;
-
-typedef struct s_window
-{
-  unsigned char name[255];
-  unsigned int x;
-  unsigned int y;
-  unsigned int height;
-  unsigned int width;
-  unsigned int orgx;
-  unsigned int orgy;
-  unsigned long (__cdecl *win_func)(struct s_window *win, s_gi_msg *m);
-  HANDLE handle;
-
-  struct s_window *parent;
-  struct s_window *child;
-  struct s_window *next;
-
-  unsigned char focus;
-  struct s_window *focus_win;
-  void *windowData;
-  unsigned int windowDataSize;
-
-  unsigned int flags;
-  int origin_x;
-  int origin_y;
-} s_window;
-
-typedef struct sCreateApplication
-{
-  unsigned char ucApplicationName[255];
-  unsigned int uiX;
-  unsigned int uiY;
-  unsigned int uiWidth;
-  unsigned int uiHeight;
-
-  void *fwndClient;
-  unsigned int uiStyleApplication;
-  unsigned int uiStyleFrame;
-  unsigned int uiStyleTitle;
-  unsigned int uiStyleMenu;
-  unsigned int uiStyleBar;
-  unsigned int uiStyleClient;
-  unsigned int uiBackGroundColor;
-  unsigned int uiApplicationIcon;
-  widget_menu  *pFrameMenu;
-
-  unsigned int uiReserved[128];
-
-  void (__cdecl *PostCreateWindowBitmap)(HANDLE hWnd, void *pGCBuf);
-} sCreateApplication;
-
-typedef struct s_resolution
-{
-  unsigned int width;
-  unsigned int height;
-  unsigned int bpp;
-} s_resolution;
-
-#endif /* __RSK_STRUCTS_H */
diff --git a/rosky/lib/.gitignore b/rosky/lib/.gitignore
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/rosky/lib/directory.xml b/rosky/lib/directory.xml
deleted file mode 100644 (file)
index 587498c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<group>
-       <directory name="libsky">
-               <xi:include href="libsky/libsky.xml" />
-       </directory>
-       <directory name="libskygi">
-               <xi:include href="libskygi/libskygi.xml" />
-       </directory>
-</group>
diff --git a/rosky/lib/libsky/libsky.c b/rosky/lib/libsky/libsky.c
deleted file mode 100644 (file)
index 1336597..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * ROSky - SkyOS Application Layer
- * Copyright (C) 2004 ReactOS Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-/* $Id$
- *
- * PROJECT:         SkyOS library
- * FILE:            lib/libsky/libsky.c
- * PURPOSE:         SkyOS library
- *
- * UPDATE HISTORY:
- *      08/12/2004  Created
- */
-
-#include <windows.h>
-/* #define NDEBUG */
-#include "libsky.h"
-#include "resource.h"
-
-/*
- * @implemented
- */
-void __cdecl
-__to_kernel(int ret)
-{
-  DBG("__to_kernel: ret=0x%x\n", ret);
-  ExitProcess(ret);
-}
-
-
-/*
- * @implemented
- */
-void __cdecl
-__libc_init_memory(void *end,
-                   void *__bss_end__,
-                   void *__bss_start__)
-{
-  DBG("__libc_init_memory: end=0x%x __bss_end__=0x%x __bss_start__=0x%x\n", end, __bss_end__, __bss_start__);
-  RtlZeroMemory(__bss_start__, (PCHAR)__bss_end__ - (PCHAR)__bss_start__);
-  /* FIXME - initialize other stuff */
-}
-
diff --git a/rosky/lib/libsky/libsky.def b/rosky/lib/libsky/libsky.def
deleted file mode 100644 (file)
index b0b1193..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-LIBRARY libsky.dll
-EXPORTS
-__libc_init_memory=__libc_init_memory
-__to_kernel=__to_kernel
-ctor_dtor_initialize=ctor_dtor_initialize
-get_usec_counter=get_usec_counter
-
-; MSVCRT
-time=MSVCRT.time
-write=MSVCRT.write
-vsprintf=MSVCRT.vsprintf
-vsnprintf=MSVCRT.vsnprintf
-vprintf=MSVCRT.vprintf
-vfprintf=MSVCRT.vfprintf
-utime=MSVCRT._utime
-umask=MSVCRT._umask
-unsetenv=MSVCRT.unsetenv
-ungetc=MSVCRT.ungetc
-toupper=MSVCRT.toupper
-tolower=MSVCRT.tolower
-tmpfile=MSVCRT.tmpfile
-time=MSVCRT.time
-system=MSVCRT.system
-spawnvp=MSVCRT._spawnvp
-spawnv=MSVCRT._spawnv
-spawn=MSVCRT._spawn
-strupr=MSVCRT.strupr
-strtoupper=MSVCRT.strtoupper
-strtoul=MSVCRT.strtoul
-strtolower=MSVCRT.strtolower
-strtol=MSVCRT.strtol
-strtok=MSVCRT.strtok
-strtod=MSVCRT.strtod
-strstr=MSVCRT.strstr
-strspn=MSVCRT.strspn
-strrchr=MSVCRT.strrchr
-strpbrk=MSVCRT.strpbrk
-strnlen=MSVCRT.strnlen
-strncpy=MSVCRT.strncpy
-strncmp=MSVCRT.strncmp
-strncat=MSVCRT.strncat
-strncasecmp=MSVCRT.strncasecmp
-strlwr=MSVCRT.strlwr
-strlen=MSVCRT.strlen
-strftime=MSVCRT.strftime
-strerror=MSVCRT.strerror
-strdup=MSVCRT.strdup
-strcspn=MSVCRT.strcspn
-strcpy=MSVCRT.strcpy
-strcoll=MSVCRT.strcoll
-strcmp=MSVCRT.strcmp
-strchr=MSVCRT.strchr
-strcat=MSVCRT.strcat
-strcasecmp=MSVCRT.strcasecmp
-stat=MSVCRT.stat
-sscanf=MSVCRT.sscanf
-srand=MSVCRT.srand
-sprintf=MSVCRT.sprintf
-setvbuf=MSVCRT.setvbuf
-setmode=MSVCRT.setmode
-setjmp=MSVCRT.setjmp
-setenv=MSVCRT.setenv
-setbuf=MSVCRT.setbuf
-seek=MSVCRT.seek
-rmdir=MSVCRT.rmdir
-rewind=MSVCRT.rewind
-rename=MSVCRT.rename
-remove=MSVCRT.remove
-realloc=MSVCRT.realloc
-read=MSVCRT.read
-rand=MSVCRT.rand
-raise=MSVCRT.raise
-qsort=MSVCRT.qsort
-puts=MSVCRT.puts
-putenv=MSVCRT.putenv
-putchar=MSVCRT.putchar
-printf=MSVCRT.printf
-popen=MSVCRT.popen
-pipe=MSVCRT.pipe
-pclose=MSVCRT.pclose
-open=MSVCRT.open
-mktime=MSVCRT.mktime
-mktemp=MSVCRT.mktemp
-mkdir=MSVCRT.mkdir
-memset=MSVCRT.memset
-memmove=MSVCRT.memmove
-memcpy=MSVCRT.memcpy
-memcmp=MSVCRT.memcmp
-memchr=MSVCRT.memchr
-malloc=MSVCRT.malloc
-lseek=MSVCRT.lseek
-longjmp=MSVCRT.longjmp
-localtime=MSVCRT.localtime
-isxdigit=MSVCRT.isxdigit
-isupper=MSVCRT.isupper
-isspace=MSVCRT.isspace
-ispunct=MSVCRT.ispunct
-isprint=MSVCRT.isprint
-islower=MSVCRT.islower
-isgraph=MSVCRT.isgraph
-isdigit=MSVCRT.isdigit
-iscntrl=MSVCRT.iscntrl
-isatty=MSVCRT.isatty
-isascii=MSVCRT.isascii
-isalpha=MSVCRT.isalpha
-isalnum=MSVCRT.isalnum
-gmtime=MSVCRT.gmtime
-gets=MSVCRT.gets
-getenv=MSVCRT.getenv
-getcwd=MSVCRT.getcwd
-fwrite=MSVCRT.fwrite
-ftruncate=MSVCRT.ftruncate
-ftell=MSVCRT.ftell
-fstat=MSVCRT.fstat
-fseek=MSVCRT.fseek
-fscanf=MSVCRT.fscanf
-freopen=MSVCRT.freopen
-free=MSVCRT.free
-fread=MSVCRT.fread
-fputs=MSVCRT.fputs
-fputc=MSVCRT.fputc
-fprintf=MSVCRT.fprintf
-fopen=MSVCRT.fopen
-fileno=MSVCRT.fileno
-filelength=MSVCRT._filelength
-fgets=MSVCRT.fgets
-fgetpos=MSVCRT.fgetpos
-fgetc=MSVCRT.fgetc
-fflush=MSVCRT.fflush
-fdopen=MSVCRT.fdopen
-fcntl=MSVCRT.fcntl
-fclose=MSVCRT.fclose
-fchmod=MSVCRT.fchmod
-exit=MSVCRT.exit
-execvp=MSVCRT._execvp
-execv=MSVCRT._execv
-execl=MSVCRT._execl
-exec=MSVCRT._exec
-dup2=MSVCRT._dup2
-dup=MSVCRT._dup
-ctime=MSVCRT.ctime
-creat=MSVCRT._creat
-close=MSVCRT.close
-chmod=MSVCRT.chmod
-chdir=MSVCRT.chdir
-calloc=MSVCRT.calloc
-bsearch=MSVCRT.bsearch
-atol=MSVCRT.atol
-atoi=MSVCRT.atoi
-atof=MSVCRT.atof
-atexit=MSVCRT.atexit
-asctime=MSVCRT.asctime
-access=MSVCRT._access
-abs=MSVCRT.abs
-abort=MSVCRT.abort
-
-; WS2_32
-socket=WS2_32.socket
-setsockopt=WS2_32.setsockopt
-sendto=WS2_32.sendto
-send=WS2_32.send
-select=WS2_32.select
-recvfrom=WS2_32.recvfrom
-recv=WS2_32.recv
-ntohs=WS2_32.ntohs
-ntohl=WS2_32.ntohl
-ioctlsocket=WS2_32.ioctlsocket
-inet_ntoa=WS2_32.inet_ntoa
-inet_addr=WS2_32.inet_addr
-htons=WS2_32.htons
-htonl=WS2_32.htonl
-getsockopt=WS2_32.getsockopt
-getsockname=WS2_32.getsockname
-getservbyname=WS2_32.getservbyname
-getpeername=WS2_32.getpeername
-gethostname=WS2_32.gethostname
-gethostbyaddr=WS2_32.gethostbyaddr
-connect=WS2_32.connect
-closesocket=WS2_32.closesocket
-accept=WS2_32.accept
-
-; NTDLL
-_alloca=NTDLL._alloca_probe
-
-;waittask
-;waitpid
-;wait_for_task_state
-;wait
-;vfork
-;unlink
-;umount
-;tcsetattr
-;tcgetattr
-;tasklogging
-;system_shutdown
-;sys_setgroups
-;sys_nerr
-;sys_info
-;sys_errlist
-;sync
-;sleeptaskusec
-;sleep
-;skyos_get_file_from_path
-;signal
-;shutdown
-;setuid
-;setpwent
-;sethostname
-;setgroups
-;setgrent
-;setgid
-;set_quantum
-;set_optind
-;set_optarg
-;semaphore_release
-;semaphore_destroy
-;semaphore_create
-;semaphore_aquire
-;sbrk
-;rindex
-;readdir
-;pspawn
-;printd
-;posix_ioctl
-;perror
-;os_image_info
-;opendir
-;mount
-;module_unload
-;mmap
-;mem_dump_stdout
-;mem_dump
-;lstat
-;listen
-;link
-;libc_get_impure_ptr
-;inet_aton
-;kill
-;keyboard_set_mapping
-;kernel_mem_dump
-;ioctl
-;index
-;in_ntoa
-;in_aton
-;hex2dec
-;getwd
-;getuser
-;getuid
-;gettimeofday
-;gettaskname
-;getpwuid
-;getpwnam
-;getpwent
-;getpid
-;getpass
-;getoptind
-;getoptargpointer
-;getopt
-;getlogin
-;getgroups
-;getgroup
-;getgrnam
-;getgrid
-;getgrgid
-;getgrent
-;getgid
-;geteuid
-;getegid
-;get_usec_counter
-;get_ticks
-;get_task_state
-;get_task_info
-;get_environ
-;get_curtime
-;fsync
-;fsinfo
-;fork
-;exec_for_debug
-;exec_arg
-;environ_get
-;endpwent
-;endgrent
-;do_statfs
-;dlm_module_info
-;dlm_load
-;debug_data
-;createdir
-;create_ramdisk
-;closedir
-;chown
-;check_task_valid
-;cache_set_size
-;bzero
-;bind
-;bcopy
-;bcmp
-;alarm
-;_readline
-;_getopt_internal
-;_exit
-;__umoddi3
-;__udivdi3
-;__to_kernel
-;__tcsetattr
-;__tcgetattr
-;__swbuf
-;__srget
-;__pure_virtual
-;__moddi3
-;__errno
-;__divdi3
-;__builtin_vec_new
-;__builtin_vec_delete
-;__builtin_new
-;__builtin_delete
-;__assert
-;TimeDebugAdd
-;TimeDebug
-;ThreadSuspend
-;ThreadSleep
-;ThreadSetState
-;ThreadResume
-;ThreadIsValid
-;ThreadGetPid
-;ThreadCreate
-;SystemGetPartitionSize
-;SystemGetPartitionInfo
-;SystemGetDiskParameter
-;SystemEventServices_Initialize
-;ParseIniFile
-;GetStringOption
-;GetOption
-;GetMeasureValue
-;GetMeasurePointByIndex
-;GetLongOption
-;GetDllFunction
-;GetDirEntry
-;GetBootKey
-;DllMainDefault
-;DllLoadKernel
-;DllLoad
-;CheckBootOption
-
-; EOF
diff --git a/rosky/lib/libsky/libsky.h b/rosky/lib/libsky/libsky.h
deleted file mode 100644 (file)
index 9b9c19c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __LIBSKY_H
-#define __LIBSKY_H
-
-void __cdecl DbgPrint(char *, ...);
-
-#if defined(DBG)
-#undef DBG
-#endif
-
-#ifdef DEBUG
-# ifdef NDEBUG
-#  define DBG(...)
-# else
-#  define DBG DbgPrint
-# endif
-# define DBG1 DbgPrint
-#else
-# define DBG(...)
-# define DBG1(...)
-#endif
-#define STUB DbgPrint("Stub in %s:%i: ", __FILE__, __LINE__); DbgPrint
-
-#endif /* __LIBSKY_H */
-
-/* EOF */
diff --git a/rosky/lib/libsky/libsky.rc b/rosky/lib/libsky/libsky.rc
deleted file mode 100644 (file)
index 068f9eb..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* $Id$ */
-
-#define REACTOS_VERSION_DLL
-#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS SkyOS library\0"
-#define REACTOS_STR_INTERNAL_NAME      "libsky\0"
-#define REACTOS_STR_ORIGINAL_FILENAME  "libsky.dll\0"
-#include <reactos/version.rc>
diff --git a/rosky/lib/libsky/libsky.xml b/rosky/lib/libsky/libsky.xml
deleted file mode 100644 (file)
index 1439137..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<module name="libsky" type="win32dll"  installbase="system32" installname="libsky.dll">
-       <importlibrary definition="libsky.def" />
-       <include base="libsky">.</include>
-       <include base="libskygi">../../include</include>
-       <define name="_DISABLE_TIDENTS" />
-       <define name="__USE_W32API" />
-       <library>ntdll</library>
-       <library>kernel32</library>
-       <file>libsky.c</file>
-       <file>stubs.c</file>
-       <file>libsky.rc</file>
-</module>
diff --git a/rosky/lib/libsky/resource.h b/rosky/lib/libsky/resource.h
deleted file mode 100644 (file)
index c197b1f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __LIBSKY_RESOURCE_H
-#define __LIBSKY_RESOURCE_H
-
-#endif /* __LIBSKY_RESOURCE_H */
-
-/* EOF */
diff --git a/rosky/lib/libsky/stubs.c b/rosky/lib/libsky/stubs.c
deleted file mode 100644 (file)
index 9416e90..0000000
+++ /dev/null
@@ -1,108 +0,0 @@
-/* $Id$
- *
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         SkyOS library
- * FILE:            lib/libsky/stubs.c
- * PURPOSE:         libsky.dll stubs
- * NOTES:           If you implement a function, remove it from this file
- *
- * UPDATE HISTORY:
- *      08/12/2004  Created
- */
-#include <windows.h>
-/* #define NDEBUG */
-#include <debug.h>
-#include "libsky.h"
-
-
-typedef void (__cdecl *func_ptr) (void);
-
-/*
- * @unimplemented
- */
-void __cdecl
-ctor_dtor_initialize(func_ptr *__CTOR_LIST__,
-                     func_ptr *__DTOR_LIST__,
-                     void *unknown)
-{
-  STUB("ctor_dtor_initialize: __CTOR_LIST__=0x%x __DTOR_LIST__=0x%x unknown=0x%x\n", __CTOR_LIST__, __DTOR_LIST__, unknown);
-  
-  /* unknown apparently is the virtual address of the .bss section, but what should
-   * we do with it?! Perhaps load a list of constructor/destructor addresses to this
-   * address before we call them?
-   */
-  
-  /*
-   * Call constructors
-   */
-  if(__CTOR_LIST__ != NULL)
-  {
-    unsigned long nptrs;
-    /*
-     * If the first entry in the constructor list is -1 then the list
-     * is terminated with a null entry. Otherwise the first entry was
-     * the number of pointers in the list.
-     */
-    DBG("Calling constructors...\n");
-    nptrs = (unsigned long)__CTOR_LIST__[0];
-    if (nptrs == -1)
-    {
-      for(nptrs = 0; __CTOR_LIST__[nptrs + 1] != NULL; nptrs++);
-    }
-    DBG("There are %d constructors to call...\n", nptrs);
-    
-    /*
-     * Go through the list backwards calling constructors.
-     * FIXME - backwards?! This is ripped off crtdll\misc\gccmain.c
-     */
-    for(; nptrs > 0; nptrs--)
-    {
-      DBG("call constructor 0x%x\n", __CTOR_LIST__[nptrs]);
-      __CTOR_LIST__[nptrs]();
-    }
-    DBG("Called all constructors\n");
-  }
-  
-  /*
-   * Call destructors
-   */
-  if(__DTOR_LIST__ != NULL)
-  {
-    unsigned long nptrs;
-    /*
-     * If the first entry in the destructor list is -1 then the list
-     * is terminated with a null entry. Otherwise the first entry was
-     * the number of pointers in the list.
-     */
-    DBG("Calling destructors...\n");
-    nptrs = (unsigned long)__DTOR_LIST__[0];
-    if (nptrs == -1)
-    {
-      for(nptrs = 0; __DTOR_LIST__[nptrs + 1] != NULL; nptrs++);
-    }
-    DBG("There are %d destructors to call...\n", nptrs);
-
-    /*
-     * Go through the list backwards calling constructors.
-     * FIXME - backwards?! This is ripped off crtdll\misc\gccmain.c
-     */
-    for(; nptrs > 0; nptrs--)
-    {
-      DBG("call destructor 0x%x\n", __DTOR_LIST__[nptrs]);
-      __DTOR_LIST__[nptrs]();
-    }
-    DBG("Called all destructors\n");
-  }
-}
-
-/*
- * @unimplemented
- */
-unsigned long long __cdecl
-get_usec_counter(void)
-{
-  /* FIXME - better implementation */
-  return (unsigned long long)GetTickCount() * 1000LL;
-}
-
-/* EOF */
diff --git a/rosky/lib/libskygi/libskygi.c b/rosky/lib/libskygi/libskygi.c
deleted file mode 100644 (file)
index 87a10c7..0000000
+++ /dev/null
@@ -1,1213 +0,0 @@
-/*
- * ROSky - SkyOS Application Layer
- * Copyright (C) 2004 ReactOS Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-/* $Id$
- *
- * PROJECT:         SkyOS GI library
- * FILE:            lib/libskygi/libskygi.c
- * PURPOSE:         SkyOS GI library
- *
- * UPDATE HISTORY:
- *      08/12/2004  Created
- */
-#include <windows.h>
-#include <stdio.h>
-#include <rosky.h>
-#include "libskygi.h"
-#include "resource.h"
-
-#define NDEBUG
-#include <debug.h>
-
-typedef struct
-{
-  s_window Window;
-  HWND hWnd;
-  BOOL MouseInput;
-} SKY_WINDOW, *PSKY_WINDOW;
-
-typedef struct
-{
-  widget_menu Menu;
-  HMENU hMenu;
-} SKY_MENU, *PSKY_MENU;
-
-typedef struct
-{
-  widget_menu_item MenuItem;
-  MENUITEMINFOW MenuItemInfo;
-} SKY_MENUITEM, *PSKY_MENUITEM;
-
-typedef struct
-{
-  GC GraphicsContext;
-  HDC hDC;
-} SKY_GC, *PSKY_GC;
-
-typedef struct
-{
-  DIB Dib;
-  HBITMAP hBitmap;
-  HDC hAssociateDC;
-} SKY_DIB, *PSKY_DIB;
-
-static ATOM SkyClassAtom;
-static BOOL SkyClassRegistered = FALSE;
-
-/**
- * Map a SkyOS window style to Windows one.
- *
- * @param SkyStyle SkyOS window style (WF_* flags).
- * @param ExStyle Contains Windows extended window style on exit.
- *
- * @return Windows window style (WS_* flags).
- *
- * @todo Handle
- *  WF_MODAL, WF_HAS_MENU, WF_HAS_STATUSBAR, WF_FREEFORM, WF_FOCUSABLE,
- *  WF_USER, WF_DESKTOP, WF_NOT_MOVEABLE, WF_NO_BUTTONS, WF_TRANSPARENT,
- *  WF_NO_INITIAL_DRAW, WF_USE_BACKGROUND, WF_DONT_EREASE_BACKGROUND,
- *  WF_NO_FRAME.
- */
-ULONG
-IntMapWindowStyle(ULONG SkyStyle, ULONG *ExStyle)
-{
-   ULONG Style;
-
-   Style = (SkyStyle & WF_HIDE) ? 0 : WS_VISIBLE;
-   Style |= (SkyStyle & WF_NO_TITLE) ? 0 : WS_CAPTION;
-   Style |= (SkyStyle & WF_NOT_SIZEABLE) ? WS_THICKFRAME : 0;
-   Style |= (SkyStyle & WF_POPUP) ? WS_POPUP : 0;
-   Style |= (SkyStyle & WF_NO_BUTTONS) ? 0 :
-            ((SkyStyle & WF_NOT_SIZEABLE) ? 0 : WS_MAXIMIZEBOX) |
-            WS_MINIMIZEBOX | WS_SYSMENU;
-   *ExStyle = (SkyStyle & WF_SMALL_TITLE) ? WS_EX_TOOLWINDOW : 0;
-
-   return Style;
-}
-
-
-/**
- * Dispatch a Sky Message to the appropriate window callback
- *
- * @param win Specifies the destination window
- * @param type The type of the message (see MSG_ constants)
- * @param para1 Additional parameter 1
- * @param para2 Additional parameter 2
- *
- * @return Returns the return value of the window callback function
- */
-unsigned long
-IntDispatchMsg(s_window *win, unsigned int type, unsigned int para1, unsigned int para2)
-{
-  s_gi_msg msg;
-  unsigned long Ret;
-  
-  /* fill the members of the struct */
-  msg.win = win;
-  msg.type = type;
-  msg.para1 = para1;
-  msg.para2 = para2;
-  msg.next = NULL; /* ??? */
-  msg.prev = NULL; /* ??? */
-  /* FIXME */
-  msg.timestamp = (unsigned long long)GetTickCount() * 1000LL;
-  
-  DBG("Dispatching window (0x%x) message type %d\n", win, type);
-  Ret = win->win_func(win, &msg);
-  DBG("Dispatched window (0x%x) message type %d, returned 0x%x\n", win, type, Ret);
-  return Ret;
-}
-
-
-/**
- * Dispatch a Sky Message with a update rect to the appropriate window callback
- *
- * @param win Specifies the destination window
- * @param type The type of the message (see MSG_ constants)
- * @param para1 Additional parameter 1
- * @param para2 Additional parameter 2
- * @param rect Rectangle of the window to be repainted
- *
- * @return Returns the return value of the window callback function
- */
-unsigned long
-IntDispatchMsgRect(s_window *win, unsigned int type, unsigned int para1, unsigned int para2, s_region *rect)
-{
-  s_gi_msg msg;
-  unsigned long Ret;
-
-  /* fill the members of the struct */
-  msg.win = win;
-  msg.type = type;
-  msg.para1 = para1;
-  msg.para2 = para2;
-  msg.next = NULL; /* ??? */
-  msg.prev = NULL; /* ??? */
-  msg.rect = *rect;
-  /* FIXME */
-  msg.timestamp = (unsigned long long)GetTickCount() * 1000LL;
-
-  DBG("Dispatching window (0x%x) message type %d\n", win, type);
-  Ret = win->win_func(win, &msg);
-  DBG("Dispatched window (0x%x) message type %d, returned 0x%x\n", win, type, Ret);
-  return Ret;
-}
-
-
-/**
- * Determines whether a win32 message should cause a Sky message to be dispatched
- *
- * @param skw Specifies the destination window
- * @param Msg Contains the win32 message
- * @param smsg Address to the sky message structure that will be filled in with
- *             appropriate information in case a sky message should be dispatched
- *
- * @return Returns TRUE if a Sky message should be dispatched
- */
-BOOL
-IntIsSkyMessage(PSKY_WINDOW skw, MSG *Msg, s_gi_msg *smsg)
-{
-  smsg->win = skw;
-
-  switch(Msg->message)
-  {
-    case WM_DESTROY:
-      smsg->type = MSG_DESTROY;
-      smsg->para1 = 0;
-      smsg->para2 = 0;
-      return TRUE;
-
-    case WM_PAINT:
-    {
-      RECT rc;
-      PAINTSTRUCT ps;
-      
-      if(GetUpdateRect(skw->hWnd, &rc, FALSE))
-      {
-        BeginPaint(skw->hWnd, &ps);
-        EndPaint(skw->hWnd, &ps);
-
-        smsg->type = MSG_GUI_REDRAW;
-        smsg->para1 = 0;
-        smsg->para2 = 0;
-
-        smsg->rect.x1 = rc.left;
-        smsg->rect.y1 = rc.top;
-        smsg->rect.x2 = rc.right;
-        smsg->rect.y2 = rc.bottom;
-
-        return TRUE;
-      }
-      break;
-    }
-
-    case WM_QUIT:
-      smsg->type = MSG_QUIT;
-      smsg->para1 = 0;
-      smsg->para2 = 0;
-      return TRUE;
-
-    case WM_COMMAND:
-      smsg->type = MSG_COMMAND;
-      smsg->para1 = LOWORD(Msg->wParam);
-      return TRUE;
-
-    case WM_MOUSEMOVE:
-      if(skw->MouseInput)
-      {
-        smsg->type = MSG_MOUSE_MOVED;
-        goto DoMouseInputMessage;
-      }
-      break;
-
-    case WM_LBUTTONDOWN:
-      smsg->type = MSG_MOUSE_BUT1_PRESSED;
-      goto DoMouseInputMessage;
-
-    case WM_LBUTTONUP:
-      smsg->type = MSG_MOUSE_BUT1_RELEASED;
-      goto DoMouseInputMessage;
-
-    case WM_RBUTTONDOWN:
-      smsg->type = MSG_MOUSE_BUT2_PRESSED;
-      goto DoMouseInputMessage;
-
-    case WM_RBUTTONUP:
-    {
-      POINT pt;
-
-      smsg->type = MSG_MOUSE_BUT2_RELEASED;
-
-DoMouseInputMessage:
-#if 0
-      pt.x = LOWORD(Msg->lParam);
-      pt.y = HIWORD(Msg->lParam);
-#else
-      pt = Msg->pt;
-      MapWindowPoints(NULL, skw->hWnd, &pt, 1);
-#endif
-      smsg->para1 = pt.x;
-      smsg->para2 = pt.y;
-      return TRUE;
-    }
-  }
-  
-  return FALSE;
-}
-
-
-/**
- * The standard win32 window procedure that handles win32 messages delivered from ReactOS
- *
- * @param hWnd Handle of the window
- * @param msg Specifies the type of the message
- * @param wParam Additional data to the message
- * @param lParam Additional data to the message
- *
- * @return Depends on the message type
- */
-LRESULT CALLBACK
-IntDefaultWin32Proc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
-  PSKY_WINDOW skw;
-
-  if (msg == WM_NCCREATE)
-  {
-    /*
-     * Save the pointer to the structure so we can access it later when
-     * dispatching the Win32 messages so we know which sky window it is
-     * and dispatch the right messages.
-     */
-    skw = (PSKY_WINDOW)((LPCREATESTRUCTW)lParam)->lpCreateParams;
-    SetWindowLongPtr(hWnd, GWL_USERDATA, (ULONG_PTR)skw);
-  }
-  else
-  {
-    skw = (PSKY_WINDOW)GetWindowLongPtr(hWnd, GWL_USERDATA);
-    if (skw == NULL)
-      return DefWindowProcW(hWnd, msg, wParam, lParam);
-  }
-
-  switch(msg)
-  {
-    case WM_CLOSE:
-      IntDispatchMsg(&skw->Window, MSG_DESTROY, 0, 0);
-      return 0;
-
-    case WM_CREATE:
-      return 1;
-    
-    /* FIXME: Find a more general solution! */
-    /* We can get there for message sent by SendMessage. */
-    case WM_PAINT:
-    {
-      PAINTSTRUCT ps;
-      s_region srect;
-      
-      BeginPaint(hWnd, &ps);
-      srect.x1 = ps.rcPaint.left;
-      srect.y1 = ps.rcPaint.top;
-      srect.x2 = ps.rcPaint.right;
-      srect.y2 = ps.rcPaint.bottom;
-      IntDispatchMsgRect(&skw->Window, MSG_GUI_REDRAW, 0, 0, &srect);
-      EndPaint(hWnd, &ps);
-      
-      return 0;
-    }
-
-    case WM_COMMAND:
-      IntDispatchMsg(&skw->Window, MSG_COMMAND, LOWORD(wParam), 0);
-      return 0;
-
-    case WM_ERASEBKGND:
-      return 1; /* don't handle this message */
-  }
-
-  return DefWindowProcW(hWnd, msg, wParam, lParam);
-}
-
-
-/**
- * Registers a Win32 window class for all Sky windows
- *
- * @return Returns the atom of the class registered.
- */
-ATOM
-IntRegisterClass(void)
-{
-  WNDCLASSW wc;
-  
-  wc.lpszClassName = L"ROSkyWindow";
-  wc.lpfnWndProc = IntDefaultWin32Proc;
-  wc.style = CS_VREDRAW | CS_HREDRAW;
-  wc.hInstance = GetModuleHandleW(NULL);
-  wc.hIcon = LoadIcon(NULL, (LPCTSTR)IDI_APPLICATION);
-  wc.hCursor = LoadCursor(NULL, (LPCTSTR)IDC_ARROW);
-  wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE + 1);
-  wc.lpszMenuName = NULL;
-  wc.cbClsExtra = 0;
-  wc.cbWndExtra = 0;
-  
-  return RegisterClassW(&wc);
-}
-
-
-/*
- * @implemented
- */
-s_window* __cdecl
-GI_create_app(app_para *p)
-{
-  PSKY_WINDOW skw;
-  ULONG Style, ExStyle;
-  WCHAR WindowName[sizeof(p->cpName) / sizeof(p->cpName[0])];
-  RECT ClientRect;
-  
-  DBG("GI_create_app(0x%x)\n", p);
-
-  /* FIXME - lock */
-  if(!SkyClassRegistered)
-  {
-    SkyClassAtom = IntRegisterClass();
-    SkyClassRegistered = SkyClassAtom != 0;
-
-    if(!SkyClassRegistered)
-    {
-      DBG("Unable to register the ROSkyWindow class\n");
-      return NULL;
-    }
-  }
-  /* FIXME - unlock */
-
-  skw = (PSKY_WINDOW)HeapAlloc(GetProcessHeap(),
-                               HEAP_ZERO_MEMORY,
-                               sizeof(SKY_WINDOW));
-  if(skw == NULL)
-  {
-    DBG("Not enough memory to allocate a SKY_WINDOW structure!\n");
-    return NULL;
-  }
-  
-  /* Convert the Sky window style to a Win32 window style */
-  Style = IntMapWindowStyle(p->ulStyle, &ExStyle);
-  
-  /* convert the window caption to unicode */
-  MultiByteToWideChar(CP_UTF8, 0, (char*)p->cpName, -1, WindowName,
-                      sizeof(WindowName) / sizeof(WindowName[0]));
-  
-  skw->Window.win_func = p->win_func;
-  /* FIXME - fill the window structure */
-
-  /*
-   * We must convert the client rect passed in to the window rect expected
-   * by CreateWindowExW.
-   */
-  ClientRect.left = 0;
-  ClientRect.top = 0;
-  ClientRect.right = 0 + p->ulWidth;
-  ClientRect.bottom = 0 + p->ulHeight;
-  AdjustWindowRectEx(&ClientRect, Style, p->ulStyle & WF_HAS_MENU, ExStyle);
-
-  DBG("Menu: %x\n", p->pMenu ? ((PSKY_MENU)p->pMenu)->hMenu : NULL);
-
-  /* create the Win32 window */
-  skw->hWnd = CreateWindowExW(ExStyle,
-                              L"ROSkyWindow",
-                              WindowName,
-                              WS_OVERLAPPEDWINDOW,
-                              p->ulX,
-                              p->ulY,
-                              ClientRect.right - ClientRect.left,
-                              ClientRect.bottom - ClientRect.top,
-                              NULL,
-                              p->pMenu ? ((PSKY_MENU)p->pMenu)->hMenu : NULL,
-                              GetModuleHandleW(NULL),
-                              skw);
-
-  if(skw->hWnd == NULL)
-  {
-    DBG("CreateWindow() failed!\n");
-    HeapFree(GetProcessHeap(), 0, skw);
-    return NULL;
-  }
-    
-  DBG("Created Win32 window: 0x%x\n", skw->hWnd);
-  
-  return &skw->Window;
-}
-
-/*
- * @implemented
- */
-int __cdecl
-GI_destroy_window(s_window *win)
-{
-  PSKY_WINDOW skw = (PSKY_WINDOW)win;
-
-  DBG("GI_destroy_window(0x%x)\n", win);
-  DestroyWindow(skw->hWnd);
-  HeapFree(GetProcessHeap(), 0, skw);
-
-  return 0;
-}
-
-
-/*
- * @implemented
- */
-unsigned int __cdecl
-GI_wait_message(s_gi_msg *m,
-                s_window* w)
-{
-  MSG Msg;
-  BOOL Ret, SkyMessage;
-  HWND hwndFilter;
-  PSKY_WINDOW msgwnd;
-  
-  DBG("GI_wait_message(0x%x, 0x%x)\n", m, w);
-  
-  hwndFilter = (w != NULL ? ((PSKY_WINDOW)w)->hWnd : NULL);
-  do
-  {
-    Ret = GetMessage(&Msg, hwndFilter, 0, 0);
-
-    /* loop until we found a message that a sky app would handle, too */
-    RtlZeroMemory(m, sizeof(s_gi_msg));
-
-    if(Msg.hwnd != NULL && (msgwnd = (PSKY_WINDOW)GetWindowLongPtrW(Msg.hwnd, GWL_USERDATA)))
-      {
-        SkyMessage = IntIsSkyMessage(msgwnd, &Msg, m);
-      }
-    else
-      {
-        SkyMessage = FALSE;
-      }
-
-    if (!SkyMessage)
-    {
-      /* We're not interested in dispatching a sky message, try again */
-      TranslateMessage(&Msg);
-      DispatchMessage(&Msg);
-    }
-  }
-  while (!SkyMessage);
-  
-  return Ret;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_dispatch_message(s_window *win,
-                    s_gi_msg *m)
-{
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  DBG("GI_dispatch_message(0x%x, 0x%x - %d)\n", win, m, m->type);
-  /* dispatch the SkyOS message to the SkyOS window procedure */
-  if (skywnd != 0)
-    return skywnd->Window.win_func(win, m);
-  return 1;
-}
-
-
-/*
- * @implemented
- */
-HRESULT __cdecl
-GI_ShowApplicationWindow(s_window *win)
-{
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  DBG("GI_ShowApplicationWindow(0x%x)\n", win);
-  ShowWindow(skywnd->hWnd, SW_SHOW);
-  return 1;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_redraw_window(s_window *win)
-{
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  DBG("GI_redraw_window(0x%x)!\n", win);
-  if(skywnd != NULL)
-  {
-    RedrawWindow(skywnd->hWnd, NULL, NULL, RDW_INVALIDATE | RDW_UPDATENOW);
-  }
-  return 1;
-}
-
-
-/*
- * @implemented
- */
-void __cdecl
-GI_post_quit(s_window *win)
-{
-  DBG("GI_post_quit(0x%x)\n", win);
-  PostMessage(((PSKY_WINDOW)win)->hWnd, WM_QUIT, 0, 0);
-}
-
-
-/*
- * @implemented
- */
-sCreateApplication* __cdecl
-GI_CreateApplicationStruct(void)
-{
-  sCreateApplication *app;
-  
-  app = (sCreateApplication*)HeapAlloc(GetProcessHeap(),
-                                       HEAP_ZERO_MEMORY,
-                                       sizeof(sCreateApplication));
-  STUB("GI_CreateApplicationStruct() returns 0x%x (allocated structure on the heap)!\n", app);
-
-  return app;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_GetWindowX(s_window *win)
-{
-  RECT rc;
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  if((skywnd != NULL) && GetWindowRect(skywnd->hWnd, &rc))
-  {
-    MapWindowPoints(HWND_DESKTOP, GetParent(skywnd->hWnd), (LPPOINT)&rc, 2);
-    DBG("GI_GetWindowS(0x%x) returns %d!\n", win, rc.left);
-    return rc.left;
-  }
-  #if DEBUG
-  else
-  {
-    DBG("GI_GetWindowS(0x%x) failed!\n", win);
-  }
-  #endif
-  return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_GetWindowY(s_window *win)
-{
-  RECT rc;
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  if((skywnd != NULL) && GetWindowRect(skywnd->hWnd, &rc))
-  {
-    MapWindowPoints(HWND_DESKTOP, GetParent(skywnd->hWnd), (LPPOINT)&rc, 2);
-    DBG("GI_GetWindowY(0x%x) returns %d!\n", win, rc.top);
-    return rc.left;
-  }
-  #if DEBUG
-  else
-  {
-    DBG("GI_GetWindowY(0x%x) failed!\n", win);
-  }
-  #endif
-  return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_GetWindowWidth(s_window *win)
-{
-  RECT rc;
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  if((skywnd != NULL) && GetWindowRect(skywnd->hWnd, &rc))
-  {
-    DBG("GI_GetWindowWidth(0x%x) returns %d!\n", win, (rc.right - rc.left));
-    return (rc.right - rc.left);
-  }
-  #if DEBUG
-  else
-  {
-    DBG("GI_GetWindowWidth(0x%x) failed!\n", win);
-  }
-  #endif
-  return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_GetWindowHeight(s_window *win)
-{
-  RECT rc;
-  PSKY_WINDOW skywnd = (PSKY_WINDOW)win;
-  if((skywnd != NULL) && GetWindowRect(skywnd->hWnd, &rc))
-  {
-    DBG("GI_GetWindowHeight(0x%x) returns %d!\n", win, (rc.bottom - rc.top));
-    return (rc.bottom - rc.top);
-  }
-  #if DEBUG
-  else
-  {
-    DBG("GI_GetWindowHeight(0x%x) failed!\n", win);
-  }
-  #endif
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-s_window* __cdecl
-GI_GetTopLevelWindow(s_window *win)
-{
-  STUB("GI_GetTopLevelWindow(0x%x) returns 0x%x!\n", win, win);
-  return win;
-}
-
-
-/*
- * @implemented
- */
-DIB* __cdecl
-GI_create_DIB(void *Data,
-              unsigned int Width,
-              unsigned int Height,
-              unsigned int Bpp,
-              void *Palette,
-              unsigned int PaletteSize)
-{
-   SKY_DIB *Dib;
-   BITMAPINFO *BitmapInfo;
-
-   DBG("GI_create_DIB(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", 
-       Data, Width, Height, Bpp, Palette, PaletteSize);
-
-   Dib = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SKY_DIB));
-   if (Dib == NULL)
-   {
-      return NULL;
-   }
-
-   BitmapInfo = HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFOHEADER) +
-                          PaletteSize * sizeof(RGBQUAD));
-   if (BitmapInfo == NULL)
-   {
-      HeapFree(GetProcessHeap(), 0, Dib);
-      return NULL;
-   }
-
-   Dib->Dib.color = Bpp;
-   Dib->Dib.width = Width;
-   Dib->Dib.height = Height;
-   Dib->Dib.data = Data;
-   Dib->Dib.palette_size = PaletteSize;
-   Dib->Dib.palette = Palette;
-
-   BitmapInfo->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
-   BitmapInfo->bmiHeader.biWidth = Width;
-   BitmapInfo->bmiHeader.biHeight = Height;
-   BitmapInfo->bmiHeader.biPlanes = 1;
-   BitmapInfo->bmiHeader.biBitCount = Bpp;
-   BitmapInfo->bmiHeader.biCompression = BI_RGB;
-   BitmapInfo->bmiHeader.biSizeImage = 0;
-   BitmapInfo->bmiHeader.biXPelsPerMeter = 0;
-   BitmapInfo->bmiHeader.biYPelsPerMeter = 0;
-   BitmapInfo->bmiHeader.biClrUsed = PaletteSize;
-   BitmapInfo->bmiHeader.biClrImportant = 0;
-   RtlCopyMemory(BitmapInfo->bmiColors, Palette, PaletteSize * sizeof(RGBQUAD));
-
-   Dib->hBitmap = CreateDIBSection(NULL,
-                                   BitmapInfo,
-                                   DIB_RGB_COLORS,
-                                   Data,
-                                   NULL,
-                                   0);
-   HeapFree(GetProcessHeap(), 0, BitmapInfo);
-   if (Dib->hBitmap == NULL)
-   {
-      HeapFree(GetProcessHeap(), 0, Dib);
-      return NULL;
-   }
-
-   return (DIB*)Dib;
-}
-
-
-/*
- * @implemented
- */
-GC* __cdecl
-GC_create_connected(unsigned int Type,
-                    unsigned int Width,
-                    unsigned int Height,
-                    s_window *Win)
-{
-   SKY_GC *Gc;
-
-   DBG("GC_create_connected(0x%x, 0x%x, 0x%x, 0x%x)\n",
-       Type, Width, Height, Win);
-
-   if(Win == NULL)
-   {
-     DBG("GC_create_connected: no window specified! returned NULL!\n");
-     return NULL;
-   }
-
-   Gc = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SKY_GC));
-   if (Gc == NULL)
-   {
-      return NULL;
-   }
-
-   Gc->GraphicsContext.type = Type;
-   Gc->GraphicsContext.width = Width;
-   Gc->GraphicsContext.height = Height;
-
-   switch (Type)
-   {
-      case GC_TYPE_DIB:
-         Gc->hDC = CreateCompatibleDC(0);
-         if (Gc->hDC)
-         {
-            Gc->GraphicsContext.hDIB = (DIB*)Win;
-            SelectObject(Gc->hDC, ((PSKY_DIB)Win)->hBitmap);
-            ((PSKY_DIB)Win)->hAssociateDC = Gc->hDC;
-         }
-         break;
-
-      case GC_TYPE_WINDOW:
-         Gc->hDC = GetDC(((PSKY_WINDOW)Win)->hWnd);
-         Gc->GraphicsContext.window = Win;
-         break;
-
-      default:
-         DBG("Unknown GC type: %x\n", Type);
-   }
-
-   if (Gc->hDC == NULL)
-   {
-      HeapFree(GetProcessHeap(), 0, Gc);
-      return NULL;
-   }
-   else
-   {
-      SelectObject(Gc->hDC, GetStockObject(DC_BRUSH));
-      SelectObject(Gc->hDC, GetStockObject(DC_PEN));
-   }
-
-   return (GC*)Gc;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_set_fg_color(GC *Gc,
-                COLOR Color)
-{
-   if(Gc != NULL)
-   {
-     Gc->fg_color = Color;
-     SetDCPenColor(((PSKY_GC)Gc)->hDC, Color);
-     return 1;
-   }
-   #if DEBUG
-   else
-   {
-     DBG("GC_set_fg_color: Gc == NULL!\n");
-   }
-   #endif
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_set_bg_color(GC *Gc,
-                COLOR Color)
-{
-   if(Gc != NULL)
-   {
-     Gc->bg_color = Color;
-     SetDCBrushColor(((PSKY_GC)Gc)->hDC, Color);
-     return 1;
-   }
-   #if DEBUG
-   else
-   {
-     DBG("GC_set_bg_color: Gc == NULL!\n");
-   }
-   #endif
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_draw_pixel(GC *Gc,
-              int X,
-              int Y)
-{
-   if(Gc != NULL)
-   {
-     SetPixelV(((PSKY_GC)Gc)->hDC, X, Y, Gc->fg_color);
-     return 1;
-   }
-   #if DEBUG
-   else
-   {
-     DBG("GC_draw_pixel: Gc == NULL!\n");
-   }
-   #endif
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_blit_from_DIB(GC *Gc,
-                 DIB *Dib,
-                 int X,
-                 int Y)
-{
-   int Result;
-   HDC hSrcDC;
-   HBITMAP hOldBitmap = NULL;
-
-   DBG("GC_blit_from_DIB(0x%x, 0x%x, 0x%x, 0x%x)\n", Gc, Dib, X, Y);
-
-   if (((PSKY_DIB)Dib)->hAssociateDC == NULL)
-   {
-      hSrcDC = CreateCompatibleDC(0);
-      hOldBitmap = SelectObject(hSrcDC, ((PSKY_DIB)Dib)->hBitmap);
-   }
-   else
-   {
-      hSrcDC = ((PSKY_DIB)Dib)->hAssociateDC;
-   }
-
-   Result = BitBlt(((PSKY_GC)Gc)->hDC, X, Y, Dib->width, Dib->height,
-                   hSrcDC, 0, 0, SRCCOPY);
-   
-   if (((PSKY_DIB)Dib)->hAssociateDC == NULL)
-   {
-      SelectObject(hSrcDC, hOldBitmap);
-      DeleteDC(hSrcDC);
-   }
-
-   return !Result;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_draw_rect_fill(GC *Gc,
-                 int X,
-                 int Y,
-                 int Width,
-                 int Height)
-{
-   DBG("GC_draw_rect_fill(0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n",
-       Gc, X, Y, Width, Height);
-
-   if(Gc != NULL)
-   {
-     HBRUSH hBrush;
-     RECT Rect;
-
-     Rect.left = X;
-     Rect.top = Y;
-     Rect.right = X + Width;
-     Rect.bottom = Y + Height;
-
-     hBrush = CreateSolidBrush(Gc->bg_color);
-     FillRect(((PSKY_GC)Gc)->hDC, &Rect, hBrush);
-     DeleteObject(hBrush);
-
-     return 1;
-   }
-   #if DEBUG
-   else
-   {
-     DBG("GC_draw_rect_fill: Gc == NULL!\n");
-   }
-   #endif
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_draw_line(GC *Gc,
-             int x1,
-             int y1,
-             int x2,
-             int y2)
-{
-   DBG("GC_draw_line(0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", Gc, x1, y1, x2, y2);
-   if(Gc != NULL)
-   {
-     MoveToEx(((PSKY_GC)Gc)->hDC, x1, y1, NULL);
-     LineTo(((PSKY_GC)Gc)->hDC, x2, y2);
-     return 1;
-   }
-   #if DEBUG
-   else
-   {
-     DBG("GC_draw_line: Gc == NULL!\n");
-   }
-   #endif
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GC_destroy(GC *Gc)
-{
-   DBG("GC_destroy(0x%x)\n", Gc);
-   if (Gc != NULL)
-   {
-      switch (Gc->type)
-      {
-         case GC_TYPE_DIB:
-            DeleteDC(((PSKY_GC)Gc)->hDC);
-            break;
-
-         case GC_TYPE_WINDOW:
-            ReleaseDC(((PSKY_WINDOW)Gc->window)->hWnd, ((PSKY_GC)Gc)->hDC);
-            break;
-
-         default:
-            DBG("Unknown GC type: %x\n", Gc->type);
-     }
-     HeapFree(GetProcessHeap(), 0, Gc);
-     return 1;
-   }
-   #if DEBUG
-   else
-   {
-     DBG("GC_destroy: Gc == NULL!\n");
-   }
-   #endif
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-widget_menu* __cdecl
-GI_create_menu(s_window *win)
-{
-   PSKY_MENU Menu;
-
-   DBG("GI_create_menu(0x%x)\n", win);
-
-   Menu = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(SKY_MENU));
-   if (Menu == NULL)
-   {
-      return NULL;
-   }
-
-   /* Shouldn't we use CreatePopupMenu in some cases? */
-   Menu->hMenu = CreateMenu();
-   if (Menu->hMenu == NULL)
-   {
-      HeapFree(GetProcessHeap(), 0, Menu);
-      return NULL;
-   }
-
-   if (win)
-   {
-      SetMenu(((PSKY_WINDOW)win)->hWnd, Menu->hMenu);
-   }
-
-   return (widget_menu *)Menu;
-}
-
-
-/*
- * @implemented
- */
-widget_menu_item* __cdecl
-GI_create_menu_item(unsigned char *Text,
-                    unsigned int Id,
-                    unsigned int Flags,
-                    unsigned int Enabled)
-{
-   PSKY_MENUITEM MenuItem;
-   ULONG TextLength;
-   
-   DBG("GI_create_menu_item(0x%x, 0x%x, 0x%x, 0x%x)\n",
-       Text, Id, Flags, Enabled);
-
-   TextLength = MultiByteToWideChar(CP_UTF8, 0, (char*)Text, -1, NULL, 0);
-   MenuItem = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
-                        sizeof(SKY_MENUITEM) + TextLength * sizeof(WCHAR));
-   if (MenuItem == NULL)
-   {
-      return NULL;
-   }
-
-   lstrcpyA((char*)MenuItem->MenuItem.text, (char*)Text);
-   MenuItem->MenuItem.ID = Id;
-   MenuItem->MenuItem.flags = Flags;
-   MenuItem->MenuItem.enabled = Enabled;
-
-   MenuItem->MenuItemInfo.cbSize = sizeof(MENUITEMINFOW);
-   MenuItem->MenuItemInfo.fMask = MIIM_ID | MIIM_TYPE | MIIM_STATE;
-   if (Flags & MENU_SEPERATOR)
-      MenuItem->MenuItemInfo.fType = MF_SEPARATOR;
-   else
-      MenuItem->MenuItemInfo.fType = MF_STRING;
-   MenuItem->MenuItemInfo.fState = Enabled ? MFS_ENABLED : 0;
-   MenuItem->MenuItemInfo.wID = Id;
-   MenuItem->MenuItemInfo.dwTypeData = (LPWSTR)(MenuItem + 1);
-   MenuItem->MenuItemInfo.cch = TextLength;
-   MultiByteToWideChar(CP_UTF8, 0, (char*)Text, TextLength, (LPWSTR)(MenuItem + 1),
-                       TextLength);
-
-   return (widget_menu_item *)MenuItem;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_add_menu_item(widget_menu *Menu,
-                 widget_menu_item *Item)
-{
-   DBG("GI_add_menu_item(0x%x, 0x%x)\n", Menu, Item);
-   InsertMenuItemW(((PSKY_MENU)Menu)->hMenu, -1, TRUE,
-                   &((PSKY_MENUITEM)Item)->MenuItemInfo);
-   return 1;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_add_menu_sub(widget_menu *Menu,
-                widget_menu_item *Item,
-                widget_menu *Sub)
-{
-   PSKY_MENUITEM MenuItem = (PSKY_MENUITEM)Item;
-
-   DBG("GI_add_menu_sub(0x%x, 0x%x, 0x%x)\n", Menu, Item, Sub);
-   MenuItem->MenuItemInfo.fMask |= MIIM_SUBMENU;
-   MenuItem->MenuItemInfo.hSubMenu = ((PSKY_MENU)Sub)->hMenu;
-   InsertMenuItemW(((PSKY_MENU)Menu)->hMenu, -1, TRUE,
-                   &MenuItem->MenuItemInfo);
-   return 1;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_messagebox(s_window *Window,
-              unsigned int Flags,
-              char *Title,
-              char *Fmt,
-              ...)
-{
-   CHAR Buffer[4096];
-   va_list ArgList;
-   ULONG MbFlags, MbResult;
-
-   DBG("GI_messagebox(0x%x, 0x%x, 0x%x, 0x%x, ...)\n",
-       Window, Flags, Title, Fmt);
-
-   va_start(ArgList, Fmt);
-   _vsnprintf(Buffer, sizeof(Buffer) / sizeof(Buffer[0]), Fmt, ArgList);
-   va_end(ArgList);
-
-   if ((Flags & (WGF_MB_CANCEL | WGF_MB_YESNO)) ==
-       (WGF_MB_CANCEL | WGF_MB_YESNO))
-      MbFlags = MB_YESNOCANCEL;
-   else if (Flags & WGF_MB_YESNO)
-      MbFlags = MB_YESNO;
-   else /* if (Flags & WGF_MB_OK) */
-      MbFlags = MB_OK;
-   MbFlags |= (Flags & WGF_MB_ICON_INFO) ? MB_ICONASTERISK : 0;
-   MbFlags |= (Flags & WGF_MB_ICON_ASK) ? MB_ICONQUESTION : 0;
-   MbFlags |= (Flags & WGF_MB_ICON_STOP) ? MB_ICONERROR : 0;
-
-   MbResult = MessageBoxA(Window ? ((PSKY_WINDOW)Window)->hWnd : NULL, 
-                          Buffer, Title, MbFlags);
-
-   switch (MbResult)
-   {
-      case IDOK: return ID_OK;
-      case IDYES: return ID_YES;
-      case IDNO: return ID_NO;
-      case IDCANCEL: return ID_CANCEL;
-   }
-
-   return 0;
-}
-
-
-/*
- * @implemented
- */
-int __cdecl
-GI_EnableMouseTracking(s_window *win)
-{
-  DBG("GI_EnableMouseTracking(0x%x)!\n", win);
-  if(win != NULL)
-  {
-    ((PSKY_WINDOW)win)->MouseInput = TRUE;
-    return 1;
-  }
-   #if DEBUG
-   else
-   {
-     DBG("GI_EnableMouseTracking: win == NULL!\n");
-   }
-   #endif
-  return 0;
-}
-
-/* EOF */
diff --git a/rosky/lib/libskygi/libskygi.def b/rosky/lib/libskygi/libskygi.def
deleted file mode 100644 (file)
index 2b2f03a..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-LIBRARY libskygi.dll
-
-EXPORTS
-DefaultWindowFunc
-GC_ResetBlit
-GC_blit
-GC_create_connected
-GC_destroy
-GC_draw_line
-GC_draw_rect_fill
-GC_set_bg_color
-GI_ShowApplicationWindow
-GI_add_menu_item
-GI_add_menu_sub
-GI_create_DDB_from_DIB
-GI_create_app
-GI_create_menu
-GI_create_menu_item
-GI_destroy_window
-GI_dispatch_message
-GI_kill_timer
-GI_load_bitmap
-GI_messagebox
-GI_post_quit
-GI_set_high_timer
-GI_wait_message
-GC_draw_text
-GC_set_fg_color
-GC_set_font
-GC_set_font_size
-GC_set_font_flags
-GC_set_font_param
-GI_CreateApplicationStruct
-GI_CreateApplication
-GI_EnableMouseTracking
-GI_GetTopLevelWindow
-GI_GetWindowX
-GI_GetWindowY
-GI_GetWindowWidth
-GI_GetWindowHeight
-GI_create_font
-GI_textheight
-GI_textlength
-GI_init
-GI_set_dimension
-GC_blit_from_DIB
-GC_draw_pixel
-GC_set_clip
-GI_create_DIB
-GI_redraw_window
-GI_ScaleDIB
-GI_get_resolution
-GI_widget_status_set
-
-; EOF
diff --git a/rosky/lib/libskygi/libskygi.h b/rosky/lib/libskygi/libskygi.h
deleted file mode 100644 (file)
index da236cf..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __LIBSKY_H
-#define __LIBSKY_H
-
-ULONG DbgPrint(PCH Format,...);
-
-#if defined(DBG)
-#undef DBG
-#endif
-
-#define DBG DPRINT
-#define STUB DbgPrint("Stub in %s:%i: ", __FILE__, __LINE__); DbgPrint
-
-#endif /* __LIBSKY_H */
-
-/* EOF */
diff --git a/rosky/lib/libskygi/libskygi.rc b/rosky/lib/libskygi/libskygi.rc
deleted file mode 100644 (file)
index 59e0027..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* $Id$ */
-
-#define REACTOS_VERSION_DLL
-#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS SkyOS GI library\0"
-#define REACTOS_STR_INTERNAL_NAME      "libskygi\0"
-#define REACTOS_STR_ORIGINAL_FILENAME  "libskygi.dll\0"
-#include <reactos/version.rc>
diff --git a/rosky/lib/libskygi/libskygi.xml b/rosky/lib/libskygi/libskygi.xml
deleted file mode 100644 (file)
index 8520777..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<module name="libskygi" type="win32dll"  installbase="system32" installname="libskygi.dll">
-       <importlibrary definition="libskygi.def" />
-       <include base="libskygi">.</include>
-       <include base="libskygi">../../include</include>
-       <define name="_WIN32_WINNT">0x0501</define>
-       <define name="_DISABLE_TIDENTS" />
-       <define name="__USE_W32API" />
-       <library>ntdll</library>
-       <library>kernel32</library>
-       <library>gdi32</library>
-       <file>libskygi.c</file>
-       <file>stubs.c</file>
-       <file>libskygi.rc</file>
-</module>
diff --git a/rosky/lib/libskygi/resource.h b/rosky/lib/libskygi/resource.h
deleted file mode 100644 (file)
index c197b1f..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __LIBSKY_RESOURCE_H
-#define __LIBSKY_RESOURCE_H
-
-#endif /* __LIBSKY_RESOURCE_H */
-
-/* EOF */
diff --git a/rosky/lib/libskygi/stubs.c b/rosky/lib/libskygi/stubs.c
deleted file mode 100644 (file)
index 7560c04..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-/* $Id$
- *
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         SkyOS GI library
- * FILE:            lib/libskygi/stubs.c
- * PURPOSE:         libskygi.dll stubs
- * NOTES:           If you implement a function, remove it from this file
- *
- * UPDATE HISTORY:
- *      08/12/2004  Created
- */
-#include <windows.h>
-#include <rosky.h>
-#include "libskygi.h"
-
-#define NDEBUG
-#include <debug.h>
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-DefaultWindowFunc(s_window *win,
-                  s_gi_msg *pMsg)
-{
-  STUB("DefaultWindowFunc(0x%x, 0x%x) returns 0!\n", win, pMsg);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_ResetBlit(sBlit *pBlit)
-{
-  STUB("GC_ResetBlit(0x%x) returns 0!\n", pBlit);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_blit(GC *gc,
-        sBlit *pBlit)
-{
-  STUB("GC_blit(0x%x, 0x%x) returns 0!\n", gc, pBlit);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-DDB* __cdecl
-GI_create_DDB_from_DIB(DIB *dib)
-{
-  STUB("GI_create_DDB_from_DIB(0x%x) returns NULL!\n", dib);
-  return NULL;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_kill_timer(unsigned int uiID)
-{
-  STUB("GI_kill_timer(0x%x) returns 0!\n", uiID);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-unsigned int __cdecl
-GI_set_high_timer(HANDLE w,
-                  unsigned int msec)
-{
-  STUB("GI_set_high_timer(0x%x, 0x%x) returns 0!\n", w, msec);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_draw_text(GC *gc,
-             s_region *rect,
-             unsigned char *text)
-{
-  STUB("GC_draw_text(0x%x, 0x%x, 0x%x) returns 0!\n", gc, rect, text);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_set_font(GC *gc,
-            unsigned int fontIndex)
-{
-  STUB("GC_set_font(0x%x, 0x%x) returns 0!\n", gc, fontIndex);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_set_font_size(GC *gc,
-                 unsigned int fontSize)
-{
-  STUB("GC_set_font_size(0x%x, 0x%x) returns 0!\n", gc, fontSize);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_set_font_flags(GC *gc,
-                  unsigned int flags)
-{
-  STUB("GC_set_font_flags(0x%x, 0x%x) returns 0!\n", gc, flags);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_set_font_param(GC *gc,
-                  unsigned int font,
-                  unsigned int fontsize,
-                  unsigned int flags,
-                  unsigned int trans)
-{
-  STUB("GC_set_font_param(0x%x, 0x%x, 0x%x, 0x%x, 0x%x) returns 0!\n", gc, font, fontsize, flags, trans);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-HANDLE __cdecl
-GI_CreateApplication(sCreateApplication *application)
-{
-  STUB("GI_CreateApplication(0x%x) returns NULL!\n", application);
-  return NULL;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_create_font(unsigned char *family,
-               unsigned char *style,
-               unsigned char *filename)
-{
-  STUB("GI_create_font(0x%x, 0x%x, 0x%x) returns 0!\n", family, style, filename);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_textheight(unsigned int index,
-              unsigned int size,
-              unsigned char *text)
-{
-  STUB("GI_textheight(0x%x, 0x%x, 0x%x) returns 0!\n", index, size, text);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_textlength(unsigned int index,
-              unsigned int size,
-              unsigned char *text)
-{
-  STUB("GI_textlength(0x%x, 0x%x, 0x%x) returns 0!\n", index, size, text);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_init(void)
-{
-  STUB("GI_init() returns 0!\n");
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_set_dimension(s_window *win,
-                 int notify,
-                 int x1,
-                 int y1,
-                 unsigned int width,
-                 unsigned int height)
-{
-  STUB("GI_set_dimension(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x) returns 0!\n", win, notify, x1, y1, width, height);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GC_set_clip(GC *gc,
-            s_region *clip)
-{
-  STUB("GC_set_clip(0x%x, 0x%x) returns 0!\n", gc, clip);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-DIB* __cdecl
-GI_ScaleDIB(DIB *srcbitmap,
-            int iWidth,
-            int iHeight,
-            int filtertype,
-            float filterwidth)
-{
-  STUB("GI_ScaleDIB(0x%x, 0x%x, 0x%x, 0x%x, 0x%x) returns 0!\n", srcbitmap, iWidth, iHeight, filtertype, filterwidth);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_get_resolution(s_resolution *res)
-{
-  STUB("GI_get_resolution(0x%x) returns 0!\n", res);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-int __cdecl
-GI_widget_status_set(s_window *win,
-                     unsigned char *text)
-{
-  STUB("GI_widget_status_set(0x%x, 0x%x) returns 0!\n", win, text);
-  return 0;
-}
-
-
-/*
- * @unimplemented
- */
-DIB* __cdecl
-GI_load_bitmap(char *filename,
-               unsigned int ImageIndex)
-{
-  STUB("GI_load_bitmap(%s, 0x%x) returns NULL!\n", filename, ImageIndex);
-  return NULL;
-}
-
-/* EOF */
diff --git a/rosky/makefile b/rosky/makefile
deleted file mode 100644 (file)
index 779e020..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-all: 
-       @echo To build "rosky" there are two paths:
-       @echo ---
-       @echo 1. copy the rosky folder into the reactos\modules folder
-       @echo 2. link reactos/modules/rosky to rosky
-       @echo    UNIX
-       @echo         cd $${ROS_SRC_ROOT}/reactos/modules
-       @echo         ln -s $${ROS_SRC_ROOT}/rosky rosky
-       @echo    WINDOWS
-       @echo         cd %%ROS_SRC_ROOT%%\reactos\modules
-       @echo         junction rosky %%ROS_SRC_ROOT%%\rosky
-       @echo ---
-       @echo Eventually you can run "make depends" in the %%ROS_SRC_ROOT%%\reactos
-       @echo directory to compile it.
diff --git a/vms/copying b/vms/copying
deleted file mode 100644 (file)
index dc63aac..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                          675 Mass Ave, Cambridge, MA 02139, USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                           Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                           NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                    END OF TERMS AND CONDITIONS
-\f
-       Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/vms/directory.xml b/vms/directory.xml
deleted file mode 100644 (file)
index a194009..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<group>
-<directory name="lib">
-       <xi:include href="lib/directory.xml" />
-</directory>
-
-<directory name="server">
-       <xi:include href="server/vmssrv.xml" />
-</directory>
-
-<directory name="tools">
-       <xi:include href="tools/directory.xml" />
-</directory>
-</group>
diff --git a/vms/include/vms/lpcproto.h b/vms/include/vms/lpcproto.h
deleted file mode 100644 (file)
index 2099945..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __VMS_SYS_LPCPROTO_H
-#define __VMS_SYS_LPCPROTO_H
-
-#define VMS_LPCPROTO_VERSION 1
-
-#define CSR_VMS_SRV 1
-
-#define VMS_OBNS_ROOT       L"\\VMS"
-#define VMS_API_PORT_NAME   L"\\VMS\\ApiPort"
-#define VMS_SBAPI_PORT_NAME L"\\VMS\\SbApiPort"
-
-#endif
diff --git a/vms/lib/directory.xml b/vms/lib/directory.xml
deleted file mode 100644 (file)
index fafd356..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<directory name="vmsdll">
-       <xi:include href="vmsdll/vmsdll.xml" />
-</directory>
diff --git a/vms/lib/vmsdll/dllmain.c b/vms/lib/vmsdll/dllmain.c
deleted file mode 100644 (file)
index a7ef318..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/* $Id$
- *
- * dllmain.c
- *
- * A stub DllMain function which will be called by DLLs which do not
- * have a user supplied DllMain.
- *
- * Contributors:
- *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
- *
- *  THIS SOFTWARE IS NOT COPYRIGHTED
- *
- *  This source code is offered for use in the public domain. You may
- *  use, modify or distribute it freely.
- *
- *  This code is distributed in the hope that it will be useful but
- *  WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY
- *  DISCLAMED. This includes but is not limited to warrenties of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- * $Revision: 1.5 $
- * $Author$
- * $Date$
- *
- */
-
-#include <windows.h>
-
-
-/* LIBRARY ENTRY POINT ********************************************************/
-
-BOOL
-WINAPI
-DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
-{
-       return TRUE;
-}
-
-/* EOF */
diff --git a/vms/lib/vmsdll/lib/stubs.c b/vms/lib/vmsdll/lib/stubs.c
deleted file mode 100644 (file)
index 1a1ac2b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-void lib$find_file () { }
diff --git a/vms/lib/vmsdll/makefile b/vms/lib/vmsdll/makefile
deleted file mode 100644 (file)
index b32d971..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# $Id$
-# 
-PATH_TO_TOP = ../../../reactos
-
-TARGET_TYPE = dynlink
-
-TARGET_NAME = vmsdll
-
-TARGET_CFLAGS = -Wall -Werror -fno-builtin \
-                -D__USE_W32API \
-                -D_WIN32_IE=0x0500 \
-                -D_WIN32_WINNT=0x501 \
-                -DWINVER=0x600 \
-
-TARGET_LFLAGS = -nostartfiles -nostdlib
-
-TARGET_SDKLIBS = ntdll.a
-
-LIB_OBJECTS = \
-       lib\stubs.o
-
-RMS_OBJECTS = \
-       rms\stubs.o
-
-MISC_OBJECTS = \
-       dllmain.o
-
-SYS_OBJECTS = \
-       sys\stubs.o
-
-TARGET_OBJECTS = \
-       $(LIB_OBJECTS) \
-       $(RMS_OBJECTS) \
-       $(SYS_OBJECTS) \
-       $(MISC_OBJECTS)
-
-DEP_OBJECTS = $(TARGET_OBJECTS)
-
-include $(PATH_TO_TOP)/rules.mak
-
-include $(TOOLS_PATH)/helper.mk
-
-include $(TOOLS_PATH)/depend.mk
-
diff --git a/vms/lib/vmsdll/readme.txt b/vms/lib/vmsdll/readme.txt
deleted file mode 100644 (file)
index 75a81a5..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-VMSDLL - ReactOS VMS+ Environment Subsystem Client Library
-
-lib = Library APIs
-
-rms = Record Management Services APIs
-
-sys = System APIs
diff --git a/vms/lib/vmsdll/rms/stubs.c b/vms/lib/vmsdll/rms/stubs.c
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/vms/lib/vmsdll/sys/stubs.c b/vms/lib/vmsdll/sys/stubs.c
deleted file mode 100644 (file)
index 4ba6c1b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* $Id$ */
-void sys$ascefc (void) {}
-void sys$asctim (void) {}
-void sys$assign (void) {}
-void sys$bintim (void) {}
-void sys$clref (void) {}
-void sys$crelnm (void) {}
-void sys$crelnt (void) {}
-void sys$dclast (void) {}
-void sys$enq (void) {}
-void sys$forcex (void) {}
-void sys$gettim (void) {}
-void sys$hiber (void) {}
-void sys$numtim (void) {}
-void sys$qio (void) {}
-void sys$qiow (void) {}
-void sys$readef (void) {}
-void sys$schdwk (void) {}
-void sys$setef (void) {}
-void sys$setast (void) {}
-void sys$setime (void) {}
-void sys$setimr (void) {}
-void sys$setpri (void) {}
-void sys$setprn (void) {}
-void sys$synch (void) {}
-void sys$trnlnm (void) {}
-void sys$waitfr (void) {}
-void sys$wake (void) {}
-
-/* EOF */
diff --git a/vms/lib/vmsdll/vmsdll.def b/vms/lib/vmsdll/vmsdll.def
deleted file mode 100644 (file)
index 764c497..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-LIBRARY vmsdll.dll
-EXPORTS
-; LIB
-lib$find_file
-; SYS
-sys$ascefc 
-sys$asctim 
-sys$assign
-sys$bintim 
-sys$clref 
-sys$crelnm
-sys$crelnt 
-sys$dclast 
-sys$enq 
-sys$forcex 
-sys$gettim 
-sys$hiber 
-sys$numtim 
-sys$qio 
-sys$qiow
-sys$readef 
-sys$schdwk 
-sys$setef 
-sys$setast
-sys$setime 
-sys$setimr 
-sys$setpri 
-sys$setprn 
-sys$synch 
-sys$trnlnm 
-sys$waitfr 
-sys$wake 
diff --git a/vms/lib/vmsdll/vmsdll.rc b/vms/lib/vmsdll/vmsdll.rc
deleted file mode 100644 (file)
index 9cbb160..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS/VMS API Client Library\0"
-#define REACTOS_STR_INTERNAL_NAME      "vmsdll\0"
-#define REACTOS_STR_ORIGINAL_FILENAME  "vmdsll.dll\0"
-#include <reactos/version.rc>
diff --git a/vms/lib/vmsdll/vmsdll.xml b/vms/lib/vmsdll/vmsdll.xml
deleted file mode 100644 (file)
index 0ebd47d..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-<module name="vmsdll" type="nativedll">
-       <importlibrary definition="vmsdll.def" />
-       <include base="vmsdll">../include</include>
-       <linkerflag>-lgcc</linkerflag>
-       <file>dllmain.c</file>
-       <file>vmsdll.rc</file>
-       <directory name="lib">
-               <file>stubs.c</file>
-       </directory>
-       <directory name="rms">
-               <file>stubs.c</file>
-       </directory>
-       <directory name="sys">
-               <file>stubs.c</file>
-       </directory>
-</module>
diff --git a/vms/makefile b/vms/makefile
deleted file mode 100644 (file)
index de7d057..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-all: 
-       @echo To build "vms" there are two paths:
-       @echo ---
-       @echo 1. copy the vms folder into the reactos\modules folder
-       @echo 2. link reactos/modules/vms to vms
-       @echo    UNIX
-       @echo         cd $${ROS_SRC_ROOT}/reactos/modules
-       @echo         ln -s $${ROS_SRC_ROOT}/vms vms
-       @echo    WINDOWS
-       @echo         cd %%ROS_SRC_ROOT%%\reactos\modules
-       @echo         junction vms %%ROS_SRC_ROOT%%\vms
-       @echo ---
-       @echo Eventually you can run "make depends" in the %%ROS_SRC_ROOT%%\reactos
-       @echo directory to compile it.
diff --git a/vms/readme.txt b/vms/readme.txt
deleted file mode 100644 (file)
index 7760e6e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-$Id$
-
-This directory contains the ReactOS VMS personality.
-Make sure you also have a copy of the rest of the ReactOS
-source before you attempt to build anything in this module.
diff --git a/vms/server/dllmain.c b/vms/server/dllmain.c
deleted file mode 100644 (file)
index 61b87c6..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* $Id$
- *
- * dllmain.c - VMS Enviroment Subsystem Server
- * 
- * ReactOS Operating System
- * 
- * --------------------------------------------------------------------
- *
- * This software is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.LIB. If not, write
- * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- * MA 02139, USA.  
- *
- * --------------------------------------------------------------------
- */
-#include "vmssrv.h"
-
-#define NDEBUG
-#include <debug.h>
-
-/* DLL entry point */
-
-HANDLE VmsSrvDllHandle = 0;
-
-/* FUNCTIONS *****************************************************************/
-
-BOOL STDCALL
-DllMain(HANDLE hDll,
-       DWORD dwReason,
-       LPVOID lpReserved)
-{
-  if (DLL_PROCESS_ATTACH == dwReason)
-    {
-      VmsSrvDllHandle = hDll;
-    }
-
-  return TRUE;
-}
-
-/* EOF */
diff --git a/vms/server/makefile b/vms/server/makefile
deleted file mode 100644 (file)
index aa14055..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# $Id$
-#
-# ReactOS VMS+ Environment Subsystem Server
-#
-
-PATH_TO_TOP = ../../reactos
-
-TARGET_TYPE = program
-
-TARGET_APPTYPE = native
-
-TARGET_NAME = vmsss
-
-TARGET_SDKLIBS = ntdll.a smdll.a
-
-TARGET_CFLAGS = -Iinclude -I../include
-
-TARGET_OBJECTS = vmsss.o init.o server.o
-
-include $(PATH_TO_TOP)/rules.mak
-
-include $(TOOLS_PATH)/helper.mk
-
-# EOF
diff --git a/vms/server/server.c b/vms/server/server.c
deleted file mode 100644 (file)
index 3ef07e8..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-/* $Id$
- *
- * server.c - VMS Enviroment Subsystem Server - Initialization
- * 
- * ReactOS Operating System
- * 
- * --------------------------------------------------------------------
- *
- * This software is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this software; see the file COPYING.LIB. If not, write
- * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- * MA 02139, USA.  
- *
- * --------------------------------------------------------------------
- */
-#include "vmssrv.h"
-
-//#define NDEBUG
-#include <debug.h>
-
-HANDLE VmsApiPort = NULL;
-
-/**********************************************************************
- * NAME                                                        PRIVATE
- *     VmsApiNull/2
- */
-NTSTATUS NTAPI VmsApiNull (IN OUT PCSR_API_MESSAGE ApiMessage,
-                          IN OUT PULONG Reply)
-{
-       DPRINT("VMSSRV: %s called\n", __FUNCTION__);
-
-       *Reply = 0;
-       return STATUS_SUCCESS;
-}
-
-PCSR_API_ROUTINE VmsServerApiDispatchTable [1] =
-{
-       VmsApiNull
-};
-
-BOOLEAN VmsServerApiValidTable [1] =
-{
-    TRUE
-};
-
-PCHAR VmsServerApiNameTable [1] =
-{
-    "Null",
-};
-
-/*=====================================================================
- *     PUBLIC API
- *===================================================================*/
-
-NTSTATUS NTAPI ServerDllInitialization (PCSR_SERVER_DLL LoadedServerDll)
-{
-       NTSTATUS Status = STATUS_SUCCESS;
-       
-       DPRINT("VMSSRV: %s called\n", __FUNCTION__);
-
-       // Get the listening port from csrsrv.dll
-       VmsApiPort = CsrQueryApiPort ();
-       if (NULL == VmsApiPort)
-       {
-               Status = STATUS_UNSUCCESSFUL;
-       } else {
-               // Set CSR information
-               LoadedServerDll->ApiBase             = 0;
-               LoadedServerDll->HighestApiSupported = 0;
-               LoadedServerDll->DispatchTable       = VmsServerApiDispatchTable;
-               LoadedServerDll->ValidTable          = VmsServerApiValidTable;
-               LoadedServerDll->NameTable           = VmsServerApiNameTable;
-               LoadedServerDll->SizeOfProcessData   = 0;
-               LoadedServerDll->ConnectCallback     = NULL;
-               LoadedServerDll->DisconnectCallback  = NULL;
-       }
-       return Status;
-}
-
-/* EOF */
diff --git a/vms/server/vmssrv.def b/vms/server/vmssrv.def
deleted file mode 100644 (file)
index eba427c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-LIBRARY vmssrv.dll
-EXPORTS
-ServerDllInitialization@4
diff --git a/vms/server/vmssrv.h b/vms/server/vmssrv.h
deleted file mode 100644 (file)
index d1e7311..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _VMSSS_H_INCLUDED_
-#define _VMSSS_H_INCLUDED_
-
-/* PSDK/NDK Headers */
-#include <stdio.h>
-#include <windows.h>
-
-#define NTOS_MODE_USER
-#include <ndk/ntndk.h>
-
-#include <csr/server.h>
-
-#endif /* ndef _VMSSS_H_INCLUDED_ */
diff --git a/vms/server/vmssrv.rc b/vms/server/vmssrv.rc
deleted file mode 100644 (file)
index bac7382..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#define REACTOS_STR_FILE_DESCRIPTION   "ReactOS/VMS Environment Subsystem Server\0"
-#define REACTOS_STR_INTERNAL_NAME      "vmssrv\0"
-#define REACTOS_STR_ORIGINAL_FILENAME  "vmssrv.dll\0"
-#include <reactos/version.rc>
diff --git a/vms/server/vmssrv.xml b/vms/server/vmssrv.xml
deleted file mode 100644 (file)
index 3e2efe9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<module name="vmssrv" type="nativedll" installbase="system32" installname="vmssrv.dll">
-       <importlibrary definition="vmssrv.def" />
-       <include base="vmssrv">.</include>
-       <define name="__USE_W32API" />
-       <define name="_DISABLE_TIDENTS" />
-       <library>ntdll</library>
-       <library>csrsrv</library>
-       <file>dllmain.c</file>
-       <file>server.c</file>
-       <file>vmssrv.rc</file>
-</module>
diff --git a/vms/tools/directory.xml b/vms/tools/directory.xml
deleted file mode 100644 (file)
index fc962ed..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-<directory name="mksystab">
-       <xi:include href="mksystab/mksystab.xml" />
-</directory>
diff --git a/vms/tools/mksystab/mksystab.xml b/vms/tools/mksystab/mksystab.xml
deleted file mode 100644 (file)
index e69de29..0000000