| // 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); |
| }; |