| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.developer.remotecontrol; |
| |
| using fuchsia.device; |
| using fuchsia.net; |
| using fuchsia.hwinfo; |
| using fuchsia.buildinfo; |
| |
| type IdentifyHostResponse = table { |
| // TODO(https://fxbug.dev/94339): The semantics of this field are not well |
| // defined. Are these addresses intended to be used to connect to the |
| // device, or only identify it? Various comments in the code refer to |
| // needing the scope id of a given address, but such a scope id would |
| // inherently refer to the device side, rather than the host side, |
| // rendering it not helpful for connecting to the device. If this field is |
| // for identification, the scope ID can serve as additional information, |
| // but may tempt its use for connection, which might be incorrect. |
| 1: addresses vector<fuchsia.net.InterfaceAddress>:MAX; |
| 2: nodename string:fuchsia.device.DEVICE_NAME_MAX; |
| // UTC timestamp of the target's time of boot, in nanoseconds. |
| 3: boot_timestamp_nanos uint64; |
| 4: serial_number string:fuchsia.hwinfo.MAX_VALUE_SIZE; |
| 5: ids vector<uint64>:MAX; |
| // The name of the product as set via `fx set` in-tree. Products can be seen |
| // in-tree via `fx list-products`. |
| 6: product_config string:fuchsia.buildinfo.MAX_STRING_LENGTH; |
| // The board as set via `fx set` in-tree, like `x64` for example. |
| 7: board_config string:fuchsia.buildinfo.MAX_STRING_LENGTH; |
| }; |
| |
| type IdentifyHostError = strict enum : uint32 { |
| // Indicates that the attempt to list device network interfaces failed. |
| LIST_INTERFACES_FAILED = 1; |
| // Indicates that attempting to get the nodename of the target failed. |
| GET_DEVICE_NAME_FAILED = 2; |
| // Indicates a failure to connect to the proxies for host identification. |
| PROXY_CONNECTION_FAILED = 3; |
| }; |