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
Name | Type |
---|---|
moniker |
string
|
pty |
client_end:fuchsia.hardware.pty/Device
|
tool_urls |
vector<fuchsia.url/Url>:20
|
command |
string?
|
ns_layout |
DashNamespaceLayout
|
Response
Name | Type |
---|---|
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
Name | Type |
---|---|
moniker |
string
|
socket |
handle<socket>
|
tool_urls |
vector<fuchsia.url/Url>:20
|
command |
string?
|
ns_layout |
DashNamespaceLayout
|
Response
Name | Type |
---|---|
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.
Request
Name | Type |
---|---|
url |
string
|
subpackages |
vector<string>
|
socket |
handle<socket>
|
tool_urls |
vector<fuchsia.url/Url>:20
|
command |
string?
|
Response
Name | Type |
---|---|
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.
Request
Name | Type |
---|---|
fuchsia_pkg_resolver |
FuchsiaPkgResolver
|
url |
string
|
subpackages |
vector<string>
|
socket |
handle<socket>
|
tool_urls |
vector<fuchsia.url/Url>:20
|
command |
string?
|
Response
Name | Type |
---|---|
payload |
Launcher_ExplorePackageOverSocket2_Result
|
OnTerminated
This event fires when a shell has terminated.
Response
Name | Type |
---|---|
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.
Name | Value | Description |
---|---|---|
NEST_ALL_INSTANCE_DIRS |
1 |
All instance directories are nested under subdirectories. e.g - namespace is under /ns, outgoing dir is under /out, etc. |
INSTANCE_NAMESPACE_IS_ROOT |
2 |
The instance namespace is the root of the dash shell.
Several ELF binaries and libraries in Fuchsia assume that directories like
|
FuchsiaPkgResolver flexible
Type: uint32
Defined in fuchsia.dash/launcher.fidl
The package resolvers available for resolving package URLs with the fuchsia-pkg
scheme.
Name | Value | Description |
---|---|---|
BASE |
1 |
Resolves base packages from blobfs. |
FULL |
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
Name | Value | Description |
---|---|---|
INTERNAL |
1 |
Launcher encountered an unspecified error |
BAD_MONIKER |
2 |
Moniker could not be parsed by launcher |
INSTANCE_NOT_FOUND |
3 |
No instance was found matching the moniker |
REALM_QUERY |
4 |
Error occurred using fuchsia.sys2.RealmQuery |
PROCESS_LAUNCHER |
5 |
Error occurred using fuchsia.process.Launcher |
DASH_BINARY |
6 |
Error loading dash binary |
PTY |
7 |
Error occurred involving the PTY |
INSTANCE_NOT_RESOLVED |
8 |
Instance is not in a resolved state, so there is nothing to explore |
PACKAGE_RESOLVER |
9 |
Error occurred using fuchsia.pkg.PackageResolver |
TOOLS_CANNOT_RESOLVE |
10 |
Error resolving tools package |
BAD_URL |
11 |
URL could not be parsed by launcher |
TOOLS_BINARY_READ |
12 |
Error reading a binary from a tools package |
NON_UNIQUE_BINARY_NAME |
13 |
A binary name was repeated |
PROCESS_RESOLVER |
14 |
Error occurred using fuchsia.process.Resolver |
VMEX_RESOURCE |
15 |
Error occurred using fuchsia.kernel.VmexResource |
RESOLVE_TARGET_PACKAGE |
16 |
Error resolving the package that is to be explored. |
UNIONS
Launcher_ExploreComponentOverPty_Result strict
Defined in fuchsia.dash/launcher.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Launcher_ExploreComponentOverPty_Response
|
|
2 |
err |
LauncherError
|
Launcher_ExploreComponentOverSocket_Result strict
Defined in fuchsia.dash/launcher.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Launcher_ExploreComponentOverSocket_Response
|
|
2 |
err |
LauncherError
|
Launcher_ExplorePackageOverSocket2_Result strict
Defined in fuchsia.dash/launcher.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Launcher_ExplorePackageOverSocket2_Response
|
|
2 |
err |
LauncherError
|
Launcher_ExplorePackageOverSocket_Result strict
Defined in fuchsia.dash/launcher.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Launcher_ExplorePackageOverSocket_Response
|
|
2 |
err |
LauncherError
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
MAX_URLS |
20
|
uint64 |
Maximum number of URLs allowed to be sent to the launcher. |