Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef __LINUX_USB_CH9_H
     20 #define __LINUX_USB_CH9_H
     21 #include <linux/types.h>
     22 #define USB_DIR_OUT 0
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define USB_DIR_IN 0x80
     25 #define USB_TYPE_MASK (0x03 << 5)
     26 #define USB_TYPE_STANDARD (0x00 << 5)
     27 #define USB_TYPE_CLASS (0x01 << 5)
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define USB_TYPE_VENDOR (0x02 << 5)
     30 #define USB_TYPE_RESERVED (0x03 << 5)
     31 #define USB_RECIP_MASK 0x1f
     32 #define USB_RECIP_DEVICE 0x00
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define USB_RECIP_INTERFACE 0x01
     35 #define USB_RECIP_ENDPOINT 0x02
     36 #define USB_RECIP_OTHER 0x03
     37 #define USB_RECIP_PORT 0x04
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define USB_RECIP_RPIPE 0x05
     40 #define USB_REQ_GET_STATUS 0x00
     41 #define USB_REQ_CLEAR_FEATURE 0x01
     42 #define USB_REQ_SET_FEATURE 0x03
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define USB_REQ_SET_ADDRESS 0x05
     45 #define USB_REQ_GET_DESCRIPTOR 0x06
     46 #define USB_REQ_SET_DESCRIPTOR 0x07
     47 #define USB_REQ_GET_CONFIGURATION 0x08
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define USB_REQ_SET_CONFIGURATION 0x09
     50 #define USB_REQ_GET_INTERFACE 0x0A
     51 #define USB_REQ_SET_INTERFACE 0x0B
     52 #define USB_REQ_SYNCH_FRAME 0x0C
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define USB_REQ_SET_ENCRYPTION 0x0D
     55 #define USB_REQ_GET_ENCRYPTION 0x0E
     56 #define USB_REQ_RPIPE_ABORT 0x0E
     57 #define USB_REQ_SET_HANDSHAKE 0x0F
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define USB_REQ_RPIPE_RESET 0x0F
     60 #define USB_REQ_GET_HANDSHAKE 0x10
     61 #define USB_REQ_SET_CONNECTION 0x11
     62 #define USB_REQ_SET_SECURITY_DATA 0x12
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define USB_REQ_GET_SECURITY_DATA 0x13
     65 #define USB_REQ_SET_WUSB_DATA 0x14
     66 #define USB_REQ_LOOPBACK_DATA_WRITE 0x15
     67 #define USB_REQ_LOOPBACK_DATA_READ 0x16
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define USB_REQ_SET_INTERFACE_DS 0x17
     70 #define USB_DEVICE_SELF_POWERED 0
     71 #define USB_DEVICE_REMOTE_WAKEUP 1
     72 #define USB_DEVICE_TEST_MODE 2
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define USB_DEVICE_BATTERY 2
     75 #define USB_DEVICE_B_HNP_ENABLE 3
     76 #define USB_DEVICE_WUSB_DEVICE 3
     77 #define USB_DEVICE_A_HNP_SUPPORT 4
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define USB_DEVICE_A_ALT_HNP_SUPPORT 5
     80 #define USB_DEVICE_DEBUG_MODE 6
     81 #define USB_ENDPOINT_HALT 0
     82 struct usb_ctrlrequest {
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  __u8 bRequestType;
     85  __u8 bRequest;
     86  __le16 wValue;
     87  __le16 wIndex;
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  __le16 wLength;
     90 } __attribute__ ((packed));
     91 #define USB_DT_DEVICE 0x01
     92 #define USB_DT_CONFIG 0x02
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define USB_DT_STRING 0x03
     95 #define USB_DT_INTERFACE 0x04
     96 #define USB_DT_ENDPOINT 0x05
     97 #define USB_DT_DEVICE_QUALIFIER 0x06
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define USB_DT_OTHER_SPEED_CONFIG 0x07
    100 #define USB_DT_INTERFACE_POWER 0x08
    101 #define USB_DT_OTG 0x09
    102 #define USB_DT_DEBUG 0x0a
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 #define USB_DT_INTERFACE_ASSOCIATION 0x0b
    105 #define USB_DT_SECURITY 0x0c
    106 #define USB_DT_KEY 0x0d
    107 #define USB_DT_ENCRYPTION_TYPE 0x0e
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 #define USB_DT_BOS 0x0f
    110 #define USB_DT_DEVICE_CAPABILITY 0x10
    111 #define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
    112 #define USB_DT_WIRE_ADAPTER 0x21
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define USB_DT_RPIPE 0x22
    115 #define USB_DT_CS_DEVICE 0x21
    116 #define USB_DT_CS_CONFIG 0x22
    117 #define USB_DT_CS_STRING 0x23
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define USB_DT_CS_INTERFACE 0x24
    120 #define USB_DT_CS_ENDPOINT 0x25
    121 struct usb_descriptor_header {
    122  __u8 bLength;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  __u8 bDescriptorType;
    125 } __attribute__ ((packed));
    126 struct usb_device_descriptor {
    127  __u8 bLength;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  __u8 bDescriptorType;
    130  __le16 bcdUSB;
    131  __u8 bDeviceClass;
    132  __u8 bDeviceSubClass;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  __u8 bDeviceProtocol;
    135  __u8 bMaxPacketSize0;
    136  __le16 idVendor;
    137  __le16 idProduct;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  __le16 bcdDevice;
    140  __u8 iManufacturer;
    141  __u8 iProduct;
    142  __u8 iSerialNumber;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144  __u8 bNumConfigurations;
    145 } __attribute__ ((packed));
    146 #define USB_DT_DEVICE_SIZE 18
    147 #define USB_CLASS_PER_INTERFACE 0
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 #define USB_CLASS_AUDIO 1
    150 #define USB_CLASS_COMM 2
    151 #define USB_CLASS_HID 3
    152 #define USB_CLASS_PHYSICAL 5
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define USB_CLASS_STILL_IMAGE 6
    155 #define USB_CLASS_PRINTER 7
    156 #define USB_CLASS_MASS_STORAGE 8
    157 #define USB_CLASS_HUB 9
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 #define USB_CLASS_CDC_DATA 0x0a
    160 #define USB_CLASS_CSCID 0x0b
    161 #define USB_CLASS_CONTENT_SEC 0x0d
    162 #define USB_CLASS_VIDEO 0x0e
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define USB_CLASS_WIRELESS_CONTROLLER 0xe0
    165 #define USB_CLASS_APP_SPEC 0xfe
    166 #define USB_CLASS_VENDOR_SPEC 0xff
    167 struct usb_config_descriptor {
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169  __u8 bLength;
    170  __u8 bDescriptorType;
    171  __le16 wTotalLength;
    172  __u8 bNumInterfaces;
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174  __u8 bConfigurationValue;
    175  __u8 iConfiguration;
    176  __u8 bmAttributes;
    177  __u8 bMaxPower;
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 } __attribute__ ((packed));
    180 #define USB_DT_CONFIG_SIZE 9
    181 #define USB_CONFIG_ATT_ONE (1 << 7)
    182 #define USB_CONFIG_ATT_SELFPOWER (1 << 6)
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define USB_CONFIG_ATT_WAKEUP (1 << 5)
    185 #define USB_CONFIG_ATT_BATTERY (1 << 4)
    186 struct usb_string_descriptor {
    187  __u8 bLength;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189  __u8 bDescriptorType;
    190  __le16 wData[1];
    191 } __attribute__ ((packed));
    192 struct usb_interface_descriptor {
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194  __u8 bLength;
    195  __u8 bDescriptorType;
    196  __u8 bInterfaceNumber;
    197  __u8 bAlternateSetting;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199  __u8 bNumEndpoints;
    200  __u8 bInterfaceClass;
    201  __u8 bInterfaceSubClass;
    202  __u8 bInterfaceProtocol;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204  __u8 iInterface;
    205 } __attribute__ ((packed));
    206 #define USB_DT_INTERFACE_SIZE 9
    207 struct usb_endpoint_descriptor {
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  __u8 bLength;
    210  __u8 bDescriptorType;
    211  __u8 bEndpointAddress;
    212  __u8 bmAttributes;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214  __le16 wMaxPacketSize;
    215  __u8 bInterval;
    216  __u8 bRefresh;
    217  __u8 bSynchAddress;
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 } __attribute__ ((packed));
    220 #define USB_DT_ENDPOINT_SIZE 7
    221 #define USB_DT_ENDPOINT_AUDIO_SIZE 9
    222 #define USB_ENDPOINT_NUMBER_MASK 0x0f
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define USB_ENDPOINT_DIR_MASK 0x80
    225 #define USB_ENDPOINT_XFERTYPE_MASK 0x03
    226 #define USB_ENDPOINT_XFER_CONTROL 0
    227 #define USB_ENDPOINT_XFER_ISOC 1
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 #define USB_ENDPOINT_XFER_BULK 2
    230 #define USB_ENDPOINT_XFER_INT 3
    231 #define USB_ENDPOINT_MAX_ADJUSTABLE 0x80
    232 struct usb_qualifier_descriptor {
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234  __u8 bLength;
    235  __u8 bDescriptorType;
    236  __le16 bcdUSB;
    237  __u8 bDeviceClass;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239  __u8 bDeviceSubClass;
    240  __u8 bDeviceProtocol;
    241  __u8 bMaxPacketSize0;
    242  __u8 bNumConfigurations;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244  __u8 bRESERVED;
    245 } __attribute__ ((packed));
    246 struct usb_otg_descriptor {
    247  __u8 bLength;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  __u8 bDescriptorType;
    250  __u8 bmAttributes;
    251 } __attribute__ ((packed));
    252 #define USB_OTG_SRP (1 << 0)
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254 #define USB_OTG_HNP (1 << 1)
    255 struct usb_debug_descriptor {
    256  __u8 bLength;
    257  __u8 bDescriptorType;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  __u8 bDebugInEndpoint;
    260  __u8 bDebugOutEndpoint;
    261 };
    262 struct usb_interface_assoc_descriptor {
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264  __u8 bLength;
    265  __u8 bDescriptorType;
    266  __u8 bFirstInterface;
    267  __u8 bInterfaceCount;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  __u8 bFunctionClass;
    270  __u8 bFunctionSubClass;
    271  __u8 bFunctionProtocol;
    272  __u8 iFunction;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 } __attribute__ ((packed));
    275 struct usb_security_descriptor {
    276  __u8 bLength;
    277  __u8 bDescriptorType;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  __le16 wTotalLength;
    280  __u8 bNumEncryptionTypes;
    281 };
    282 struct usb_key_descriptor {
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  __u8 bLength;
    285  __u8 bDescriptorType;
    286  __u8 tTKID[3];
    287  __u8 bReserved;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  __u8 bKeyData[0];
    290 };
    291 struct usb_encryption_descriptor {
    292  __u8 bLength;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  __u8 bDescriptorType;
    295  __u8 bEncryptionType;
    296 #define USB_ENC_TYPE_UNSECURE 0
    297 #define USB_ENC_TYPE_WIRED 1
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299 #define USB_ENC_TYPE_CCM_1 2
    300 #define USB_ENC_TYPE_RSA_1 3
    301  __u8 bEncryptionValue;
    302  __u8 bAuthKeyIndex;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 };
    305 struct usb_bos_descriptor {
    306  __u8 bLength;
    307  __u8 bDescriptorType;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309  __le16 wTotalLength;
    310  __u8 bNumDeviceCaps;
    311 };
    312 struct usb_dev_cap_header {
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  __u8 bLength;
    315  __u8 bDescriptorType;
    316  __u8 bDevCapabilityType;
    317 };
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319 #define USB_CAP_TYPE_WIRELESS_USB 1
    320 struct usb_wireless_cap_descriptor {
    321  __u8 bLength;
    322  __u8 bDescriptorType;
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  __u8 bDevCapabilityType;
    325  __u8 bmAttributes;
    326 #define USB_WIRELESS_P2P_DRD (1 << 1)
    327 #define USB_WIRELESS_BEACON_MASK (3 << 2)
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329 #define USB_WIRELESS_BEACON_SELF (1 << 2)
    330 #define USB_WIRELESS_BEACON_DIRECTED (2 << 2)
    331 #define USB_WIRELESS_BEACON_NONE (3 << 2)
    332  __le16 wPHYRates;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334 #define USB_WIRELESS_PHY_53 (1 << 0)
    335 #define USB_WIRELESS_PHY_80 (1 << 1)
    336 #define USB_WIRELESS_PHY_107 (1 << 2)
    337 #define USB_WIRELESS_PHY_160 (1 << 3)
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339 #define USB_WIRELESS_PHY_200 (1 << 4)
    340 #define USB_WIRELESS_PHY_320 (1 << 5)
    341 #define USB_WIRELESS_PHY_400 (1 << 6)
    342 #define USB_WIRELESS_PHY_480 (1 << 7)
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  __u8 bmTFITXPowerInfo;
    345  __u8 bmFFITXPowerInfo;
    346  __le16 bmBandGroup;
    347  __u8 bReserved;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349 };
    350 struct usb_wireless_ep_comp_descriptor {
    351  __u8 bLength;
    352  __u8 bDescriptorType;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  __u8 bMaxBurst;
    355  __u8 bMaxSequence;
    356  __le16 wMaxStreamDelay;
    357  __le16 wOverTheAirPacketSize;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  __u8 bOverTheAirInterval;
    360  __u8 bmCompAttributes;
    361 #define USB_ENDPOINT_SWITCH_MASK 0x03
    362 #define USB_ENDPOINT_SWITCH_NO 0
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364 #define USB_ENDPOINT_SWITCH_SWITCH 1
    365 #define USB_ENDPOINT_SWITCH_SCALE 2
    366 };
    367 struct usb_handshake {
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  __u8 bMessageNumber;
    370  __u8 bStatus;
    371  __u8 tTKID[3];
    372  __u8 bReserved;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  __u8 CDID[16];
    375  __u8 nonce[16];
    376  __u8 MIC[8];
    377 };
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 struct usb_connection_context {
    380  __u8 CHID[16];
    381  __u8 CDID[16];
    382  __u8 CK[16];
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384 };
    385 enum usb_device_speed {
    386  USB_SPEED_UNKNOWN = 0,
    387  USB_SPEED_LOW, USB_SPEED_FULL,
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  USB_SPEED_HIGH,
    390  USB_SPEED_VARIABLE,
    391 };
    392 enum usb_device_state {
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  USB_STATE_NOTATTACHED = 0,
    395  USB_STATE_ATTACHED,
    396  USB_STATE_POWERED,
    397  USB_STATE_UNAUTHENTICATED,
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  USB_STATE_RECONNECTING,
    400  USB_STATE_DEFAULT,
    401  USB_STATE_ADDRESS,
    402  USB_STATE_CONFIGURED,
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  USB_STATE_SUSPENDED
    405 };
    406 #endif
    407