OLD | NEW |
| (Empty) |
1 // Copyright 2015 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 module device.usb; | |
6 | |
7 enum TransferDirection { | |
8 IN, | |
9 OUT, | |
10 }; | |
11 | |
12 enum EndpointType { | |
13 BULK, | |
14 INTERRUPT, | |
15 ISOCHRONOUS, | |
16 }; | |
17 | |
18 struct EndpointInfo { | |
19 uint8 endpoint_number; | |
20 TransferDirection direction; | |
21 EndpointType type; | |
22 uint32 packet_size; | |
23 }; | |
24 | |
25 struct AlternateInterfaceInfo { | |
26 uint8 alternate_setting; | |
27 uint8 class_code; | |
28 uint8 subclass_code; | |
29 uint8 protocol_code; | |
30 string? interface_name; | |
31 array<EndpointInfo> endpoints; | |
32 }; | |
33 | |
34 struct InterfaceInfo { | |
35 uint8 interface_number; | |
36 array<AlternateInterfaceInfo> alternates; | |
37 }; | |
38 | |
39 struct ConfigurationInfo { | |
40 uint8 configuration_value; | |
41 string? configuration; | |
42 array<InterfaceInfo> interfaces; | |
43 }; | |
44 | |
45 struct DeviceInfo { | |
46 uint16 usb_version; | |
47 uint8 class_code; | |
48 uint8 subclass_code; | |
49 uint8 protocol_code; | |
50 uint16 vendor_id; | |
51 uint16 product_id; | |
52 uint16 device_version; | |
53 string? manufacturer; | |
54 string? product; | |
55 string? serial_number; | |
56 array<ConfigurationInfo> configurations; | |
57 }; | |
58 | |
59 interface Device { | |
60 GetDeviceInfo() => (DeviceInfo info); | |
61 }; | |
OLD | NEW |