1// Copyright 2018 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5library fuchsia.device.manager; 6 7using zx; 8 9/// Interface for requesting devmgr perform miscellaneous actions. 10/// These methods are all work-arounds that should go away eventually. 11[Layout = "Simple"] 12interface ExternalController { 13 /// Execute the given string command. This is mostly used for accessing debug 14 /// interfaces, but also as a backdoor for plumbing that has not been fully 15 /// solved. 16 1: ExecuteCommand(handle<socket>? log_socket, string:COMMAND_MAX? command) 17 -> (zx.status status); 18 19 /// Opens a new virtual console and transfers a handle to it over |vc_receiver|. 20 2: OpenVirtcon(handle<channel> vc_receiver); 21 22 /// Perform an mexec with the given kernel and bootdata. 23 /// See ZX-2069 for the thoughts on deprecating mexec. 24 3: PerformMexec(handle<vmo> kernel, handle<vmo> bootdata); 25}; 26