[fidldoc] Updating fidl reference docs
diff --git a/all/fidl/README.md b/all/fidl/README.md
index d83dc94..fa776ee 100644
--- a/all/fidl/README.md
+++ b/all/fidl/README.md
@@ -2866,6 +2866,10 @@
<td></td>
</tr>
<tr>
+ <td><a href="fuchsia.net.virtualization/index">fuchsia.net.virtualization</a></td>
+ <td></td>
+</tr>
+<tr>
<td><a href="fuchsia.netemul/index">fuchsia.netemul</a></td>
<td></td>
</tr>
diff --git a/all/fidl/_toc.yaml b/all/fidl/_toc.yaml
index 3ff4118..c370351 100644
--- a/all/fidl/_toc.yaml
+++ b/all/fidl/_toc.yaml
@@ -1413,6 +1413,8 @@
path: /reference/fidl/fuchsia.net.stack
- title: fuchsia.net.tun
path: /reference/fidl/fuchsia.net.tun
+ - title: fuchsia.net.virtualization
+ path: /reference/fidl/fuchsia.net.virtualization
- title: fuchsia.netemul
path: /reference/fidl/fuchsia.netemul
- title: fuchsia.netemul.devmgr
diff --git a/all/fidl/fuchsia.net.virtualization/README.md b/all/fidl/fuchsia.net.virtualization/README.md
new file mode 100644
index 0000000..428c30c
--- /dev/null
+++ b/all/fidl/fuchsia.net.virtualization/README.md
@@ -0,0 +1,163 @@
+<link rel="stylesheet" href="../style.css" />
+
+[TOC]
+
+# fuchsia.net.virtualization
+
+
+
+## **PROTOCOLS**
+
+## Control {#Control}
+*Defined in [fuchsia.net.virtualization/control.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.virtualization/control.fidl;l=11)*
+
+<p>Provides control over virtualization network configuration.</p>
+
+
+### CreateNetwork {#Control.CreateNetwork}
+
+<p>Create a new network with configurable upstream connectivity.</p>
+<p>The network itself is always guaranteed to be created, but upstream
+connectivity may not be established initially and may be lost at
+any time.</p>
+<ul>
+<li>request <code>config</code> network configuration.</li>
+<li>request <code>network</code> provides control over the created network.</li>
+</ul>
+
+
+#### Request {#Control.CreateNetwork_Request}
+<table>
+ <tr><th>Name</th><th>Type</th></tr>
+ <tr>
+ <td><code>config</code></td>
+ <td>
+ <code><a class='link' href='#Config'>Config</a></code>
+ </td>
+ </tr><tr>
+ <td><code>network</code></td>
+ <td>
+ <code>request<<a class='link' href='#Network'>Network</a>></code>
+ </td>
+ </tr></table>
+
+
+
+## Interface {#Interface}
+*Defined in [fuchsia.net.virtualization/control.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.virtualization/control.fidl;l=70)*
+
+<p>Provides control over an interface.</p>
+<p>This protocol encodes the lifetime of the underlying interface in both
+directions, that is:</p>
+<ul>
+<li>if the client end is closed, the server will detach the interface
+from the network it belongs to and detach the network device;</li>
+<li>if the server end is closed, the interface has been detached from
+the network it was attached to and destroyed.</li>
+</ul>
+<p>Terminated with the epitaph <code>ZX_ERR_WRONG_TYPE</code> if the device could not
+be added to the network due to incompatibility, e.g. if the network is
+bridged and the device does not support the same L2 protocol as other
+devices on the bridge.</p>
+
+
+## Network {#Network}
+*Defined in [fuchsia.net.virtualization/control.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.virtualization/control.fidl;l=44)*
+
+<p>Provides control over a network.</p>
+<p>This protocol encodes the lifetime of the underlying network in both
+directions, that is:</p>
+<ul>
+<li>if the client end is closed: all interfaces added to the network
+(not including any used to provide upstream connectivity) will be
+removed and destroyed, and the network will be removed;</li>
+<li>if the server end is closed, all interfaces on the network and the
+network itself have been destroyed.</li>
+</ul>
+
+
+### AddDevice {#Network.AddDevice}
+
+<p>Add a device to the network.</p>
+<ul>
+<li>request <code>port_id</code> the netdevice port ID.</li>
+<li>request <code>device</code> the network device to be added.</li>
+<li>request <code>interface</code> provides control over the device.</li>
+</ul>
+
+
+#### Request {#Network.AddDevice_Request}
+<table>
+ <tr><th>Name</th><th>Type</th></tr>
+ <tr>
+ <td><code>port_id</code></td>
+ <td>
+ <code><a class='link' href='../fuchsia.hardware.network/'>fuchsia.hardware.network</a>/<a class='link' href='../fuchsia.hardware.network/#port_id'>port_id</a></code>
+ </td>
+ </tr><tr>
+ <td><code>device</code></td>
+ <td>
+ <code><a class='link' href='../fuchsia.hardware.network/'>fuchsia.hardware.network</a>/<a class='link' href='../fuchsia.hardware.network/#Device'>Device</a></code>
+ </td>
+ </tr><tr>
+ <td><code>interface</code></td>
+ <td>
+ <code>request<<a class='link' href='#Interface'>Interface</a>></code>
+ </td>
+ </tr></table>
+
+
+
+
+
+## **STRUCTS**
+
+
+
+
+
+## **TABLES**
+
+### Bridged {#Bridged data-text="Bridged"}
+
+
+*Defined in [fuchsia.net.virtualization/control.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.virtualization/control.fidl;l=29)*
+
+
+
+
+<table>
+ <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+ </table>
+
+
+
+## **UNIONS**
+
+### Config [flexible](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#Config data-text="Config"}
+*Defined in [fuchsia.net.virtualization/control.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.net.virtualization/control.fidl;l=21)*
+
+
+
+<table>
+ <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="Config.bridged">
+ <td><code>bridged</code></td>
+ <td>
+ <code><a class='link' href='#Bridged'>Bridged</a></code>
+ </td>
+ <td><p>Create a bridged network.</p>
+<p>The server will attempt to find a suitable interface to
+attach to the bridge for providing upstream connectivity. The
+selection process will be repeated to find a replacement
+iff the interface attached to the bridge with Internet
+connectivity is removed.</p>
+
+</td>
+ </tr></table>
+
+
+
+
+
+
+
diff --git a/all/fidl/fuchsia.ui.composition/README.md b/all/fidl/fuchsia.ui.composition/README.md
index 9e67e93..aceb40b 100644
--- a/all/fidl/fuchsia.ui.composition/README.md
+++ b/all/fidl/fuchsia.ui.composition/README.md
@@ -880,7 +880,7 @@
</tr></table>
## Screenshot {#Screenshot}
-*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=41)*
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=76)*
<p>This protocol provides a low-level Screenshot API for clients to use.
Screenshot clients should familiarize themselves with the sysmem and
@@ -918,6 +918,71 @@
</td>
</tr></table>
+### RemoveImage {#Screenshot.RemoveImage}
+
+<p>Following a successful call to <a class='link' href='#CreateImage'>CreateImage</a>, clients can call
+RemoveImage to delete the image and its associated metadata.</p>
+
+
+#### Request {#Screenshot.RemoveImage_Request}
+<table>
+ <tr><th>Name</th><th>Type</th></tr>
+ <tr>
+ <td><code>args</code></td>
+ <td>
+ <code><a class='link' href='#RemoveImageArgs'>RemoveImageArgs</a></code>
+ </td>
+ </tr></table>
+
+
+#### Response {#Screenshot.RemoveImage_Response}
+<table>
+ <tr><th>Name</th><th>Type</th></tr>
+ <tr>
+ <td><code>result</code></td>
+ <td>
+ <code><a class='link' href='#Screenshot_RemoveImage_Result'>Screenshot_RemoveImage_Result</a></code>
+ </td>
+ </tr></table>
+
+### TakeScreenshot {#Screenshot.TakeScreenshot}
+
+<p>Following a successful call to <a class='link' href='#CreateImage'>CreateImage</a>, clients can call
+TakeScreenshot giving that same image ID. Clients are responsible for
+determining the rotation of the display, and applying the corrective
+rotation.</p>
+<p>For instance, if the display is mounted 90 degrees clockwise (the "top"
+is on the right, when looking at the display), then the client should specify a
+270 degree rotation to account for it. Similarly, the clients are
+responsible for specifying a buffer big enough for the rotated image. If
+the buffer is too small, a best effort attempt will be made to render
+the image.</p>
+<p>Clients may wait on the zx::event they pass for successful completion of
+the screenshot. It is not guaranteed that the screenshot will be
+completed by the time this function returns.</p>
+
+
+#### Request {#Screenshot.TakeScreenshot_Request}
+<table>
+ <tr><th>Name</th><th>Type</th></tr>
+ <tr>
+ <td><code>args</code></td>
+ <td>
+ <code><a class='link' href='#TakeScreenshotArgs'>TakeScreenshotArgs</a></code>
+ </td>
+ </tr></table>
+
+
+#### Response {#Screenshot.TakeScreenshot_Response}
+<table>
+ <tr><th>Name</th><th>Type</th></tr>
+ <tr>
+ <td><code>result</code></td>
+ <td>
+ <code><a class='link' href='#Screenshot_TakeScreenshot_Result'>Screenshot_TakeScreenshot_Result</a></code>
+ </td>
+ </tr></table>
+
## **STRUCTS**
@@ -990,7 +1055,23 @@
</table>
### Screenshot_CreateImage_Response {#Screenshot_CreateImage_Response data-text="Screenshot_CreateImage_Response"}
-*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=51)*
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=86)*
+
+
+
+
+<EMPTY>
+
+### Screenshot_RemoveImage_Response {#Screenshot_RemoveImage_Response data-text="Screenshot_RemoveImage_Response"}
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=92)*
+
+
+
+
+<EMPTY>
+
+### Screenshot_TakeScreenshot_Response {#Screenshot_TakeScreenshot_Response data-text="Screenshot_TakeScreenshot_Response"}
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=111)*
@@ -1040,30 +1121,6 @@
</td>
</tr></table>
-### CreateImageError [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#CreateImageError}
-Type: <code>uint32</code>
-
-*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=9)*
-
-<p>The enum of possible errors following a <a class='link' href='#CreateImage'>CreateImage</a> call.</p>
-
-
-
-<table>
- <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="CreateImageError.MISSING_ARGS">
- <td><code>MISSING_ARGS</code></td>
- <td><code>1</code></td>
- <td><p>One or more arguments are missing in <a class='link' href='#CreateImageArgs'>CreateImageArgs</a>.</p>
-
-</td>
- </tr><tr id="CreateImageError.BAD_OPERATION">
- <td><code>BAD_OPERATION</code></td>
- <td><code>2</code></td>
- <td><p>A general error occurred in <a class='link' href='#CreateImage'>CreateImage</a>.</p>
-
-</td>
- </tr></table>
-
### FlatlandError [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#FlatlandError}
Type: <code>uint32</code>
@@ -1195,6 +1252,70 @@
</td>
</tr></table>
+### Rotation [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#Rotation}
+Type: <code>uint32</code>
+
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=30)*
+
+<p>The rotation to be applied to the image.</p>
+<p>If a given display is rotated, say, 270 degrees according to its
+<code>display_info</code> config file, then applying the equal and opposite rotation,
+<a class='link' href='#CW_270_DEGREES'>CW_270_DEGREES</a>, should cancel the display rotation leading to a
+correctly rendered screenshot.</p>
+<p>Clients should allocate an image according to the final dimensions they
+ultimately want to use, i.e. after rotation. These would be identical
+to the <code>width</code> and <code>height</code> values found in the <code>display_info</code> config file.</p>
+
+
+
+<table>
+ <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="Rotation.CW_0_DEGREES">
+ <td><code>CW_0_DEGREES</code></td>
+ <td><code>0</code></td>
+ <td>
+</td>
+ </tr><tr id="Rotation.CW_90_DEGREES">
+ <td><code>CW_90_DEGREES</code></td>
+ <td><code>1</code></td>
+ <td>
+</td>
+ </tr><tr id="Rotation.CW_180_DEGREES">
+ <td><code>CW_180_DEGREES</code></td>
+ <td><code>2</code></td>
+ <td>
+</td>
+ </tr><tr id="Rotation.CW_270_DEGREES">
+ <td><code>CW_270_DEGREES</code></td>
+ <td><code>3</code></td>
+ <td>
+</td>
+ </tr></table>
+
+### ScreenshotError [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#ScreenshotError}
+Type: <code>uint32</code>
+
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=13)*
+
+<p>The enum of possible errors following a <a class='link' href='#CreateImage'>CreateImage</a> or
+<a class='link' href='#TakeScreenshot'>TakeScreenshot</a> call.</p>
+
+
+
+<table>
+ <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="ScreenshotError.MISSING_ARGS">
+ <td><code>MISSING_ARGS</code></td>
+ <td><code>1</code></td>
+ <td><p>One or more arguments are missing in the table argument.</p>
+
+</td>
+ </tr><tr id="ScreenshotError.BAD_OPERATION">
+ <td><code>BAD_OPERATION</code></td>
+ <td><code>2</code></td>
+ <td><p>A general error occurred during the method call.</p>
+
+</td>
+ </tr></table>
+
## **TABLES**
@@ -1202,7 +1323,7 @@
### CreateImageArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#CreateImageArgs data-text="CreateImageArgs"}
-*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=18)*
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=39)*
<p>The table of arguments passed into the <a class='link' href='#CreateImage'>CreateImage</a> call. Note that all
fields are necessary.</p>
@@ -1242,24 +1363,13 @@
BufferCollection.</p>
</td>
- </tr><tr id="CreateImageArgs.image_width">
+ </tr><tr id="CreateImageArgs.size">
<td>4</td>
- <td><code>image_width</code></td>
+ <td><code>size</code></td>
<td>
- <code>uint32</code>
+ <code><a class='link' href='../fuchsia.math/'>fuchsia.math</a>/<a class='link' href='../fuchsia.math/#SizeU'>SizeU</a></code>
</td>
- <td><p>image_width must be valid and in the range of constraints of the specified
-BufferCollection.</p>
-
-</td>
- </tr><tr id="CreateImageArgs.image_height">
- <td>5</td>
- <td><code>image_height</code></td>
- <td>
- <code>uint32</code>
- </td>
- <td><p>image_height must be valid and in the range of constraints of the specified
-BufferCollection.</p>
+ <td><p>The size of the image in pixels.</p>
</td>
</tr></table>
@@ -1490,6 +1600,67 @@
</td>
</tr></table>
+### RemoveImageArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#RemoveImageArgs data-text="RemoveImageArgs"}
+
+
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=54)*
+
+
+
+
+<table>
+ <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+ <tr id="RemoveImageArgs.image_id">
+ <td>1</td>
+ <td><code>image_id</code></td>
+ <td>
+ <code><a class='link' href='#ImageId'>ImageId</a></code>
+ </td>
+ <td><p>The image ID for the image to be removed.</p>
+
+</td>
+ </tr></table>
+
+### TakeScreenshotArgs [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#TakeScreenshotArgs data-text="TakeScreenshotArgs"}
+
+
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=59)*
+
+
+
+
+<table>
+ <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+ <tr id="TakeScreenshotArgs.image_id">
+ <td>1</td>
+ <td><code>image_id</code></td>
+ <td>
+ <code><a class='link' href='#ImageId'>ImageId</a></code>
+ </td>
+ <td><p>The ID of the image previously allocated with <a class='link' href='#CreateImage'>CreateImage</a>.</p>
+
+</td>
+ </tr><tr id="TakeScreenshotArgs.rotation">
+ <td>2</td>
+ <td><code>rotation</code></td>
+ <td>
+ <code><a class='link' href='#Rotation'>Rotation</a></code>
+ </td>
+ <td><p>The rotation to be applied to the image. Not necessary; default value is
+no rotation.</p>
+
+</td>
+ </tr><tr id="TakeScreenshotArgs.event">
+ <td>3</td>
+ <td><code>event</code></td>
+ <td>
+ <code>handle<event></code>
+ </td>
+ <td><p>The event to fire upon successful completion.</p>
+
+</td>
+ </tr></table>
+
### ViewBoundProtocols [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#ViewBoundProtocols data-text="ViewBoundProtocols"}
@@ -1597,7 +1768,7 @@
</tr></table>
### Screenshot_CreateImage_Result [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#Screenshot_CreateImage_Result data-text="Screenshot_CreateImage_Result"}
-*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=51)*
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=86)*
@@ -1612,7 +1783,51 @@
</tr><tr id="Screenshot_CreateImage_Result.err">
<td><code>err</code></td>
<td>
- <code><a class='link' href='#CreateImageError'>CreateImageError</a></code>
+ <code><a class='link' href='#ScreenshotError'>ScreenshotError</a></code>
+ </td>
+ <td>
+</td>
+ </tr></table>
+
+### Screenshot_RemoveImage_Result [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#Screenshot_RemoveImage_Result data-text="Screenshot_RemoveImage_Result"}
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=92)*
+
+
+
+<table>
+ <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="Screenshot_RemoveImage_Result.response">
+ <td><code>response</code></td>
+ <td>
+ <code><a class='link' href='#Screenshot_RemoveImage_Response'>Screenshot_RemoveImage_Response</a></code>
+ </td>
+ <td>
+</td>
+ </tr><tr id="Screenshot_RemoveImage_Result.err">
+ <td><code>err</code></td>
+ <td>
+ <code><a class='link' href='#ScreenshotError'>ScreenshotError</a></code>
+ </td>
+ <td>
+</td>
+ </tr></table>
+
+### Screenshot_TakeScreenshot_Result [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#Screenshot_TakeScreenshot_Result data-text="Screenshot_TakeScreenshot_Result"}
+*Defined in [fuchsia.ui.composition/screenshot.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=111)*
+
+
+
+<table>
+ <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="Screenshot_TakeScreenshot_Result.response">
+ <td><code>response</code></td>
+ <td>
+ <code><a class='link' href='#Screenshot_TakeScreenshot_Response'>Screenshot_TakeScreenshot_Response</a></code>
+ </td>
+ <td>
+</td>
+ </tr><tr id="Screenshot_TakeScreenshot_Result.err">
+ <td><code>err</code></td>
+ <td>
+ <code><a class='link' href='#ScreenshotError'>ScreenshotError</a></code>
</td>
<td>
</td>
@@ -1651,7 +1866,7 @@
</td>
</tr><tr id="ImageId">
- <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=6">ImageId</a></td>
+ <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:sdk/fidl/fuchsia.ui.composition/screenshot.fidl;l=9">ImageId</a></td>
<td>
<code>uint64</code></td>
<td>