/* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.hardware.dumpstate@1.1; /** * Constants that define the type of bug report being taken to restrict content appropriately. */ enum DumpstateMode : uint32_t { /** * Takes a bug report without user interference. */ FULL = 0, /** * Interactive bug report, i.e. triggered by the user. */ INTERACTIVE = 1, /** * Remote bug report triggered by DevicePolicyManager, for example. */ REMOTE = 2, /** * Bug report triggered on a wear device. */ WEAR = 3, /** * Bug report limited to only connectivity info (cellular, wifi, and networking). Sometimes * called "telephony" in legacy contexts. * * All reported information MUST directly relate to connectivity debugging or customer support * and MUST NOT contain unrelated private information. This information MUST NOT identify * user-installed packages (UIDs are OK, package names are not), and MUST NOT contain logs of * user application traffic. */ CONNECTIVITY = 4, /** * Bug report limited to only wifi info. */ WIFI = 5, /** * Default mode, essentially analogous to calling @1.0::IDumpstateDevice.dumpstateBoard(handle). * This mode MUST be supported if the dumpstate HAL is implemented. */ DEFAULT = 6, /** * Takes a report in protobuf. * * The content, if implemented, must be a binary protobuf message written to the first file * descriptor of the native handle. The protobuf schema shall be defined by the vendor. */ PROTO = 7, }; /** * A simple return enum for use with dumpstateBoard_1_1. */ enum DumpstateStatus : uint32_t { OK = 0, /** * Returned for cases where the device doesn't support the given DumpstateMode (e.g. a phone * trying to use DumpstateMode::WEAR). */ UNSUPPORTED_MODE = 1, /** * Returned for cases where an IllegalArgumentException is typically appropriate, e.g. missing * file descriptors. */ ILLEGAL_ARGUMENT = 2, /** * Returned when device logging is not enabled. */ DEVICE_LOGGING_NOT_ENABLED = 3, };