Re: W32API fixes + ddk/kbdmou.h

Filip Navara <xnavara-VIXq6x/[email protected]> Tue, 11 May 2004 17:39:03 +0200
Newsgroups gmane.comp.gnu.mingw.patches
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------050809070804000808050001
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Once more with fixed cut & paste error...

- Filip

Filip Navara wrote:

> 2004-05-11  Filip Navara  <xnavara-VIXq6x/[email protected]>
>
>    * include/winnt.h (DECLSPEC_ALIGN): Define.
>    (LARGE_INTEGER): Correct alignment.
>    * include/ddk/kbdmou.h: New file.
>    * lib/ddk/videoprt.def (VideoPortMapBankedMemory,
>    VideoPortMapDmaMemory, VideoPortMapMemory): Correct suffix.
>    * lib/ddk/ntoskrnl.def (_snprintf, _snwprintf, _vsnprintf,
>    _vsnwprintf, sprintf, swprintf): Export.



--------------050809070804000808050001
Content-Type: text/plain;
 name="patch1.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="patch1.diff"

2004-05-11  Filip Navara  <xnavara-VIXq6x/[email protected]>

	* include/winnt.h (DECLSPEC_ALIGN): Define.
	(LARGE_INTEGER): Correct alignment.
	* include/ddk/kbdmou.h: New file.
	* lib/ddk/videoprt.def (VideoPortMapBankedMemory,
	VideoPortMapDmaMemory, VideoPortMapMemory): Correct suffix.
	* lib/ddk/ntoskrnl.def (_snprintf, _snwprintf, _vsnprintf,
	_vsnwprintf, sprintf, swprintf): Export.

--- include/winnt.h	Sat Feb 21 10:20:34 2004
+++ include/winnt.h	Tue May 11 12:38:16 2004
@@ -43,6 +43,15 @@
 #define UNALIGNED
 #endif
 
+/* FIXME: What to do with WATCOM? */
+#ifndef DECLSPEC_ALIGN
+#ifdef __GNUC__
+#define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
+#else
+#define DECLSPEC_ALIGN(x)
+#endif
+#endif
+
 #ifndef VOID
 #define VOID void
 #endif
@@ -1962,7 +1973,7 @@
 	PEXCEPTION_RECORD ExceptionRecord;
 	PCONTEXT ContextRecord;
 } EXCEPTION_POINTERS,*PEXCEPTION_POINTERS,*LPEXCEPTION_POINTERS;
