- Get kbd/mouclass compiling
[reactos.git] / reactos / drivers / input / mouclass / mouclass.h
1 #include <ntifs.h>
2 #include <kbdmou.h>
3 #include <ntddmou.h>
4 #include <stdio.h>
5
6 #define MAX_PATH 260
7 typedef enum
8 {
9 dsStopped,
10 dsStarted,
11 dsPaused,
12 dsRemoved,
13 dsSurpriseRemoved
14 } PORT_DEVICE_STATE;
15
16 typedef struct _CLASS_DRIVER_EXTENSION
17 {
18 UNICODE_STRING RegistryPath;
19
20 /* Registry settings */
21 ULONG ConnectMultiplePorts;
22 ULONG DataQueueSize;
23 UNICODE_STRING DeviceBaseName;
24
25 PDEVICE_OBJECT MainClassDeviceObject;
26 } CLASS_DRIVER_EXTENSION, *PCLASS_DRIVER_EXTENSION;
27
28 typedef struct _COMMON_DEVICE_EXTENSION
29 {
30 BOOLEAN IsClassDO;
31 } COMMON_DEVICE_EXTENSION, *PCOMMON_DEVICE_EXTENSION;
32
33 typedef struct _PORT_DEVICE_EXTENSION
34 {
35 COMMON_DEVICE_EXTENSION Common;
36
37 PORT_DEVICE_STATE PnpState;
38 PDEVICE_OBJECT LowerDevice;
39 UNICODE_STRING InterfaceName;
40 } PORT_DEVICE_EXTENSION, *PPORT_DEVICE_EXTENSION;
41
42 typedef struct _CLASS_DEVICE_EXTENSION
43 {
44 COMMON_DEVICE_EXTENSION Common;
45
46 PCLASS_DRIVER_EXTENSION DriverExtension;
47
48 KSPIN_LOCK SpinLock;
49 BOOLEAN ReadIsPending;
50 ULONG InputCount;
51 PMOUSE_INPUT_DATA PortData;
52 } CLASS_DEVICE_EXTENSION, *PCLASS_DEVICE_EXTENSION;
53
54 /* misc.c */
55
56 NTSTATUS NTAPI
57 ForwardIrpAndForget(
58 IN PDEVICE_OBJECT DeviceObject,
59 IN PIRP Irp);