/* * Copyright (C) 2023 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. */ syntax = "proto3"; option java_package = "com.android.server.adb.protos"; option java_outer_classname = "DevicesProto"; package adb.proto; // This mirrors adb.h's "enum ConnectionState" enum ConnectionState { ANY = 0; CONNECTING = 1; AUTHORIZING = 2; UNAUTHORIZED = 3; NOPERMISSION = 4; DETACHED = 5; OFFLINE = 6; BOOTLOADER = 7; DEVICE = 8; HOST = 9; RECOVERY = 10; SIDELOAD = 11; RESCUE = 12; } enum ConnectionType { UNKNOWN = 0; USB = 1; SOCKET = 2; } message Device { string serial = 1; ConnectionState state = 2; string bus_address = 3; string product = 4; string model = 5; string device = 6; ConnectionType connection_type = 7; int64 negotiated_speed = 8; int64 max_speed = 9; int64 transport_id = 10; } message Devices { repeated Device device = 1; } message AdbServerStatus { enum UsbBackend { UNKNOWN_USB = 0; NATIVE = 1; LIBUSB = 2; } enum MdnsBackend { UNKNOWN_MDNS = 0; BONJOUR = 1; OPENSCREEN = 2; } UsbBackend usb_backend = 1; bool usb_backend_forced = 2; MdnsBackend mdns_backend = 3; bool mdns_backend_forced = 4; string version = 5; string build = 6; string executable_absolute_path = 7; string log_absolute_path = 8; string os = 9; optional string trace_level = 10; optional bool burst_mode = 11; optional bool mdns_enabled = 12; optional string keystore_path = 13; optional string known_hosts_path = 14; } message MdnsServices { repeated ServiceAdbTcp tcp = 1; repeated ServiceAdbTls tls = 2; repeated ServiceAdbPairing pair = 3; } message ServiceAdbTcp { MdnsService service = 1; } message ServiceAdbTls { MdnsService service = 1 ; // If this device has previously been paired, it is considered a known device. bool known_device = 2; } message ServiceAdbPairing { MdnsService service = 1; } message MdnsService { // For explanation about the meaning of instance, service, and domain // refer to RFC 6763 (mdns-sd). // e.g.: "adb-43081FDAS000ST-GIVKML" string instance = 1; // e.g.: _adb-tls-connect._tcp string service = 2; // e.g.: local string domain = 3; optional string ipv4 = 4; repeated string ipv6 = 5; uint32 port = 6; // Comes from device property "ro.product.model" optional string product_model = 7; // Comes from device property "ro.build.version.sdk_full" optional string build_version_sdk_full = 8; }