fuchsia.developer.console

Added: HEAD

PROTOCOLS

Launcher

Defined in fuchsia.developer.console/launcher.fidl

Launch

Launches a process providing it the namespace available to the developer console.

Returns when the launched process exits, informing its return code.

Request

NameType
payload LaunchOptions

Response

NameType
payload Launcher_Launch_Result

STRUCTS

Empty

Defined in fuchsia.developer.console/launcher.fidl

<EMPTY>

Launcher_Launch_Response

Defined in fuchsia.developer.console/launcher.fidl

FieldTypeDescriptionDefault
return_code int64 No default

PackageProgram resource

Defined in fuchsia.developer.console/launcher.fidl

FieldTypeDescriptionDefault
package fuchsia.component.resolution/Package

The resolved package where the launcher looks for the program.

No default
path string

The path, relative to the package's directory, where the program to be launched is found.

No default

RawHandles resource

Defined in fuchsia.developer.console/launcher.fidl

FieldTypeDescriptionDefault
stdin handle<handle>? No default
stdout handle<handle>? No default
stderr handle<handle>? No default

ENUMS

LauncherError flexible

Type: uint32

Defined in fuchsia.developer.console/launcher.fidl

Standard errors for the Launcher protocol

NameValueDescription
1

Launcher encountered an unspecified, unexpected error.

2

Received unknown interaction or configuration variant.

3

An invalid path was provided for the namespace.

4

Duplicate namespace paths were provided for the namespace.

5

Failed to load executable VMO from provided program information.

6

The process could be built, but launching it failed.

7

Launcher failed to set up the PTY proxying mechanism.

TABLES

LaunchOptions resource

Defined in fuchsia.developer.console/launcher.fidl

Options given to Launcher.Launch.

OrdinalFieldTypeDescription
name string:32

The launched process name.

Generated automatically if absent.

args vector<string>

Additional arguments to pass to the launched process.

The server computes argv0 automatically from program.

Interpreted as empty vector if absent.

program Program

The program to run.

Interpreted as Program.default_shell if absent.

io_handles IoHandles

The standard input/output handles given to the program.

No standard IO handles are given if absent.

env vector<string>

Environment variables to set for the launched process.

Interpreted as empty vector if absent.

namespace_entries vector<fuchsia.process/NameInfo>

Extra namespace entries to give to the launched process.

Entries that collide with the default entries provided by the developer console override the defaults.

All namespace entry paths MUST start with a /, INVALID_NAMESPACE_PATH is returned otherwise.

Interpreted as empty vector if absent.

stopper handle<eventpair>

An event pair that must be kept alive for the created process to be maintained.

Optional. If provided, the container job for the launched process is destroyed when the peer handle for stopper is closed.

directories_fixup bool

Enables fixing up the launch namespace for the conventional shell namespace.

When using the /toolbox namespace for launching programs, it may be necessary to organize the directories given to toolbox so that they look like a "standardized" directory layout. This is a built-in feature that allows the server to provide this fix up which consists of walking /directories in the namespace and applying the following renaming rules:

  • /directories/root-ssl-certificates => /config/ssl.
  • /directories/build-info => /config/build_info.
  • /directories/[any] => /[any].

Interpreted as false if absent.

UNIONS

IoHandles flexible resource

Defined in fuchsia.developer.console/launcher.fidl

OrdinalVariantTypeDescription
raw_handles RawHandles

Raw handles are provided to the program.

pty_socket handle<socket>

A zircon socket is used as data source and the data is forwarded to the program via a PTY device. Both stderr and stdout end up in the same socket.

Launcher_Launch_Result strict

Defined in fuchsia.developer.console/launcher.fidl

OrdinalVariantTypeDescription
response Launcher_Launch_Response
err LauncherError

Program flexible resource

Defined in fuchsia.developer.console/launcher.fidl

OrdinalVariantTypeDescription
default_shell Empty

The default developer shell is launched.

The default shell is controlled by product configuration. Thus, when selecting this program the server automatically fills:

  • environment PATH variable.
  • arguments for interactive vs not interactive sessions based on arguments given to LaunchOptions.
from_package PackageProgram

The provided program from some package is launched.

When from_package is used the provided package is automatically added to the namespace under /pkg.