[USB-BRINGUP]
[reactos.git] / drivers / hid / kbdhid / kbdhid.h
1 #pragma once
2
3 #define _HIDPI_NO_FUNCTION_MACROS_
4 #include <ntddk.h>
5 #include <hidclass.h>
6 #include <hidpddi.h>
7 #include <hidpi.h>
8 #include <debug.h>
9 #include <ntddmou.h>
10 #include <kbdmou.h>
11 #include <debug.h>
12
13
14 typedef struct
15 {
16 //
17 // lower device object
18 //
19 PDEVICE_OBJECT NextDeviceObject;
20
21 //
22 // irp which is used for reading input reports
23 //
24 PIRP Irp;
25
26 //
27 // event
28 //
29 KEVENT ReadCompletionEvent;
30
31 //
32 // device object for class callback
33 //
34 PDEVICE_OBJECT ClassDeviceObject;
35
36 //
37 // class callback
38 //
39 PVOID ClassService;
40
41 //
42 // usage list length
43 //
44 USHORT UsageListLength;
45
46 //
47 // current usage list length
48 //
49 PUSAGE_AND_PAGE CurrentUsageList;
50
51 //
52 // previous usage list
53 //
54 PUSAGE_AND_PAGE PreviousUsageList;
55
56 //
57 // removed usage item list
58 //
59 PUSAGE_AND_PAGE BreakUsageList;
60
61 //
62 // new item usage list
63 //
64 PUSAGE_AND_PAGE MakeUsageList;
65
66 //
67 // preparsed data
68 //
69 PVOID PreparsedData;
70
71 //
72 // mdl for reading input report
73 //
74 PMDL ReportMDL;
75
76 //
77 // input report buffer
78 //
79 PUCHAR Report;
80
81 //
82 // input report length
83 //
84 ULONG ReportLength;
85
86 //
87 // file object the device is reading reports from
88 //
89 PFILE_OBJECT FileObject;
90
91 //
92 // report read is active
93 //
94 UCHAR ReadReportActive;
95
96 //
97 // stop reading flag
98 //
99 UCHAR StopReadReport;
100
101 }KBDHID_DEVICE_EXTENSION, *PKBDHID_DEVICE_EXTENSION;
102
103
104 NTSTATUS
105 KbdHid_InitiateRead(
106 IN PKBDHID_DEVICE_EXTENSION DeviceExtension);