blob: c522f7cb8b6b1abd6f6945016fa821cce46f5fd9 [file] [log] [blame]
/*
* 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,
};