fuchsia.dash

Added: 16

PROTOCOLS

Launcher

Defined in fuchsia.dash/launcher.fidl

ExploreComponentOverPty

Launch a dash process scoped to the component with the given moniker, forwarding the given stdio PTY.

Request

NameType
moniker string
pty client_end:fuchsia.hardware.pty/Device
tool_urls vector<fuchsia.url/Url>:20
command string?
ns_layout DashNamespaceLayout

Response

NameType
payload Launcher_ExploreComponentOverPty_Result

ExploreComponentOverSocket

Launch a dash process scoped to the component with the given moniker, forwarding the given stdio socket.

The dash launcher will implicitly create a PTY and transfer bytes between the PTY and the socket.

Request

NameType
moniker string
socket handle<socket>
tool_urls vector<fuchsia.url/Url>:20
command string?
ns_layout DashNamespaceLayout

Response

NameType
payload Launcher_ExploreComponentOverSocket_Result

ExplorePackageOverSocket

Launch a dash process with the indicated [sub]package loaded into the namespace at /pkg, forwarding the given stdio socket.

The dash launcher will implicitly create a PTY and transfer bytes between the PTY and the socket.

Always uses fuchsia.dash/FuchsiaPkgResolver.FULL to resolve package URLs with scheme "fuchsia-pkg". Use fuchsia.dash/Launcher.ExplorePackageOverSocket2 instead to pick which resolver to use with "fuchsia-pkg" URLs.

Deprecated: 20

Request

NameType
url string
subpackages vector<string>
socket handle<socket>
tool_urls vector<fuchsia.url/Url>:20
command string?

Response

NameType
payload Launcher_ExplorePackageOverSocket_Result

ExplorePackageOverSocket2

Launch a dash process with the indicated [sub]package loaded into the namespace at /pkg, forwarding the given stdio socket.

The dash launcher will implicitly create a PTY and transfer bytes between the PTY and the socket.

Added: 20

Request

NameType
fuchsia_pkg_resolver FuchsiaPkgResolver
url string
subpackages vector<string>
socket handle<socket>
tool_urls vector<fuchsia.url/Url>:20
command string?

Response

NameType
payload Launcher_ExplorePackageOverSocket2_Result

OnTerminated

This event fires when a shell has terminated.

Response

NameType
return_code int32

STRUCTS

Launcher_ExploreComponentOverPty_Response

Defined in fuchsia.dash/launcher.fidl

<EMPTY>

Launcher_ExploreComponentOverSocket_Response

Defined in fuchsia.dash/launcher.fidl

<EMPTY>

Launcher_ExplorePackageOverSocket2_Response

Defined in fuchsia.dash/launcher.fidl

<EMPTY>

Launcher_ExplorePackageOverSocket_Response

Defined in fuchsia.dash/launcher.fidl

<EMPTY>

ENUMS

DashNamespaceLayout strict

Type: uint32

Defined in fuchsia.dash/launcher.fidl

The namespace layout to create for the dash process.

NameValueDescription
1

All instance directories are nested under subdirectories. e.g - namespace is under /ns, outgoing dir is under /out, etc.

2

The instance namespace is the root of the dash shell. Several ELF binaries and libraries in Fuchsia assume that directories like svc and dev will be at the root. As a result, this layout should be more compatible than nesting for running Fuchsia ELF binaries in the shell.

FuchsiaPkgResolver flexible

Type: uint32

Defined in fuchsia.dash/launcher.fidl

The package resolvers available for resolving package URLs with the fuchsia-pkg scheme.

Added: 20

NameValueDescription
1

Resolves base packages from blobfs.

2

Resolves base, cache, or universe packages from blobfs and any configured remote repositories.

LauncherError strict

Type: uint32

Defined in fuchsia.dash/launcher.fidl

Standard errors for the Launcher protocol

NameValueDescription
1

Launcher encountered an unspecified error

2

Moniker could not be parsed by launcher

3

No instance was found matching the moniker

4

Error occurred using fuchsia.sys2.RealmQuery

5

Error occurred using fuchsia.process.Launcher

6

Error loading dash binary

7

Error occurred involving the PTY

8

Instance is not in a resolved state, so there is nothing to explore

9

Error occurred using fuchsia.pkg.PackageResolver

10

Error resolving tools package

11

URL could not be parsed by launcher

12

Error reading a binary from a tools package

13

A binary name was repeated

14

Error occurred using fuchsia.process.Resolver

15

Error occurred using fuchsia.kernel.VmexResource

16

Error resolving the package that is to be explored.

UNIONS

Launcher_ExploreComponentOverPty_Result strict

Defined in fuchsia.dash/launcher.fidl

OrdinalVariantTypeDescription
response Launcher_ExploreComponentOverPty_Response
err LauncherError

Launcher_ExploreComponentOverSocket_Result strict

Defined in fuchsia.dash/launcher.fidl

OrdinalVariantTypeDescription
response Launcher_ExploreComponentOverSocket_Response
err LauncherError

Launcher_ExplorePackageOverSocket2_Result strict

Defined in fuchsia.dash/launcher.fidl

OrdinalVariantTypeDescription
response Launcher_ExplorePackageOverSocket2_Response
err LauncherError

Launcher_ExplorePackageOverSocket_Result strict

Defined in fuchsia.dash/launcher.fidl

OrdinalVariantTypeDescription
response Launcher_ExplorePackageOverSocket_Response
err LauncherError

CONSTANTS

NameValueTypeDescription
MAX_URLS 20 uint64

Maximum number of URLs allowed to be sent to the launcher.