blob: 630374ce3d1302b1574e7423ed6a961fc8edfa16 [file] [log] [blame]
// 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/100502): Delete this once it is safe to do so.
1: addresses_deprecated vector<@generated_name("InterfaceAddressDeprecated") strict union {
1: ipv4 fuchsia.net.Ipv4AddressWithPrefix;
2: ipv6 fuchsia.net.Ipv6Address;
}>: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;
// 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.
8: addresses vector<fuchsia.net.Subnet>:MAX;
};
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;
};