<br />

Added: 27

## **PROTOCOLS**

## Channel

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=23)*

FDomain operations on Channels.

<br />

### CreateChannel

Create a new channel in this FDomain and return both its ends.

#### Request

| Name | Type |
|---|---|
| `handles` | `array<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId, 2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_CreateChannel_Result` |

### OnChannelStreamingData

Data read asynchronously from a channel.

#### Response

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `channel_sent` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#ChannelSent` |

### ReadChannel

Read a message from a channel. This method will fail if the channel is currently being read
using the streaming read functions.

Note that this method is not like zx_channel_read in that it will not
return `SHOULD_WAIT` but will instead delay returning until there is data
to return.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannel_Result` |

### ReadChannelStreamingStart

Starts reading from the given channel. Data is returned via the `ChannelStreamingData` event.
That event will occur repeatedly until `ReadChannelStreamingStop` is called for the same handle
or the event indicates the handle is closed.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannelStreamingStart_Result` |

### ReadChannelStreamingStop

Stop asynchronous reading from the given channel.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannelStreamingStop_Result` |

### WriteChannel

Write to a channel. Handles are always consumed.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `data` | `vector<uint8>:65536` |
| `handles` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Handles` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_WriteChannel_Result` |

## Event

*Defined in [fuchsia.fdomain/event.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/event.fidl;l=8)*

FDomain operations on Events.

<br />

### CreateEvent

Create a new event in this FDomain and return it.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Event_CreateEvent_Result` |

## EventPair

*Defined in [fuchsia.fdomain/event_pair.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/event_pair.fidl;l=8)*

FDomain operations on EventPairs.

<br />

### CreateEventPair

Create a new event pair in this FDomain and return both its ends.

#### Request

| Name | Type |
|---|---|
| `handles` | `array<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId, 2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#EventPair_CreateEventPair_Result` |

## FDomain

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=129)*

The FDomain control protocol.

This protocol is designed to be used over a network or other non-channel
transport.

<br />

### Close

Close one or more handles.

#### Request

| Name | Type |
|---|---|
| `handles` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Close_Result` |

### CreateChannel

Create a new channel in this FDomain and return both its ends.

#### Request

| Name | Type |
|---|---|
| `handles` | `array<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId, 2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_CreateChannel_Result` |

### CreateEvent

Create a new event in this FDomain and return it.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Event_CreateEvent_Result` |

### CreateEventPair

Create a new event pair in this FDomain and return both its ends.

#### Request

| Name | Type |
|---|---|
| `handles` | `array<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId, 2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#EventPair_CreateEventPair_Result` |

### CreateSocket

Create a new socket in this FDomain and return both its ends.

#### Request

| Name | Type |
|---|---|
| `options` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketType` |
| `handles` | `array<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId, 2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_CreateSocket_Result` |

### CreateVmo

Create a new VMO in this FDomain.

#### Request

| Name | Type |
|---|---|
| `size` | `uint64` |
| `options` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#VmoOptions` |
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_CreateVmo_Result` |

### Duplicate

Duplicate a handle.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `new_handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |
| `rights` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Rights` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Duplicate_Result` |

### GetKoid

Return the kernel object ID (koid) of the handle.
Added: 30

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_GetKoid_Result` |

### GetNamespace

Adds a new channel handle to this namespace which points to a
fuchsia.io.Directory. Can be used to "bootstrap" the FDomain.

#### Request

| Name | Type |
|---|---|
| `new_handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_GetNamespace_Result` |

### GetVmoSize

Get the size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_GetVmoSize_Result` |

### GetVmoStreamSize

Get the stream size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_GetVmoStreamSize_Result` |

### OnChannelStreamingData

Data read asynchronously from a channel.

#### Response

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `channel_sent` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#ChannelSent` |

### OnSocketStreamingData

Data read asynchronously from a socket.

#### Response

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `socket_message` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketMessage` |

### ReadChannel

Read a message from a channel. This method will fail if the channel is currently being read
using the streaming read functions.

Note that this method is not like zx_channel_read in that it will not
return `SHOULD_WAIT` but will instead delay returning until there is data
to return.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannel_Result` |

### ReadChannelStreamingStart

