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