blob: 0443cffdf2788545c53f8e3bec63e981e727277e [file] [log] [blame]
// Copyright 2018 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.device.manager;
using zx;
/// Interface for requesting devmgr perform miscellaneous actions.
/// These methods are all work-arounds that should go away eventually.
[Layout = "Simple"]
interface ExternalController {
/// Execute the given string command. This is mostly used for accessing debug
/// interfaces, but also as a backdoor for plumbing that has not been fully
/// solved.
1: ExecuteCommand(handle<socket>? log_socket, string:COMMAND_MAX? command)
-> (zx.status status);
/// Opens a new virtual console and transfers a handle to it over |vc_receiver|.
2: OpenVirtcon(handle<channel> vc_receiver);
/// Perform an mexec with the given kernel and bootdata.
/// See ZX-2069 for the thoughts on deprecating mexec.
3: PerformMexec(handle<vmo> kernel, handle<vmo> bootdata);
};