ReactOS  0.4.14-dev-323-g6fe6a88
sermouse.h
Go to the documentation of this file.
1 #ifndef _SERMOUSE_PCH_
2 #define _SERMOUSE_PCH_
3 
4 #include <ntddk.h>
5 #include <ntddser.h>
6 #include <kbdmou.h>
7 
8 #define SERMOUSE_TAG 'uoMS'
9 
10 typedef enum
11 {
18 
19 typedef enum
20 {
21  mtNone, /* No Mouse */
22  mtMicrosoft, /* Microsoft Mouse with 2 buttons */
23  mtLogitech, /* Logitech Mouse with 3 buttons */
24  mtWheelZ /* Microsoft Wheel Mouse (aka Z Mouse) */
26 
27 /* Size for packet buffer used in interrupt routine */
28 #define PACKET_BUFFER_SIZE 4
29 
30 /* Hardware byte mask for left button */
31 #define LEFT_BUTTON_MASK 0x20
32 /* Hardware to Microsoft specific code byte shift for left button */
33 #define LEFT_BUTTON_SHIFT 5
34 /* Hardware byte mask for right button */
35 #define RIGHT_BUTTON_MASK 0x10
36 /* Hardware to Microsoft specific code byte shift for right button */
37 #define RIGHT_BUTTON_SHIFT 3
38 /* Hardware byte mask for middle button */
39 #define MIDDLE_BUTTON_MASK 0x20
40 /* Hardware to Microsoft specific code byte shift for middle button */
41 #define MIDDLE_BUTTON_SHIFT 3
42 
43 /* Microsoft byte mask for left button */
44 #define MOUSE_BUTTON_LEFT 0x01
45 /* Microsoft byte mask for right button */
46 #define MOUSE_BUTTON_RIGHT 0x02
47 /* Microsoft byte mask for middle button */
48 #define MOUSE_BUTTON_MIDDLE 0x04
49 
51 {
54 
56 {
61 
64 
74 
75 /************************************ createclose.c */
76 
78 
80 
82 
83 /************************************ detect.c */
84 
87  IN PDEVICE_OBJECT LowerDevice);
88 
89 /************************************ fdo.c */
90 
91 DRIVER_ADD_DEVICE SermouseAddDevice;
92 
94 
95 /************************************ internaldevctl.c */
96 
98 
99 /************************************ misc.c */
100 
101 NTSTATUS
104  IN PIRP Irp);
105 
109  IN PIRP Irp);
110 
111 /************************************ readmouse.c */
112 
113 VOID NTAPI
115  PVOID Context);
116 
117 #endif /* _SERMOUSE_PCH_ */
SERMOUSE_DEVICE_STATE
Definition: sermouse.h:10
DRIVER_DISPATCH SermouseCreate
Definition: sermouse.h:77
#define IN
Definition: typedefs.h:38
SERMOUSE_MOUSE_TYPE
Definition: sermouse.h:19
_In_ PIRP Irp
Definition: csq.h:116
DRIVER_ADD_DEVICE SermouseAddDevice
Definition: sermouse.h:91
NTSTATUS ForwardIrpAndWait(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: fdo.c:32
PDEVICE_OBJECT LowerDevice
Definition: sermouse.h:57
LONG NTSTATUS
Definition: precomp.h:26
struct _SERMOUSE_DRIVER_EXTENSION SERMOUSE_DRIVER_EXTENSION
SERMOUSE_DEVICE_STATE PnpState
Definition: sermouse.h:58
struct _SERMOUSE_DEVICE_EXTENSION * PSERMOUSE_DEVICE_EXTENSION
NTSTATUS NTAPI ForwardIrpAndForget(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
Definition: misc.c:59
SERMOUSE_MOUSE_TYPE SermouseDetectLegacyDevice(IN PDEVICE_OBJECT LowerDevice)
Definition: detect.c:117
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _SERMOUSE_DRIVER_EXTENSION * PSERMOUSE_DRIVER_EXTENSION
DRIVER_DISPATCH SermouseClose
Definition: sermouse.h:79
MOUSE_ATTRIBUTES AttributesInformation
Definition: sermouse.h:72
DRIVER_DISPATCH SermouseInternalDeviceControl
Definition: sermouse.h:97
#define PACKET_BUFFER_SIZE
Definition: sermouse.h:28
unsigned char UCHAR
Definition: xmlstorage.h:181
VOID NTAPI SermouseDeviceWorker(PVOID Context)
Definition: readmouse.c:64
DRIVER_DISPATCH(nfs41_FsdDispatch)
UCHAR PacketBuffer[PACKET_BUFFER_SIZE]
Definition: sermouse.h:69
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
unsigned short USHORT
Definition: pedump.c:61
MOUSE_INPUT_DATA MouseInputData[2]
Definition: sermouse.h:68
SERMOUSE_MOUSE_TYPE MouseType
Definition: sermouse.h:59
DRIVER_DISPATCH SermousePnp
Definition: sermouse.h:93
unsigned int ULONG
Definition: retypes.h:1
PSERMOUSE_DRIVER_EXTENSION DriverExtension
Definition: sermouse.h:60
CONNECT_DATA ConnectData
Definition: sermouse.h:67
struct _SERMOUSE_DEVICE_EXTENSION SERMOUSE_DEVICE_EXTENSION
DRIVER_DISPATCH SermouseCleanup
Definition: sermouse.h:81