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: 7
24message DynamicPartitionsDeviceInfoProto {
25    bool enabled = 1;
26    bool retrofit = 2;
27
28    // Next: 8
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        /**  Name of the filesystem. */
40        string fs_type = 7 [json_name = "fs_type"];
41    }
42    repeated Partition partitions = 3;
43
44    // Next: 3
45    message Group {
46        string name = 1;
47        uint64 maximum_size = 2 [json_name = "maximum_size"];
48    }
49    repeated Group groups = 4;
50
51    // Next: 6
52    message BlockDevice {
53        string name = 1;
54        uint64 size = 2;
55        uint64 block_size = 3 [json_name = "block_size"];
56        uint64 alignment = 4;
57        uint64 alignment_offset = 5 [json_name = "alignment_offset"];
58    }
59    repeated BlockDevice block_devices = 5 [json_name = "block_devices"];
60
61    // Next: 4
62    message SuperDevice {
63        string name = 1;
64        /** Used space in bytes */
65        uint64 used_size = 2 [json_name = "used_size"];
66        /** Total size of the super in bytes */
67        uint64 total_size = 3 [json_name = "total_size"];
68    }
69    SuperDevice super_device = 6 [json_name = "super_device"];
70}
71