[USB-BRINGUP]
[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
12
13 typedef struct
14 {
15 //
16 // lower device object
17 //
18 PDEVICE_OBJECT NextDeviceObject;
19
20 //
21 // irp which is used for reading input reports
22 //
23 PIRP Irp;
24
25 //
26 // event
27 //
28 KEVENT Event;
29
30 //
31 // device object for class callback
32 //
33 PDEVICE_OBJECT ClassDeviceObject;
34
35 //
36 // class callback
37 //
38 PVOID ClassService;
39
40 //
41 // mouse type
42 //
43 USHORT MouseIdentifier;
44
45 //
46 // wheel usage page
47 //
48 USHORT WheelUsagePage;
49
50 //
51 // usage list length
52 //
53 USHORT UsageListLength;
54
55 //
56 // current usage list length
57 //
58 PUSAGE CurrentUsageList;
59
60 //
61 // previous usage list
62 //
63 PUSAGE PreviousUsageList;
64
65 //
66 // removed usage item list
67 //
68 PUSAGE BreakUsageList;
69
70 //
71 // new item usage list
72 //
73 PUSAGE MakeUsageList;
74
75 //
76 // preparsed data
77 //
78 PVOID PreparsedData;
79
80 //
81 // mdl for reading input report
82 //
83 PMDL ReportMDL;
84
85 //
86 // input report buffer
87 //
88 PUCHAR Report;
89
90 //
91 // input report length
92 //
93 ULONG ReportLength;
94
95 //
96 // file object the device is reading reports from
97 //
98 PFILE_OBJECT FileObject;
99
100 }MOUHID_DEVICE_EXTENSION, *PMOUHID_DEVICE_EXTENSION;
101
102
103 NTSTATUS
104 MouHid_InitiateRead(
105 IN PDEVICE_OBJECT DeviceObject);