1// Copyright (c) 2012 The Chromium OS 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
5syntax = "proto2";
6
7option optimize_for = LITE_RUNTIME;
8
9// This protobuf is for sending the characteristics of a storage from a mtp/ptp
10// device to the browser.
11message MtpStorageInfo {
12  // The name of the storage. e.g. usb:2,5:65537
13  optional string storage_name = 1;
14
15  // Device vendor name. e.g. Kodak
16  optional string vendor = 2;
17
18  // Device vendor id. e.g. 0x040a
19  optional uint32 vendor_id = 3;
20
21  // Device product name. e.g. DC4800
22  optional string product = 4;
23
24  // Device product id. e.g. 0x0160
25  optional uint32 product_id = 5;
26
27  // Device flags as defined by libmtp. See libmtp's src/device-flags.h.
28  optional uint32 device_flags = 6;
29
30  // Device storage type as defined in the PIMA 15740-2000 standard, first
31  // edition, section 5.5.3, table 11.
32  optional uint32 storage_type = 7;
33
34  // Device file system type as defined in the PIMA 15740-2000 standard, first
35  // edition, section 5.5.3, table 12.
36  optional uint32 filesystem_type = 8;
37
38  // Access capability as defined in the PIMA 15740-2000 standard, first
39  // edition, section 5.5.3, table 13.
40  optional uint32 access_capability = 9;
41
42  // Capacity of the storage in bytes.
43  optional uint64 max_capacity = 10;
44
45  // Free space of the storage in bytes.
46  optional uint64 free_space_in_bytes = 11;
47
48  // Free space of the storage in objects. i.e. How many more objects can be
49  // created on the device.
50  optional uint64 free_space_in_objects = 12;
51
52  // A description of the storage. This is device dependent.
53  optional string storage_description = 13;
54
55  // The volume label of the storage. This is device dependent.
56  optional string volume_identifier = 14;
57}
58