Starts reading from the given channel. Data is returned via the `ChannelStreamingData` event.
That event will occur repeatedly until `ReadChannelStreamingStop` is called for the same handle
or the event indicates the handle is closed.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannelStreamingStart_Result` |

### ReadChannelStreamingStop

Stop asynchronous reading from the given channel.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannelStreamingStop_Result` |

### ReadSocket

Read data from a socket. This method will fail if the socket is currently being read
asynchronously.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `max_bytes` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocket_Result` |

### ReadSocketStreamingStart

Starts reading from the given socket. Data is returned via the `SocketStreamingData` event. That
event will occur repeatedly until `ReadSocketStreamingStop` is called for the same handle or the
event indicates the handle is closed.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocketStreamingStart_Result` |

### ReadSocketStreamingStop

Stop asynchronous reading from the given socket.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocketStreamingStop_Result` |

### ReadVmo

Read data from a VMO.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `offset` | `uint64` |
| `size` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_ReadVmo_Result` |

### Replace

Close a handle and replace it with a new one with possibly different
rights.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `new_handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |
| `rights` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Rights` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Replace_Result` |

### SetSocketDisposition

Set the disposition of a given socket.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `disposition` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketDisposition` |
| `disposition_peer` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketDisposition` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_SetSocketDisposition_Result` |

### SetVmoSize

Set the size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `size` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_SetVmoSize_Result` |

### SetVmoStreamSize

Set the stream size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `size` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_SetVmoStreamSize_Result` |

### Signal

Set or clear signals on a handle.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `set` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |
| `clear` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Signal_Result` |

### SignalPeer

Set or clear signals on a handle's peer.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `set` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |
| `clear` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_SignalPeer_Result` |

### WaitForSignals

Wait for signals from the given handle. Reply will be returned when one
of the given signals is asserted.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `signals` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_WaitForSignals_Result` |

### WriteChannel

Write to a channel. Handles are always consumed.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `data` | `vector<uint8>:65536` |
| `handles` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Handles` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_WriteChannel_Result` |

### WriteSocket

Write to a socket. This will attempt to write all the data passed, and
will block and retry whenever it is safe (e.g. it should never return
SHOULD_WAIT). The `WriteSocketError` contains a `wrote` parameter to
indicate if some bytes were written successfully before the failure
occurred.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `data` | `vector<uint8>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_WriteSocket_Result` |

### WriteVmo

Write data to a VMO.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `offset` | `uint64` |
| `data` | `vector<uint8>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_WriteVmo_Result` |

## Socket

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=33)*

FDomain operations on sockets

<br />

### CreateSocket

Create a new socket in this FDomain and return both its ends.

#### Request

| Name | Type |
|---|---|
| `options` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketType` |
| `handles` | `array<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId, 2>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_CreateSocket_Result` |

### OnSocketStreamingData

Data read asynchronously from a socket.

#### Response

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `socket_message` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketMessage` |

### ReadSocket

Read data from a socket. This method will fail if the socket is currently being read
asynchronously.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `max_bytes` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocket_Result` |

### ReadSocketStreamingStart

Starts reading from the given socket. Data is returned via the `SocketStreamingData` event. That
event will occur repeatedly until `ReadSocketStreamingStop` is called for the same handle or the
event indicates the handle is closed.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocketStreamingStart_Result` |

### ReadSocketStreamingStop

Stop asynchronous reading from the given socket.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocketStreamingStop_Result` |

### SetSocketDisposition

Set the disposition of a given socket.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `disposition` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketDisposition` |
| `disposition_peer` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketDisposition` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_SetSocketDisposition_Result` |

### WriteSocket

Write to a socket. This will attempt to write all the data passed, and
will block and retry whenever it is safe (e.g. it should never return
SHOULD_WAIT). The `WriteSocketError` contains a `wrote` parameter to
indicate if some bytes were written successfully before the failure
occurred.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `data` | `vector<uint8>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_WriteSocket_Result` |

## Vmo

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=17)*

FDomain operations on VMOs (Virtual Memory Objects).
Added: HEAD

<br />

### CreateVmo

Create a new VMO in this FDomain.

#### Request

| Name | Type |
|---|---|
| `size` | `uint64` |
| `options` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#VmoOptions` |
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_CreateVmo_Result` |

### GetVmoSize

Get the size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_GetVmoSize_Result` |

### GetVmoStreamSize

