1f8601845997d994252daf3a429577fc81a8ec604Yi Jin/* 2f8601845997d994252daf3a429577fc81a8ec604Yi Jin * Copyright (C) 2017 The Android Open Source Project 3f8601845997d994252daf3a429577fc81a8ec604Yi Jin * 4f8601845997d994252daf3a429577fc81a8ec604Yi Jin * Licensed under the Apache License, Version 2.0 (the "License"); 5f8601845997d994252daf3a429577fc81a8ec604Yi Jin * you may not use this file except in compliance with the License. 6f8601845997d994252daf3a429577fc81a8ec604Yi Jin * You may obtain a copy of the License at 7f8601845997d994252daf3a429577fc81a8ec604Yi Jin * 8f8601845997d994252daf3a429577fc81a8ec604Yi Jin * http://www.apache.org/licenses/LICENSE-2.0 9f8601845997d994252daf3a429577fc81a8ec604Yi Jin * 10f8601845997d994252daf3a429577fc81a8ec604Yi Jin * Unless required by applicable law or agreed to in writing, software 11f8601845997d994252daf3a429577fc81a8ec604Yi Jin * distributed under the License is distributed on an "AS IS" BASIS, 12f8601845997d994252daf3a429577fc81a8ec604Yi Jin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f8601845997d994252daf3a429577fc81a8ec604Yi Jin * See the License for the specific language governing permissions and 14f8601845997d994252daf3a429577fc81a8ec604Yi Jin * limitations under the License. 15f8601845997d994252daf3a429577fc81a8ec604Yi Jin */ 16f8601845997d994252daf3a429577fc81a8ec604Yi Jin 17f8601845997d994252daf3a429577fc81a8ec604Yi Jinsyntax = "proto2"; 18f8601845997d994252daf3a429577fc81a8ec604Yi Jin 19f8601845997d994252daf3a429577fc81a8ec604Yi Jinoption java_package = "android"; 20f8601845997d994252daf3a429577fc81a8ec604Yi Jinoption java_multiple_files = true; 21f8601845997d994252daf3a429577fc81a8ec604Yi Jin 22f8601845997d994252daf3a429577fc81a8ec604Yi Jinimport "google/protobuf/descriptor.proto"; 23f8601845997d994252daf3a429577fc81a8ec604Yi Jin 24f8601845997d994252daf3a429577fc81a8ec604Yi Jinpackage android; 25f8601845997d994252daf3a429577fc81a8ec604Yi Jin 26f8601845997d994252daf3a429577fc81a8ec604Yi Jin// SectionType defines how incidentd gonna get the field's data 27f8601845997d994252daf3a429577fc81a8ec604Yi Jinenum SectionType { 28f8601845997d994252daf3a429577fc81a8ec604Yi Jin 29f8601845997d994252daf3a429577fc81a8ec604Yi Jin // Default fields, not available in incidentd 30f8601845997d994252daf3a429577fc81a8ec604Yi Jin SECTION_NONE = 0; 31f8601845997d994252daf3a429577fc81a8ec604Yi Jin 32f8601845997d994252daf3a429577fc81a8ec604Yi Jin // incidentd reads a file to get the data for annotated field 33f8601845997d994252daf3a429577fc81a8ec604Yi Jin SECTION_FILE = 1; 34f8601845997d994252daf3a429577fc81a8ec604Yi Jin 35f8601845997d994252daf3a429577fc81a8ec604Yi Jin // incidentd executes the given command for annotated field 36f8601845997d994252daf3a429577fc81a8ec604Yi Jin SECTION_COMMAND = 2; 37f8601845997d994252daf3a429577fc81a8ec604Yi Jin 38f8601845997d994252daf3a429577fc81a8ec604Yi Jin // incidentd calls dumpsys for annotated field 39f8601845997d994252daf3a429577fc81a8ec604Yi Jin SECTION_DUMPSYS = 3; 403c034c987e1eeb49660fb62d3426c292a01412c9Yi Jin 413c034c987e1eeb49660fb62d3426c292a01412c9Yi Jin // incidentd calls logs for annotated field 423c034c987e1eeb49660fb62d3426c292a01412c9Yi Jin SECTION_LOG = 4; 431a11fa10977ee1e2645d400844ff4d472b8f5f02Yi Jin 441a11fa10977ee1e2645d400844ff4d472b8f5f02Yi Jin // incidentd read file and gzip the data in bytes field 451a11fa10977ee1e2645d400844ff4d472b8f5f02Yi Jin SECTION_GZIP = 5; 46eadd123d68850cb27aa6d030ade6190e30991b19Kweku Adams 47eadd123d68850cb27aa6d030ade6190e30991b19Kweku Adams // incidentd calls tombstoned for annotated field 48eadd123d68850cb27aa6d030ade6190e30991b19Kweku Adams SECTION_TOMBSTONE = 6; 49f8601845997d994252daf3a429577fc81a8ec604Yi Jin} 50f8601845997d994252daf3a429577fc81a8ec604Yi Jin 51f8601845997d994252daf3a429577fc81a8ec604Yi Jinmessage SectionFlags { 52f8601845997d994252daf3a429577fc81a8ec604Yi Jin optional SectionType type = 1 [default = SECTION_NONE]; 53f8601845997d994252daf3a429577fc81a8ec604Yi Jin optional string args = 2; 547fe3dee3ae1cc47b50c4001cbac56c4fefbcc57bYi Jin optional bool device_specific = 3 [default = false]; 5571a9531806d9d37f5482c4d242f95416c04715bfKweku Adams // If true, then the section will only be generated for userdebug and eng 5671a9531806d9d37f5482c4d242f95416c04715bfKweku Adams // builds. 5771a9531806d9d37f5482c4d242f95416c04715bfKweku Adams optional bool userdebug_and_eng_only = 4 [default = false]; 58f8601845997d994252daf3a429577fc81a8ec604Yi Jin} 59f8601845997d994252daf3a429577fc81a8ec604Yi Jin 60f8601845997d994252daf3a429577fc81a8ec604Yi Jinextend google.protobuf.FieldOptions { 61f8601845997d994252daf3a429577fc81a8ec604Yi Jin // Flags for automatically section list generation 62f8601845997d994252daf3a429577fc81a8ec604Yi Jin optional SectionFlags section = 155792027; 63f8601845997d994252daf3a429577fc81a8ec604Yi Jin} 64