fuchsia.component.sandbox

Added: 20

PROTOCOLS

CapabilityStore

Defined in fuchsia.component.sandbox/sandbox.fidl

Protocol that represents the concept of a "capability store", a repository for [Capability]s that are held by the component framework runtime.

[CapabilityStore] serves as the main bridge between the component runtime and clients that enables them to operate on and exchange [Capability]s. A [CapabilityStore] instance contains a set of [Capability]s, each of which has a [CapabilityId] assigned by the client.

Normally, a program would not exchange a [CapabilityStore] or [CapabilityId] with other programs -- a [CapabilityStore] connection and its enclosed capabilities are intended to be "local" to a program. Instead, if a program wishes to exchange a [Capability] with other programs, it should [Export] the [Capability] out of the store, send the [Capability] to the target program, which can then [Import] the capability into its own store.

[CapabilityStore] is also used to manage capability lifetimes. The lifetime of a capability is scoped to the [CapabilityStore] in which it resides; i.e. to drop the [CapabilityStore] connections to release the capabilities instead it. In addition, [CapabilityStore] supports a [Drop] API to drop an individual [Capability] reference. (Note that it is possible for a some capabilities, like [DictionaryRef], to have multiple references, in which case all of the references must be dropped for the underlying resource to be released.)

A note about semantics: the [CapabilityStore] APIs do not return [CapabilityId]s, because [CapabilityId]s are assigned by the client. Instead, when a method would semantically return a capability, this is expressed by taking the destination [CapabilityId] as an output parameter.

Added: HEAD

DictionaryCopy

Create a new dictionary that contains a duplicate of all the entries in the dictionary with id, assigning dest_id to the new dictionary. The runtime of this method is linear in the number of top-level entries in the dictionary.

For example, if the dictionary contains nested dictionaries, the newly created dictionary will contain references to those same nested dictionaries because the entries are duplicated rather than deep-copied.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • ID_ALREADY_EXISTS if a capability with dest_id already exists in this store.
  • WRONG_TYPE if id was not a dictionary.
  • NOT_DUPLICATABLE if one of the capabilities in id could not be duplicated.

Request

NameType
id CapabilityId
dest_id NewCapabilityId

Response

NameType
payload CapabilityStore_DictionaryCopy_Result

DictionaryCreate

Creates a new empty dictionary in this CapabilityStore with client-assigned id.

Errors:

  • ID_ALREADY_EXISTS if a capability with id already exists in this store.

Request

NameType
id CapabilityId

Response

NameType
payload CapabilityStore_DictionaryCreate_Result

DictionaryDrain

Removes all the entries in this dictionary, returning them in contents if provided. If contents is not provided, all the items are discarded without enumerating them.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • WRONG_TYPE if id was not a dictionary.

Request

NameType
id CapabilityId
iterator server_end<DictionaryDrainIterator>?

Response

NameType
payload CapabilityStore_DictionaryDrain_Result

DictionaryEnumerate

Enumerates the items (keys and values) in the dictionary with id.

Creates a duplicate of each value (capability). If a value could not be duplicated, the value will be null.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • WRONG_TYPE if id was not a dictionary.

Request

NameType
id CapabilityId
iterator server_end<DictionaryEnumerateIterator>

Response

NameType
payload CapabilityStore_DictionaryEnumerate_Result

DictionaryGet

Get a duplicate of a capability from the dictionary with id, which is loaded into dest_id.

Errors:

  • ID_NOT_FOUND if id was not a recognized capability id in this store.
  • ID_ALREADY_EXISTS if a capability with dest_id already exists in this store.
  • WRONG_TYPE if id was not a dictionary.
  • INVALID_KEY if item.key was invalid.
  • ITEM_NOT_FOUND if the dictionary does not contain key.
  • NOT_DUPLICATABLE if the capability could not be duplicated.

Request

NameType
id CapabilityId
key DictionaryKey
dest_id NewCapabilityId

Response

NameType
payload CapabilityStore_DictionaryGet_Result

DictionaryInsert

Inserts item into the dictionary with id. item.value is moved into the dictionary and its id is released if this call succeeds.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • WRONG_TYPE if id was not a dictionary.
  • INVALID_KEY if item.key was invalid.
  • ITEM_ALREADY_EXISTS if the dictionary already contains an item with item.key.

Request

NameType
id CapabilityId
item DictionaryItem

Response

NameType
payload CapabilityStore_DictionaryInsert_Result

DictionaryKeys

Enumerates the keys in the dictionary with id.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • WRONG_TYPE if id was not a dictionary.