Get the stream size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_GetVmoStreamSize_Result` |

### ReadVmo

Read data from a VMO.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `offset` | `uint64` |
| `size` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_ReadVmo_Result` |

### SetVmoSize

Set the size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `size` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_SetVmoSize_Result` |

### SetVmoStreamSize

Set the stream size of a VMO in bytes.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `size` | `uint64` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_SetVmoStreamSize_Result` |

### WriteVmo

Write data to a VMO.

#### Request

| Name | Type |
|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |
| `offset` | `uint64` |
| `data` | `vector<uint8>` |

#### Response

| Name | Type |
|---|---|
| `payload` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_WriteVmo_Result` |

## **STRUCTS**

### AioStopped

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=32)*

A return value indicating asynchronous IO has stopped, optionally with an error.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `error` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error?` |   | No default |

### BadHandleId

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=41)*

| Field | Type | Description | Default |
|---|---|---|---|
| `id` | `uint32` |   | No default |

### ChannelMessage

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=16)*

Message received through a channel.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `data` | `vector<uint8>:65536` |   | No default |
| `handles` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleInfo>:64` |   | No default |

### Channel_CreateChannel_Response

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=27)*

\<EMPTY\>

### Channel_ReadChannelStreamingStart_Response

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=56)*

\<EMPTY\>

### Channel_ReadChannelStreamingStop_Response

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=61)*

\<EMPTY\>

### Channel_WriteChannel_Response

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=49)*

\<EMPTY\>

### ClosedDuringRead

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=80)*

\<EMPTY\>

### EventPair_CreateEventPair_Response

*Defined in [fuchsia.fdomain/event_pair.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/event_pair.fidl;l=12)*

\<EMPTY\>

### Event_CreateEvent_Response

*Defined in [fuchsia.fdomain/event.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/event.fidl;l=12)*

\<EMPTY\>

### FDomain_Close_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=146)*

\<EMPTY\>

### FDomain_Duplicate_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=153)*

\<EMPTY\>

### FDomain_GetKoid_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=190)*

| Field | Type | Description | Default |
|---|---|---|---|
| `koid` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Koid` |   | No default |

### FDomain_GetNamespace_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=141)*

\<EMPTY\>

### FDomain_Replace_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=161)*

\<EMPTY\>

### FDomain_SignalPeer_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=175)*

\<EMPTY\>

### FDomain_Signal_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=168)*

\<EMPTY\>

### FDomain_WaitForSignals_Response

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=182)*

| Field | Type | Description | Default |
|---|---|---|---|
| `signals` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |   | No default |

### HandleDisposition

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=119)*

A handle disposition. Contains a handle to be written to a channel, as well
as an operation to perform before writing.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleOp` |   | No default |
| `rights` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Rights` |   | No default |

### HandleId

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=11)*

A handle ID. This is the same size as an actual Zircon handle, and refers to
one conceptually, but internally it is not actually a Zircon handle number.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `id` | `uint32` |   | No default |

### HandleInfo

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=25)*

A handle, and the rights that handle is known to possess. This is meant to be
a direct analogue to `zx_handle_info_t` as described in
https://fuchsia.dev/reference/syscalls/channel_read_etc

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `handle` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |   | No default |
| `type` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#ObjType` |   | No default |
| `rights` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Rights` |   | No default |

### NewHandleId

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=18)*

A new handle ID. The ID should be a handle ID that has not been used before
in this session. The call this is passed to will presumably make a handle at
this ID, and it can be used as a `HandleId` in subsequent calls.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `id` | `uint32` |   | No default |

### NewHandleIdOutOfRange

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=47)*

| Field | Type | Description | Default |
|---|---|---|---|
| `id` | `uint32` |   | No default |

### NewHandleIdReused

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=52)*

| Field | Type | Description | Default |
|---|---|---|---|
| `id` | `uint32` |   | No default |
| `same_call` | `bool` | Indicates this `NewHandleId` did not collide before the method was called, but we passed the same `NewHandleId` to the method twice. | No default |

### NoReadInProgress

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=73)*

\<EMPTY\>

### RightsUnknown

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=94)*

| Field | Type | Description | Default |
|---|---|---|---|
| `rights` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Rights` |   | No default |

### SignalsUnknown

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=86)*

