24 #ifndef __GNU_EXTENSION 26 #define __GNU_EXTENSION __extension__ 28 #define __GNU_EXTENSION 47 #define USB_PORT_STATUS_CONNECT 0x0001 48 #define USB_PORT_STATUS_ENABLE 0x0002 49 #define USB_PORT_STATUS_SUSPEND 0x0004 50 #define USB_PORT_STATUS_OVER_CURRENT 0x0008 51 #define USB_PORT_STATUS_RESET 0x0010 52 #define USB_PORT_STATUS_POWER 0x0100 53 #define USB_PORT_STATUS_LOW_SPEED 0x0200 54 #define USB_PORT_STATUS_HIGH_SPEED 0x0400 93 #define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06 94 #define USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE 0x07 117 #define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B 151 #define USB_PORT_STATUS_CONNECT 0x0001 152 #define USB_PORT_STATUS_ENABLE 0x0002 153 #define USB_PORT_STATUS_SUSPEND 0x0004 154 #define USB_PORT_STATUS_OVER_CURRENT 0x0008 155 #define USB_PORT_STATUS_RESET 0x0010 156 #define USB_PORT_STATUS_POWER 0x0100 157 #define USB_PORT_STATUS_LOW_SPEED 0x0200 158 #define USB_PORT_STATUS_HIGH_SPEED 0x0400 191 #define PORT_LINK_STATE_U0 0 192 #define PORT_LINK_STATE_U1 1 193 #define PORT_LINK_STATE_U2 2 194 #define PORT_LINK_STATE_U3 3 195 #define PORT_LINK_STATE_DISABLED 4 196 #define PORT_LINK_STATE_RX_DETECT 5 197 #define PORT_LINK_STATE_INACTIVE 6 198 #define PORT_LINK_STATE_POLLING 7 199 #define PORT_LINK_STATE_RECOVERY 8 200 #define PORT_LINK_STATE_HOT_RESET 9 201 #define PORT_LINK_STATE_COMPLIANCE_MODE 10 202 #define PORT_LINK_STATE_LOOPBACK 11 203 #define PORT_LINK_STATE_TEST_MODE 11 // xHCI-specific, replacing LOOPBACK 279 #define USB_20_HUB_DESCRIPTOR_TYPE 0x29 280 #define USB_30_HUB_DESCRIPTOR_TYPE 0x2A 282 #define USB_REQUEST_CLEAR_TT_BUFFER 0x08 283 #define USB_REQUEST_RESET_TT 0x09 284 #define USB_REQUEST_GET_TT_STATE 0x0A 285 #define USB_REQUEST_STOP_TT 0x0B 287 #define USB_REQUEST_SET_HUB_DEPTH 0x0C 288 #define USB_REQUEST_GET_PORT_ERR_COUNT 0x0D 290 #define USB_DEVICE_CLASS_RESERVED 0x00 291 #define USB_DEVICE_CLASS_AUDIO 0x01 292 #define USB_DEVICE_CLASS_COMMUNICATIONS 0x02 293 #define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03 294 #define USB_DEVICE_CLASS_MONITOR 0x04 295 #define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05 296 #define USB_DEVICE_CLASS_POWER 0x06 297 #define USB_DEVICE_CLASS_IMAGE 0x06 298 #define USB_DEVICE_CLASS_PRINTER 0x07 299 #define USB_DEVICE_CLASS_STORAGE 0x08 300 #define USB_DEVICE_CLASS_HUB 0x09 301 #define USB_DEVICE_CLASS_CDC_DATA 0x0A 302 #define USB_DEVICE_CLASS_SMART_CARD 0x0B 303 #define USB_DEVICE_CLASS_CONTENT_SECURITY 0x0D 304 #define USB_DEVICE_CLASS_VIDEO 0x0E 305 #define USB_DEVICE_CLASS_PERSONAL_HEALTHCARE 0x0F 306 #define USB_DEVICE_CLASS_AUDIO_VIDEO 0x10 307 #define USB_DEVICE_CLASS_BILLBOARD 0x11 308 #define USB_DEVICE_CLASS_DIAGNOSTIC_DEVICE 0xDC 309 #define USB_DEVICE_CLASS_WIRELESS_CONTROLLER 0xE0 310 #define USB_DEVICE_CLASS_MISCELLANEOUS 0xEF 311 #define USB_DEVICE_CLASS_APPLICATION_SPECIFIC 0xFE 312 #define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF enum _USB_DEVICE_TYPE USB_DEVICE_TYPE
USB_20_PORT_STATUS Usb20PortStatus
struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR USB_INTERFACE_ASSOCIATION_DESCRIPTOR
union _USB_PORT_STATUS_AND_CHANGE * PUSB_PORT_STATUS_AND_CHANGE
C_ASSERT(sizeof(USB_DEFAULT_PIPE_SETUP_PACKET)==8)
union _USB_20_PORT_STATUS USB_20_PORT_STATUS
USHORT CurrentConnectStatus
union _BM_REQUEST_TYPE * PBM_REQUEST_TYPE
USHORT CurrentConnectStatus
USHORT PortConfigErrorChange
union _USB_HUB_STATUS_AND_CHANGE USB_HUB_STATUS_AND_CHANGE
union _USB_HIGH_SPEED_MAXPACKET USB_HIGH_SPEED_MAXPACKET
USHORT NegotiatedDeviceSpeed
USHORT HighSpeedDeviceAttached
union _USB_20_PORT_CHANGE USB_20_PORT_CHANGE
union _USB_HIGH_SPEED_MAXPACKET * PUSB_HIGH_SPEED_MAXPACKET
union _USB_PORT_STATUS_AND_CHANGE USB_PORT_STATUS_AND_CHANGE
union _USB_PORT_STATUS * PUSB_PORT_STATUS
union _USB_30_PORT_STATUS * PUSB_30_PORT_STATUS
union _USB_HUB_STATUS * PUSB_HUB_STATUS
union _USB_30_PORT_CHANGE USB_30_PORT_CHANGE
struct _USB_DEVICE_QUALIFIER_DESCRIPTOR * PUSB_DEVICE_QUALIFIER_DESCRIPTOR
union _USB_20_PORT_STATUS * PUSB_20_PORT_STATUS
USB_30_PORT_CHANGE Usb30PortChange
union _USB_PORT_CHANGE USB_PORT_CHANGE
USB_30_PORT_STATUS Usb30PortStatus
union _USB_HUB_STATUS_AND_CHANGE * PUSB_HUB_STATUS_AND_CHANGE
USHORT PortEnableDisableChange
union _USB_HUB_CHANGE USB_HUB_CHANGE
union _USB_PORT_CHANGE * PUSB_PORT_CHANGE
struct _USB_DEVICE_QUALIFIER_DESCRIPTOR USB_DEVICE_QUALIFIER_DESCRIPTOR
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
USHORT PortLinkStateChange
USB_PORT_CHANGE PortChange
struct _USB_DEFAULT_PIPE_SETUP_PACKET USB_DEFAULT_PIPE_SETUP_PACKET
USHORT ConnectStatusChange
USB_20_PORT_CHANGE Usb20PortChange
USHORT PortEnabledDisabled
USHORT LowSpeedDeviceAttached
union _BM_REQUEST_TYPE BM_REQUEST_TYPE
USHORT PortEnabledDisabled
USHORT PortIndicatorControl
union _USB_30_PORT_CHANGE * PUSB_30_PORT_CHANGE
struct _USB_DEFAULT_PIPE_SETUP_PACKET * PUSB_DEFAULT_PIPE_SETUP_PACKET
union _USB_30_PORT_STATUS USB_30_PORT_STATUS
struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR * PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR
USHORT ConnectStatusChange
USHORT OverCurrentIndicatorChange
USB_PORT_STATUS PortStatus
union _USB_PORT_STATUS USB_PORT_STATUS
BM_REQUEST_TYPE bmRequestType
union _USB_HUB_CHANGE * PUSB_HUB_CHANGE
union _USB_20_PORT_CHANGE * PUSB_20_PORT_CHANGE
union _USB_HUB_STATUS USB_HUB_STATUS
USHORT OverCurrentIndicatorChange