Request

NameType
id CapabilityId
iterator server_end<DictionaryKeysIterator>

Response

NameType
payload CapabilityStore_DictionaryKeys_Result

DictionaryLegacyExport

Binds a channel to the dictionary with id. The channel can be re-imported into a [CapabilityStore] with [DictionaryImportLegacy].

This is a legacy API to support backward compatibility with APIs that take a [Dictionary] channel.

Request

NameType
id CapabilityId
server_end handle<channel>

Response

NameType
payload CapabilityStore_DictionaryLegacyExport_Result

DictionaryLegacyImport

Imports a dictionary in the form of a channel.

This is a legacy API to support backward compatibility with APIs that take a [Dictionary] channel.

Request

NameType
id NewCapabilityId
client_end handle<channel>

Response

NameType
payload CapabilityStore_DictionaryLegacyImport_Result

DictionaryRemove

Removes a key from the dictionary with id. If dest_id is present, loads the value into it, otherwise discards the value.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • ID_ALREADY_EXISTS if a capability with dest_id already exists in this store.
  • WRONG_TYPE if id was not a dictionary.
  • INVALID_KEY if key was invalid.
  • ITEM_NOT_FOUND if the dictionary does not contain the key.

Request

NameType
id CapabilityId
key DictionaryKey
dest_id WrappedCapabilityId?

Response

NameType
payload CapabilityStore_DictionaryRemove_Result

Drop

Drops the capability with id from this CapabilityStore.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.

Request

NameType
id CapabilityId

Response

NameType
payload CapabilityStore_Drop_Result

Duplicate

Duplicates the capability with id to dest_id.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.
  • ID_ALREADY_EXISTS if a capability with dest_id already exists in this store.
  • NOT_DUPLICATABLE if id could not be duplicated.

Request

NameType
id CapabilityId
dest_id NewCapabilityId

Response

NameType
payload CapabilityStore_Duplicate_Result

Export

Exports the capability with the client-assigned identifier id to capability. This operation removes the capability from the store. If this is not desired, [Duplicate] the capability first.

Errors:

  • ID_NOT_FOUND if id was not a valid capability id in this store.

Request

NameType
id CapabilityId

Response

NameType
payload CapabilityStore_Export_Result

Import

Imports capability into this store with the client-assigned id.

Errors:

  • ID_ALREADY_EXISTS if a capability with id already exists in this store.
  • BAD_CAPABILITY if capability was not a valid [Capability].

Request

NameType
id NewCapabilityId
capability Capability

Response

NameType
payload CapabilityStore_Import_Result

Dictionary

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: 20

DictionaryDrainIterator

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

GetNext

Returns the next batch of results for a [Dictionary.Drain] call, returning up to limit results. limit can be at most [MAX_DICTIONARY_ITERATOR_CHUNK].

Each returned capability will be assigned a monotonically increasing [CapabilityId] starting from start_id.

In addition to the items, returns end_id, which is one more than the highest id reserved by [GetNext]. end_id can be used as the start_id for the next call to [GetNext].

If [GetNext] returns an error, the server will also close the channel.

Errors:

  • ID_ALREADY_EXISTS if some id in the range [start_id, limit) already exists in this store.
  • INVALID_ARGS if limit was 0 or greater than MAX_DICTIONARY_ITERATOR_CHUNK.

Request

NameType
start_id CapabilityId
limit uint32

Response

NameType
payload DictionaryDrainIterator_GetNext_Result

DictionaryEnumerateIterator

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

GetNext

Returns the next batch of results for a [Dictionary.Enumerate] call, returning up to limit results. limit can be at most [MAX_DICTIONARY_ITERATOR_CHUNK].

The value of each of items is a duplicate of the original capability ([CapabilityStore.Duplicate]), unless it could not be duplicated, it which case it will be null.

Each returned capability will be assigned a monotonically increasing [CapabilityId] starting from start_id.

In addition to the items, returns end_id, which is one more than the highest id reserved by [GetNext]. end_id can be used as the start_id for the next call to [GetNext].

If [GetNext] returns an error, the server will also close the channel.

Errors:

  • ID_ALREADY_EXISTS if some id in the range [start_id, limit) already exists in this store.
  • INVALID_ARGS if limit was 0 or greater than MAX_DICTIONARY_ITERATOR_CHUNK.

Request

NameType
start_id CapabilityId
limit uint32

Response

NameType
payload DictionaryEnumerateIterator_GetNext_Result

DictionaryKeysIterator

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

GetNext

Request

<EMPTY>

Response

