STRUCTS
CapabilityRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to a capability declared in this component.
Field | Type | Description | Default |
---|---|---|---|
name |
string[100]
|
No default |
ChildRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to one of the component's child instances.
Field | Type | Description | Default |
---|---|---|---|
name |
child_name
|
The name assigned to the child by its parent. If |
No default |
collection |
name
|
The collection |
No default |
CollectionRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to one of the component's collections.
Field | Type | Description | Default |
---|---|---|---|
name |
name
|
No default |
ConfigType
Defined in fuchsia.component.decl/config.fidl
Field | Type | Description | Default |
---|---|---|---|
layout |
ConfigTypeLayout
|
No default | |
parameters |
vector<LayoutParameter>?
|
No default | |
constraints |
vector<LayoutConstraint>
|
No default |
DebugRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the environment's debug capabilities.
<EMPTY>
EnvironmentRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the environment.
<EMPTY>
FrameworkRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the component framework itself.
<EMPTY>
NameMapping
Defined in fuchsia.component.decl/offer.fidl
Type used to create a mapping between 2 names. Used to rename service or component instances in FIDL declarations.
Field | Type | Description | Default |
---|---|---|---|
source_name |
name
|
Name used in the source instance. |
No default |
target_name |
name
|
Name used in the target instance. |
No default |
ParentRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to a component's parent instance.
<EMPTY>
ResolvedConfig
Defined in fuchsia.component.decl/config.fidl
A configuration that has been completely resolved by component manager.
Field | Type | Description | Default |
---|---|---|---|
fields |
vector<ResolvedConfigField>
|
No default | |
checksum |
ConfigChecksum
|
No default |
ResolvedConfigField
Defined in fuchsia.component.decl/config.fidl
Field | Type | Description | Default |
---|---|---|---|
key |
string
|
No default | |
value |
ConfigValue
|
No default |
SelfRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to the component itself.
<EMPTY>
VoidRef
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to an intentionally missing offer source.
<EMPTY>
ENUMS
AllowedOffers strict
Type: uint32
Defined in fuchsia.component.decl/collection.fidl
The kinds of offers that can target the children in a collection.
Name | Value | Description |
---|---|---|
STATIC_ONLY |
1 |
Only static offers may target components in the collection. "Static
offers" are the offers in the This is the default behavior. |
STATIC_AND_DYNAMIC |
2 |
Both static offers and dynamic offers may target components in the
collection. "Static offers" are the offers in the |
Availability strict
Type: uint32
Defined in fuchsia.component.decl/offer.fidl
Describes the expected availability of the capability.
Some capabilities may not be present on all system configurations. In those
cases, the availability will be declared as OPTIONAL
along the chains of
exposes/offers/uses, and the capability would be routed from void
on
system configurations where it does not make sense to route or provide a
particular capability (e.g. graphical capabilities on a headless system).
Name | Value | Description |
---|---|---|
REQUIRED |
1 |
The capability must be available. Failure to route the capability is an error. |
OPTIONAL |
2 |
Inside a use declaration: the component can function if it fails to obtain the capability. Inside an offer/expose declaration: the capability may not be available in some system configurations. As a corollary, the target component must not have a required dependency on the capability. |
SAME_AS_TARGET |
3 |
If the target of the corresponding offer or expose declaration requires the capability, then the behavior is equivalent to required. If the target has an optional dependency on the capability, then the behavior is equivalent to optional. This is useful for container components that would like to change their routing availability based on ones inside. This value is not allowed inside a use declaration. |
TRANSITIONAL |
4 |
The source may omit the route completely without even having to route
from TRANSITIONAL is used for soft transitions that introduce new capabilities. Added: 9
|
ConfigTypeLayout flexible
Type: uint32
Defined in fuchsia.component.decl/config.fidl
Name | Value | Description |
---|---|---|
BOOL |
1 |
|
UINT8 |
2 |
|
UINT16 |
3 |
|
UINT32 |
4 |
|
UINT64 |
5 |
|
INT8 |
6 |
|
INT16 |
7 |
|
INT32 |
8 |
|
INT64 |
9 |
|
STRING |
10 |
|
VECTOR |
11 |
DeliveryType flexible
Type: uint32
Defined in fuchsia.component.decl/types.fidl
DeliveryType
may be used when declaring a capability, and specifies under
what conditions the framework will open the capability from the provider
component's outgoing directory when there is a request for this capability.
Name | Value | Description |
---|---|---|
IMMEDIATE |
0 |
The framework will open the capability as soon as some consumer component requests it. |
ON_READABLE |
1 |
The framework will monitor the |
DependencyType strict
Type: uint32
Defined in fuchsia.component.decl/offer.fidl
Describes the type of dependency implied by the capability.
Name | Value | Description |
---|---|---|
STRONG |
1 |
A strong dependency which may be required by components that use it. |
WEAK |
2 |
A weak dependency which is allowed to form a cycle. Components that use a weak dependency must support the dependency being unavailable at arbitrary times. |
Durability strict
Type: uint32
Defined in fuchsia.component.decl/collection.fidl
The durability of component instances created in a collection.
Name | Value | Description |
---|---|---|
TRANSIENT |
2 |
An instance exists until either its parent instance is stopped or it is explicitly destroyed. |
SINGLE_RUN |
3 |
An instance is started upon creation and is immediately destroyed when it stops. |
EnvironmentExtends strict
Type: uint32
Defined in fuchsia.component.decl/environment.fidl
Specifies how a declared environment's initial set of properties are assigned.
Name | Value | Description |
---|---|---|
NONE |
0 |
The environment has no initial set of properties. |
REALM |
1 |
The environment's initial set of properties are inherited from its realm.
Inherited properties include any fields defined in |
OnTerminate strict
Type: uint32
Defined in fuchsia.component.decl/child.fidl
Describes the action to take if this component instance terminates unexpectedly.
Name | Value | Description |
---|---|---|
NONE |
0 |
No action, the default |
REBOOT |
1 |
Trigger a graceful system reboot if the component terminates for any reason. This is a specialized feature gated by Component Framework security policy. |
StartupMode strict
Type: uint32
Defined in fuchsia.component.decl/child.fidl
Describes under what conditions the component may be started.
Name | Value | Description |
---|---|---|
LAZY |
0 |
Start component instance only when it receives an incoming capability request or it's
started directly with |
EAGER |
1 |
Start component instance automatically when the parent starts or (for dynamic components) when the component is created. |
StorageId strict
Type: uint32
Defined in fuchsia.component.decl/capability.fidl
Declares which identifier to use to key a component's isolated storage directory.
Name | Value | Description |
---|---|---|
STATIC_INSTANCE_ID |
1 |
Isolated storage directories are keyed using a component's instance ID specified in the component ID index. Components which are not listed in the index cannot use or open this storage capability. |
STATIC_INSTANCE_ID_OR_MONIKER |
2 |
Isolated storage directories are keyed using a component's instance ID if one is specified in the component ID index. Otherwise, a component's moniker from the storage capability is used to key its isolated storage directory. |
TABLES
Child
Defined in fuchsia.component.decl/child.fidl
Statically declares a child component instance.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
child_name
|
(Required) The name assigned to the child by its parent. Must be non-empty, unique among all siblings, and contain only the following characters: [a-z0-9-_.]. |
2 |
url |
fuchsia.url/Url
|
(Required) The child component's URL. Must be non-empty and a well-formed URL. |
3 |
startup |
StartupMode
|
(Required) The startup mode for the component instance. Must be set. |
4 |
environment |
name
|
(Optional) The environment assigned to this child. May be unset, in which case the child will inherit the parent component's
environment. If set, the name must reference an environment defined in
the |
5 |
on_terminate |
OnTerminate
|
(Optional, defaults to |
6 |
config_overrides |
vector<ConfigOverride>
|
Configuration overrides to apply to the child's base configuration. For a configuration field to be overridden it must be marked as mutable by parent. Parents must pass Added: 12
|
Collection
Defined in fuchsia.component.decl/collection.fidl
Statically declares a component instance collection.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of the collection. Instances created in the collection are scoped to this name. |
2 |
durability |
Durability
|
(Required) The durability of instances in the collection. |
3 |
environment |
name
|
(Optional) The environment assigned to child instances in this collection. May be unset, in which case children in this collection will inherit the
parent component's environment. If set, the name must reference an
environment defined in the |
4 |
allowed_offers |
AllowedOffers
|
(Optional, defaults to Only components using the |
5 |
allow_long_names |
bool
|
(Optional, defaults to Only components using the |
6 |
persistent_storage |
bool
|
(Optional) Whether the data in isolated storage used by dynamic child instances and their descendants will persist after the instances are destroyed. New dynamic instances inherit the previous instances' data stores. This setting can be overridden by a lower-level collection that is a descendant of a collection that enables/disables this setting. This setting applies to all storage capabilities consumed by the collection components and their descendants. The default is the value inherited from an ancestral collection if set,
otherwise |
Component
Defined in fuchsia.component.decl/component.fidl
A component declaration.
This information is typically encoded in the component manifest (.cm file) if it has one or may be generated at runtime by a component resolver for those that don't.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
program |
Program
|
(Optional) Information about the program to run when the component is executed. Omitted for non-executable components. |
2 |
uses |
vector<Use>
|
(Optional) List of capabilities used by the component. These consist of capabilities offered to the component that are installed in its incoming namespace. The used capabilities must be unique and non-overlapping. |
3 |
exposes |
vector<Expose>
|
(Optional) List of capabilities exposed by the component. These consist of
capabilities that are made visible to the parent. The parent
may The exposed capabilities must be unique and non-overlapping. |
4 |
offers |
vector<Offer>
|
(Optional) List of capabilities offered to the component's children. These consist
of capabilities that the given children may The offered capabilities must be unique and non-overlapping. |
5 |
capabilities |
vector<Capability>
|
(Optional) List of capabilities defined by the component. |
6 |
children |
vector<Child>
|
(Optional) The component's statically instantiated children. The children must have unique names. |
7 |
collections |
vector<Collection>
|
(Optional) The component's collections. The collections must have unique names. |
8 |
environments |
vector<Environment>
|
(Optional) List of environments created by this component. Environments are assigned to children and control aspects of a child component's runtime. |
9 |
facets |
fuchsia.data/Dictionary
|
(Optional) Additional metadata about the component. |
10 |
config |
ConfigSchema
|
(Optional) The schema of the component's configuration interface. |
ConfigField
Defined in fuchsia.component.decl/config.fidl
Declares a single config field (key + type)
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
key |
ConfigKey
|
(Required) The identifier for this config field. This key will be used to match overrides. |
2 |
type |
ConfigType
|
(Required) The type of config values. Config values are verified against this layout at build time and run time. |
3 |
mutability |
ConfigMutability
|
Allowed sources for runtime overrides of this field's value. Added: 12
|
ConfigOverride
Defined in fuchsia.component.decl/child.fidl
A directive to override the value of a particular configuration field in the child.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
key |
ConfigKey
|
|
2 |
value |
ConfigValue
|
ConfigSchema
Defined in fuchsia.component.decl/config.fidl
The schema of a component's configuration interface.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
fields |
vector<ConfigField>
|
(Required) Ordered fields of the component's configuration interface. |
2 |
checksum |
ConfigChecksum
|
(Required) Checksum over the config declaration. |
3 |
value_source |
ConfigValueSource
|
(Required) Strategy used to resolve config values. |
ConfigSourceCapabilities
Defined in fuchsia.component.decl/config.fidl
Ordinal | Field | Type | Description |
---|
ConfigValueSpec
Defined in fuchsia.component.decl/config.fidl
An individual configuration value. It is matched against a specific configuration field based
on its offset within ValuesData.values
.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
value |
ConfigValue
|
ConfigValuesData
Defined in fuchsia.component.decl/config.fidl
Contents of the configuration value file. Defines the base values for a component's config.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
values |
vector<ConfigValueSpec>
|
The concrete values for the component's configuration. |
2 |
checksum |
ConfigChecksum
|
A SHA-256 checksum of the configuration schema. Must match the checksum in the component manifest and config parser library used to resolve the final configuration. |
Configuration
Defined in fuchsia.component.decl/capability.fidl
Declares a configuration capability.
To learn more about configuration capabilities, see: https://fuchsia.dev/fuchsia-src/glossary#configuration-capability or: https://fuchsia.dev/fuchsia-src/docs/concepts/components/v2/capabilities/configuration
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this configuration |
2 |
value |
ConfigValue
|
(Required) The value of this Configuration. |
DebugProtocolRegistration
Defined in fuchsia.component.decl/environment.fidl
Registers a protocol in the environment as a debug capability. This makes
it available to any component in the environment that uses it with
source == debug
.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol being offered. |
3 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
Dictionary
Defined in fuchsia.component.decl/capability.fidl
Declares a dictionary capability.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this dictionary. Must be unique among built-in capabilities. |
2 |
source |
Ref
|
(Optional) Source of the contents used to initialize the dictionary.
Must be |
3 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by This must be set iff |
4 |
source_path |
string[1024]
|
(Optional) Path in the component's outgoing directory to a [fuchsia.component.sandbox/Router] that returns a [fuchsia.component.sandbox/DirectoryRef] for this dictionary. If this is set, it means the dictionary is provided by the program directly, not component
manager. |
Directory
Defined in fuchsia.component.decl/capability.fidl
Declares a directory capability backed by this component.
To learn more about directories, see: https://fuchsia.dev/fuchsia-src/glossary#directory
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this directory. |
2 |
source_path |
string[1024]
|
(Optional) The path to the directory in the component's outgoing directory. Not set for built-in capabilities. |
3 |
rights |
fuchsia.io/Rights
|
(Required) The maximum rights that can be set by a component using this directory. |
Environment
Defined in fuchsia.component.decl/environment.fidl
Declares an environment which configures a realm.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this environment. |
2 |
extends |
EnvironmentExtends
|
(Required) Specifies how the initial state of this environment is constructed. |
3 |
runners |
vector<RunnerRegistration>
|
(Optional) List of runners available in this environment. This list determines the total set of runners that are available for any component in the environment to use. |
4 |
resolvers |
vector<ResolverRegistration>
|
(Optional) List of component resolvers and the URL schemes they are
registered to resolve. These registrations determine how components are
resolved in the realm. If the component URL scheme does not match any of
these resolvers, URL resolution is delegated to the parent environment,
if this environment |
5 |
debug_capabilities |
vector<DebugRegistration>
|
(Optional) Expose capabilities to debug section when component manager allows it. These capabilities are accessible to any component in the environment
with a |
6 |
stop_timeout_ms |
uint32
|
(Optional) The duration in milliseconds that the component will have to
stop before it is killed. Required if this environment |
EventStream
Defined in fuchsia.component.decl/capability.fidl
Declares an event_stream capability
This type cannot be used in fuchsia.component.decl.Component
. It is only
used for the framework's built-in capabilities declared in
internal.Config
.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this event stream. Must be unique among built-in capabilities. |
EventSubscription
Defined in fuchsia.component.decl/events.fidl
Indicates the event name to subscribe to with a given event mode.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
event_name |
name
|
(Required) The event names to subscribe to. |
ExposeConfiguration
Defined in fuchsia.component.decl/expose.fidl
Declares a configuration capability exposed to a component's containing realm, such as a capability exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the configuration, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the capability is exposed. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary provided by Added: HEAD
|
ExposeDictionary
Defined in fuchsia.component.decl/expose.fidl
Declares a dictionary exposed to a component's containing realm, such as a dictionary exposed by the component or one of its children at runtime.
To learn more about dictionarys, see: https://fuchsia.dev/fuchsia-src/glossary#dictionary
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the dictionary, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the dictionary is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary offered by Added: HEAD
|
ExposeDirectory
Defined in fuchsia.component.decl/expose.fidl
Declares a directory exposed to a component's containing realm, such as a directory exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the directory, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the directory is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
rights |
fuchsia.io/Rights
|
(Optional) The maximum rights that can be set by a component using this
directory. If unset, the rights are inherited from |
6 |
subdir |
string[1024]
|
(Optional) The subdirectory of this directory to expose instead of the root. |
7 |
availability |
Availability
|
(Optional, defaults to Added: 11
|
8 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary offered by Added: HEAD
|
ExposeProtocol
Defined in fuchsia.component.decl/expose.fidl
Declares a protocol exposed to a component's containing realm, such as a protocol exposed by the component or one of its children at runtime.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the protocol is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
availability |
Availability
|
(Optional, defaults to Added: 11
|
6 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary offered by Added: HEAD
|
ExposeResolver
Defined in fuchsia.component.decl/expose.fidl
Declares a resolver exposed to a component's containing realm, such as a resolver exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) The name of the resolver, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the resolver is exposed |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
6 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary offered by Added: HEAD
|
ExposeRunner
Defined in fuchsia.component.decl/expose.fidl
Declares a runner exposed to a component's containing realm, such as a runner exposed by the component or one of its children at runtime.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) The name of the runner, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the runner is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
6 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary offered by Added: HEAD
|
ExposeService
Defined in fuchsia.component.decl/expose.fidl
Declares a service exposed to a component's containing realm, such as a service exposed by the component or one of its children at runtime.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the service, by which it was presented to this component. |
3 |
target |
Ref
|
(Required) The destination to which the service is exposed: either the component's realm or the framework. |
4 |
target_name |
name
|
(Required) The name by which the capability is being exposed. |
5 |
availability |
Availability
|
(Optional, defaults to Added: 11
|
6 |
source_dictionary |
string[1024]
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferConfiguration
Defined in fuchsia.component.decl/offer.fidl
Declares a configuration capability offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the configuration being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferDictionary
Defined in fuchsia.component.decl/offer.fidl
Declares a dictionary offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
To learn more about dictionaries, see: https://fuchsia.dev/fuchsia-src/glossary#dictionary
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the dictionary being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
5 |
dependency_type |
DependencyType
|
(Required) The dependency type this offer represents. A component which receives a weak offer must support the offered capability being unavailable at any point. |
6 |
availability |
Availability
|
(Optional, defaults to |
7 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferDirectory
Defined in fuchsia.component.decl/offer.fidl
Declares a directory offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the directory being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
5 |
rights |
fuchsia.io/Rights
|
(Optional) The maximum rights that can be set by a component using this
directory. IF unset, the rights are inherited from |
6 |
subdir |
string[1024]
|
(Optional) The subdirectory of this directory to offer instead of the root. Optional. |
7 |
dependency_type |
DependencyType
|
(Required) The dependency type this offer represents. A component which receives a weak offer must support the offered capability being unavailable at any point. |
8 |
availability |
Availability
|
(Optional, defaults to |
9 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferEventStream
Defined in fuchsia.component.decl/offer.fidl
Declares an event stream offered by a component.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name of the event being offered. |
3 |
scope |
vector<Ref>
|
(Optional) When an event is offered from framework, the scope is required and allows one to define the child (or array of children) which the event is about. When the event is offered from parent, the scope can be used to downscope the event to a certain child scope, otherwise the event will carry the scope coming from the parent. |
4 |
target |
Ref
|
(Required) The destination to which the event stream is offered. |
5 |
target_name |
name
|
(Required) Name under which the event stream is being offered. |
7 |
availability |
Availability
|
(Optional, defaults to |
OfferProtocol
Defined in fuchsia.component.decl/offer.fidl
Declares a protocol offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name by which the capability is being offered. |
5 |
dependency_type |
DependencyType
|
(Required) The dependency type this offer represents. A component which receives a weak offer must support the offered capability being unavailable at any point. |
6 |
availability |
Availability
|
(Optional, defaults to |
7 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferResolver
Defined in fuchsia.component.decl/offer.fidl
Declares a resolver capability offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name of the resolver being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) Name under which the capability is being offered. |
5 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferRunner
Defined in fuchsia.component.decl/offer.fidl
Declares a runner offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name of the runner being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) Name under which the capability is being offered. |
5 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
OfferService
Defined in fuchsia.component.decl/offer.fidl
Declares a service offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the service being offered. |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name under which the capability is being offered. |
5 |
source_instance_filter |
vector<string>
|
(Optional) The list of allowlisted instances to be offered. Instances of the service not in this list will not be accessible by the target component. If this is not set that means all instances from the source service are offered. |
6 |
renamed_instances |
vector<NameMapping>
|
(Optional) The list of allowlisted instances to be offered, with renames. If this is set and nonempty, the set of instances in the target service
will be restricted to the instances in this list, renaming If it is set and nonempty, |
7 |
availability |
Availability
|
(Optional, defaults to |
8 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
9 |
dependency_type |
DependencyType
|
(Optional, defaults to Added: HEAD
|
OfferStorage
Defined in fuchsia.component.decl/offer.fidl
Declares a storage capability offered by a component to one of its children, such as meta storage offered by the component's containing realm or cache storage offered by the component itself.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) The name of the storage capability being offered |
2 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
3 |
target |
Ref
|
(Required) Reference to the target. Must be |
4 |
target_name |
name
|
(Required) The name the storage capability is being offered as |
5 |
availability |
Availability
|
(Optional, defaults to |
Program
Defined in fuchsia.component.decl/program.fidl
A program declaration.
This declaration is set by executable components to designate the runner to use and pass runner-specific program information to it.
To learn more about runners, see: https://fuchsia.dev/fuchsia-src/glossary#runner
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
runner |
name
|
The name of the runner to use to run the component. Must match a |
2 |
info |
fuchsia.data/Dictionary
|
(Required) Information about the program to run when the component is executed. The component manager provides the contents of this dictionary to the runner when executing this program. For instance, this might contain a path to the program's executable image, or program arguments.
|
Protocol
Defined in fuchsia.component.decl/capability.fidl
Declares a protocol capability backed by this component.
To learn more about protocols, see: https://fuchsia.dev/fuchsia-src/glossary#protocol
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this protocol. |
2 |
source_path |
string[1024]
|
(Optional) The path to the protocol in the component's outgoing directory. Not set for built-in capabilities. |
3 |
delivery |
DeliveryType
|
(Optional, defaults to Added: HEAD
|
Resolver
Defined in fuchsia.component.decl/capability.fidl
Declares a resolver which is responsible for resolving component URLs to
actual components. See fuchsia.component.resolution.Resolver
for the
protocol resolvers are expected to implement.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this resolver. Must be unique among resolvers declared in the same |
2 |
source_path |
string[1024]
|
(Optional) The path to the resolver protocol in the component's outgoing directory Not set for built-in capabilities. |
ResolverRegistration
Defined in fuchsia.component.decl/environment.fidl
A mapping of URL scheme to resolver name.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
resolver |
name
|
(Required) The name of the resolver. |
2 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
3 |
scheme |
url_scheme
|
(Required) The URL scheme the resolver is registered to handle. Only one
resolver may be registered to a particular URL scheme. The URL scheme
must start with a lowercase ASCII letter (a-z), and may contain
lowercase ASCII letters, digits, |
Runner
Defined in fuchsia.component.decl/capability.fidl
Declares a runner capability backed by a service.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this runner. Must unique among runners declared in the same |
2 |
source_path |
string[1024]
|
(Optional) The path to the runner protocol in the component's outgoing directory. Not set for built-in capabilities. |
RunnerRegistration
Defined in fuchsia.component.decl/environment.fidl
A repository of the runners available in an environment.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) The name of the runner capability as it's exposed to, offered, or defined by this component. |
2 |
source |
Ref
|
(Required) The provider of the capability relative to the component
itself. Must be |
3 |
target_name |
name
|
(Required) The name by which the runner is made available in this environment. |
Service
Defined in fuchsia.component.decl/capability.fidl
Declares a service capability backed by this component.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this service. |
2 |
source_path |
string[1024]
|
(Optional) The path to the service in the component's outgoing directory. Not set for built-in capabilities. |
Storage
Defined in fuchsia.component.decl/capability.fidl
Declares a storage capability backed by a directory from which data, cache, or meta storage can be offered.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
name |
name
|
(Required) The name of this storage |
2 |
source |
Ref
|
(Required) The provider of the backing directory capability relative to
the component itself. Must be |
3 |
backing_dir |
name
|
(Required) The name of the directory capability from |
4 |
subdir |
string[1024]
|
(Optional) The subdirectory of the source directory that will back the storage |
5 |
storage_id |
StorageId
|
(Required) This enum determines how to key a component's isolated storage directory. Each option corresponds to a different key'ing strategy. |
UseConfiguration
Defined in fuchsia.component.decl/use.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the configuration relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the configuration, by which it was presented to this component. |
3 |
target_name |
name
|
(Required) The name that the component sees for this configuration. This must match a key in the 'config' schema for this component. The matching config field's type must match this configuration type. |
4 |
availability |
Availability
|
(Optional, defaults to |
5 |
type |
ConfigType
|
(Required) The type of this config value. If |
6 |
default |
ConfigValue
|
(Optional): If this is set, this is the value that will be provided via routing if the capability is successfully routed from void. |
7 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
UseDirectory
Defined in fuchsia.component.decl/use.fidl
Declares a directory used by a component, which was offered to it.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the directory relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the directory, by which it was presented to this component. |
3 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
4 |
rights |
fuchsia.io/Rights
|
(Required) The rights required by the component to use this directory. |
5 |
subdir |
string[1024]
|
(Optional) The subdirectory of this directory to use instead of the root. |
6 |
dependency_type |
DependencyType
|
(Required) The dependency type this use represents. A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as |
7 |
availability |
Availability
|
(Optional, defaults to |
8 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
UseEventStream
Defined in fuchsia.component.decl/use.fidl
Declares an EventStream used by a component.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) The names of the event streams. |
2 |
source |
Ref
|
(Required) The provider of the event. Must be |
3 |
scope |
vector<Ref>
|
(Optional) When an event is used from framework, the scope is required to specify the child (or array of children) which the event will be about. When the event is used from parent, the scope can be used to downscope the event to a certain child scope, otherwise the event will carry the scope coming from the parent. |
4 |
target_path |
name
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
filter |
fuchsia.data/Dictionary
|
(Optional) Filter for the event stream. The structure of the filter
depends on the event stream type. Only supported for the
Added: 9
|
UseProtocol
Defined in fuchsia.component.decl/use.fidl
Declares a protocol used by a component, which was offered to it.
A protocol is a service with a single instance, provided by a single FIDL protocol.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the protocol relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the protocol, by which it was presented to this component. |
3 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
4 |
dependency_type |
DependencyType
|
(Required) The dependency type this use represents. A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
UseRunner
Defined in fuchsia.component.decl/use.fidl
Declares runner used by a component.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the runner relative to the component.
Must be |
2 |
source_name |
name
|
(Required) Name identifying the runner, by which it was presented to this component. |
3 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
UseService
Defined in fuchsia.component.decl/use.fidl
Declares a service used by a component, which was offered to it.
To learn more about services, see: https://fuchsia.dev/fuchsia-src/glossary#service
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source |
Ref
|
(Required) The provider of the protocol relative to the component
itself. Must be |
2 |
source_name |
name
|
(Required) Name identifying the service, by which it was presented to this component. |
3 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
4 |
dependency_type |
DependencyType
|
(Required) The dependency type this use represents. A component which offers a capability to a child from itself and uses a
capability from the same child, must mark the dependency as |
5 |
availability |
Availability
|
(Optional, defaults to |
6 |
source_dictionary |
dictionary_path
|
(Optional) Path in a dictionary provided by Added: HEAD
|
UseStorage
Defined in fuchsia.component.decl/use.fidl
Declares storage used by a component, which was offered to it.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
source_name |
name
|
(Required) Name identifying the storage, by which it was presented to this component. |
2 |
target_path |
string[1024]
|
(Required) The path where the capability should be installed in the component's namespace. Must be an absolute path starting with /. |
3 |
availability |
Availability
|
(Optional, defaults to |
UNIONS
Capability flexible
Defined in fuchsia.component.decl/capability.fidl
Declares a capability defined by this component.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
Service
|
|
2 |
protocol |
Protocol
|
|
3 |
directory |
Directory
|
|
4 |
storage |
Storage
|
|
5 |
runner |
Runner
|
|
6 |
resolver |
Resolver
|
|
8 |
event_stream |
EventStream
|
Added: 8
|
9 |
dictionary |
Dictionary
|
Added: HEAD
|
10 |
config |
Configuration
|
Added: 20
|
ConfigChecksum flexible
Defined in fuchsia.component.decl/config.fidl
The checksum produced for a configuration interface. Two configuration interfaces are the same if their checksums are the same.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
sha256 |
uint8[32]
|
A SHA-256 hash produced over a component's config interface. |
ConfigSingleValue flexible
Defined in fuchsia.component.decl/config.fidl
A single configuration value.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
bool |
bool
|
|
2 |
uint8 |
uint8
|
|
3 |
uint16 |
uint16
|
|
4 |
uint32 |
uint32
|
|
5 |
uint64 |
uint64
|
|
6 |
int8 |
int8
|
|
7 |
int16 |
int16
|
|
8 |
int32 |
int32
|
|
9 |
int64 |
int64
|
|
10 |
string |
string
|
ConfigValue flexible
Defined in fuchsia.component.decl/config.fidl
A configuration value which can be provided to a component.
Used both for storing configuration at-rest and in runtime configuration APIs.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
single |
ConfigSingleValue
|
|
2 |
vector |
ConfigVectorValue
|
ConfigValueSource flexible
Defined in fuchsia.component.decl/config.fidl
Strategies available for resolving configuration values.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
package_path |
string
|
(Required) The path within the component's package at which to find config value files. |
2 |
capabilities |
ConfigSourceCapabilities
|
If this is set, then all of the config values are found through CML files. Added: HEAD
|
ConfigVectorValue flexible
Defined in fuchsia.component.decl/config.fidl
A vector configuration value.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
bool_vector |
vector<bool>
|
|
2 |
uint8_vector |
vector<uint8>
|
|
3 |
uint16_vector |
vector<uint16>
|
|
4 |
uint32_vector |
vector<uint32>
|
|
5 |
uint64_vector |
vector<uint64>
|
|
6 |
int8_vector |
vector<int8>
|
|
7 |
int16_vector |
vector<int16>
|
|
8 |
int32_vector |
vector<int32>
|
|
9 |
int64_vector |
vector<int64>
|
|
10 |
string_vector |
vector<string>
|
DebugRegistration flexible
Defined in fuchsia.component.decl/environment.fidl
Declares a capability registered in the debug section of an environment.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
protocol |
DebugProtocolRegistration
|
Expose flexible
Defined in fuchsia.component.decl/expose.fidl
Declares a capability exposed to either a component's containing realm or to the framework. For example, a legacy service exposed by the component at runtime.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
ExposeService
|
|
2 |
protocol |
ExposeProtocol
|
|
3 |
directory |
ExposeDirectory
|
|
4 |
runner |
ExposeRunner
|
|
5 |
resolver |
ExposeResolver
|
|
7 |
dictionary |
ExposeDictionary
|
Added: HEAD
|
8 |
config |
ExposeConfiguration
|
Added: 20
|
LayoutConstraint flexible
Defined in fuchsia.component.decl/config.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
max_size |
uint32
|
LayoutParameter flexible
Defined in fuchsia.component.decl/config.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
nested_type |
ConfigType
|
Offer flexible
Defined in fuchsia.component.decl/offer.fidl
Declares a capability offered by a component to one of its children, which may have been offered by the component's containing realm, the component itself, or one of its other children.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
OfferService
|
|
2 |
protocol |
OfferProtocol
|
|
3 |
directory |
OfferDirectory
|
|
4 |
storage |
OfferStorage
|
|
5 |
runner |
OfferRunner
|
|
6 |
resolver |
OfferResolver
|
|
8 |
event_stream |
OfferEventStream
|
|
9 |
dictionary |
OfferDictionary
|
Added: HEAD
|
10 |
config |
OfferConfiguration
|
Added: 20
|
Ref flexible
Defined in fuchsia.component.decl/relative_refs.fidl
A reference to a capability source or destination relative to this component.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
parent |
ParentRef
|
|
2 |
self |
SelfRef
|
|
3 |
child |
ChildRef
|
|
4 |
collection |
CollectionRef
|
|
5 |
framework |
FrameworkRef
|
|
6 |
capability |
CapabilityRef
|
|
7 |
debug |
DebugRef
|
|
8 |
void_type |
VoidRef
|
|
9 |
environment |
EnvironmentRef
|
Added: HEAD
|
Use flexible
Defined in fuchsia.component.decl/use.fidl
Declares a capability used by a component, which was offered to it.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
service |
UseService
|
|
2 |
protocol |
UseProtocol
|
|
3 |
directory |
UseDirectory
|
|
4 |
storage |
UseStorage
|
|
7 |
event_stream |
UseEventStream
|
|
8 |
runner |
UseRunner
|
Added: HEAD
|
9 |
config |
UseConfiguration
|
Added: 20
|
BITS
ConfigMutability flexible
Type: uint32
Defined in fuchsia.component.decl/config.fidl
Allowed sources for runtime overrides of a config field's value.
Name | Value | Description |
---|---|---|
PARENT |
1 | Allow parent components to provide overrides for the configuration field. |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
CONFIG_KEY_MAX_SIZE |
64
|
uint32 |
Config keys can only consist of these many bytes |
MAX_CHILD_NAME_LENGTH |
1024
|
uint32 |
|
MAX_MONIKER_LENGTH |
4096
|
uint32 |
|
MAX_NAME_LENGTH |
100
|
uint32 |
|
MAX_NUM_EVENT_STREAM_SUBSCRIPTIONS |
100
|
uint64 |
The maximum number of EventSubscriptions in an EventStream. |
MAX_PATH_LENGTH |
1024
|
uint32 |
|
MAX_URL_SCHEME_LENGTH |
100
|
uint32 |
ALIASES
Name | Value | Description |
---|---|---|
ConfigKey |
string [CONFIG_KEY_MAX_SIZE ] |
The string identifier for a config field. |
child_name |
string [MAX_CHILD_NAME_LENGTH ] |
|
dictionary_path |
string [MAX_PATH_LENGTH ] |
Path in a dictionary. The format is similar to a directory path, except no The "dirname" (first to the penultimate segment, or empty if there is one segment) represents a sequence of nested dictionaries. The "basename" (last segment) identifies a capability in the last nested dictionary. Added: HEAD
|
name |
string [MAX_NAME_LENGTH ] |
|
url_scheme |
string [MAX_URL_SCHEME_LENGTH ] |