+++ /dev/null
-#ifndef _SERMOUSE_PCH_
-#define _SERMOUSE_PCH_
-
-#include <ntddk.h>
-#include <ntddser.h>
-#include <kbdmou.h>
-
-#define SERMOUSE_TAG 'uoMS'
-
-typedef enum
-{
- dsStopped,
- dsStarted,
- dsPaused,
- dsRemoved,
- dsSurpriseRemoved
-} SERMOUSE_DEVICE_STATE;
-
-typedef enum
-{
- mtNone, /* No Mouse */
- mtMicrosoft, /* Microsoft Mouse with 2 buttons */
- mtLogitech, /* Logitech Mouse with 3 buttons */
- mtWheelZ /* Microsoft Wheel Mouse (aka Z Mouse) */
-} SERMOUSE_MOUSE_TYPE;
-
-/* Size for packet buffer used in interrupt routine */
-#define PACKET_BUFFER_SIZE 4
-
-/* Hardware byte mask for left button */
-#define LEFT_BUTTON_MASK 0x20
-/* Hardware to Microsoft specific code byte shift for left button */
-#define LEFT_BUTTON_SHIFT 5
-/* Hardware byte mask for right button */
-#define RIGHT_BUTTON_MASK 0x10
-/* Hardware to Microsoft specific code byte shift for right button */
-#define RIGHT_BUTTON_SHIFT 3
-/* Hardware byte mask for middle button */
-#define MIDDLE_BUTTON_MASK 0x20
-/* Hardware to Microsoft specific code byte shift for middle button */
-#define MIDDLE_BUTTON_SHIFT 3
-
-/* Microsoft byte mask for left button */
-#define MOUSE_BUTTON_LEFT 0x01
-/* Microsoft byte mask for right button */
-#define MOUSE_BUTTON_RIGHT 0x02
-/* Microsoft byte mask for middle button */
-#define MOUSE_BUTTON_MIDDLE 0x04
-
-typedef struct _SERMOUSE_DRIVER_EXTENSION
-{
- USHORT NumberOfButtons;
-} SERMOUSE_DRIVER_EXTENSION, *PSERMOUSE_DRIVER_EXTENSION;
-
-typedef struct _SERMOUSE_DEVICE_EXTENSION
-{
- PDEVICE_OBJECT LowerDevice;
- SERMOUSE_DEVICE_STATE PnpState;
- SERMOUSE_MOUSE_TYPE MouseType;
- PSERMOUSE_DRIVER_EXTENSION DriverExtension;
-
- HANDLE WorkerThreadHandle;
- KEVENT StopWorkerThreadEvent;
-
- ULONG ActiveQueue;
- ULONG InputDataCount[2];
- CONNECT_DATA ConnectData;
- MOUSE_INPUT_DATA MouseInputData[2];
- UCHAR PacketBuffer[PACKET_BUFFER_SIZE];
- ULONG PacketBufferPosition;
- ULONG PreviousButtons;
- MOUSE_ATTRIBUTES AttributesInformation;
-} SERMOUSE_DEVICE_EXTENSION, *PSERMOUSE_DEVICE_EXTENSION;
-
-/************************************ createclose.c */
-
-DRIVER_DISPATCH SermouseCreate;
-
-DRIVER_DISPATCH SermouseClose;
-
-DRIVER_DISPATCH SermouseCleanup;
-
-/************************************ detect.c */
-
-SERMOUSE_MOUSE_TYPE
-SermouseDetectLegacyDevice(
- IN PDEVICE_OBJECT LowerDevice);
-
-/************************************ fdo.c */
-
-DRIVER_ADD_DEVICE SermouseAddDevice;
-
-DRIVER_DISPATCH SermousePnp;
-
-/************************************ internaldevctl.c */
-
-DRIVER_DISPATCH SermouseInternalDeviceControl;
-
-/************************************ misc.c */
-
-NTSTATUS
-ForwardIrpAndWait(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp);
-
-NTSTATUS NTAPI
-ForwardIrpAndForget(
- IN PDEVICE_OBJECT DeviceObject,
- IN PIRP Irp);
-
-/************************************ readmouse.c */
-
-VOID NTAPI
-SermouseDeviceWorker(
- PVOID Context);
-
-#endif /* _SERMOUSE_PCH_ */