NameType
payload DictionaryKeysIterator_GetNext_Result

Factory

Defined in fuchsia.component.sandbox/sandbox.fidl

The Factory protocol handles:

  • Instantiation of sandbox types.
  • Controlling sandbox objects given tokens.
Added: HEAD

CreateConnector

Creates a Connector from a client served Receiver.

Request

NameType
receiver Receiver

Response

NameType
payload Factory_CreateConnector_Result

OpenConnector

Open a connection from the provided [Connector] capability.

If there is an error, it will be reported as a zx.Status epitaph on server_end. Errors:

  • INVALID_ARGS: capability is not a recognized [Connector].

Request

NameType
capability Connector
server_end handle<channel>

Receiver

Defined in fuchsia.component.sandbox/sandbox.fidl

A receiver is served by clients and allows them to receive channels from the framework.

Added: HEAD

Receive

Sends a channel to this receiver.

Request

NameType
channel handle<channel>

Router

Defined in fuchsia.component.sandbox/sandbox.fidl

A router allows a client to request a capability.

Added: HEAD

Route

Request

NameType
payload RouteRequest

Response

NameType
payload Router_Route_Result

STRUCTS

CapabilityStore_DictionaryCopy_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryCreate_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryDrain_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryEnumerate_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryGet_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryInsert_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryKeys_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryLegacyExport_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryLegacyImport_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_DictionaryRemove_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_Drop_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_Duplicate_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

CapabilityStore_Export_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Capability No default

CapabilityStore_Import_Response

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

Connector resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

FieldTypeDescriptionDefault
token Token No default

DictionaryDrainIterator_GetNext_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
items vector<DictionaryItem>[128] No default
end_id CapabilityId No default

DictionaryEnumerateIterator_GetNext_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
items vector<DictionaryOptionalItem>[128] No default
end_id CapabilityId No default

DictionaryItem

Defined in fuchsia.component.sandbox/sandbox.fidl

A key-value pair in a DictionaryRef.

Added: HEAD

FieldTypeDescriptionDefault
key DictionaryKey No default
value CapabilityId No default

DictionaryKeysIterator_GetNext_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
keys vector<string>[128] No default

DictionaryOptionalItem resource

Defined in fuchsia.component.sandbox/sandbox.fidl

A key-value pair in a DictionaryRef, where the value may be elided. This is useful for APIs that may wish to omit the value, for example if it could not be duplicated.

Added: HEAD

FieldTypeDescriptionDefault
key DictionaryKey No default
value WrappedCapabilityId? No default

DictionaryRef resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

FieldTypeDescriptionDefault
token Token No default

DirEntry resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

FieldTypeDescriptionDefault
token Token No default

Factory_CreateConnector_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Connector No default

InstanceToken resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Represents an instance in the component tree, either a component instance or component manager's instance.

Added: HEAD

FieldTypeDescriptionDefault
token Token No default

ProtocolPayload resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Contains a protocol open request.

Added: HEAD

FieldTypeDescriptionDefault
channel handle<channel> No default

Router_Route_Response resource

Defined in fuchsia.component.sandbox/sandbox.fidl

FieldTypeDescriptionDefault
capability Capability No default

Unit

Defined in fuchsia.component.sandbox/sandbox.fidl

<EMPTY>

WrappedCapabilityId

Defined in fuchsia.component.sandbox/sandbox.fidl

A [CapabilityId] wrapped in a struct. This is useful for putting a [CapabilityId] in a box<>, which FIDL does not allow for pure integral types.

Added: HEAD

FieldTypeDescriptionDefault
id CapabilityId No default

ENUMS

Availability strict

Type: uint32

Defined in fuchsia.component.sandbox/availability.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).

Added: HEAD

NameValueDescription
1

The capability must be available. Failure to route the capability is an error.

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.

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.

4

The source may omit the route completely without even having to route from void.

TRANSITIONAL is used for soft transitions that introduce new capabilities.

CapabilityStoreError flexible

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

Error returned from methods in [CapabilityStore].

Added: HEAD

NameValueDescription
1

A capability was not found matching the given key or [CapabilityId].

2

A capability already exists matching the given key or [CapabilityId].

3

A [Capability] was not valid. For example, a Capability.Dictionary contained an invalid [DictionaryRef].

4

A [CapabilityId] had the wrong type for the requested operation.

5

A capability that needed to be duplicated to perform this operation could not be.

6

An item in a dictionary was not found matching the given key.

7

An item in a dictionary already exists with the given key.

8

The key is invalid. The constraints for valid keys are documented at https://fuchsia.dev/reference/cml#names.

