9 typedef enum _USB_DEVICE_TYPE
15 typedef enum _USB_DEVICE_SPEED
22 typedef union _BM_REQUEST_TYPE
32 } BM_REQUEST_TYPE
, *PBM_REQUEST_TYPE
;
34 typedef struct _USB_DEFAULT_PIPE_SETUP_PACKET
36 BM_REQUEST_TYPE bmRequestType
;
57 } USB_DEFAULT_PIPE_SETUP_PACKET
, *PUSB_DEFAULT_PIPE_SETUP_PACKET
;
60 C_ASSERT(sizeof(USB_DEFAULT_PIPE_SETUP_PACKET
) == 8);
62 typedef struct _USB_DEVICE_QUALIFIER_DESCRIPTOR
65 UCHAR bDescriptorType
;
68 UCHAR bDeviceSubClass
;
69 UCHAR bDeviceProtocol
;
70 UCHAR bMaxPacketSize0
;
71 UCHAR bNumConfigurations
;
73 } USB_DEVICE_QUALIFIER_DESCRIPTOR
, *PUSB_DEVICE_QUALIFIER_DESCRIPTOR
;
76 typedef union _USB_HIGH_SPEED_MAXPACKET
85 } USB_HIGH_SPEED_MAXPACKET
, *PUSB_HIGH_SPEED_MAXPACKET
;
87 typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR
90 UCHAR bDescriptorType
;
91 UCHAR bFirstInterface
;
92 UCHAR bInterfaceCount
;
94 UCHAR bFunctionSubClass
;
95 UCHAR bFunctionProtocol
;
97 } USB_INTERFACE_ASSOCIATION_DESCRIPTOR
, *PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR
;
99 #define USB_PORT_STATUS_CONNECT 0x0001
100 #define USB_PORT_STATUS_ENABLE 0x0002
101 #define USB_PORT_STATUS_SUSPEND 0x0004
102 #define USB_PORT_STATUS_OVER_CURRENT 0x0008
103 #define USB_PORT_STATUS_RESET 0x0010
104 #define USB_PORT_STATUS_POWER 0x0100
105 #define USB_PORT_STATUS_LOW_SPEED 0x0200
106 #define USB_PORT_STATUS_HIGH_SPEED 0x0400
107 #define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06
108 #define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0B
112 #endif //__USB200_H__