OSDN Git Service

Insert removed author attribution.
[mingw/mingw-org-wsl.git] / include / ddk / usbiodef.h
1 /**
2  * @file usbiodef.h
3  * @copy 2012 MinGW.org project
4  *
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:
11  * 
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
14  * Software.
15  * 
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.
23  */
24 /* Created by Casper S. Hornstrup <chorns@users.sourceforge.net> */
25 #ifndef __USBIODEF_H
26 #define __USBIODEF_H
27 #pragma GCC system_header
28 #include <_mingw.h>
29
30 /*
31  * USB IOCTL definitions
32  */
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 #include "ntddk.h"
39
40 DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
41   0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
42
43 DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
44   0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
45
46 DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
47   0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
48              
49 DEFINE_GUID(GUID_USB_WMI_STD_DATA,
50   0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
51
52 DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
53   0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);        
54
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
58
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
73
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
83
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
93
94 #define FILE_DEVICE_USB                   FILE_DEVICE_UNKNOWN
95
96 #define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
97                                                                                                                  (id), \
98                                                                                                                  METHOD_BUFFERED, \
99                                                                                                                  FILE_ANY_ACCESS)
100
101 #define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
102                                     (id), \
103                                     METHOD_NEITHER, \
104                                     FILE_ANY_ACCESS)
105
106 #ifdef __cplusplus
107 }
108 #endif
109
110 #endif /* __USBIODEF_H */