| Field | Type | Description | Default |
|---|---|---|---|
| `signals` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Signals` |   | No default |

### SocketData

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=26)*

Data resulting from reading a socket.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `data` | `vector<uint8>` |   | No default |
| `is_datagram` | `bool` |   | No default |

### SocketDispositionUnknown

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=99)*

| Field | Type | Description | Default |
|---|---|---|---|
| `disposition` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketDisposition` |   | No default |

### SocketTypeUnknown

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=104)*

| Field | Type | Description | Default |
|---|---|---|---|
| `type` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketType` |   | No default |

### Socket_CreateSocket_Response

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=38)*

\<EMPTY\>

### Socket_ReadSocketStreamingStart_Response

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=71)*

\<EMPTY\>

### Socket_ReadSocketStreamingStop_Response

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=76)*

\<EMPTY\>

### Socket_SetSocketDisposition_Response

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=45)*

\<EMPTY\>

### Socket_WriteSocket_Response

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=62)*

| Field | Type | Description | Default |
|---|---|---|---|
| `wrote` | `uint64` |   | No default |

### StreamingReadInProgress

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=69)*

\<EMPTY\>

### Vmo_CreateVmo_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=23)*

\<EMPTY\>

### Vmo_GetVmoSize_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=44)*

| Field | Type | Description | Default |
|---|---|---|---|
| `size` | `uint64` |   | No default |

### Vmo_GetVmoStreamSize_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=57)*

| Field | Type | Description | Default |
|---|---|---|---|
| `size` | `uint64` |   | No default |

### Vmo_ReadVmo_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=30)*

| Field | Type | Description | Default |
|---|---|---|---|
| `data` | `vector<uint8>` |   | No default |

### Vmo_SetVmoSize_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=52)*

\<EMPTY\>

### Vmo_SetVmoStreamSize_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=65)*

\<EMPTY\>

### Vmo_WriteVmo_Response

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=39)*

\<EMPTY\>

### WriteSocketError

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=7)*

Result from a socket write operation.

<br />

| Field | Type | Description | Default |
|---|---|---|---|
| `error` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   | No default |
| `wrote` | `uint64` |   | No default |

### WrongHandleType

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=61)*

| Field | Type | Description | Default |
|---|---|---|---|
| `expected` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#ObjType` |   | No default |
| `got` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#ObjType` |   | No default |

### WroteToSelf

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=76)*

\<EMPTY\>

## **ENUMS**

### SocketDisposition [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=13)*

Socket disposition.

<br />

| Name | Value | Description |
|---|---|---|
| ### NO_CHANGE | `0` |   |
| ### WRITE_ENABLED | `1` |   |
| ### WRITE_DISABLED | `2` |   |

### SocketType [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=20)*

Socket type.

<br />

| Name | Value | Description |
|---|---|---|
| ### STREAM | `0` |   |
| ### DATAGRAM | `1` |   |

## **UNIONS**

### ChannelSent [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=66)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `message` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#ChannelMessage` |   |
| ### 2 | `stopped` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#AioStopped` |   |

<br />

### Channel_CreateChannel_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=27)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_CreateChannel_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Channel_ReadChannelStreamingStart_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=56)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannelStreamingStart_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Channel_ReadChannelStreamingStop_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=61)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_ReadChannelStreamingStop_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Channel_ReadChannel_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=37)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#ChannelMessage` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Channel_WriteChannel_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=49)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Channel_WriteChannel_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#WriteChannelError` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Error [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=36)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `target_error` | `https://fuchsia.dev/reference/zx//https://fuchsia.dev/reference/zx#Result` | An error produced by interacting with the handle itself. |
| ### 2 | `bad_handle_id` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#BadHandleId` | An invalid handle ID was given. |
| ### 3 | `new_handle_id_out_of_range` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleIdOutOfRange` | We passed a `NewHandleId` that contained an ID with a 1 in the most significant bit. |
| ### 4 | `new_handle_id_reused` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NewHandleIdReused` | We passed a `NewHandleId` that collides with an already-allocated handle. |
| ### 5 | `wrong_handle_type` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#WrongHandleType` | The handle used is not of the right type for the operation requested. |
| ### 6 | `streaming_read_in_progress` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#StreamingReadInProgress` | Occurs when we try to start streaming reading twice on the same handle, or try to directly read from a handle which we are already streaming reading from. |
| ### 7 | `no_read_in_progress` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#NoReadInProgress` | We tried to stop streaming reading on a handle we weren't streaming reads from to begin with. |
| ### 8 | `wrote_to_self` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#WroteToSelf` | We tried to write a channel into itself. |
| ### 9 | `closed_during_read` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#ClosedDuringRead` | We received a request to close or transfer a handle while we were waiting to read from it. |
| ### 10 | `signals_unknown` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SignalsUnknown` | The flexible features of this protocol allowed the client to send us signals that we didn't actually understand, and we couldn't proceed safely without knowing what they were. The signals field should contain only the signals that weren't understood. |
| ### 11 | `rights_unknown` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#RightsUnknown` | The flexible features of this protocol allowed the client to send us rights that we didn't actually understand, and we couldn't proceed safely without knowing what they were. The rights field should contain only the rights that weren't understood. |
| ### 12 | `socket_disposition_unknown` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketDispositionUnknown` | The client used a socket disposition that the FDomain did not recognize. |
| ### 13 | `socket_type_unknown` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketTypeUnknown` | The client used a socket type that the FDomain did not recognize. |

