OSDN Git Service

9c2959e24dd31f14acbaa3a61c84677f67508018
[mingw/mingw-org-wsl.git] / w32api / include / ddk / usbiodef.h
1 /*
2  * usbiodef.h
3  *
4  * USB IOCTL definitions
5  *
6  * This file is part of the w32api package.
7  *
8  * Contributors:
9  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10  *
11  * THIS SOFTWARE IS NOT COPYRIGHTED
12  *
13  * This source code is offered for use in the public domain. You may
14  * use, modify or distribute it freely.
15  *
16  * This code is distributed in the hope that it will be useful but
17  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18  * DISCLAIMED. This includes but is not limited to warranties of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20  *
21  */
22
23 #ifndef __USBIODEF_H
24 #define __USBIODEF_H
25
26 #if __GNUC__ >=3
27 #pragma GCC system_header
28 #endif
29
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33
34 #include "ntddk.h"
35
36 DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
37   0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
38
39 DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
40   0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
41
42 DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
43   0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
44
45 DEFINE_GUID(GUID_USB_WMI_STD_DATA,
46   0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
47
48 DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
49   0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
50
51 #define GUID_CLASS_USBHUB                 GUID_DEVINTERFACE_USB_HUB
52 #define GUID_CLASS_USB_DEVICE             GUID_DEVINTERFACE_USB_DEVICE
53 #define GUID_CLASS_USB_HOST_CONTROLLER    GUID_DEVINTERFACE_USB_HOST_CONTROLLER
54
55 #define USB_SUBMIT_URB                    0
56 #define USB_RESET_PORT                    1
57 #define USB_GET_ROOTHUB_PDO               3
58 #define USB_GET_PORT_STATUS               4
59 #define USB_ENABLE_PORT                   5
60 #define USB_GET_HUB_COUNT                 6
61 #define USB_CYCLE_PORT                    7
62 #define USB_GET_HUB_NAME                  8
63 #define USB_IDLE_NOTIFICATION             9
64 #define USB_GET_BUS_INFO                  264
65 #define USB_GET_CONTROLLER_NAME           265
66 #define USB_GET_BUSGUID_INFO              266
67 #define USB_GET_PARENT_HUB_INFO           267
68 #define USB_GET_DEVICE_HANDLE             268
69
70 #define HCD_GET_STATS_1                   255
71 #define HCD_DIAGNOSTIC_MODE_ON            256
72 #define HCD_DIAGNOSTIC_MODE_OFF           257
73 #define HCD_GET_ROOT_HUB_NAME             258
74 #define HCD_GET_DRIVERKEY_NAME            265
75 #define HCD_GET_STATS_2                   266
76 #define HCD_DISABLE_PORT                  268
77 #define HCD_ENABLE_PORT                   269
78 #define HCD_USER_REQUEST                  270
79
80 #define USB_GET_NODE_INFORMATION                258
81 #define USB_GET_NODE_CONNECTION_INFORMATION     259
82 #define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260
83 #define USB_GET_NODE_CONNECTION_NAME            261
84 #define USB_DIAG_IGNORE_HUBS_ON                 262
85 #define USB_DIAG_IGNORE_HUBS_OFF                263
86 #define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME  264
87 #define USB_GET_HUB_CAPABILITIES                271
88 #define USB_GET_NODE_CONNECTION_ATTRIBUTES      272
89
90 #define FILE_DEVICE_USB                   FILE_DEVICE_UNKNOWN
91
92 #define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
93                                                                                                                  (id), \
94                                                                                                                  METHOD_BUFFERED, \
95                                                                                                                  FILE_ANY_ACCESS)
96
97 #define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
98                                     (id), \
99                                     METHOD_NEITHER, \
100                                     FILE_ANY_ACCESS)
101
102 #ifdef __cplusplus
103 }
104 #endif
105
106 #endif /* __USBIODEF_H */