| // Copyright 2021 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.starnix.developer; |
| |
| using fuchsia.url; |
| using zx; |
| |
| type ShellParams = resource table { |
| 1: standard_in zx.handle:SOCKET; |
| 2: standard_out zx.handle:SOCKET; |
| 3: standard_err zx.handle:SOCKET; |
| }; |
| |
| protocol ShellController { |
| -> OnTerminated(struct { |
| return_code int32; |
| }); |
| }; |
| |
| @discoverable |
| protocol Manager { |
| VsockConnect(resource struct { |
| port uint32; |
| bridge_socket zx.handle:SOCKET; |
| }); |
| Start(struct { |
| url fuchsia.url.Url; |
| }) -> (); |
| StartShell(resource struct { |
| params ShellParams; |
| controller server_end:ShellController; |
| }); |
| }; |