Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: device/usb/public/interfaces/device.mojom

Issue 2821723002: Move classes in the device.usb Mojo namespace to device.mojom (Closed)
Patch Set: mcasas@ nits Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 module device.usb; 5 module device.mojom;
6 6
7 enum OpenDeviceError { 7 enum UsbOpenDeviceError {
8 // Opening the device succeeded. 8 // Opening the device succeeded.
9 OK, 9 OK,
10 10
11 // The operating system denied access to the device. 11 // The operating system denied access to the device.
12 ACCESS_DENIED, 12 ACCESS_DENIED,
13 13
14 // The device is already open. 14 // The device is already open.
15 ALREADY_OPEN, 15 ALREADY_OPEN,
16 }; 16 };
17 17
18 enum TransferDirection { 18 enum UsbTransferDirection {
19 INBOUND, 19 INBOUND,
20 OUTBOUND, 20 OUTBOUND,
21 }; 21 };
22 22
23 enum ControlTransferType { 23 enum UsbControlTransferType {
24 STANDARD, 24 STANDARD,
25 CLASS, 25 CLASS,
26 VENDOR, 26 VENDOR,
27 RESERVED 27 RESERVED
28 }; 28 };
29 29
30 enum ControlTransferRecipient { 30 enum UsbControlTransferRecipient {
31 DEVICE, 31 DEVICE,
32 INTERFACE, 32 INTERFACE,
33 ENDPOINT, 33 ENDPOINT,
34 OTHER 34 OTHER
35 }; 35 };
36 36
37 enum EndpointType { 37 enum UsbEndpointType {
38 BULK, 38 BULK,
39 INTERRUPT, 39 INTERRUPT,
40 ISOCHRONOUS, 40 ISOCHRONOUS,
41 }; 41 };
42 42
43 struct EndpointInfo { 43 struct UsbEndpointInfo {
44 uint8 endpoint_number; 44 uint8 endpoint_number;
45 TransferDirection direction; 45 UsbTransferDirection direction;
46 EndpointType type; 46 UsbEndpointType type;
47 uint32 packet_size; 47 uint32 packet_size;
48 }; 48 };
49 49
50 struct AlternateInterfaceInfo { 50 struct UsbAlternateInterfaceInfo {
51 uint8 alternate_setting; 51 uint8 alternate_setting;
52 uint8 class_code; 52 uint8 class_code;
53 uint8 subclass_code; 53 uint8 subclass_code;
54 uint8 protocol_code; 54 uint8 protocol_code;
55 string? interface_name; 55 string? interface_name;
56 array<EndpointInfo> endpoints; 56 array<UsbEndpointInfo> endpoints;
57 }; 57 };
58 58
59 struct InterfaceInfo { 59 struct UsbInterfaceInfo {
60 uint8 interface_number; 60 uint8 interface_number;
61 array<AlternateInterfaceInfo> alternates; 61 array<UsbAlternateInterfaceInfo> alternates;
62 }; 62 };
63 63
64 struct ConfigurationInfo { 64 struct UsbConfigurationInfo {
65 uint8 configuration_value; 65 uint8 configuration_value;
66 string? configuration_name; 66 string? configuration_name;
67 array<InterfaceInfo> interfaces; 67 array<UsbInterfaceInfo> interfaces;
68 }; 68 };
69 69
70 struct DeviceInfo { 70 struct UsbDeviceInfo {
71 string guid; 71 string guid;
72 uint8 usb_version_major; 72 uint8 usb_version_major;
73 uint8 usb_version_minor; 73 uint8 usb_version_minor;
74 uint8 usb_version_subminor; 74 uint8 usb_version_subminor;
75 uint8 class_code; 75 uint8 class_code;
76 uint8 subclass_code; 76 uint8 subclass_code;
77 uint8 protocol_code; 77 uint8 protocol_code;
78 uint16 vendor_id; 78 uint16 vendor_id;
79 uint16 product_id; 79 uint16 product_id;
80 uint8 device_version_major; 80 uint8 device_version_major;
81 uint8 device_version_minor; 81 uint8 device_version_minor;
82 uint8 device_version_subminor; 82 uint8 device_version_subminor;
83 string? manufacturer_name; 83 string? manufacturer_name;
84 string? product_name; 84 string? product_name;
85 string? serial_number; 85 string? serial_number;
86 uint8 active_configuration; 86 uint8 active_configuration;
87 array<ConfigurationInfo> configurations; 87 array<UsbConfigurationInfo> configurations;
88 }; 88 };
89 89
90 struct ControlTransferParams { 90 struct UsbControlTransferParams {
91 ControlTransferType type; 91 UsbControlTransferType type;
92 ControlTransferRecipient recipient; 92 UsbControlTransferRecipient recipient;
93 uint8 request; 93 uint8 request;
94 uint16 value; 94 uint16 value;
95 uint16 index; 95 uint16 index;
96 }; 96 };
97 97
98 enum TransferStatus { 98 enum UsbTransferStatus {
99 // The transfer completed successfully. 99 // The transfer completed successfully.
100 COMPLETED, 100 COMPLETED,
101 101
102 // The transfer failed due to a non-specific error. 102 // The transfer failed due to a non-specific error.
103 TRANSFER_ERROR, 103 TRANSFER_ERROR,
104 104
105 // The transfer was not allowed. 105 // The transfer was not allowed.
106 PERMISSION_DENIED, 106 PERMISSION_DENIED,
107 107
108 // The transfer timed out. 108 // The transfer timed out.
(...skipping 10 matching lines...) Expand all
119 119
120 // The transfer succeeded, but the device sent more data than was requested. 120 // The transfer succeeded, but the device sent more data than was requested.
121 // This applies only to inbound transfers. 121 // This applies only to inbound transfers.
122 BABBLE, 122 BABBLE,
123 123
124 // The transfer succeeded, but the device sent less data than was requested. 124 // The transfer succeeded, but the device sent less data than was requested.
125 // This applies only to inbound transfers. 125 // This applies only to inbound transfers.
126 SHORT_PACKET, 126 SHORT_PACKET,
127 }; 127 };
128 128
129 struct IsochronousPacket { 129 struct UsbIsochronousPacket {
130 uint32 length; 130 uint32 length;
131 uint32 transferred_length; 131 uint32 transferred_length;
132 TransferStatus status; 132 UsbTransferStatus status;
133 }; 133 };
134 134
135 interface Device { 135 interface UsbDevice {
136 // Opens the device. Methods below require the device be opened first. 136 // Opens the device. Methods below require the device be opened first.
137 Open() => (OpenDeviceError error); 137 Open() => (UsbOpenDeviceError error);
138 138
139 // Closes the device. 139 // Closes the device.
140 Close() => (); 140 Close() => ();
141 141
142 // Initiates a device control transfer to set the device's configuration to 142 // Initiates a device control transfer to set the device's configuration to
143 // one with the configuration value |value|. 143 // one with the configuration value |value|.
144 SetConfiguration(uint8 value) => (bool success); 144 SetConfiguration(uint8 value) => (bool success);
145 145
146 // Claims a single interface in the current device configuration. 146 // Claims a single interface in the current device configuration.
147 ClaimInterface(uint8 interface_number) => (bool success); 147 ClaimInterface(uint8 interface_number) => (bool success);
(...skipping 15 matching lines...) Expand all
163 // details of the request. Transfers to recipients other than DEVICE require a 163 // details of the request. Transfers to recipients other than DEVICE require a
164 // corresponding interface to be claimed. 164 // corresponding interface to be claimed.
165 // 165 //
166 // |length| specifies the expected number of bytes to receive for this 166 // |length| specifies the expected number of bytes to receive for this
167 // transfer. The size of |data| will never exceed |length|, and |data| will be 167 // transfer. The size of |data| will never exceed |length|, and |data| will be
168 // null if |status| is neither COMPLETED, BABBLE, or SHORT_PACKET. 168 // null if |status| is neither COMPLETED, BABBLE, or SHORT_PACKET.
169 // 169 //
170 // |timeout| specifies the request timeout in milliseconds. A timeout of 0 170 // |timeout| specifies the request timeout in milliseconds. A timeout of 0
171 // indicates no timeout: the request will remain pending indefinitely until 171 // indicates no timeout: the request will remain pending indefinitely until
172 // completed or otherwise terminated. 172 // completed or otherwise terminated.
173 ControlTransferIn(ControlTransferParams params, uint32 length, uint32 timeout) 173 ControlTransferIn(UsbControlTransferParams params,
174 => (TransferStatus status, array<uint8>? data); 174 uint32 length,
175 uint32 timeout)
176 => (UsbTransferStatus status, array<uint8>? data);
175 177
176 // Initiates an inbound control transfer request. |params| determine the 178 // Initiates an inbound control transfer request. |params| determine the
177 // details of the request. Transfers to recipients other than DEVICE require a 179 // details of the request. Transfers to recipients other than DEVICE require a
178 // corresponding interface to be claimed. 180 // corresponding interface to be claimed.
179 // 181 //
180 // |data| specifies the bytes to send the device in the body of the request. 182 // |data| specifies the bytes to send the device in the body of the request.
181 // 183 //
182 // |timeout| specifies the request timeout in milliseconds. A timeout of 0 184 // |timeout| specifies the request timeout in milliseconds. A timeout of 0
183 // indicates no timeout: the request will remain pending indefinitely until 185 // indicates no timeout: the request will remain pending indefinitely until
184 // completed or otherwise terminated. 186 // completed or otherwise terminated.
185 ControlTransferOut(ControlTransferParams params, 187 ControlTransferOut(UsbControlTransferParams params,
186 array<uint8> data, 188 array<uint8> data,
187 uint32 timeout) 189 uint32 timeout)
188 => (TransferStatus status); 190 => (UsbTransferStatus status);
189 191
190 // Initiates an inbound generic transfer request on a specific endpoint. The 192 // Initiates an inbound generic transfer request on a specific endpoint. The
191 // interface to which |endpoint_number| belongs must be claimed, and the 193 // interface to which |endpoint_number| belongs must be claimed, and the
192 // appropriate alternate setting must be set on that interface before 194 // appropriate alternate setting must be set on that interface before
193 // transfers can be initiated on the endpoint. The endpoint must be of type 195 // transfers can be initiated on the endpoint. The endpoint must be of type
194 // BULK or INTERRUPT. 196 // BULK or INTERRUPT.
195 // 197 //
196 // |length| specifies the expected number of bytes to receive for this 198 // |length| specifies the expected number of bytes to receive for this
197 // transfer. The size of |data| will never exceed |length|, and |data| will be 199 // transfer. The size of |data| will never exceed |length|, and |data| will be
198 // null if |status| is neither COMPLETED, BABBLE, or SHORT_PACKET. 200 // null if |status| is neither COMPLETED, BABBLE, or SHORT_PACKET.
199 // 201 //
200 // |timeout| specifies the request timeout in milliseconds. A timeout of 0 202 // |timeout| specifies the request timeout in milliseconds. A timeout of 0
201 // indicates no timeout: the request will remain pending indefinitely until 203 // indicates no timeout: the request will remain pending indefinitely until
202 // completed or otherwise terminated. 204 // completed or otherwise terminated.
203 GenericTransferIn(uint8 endpoint_number, uint32 length, uint32 timeout) 205 GenericTransferIn(uint8 endpoint_number, uint32 length, uint32 timeout)
204 => (TransferStatus status, array<uint8>? data); 206 => (UsbTransferStatus status, array<uint8>? data);
205 207
206 // Initiates an outbound generic transfer request on a specific endpoint. The 208 // Initiates an outbound generic transfer request on a specific endpoint. The
207 // interface to which |endpoint_number| belongs must be claimed, and the 209 // interface to which |endpoint_number| belongs must be claimed, and the
208 // appropriate alternate setting must be set on that interface before 210 // appropriate alternate setting must be set on that interface before
209 // transfers can be initiated on the endpoint. The endpoint must be of type 211 // transfers can be initiated on the endpoint. The endpoint must be of type
210 // BULK or INTERRUPT. 212 // BULK or INTERRUPT.
211 // 213 //
212 // |data| specifies the bytes to send the device in the body of the request. 214 // |data| specifies the bytes to send the device in the body of the request.
213 // 215 //
214 // |timeout| specifies the request timeout in milliseconds. A timeout of 0 216 // |timeout| specifies the request timeout in milliseconds. A timeout of 0
215 // indicates no timeout: the request will remain pending indefinitely until 217 // indicates no timeout: the request will remain pending indefinitely until
216 // completed or otherwise terminated. 218 // completed or otherwise terminated.
217 GenericTransferOut(uint8 endpoint_number, array<uint8> data, uint32 timeout) 219 GenericTransferOut(uint8 endpoint_number, array<uint8> data, uint32 timeout)
218 => (TransferStatus status); 220 => (UsbTransferStatus status);
219 221
220 // Initiates an inbound isochronous transfer request on a specific endpoint. 222 // Initiates an inbound isochronous transfer request on a specific endpoint.
221 // The interface to which |endpoint_number| belongs must be claimed, and the 223 // The interface to which |endpoint_number| belongs must be claimed, and the
222 // appropriate alternate setting must be set on that interface before 224 // appropriate alternate setting must be set on that interface before
223 // transfers can be initiated on the endpoint. The endpoint must be of type 225 // transfers can be initiated on the endpoint. The endpoint must be of type
224 // ISOCHRONOUS. 226 // ISOCHRONOUS.
225 // 227 //
226 // |packet_lengths| specifies the maximum expected number of bytes to receive 228 // |packet_lengths| specifies the maximum expected number of bytes to receive
227 // for each packet in this transfer. 229 // for each packet in this transfer.
228 // 230 //
229 // |timeout| specifies the request timeout in milliseconds. A timeout of 0 231 // |timeout| specifies the request timeout in milliseconds. A timeout of 0
230 // indicates no timeout: the request will remain pending indefinitely until 232 // indicates no timeout: the request will remain pending indefinitely until
231 // completed or otherwise terminated. 233 // completed or otherwise terminated.
232 // 234 //
233 // |data| contains the data received from the device, if any. |packets| 235 // |data| contains the data received from the device, if any. |packets|
234 // contains the status of each packet received from the device, in order. The 236 // contains the status of each packet received from the device, in order. The
235 // length of the packet indicates its position in |data| while it's 237 // length of the packet indicates its position in |data| while it's
236 // transferred length gives the amount of data actually received from the 238 // transferred length gives the amount of data actually received from the
237 // device. 239 // device.
238 IsochronousTransferIn(uint8 endpoint_number, 240 IsochronousTransferIn(uint8 endpoint_number,
239 array<uint32> packet_lengths, 241 array<uint32> packet_lengths,
240 uint32 timeout) 242 uint32 timeout)
241 => (array<uint8>? data, array<IsochronousPacket> packets); 243 => (array<uint8>? data, array<UsbIsochronousPacket> packets);
242 244
243 // Initiates an outbound isochronous transfer request on a specific endpoint. 245 // Initiates an outbound isochronous transfer request on a specific endpoint.
244 // The interface to which |endpoint_number| belongs must be claimed, and the 246 // The interface to which |endpoint_number| belongs must be claimed, and the
245 // appropriate alternate setting must be set on that interface before 247 // appropriate alternate setting must be set on that interface before
246 // transfers can be initiated on the endpoint. The endpoint must be of type 248 // transfers can be initiated on the endpoint. The endpoint must be of type
247 // ISOCHRONOUS. 249 // ISOCHRONOUS.
248 // 250 //
249 // |data| specifies the bytes to send to the device. 251 // |data| specifies the bytes to send to the device.
250 // 252 //
251 // |packet_lengths| specifies how |data| should be separated into packets when 253 // |packet_lengths| specifies how |data| should be separated into packets when
252 // it is sent to the device. 254 // it is sent to the device.
253 // 255 //
254 // |timeout| specifies the request timeout in milliseconds. A timeout of 0 256 // |timeout| specifies the request timeout in milliseconds. A timeout of 0
255 // indicates no timeout: the request will remain pending indefinitely until 257 // indicates no timeout: the request will remain pending indefinitely until
256 // completed or otherwise terminated. 258 // completed or otherwise terminated.
257 259
258 // |packets| contains the status of each packet sent to the device, in order. 260 // |packets| contains the status of each packet sent to the device, in order.
259 IsochronousTransferOut(uint8 endpoint_number, 261 IsochronousTransferOut(uint8 endpoint_number,
260 array<uint8> data, 262 array<uint8> data,
261 array<uint32> packet_lengths, 263 array<uint32> packet_lengths,
262 uint32 timeout) 264 uint32 timeout)
263 => (array<IsochronousPacket> packets); 265 => (array<UsbIsochronousPacket> packets);
264 }; 266 };
OLDNEW
« no previous file with comments | « device/usb/public/interfaces/chooser_service.mojom ('k') | device/usb/public/interfaces/device_manager.mojom » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698