9

One or more arguments were invalid.

DictionaryError flexible

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

Error returned from [CapabilityStore/Dictionary*] methods.

Added: HEAD

NameValueDescription
1

The Dictionary does not contain an item with the given key.

2

The Dictionary already contains an item with the given key.

3

The Capability is invalid.

Capabilities must be created by sandbox, via fuchsia.component.sandbox.Factory or returned from other Component Framework APIs.

4

The key is invalid. The constraints for valid keys are documented at https://fuchsia.dev/reference/cml#names.

5

A capability that needed to be cloned to perform this operation could not be cloned.

FactoryError flexible

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

NameValueDescription
1

An invalid argument was passed.

2

The requested resource was unavailable.

RouterError flexible

Type: uint32

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD

NameValueDescription
1

The router failed to find the capability.

2

The arguments provided to the function are invalid.

TABLES

RouteRequest resource

Defined in fuchsia.component.sandbox/sandbox.fidl

A request for a route.

Added: HEAD

OrdinalFieldTypeDescription
availability Availability

The requested availability for this capability.

requesting InstanceToken

The component that is requesting the capability.

metadata DictionaryRef

Metadata associated with this capability request.

UNIONS

Capability flexible resource

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD
OrdinalVariantTypeDescription
unit Unit
handle handle<handle>
data Data
dictionary DictionaryRef
connector Connector
directory fuchsia.io/Directory
router Router

8

dir_entry DirEntry

CapabilityStore_DictionaryCopy_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryCopy_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryCreate_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryCreate_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryDrain_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryDrain_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryEnumerate_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryEnumerate_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryGet_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryGet_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryInsert_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryInsert_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryKeys_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryKeys_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryLegacyExport_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryLegacyExport_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryLegacyImport_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryLegacyImport_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_DictionaryRemove_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_DictionaryRemove_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_Drop_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_Drop_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_Duplicate_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_Duplicate_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_Export_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_Export_Response
err CapabilityStoreError
framework_err internal

CapabilityStore_Import_Result strict

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response CapabilityStore_Import_Response
err CapabilityStoreError
framework_err internal

Data flexible

Defined in fuchsia.component.sandbox/sandbox.fidl

Added: HEAD
OrdinalVariantTypeDescription
bytes vector<uint8>[8192]
string string[8192]
int64 int64
uint64 uint64

DictionaryDrainIterator_GetNext_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response DictionaryDrainIterator_GetNext_Response
err CapabilityStoreError
framework_err internal

DictionaryEnumerateIterator_GetNext_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response DictionaryEnumerateIterator_GetNext_Response
err CapabilityStoreError
framework_err internal

DictionaryKeysIterator_GetNext_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response DictionaryKeysIterator_GetNext_Response
framework_err internal

Factory_CreateConnector_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Factory_CreateConnector_Response
framework_err internal

Router_Route_Result strict resource

Defined in fuchsia.component.sandbox/sandbox.fidl

OrdinalVariantTypeDescription
response Router_Route_Response
err RouterError
framework_err internal

CONSTANTS

NameValueTypeDescription
MAX_DATA_LENGTH 8192 uint32

Maximum number of bytes in a [Data].

Added: HEAD
MAX_DICTIONARY_ITERATOR_CHUNK 128 uint32

Maximum number of items returned by dictionary iterator.

Added: HEAD
MAX_NAME_LENGTH fuchsia.io/MAX_NAME_LENGTH uint64

The maximum length of a dictionary key. This should coincide with fuchsia.component.MAX_NAME_LENGTH.

Added: HEAD

ALIASES

NameValueDescription
CapabilityId uint64

A client-assigned id of a [Capability] in a [CapabilityStore].

The id is relative to the [CapabilityStore]. In the case where two [CapabilityStore]s have a capability / assigned to the same id, there is no relation between them

Added: HEAD
DictionaryKey string[MAX_NAME_LENGTH]

The key of a DictionaryItem. The constraints for valid keys are documented at https://fuchsia.dev/reference/cml#names.

Added: HEAD
NewCapabilityId uint64

A client-assigned id of a new [Capability] in a [CapabilityStore]. Same as [CapabilityId], but used to distinguish output parameters in [CapabilityStore] methods.

Added: HEAD
Token zx/Handle

A token represents a bedrock object. Tokens are reference counted, dropping all counts of the token removes the object.

Added: HEAD
WrappedNewCapabilityId fuchsia.component.sandbox/WrappedCapabilityId
Added: HEAD