<br />

### EventPair_CreateEventPair_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/event_pair.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/event_pair.fidl;l=12)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#EventPair_CreateEventPair_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Event_CreateEvent_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/event.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/event.fidl;l=12)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Event_CreateEvent_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_Close_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=146)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Close_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_Duplicate_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=153)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Duplicate_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_GetKoid_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=190)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_GetKoid_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_GetNamespace_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=141)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_GetNamespace_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_Replace_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=161)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Replace_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_SignalPeer_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=175)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_SignalPeer_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_Signal_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=168)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_Signal_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### FDomain_WaitForSignals_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=182)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#FDomain_WaitForSignals_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### HandleOp [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/protocol.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/protocol.fidl;l=112)*

A handle, paired with an operation to perform on that handle (move or
duplicate).

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `move` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |   |
| ### 2 | `duplicate` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId` |   |

<br />

### Handles [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=45)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `handles` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleId>:64` |   |
| ### 2 | `dispositions` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#HandleDisposition>:64` |   |

<br />

### SocketMessage [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=81)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `data` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketData` |   |
| ### 2 | `stopped` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#AioStopped` |   |

<br />

### Socket_CreateSocket_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=38)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_CreateSocket_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Socket_ReadSocketStreamingStart_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=71)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocketStreamingStart_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Socket_ReadSocketStreamingStop_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=76)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_ReadSocketStreamingStop_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Socket_ReadSocket_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=52)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#SocketData` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Socket_SetSocketDisposition_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=45)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_SetSocketDisposition_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Socket_WriteSocket_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/socket.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/socket.fidl;l=62)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Socket_WriteSocket_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#WriteSocketError` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_CreateVmo_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=23)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_CreateVmo_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_GetVmoSize_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=44)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_GetVmoSize_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_GetVmoStreamSize_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=57)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_GetVmoStreamSize_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_ReadVmo_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=30)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_ReadVmo_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_SetVmoSize_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=52)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_SetVmoSize_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_SetVmoStreamSize_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=65)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_SetVmoStreamSize_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### Vmo_WriteVmo_Result [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=39)*

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `response` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Vmo_WriteVmo_Response` |   |
| ### 2 | `err` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 3 | `framework_err` | `internal` |   |

<br />

### WriteChannelError [strict](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

*Defined in [fuchsia.fdomain/channel.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/channel.fidl;l=10)*

Result from a channel write operation.

| Ordinal | Variant | Type | Description |
|---|---|---|---|
| ### 1 | `error` | `https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error` |   |
| ### 2 | `op_errors` | `vector<https://fuchsia.dev/reference/fidl/fuchsia.fdomain#Error?>` |   |

<br />

## **BITS**

### VmoOptions [flexible](https://fuchsia.dev/fuchsia-src/reference/fidl/language/language#strict-vs-flexible)

Type: `uint32`

*Defined in [fuchsia.fdomain/vmo.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.fdomain/vmo.fidl;l=8)*

Options for creating a VMO.
Added: HEAD

<br />

| Name | Value | Description |
|---|---|---|
| ### RESIZABLE | 2 |   |
| ### TRAP_DIRTY | 8 |   |
| ### UNBOUNDED | 16 |   |