mfplat: Read queue subscriber within the critical section.
[wine/zf.git] / include / ddk / hidport.h
blob2c881c8792149dd2ce0acb46050fc228b7454271
1 /*
2 * Copyright (C) 2015 Aric Stewart
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __HIDPORT_H__
20 #define __HIDPORT_H__
22 #include <ddk/hidclass.h>
24 typedef struct _HID_MINIDRIVER_REGISTRATION
26 ULONG Revision;
27 PDRIVER_OBJECT DriverObject;
28 PUNICODE_STRING RegistryPath;
29 ULONG DeviceExtensionSize;
30 BOOLEAN DevicesArePolled;
31 UCHAR Reserved[3];
32 } HID_MINIDRIVER_REGISTRATION, *PHID_MINIDRIVER_REGISTRATION;
34 NTSTATUS WINAPI HidRegisterMinidriver(PHID_MINIDRIVER_REGISTRATION MinidriverRegistration);
36 typedef struct _HID_DEVICE_EXTENSION
38 PDEVICE_OBJECT PhysicalDeviceObject;
39 PDEVICE_OBJECT NextDeviceObject;
40 PVOID MiniDeviceExtension;
41 } HID_DEVICE_EXTENSION, *PHID_DEVICE_EXTENSION;
43 typedef struct _HID_DEVICE_ATTRIBUTES
45 ULONG Size;
46 USHORT VendorID;
47 USHORT ProductID;
48 USHORT VersionNumber;
49 USHORT Reserved[11];
50 } HID_DEVICE_ATTRIBUTES, *PHID_DEVICE_ATTRIBUTES;
52 #include <pshpack1.h>
53 typedef struct _HID_DESCRIPTOR
55 UCHAR bLength;
56 UCHAR bDescriptorType;
57 USHORT bcdHID;
58 UCHAR bCountry;
59 UCHAR bNumDescriptors;
60 struct _HID_DESCRIPTOR_DESC_LIST
62 UCHAR bReportType;
63 USHORT wReportLength;
64 } DescriptorList[1];
65 } HID_DESCRIPTOR, *PHID_DESCRIPTOR;
66 #include <poppack.h>
68 #define HID_HID_DESCRIPTOR_TYPE 0x21
69 #define HID_REPORT_DESCRIPTOR_TYPE 0x22
71 #define IOCTL_HID_GET_DEVICE_DESCRIPTOR HID_CTL_CODE(0)
72 #define IOCTL_HID_GET_REPORT_DESCRIPTOR HID_CTL_CODE(1)
73 #define IOCTL_HID_READ_REPORT HID_CTL_CODE(2)
74 #define IOCTL_HID_WRITE_REPORT HID_CTL_CODE(3)
75 #define IOCTL_HID_GET_STRING HID_CTL_CODE(4)
76 #define IOCTL_HID_ACTIVATE_DEVICE HID_CTL_CODE(7)
77 #define IOCTL_HID_DEACTIVATE_DEVICE HID_CTL_CODE(8)
78 #define IOCTL_HID_GET_DEVICE_ATTRIBUTES HID_CTL_CODE(9)
79 #define IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST HID_CTL_CODE(10)
81 #endif /* __HIDPORT_H__ */