1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5"""USB constant definitions. 6""" 7 8 9class DescriptorType(object): 10 """Descriptor Types. 11 12 See Universal Serial Bus Specification Revision 2.0 Table 9-5. 13 """ 14 DEVICE = 1 15 CONFIGURATION = 2 16 STRING = 3 17 INTERFACE = 4 18 ENDPOINT = 5 19 QUALIFIER = 6 20 OTHER_SPEED_CONFIGURATION = 7 21 22 23class DeviceClass(object): 24 """Class code. 25 26 See http://www.usb.org/developers/defined_class. 27 """ 28 PER_INTERFACE = 0 29 AUDIO = 1 30 COMM = 2 31 HID = 3 32 PHYSICAL = 5 33 STILL_IMAGE = 6 34 PRINTER = 7 35 MASS_STORAGE = 8 36 HUB = 9 37 CDC_DATA = 10 38 CSCID = 11 39 CONTENT_SEC = 13 40 VIDEO = 14 41 VENDOR = 0xFF 42 43 44class DeviceSubClass(object): 45 """Subclass code. 46 47 See http://www.usb.org/developers/defined_class. 48 """ 49 PER_INTERFACE = 0 50 VENDOR = 0xFF 51 52 53class DeviceProtocol(object): 54 """Protocol code. 55 56 See http://www.usb.org/developers/defined_class. 57 """ 58 PER_INTERFACE = 0 59 VENDOR = 0xFF 60 61 62class InterfaceClass(object): 63 """Class code. 64 65 See http://www.usb.org/developers/defined_class. 66 """ 67 VENDOR = 0xFF 68 69 70class InterfaceSubClass(object): 71 """Subclass code. 72 73 See http://www.usb.org/developers/defined_class. 74 """ 75 VENDOR = 0xFF 76 77 78class InterfaceProtocol(object): 79 """Protocol code. 80 81 See http://www.usb.org/developers/defined_class. 82 """ 83 VENDOR = 0xFF 84 85 86class TransferType(object): 87 """Transfer Type. 88 89 See http://www.usb.org/developers/defined_class. 90 """ 91 MASK = 3 92 CONTROL = 0 93 ISOCHRONOUS = 1 94 BULK = 2 95 INTERRUPT = 3 96 97 98class Dir(object): 99 """Data transfer direction. 100 101 See Universal Serial Bus Specification Revision 2.0 Table 9-2. 102 """ 103 OUT = 0 104 IN = 0x80 105 106 107class Type(object): 108 """Request Type. 109 110 See Universal Serial Bus Specification Revision 2.0 Table 9-2. 111 """ 112 MASK = 0x60 113 STANDARD = 0x00 114 CLASS = 0x20 115 VENDOR = 0x40 116 RESERVED = 0x60 117 118 119class Recipient(object): 120 """Request Recipient. 121 122 See Universal Serial Bus Specification Revision 2.0 Table 9-2. 123 """ 124 MASK = 0x1f 125 DEVICE = 0 126 INTERFACE = 1 127 ENDPOINT = 2 128 OTHER = 3 129 130 131class Request(object): 132 """Standard Request Codes. 133 134 See Universal Serial Bus Specification Revision 2.0 Table 9-4. 135 """ 136 GET_STATUS = 0x00 137 CLEAR_FEATURE = 0x01 138 SET_FEATURE = 0x03 139 SET_ADDRESS = 0x05 140 GET_DESCRIPTOR = 0x06 141 SET_DESCRIPTOR = 0x07 142 GET_CONFIGURATION = 0x08 143 SET_CONFIGURATION = 0x09 144 GET_INTERFACE = 0x0A 145 SET_INTERFACE = 0x0B 146 SYNCH_FRAME = 0x0C 147 SET_SEL = 0x30 148 SET_ISOCH_DELAY = 0x31 149 150 151class Speed(object): 152 UNKNOWN = 0 153 LOW = 1 154 FULL = 2 155 HIGH = 3 156 WIRELESS = 4 157 SUPER = 5 158 159 160class VendorID(object): 161 GOOGLE = 0x18D1 162 163 164class ProductID(object): 165 GOOGLE_TEST_GADGET = 0x58F0 166 GOOGLE_KEYBOARD_GADGET = 0x58F1 167 GOOGLE_MOUSE_GADGET = 0x58F2 168 GOOGLE_HID_ECHO_GADGET = 0x58F3 169 GOOGLE_ECHO_GADGET = 0x58F4 170