blob: 9179e32517fe52971d9d66138b26f689d038800b [file] [log] [blame] [edit]
// Copyright 2023 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.
@available(added=HEAD)
library fuchsia.developer.remotecontrol.connector;
using zx;
@discoverable
closed protocol Connector {
// Connect an overnet circuit to this RCS instance. The node at the other
// end of the connection will host only the RemoteControl service. This
// method also adds an ID to this RCS instance, which can be retrieved via
// `fuchsia.developer.remotecontrol.RemoteControl.IdentifyHost` to uniquely
// identify this RCS instance.
strict EstablishCircuit(resource struct {
id uint64;
socket zx.Handle:SOCKET;
}) -> (struct {
overnet_id uint64;
});
// Get a socket connected to an FDomain which has the toolbox as its
// namespace. Messages received through the socket will have a little endian
// 32-bit length prepended for framing. Messages sent should do the same.
strict FdomainToolboxSocket(resource struct {
socket zx.Handle:SOCKET;
}) -> ();
};