[USB-BRINGUP-TRUNK]
[reactos.git] / drivers / hid / mouhid / mouhid.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 // mouse type
43 //
44 USHORT MouseIdentifier;
45
46 //
47 // wheel usage page
48 //
49 USHORT WheelUsagePage;
50
51 //
52 // usage list length
53 //
54 USHORT UsageListLength;
55
56 //
57 // current usage list length
58 //
59 PUSAGE CurrentUsageList;
60
61 //
62 // previous usage list
63 //
64 PUSAGE PreviousUsageList;
65
66 //
67 // removed usage item list
68 //
69 PUSAGE BreakUsageList;
70
71 //
72 // new item usage list
73 //
74 PUSAGE MakeUsageList;
75
76 //
77 // preparsed data
78 //
79 PVOID PreparsedData;
80
81 //
82 // mdl for reading input report
83 //
84 PMDL ReportMDL;
85
86 //
87 // input report buffer
88 //
89 PCHAR Report;
90
91 //
92 // input report length
93 //
94 ULONG ReportLength;
95
96 //
97 // file object the device is reading reports from
98 //
99 PFILE_OBJECT FileObject;
100
101 //
102 // report read is active
103 //
104 UCHAR ReadReportActive;
105
106 //
107 // stop reading flag
108 //
109 UCHAR StopReadReport;
110
111 }MOUHID_DEVICE_EXTENSION, *PMOUHID_DEVICE_EXTENSION;
112
113
114 NTSTATUS
115 MouHid_InitiateRead(
116 IN PMOUHID_DEVICE_EXTENSION DeviceExtension);