1/*
2 * Copyright (C) 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16syntax = "proto3";
17
18package android;
19
20// Keep in sync with proto files on EDI backend. Otherwise, new fields will
21// go ignored.
22
23// Next: 6
24message DynamicPartitionsDeviceInfoProto {
25    bool enabled = 1;
26    bool retrofit = 2;
27
28    // Next: 7
29    message Partition {
30        string name = 1;
31        string group_name = 2 [json_name = "group_name"];
32        bool is_dynamic = 3 [json_name = "is_dynamic"];
33        /** Total size of all extents on super partition */
34        uint64 size = 4;
35        /** Total size of the filesystem. */
36        uint64 fs_size = 5 [json_name = "fs_size"];
37        /** Used space of the filesystem. */
38        uint64 fs_used = 6 [json_name = "fs_used"];
39    }
40    repeated Partition partitions = 3;
41
42    // Next: 3
43    message Group {
44        string name = 1;
45        uint64 maximum_size = 2 [json_name = "maximum_size"];
46    }
47    repeated Group groups = 4;
48
49    // Next: 6
50    message BlockDevice {
51        string name = 1;
52        uint64 size = 2;
53        uint64 block_size = 3 [json_name = "block_size"];
54        uint64 alignment = 4;
55        uint64 alignment_offset = 5 [json_name = "alignment_offset"];
56    }
57    repeated BlockDevice block_devices = 5 [json_name = "block_devices"];
58}
59