Naveen Neel / shedskin
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers usbiodef.h Source File

usbiodef.h

00001 /*
00002  * usbiodef.h
00003  *
00004  * USB IOCTL definitions
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef __USBIODEF_H
00024 #define __USBIODEF_H
00025 
00026 #if __GNUC__ >=3
00027 #pragma GCC system_header
00028 #endif
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034 #include "ntddk.h"
00035 
00036 DEFINE_GUID(GUID_DEVINTERFACE_USB_HUB, \
00037   0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8);
00038 
00039 DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE,
00040   0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
00041 
00042 DEFINE_GUID(GUID_DEVINTERFACE_USB_HOST_CONTROLLER,
00043   0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27);
00044              
00045 DEFINE_GUID(GUID_USB_WMI_STD_DATA,
00046   0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);
00047 
00048 DEFINE_GUID(GUID_USB_WMI_STD_NOTIFICATION,
00049   0x4E623B20L, 0xCB14, 0x11D1, 0xB3, 0x31, 0x00, 0xA0, 0xC9, 0x59, 0xBB, 0xD2);        
00050 
00051 #define GUID_CLASS_USBHUB                 GUID_DEVINTERFACE_USB_HUB
00052 #define GUID_CLASS_USB_DEVICE             GUID_DEVINTERFACE_USB_DEVICE
00053 #define GUID_CLASS_USB_HOST_CONTROLLER    GUID_DEVINTERFACE_USB_HOST_CONTROLLER
00054 
00055 #define USB_SUBMIT_URB                    0
00056 #define USB_RESET_PORT                    1
00057 #define USB_GET_ROOTHUB_PDO               3
00058 #define USB_GET_PORT_STATUS               4
00059 #define USB_ENABLE_PORT                   5
00060 #define USB_GET_HUB_COUNT                 6
00061 #define USB_CYCLE_PORT                    7
00062 #define USB_GET_HUB_NAME                  8
00063 #define USB_IDLE_NOTIFICATION             9
00064 #define USB_GET_BUS_INFO                  264
00065 #define USB_GET_CONTROLLER_NAME           265
00066 #define USB_GET_BUSGUID_INFO              266
00067 #define USB_GET_PARENT_HUB_INFO           267
00068 #define USB_GET_DEVICE_HANDLE             268
00069 
00070 #define HCD_GET_STATS_1                   255
00071 #define HCD_DIAGNOSTIC_MODE_ON            256
00072 #define HCD_DIAGNOSTIC_MODE_OFF           257
00073 #define HCD_GET_ROOT_HUB_NAME             258
00074 #define HCD_GET_DRIVERKEY_NAME            265
00075 #define HCD_GET_STATS_2                   266
00076 #define HCD_DISABLE_PORT                  268
00077 #define HCD_ENABLE_PORT                   269
00078 #define HCD_USER_REQUEST                  270
00079 
00080 #define USB_GET_NODE_INFORMATION                258
00081 #define USB_GET_NODE_CONNECTION_INFORMATION     259
00082 #define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260
00083 #define USB_GET_NODE_CONNECTION_NAME            261
00084 #define USB_DIAG_IGNORE_HUBS_ON                 262
00085 #define USB_DIAG_IGNORE_HUBS_OFF                263
00086 #define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME  264
00087 #define USB_GET_HUB_CAPABILITIES                271
00088 #define USB_GET_NODE_CONNECTION_ATTRIBUTES      272
00089 
00090 #define FILE_DEVICE_USB                   FILE_DEVICE_UNKNOWN
00091 
00092 #define USB_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
00093                                                          (id), \
00094                                                          METHOD_BUFFERED, \
00095                                                          FILE_ANY_ACCESS)
00096 
00097 #define USB_KERNEL_CTL(id) CTL_CODE(FILE_DEVICE_USB, \
00098                                     (id), \
00099                                     METHOD_NEITHER, \
00100                                     FILE_ANY_ACCESS)
00101 
00102 #ifdef __cplusplus
00103 }
00104 #endif
00105 
00106 #endif /* __USBIODEF_H */