3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
24 /* Created by Casper S. Hornstrup <chorns@users.sourceforge.net> */
27 #pragma GCC system_header
31 * USB IOCTL definitions
40 DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
41 0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
43 DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
44 0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
46 DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
47 0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
49 DEFINE_GUID(GUID_USB_WMI_STD_DATA,
50 0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
52 DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
53 0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
55 #define GUID_CLASS_USBHUB GUID_DEVINTERFACE_USB_HUB
56 #define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE
57 #define GUID_CLASS_USB_HOST_CONTROLLER GUID_DEVINTERFACE_USB_HOST_CONTROLLER
59 #define USB_SUBMIT_URB 0
60 #define USB_RESET_PORT 1
61 #define USB_GET_ROOTHUB_PDO 3
62 #define USB_GET_PORT_STATUS 4
63 #define USB_ENABLE_PORT 5
64 #define USB_GET_HUB_COUNT 6
65 #define USB_CYCLE_PORT 7
66 #define USB_GET_HUB_NAME 8
67 #define USB_IDLE_NOTIFICATION 9
68 #define USB_GET_BUS_INFO 264
69 #define USB_GET_CONTROLLER_NAME 265
70 #define USB_GET_BUSGUID_INFO 266
71 #define USB_GET_PARENT_HUB_INFO 267
72 #define USB_GET_DEVICE_HANDLE 268
74 #define HCD_GET_STATS_1 255
75 #define HCD_DIAGNOSTIC_MODE_ON 256
76 #define HCD_DIAGNOSTIC_MODE_OFF 257
77 #define HCD_GET_ROOT_HUB_NAME 258
78 #define HCD_GET_DRIVERKEY_NAME 265
79 #define HCD_GET_STATS_2 266
80 #define HCD_DISABLE_PORT 268
81 #define HCD_ENABLE_PORT 269
82 #define HCD_USER_REQUEST 270
84 #define USB_GET_NODE_INFORMATION 258
85 #define USB_GET_NODE_CONNECTION_INFORMATION 259
86 #define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260
87 #define USB_GET_NODE_CONNECTION_NAME 261
88 #define USB_DIAG_IGNORE_HUBS_ON 262
89 #define USB_DIAG_IGNORE_HUBS_OFF 263
90 #define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME 264
91 #define USB_GET_HUB_CAPABILITIES 271
92 #define USB_GET_NODE_CONNECTION_ATTRIBUTES 272
94 #define FILE_DEVICE_USB FILE_DEVICE_UNKNOWN
96 #define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
101 #define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
110 #endif /* __USBIODEF_H */