-typedef union _LARGE_INTEGER {
+typedef union DECLSPEC_ALIGN(8) _LARGE_INTEGER {
   struct {
     DWORD LowPart;
     LONG  HighPart;
--- /dev/null	Tue May 11 13:13:44 2004
+++ include/ddk/kbdmou.h	Sat May  8 15:14:52 2004
@@ -0,0 +1,91 @@
+/*
+ * kbdmou.h
+ *
+ * Structures and definitions for Keyboard/Mouse class and port drivers.
+ *
+ * This file is part of the w32api package.
+ *
+ * Contributors:
+ *   Created by Filip Navara <xnavara-VIXq6x/[email protected]>
+ *
+ * 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 WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+#ifndef __KBDMOU_H
+#define __KBDMOU_H
+
+#include <ddk/ntddkbd.h>
+#include <ddk/ntddmou.h>
+
+#define DD_KEYBOARD_PORT_DEVICE_NAME      "\\Device\\KeyboardPort"
+#define DD_KEYBOARD_PORT_DEVICE_NAME_U    L"\\Device\\KeyboardPort"
+#define DD_KEYBOARD_PORT_BASE_NAME_U      L"KeyboardPort"
+#define DD_POINTER_PORT_DEVICE_NAME       "\\Device\\PointerPort"
+#define DD_POINTER_PORT_DEVICE_NAME_U     L"\\Device\\PointerPort"
+#define DD_POINTER_PORT_BASE_NAME_U       L"PointerPort"
+
+#define DD_KEYBOARD_CLASS_BASE_NAME_U     L"KeyboardClass"
+#define DD_POINTER_CLASS_BASE_NAME_U      L"PointerClass"
+
+#define DD_KEYBOARD_RESOURCE_CLASS_NAME_U             L"Keyboard"
+#define DD_POINTER_RESOURCE_CLASS_NAME_U              L"Pointer"
+#define DD_KEYBOARD_MOUSE_COMBO_RESOURCE_CLASS_NAME_U L"Keyboard/Pointer"
+
+#define POINTER_PORTS_MAXIMUM             8
+#define KEYBOARD_PORTS_MAXIMUM            8
+
+#define KBDMOU_COULD_NOT_SEND_COMMAND     0x0000
+#define KBDMOU_COULD_NOT_SEND_PARAM       0x0001
+#define KBDMOU_NO_RESPONSE                0x0002
+#define KBDMOU_INCORRECT_RESPONSE         0x0004
+
+#define I8042_ERROR_VALUE_BASE            1000
+#define INPORT_ERROR_VALUE_BASE           2000
+#define SERIAL_MOUSE_ERROR_VALUE_BASE     3000
+
+#define IOCTL_INTERNAL_KEYBOARD_CONNECT \
+  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_KEYBOARD_DISCONNECT \
+  CTL_CODE(FILE_DEVICE_KEYBOARD,0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_KEYBOARD_ENABLE \
+  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_KEYBOARD_DISABLE \
+  CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_MOUSE_CONNECT \
+  CTL_CODE(FILE_DEVICE_MOUSE, 0x0080, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_MOUSE_DISCONNECT \
+  CTL_CODE(FILE_DEVICE_MOUSE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_MOUSE_ENABLE \
+  CTL_CODE(FILE_DEVICE_MOUSE, 0x0200, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+#define IOCTL_INTERNAL_MOUSE_DISABLE \
+  CTL_CODE(FILE_DEVICE_MOUSE, 0x0400, METHOD_NEITHER, FILE_ANY_ACCESS)
+
+typedef struct _CONNECT_DATA {
+	PDEVICE_OBJECT  ClassDeviceObject;
+	PVOID  ClassService;
+} CONNECT_DATA, *PCONNECT_DATA;
+
+typedef VOID
+(STDAPICALLTYPE *PSERVICE_CALLBACK_ROUTINE)(
+	IN PVOID NormalContext,
+	IN PVOID SystemArgument1,
+	IN PVOID SystemArgument2,
+	IN OUT PVOID SystemArgument3);
+
+#endif /* __KBDMOU_H */
--- lib/ddk/videoprt.def	Tue May 11 13:07:42 2004
+++ lib/ddk/videoprt.def	Tue May 11 12:11:56 2004
@@ -53,9 +53,9 @@
 VideoPortLockBuffer@16
 VideoPortLockPages@20
 VideoPortLogError@16
-VideoPortMapBankedMemory@36
-VideoPortMapDmaMemory@32
-VideoPortMapMemory@20
+VideoPortMapBankedMemory@40
+VideoPortMapDmaMemory@36
+VideoPortMapMemory@24
 VideoPortMoveMemory@12
 VideoPortPutDmaAdapter@8
 VideoPortQueryPerformanceCounter@8
--- lib/ddk/ntoskrnl.def	Tue May 11 13:06:38 2004
+++ lib/ddk/ntoskrnl.def	Tue May 11 12:13:24 2004
@@ -1390,8 +1390,8 @@
 ;_itow
 ;_local_unwind2
 ;_purecall
-;_snprintf
-;_snwprintf
+_snprintf
+_snwprintf
 _stricmp
 _strlwr
 _strnicmp
@@ -1399,8 +1399,8 @@
 _strrev
 _strset
 _strupr
-;_vsnprintf
-;_vsnwprintf
+_vsnprintf
+_vsnwprintf
 _wcsicmp@8
 _wcslwr@4
 _wcsnicmp@12
@@ -1423,7 +1423,7 @@
 memset
 ;qsort
 ;rand
-;sprintf
+sprintf
 ;srand
 strcat
 strchr
@@ -1436,7 +1436,7 @@
 strrchr
 strspn
 strstr
-;swprintf
+swprintf
 ;tolower
 ;toupper
 ;towlower

--------------050809070804000808050001--


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to 
deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3