diff --git a/all/fidl/README.md b/all/fidl/README.md
index 2404654..6d71ed8 100644
--- a/all/fidl/README.md
+++ b/all/fidl/README.md
@@ -852,10 +852,6 @@
     <td></td>
 </tr>
 <tr>
-    <td><a href="fuchsia.net.dns/index">fuchsia.net.dns</a></td>
-    <td></td>
-</tr>
-<tr>
     <td><a href="fuchsia.net.filter/index">fuchsia.net.filter</a></td>
     <td></td>
 </tr>
@@ -1017,7 +1013,7 @@
     <td></td>
 </tr>
 <tr>
-    <td><a href="fuchsia.storage.ext4server/index">fuchsia.storage.ext4server</a></td>
+    <td><a href="fuchsia.storage.ext4/index">fuchsia.storage.ext4</a></td>
     <td></td>
 </tr>
 <tr>
@@ -1105,6 +1101,10 @@
     <td></td>
 </tr>
 <tr>
+    <td><a href="fuchsia.testing/index">fuchsia.testing</a></td>
+    <td></td>
+</tr>
+<tr>
     <td><a href="fuchsia.testing.appmgr/index">fuchsia.testing.appmgr</a></td>
     <td></td>
 </tr>
@@ -1406,6 +1406,10 @@
     <td></td>
 </tr>
 <tr>
+    <td><a href="test.pkg.eventqueue/index">test.pkg.eventqueue</a></td>
+    <td></td>
+</tr>
+<tr>
     <td><a href="test.processbuilder/index">test.processbuilder</a></td>
     <td></td>
 </tr>
diff --git a/all/fidl/_toc.yaml b/all/fidl/_toc.yaml
index 7f183f1..4ac2cbb 100644
--- a/all/fidl/_toc.yaml
+++ b/all/fidl/_toc.yaml
@@ -417,8 +417,6 @@
   path: /reference/fidl/fuchsia.net
 - title: fuchsia.net.dhcp
   path: /reference/fidl/fuchsia.net.dhcp
-- title: fuchsia.net.dns
-  path: /reference/fidl/fuchsia.net.dns
 - title: fuchsia.net.filter
   path: /reference/fidl/fuchsia.net.filter
 - title: fuchsia.net.http
@@ -499,8 +497,8 @@
   path: /reference/fidl/fuchsia.space
 - title: fuchsia.stash
   path: /reference/fidl/fuchsia.stash
-- title: fuchsia.storage.ext4server
-  path: /reference/fidl/fuchsia.storage.ext4server
+- title: fuchsia.storage.ext4
+  path: /reference/fidl/fuchsia.storage.ext4
 - title: fuchsia.storage.metrics
   path: /reference/fidl/fuchsia.storage.metrics
 - title: fuchsia.sys
@@ -543,6 +541,8 @@
   path: /reference/fidl/fuchsia.test.manager
 - title: fuchsia.test.workscheduler
   path: /reference/fidl/fuchsia.test.workscheduler
+- title: fuchsia.testing
+  path: /reference/fidl/fuchsia.testing
 - title: fuchsia.testing.appmgr
   path: /reference/fidl/fuchsia.testing.appmgr
 - title: fuchsia.testing.chrealm
@@ -691,6 +691,8 @@
   path: /reference/fidl/test.peridot.lib.fidl.appclient
 - title: test.peridot.lib.fidl.jsonxdr
   path: /reference/fidl/test.peridot.lib.fidl.jsonxdr
+- title: test.pkg.eventqueue
+  path: /reference/fidl/test.pkg.eventqueue
 - title: test.processbuilder
   path: /reference/fidl/test.processbuilder
 - title: test.sysmgr
diff --git a/all/fidl/fidl.examples.echo/README.md b/all/fidl/fidl.examples.echo/README.md
index 2f3fcb0..f606a78 100644
--- a/all/fidl/fidl.examples.echo/README.md
+++ b/all/fidl/fidl.examples.echo/README.md
@@ -6,7 +6,7 @@
 ## **PROTOCOLS**
 
 ## Echo {#Echo}
-*Defined in [fidl.examples.echo/echo.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/services/echo.test.fidl#8)*
+*Defined in [fidl.examples.echo/echo.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/garnet/examples/fidl/services/echo.test.fidl#13)*
 
 
 ### EchoString {#EchoString}
diff --git a/all/fidl/fuchsia.hardware.audio/README.md b/all/fidl/fuchsia.hardware.audio/README.md
index c0fb50e..2772d2d 100644
--- a/all/fidl/fuchsia.hardware.audio/README.md
+++ b/all/fidl/fuchsia.hardware.audio/README.md
@@ -6,11 +6,12 @@
 ## **PROTOCOLS**
 
 ## Device {#Device}
-*Defined in [fuchsia.hardware.audio/audio.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/audio.fidl#8)*
+*Defined in [fuchsia.hardware.audio/audio.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/audio.fidl#10)*
 
 
 ### GetChannel {#GetChannel}
 
+<p>This method obtains a channel in order to serve FIDL over it outside the devhost's control.</p>
 
 #### Request
 <table>
@@ -22,25 +23,939 @@
 <table>
     <tr><th>Name</th><th>Type</th></tr>
     <tr>
-            <td><code>ch</code></td>
+            <td><code>channel</code></td>
             <td>
-                <code>handle&lt;channel&gt;</code>
+                <code>request&lt;<a class='link' href='#StreamConfig'>StreamConfig</a>&gt;</code>
             </td>
         </tr></table>
 
+## RingBuffer {#RingBuffer}
+*Defined in [fuchsia.hardware.audio/ring_buffer.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#90)*
+
+
+### GetProperties {#GetProperties}
+
+<p>Accessor for top level static properties.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>properties</code></td>
+            <td>
+                <code><a class='link' href='#RingBufferProperties'>RingBufferProperties</a></code>
+            </td>
+        </tr></table>
+
+### WatchClockRecoveryPositionInfo {#WatchClockRecoveryPositionInfo}
+
+<p>Gets the ring buffer current position via a hanging get. The driver must immediately
+respond to a client's first |WatchClockRecoveryPositionInfo| call, but will not respond to
+subsequent client calls until the position information has changed from what was most
+recently provided to that client. If |clock_recovery_notifications_per_ring| is not zero,
+the driver will reply with its estimated position to be used for clock recovery at most at
+|clock_recovery_notifications_per_ring| frequency.
+Must be delivered with timestamps that are monotonically increasing.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>position_info</code></td>
+            <td>
+                <code><a class='link' href='#RingBufferPositionInfo'>RingBufferPositionInfo</a></code>
+            </td>
+        </tr></table>
+
+### GetVmo {#GetVmo}
+
+<p>Requests a shared buffer to be used for moving bulk audio data. Requests the buffer size to
+fit at least |min_frames|, and returns the actual |num_frames| allocated in
+|ring_buffer|.</p>
+<p>If |clock_recovery_notifications_per_ring| is non-zero, the driver will send replies to
+|WatchClockRecoveryPositionInfo| client requests at most at
+|clock_recovery_notifications_per_ring| frequency. These notifications are meant to be used
+for clock recovery.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>min_frames</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>clock_recovery_notifications_per_ring</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#RingBuffer_GetVmo_Result'>RingBuffer_GetVmo_Result</a></code>
+            </td>
+        </tr></table>
+
+### Start {#Start}
+
+<p>Start the ring buffer.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>start_time</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code>
+            </td>
+        </tr></table>
+
+### Stop {#Stop}
+
+<p>Stop the ring buffer. Once this call's response is received, no further position
+notifications will be sent until Start() is called again. TODO(39494): Add timestamp
+parameter.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+## StreamConfig {#StreamConfig}
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#158)*
+
+
+### GetProperties {#GetProperties}
+
+<p>Retrieves top level static properties.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>properties</code></td>
+            <td>
+                <code><a class='link' href='#StreamProperties'>StreamProperties</a></code>
+            </td>
+        </tr></table>
+
+### GetSupportedFormats {#GetSupportedFormats}
+
+<p>Gets formats supported by a given driver. When not all combinations supported by the
+driver can be described with one |SupportedFormats|, the driver returns more than one
+|SupportedFormats| in the returned vector. For example, if one |SupportedFormats| allows
+for 32 bits samples at 48KHz, and 16 bits samples at 96KHz, but not 32 bits samples at
+96KHz, then the driver replies with 2 |SupportedFormats|: &lt;&lt;32bits&gt;,&lt;48KHz&gt;&gt; and
+&lt;&lt;16bits&gt;,&lt;96KHz&gt;&gt;. For simplicity, this example ignores parameters other than rate and
+bits per sample. In the case where the driver supports either 16 or 32 bits samples at
+either 48 or 96KHz, the driver would reply with 1 |SupportedFormats|:
+&lt;&lt;16bits,32bits&gt;,&lt;48KHz,96KHz&gt;&gt;.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>supported_formats</code></td>
+            <td>
+                <code>vector&lt;<a class='link' href='#SupportedFormats'>SupportedFormats</a>&gt;[64]</code>
+            </td>
+        </tr></table>
+
+### CreateRingBuffer {#CreateRingBuffer}
+
+<p>|CreateRingBuffer| is sent by clients to select a stream format based on information that
+the driver provides in |GetSupportedFormats| what is supported by the client, and any other
+requirement. The |ring_buffer| channel is used to control the audio buffer, if a previous
+ring buffer channel had been established and was still active, the driver must close that
+(ring buffer) channel and make every attempt to gracefully quiesce any on-going streaming
+operations in the process.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>format</code></td>
+            <td>
+                <code><a class='link' href='#Format'>Format</a></code>
+            </td>
+        </tr><tr>
+            <td><code>ring_buffer</code></td>
+            <td>
+                <code>request&lt;<a class='link' href='#RingBuffer'>RingBuffer</a>&gt;</code>
+            </td>
+        </tr></table>
+
+
+
+### WatchGainState {#WatchGainState}
+
+<p>Get the gain state via a hanging get. The driver will reply to the first |WatchGainState|
+sent by the client. The driver will not respond to subsequent client |WatchGainState| calls
+until the gain state changes from what was most recently reported.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>gain_state</code></td>
+            <td>
+                <code><a class='link' href='#GainState'>GainState</a></code>
+            </td>
+        </tr></table>
+
+### SetGain {#SetGain}
+
+<p>Client update of the gain state.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>target_state</code></td>
+            <td>
+                <code><a class='link' href='#GainState'>GainState</a></code>
+            </td>
+        </tr></table>
+
+
+
+### WatchPlugState {#WatchPlugState}
+
+<p>Get the plug detect state via a hanging get. The driver will reply to the first
+|WatchPlugState| sent by the client. The driver will not respond to subsequent client
+|WatchPlugState| calls until the plug state changes from what was most recently reported.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>plug_state</code></td>
+            <td>
+                <code><a class='link' href='#PlugState'>PlugState</a></code>
+            </td>
+        </tr></table>
+
+
+
+## **STRUCTS**
+
+### RingBuffer_GetVmo_Response {#RingBuffer_GetVmo_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>num_frames</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>ring_buffer</code></td>
+            <td>
+                <code>handle&lt;vmo&gt;</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### RingBufferPositionInfo {#RingBufferPositionInfo}
+*Defined in [fuchsia.hardware.audio/ring_buffer.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#72)*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>timestamp</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code>
+            </td>
+            <td><p>The driver's best estimate of the time at which the playback/capture pointer reached the
+position indicated by |position|.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>position</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td><p>The playback/capture pointer position (in bytes) in the ring buffer at time
+|timestamp| as estimated by the driver.</p>
+</td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### PcmSupportedFormats {#PcmSupportedFormats}
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#43)*
+
+
+
+<p>Format supporting non-compressed PCM audio. Frames are made up of |number_of_channels| samples
+which have |valid_bits_per_sample| bits of left-justified data within |bytes_per_sample|
+bytes. All values listed in each vector are supported. When not all combinations supported by
+the driver can be described with one |SupportedFormats| (and hence one |PcmSupportedFormats|),
+|GetSupportedFormats| returns more than one |SupportedFormats| in the returned vector.
+For more detailed information see //zircon/driver_interfaces/audio_streaming.md.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>number_of_channels</code></td>
+            <td>
+                <code>vector&lt;uint8&gt;[64]</code>
+            </td>
+            <td><p>Vector of possible number of channels supported in ascending order.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>sample_formats</code></td>
+            <td>
+                <code>vector&lt;<a class='link' href='#SampleFormat'>SampleFormat</a>&gt;[3]</code>
+            </td>
+            <td><p>Vector of possible |SampleFormat|s supported.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>bytes_per_sample</code></td>
+            <td>
+                <code>vector&lt;uint8&gt;[8]</code>
+            </td>
+            <td><p>Vector of possible number of bits allocated to hold a sample,
+equal or bigger than the actual sample size in |valid_bits_per_sample| in ascending order.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>valid_bits_per_sample</code></td>
+            <td>
+                <code>vector&lt;uint8&gt;[8]</code>
+            </td>
+            <td><p>Vector of possible number of bits in a sample in ascending order, must be equal or smaller
+than |bytes_per_channel| for samples to fit. If smaller, bits are left justified, and any
+additional bits will be ignored.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>frame_rates</code></td>
+            <td>
+                <code>vector&lt;uint32&gt;[64]</code>
+            </td>
+            <td><p>Vector of possible frame rates supported in ascending order.</p>
+</td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### PcmFormat {#PcmFormat}
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#71)*
+
+
+
+<p>Format supporting non-compressed PCM audio. Frames are made up of |number_of_channels| samples
+which have |valid_bits_per_sample| bits of left-justified data within |bytes_per_channel|.
+bytes. For more detailed information see //zircon/driver_interfaces/audio_streaming.md.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>number_of_channels</code></td>
+            <td>
+                <code>uint8</code>
+            </td>
+            <td><p>Number of channels.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>channels_to_use_bitmask</code></td>
+            <td>
+                <code>uint64</code>
+            </td>
+            <td><p>Which channels to use as a bitmask. Channels not set in the bitmask are ignored.
+The least significant bit corresponds to index 0.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>sample_format</code></td>
+            <td>
+                <code><a class='link' href='#SampleFormat'>SampleFormat</a></code>
+            </td>
+            <td><p>The format of all samples.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>bytes_per_sample</code></td>
+            <td>
+                <code>uint8</code>
+            </td>
+            <td><p>Bytes allocated to hold a sample, equal or bigger than the valid sample size in
+|valid_bits_per_sample|.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>valid_bits_per_sample</code></td>
+            <td>
+                <code>uint8</code>
+            </td>
+            <td><p>Number of valid bits in a sample, must be equal or smaller than bits in |bytes_per_sample|.
+If smaller, bits are left justified, and any additional bits must be ignored by the
+receiver.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>frame_rate</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td><p>The frame rate for all samples.</p>
+</td>
+            <td>No default</td>
+        </tr>
+</table>
+
+
+
+## **ENUMS**
+
+### GetVmoError {#GetVmoError}
+Type: <code>uint32</code>
+
+*Defined in [fuchsia.hardware.audio/ring_buffer.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#82)*
+
+
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
+            <td><code>INVALID_ARGS</code></td>
+            <td><code>1</code></td>
+            <td><p>The ring buffer setup failed due to an invalid argument, e.g. min_frames is too big.</p>
+</td>
+        </tr><tr>
+            <td><code>INTERNAL_ERROR</code></td>
+            <td><code>2</code></td>
+            <td><p>The ring buffer setup failed due to an internal error.</p>
+</td>
+        </tr></table>
+
+### SampleFormat {#SampleFormat}
+Type: <code>uint8</code>
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#21)*
+
+
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
+            <td><code>PCM_SIGNED</code></td>
+            <td><code>1</code></td>
+            <td><p>Signed Linear Pulse Code Modulation samples at the host endianness.</p>
+</td>
+        </tr><tr>
+            <td><code>PCM_UNSIGNED</code></td>
+            <td><code>2</code></td>
+            <td><p>Unsigned Linear Pulse Code Modulation samples at the host endianness.</p>
+</td>
+        </tr><tr>
+            <td><code>PCM_FLOAT</code></td>
+            <td><code>3</code></td>
+            <td><p>Floating point samples IEEE-754 encoded.</p>
+</td>
+        </tr></table>
+
+### PlugDetectCapabilities {#PlugDetectCapabilities}
+Type: <code>uint32</code>
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#117)*
+
+
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
+            <td><code>HARDWIRED</code></td>
+            <td><code>0</code></td>
+            <td><p>Stream is hardwired (will always be plugged in).</p>
+</td>
+        </tr><tr>
+            <td><code>CAN_ASYNC_NOTIFY</code></td>
+            <td><code>1</code></td>
+            <td><p>Stream is able to asynchronously notify of plug state changes.</p>
+</td>
+        </tr></table>
+
+
+
+## **TABLES**
+
+### RingBufferProperties {#RingBufferProperties}
+
+
+*Defined in [fuchsia.hardware.audio/ring_buffer.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#15)*
+
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>external_delay</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code>
+            </td>
+            <td><p>The driver's best estimate of the external delay (in nanoseconds) present in the
+presentation pipeline for the chosen format. When precisely synchronizing presentation
+across multiple entities (e.g. devices), the external delay should be taken into account.</p>
+</td>
+        </tr><tr>
+            <td>2</td>
+            <td><code>fifo_depth</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td><p>Size (in bytes) representing a temporary buffer used by the driver in order to consume or
+generate the ring buffer contents. The ring buffer contents must be produced and consumed
+at the rate specified with the |CreateRingBuffer| command, however some amount of buffering
+is required when the data is written into and read from the ring buffer. For playback the
+data is consumed by the driver by reading ahead up to |fifo_depth| bytes. For capture the
+data is produced by the driver holding up to |fifo_depth| bytes at the time before
+committing it to main system memory. Hence |fifo_depth| must be taken into account by the
+client when determining either the minimum lead time requirement (for playback) or the
+maximum capture delay (for capture).</p>
+<p>To convert |fifo_depth| to the corresponding number of audio frames, use the frame size
+returned by |CreateRingBuffer| in the |StreamConfig| protocol, note that the |fifo_depth|
+is not necessarily a multiple size of an audio frame.</p>
+<p>The ring buffer data may be directly consumed/generated by hardware, in this case
+|fifo_depth| maps directly to the size of a hardware FIFO block, since the hardware FIFO
+block determines the amount of data read ahead or held back.</p>
+<p>The ring buffer data may instead be consumed/generated by audio driver software that is
+conceptually situated between the ring buffer and the audio hardware. In this case, for
+playback the |fifo_depth| read ahead amount is set large enough such that the driver
+guarantees no undetected underruns, this assuming the client is generating the data as
+determined by the |CreateRingBuffer| and |Start| commands. For capture, the
+|fifo_depth| held back amount is set large enough such that the driver guarantees no
+undetected underruns when generating the data as determined by the |CreateRingBuffer| and
+|Start| commands. The driver must set |fifo_depth| big enough such that the potential
+delays added by any software interfacing with the audio hardware do not occur under most
+scenarios, and must detect and report underruns. How an underrun is reported is not defined
+in this API.</p>
+</td>
+        </tr><tr>
+            <td>3</td>
+            <td><code>clock_domain</code></td>
+            <td>
+                <code><a class='link' href='#clock_domain'>clock_domain</a></code>
+            </td>
+            <td><p>An identifier for the clock domain in which this hardware operates. If the hardware is
+operating in CLOCK_DOMAIN_MONOTONIC, its nominal rate is locked to that of the
+ZX_CLOCK_MONOTONIC time reference. Given the start time, and a nominal rate, the position
+of the playback/capture pointer may always be calculated using a clock monotonic timestamp
+as the pointer's movement is locked to that of ZX_CLOCK_MONOTONIC.</p>
+<p>Other values indicate that playback/capture is not locked to ZX_CLOCK_MONOTONIC, and moves
+at its own rate depending on a number of factors. Client will need to make use of the
+timing information present in the position notification updates in order to recover the
+clock of the audio stream. The clock_domain comes from an system wide entity (or instance a
+platform bus or clock tree/global driver). Audio drivers retrieve clock_domain from such
+system wide entity.</p>
+</td>
+        </tr><tr>
+            <td>4</td>
+            <td><code>needs_cache_flush_or_invalidate</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>When set to true, indicates that clients need to make sure that their data has been flushed
+all the way to physical memory (in the case of playback) or that their view of the ring
+buffer will need to be invalidated before read (in the case of capture).</p>
+</td>
+        </tr></table>
+
+### SupportedFormats {#SupportedFormats}
+
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#32)*
+
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>pcm_supported_formats</code></td>
+            <td>
+                <code><a class='link' href='#PcmSupportedFormats'>PcmSupportedFormats</a></code>
+            </td>
+            <td><p>Supported formats for non-compressed PCM samples.</p>
+</td>
+        </tr></table>
+
+### Format {#Format}
+
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#63)*
+
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>pcm_format</code></td>
+            <td>
+                <code><a class='link' href='#PcmFormat'>PcmFormat</a></code>
+            </td>
+            <td><p>Format supporting non-compressed PCM samples.</p>
+</td>
+        </tr></table>
+
+### GainState {#GainState}
+
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#96)*
+
+<p>Gain state requested by the client or returned a current by the driver.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>muted</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>Current mute state. If not included, the state is unmuted.</p>
+</td>
+        </tr><tr>
+            <td>2</td>
+            <td><code>agc_enabled</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>Current Automatic Gain Control (AGC) state. If not included, AGC is disabled.</p>
+</td>
+        </tr><tr>
+            <td>3</td>
+            <td><code>gain_db</code></td>
+            <td>
+                <code>float32</code>
+            </td>
+            <td><p>Current gain in decibels. Must be included.</p>
+</td>
+        </tr></table>
+
+### PlugState {#PlugState}
+
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#108)*
+
+<p>Plug state as returned by the driver.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>plugged</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>Stream is currently plugged in. Must be included.</p>
+</td>
+        </tr><tr>
+            <td>2</td>
+            <td><code>plug_state_time</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code>
+            </td>
+            <td><p>Timestamps the information provided in the rest of the fields of this struct.
+Must be included.</p>
+</td>
+        </tr></table>
+
+### StreamProperties {#StreamProperties}
+
+
+*Defined in [fuchsia.hardware.audio/stream.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#125)*
+
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>unique_id</code></td>
+            <td>
+                <code>uint8[16]</code>
+            </td>
+            <td><p>A unique identifier. If not included, there is no unique id for the StreamConfig.</p>
+</td>
+        </tr><tr>
+            <td>2</td>
+            <td><code>is_input</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>Stream type is input or output. Must be included.</p>
+</td>
+        </tr><tr>
+            <td>3</td>
+            <td><code>can_mute</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>Gain mute capability. If not included, the StreamConfig can't mute.</p>
+</td>
+        </tr><tr>
+            <td>4</td>
+            <td><code>can_agc</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>Automatic Gain Control (AGC) capability. If not included, the StreamConfig can't AGC.</p>
+</td>
+        </tr><tr>
+            <td>5</td>
+            <td><code>min_gain_db</code></td>
+            <td>
+                <code>float32</code>
+            </td>
+            <td><p>Minimum gain in decibels. Must be included.</p>
+</td>
+        </tr><tr>
+            <td>6</td>
+            <td><code>max_gain_db</code></td>
+            <td>
+                <code>float32</code>
+            </td>
+            <td><p>Maximum gain in decibels. Must be included.</p>
+</td>
+        </tr><tr>
+            <td>7</td>
+            <td><code>gain_step_db</code></td>
+            <td>
+                <code>float32</code>
+            </td>
+            <td><p>Gain step in decibels, this value must not be negative, but may be zero to convey an
+effectively continuous range of values. Must be included.</p>
+</td>
+        </tr><tr>
+            <td>8</td>
+            <td><code>plug_detect_capabilities</code></td>
+            <td>
+                <code><a class='link' href='#PlugDetectCapabilities'>PlugDetectCapabilities</a></code>
+            </td>
+            <td><p>Plug Detect Capabilities. Must be included.</p>
+</td>
+        </tr><tr>
+            <td>9</td>
+            <td><code>manufacturer</code></td>
+            <td>
+                <code>string[256]</code>
+            </td>
+            <td><p>UI string for the manufacturer name. If not included, the manufacturer is unspecified.</p>
+</td>
+        </tr><tr>
+            <td>10</td>
+            <td><code>product</code></td>
+            <td>
+                <code>string[256]</code>
+            </td>
+            <td><p>UI string for the product name. If not included, the product name is unspecified.</p>
+</td>
+        </tr></table>
+
+
+
+## **UNIONS**
+
+### RingBuffer_GetVmo_Result {#RingBuffer_GetVmo_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#RingBuffer_GetVmo_Response'>RingBuffer_GetVmo_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code><a class='link' href='#GetVmoError'>GetVmoError</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
 
 
 
 
 
 
+## **CONSTANTS**
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="CLOCK_DOMAIN_MONOTONIC">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#12">CLOCK_DOMAIN_MONOTONIC</a></td>
+            <td>
+                    <code>0</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="CLOCK_DOMAIN_EXTERNAL">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#13">CLOCK_DOMAIN_EXTERNAL</a></td>
+            <td>
+                    <code>4294967295</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="UNIQUE_ID_SIZE">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#11">UNIQUE_ID_SIZE</a></td>
+            <td>
+                    <code>16</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_UI_STRING_SIZE">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#12">MAX_UI_STRING_SIZE</a></td>
+            <td>
+                    <code>256</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_CHANNELS_TO_USE">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#13">MAX_COUNT_CHANNELS_TO_USE</a></td>
+            <td>
+                    <code>64</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_SUPPORTED_NUMBER_OF_CHANNELS">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#14">MAX_COUNT_SUPPORTED_NUMBER_OF_CHANNELS</a></td>
+            <td>
+                    <code>64</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_SUPPORTED_SAMPLE_FORMATS">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#15">MAX_COUNT_SUPPORTED_SAMPLE_FORMATS</a></td>
+            <td>
+                    <code>3</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_SUPPORTED_RATES">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#16">MAX_COUNT_SUPPORTED_RATES</a></td>
+            <td>
+                    <code>64</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_SUPPORTED_BYTES_PER_SAMPLE">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#17">MAX_COUNT_SUPPORTED_BYTES_PER_SAMPLE</a></td>
+            <td>
+                    <code>8</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_SUPPORTED_VALID_BITS_PER_SAMPLE">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#18">MAX_COUNT_SUPPORTED_VALID_BITS_PER_SAMPLE</a></td>
+            <td>
+                    <code>8</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_COUNT_FORMATS">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/stream.fidl#19">MAX_COUNT_FORMATS</a></td>
+            <td>
+                    <code>64</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    
+</table>
 
 
 
+## **TYPE ALIASES**
 
-
-
-
-
-
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="clock_domain">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-hardware-audio/ring_buffer.fidl#11">clock_domain</a></td>
+            <td>
+                <code>uint32</code></td>
+            <td></td>
+        </tr></table>
 
diff --git a/all/fidl/fuchsia.hardware.input/README.md b/all/fidl/fuchsia.hardware.input/README.md
index 6efd476..3fe4a96 100644
--- a/all/fidl/fuchsia.hardware.input/README.md
+++ b/all/fidl/fuchsia.hardware.input/README.md
@@ -218,8 +218,10 @@
 
 ### GetReportsEvent {#GetReportsEvent}
 
-<p>Receive an event that will be signalled when there are reports in the
-Device's report FIFO.</p>
+<p>Receive an event that will signal on <code>ZX_USER_SIGNAL_0</code> when there are reports in the
+Device's report FIFO. This signal will be de-asserted when there are no
+reports in the Device's report FIFO. This event can be re-used each time
+the client wishes to know if there are reports in the FIFO.</p>
 
 #### Request
 <table>
diff --git a/all/fidl/fuchsia.identity.account/README.md b/all/fidl/fuchsia.identity.account/README.md
index 6658dc7..ebc4120 100644
--- a/all/fidl/fuchsia.identity.account/README.md
+++ b/all/fidl/fuchsia.identity.account/README.md
@@ -1591,7 +1591,7 @@
 </table>
 
 ### AuthMechanismProperties {#AuthMechanismProperties}
-*Defined in [fuchsia.identity.account/common.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#118)*
+*Defined in [fuchsia.identity.account/common.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#122)*
 
 
 
@@ -1619,7 +1619,7 @@
 </table>
 
 ### AuthMechanismEnrollmentMetadata {#AuthMechanismEnrollmentMetadata}
-*Defined in [fuchsia.identity.account/common.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#133)*
+*Defined in [fuchsia.identity.account/common.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#137)*
 
 
 
@@ -1874,6 +1874,12 @@
 operation. The request should not be retried unless the server state
 has been corrected before the retry.</p>
 </td>
+        </tr><tr>
+            <td><code>FAILED_AUTHENTICATION</code></td>
+            <td><code>10</code></td>
+            <td><p>The request cannot be processed due to a rejected authentication
+attempt. User consent or input is required before any retry.</p>
+</td>
         </tr></table>
 
 
@@ -2358,7 +2364,7 @@
 its personae.</p>
 </td>
         </tr><tr id="AuthMechanismId">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#115">AuthMechanismId</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#119">AuthMechanismId</a></td>
             <td>
                 <code>string</code></td>
             <td><p>A fuchsia component URI pointing to a component containing an authentication
@@ -2366,7 +2372,7 @@
 authentication mechanism.</p>
 </td>
         </tr><tr id="AuthMechanismEnrollmentId">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#130">AuthMechanismEnrollmentId</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.identity.account/common.fidl#134">AuthMechanismEnrollmentId</a></td>
             <td>
                 <code>uint64</code></td>
             <td><p>An identifier for an enrollment of an authentication mechanism. It is
diff --git a/all/fidl/fuchsia.identity.internal/README.md b/all/fidl/fuchsia.identity.internal/README.md
index da9a9d7..ebdecb5 100644
--- a/all/fidl/fuchsia.identity.internal/README.md
+++ b/all/fidl/fuchsia.identity.internal/README.md
@@ -6,7 +6,7 @@
 ## **PROTOCOLS**
 
 ## AccountHandlerControl {#AccountHandlerControl}
-*Defined in [fuchsia.identity.internal/account_handler.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#81)*
+*Defined in [fuchsia.identity.internal/account_handler.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#82)*
 
 <p>The control channel for an AccountHandler component.</p>
 <p>This interface is intended only for use by the AccountManager component that
@@ -24,25 +24,25 @@
 <pre><code>                                       |
                                        V
                                +---------------+
-                +--------------| Uninitialized |
-                |              +---------------+
-                |                      |
-                | PrepareForTransfer   |
-                V                      |
-      +------------------+             |
-      | PendingTransfer  |             |
-      +------------------+             |
-                |                      |
-                | PerformTransfer      | CreateAccount/
-                V                      | LoadAccount
-      +------------------+             |
-      |   Transferred    |             |
-      +------------------+             |
-                |                      |
-                | FinalizeTransfer     |
-                |                      V
-                |              +---------------+
-                +-------------&gt;|  Initialized  |
+                +--------------| Uninitialized |------------+
+                |              +---------------+            |
+                |                      |                    |
+                | PrepareForTransfer   |                    | Preload
+                V                      |                    V
+      +------------------+             |           +------------------+
+      | PendingTransfer  |             |           |      Locked      |
+      +------------------+             |           +------------------+
+                |                      |                    ^
+                | PerformTransfer      |                    |
+                V                      |                    |
+      +------------------+             |                    | LockAccount /
+      |   Transferred    |             | CreateAccount      | UnlockAccount
+      +------------------+             |                    |
+                |                      |                    |
+                | FinalizeTransfer     |                    |
+                |                      V                    |
+                |              +---------------+            |
+                +-------------&gt;|  Initialized  |&lt;-----------+
                                +---------------+
                                        |
                                        | Terminate
@@ -63,6 +63,8 @@
 manager.  The account is not available for use, and regardless of the
 intended lifetime of the account on this device, the account is not
 saved to disk.</li>
+<li><code>Locked</code> - the handler has loaded pre-authentication data, which lets it
+unlock the account subsequently.</li>
 <li><code>Initialized</code> - the handler has loaded account information and is ready
 to serve requests for the <code>Account</code> interface.  If the account is
 persistent on this device, then it is saved to disk.</li>
@@ -72,7 +74,8 @@
 
 ### CreateAccount {#CreateAccount}
 
-<p>Creates a completely new Fuchsia account.</p>
+<p>Creates a completely new Fuchsia account, optionally protecting the
+account with a single enrollment of an authentication mechanism.</p>
 <p><code>auth_mechanism_id</code> An <code>AuthMechanismId</code> for a storage
 unlock-capable authentication mechanism. If
 provided, a single enrollment of that
@@ -102,10 +105,10 @@
             </td>
         </tr></table>
 
-### LoadAccount {#LoadAccount}
+### Preload {#Preload}
 
-<p>Loads information about a Fuchsia account that was previously provisioned
-on the current device.</p>
+<p>Loads pre-auth data, which allows the account to be unlocked later.</p>
+<p>This moves the AccountHandler from the <code>Uninitialized</code> state to the <code>Locked</code> state.</p>
 <p>Fails with FAILED_PRECONDITION if the AccountHandler is not in the <code>Uninitialized</code>
 state.</p>
 
@@ -121,7 +124,55 @@
     <tr>
             <td><code>result</code></td>
             <td>
-                <code><a class='link' href='#AccountHandlerControl_LoadAccount_Result'>AccountHandlerControl_LoadAccount_Result</a></code>
+                <code><a class='link' href='#AccountHandlerControl_Preload_Result'>AccountHandlerControl_Preload_Result</a></code>
+            </td>
+        </tr></table>
+
+### UnlockAccount {#UnlockAccount}
+
+<p>Reach the <code>Initialized</code> state, attempting authentication and unlocking the account where
+necessary.</p>
+<p>Fails with</p>
+<ul>
+<li>FAILED_PRECONDITION if the AccountHandler is not in the <code>Locked</code> or <code>Initialized</code> state.</li>
+<li>FAILED_AUTH_ATTEMPT if the authentication attempt failed.</li>
+</ul>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#AccountHandlerControl_UnlockAccount_Result'>AccountHandlerControl_UnlockAccount_Result</a></code>
+            </td>
+        </tr></table>
+
+### LockAccount {#LockAccount}
+
+<p>Reach the <code>Locked</code> state, closing any open <code>Account</code> and <code>Persona</code> channels for the account.</p>
+<p>Fails with FAILED_PRECONDITION if the AccountHandler is not in the <code>Initialized</code> or
+<code>Locked</code> state.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#AccountHandlerControl_LockAccount_Result'>AccountHandlerControl_LockAccount_Result</a></code>
             </td>
         </tr></table>
 
@@ -410,7 +461,7 @@
 
 
 ## AccountHandlerContext {#AccountHandlerContext}
-*Defined in [fuchsia.identity.internal/account_handler.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#253)*
+*Defined in [fuchsia.identity.internal/account_handler.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#270)*
 
 <p>An interface that supplies the account and authentication services that
 an AccountHandler needs to perform its role in the system.</p>
@@ -536,7 +587,29 @@
     <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
 </table>
 
-### AccountHandlerControl_LoadAccount_Response {#AccountHandlerControl_LoadAccount_Response}
+### AccountHandlerControl_Preload_Response {#AccountHandlerControl_Preload_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### AccountHandlerControl_UnlockAccount_Response {#AccountHandlerControl_UnlockAccount_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### AccountHandlerControl_LockAccount_Response {#AccountHandlerControl_LockAccount_Response}
 *generated*
 
 
@@ -698,7 +771,7 @@
 ### AccountData {#AccountData}
 
 
-*Defined in [fuchsia.identity.internal/account_handler.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#289)*
+*Defined in [fuchsia.identity.internal/account_handler.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#306)*
 
 <p>Contents of an account, used for serialization during account transfer.</p>
 
@@ -738,7 +811,7 @@
             <td></td>
         </tr></table>
 
-### AccountHandlerControl_LoadAccount_Result {#AccountHandlerControl_LoadAccount_Result}
+### AccountHandlerControl_Preload_Result {#AccountHandlerControl_Preload_Result}
 *generated*
 
 
@@ -746,7 +819,45 @@
     <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
             <td><code>response</code></td>
             <td>
-                <code><a class='link' href='#AccountHandlerControl_LoadAccount_Response'>AccountHandlerControl_LoadAccount_Response</a></code>
+                <code><a class='link' href='#AccountHandlerControl_Preload_Response'>AccountHandlerControl_Preload_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.identity.account/'>fuchsia.identity.account</a>/<a class='link' href='../fuchsia.identity.account/#Error'>Error</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### AccountHandlerControl_UnlockAccount_Result {#AccountHandlerControl_UnlockAccount_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#AccountHandlerControl_UnlockAccount_Response'>AccountHandlerControl_UnlockAccount_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.identity.account/'>fuchsia.identity.account</a>/<a class='link' href='../fuchsia.identity.account/#Error'>Error</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### AccountHandlerControl_LockAccount_Result {#AccountHandlerControl_LockAccount_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#AccountHandlerControl_LockAccount_Response'>AccountHandlerControl_LockAccount_Response</a></code>
             </td>
             <td></td>
         </tr><tr>
@@ -1010,7 +1121,7 @@
                 <code>array</code>[<code><a class='link' href='#HASH_SALT_SIZE'>HASH_SALT_SIZE</a></code>]</td>
             <td></td>
         </tr><tr id="EncryptedAccountData">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#295">EncryptedAccountData</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/src/identity/fidl/account_handler.fidl#312">EncryptedAccountData</a></td>
             <td>
                 <code>vector</code></td>
             <td><p>Encrypted form of AccountData.</p>
diff --git a/all/fidl/fuchsia.input.report/README.md b/all/fidl/fuchsia.input.report/README.md
index 3c93ac3..bfec3ec 100644
--- a/all/fidl/fuchsia.input.report/README.md
+++ b/all/fidl/fuchsia.input.report/README.md
@@ -440,12 +440,13 @@
 </td>
         </tr></table>
 
-### KeyboardDescriptor {#KeyboardDescriptor}
+### KeyboardInputDescriptor {#KeyboardInputDescriptor}
 
 
-*Defined in [fuchsia.input.report/keyboard.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/keyboard.fidl#19)*
+*Defined in [fuchsia.input.report/keyboard.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/keyboard.fidl#20)*
 
-<p>The capabilities of a keyboard device.</p>
+<p>Describes the format of the input report that will be sent from the keyboard
+to the device.</p>
 
 
 <table>
@@ -460,10 +461,29 @@
 </td>
         </tr></table>
 
-### KeyboardReport {#KeyboardReport}
+### KeyboardDescriptor {#KeyboardDescriptor}
 
 
-*Defined in [fuchsia.input.report/keyboard.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/keyboard.fidl#25)*
+*Defined in [fuchsia.input.report/keyboard.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/keyboard.fidl#26)*
+
+<p>The capabilities of a keyboard device.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>input</code></td>
+            <td>
+                <code><a class='link' href='#KeyboardInputDescriptor'>KeyboardInputDescriptor</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### KeyboardInputReport {#KeyboardInputReport}
+
+
+*Defined in [fuchsia.input.report/keyboard.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/keyboard.fidl#31)*
 
 <p>A single report created by a keyboard device.</p>
 
@@ -480,12 +500,13 @@
 </td>
         </tr></table>
 
-### MouseDescriptor {#MouseDescriptor}
+### MouseInputDescriptor {#MouseInputDescriptor}
 
 
-*Defined in [fuchsia.input.report/mouse.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/mouse.fidl#12)*
+*Defined in [fuchsia.input.report/mouse.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/mouse.fidl#13)*
 
-<p>|MouseDescriptor| describes the capabilities of a mouse.</p>
+<p>Describes the format of the input report that will be sent from the mouse
+to the device.</p>
 
 
 <table>
@@ -532,10 +553,29 @@
 </td>
         </tr></table>
 
-### MouseReport {#MouseReport}
+### MouseDescriptor {#MouseDescriptor}
 
 
-*Defined in [fuchsia.input.report/mouse.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/mouse.fidl#33)*
+*Defined in [fuchsia.input.report/mouse.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/mouse.fidl#31)*
+
+<p>The capabilities of a mouse device.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>input</code></td>
+            <td>
+                <code><a class='link' href='#MouseInputDescriptor'>MouseInputDescriptor</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### MouseInputReport {#MouseInputReport}
+
+
+*Defined in [fuchsia.input.report/mouse.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/mouse.fidl#39)*
 
 <p>|MouseReport| gives the relative movement of the mouse and currently
 pressed buttons. Relative means the movement seen between the previous
@@ -609,7 +649,7 @@
             <td>2</td>
             <td><code>mouse</code></td>
             <td>
-                <code><a class='link' href='#MouseReport'>MouseReport</a></code>
+                <code><a class='link' href='#MouseInputReport'>MouseInputReport</a></code>
             </td>
             <td><p>|mouse| is the report generated if the device contains a mouse.</p>
 </td>
@@ -617,7 +657,7 @@
             <td>4</td>
             <td><code>sensor</code></td>
             <td>
-                <code><a class='link' href='#SensorReport'>SensorReport</a></code>
+                <code><a class='link' href='#SensorInputReport'>SensorInputReport</a></code>
             </td>
             <td><p>|sensor| is the report generated if the device contains a sensor.</p>
 </td>
@@ -625,7 +665,7 @@
             <td>5</td>
             <td><code>touch</code></td>
             <td>
-                <code><a class='link' href='#TouchReport'>TouchReport</a></code>
+                <code><a class='link' href='#TouchInputReport'>TouchInputReport</a></code>
             </td>
             <td><p>|touch| is the report generated if the device contains a touch device.</p>
 </td>
@@ -633,7 +673,7 @@
             <td>6</td>
             <td><code>keyboard</code></td>
             <td>
-                <code><a class='link' href='#KeyboardReport'>KeyboardReport</a></code>
+                <code><a class='link' href='#KeyboardInputReport'>KeyboardInputReport</a></code>
             </td>
             <td><p>|keyboard| is the report generated if the device contains a keyboard.</p>
 </td>
@@ -647,12 +687,13 @@
 </td>
         </tr></table>
 
-### SensorDescriptor {#SensorDescriptor}
+### SensorInputDescriptor {#SensorInputDescriptor}
 
 
-*Defined in [fuchsia.input.report/sensor.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/sensor.fidl#50)*
+*Defined in [fuchsia.input.report/sensor.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/sensor.fidl#51)*
 
-<p>|SensorDescriptor| describes the capabilities of a sensor.</p>
+<p>Describes the format of the input report that will be sent from the keyboard
+to the device.</p>
 
 
 <table>
@@ -668,10 +709,29 @@
 </td>
         </tr></table>
 
-### SensorReport {#SensorReport}
+### SensorDescriptor {#SensorDescriptor}
 
 
-*Defined in [fuchsia.input.report/sensor.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/sensor.fidl#57)*
+*Defined in [fuchsia.input.report/sensor.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/sensor.fidl#58)*
+
+<p>The capabilities of a sensor device.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>input</code></td>
+            <td>
+                <code><a class='link' href='#SensorInputDescriptor'>SensorInputDescriptor</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### SensorInputReport {#SensorInputReport}
+
+
+*Defined in [fuchsia.input.report/sensor.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/sensor.fidl#63)*
 
 <p>|SensorReport| gives the values measured by a sensor at a given point in time.</p>
 
@@ -689,7 +749,7 @@
 </td>
         </tr></table>
 
-### ContactDescriptor {#ContactDescriptor}
+### ContactInputDescriptor {#ContactInputDescriptor}
 
 
 *Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#18)*
@@ -741,12 +801,13 @@
 </td>
         </tr></table>
 
-### TouchDescriptor {#TouchDescriptor}
+### TouchInputDescriptor {#TouchInputDescriptor}
 
 
-*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#36)*
+*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#37)*
 
-<p><code>TouchDescriptor</code> describes the fields associated with an individual touch device.</p>
+<p>Describes the format of the input report that will be sent from the keyboard
+to the device.</p>
 
 
 <table>
@@ -755,7 +816,7 @@
             <td>1</td>
             <td><code>contacts</code></td>
             <td>
-                <code>vector&lt;<a class='link' href='#ContactDescriptor'>ContactDescriptor</a>&gt;[10]</code>
+                <code>vector&lt;<a class='link' href='#ContactInputDescriptor'>ContactInputDescriptor</a>&gt;[10]</code>
             </td>
             <td><p>The contact descriptors associated with this touch descriptor.</p>
 </td>
@@ -777,10 +838,29 @@
 </td>
         </tr></table>
 
-### ContactReport {#ContactReport}
+### TouchDescriptor {#TouchDescriptor}
 
 
-*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#48)*
+*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#49)*
+
+<p>The capabilities of a touch device.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
+            <td><code>input</code></td>
+            <td>
+                <code><a class='link' href='#TouchInputDescriptor'>TouchInputDescriptor</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### ContactInputReport {#ContactInputReport}
+
+
+*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#54)*
 
 <p><code>Contact</code> describes one touch on a touch device.</p>
 
@@ -843,10 +923,10 @@
 </td>
         </tr></table>
 
-### TouchReport {#TouchReport}
+### TouchInputReport {#TouchInputReport}
 
 
-*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#75)*
+*Defined in [fuchsia.input.report/touch.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.input.report/touch.fidl#81)*
 
 <p><code>TouchscreenReport</code> describes the current contacts recorded by the touchscreen.</p>
 
@@ -857,7 +937,7 @@
             <td>1</td>
             <td><code>contacts</code></td>
             <td>
-                <code>vector&lt;<a class='link' href='#ContactReport'>ContactReport</a>&gt;[10]</code>
+                <code>vector&lt;<a class='link' href='#ContactInputReport'>ContactInputReport</a>&gt;[10]</code>
             </td>
             <td><p>The contacts currently being reported by the device.</p>
 </td>
diff --git a/all/fidl/fuchsia.io/README.md b/all/fidl/fuchsia.io/README.md
index a6305ca..d3a1646 100644
--- a/all/fidl/fuchsia.io/README.md
+++ b/all/fidl/fuchsia.io/README.md
@@ -6,7 +6,7 @@
 ## **PROTOCOLS**
 
 ## Node {#Node}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#164)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#178)*
 
 <p>Node defines the minimal interface for entities which can be accessed in a filesystem.</p>
 
@@ -253,7 +253,7 @@
         </tr></table>
 
 ## File {#File}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#317)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#331)*
 
 <p>File defines the interface of a node which contains a flat layout of data.</p>
 
@@ -794,7 +794,7 @@
         </tr></table>
 
 ## DirectoryWatcher {#DirectoryWatcher}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#437)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#451)*
 
 <p>DirectoryWatcher transmits messages from a filesystem server
 about events happening in the filesystem. Clients can register
@@ -817,7 +817,7 @@
 
 
 ## Directory {#Directory}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#444)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#458)*
 
 <p>Directory defines a node which is capable of containing other Objects.</p>
 
@@ -1380,7 +1380,7 @@
         </tr></table>
 
 ## DirectoryAdmin {#DirectoryAdmin}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#620)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#634)*
 
 <p>DirectoryAdmin defines a directory which is capable of handling
 administrator tasks within the filesystem.</p>
@@ -2109,7 +2109,7 @@
 ## **STRUCTS**
 
 ### Service {#Service}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#27)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#30)*
 
 
 
@@ -2122,7 +2122,7 @@
 </table>
 
 ### FileObject {#FileObject}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#36)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#39)*
 
 
 
@@ -2146,7 +2146,7 @@
 </table>
 
 ### DirectoryObject {#DirectoryObject}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#47)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#50)*
 
 
 
@@ -2158,7 +2158,7 @@
 </table>
 
 ### Pipe {#Pipe}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#51)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#54)*
 
 
 
@@ -2176,27 +2176,8 @@
         </tr>
 </table>
 
-### Socket {#Socket}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#56)*
-
-
-
-<p>The object is accompanied by a socket.</p>
-
-
-<table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
-            <td><code>socket</code></td>
-            <td>
-                <code>handle&lt;socket&gt;</code>
-            </td>
-            <td></td>
-            <td>No default</td>
-        </tr>
-</table>
-
 ### Vmofile {#Vmofile}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#64)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#62)*
 
 
 
@@ -2235,7 +2216,7 @@
 </table>
 
 ### Device {#Device}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#85)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#83)*
 
 
 
@@ -2256,7 +2237,7 @@
 </table>
 
 ### Tty {#Tty}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#93)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#91)*
 
 
 
@@ -2274,8 +2255,66 @@
         </tr>
 </table>
 
+### Socket {#Socket}
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#96)*
+
+
+
+<p>The object may be cast to interface <a class='link' href='#fuchsia.posix.socket.Control'>fuchsia.posix.socket.Control</a>.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>socket</code></td>
+            <td>
+                <code>handle&lt;socket&gt;</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### DatagramSocket {#DatagramSocket}
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#101)*
+
+
+
+<p>The object may be cast to interface <a class='link' href='#fuchsia.posix.socket.DatagramSocket'>fuchsia.posix.socket.DatagramSocket</a>.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>event</code></td>
+            <td>
+                <code>handle&lt;eventpair&gt;</code>
+            </td>
+            <td><p>See <a class='link' href='#fuchsia.posix.socket.DatagramSocket'>fuchsia.posix.socket.DatagramSocket</a> for details.</p>
+</td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### StreamSocket {#StreamSocket}
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#107)*
+
+
+
+<p>The object may be cast to interface <a class='link' href='#fuchsia.posix.socket.StreamSocket'>fuchsia.posix.socket.StreamSocket</a>.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>socket</code></td>
+            <td>
+                <code>handle&lt;socket&gt;</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
 ### NodeAttributes {#NodeAttributes}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#254)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#268)*
 
 
 
@@ -2343,7 +2382,7 @@
 </table>
 
 ### WatchedEvent {#WatchedEvent}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#425)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#439)*
 
 
 
@@ -2376,7 +2415,7 @@
 </table>
 
 ### FilesystemInfo {#FilesystemInfo}
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#589)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#603)*
 
 
 
@@ -2481,7 +2520,7 @@
 ### SeekOrigin {#SeekOrigin}
 Type: <code>uint32</code>
 
-*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#287)*
+*Defined in [fuchsia.io/io.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#301)*
 
 <p>Update the Seek offset.</p>
 
@@ -2566,6 +2605,18 @@
                 <code><a class='link' href='#Socket'>Socket</a></code>
             </td>
             <td></td>
+        </tr><tr>
+            <td><code>datagram_socket</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket'>DatagramSocket</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>stream_socket</code></td>
+            <td>
+                <code><a class='link' href='#StreamSocket'>StreamSocket</a></code>
+            </td>
+            <td></td>
         </tr></table>
 
 
@@ -2578,7 +2629,7 @@
 
 <table>
     <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="FILE_SIGNAL_READABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#31">FILE_SIGNAL_READABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#34">FILE_SIGNAL_READABLE</a></td>
             <td>
                     <code>16777216</code>
                 </td>
@@ -2587,7 +2638,7 @@
 </td>
         </tr>
     <tr id="FILE_SIGNAL_WRITABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#33">FILE_SIGNAL_WRITABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#36">FILE_SIGNAL_WRITABLE</a></td>
             <td>
                     <code>33554432</code>
                 </td>
@@ -2596,7 +2647,7 @@
 </td>
         </tr>
     <tr id="DEVICE_SIGNAL_READABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#74">DEVICE_SIGNAL_READABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#72">DEVICE_SIGNAL_READABLE</a></td>
             <td>
                     <code>16777216</code>
                 </td>
@@ -2605,7 +2656,7 @@
 </td>
         </tr>
     <tr id="DEVICE_SIGNAL_OOB">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#76">DEVICE_SIGNAL_OOB</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#74">DEVICE_SIGNAL_OOB</a></td>
             <td>
                     <code>33554432</code>
                 </td>
@@ -2614,7 +2665,7 @@
 </td>
         </tr>
     <tr id="DEVICE_SIGNAL_WRITABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#78">DEVICE_SIGNAL_WRITABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#76">DEVICE_SIGNAL_WRITABLE</a></td>
             <td>
                     <code>67108864</code>
                 </td>
@@ -2623,7 +2674,7 @@
 </td>
         </tr>
     <tr id="DEVICE_SIGNAL_ERROR">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#80">DEVICE_SIGNAL_ERROR</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#78">DEVICE_SIGNAL_ERROR</a></td>
             <td>
                     <code>134217728</code>
                 </td>
@@ -2632,7 +2683,7 @@
 </td>
         </tr>
     <tr id="DEVICE_SIGNAL_HANGUP">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#82">DEVICE_SIGNAL_HANGUP</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#80">DEVICE_SIGNAL_HANGUP</a></td>
             <td>
                     <code>268435456</code>
                 </td>
@@ -2641,7 +2692,7 @@
 </td>
         </tr>
     <tr id="OPEN_RIGHT_READABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#98">OPEN_RIGHT_READABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#112">OPEN_RIGHT_READABLE</a></td>
             <td>
                     <code>1</code>
                 </td>
@@ -2650,7 +2701,7 @@
 </td>
         </tr>
     <tr id="OPEN_RIGHT_WRITABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#100">OPEN_RIGHT_WRITABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#114">OPEN_RIGHT_WRITABLE</a></td>
             <td>
                     <code>2</code>
                 </td>
@@ -2659,7 +2710,7 @@
 </td>
         </tr>
     <tr id="OPEN_RIGHT_ADMIN">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#102">OPEN_RIGHT_ADMIN</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#116">OPEN_RIGHT_ADMIN</a></td>
             <td>
                     <code>4</code>
                 </td>
@@ -2668,7 +2719,7 @@
 </td>
         </tr>
     <tr id="OPEN_RIGHT_EXECUTABLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#104">OPEN_RIGHT_EXECUTABLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#118">OPEN_RIGHT_EXECUTABLE</a></td>
             <td>
                     <code>8</code>
                 </td>
@@ -2677,7 +2728,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_CREATE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#107">OPEN_FLAG_CREATE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#121">OPEN_FLAG_CREATE</a></td>
             <td>
                     <code>65536</code>
                 </td>
@@ -2686,7 +2737,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_CREATE_IF_ABSENT">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#109">OPEN_FLAG_CREATE_IF_ABSENT</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#123">OPEN_FLAG_CREATE_IF_ABSENT</a></td>
             <td>
                     <code>131072</code>
                 </td>
@@ -2695,7 +2746,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_TRUNCATE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#111">OPEN_FLAG_TRUNCATE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#125">OPEN_FLAG_TRUNCATE</a></td>
             <td>
                     <code>262144</code>
                 </td>
@@ -2704,7 +2755,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_DIRECTORY">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#114">OPEN_FLAG_DIRECTORY</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#128">OPEN_FLAG_DIRECTORY</a></td>
             <td>
                     <code>524288</code>
                 </td>
@@ -2714,7 +2765,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_APPEND">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#116">OPEN_FLAG_APPEND</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#130">OPEN_FLAG_APPEND</a></td>
             <td>
                     <code>1048576</code>
                 </td>
@@ -2723,7 +2774,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_NO_REMOTE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#118">OPEN_FLAG_NO_REMOTE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#132">OPEN_FLAG_NO_REMOTE</a></td>
             <td>
                     <code>2097152</code>
                 </td>
@@ -2732,7 +2783,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_NODE_REFERENCE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#129">OPEN_FLAG_NODE_REFERENCE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#143">OPEN_FLAG_NODE_REFERENCE</a></td>
             <td>
                     <code>4194304</code>
                 </td>
@@ -2752,7 +2803,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAGS_ALLOWED_WITH_NODE_REFERENCE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#132">OPEN_FLAGS_ALLOWED_WITH_NODE_REFERENCE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#146">OPEN_FLAGS_ALLOWED_WITH_NODE_REFERENCE</a></td>
             <td>
                     <code>46661632</code>
                 </td>
@@ -2762,7 +2813,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_DESCRIBE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#135">OPEN_FLAG_DESCRIBE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#149">OPEN_FLAG_DESCRIBE</a></td>
             <td>
                     <code>8388608</code>
                 </td>
@@ -2772,7 +2823,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_POSIX">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#153">OPEN_FLAG_POSIX</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#167">OPEN_FLAG_POSIX</a></td>
             <td>
                     <code>16777216</code>
                 </td>
@@ -2797,7 +2848,7 @@
 </td>
         </tr>
     <tr id="OPEN_FLAG_NOT_DIRECTORY">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#156">OPEN_FLAG_NOT_DIRECTORY</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#170">OPEN_FLAG_NOT_DIRECTORY</a></td>
             <td>
                     <code>33554432</code>
                 </td>
@@ -2807,7 +2858,7 @@
 </td>
         </tr>
     <tr id="CLONE_FLAG_SAME_RIGHTS">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#160">CLONE_FLAG_SAME_RIGHTS</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#174">CLONE_FLAG_SAME_RIGHTS</a></td>
             <td>
                     <code>67108864</code>
                 </td>
@@ -2818,7 +2869,7 @@
 </td>
         </tr>
     <tr id="MODE_PROTECTION_MASK">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#242">MODE_PROTECTION_MASK</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#256">MODE_PROTECTION_MASK</a></td>
             <td>
                     <code>4095</code>
                 </td>
@@ -2830,7 +2881,7 @@
 </td>
         </tr>
     <tr id="MODE_TYPE_MASK">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#246">MODE_TYPE_MASK</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#260">MODE_TYPE_MASK</a></td>
             <td>
                     <code>1044480</code>
                 </td>
@@ -2841,7 +2892,7 @@
 </td>
         </tr>
     <tr id="MODE_TYPE_DIRECTORY">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#247">MODE_TYPE_DIRECTORY</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#261">MODE_TYPE_DIRECTORY</a></td>
             <td>
                     <code>16384</code>
                 </td>
@@ -2849,7 +2900,7 @@
             <td></td>
         </tr>
     <tr id="MODE_TYPE_BLOCK_DEVICE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#248">MODE_TYPE_BLOCK_DEVICE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#262">MODE_TYPE_BLOCK_DEVICE</a></td>
             <td>
                     <code>24576</code>
                 </td>
@@ -2857,7 +2908,7 @@
             <td></td>
         </tr>
     <tr id="MODE_TYPE_FILE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#249">MODE_TYPE_FILE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#263">MODE_TYPE_FILE</a></td>
             <td>
                     <code>32768</code>
                 </td>
@@ -2865,7 +2916,7 @@
             <td></td>
         </tr>
     <tr id="MODE_TYPE_SOCKET">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#250">MODE_TYPE_SOCKET</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#264">MODE_TYPE_SOCKET</a></td>
             <td>
                     <code>49152</code>
                 </td>
@@ -2873,7 +2924,7 @@
             <td></td>
         </tr>
     <tr id="MODE_TYPE_SERVICE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#251">MODE_TYPE_SERVICE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#265">MODE_TYPE_SERVICE</a></td>
             <td>
                     <code>65536</code>
                 </td>
@@ -2881,7 +2932,7 @@
             <td></td>
         </tr>
     <tr id="MAX_BUF">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#273">MAX_BUF</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#287">MAX_BUF</a></td>
             <td>
                     <code>8192</code>
                 </td>
@@ -2891,7 +2942,7 @@
 </td>
         </tr>
     <tr id="MAX_PATH">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#277">MAX_PATH</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#291">MAX_PATH</a></td>
             <td>
                     <code>4096</code>
                 </td>
@@ -2900,7 +2951,7 @@
 </td>
         </tr>
     <tr id="MAX_FILENAME">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#279">MAX_FILENAME</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#293">MAX_FILENAME</a></td>
             <td>
                     <code>255</code>
                 </td>
@@ -2909,7 +2960,7 @@
 </td>
         </tr>
     <tr id="NODE_ATTRIBUTE_FLAG_CREATION_TIME">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#283">NODE_ATTRIBUTE_FLAG_CREATION_TIME</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#297">NODE_ATTRIBUTE_FLAG_CREATION_TIME</a></td>
             <td>
                     <code>1</code>
                 </td>
@@ -2919,7 +2970,7 @@
 </td>
         </tr>
     <tr id="NODE_ATTRIBUTE_FLAG_MODIFICATION_TIME">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#284">NODE_ATTRIBUTE_FLAG_MODIFICATION_TIME</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#298">NODE_ATTRIBUTE_FLAG_MODIFICATION_TIME</a></td>
             <td>
                     <code>2</code>
                 </td>
@@ -2927,7 +2978,7 @@
             <td></td>
         </tr>
     <tr id="VMO_FLAG_READ">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#297">VMO_FLAG_READ</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#311">VMO_FLAG_READ</a></td>
             <td>
                     <code>1</code>
                 </td>
@@ -2936,7 +2987,7 @@
 </td>
         </tr>
     <tr id="VMO_FLAG_WRITE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#300">VMO_FLAG_WRITE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#314">VMO_FLAG_WRITE</a></td>
             <td>
                     <code>2</code>
                 </td>
@@ -2945,7 +2996,7 @@
 </td>
         </tr>
     <tr id="VMO_FLAG_EXEC">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#303">VMO_FLAG_EXEC</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#317">VMO_FLAG_EXEC</a></td>
             <td>
                     <code>4</code>
                 </td>
@@ -2954,7 +3005,7 @@
 </td>
         </tr>
     <tr id="VMO_FLAG_PRIVATE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#308">VMO_FLAG_PRIVATE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#322">VMO_FLAG_PRIVATE</a></td>
             <td>
                     <code>65536</code>
                 </td>
@@ -2965,7 +3016,7 @@
 </td>
         </tr>
     <tr id="VMO_FLAG_EXACT">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#313">VMO_FLAG_EXACT</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#327">VMO_FLAG_EXACT</a></td>
             <td>
                     <code>131072</code>
                 </td>
@@ -2976,7 +3027,7 @@
 </td>
         </tr>
     <tr id="DIRENT_TYPE_UNKNOWN">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#383">DIRENT_TYPE_UNKNOWN</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#397">DIRENT_TYPE_UNKNOWN</a></td>
             <td>
                     <code>0</code>
                 </td>
@@ -2985,7 +3036,7 @@
 </td>
         </tr>
     <tr id="DIRENT_TYPE_DIRECTORY">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#385">DIRENT_TYPE_DIRECTORY</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#399">DIRENT_TYPE_DIRECTORY</a></td>
             <td>
                     <code>4</code>
                 </td>
@@ -2994,7 +3045,7 @@
 </td>
         </tr>
     <tr id="DIRENT_TYPE_BLOCK_DEVICE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#387">DIRENT_TYPE_BLOCK_DEVICE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#401">DIRENT_TYPE_BLOCK_DEVICE</a></td>
             <td>
                     <code>6</code>
                 </td>
@@ -3003,7 +3054,7 @@
 </td>
         </tr>
     <tr id="DIRENT_TYPE_FILE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#389">DIRENT_TYPE_FILE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#403">DIRENT_TYPE_FILE</a></td>
             <td>
                     <code>8</code>
                 </td>
@@ -3012,7 +3063,7 @@
 </td>
         </tr>
     <tr id="DIRENT_TYPE_SOCKET">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#391">DIRENT_TYPE_SOCKET</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#405">DIRENT_TYPE_SOCKET</a></td>
             <td>
                     <code>12</code>
                 </td>
@@ -3021,7 +3072,7 @@
 </td>
         </tr>
     <tr id="DIRENT_TYPE_SERVICE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#393">DIRENT_TYPE_SERVICE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#407">DIRENT_TYPE_SERVICE</a></td>
             <td>
                     <code>16</code>
                 </td>
@@ -3030,7 +3081,7 @@
 </td>
         </tr>
     <tr id="INO_UNKNOWN">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#397">INO_UNKNOWN</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#411">INO_UNKNOWN</a></td>
             <td>
                     <code>18446744073709551615</code>
                 </td>
@@ -3040,7 +3091,7 @@
 </td>
         </tr>
     <tr id="WATCH_EVENT_DELETED">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#400">WATCH_EVENT_DELETED</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#414">WATCH_EVENT_DELETED</a></td>
             <td>
                     <code>0</code>
                 </td>
@@ -3049,7 +3100,7 @@
 </td>
         </tr>
     <tr id="WATCH_EVENT_ADDED">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#402">WATCH_EVENT_ADDED</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#416">WATCH_EVENT_ADDED</a></td>
             <td>
                     <code>1</code>
                 </td>
@@ -3058,7 +3109,7 @@
 </td>
         </tr>
     <tr id="WATCH_EVENT_REMOVED">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#404">WATCH_EVENT_REMOVED</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#418">WATCH_EVENT_REMOVED</a></td>
             <td>
                     <code>2</code>
                 </td>
@@ -3067,7 +3118,7 @@
 </td>
         </tr>
     <tr id="WATCH_EVENT_EXISTING">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#406">WATCH_EVENT_EXISTING</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#420">WATCH_EVENT_EXISTING</a></td>
             <td>
                     <code>3</code>
                 </td>
@@ -3076,7 +3127,7 @@
 </td>
         </tr>
     <tr id="WATCH_EVENT_IDLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#408">WATCH_EVENT_IDLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#422">WATCH_EVENT_IDLE</a></td>
             <td>
                     <code>4</code>
                 </td>
@@ -3085,7 +3136,7 @@
 </td>
         </tr>
     <tr id="WATCH_MASK_DELETED">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#411">WATCH_MASK_DELETED</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#425">WATCH_MASK_DELETED</a></td>
             <td>
                     <code>1</code>
                 </td>
@@ -3094,7 +3145,7 @@
 </td>
         </tr>
     <tr id="WATCH_MASK_ADDED">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#413">WATCH_MASK_ADDED</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#427">WATCH_MASK_ADDED</a></td>
             <td>
                     <code>2</code>
                 </td>
@@ -3103,7 +3154,7 @@
 </td>
         </tr>
     <tr id="WATCH_MASK_REMOVED">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#415">WATCH_MASK_REMOVED</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#429">WATCH_MASK_REMOVED</a></td>
             <td>
                     <code>4</code>
                 </td>
@@ -3112,7 +3163,7 @@
 </td>
         </tr>
     <tr id="WATCH_MASK_EXISTING">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#417">WATCH_MASK_EXISTING</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#431">WATCH_MASK_EXISTING</a></td>
             <td>
                     <code>8</code>
                 </td>
@@ -3121,7 +3172,7 @@
 </td>
         </tr>
     <tr id="WATCH_MASK_IDLE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#419">WATCH_MASK_IDLE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#433">WATCH_MASK_IDLE</a></td>
             <td>
                     <code>16</code>
                 </td>
@@ -3130,7 +3181,7 @@
 </td>
         </tr>
     <tr id="WATCH_MASK_ALL">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#421">WATCH_MASK_ALL</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#435">WATCH_MASK_ALL</a></td>
             <td>
                     <code>31</code>
                 </td>
@@ -3139,7 +3190,7 @@
 </td>
         </tr>
     <tr id="MOUNT_CREATE_FLAG_REPLACE">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#585">MOUNT_CREATE_FLAG_REPLACE</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#599">MOUNT_CREATE_FLAG_REPLACE</a></td>
             <td>
                     <code>1</code>
                 </td>
@@ -3147,7 +3198,7 @@
             <td></td>
         </tr>
     <tr id="MAX_FS_NAME_BUFFER">
-            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#587">MAX_FS_NAME_BUFFER</a></td>
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-io/io.fidl#601">MAX_FS_NAME_BUFFER</a></td>
             <td>
                     <code>32</code>
                 </td>
diff --git a/all/fidl/fuchsia.net.dns/README.md b/all/fidl/fuchsia.net.dns/README.md
deleted file mode 100644
index 62fdb6b..0000000
--- a/all/fidl/fuchsia.net.dns/README.md
+++ /dev/null
@@ -1,139 +0,0 @@
-[TOC]
-
-# fuchsia.net.dns
-
-
-## **PROTOCOLS**
-
-## DnsPolicy {#DnsPolicy}
-*Defined in [fuchsia.net.dns/dns.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.dns/dns.fidl#29)*
-
-<p>This interface is used to interact with the policy layer of the fuchsia
-netstack implementation that is hosted in netcfg.  This interface is
-for use solely by privileged system components such as a 'system setting'
-user interface, and can be used to change system-wide DNS settings.</p>
-
-### SetDNSConfig {#SetDNSConfig}
-
-<p>Set the DNS servers' IP addresses.</p>
-
-#### Request
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    <tr>
-            <td><code>config</code></td>
-            <td>
-                <code><a class='link' href='#DNSConfig'>DNSConfig</a></code>
-            </td>
-        </tr></table>
-
-
-#### Response
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    <tr>
-            <td><code>result</code></td>
-            <td>
-                <code><a class='link' href='#NetError'>NetError</a></code>
-            </td>
-        </tr></table>
-
-### GetDNSConfig {#GetDNSConfig}
-
-<p>Get the DNS servers' IP addresses.</p>
-
-#### Request
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    </table>
-
-
-#### Response
-<table>
-    <tr><th>Name</th><th>Type</th></tr>
-    <tr>
-            <td><code>current</code></td>
-            <td>
-                <code><a class='link' href='#DNSConfig'>DNSConfig</a></code>
-            </td>
-        </tr></table>
-
-
-
-## **STRUCTS**
-
-### NetError {#NetError}
-*Defined in [fuchsia.net.dns/dns.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.dns/dns.fidl#15)*
-
-
-
-
-
-<table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
-            <td><code>status</code></td>
-            <td>
-                <code><a class='link' href='#Status'>Status</a></code>
-            </td>
-            <td></td>
-            <td>No default</td>
-        </tr>
-</table>
-
-### DNSConfig {#DNSConfig}
-*Defined in [fuchsia.net.dns/dns.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.dns/dns.fidl#20)*
-
-
-
-<p>Settings for the system-wide DNS behavior.</p>
-
-
-<table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
-            <td><code>dns_servers</code></td>
-            <td>
-                <code>vector&lt;<a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#IpAddress'>IpAddress</a>&gt;</code>
-            </td>
-            <td></td>
-            <td>No default</td>
-        </tr>
-</table>
-
-
-
-## **ENUMS**
-
-### Status {#Status}
-Type: <code>uint32</code>
-
-*Defined in [fuchsia.net.dns/dns.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.dns/dns.fidl#9)*
-
-
-
-<table>
-    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
-            <td><code>OK</code></td>
-            <td><code>0</code></td>
-            <td></td>
-        </tr><tr>
-            <td><code>UNKNOWN_ERROR</code></td>
-            <td><code>1</code></td>
-            <td></td>
-        </tr><tr>
-            <td><code>PARSE_ERROR</code></td>
-            <td><code>2</code></td>
-            <td></td>
-        </tr></table>
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/all/fidl/fuchsia.net.http/README.md b/all/fidl/fuchsia.net.http/README.md
index f37dbd8..628c211 100644
--- a/all/fidl/fuchsia.net.http/README.md
+++ b/all/fidl/fuchsia.net.http/README.md
@@ -6,12 +6,12 @@
 ## **PROTOCOLS**
 
 ## Loader {#Loader}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#155)*
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#106)*
 
 <p>An HTTP loader.</p>
-<p>The loader can service many HTTP requests concurrently. The loader tracks all
-the outstanding requests and will cancel them all if the client closes the
-loader interface.</p>
+<p>The loader can service many HTTP requests concurrently. The loader tracks
+all the outstanding requests and will cancel them all if the client closes
+the loader interface.</p>
 
 ### Fetch {#Fetch}
 
@@ -19,8 +19,8 @@
 response.</p>
 <p>The loader will follow redirects (up to an implementation-defined limit)
 and return the final response as a reply to this message. To cancel the
-request, either close the loader interface or close the peer to the <code>event</code>
-included in the <code>request</code>.</p>
+request, either close the loader interface or close the peer to the
+<code>event</code> included in the <code>request</code>.</p>
 
 #### Request
 <table>
@@ -48,8 +48,8 @@
 <p>Initiate the given HTTP request and return all intermediate responses to
 the given client.</p>
 <p>Unlike <code>Fetch</code>, <code>Start</code> does not automatically follow all redirects.
-Instead, each individual response along the redirect chain is delivered to
-the <code>LoaderClient</code>.</p>
+Instead, each individual response along the redirect chain is delivered
+to the <code>LoaderClient</code>.</p>
 
 #### Request
 <table>
@@ -69,7 +69,7 @@
 
 
 ## LoaderClient {#LoaderClient}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#177)*
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#128)*
 
 <p>A client interface used with <code>Loader.Start</code>.</p>
 <p>Closing the underlying channel will cancel the associated HTTP transaction.</p>
@@ -77,9 +77,10 @@
 ### OnResponse {#OnResponse}
 
 <p>Called by the loader when the loader receives an HTTP response.</p>
-<p>If the server has requested a redirect, then <code>redirect</code> will be non-null
-and describe the target the server requested. To follow the redirect, reply
-to this message. To not follow the redirect, close the underlying channel.</p>
+<p>If the server has requested a redirect, then <code>redirect</code> in <code>response</code>
+table will describe the target the server requested. To follow the
+redirect, reply to this message. To not follow the redirect, close the
+underlying channel.</p>
 
 #### Request
 <table>
@@ -89,11 +90,6 @@
             <td>
                 <code><a class='link' href='#Response'>Response</a></code>
             </td>
-        </tr><tr>
-            <td><code>redirect</code></td>
-            <td>
-                <code><a class='link' href='#RedirectTarget'>RedirectTarget</a>?</code>
-            </td>
         </tr></table>
 
 
@@ -106,38 +102,8 @@
 
 ## **STRUCTS**
 
-### Error {#Error}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#10)*
-
-
-
-<p>An error occurred during the HTTP transaction.</p>
-
-
-<table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
-            <td><code>code</code></td>
-            <td>
-                <code>int32</code>
-            </td>
-            <td><p>The numerical error code.</p>
-<p>These error codes correspond to
-<a href="https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/network/net_error_list.h">https://fuchsia.googlesource.com/fuchsia/+/master/garnet/bin/network/net_error_list.h</a></p>
-</td>
-            <td>No default</td>
-        </tr><tr>
-            <td><code>description</code></td>
-            <td>
-                <code>string?</code>
-            </td>
-            <td><p>A textual description of the error in en-US.</p>
-</td>
-            <td>No default</td>
-        </tr>
-</table>
-
 ### Header {#Header}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#22)*
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#21)*
 
 
 
@@ -164,82 +130,83 @@
         </tr>
 </table>
 
+
+
+## **ENUMS**
+
+### Error {#Error}
+Type: <code>uint32</code>
+
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#12)*
+
+<p>An error occurred during the HTTP transaction.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
+            <td><code>INTERNAL</code></td>
+            <td><code>1</code></td>
+            <td><p>Some other problem occurred that cannot be classified using one of the
+more specific statuses. Retry is optional.</p>
+</td>
+        </tr></table>
+
+
+
+## **TABLES**
+
 ### Request {#Request}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#76)*
 
 
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#39)*
 
 <p>An HTTP request.</p>
 
 
 <table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
             <td><code>method</code></td>
             <td>
-                <code>string</code>
+                <code><a class='link' href='#Method'>Method</a></code>
             </td>
             <td><p>The HTTP method if applicable.</p>
+<p>Defaults to &quot;GET&quot;.</p>
 </td>
-            <td>GET</td>
         </tr><tr>
+            <td>2</td>
             <td><code>url</code></td>
             <td>
                 <code>vector&lt;uint8&gt;</code>
             </td>
             <td><p>The URL to load.</p>
+<p>Required.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>3</td>
             <td><code>headers</code></td>
             <td>
-                <code>vector&lt;<a class='link' href='#Header'>Header</a>&gt;?</code>
+                <code>vector&lt;<a class='link' href='#Header'>Header</a>&gt;</code>
             </td>
             <td><p>Additional HTTP request headers.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>4</td>
             <td><code>body</code></td>
             <td>
-                <code><a class='link' href='#Body'>Body</a>?</code>
+                <code><a class='link' href='#Body'>Body</a></code>
             </td>
-            <td><p>The payload for the request body. For HTTP requests, the method must be set
-to &quot;POST&quot; or &quot;PUT&quot;. If a buffer is used for the body, a Content-Length
-header will automatically be added.</p>
+            <td><p>The payload for the request body. For HTTP requests, the method must be
+set to &quot;POST&quot; or &quot;PUT&quot;. If a buffer is used for the body, a
+Content-Length header will automatically be added.</p>
 </td>
-            <td>No default</td>
-        </tr><tr>
-            <td><code>event</code></td>
-            <td>
-                <code>handle&lt;eventpair&gt;?</code>
-            </td>
-            <td><p>The loader will cancel the request if the peer for this event is closed.</p>
-<p>When this happens, the loader will send a Response with the appropriate
-error code.</p>
-</td>
-            <td>No default</td>
-        </tr><tr>
-            <td><code>cache_mode</code></td>
-            <td>
-                <code><a class='link' href='#CacheMode'>CacheMode</a></code>
-            </td>
-            <td><p>The cache behavior for the request.</p>
-</td>
-            <td><a class='link' href='#CacheMode.DEFAULT'>CacheMode.DEFAULT</a></td>
-        </tr><tr>
-            <td><code>response_body_mode</code></td>
-            <td>
-                <code><a class='link' href='#ResponseBodyMode'>ResponseBodyMode</a></code>
-            </td>
-            <td><p>The response body mode.</p>
-</td>
-            <td><a class='link' href='#ResponseBodyMode.BUFFER'>ResponseBodyMode.BUFFER</a></td>
-        </tr>
-</table>
+        </tr></table>
 
 ### RedirectTarget {#RedirectTarget}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#109)*
 
 
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#64)*
 
 <p>A description of the redirect the server requested.</p>
 <p>The semantics of an HTTP redirect vary according to the status code use to
@@ -248,183 +215,110 @@
 
 
 <table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
             <td><code>method</code></td>
             <td>
-                <code>string</code>
+                <code><a class='link' href='#Method'>Method</a></code>
             </td>
             <td><p>The HTTP method the server suggested for the redirect.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>2</td>
             <td><code>url</code></td>
             <td>
                 <code>vector&lt;uint8&gt;</code>
             </td>
             <td><p>The URL the server suggested for the redirect.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>3</td>
             <td><code>referrer</code></td>
             <td>
                 <code>vector&lt;uint8&gt;</code>
             </td>
             <td><p>The referrer the server suggested for the redirect.</p>
 </td>
-            <td>No default</td>
-        </tr>
-</table>
+        </tr></table>
 
 ### Response {#Response}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#121)*
 
 
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#76)*
 
 <p>A response to an HTTP request.</p>
 
 
 <table>
-    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr>
+            <td>1</td>
             <td><code>error</code></td>
             <td>
-                <code><a class='link' href='#Error'>Error</a>?</code>
+                <code><a class='link' href='#Error'>Error</a></code>
             </td>
-            <td><p>If the response resulted in a network level error, this field will be set.</p>
+            <td><p>If the response resulted in a network level error, this field will be
+set.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>2</td>
             <td><code>body</code></td>
             <td>
-                <code><a class='link' href='#Body'>Body</a>?</code>
+                <code>handle&lt;socket&gt;</code>
             </td>
             <td><p>The response body.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
-            <td><code>url</code></td>
+            <td>3</td>
+            <td><code>final_url</code></td>
             <td>
-                <code>vector&lt;uint8&gt;?</code>
+                <code>vector&lt;uint8&gt;</code>
             </td>
             <td><p>The final URL of the response, after redirects have been followed.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>4</td>
             <td><code>status_code</code></td>
             <td>
                 <code>uint32</code>
             </td>
             <td><p>The HTTP status code.</p>
-<p>0 if not applicable.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>5</td>
             <td><code>status_line</code></td>
             <td>
-                <code>string?</code>
+                <code>vector&lt;uint8&gt;</code>
             </td>
             <td><p>The HTTP status line.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
+            <td>6</td>
             <td><code>headers</code></td>
             <td>
-                <code>vector&lt;<a class='link' href='#Header'>Header</a>&gt;?</code>
+                <code>vector&lt;<a class='link' href='#Header'>Header</a>&gt;</code>
             </td>
             <td><p>The HTTP response headers.</p>
 </td>
-            <td>No default</td>
         </tr><tr>
-            <td><code>mime_type</code></td>
+            <td>7</td>
+            <td><code>redirect</code></td>
             <td>
-                <code>string?</code>
+                <code><a class='link' href='#RedirectTarget'>RedirectTarget</a></code>
             </td>
-            <td><p>The MIME type of the response body.</p>
-</td>
-            <td>No default</td>
-        </tr><tr>
-            <td><code>charset</code></td>
-            <td>
-                <code>string?</code>
-            </td>
-            <td><p>The character set of the response body.</p>
-</td>
-            <td>No default</td>
-        </tr>
-</table>
-
-
-
-## **ENUMS**
-
-### CacheMode {#CacheMode}
-Type: <code>uint32</code>
-
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#40)*
-
-<p>Specify the cache behavior of the request.</p>
-
-
-<table>
-    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
-            <td><code>DEFAULT</code></td>
-            <td><code>0</code></td>
-            <td><p>Default behavior.</p>
-</td>
-        </tr><tr>
-            <td><code>BYPASS_CACHE</code></td>
-            <td><code>1</code></td>
-            <td><p>The HTTP request will bypass the local cache and will have a
-'Cache-Control: nocache' header added in that causes any proxy servers
-to also not satisfy the request from their cache.  This has the effect
-of forcing a full end-to-end fetch.</p>
-</td>
-        </tr><tr>
-            <td><code>ONLY_FROM_CACHE</code></td>
-            <td><code>2</code></td>
-            <td><p>The HTTP request will fail if it cannot serve the requested resource
-from the cache (or some equivalent local store).</p>
+            <td><p>A description of the redirect the server requested, if any.</p>
 </td>
         </tr></table>
 
-### ResponseBodyMode {#ResponseBodyMode}
-Type: <code>uint32</code>
-
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#62)*
-
-<p>Specify the mechanism used to return the response body.</p>
-<p>Streaming the response can be more efficient if the response body is large
-and can be processed incrementally (e.g., by an image decoder).</p>
-<p>Buffering the response can be more efficient if the response body is in cache
-and the cache entry can be directly mapped into the resulting buffer.</p>
-
-
-<table>
-    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr>
-            <td><code>BUFFER</code></td>
-            <td><code>0</code></td>
-            <td><p>The complete response body should be returned in the <code>buffer</code> field of
-the response body.</p>
-<p>The loader MAY abort the transation if the buffer size exceeds an
-implementation-defined limit.</p>
-</td>
-        </tr><tr>
-            <td><code>STREAM</code></td>
-            <td><code>1</code></td>
-            <td><p>The response body should be streamed through the <code>stream</code> field of the
-response body.</p>
-</td>
-        </tr></table>
-
-
-
 
 
 ## **UNIONS**
 
 ### Body {#Body}
-*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#31)*
+*Defined in [fuchsia.net.http/client.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#30)*
 
-<p>The body of either an HTTP request or an HTTP response.</p>
+<p>The body of an HTTP request.</p>
 
 <table>
     <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
@@ -451,3 +345,13 @@
 
 
 
+## **TYPE ALIASES**
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="Method">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.net.http/client.fidl#9">Method</a></td>
+            <td>
+                <code>string</code></td>
+            <td></td>
+        </tr></table>
+
diff --git a/all/fidl/fuchsia.posix.socket/README.md b/all/fidl/fuchsia.posix.socket/README.md
index 3b7629b..6297e8c 100644
--- a/all/fidl/fuchsia.posix.socket/README.md
+++ b/all/fidl/fuchsia.posix.socket/README.md
@@ -484,8 +484,1385 @@
             </td>
         </tr></table>
 
+## BaseSocket {#BaseSocket}
+*Defined in [fuchsia.posix.socket/socket.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-posix-socket/socket.fidl#60)*
+
+<p>A network socket.</p>
+<p>Once a socket has been retrieved from a <code>Provider</code>, this interface is then used to further
+configure and use the socket. This interface is essentially POSIX. Its implementation must
+support Linux-specific arguments to {Get,Set}SockOpt.</p>
+<p>All methods on this type are nonblocking; their exact behaviors match their Linux counterparts.</p>
+<p><em>Warning:</em> This protocol is not yet ready for direct use by clients. Instead, clients should
+use the BSD sockets API to interact with sockets. We plan to change this protocol substantially
+and clients that couple directly to this protocol will make those changes more difficult.</p>
+
+### Clone {#Clone}
+
+<p>Create another connection to the same remote object.</p>
+<p><code>flags</code> may be any of:</p>
+<ul>
+<li><code>OPEN_RIGHT_*</code></li>
+<li><code>OPEN_FLAG_APPEND</code></li>
+<li><code>OPEN_FLAG_NO_REMOTE</code></li>
+<li><code>OPEN_FLAG_DESCRIBE</code></li>
+<li><code>CLONE_FLAG_SAME_RIGHTS</code></li>
+</ul>
+<p>All other flags are ignored.</p>
+<p>The <code>OPEN_RIGHT_*</code> bits in <code>flags</code> request corresponding rights over the resulting
+cloned object.
+The cloned object must have rights less than or equal to the original object.
+Alternatively, pass <code>CLONE_FLAG_SAME_RIGHTS</code> to inherit the rights on the source connection.
+It is invalid to pass any of the <code>OPEN_RIGHT_*</code> flags together with
+<code>CLONE_FLAG_SAME_RIGHTS</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>object</code></td>
+            <td>
+                <code>request&lt;<a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#Node'>Node</a>&gt;</code>
+            </td>
+        </tr></table>
+
+
+
+### Close {#Close}
+
+<p>Terminates connection with object.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Describe {#Describe}
+
+<p>Returns extra information about the type of the object.
+If the <code>Describe</code> operation fails, the connection is closed.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeInfo'>NodeInfo</a></code>
+            </td>
+        </tr></table>
+
+### OnOpen {#OnOpen}
+
+<p>An event produced eagerly by a FIDL server if requested by <code>OPEN_FLAG_DESCRIBE</code>.</p>
+<p>Indicates the success or failure of the open operation, and optionally describes the
+object. If the status is <code>ZX_OK</code>, <code>info</code> contains descriptive information about the object
+(the same as would be returned by <code>Describe</code>).</p>
+
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeInfo'>NodeInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### Sync {#Sync}
+
+<p>Synchronizes updates to the node to the underlying media, if it exists.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### GetAttr {#GetAttr}
+
+<p>Acquires information about the node.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>attributes</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeAttributes'>NodeAttributes</a></code>
+            </td>
+        </tr></table>
+
+### SetAttr {#SetAttr}
+
+<p>Updates information about the node.
+<code>flags</code> may be any of <code>NODE_ATTRIBUTE_FLAG_*</code>.</p>
+<p>This method requires following rights: <code>OPEN_RIGHT_WRITABLE</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>attributes</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeAttributes'>NodeAttributes</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### NodeGetFlags {#NodeGetFlags}
+
+<p>Acquires the <code>Directory.Open</code> rights and flags used to access this file.</p>
+<p>This method does not require any rights.
+This method has the same functionality as GetFlags for File and is
+meant as an in-progress replacement.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+### NodeSetFlags {#NodeSetFlags}
+
+<p>Changes the <code>Directory.Open</code> flags used to access the file.
+Supported flags which can be turned on / off:</p>
+<ul>
+<li><code>OPEN_FLAG_APPEND</code></li>
+</ul>
+<p>This method does not require any rights.
+This method has the same functionality as SetFlags for File and is
+meant as an in-progress replacement.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Bind {#Bind}
+
+<p>Sets the local address used for the socket.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Bind_Result'>BaseSocket_Bind_Result</a></code>
+            </td>
+        </tr></table>
+
+### Connect {#Connect}
+
+<p>Initiates a connection to a remote address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Connect_Result'>BaseSocket_Connect_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetSockName {#GetSockName}
+
+<p>Retrieves the local socket address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockName_Result'>BaseSocket_GetSockName_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetPeerName {#GetPeerName}
+
+<p>Retrieves the remote socket address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetPeerName_Result'>BaseSocket_GetPeerName_Result</a></code>
+            </td>
+        </tr></table>
+
+### SetSockOpt {#SetSockOpt}
+
+<p>Sets the value of a socket option.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>level</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optname</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optval</code></td>
+            <td>
+                <code><a class='link' href='#sockopt'>sockopt</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_SetSockOpt_Result'>BaseSocket_SetSockOpt_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetSockOpt {#GetSockOpt}
+
+<p>Retrieves the value of a socket option.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>level</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optname</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockOpt_Result'>BaseSocket_GetSockOpt_Result</a></code>
+            </td>
+        </tr></table>
+
+## DatagramSocket {#DatagramSocket}
+*Defined in [fuchsia.posix.socket/socket.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-posix-socket/socket.fidl#83)*
+
+<p>A datagram socket.</p>
+<p>This type's <a class='link' href='../fuchsia.io.Node/'>fuchsia.io.Node</a>/<a class='link' href='../fuchsia.io.Node/#Describe'>Describe</a> method returns an eventpair which is used to signal
+additional information about the state of the socket such as readiness or shutdown-ness.</p>
+<p>All methods on this type are nonblocking; their exact behaviors match their Linux counterparts.</p>
+
+### Clone {#Clone}
+
+<p>Create another connection to the same remote object.</p>
+<p><code>flags</code> may be any of:</p>
+<ul>
+<li><code>OPEN_RIGHT_*</code></li>
+<li><code>OPEN_FLAG_APPEND</code></li>
+<li><code>OPEN_FLAG_NO_REMOTE</code></li>
+<li><code>OPEN_FLAG_DESCRIBE</code></li>
+<li><code>CLONE_FLAG_SAME_RIGHTS</code></li>
+</ul>
+<p>All other flags are ignored.</p>
+<p>The <code>OPEN_RIGHT_*</code> bits in <code>flags</code> request corresponding rights over the resulting
+cloned object.
+The cloned object must have rights less than or equal to the original object.
+Alternatively, pass <code>CLONE_FLAG_SAME_RIGHTS</code> to inherit the rights on the source connection.
+It is invalid to pass any of the <code>OPEN_RIGHT_*</code> flags together with
+<code>CLONE_FLAG_SAME_RIGHTS</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>object</code></td>
+            <td>
+                <code>request&lt;<a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#Node'>Node</a>&gt;</code>
+            </td>
+        </tr></table>
+
+
+
+### Close {#Close}
+
+<p>Terminates connection with object.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Describe {#Describe}
+
+<p>Returns extra information about the type of the object.
+If the <code>Describe</code> operation fails, the connection is closed.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeInfo'>NodeInfo</a></code>
+            </td>
+        </tr></table>
+
+### OnOpen {#OnOpen}
+
+<p>An event produced eagerly by a FIDL server if requested by <code>OPEN_FLAG_DESCRIBE</code>.</p>
+<p>Indicates the success or failure of the open operation, and optionally describes the
+object. If the status is <code>ZX_OK</code>, <code>info</code> contains descriptive information about the object
+(the same as would be returned by <code>Describe</code>).</p>
+
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeInfo'>NodeInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### Sync {#Sync}
+
+<p>Synchronizes updates to the node to the underlying media, if it exists.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### GetAttr {#GetAttr}
+
+<p>Acquires information about the node.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>attributes</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeAttributes'>NodeAttributes</a></code>
+            </td>
+        </tr></table>
+
+### SetAttr {#SetAttr}
+
+<p>Updates information about the node.
+<code>flags</code> may be any of <code>NODE_ATTRIBUTE_FLAG_*</code>.</p>
+<p>This method requires following rights: <code>OPEN_RIGHT_WRITABLE</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>attributes</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeAttributes'>NodeAttributes</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### NodeGetFlags {#NodeGetFlags}
+
+<p>Acquires the <code>Directory.Open</code> rights and flags used to access this file.</p>
+<p>This method does not require any rights.
+This method has the same functionality as GetFlags for File and is
+meant as an in-progress replacement.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+### NodeSetFlags {#NodeSetFlags}
+
+<p>Changes the <code>Directory.Open</code> flags used to access the file.
+Supported flags which can be turned on / off:</p>
+<ul>
+<li><code>OPEN_FLAG_APPEND</code></li>
+</ul>
+<p>This method does not require any rights.
+This method has the same functionality as SetFlags for File and is
+meant as an in-progress replacement.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Bind {#Bind}
+
+<p>Sets the local address used for the socket.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Bind_Result'>BaseSocket_Bind_Result</a></code>
+            </td>
+        </tr></table>
+
+### Connect {#Connect}
+
+<p>Initiates a connection to a remote address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Connect_Result'>BaseSocket_Connect_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetSockName {#GetSockName}
+
+<p>Retrieves the local socket address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockName_Result'>BaseSocket_GetSockName_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetPeerName {#GetPeerName}
+
+<p>Retrieves the remote socket address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetPeerName_Result'>BaseSocket_GetPeerName_Result</a></code>
+            </td>
+        </tr></table>
+
+### SetSockOpt {#SetSockOpt}
+
+<p>Sets the value of a socket option.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>level</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optname</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optval</code></td>
+            <td>
+                <code><a class='link' href='#sockopt'>sockopt</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_SetSockOpt_Result'>BaseSocket_SetSockOpt_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetSockOpt {#GetSockOpt}
+
+<p>Retrieves the value of a socket option.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>level</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optname</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockOpt_Result'>BaseSocket_GetSockOpt_Result</a></code>
+            </td>
+        </tr></table>
+
+### Shutdown {#Shutdown}
+
+<p>Shuts down part of the socket.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>how</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket_Shutdown_Result'>DatagramSocket_Shutdown_Result</a></code>
+            </td>
+        </tr></table>
+
+### RecvMsg {#RecvMsg}
+
+<p>Receives a message from the socket.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr_len</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>data_len</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>control_len</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket_RecvMsg_Result'>DatagramSocket_RecvMsg_Result</a></code>
+            </td>
+        </tr></table>
+
+### SendMsg {#SendMsg}
+
+<p>Sends a message on the socket.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr><tr>
+            <td><code>data</code></td>
+            <td>
+                <code>vector&lt;vector&gt;</code>
+            </td>
+        </tr><tr>
+            <td><code>control</code></td>
+            <td>
+                <code>vector&lt;uint8&gt;</code>
+            </td>
+        </tr><tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket_SendMsg_Result'>DatagramSocket_SendMsg_Result</a></code>
+            </td>
+        </tr></table>
+
+## StreamSocket {#StreamSocket}
+*Defined in [fuchsia.posix.socket/socket.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-posix-socket/socket.fidl#102)*
+
+<p>A stream socket.</p>
+<p>This type's <a class='link' href='../fuchsia.io.Node/'>fuchsia.io.Node</a>/<a class='link' href='../fuchsia.io.Node/#Describe'>Describe</a> method returns a socket which is used to transfer data
+to and from the caller. Signals are used to communicate additional information about the state
+of the socket such as connectedness and the presence of incoming connections in the case of a
+listening socket.</p>
+<p>All methods on this type are nonblocking; their exact behaviors match their Linux counterparts.</p>
+
+### Clone {#Clone}
+
+<p>Create another connection to the same remote object.</p>
+<p><code>flags</code> may be any of:</p>
+<ul>
+<li><code>OPEN_RIGHT_*</code></li>
+<li><code>OPEN_FLAG_APPEND</code></li>
+<li><code>OPEN_FLAG_NO_REMOTE</code></li>
+<li><code>OPEN_FLAG_DESCRIBE</code></li>
+<li><code>CLONE_FLAG_SAME_RIGHTS</code></li>
+</ul>
+<p>All other flags are ignored.</p>
+<p>The <code>OPEN_RIGHT_*</code> bits in <code>flags</code> request corresponding rights over the resulting
+cloned object.
+The cloned object must have rights less than or equal to the original object.
+Alternatively, pass <code>CLONE_FLAG_SAME_RIGHTS</code> to inherit the rights on the source connection.
+It is invalid to pass any of the <code>OPEN_RIGHT_*</code> flags together with
+<code>CLONE_FLAG_SAME_RIGHTS</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>object</code></td>
+            <td>
+                <code>request&lt;<a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#Node'>Node</a>&gt;</code>
+            </td>
+        </tr></table>
+
+
+
+### Close {#Close}
+
+<p>Terminates connection with object.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Describe {#Describe}
+
+<p>Returns extra information about the type of the object.
+If the <code>Describe</code> operation fails, the connection is closed.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeInfo'>NodeInfo</a></code>
+            </td>
+        </tr></table>
+
+### OnOpen {#OnOpen}
+
+<p>An event produced eagerly by a FIDL server if requested by <code>OPEN_FLAG_DESCRIBE</code>.</p>
+<p>Indicates the success or failure of the open operation, and optionally describes the
+object. If the status is <code>ZX_OK</code>, <code>info</code> contains descriptive information about the object
+(the same as would be returned by <code>Describe</code>).</p>
+
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeInfo'>NodeInfo</a>?</code>
+            </td>
+        </tr></table>
+
+### Sync {#Sync}
+
+<p>Synchronizes updates to the node to the underlying media, if it exists.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### GetAttr {#GetAttr}
+
+<p>Acquires information about the node.</p>
+<p>This method does not require any rights.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>attributes</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeAttributes'>NodeAttributes</a></code>
+            </td>
+        </tr></table>
+
+### SetAttr {#SetAttr}
+
+<p>Updates information about the node.
+<code>flags</code> may be any of <code>NODE_ATTRIBUTE_FLAG_*</code>.</p>
+<p>This method requires following rights: <code>OPEN_RIGHT_WRITABLE</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr><tr>
+            <td><code>attributes</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.io/'>fuchsia.io</a>/<a class='link' href='../fuchsia.io/#NodeAttributes'>NodeAttributes</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### NodeGetFlags {#NodeGetFlags}
+
+<p>Acquires the <code>Directory.Open</code> rights and flags used to access this file.</p>
+<p>This method does not require any rights.
+This method has the same functionality as GetFlags for File and is
+meant as an in-progress replacement.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+### NodeSetFlags {#NodeSetFlags}
+
+<p>Changes the <code>Directory.Open</code> flags used to access the file.
+Supported flags which can be turned on / off:</p>
+<ul>
+<li><code>OPEN_FLAG_APPEND</code></li>
+</ul>
+<p>This method does not require any rights.
+This method has the same functionality as SetFlags for File and is
+meant as an in-progress replacement.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr></table>
+
+### Bind {#Bind}
+
+<p>Sets the local address used for the socket.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Bind_Result'>BaseSocket_Bind_Result</a></code>
+            </td>
+        </tr></table>
+
+### Connect {#Connect}
+
+<p>Initiates a connection to a remote address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Connect_Result'>BaseSocket_Connect_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetSockName {#GetSockName}
+
+<p>Retrieves the local socket address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockName_Result'>BaseSocket_GetSockName_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetPeerName {#GetPeerName}
+
+<p>Retrieves the remote socket address.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetPeerName_Result'>BaseSocket_GetPeerName_Result</a></code>
+            </td>
+        </tr></table>
+
+### SetSockOpt {#SetSockOpt}
+
+<p>Sets the value of a socket option.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>level</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optname</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optval</code></td>
+            <td>
+                <code><a class='link' href='#sockopt'>sockopt</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_SetSockOpt_Result'>BaseSocket_SetSockOpt_Result</a></code>
+            </td>
+        </tr></table>
+
+### GetSockOpt {#GetSockOpt}
+
+<p>Retrieves the value of a socket option.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>level</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>optname</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockOpt_Result'>BaseSocket_GetSockOpt_Result</a></code>
+            </td>
+        </tr></table>
+
+### Listen {#Listen}
+
+<p>Begins listening for new incoming connections. At most <code>backlog</code> connections will be
+buffered.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>backlog</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#StreamSocket_Listen_Result'>StreamSocket_Listen_Result</a></code>
+            </td>
+        </tr></table>
+
+### Accept {#Accept}
+
+<p>Accepts a buffered incoming connection.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>flags</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#StreamSocket_Accept_Result'>StreamSocket_Accept_Result</a></code>
+            </td>
+        </tr></table>
+
 ## Provider {#Provider}
-*Defined in [fuchsia.posix.socket/socket.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-posix-socket/socket.fidl#50)*
+*Defined in [fuchsia.posix.socket/socket.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-posix-socket/socket.fidl#114)*
 
 <p>Provider implements the POSIX sockets API.</p>
 
@@ -529,6 +1906,246 @@
             </td>
         </tr></table>
 
+### Socket2 {#Socket2}
+
+<p>Requests a socket with the specified parameters. Error values are defined in errno.h.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>domain</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>type</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr><tr>
+            <td><code>protocol</code></td>
+            <td>
+                <code>int16</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#Provider_Socket2_Result'>Provider_Socket2_Result</a></code>
+            </td>
+        </tr></table>
+
+
+
+## **STRUCTS**
+
+### BaseSocket_Bind_Response {#BaseSocket_Bind_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### BaseSocket_Connect_Response {#BaseSocket_Connect_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### BaseSocket_GetSockName_Response {#BaseSocket_GetSockName_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### BaseSocket_GetPeerName_Response {#BaseSocket_GetPeerName_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### BaseSocket_SetSockOpt_Response {#BaseSocket_SetSockOpt_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### BaseSocket_GetSockOpt_Response {#BaseSocket_GetSockOpt_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>optval</code></td>
+            <td>
+                <code><a class='link' href='#sockopt'>sockopt</a></code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### DatagramSocket_Shutdown_Response {#DatagramSocket_Shutdown_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### DatagramSocket_RecvMsg_Response {#DatagramSocket_RecvMsg_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='#sockaddr'>sockaddr</a></code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>data</code></td>
+            <td>
+                <code>vector&lt;uint8&gt;</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>control</code></td>
+            <td>
+                <code>vector&lt;uint8&gt;</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>truncated</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### DatagramSocket_SendMsg_Response {#DatagramSocket_SendMsg_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>len</code></td>
+            <td>
+                <code>int64</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### StreamSocket_Listen_Response {#StreamSocket_Listen_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### StreamSocket_Accept_Response {#StreamSocket_Accept_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='#StreamSocket'>StreamSocket</a></code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### Provider_Socket2_Response {#Provider_Socket2_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket'>BaseSocket</a></code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
 
 
 
@@ -536,6 +2153,235 @@
 
 
 
+## **UNIONS**
+
+### BaseSocket_Bind_Result {#BaseSocket_Bind_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Bind_Response'>BaseSocket_Bind_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### BaseSocket_Connect_Result {#BaseSocket_Connect_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_Connect_Response'>BaseSocket_Connect_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### BaseSocket_GetSockName_Result {#BaseSocket_GetSockName_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockName_Response'>BaseSocket_GetSockName_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### BaseSocket_GetPeerName_Result {#BaseSocket_GetPeerName_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetPeerName_Response'>BaseSocket_GetPeerName_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### BaseSocket_SetSockOpt_Result {#BaseSocket_SetSockOpt_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_SetSockOpt_Response'>BaseSocket_SetSockOpt_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### BaseSocket_GetSockOpt_Result {#BaseSocket_GetSockOpt_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#BaseSocket_GetSockOpt_Response'>BaseSocket_GetSockOpt_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### DatagramSocket_Shutdown_Result {#DatagramSocket_Shutdown_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket_Shutdown_Response'>DatagramSocket_Shutdown_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### DatagramSocket_RecvMsg_Result {#DatagramSocket_RecvMsg_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket_RecvMsg_Response'>DatagramSocket_RecvMsg_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### DatagramSocket_SendMsg_Result {#DatagramSocket_SendMsg_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#DatagramSocket_SendMsg_Response'>DatagramSocket_SendMsg_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### StreamSocket_Listen_Result {#StreamSocket_Listen_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#StreamSocket_Listen_Response'>StreamSocket_Listen_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### StreamSocket_Accept_Result {#StreamSocket_Accept_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#StreamSocket_Accept_Response'>StreamSocket_Accept_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### Provider_Socket2_Result {#Provider_Socket2_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#Provider_Socket2_Response'>Provider_Socket2_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code>int32</code>
+            </td>
+            <td></td>
+        </tr></table>
 
 
 
diff --git a/all/fidl/fuchsia.storage.ext4server/README.md b/all/fidl/fuchsia.storage.ext4/README.md
similarity index 79%
rename from all/fidl/fuchsia.storage.ext4server/README.md
rename to all/fidl/fuchsia.storage.ext4/README.md
index 25e133e..880baf5 100644
--- a/all/fidl/fuchsia.storage.ext4server/README.md
+++ b/all/fidl/fuchsia.storage.ext4/README.md
@@ -1,12 +1,12 @@
 [TOC]
 
-# fuchsia.storage.ext4server
+# fuchsia.storage.ext4
 
 
 ## **PROTOCOLS**
 
-## Ext4Server {#Ext4Server}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#178)*
+## Server {#Server}
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#178)*
 
 
 ### MountVmo {#MountVmo}
@@ -70,7 +70,7 @@
 ## **STRUCTS**
 
 ### Success {#Success}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#11)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#11)*
 
 
 
@@ -81,7 +81,7 @@
 </table>
 
 ### InvalidSuperBlock {#InvalidSuperBlock}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#14)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#14)*
 
 
 
@@ -100,7 +100,7 @@
 </table>
 
 ### InvalidSuperBlockMagic {#InvalidSuperBlockMagic}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#19)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#19)*
 
 
 
@@ -119,7 +119,7 @@
 </table>
 
 ### BlockNumberOutOfBounds {#BlockNumberOutOfBounds}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#24)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#24)*
 
 
 
@@ -138,7 +138,7 @@
 </table>
 
 ### BlockSizeInvalid {#BlockSizeInvalid}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#29)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#29)*
 
 
 
@@ -157,7 +157,7 @@
 </table>
 
 ### InvalidBlockGroupDesc {#InvalidBlockGroupDesc}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#34)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#34)*
 
 
 
@@ -176,7 +176,7 @@
 </table>
 
 ### InvalidINode {#InvalidINode}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#39)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#39)*
 
 
 
@@ -195,7 +195,7 @@
 </table>
 
 ### InvalidExtentHeader {#InvalidExtentHeader}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#44)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#44)*
 
 
 
@@ -206,7 +206,7 @@
 </table>
 
 ### InvalidExtentHeaderMagic {#InvalidExtentHeaderMagic}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#48)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#48)*
 
 
 
@@ -225,7 +225,7 @@
 </table>
 
 ### InvalidExtent {#InvalidExtent}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#53)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#53)*
 
 
 
@@ -244,7 +244,7 @@
 </table>
 
 ### ExtentUnexpectedLength {#ExtentUnexpectedLength}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#58)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#58)*
 
 
 
@@ -271,7 +271,7 @@
 </table>
 
 ### InvalidDirEntry2 {#InvalidDirEntry2}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#65)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#65)*
 
 
 
@@ -290,7 +290,7 @@
 </table>
 
 ### DirEntry2NonUtf8 {#DirEntry2NonUtf8}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#70)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#70)*
 
 
 
@@ -310,7 +310,7 @@
 </table>
 
 ### InvalidInputPath {#InvalidInputPath}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#76)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#76)*
 
 
 
@@ -329,7 +329,7 @@
 </table>
 
 ### PathNotFound {#PathNotFound}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#81)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#81)*
 
 
 
@@ -348,7 +348,7 @@
 </table>
 
 ### BadEntryType {#BadEntryType}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#87)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#87)*
 
 
 
@@ -368,7 +368,7 @@
 </table>
 
 ### BannedFeatureIncompat {#BannedFeatureIncompat}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#93)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#93)*
 
 
 
@@ -388,7 +388,7 @@
 </table>
 
 ### RequiredFeatureIncompat {#RequiredFeatureIncompat}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#99)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#99)*
 
 
 
@@ -408,7 +408,7 @@
 </table>
 
 ### Incompatible {#Incompatible}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#104)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#104)*
 
 
 
@@ -427,7 +427,7 @@
 </table>
 
 ### BadFile {#BadFile}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#109)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#109)*
 
 
 
@@ -446,7 +446,7 @@
 </table>
 
 ### BadDirectory {#BadDirectory}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#114)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#114)*
 
 
 
@@ -465,7 +465,7 @@
 </table>
 
 ### ReaderReadError {#ReaderReadError}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#119)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#119)*
 
 
 
@@ -484,7 +484,7 @@
 </table>
 
 ### ReaderOutOfBounds {#ReaderOutOfBounds}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#124)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#124)*
 
 
 
@@ -521,7 +521,7 @@
 ## **XUNIONS**
 
 ### ParseError {#ParseError}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#133)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#133)*
 
 <p>Sub-result of an <a class='link' href='#Ext4Server.MountVmo'>Ext4Server.MountVmo</a> call denoting the actual error
 that occurred in the reader.</p>
@@ -662,7 +662,7 @@
         </tr></table>
 
 ### MountVmoResult {#MountVmoResult}
-*Defined in [fuchsia.storage.ext4server/ext4_server.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_server.fidl#161)*
+*Defined in [fuchsia.storage.ext4/ext4_readonly.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/storage/ext4/server/fidl/ext4_readonly.fidl#161)*
 
 <p>Result of an <a class='link' href='#Ext4Server.MountVmo'>Ext4Server.MountVmo</a> call.</p>
 
diff --git a/all/fidl/fuchsia.sys.internal/README.md b/all/fidl/fuchsia.sys.internal/README.md
index c945e44..949fd73 100644
--- a/all/fidl/fuchsia.sys.internal/README.md
+++ b/all/fidl/fuchsia.sys.internal/README.md
@@ -103,7 +103,7 @@
 *Defined in [fuchsia.sys.internal/source_identity.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.sys.internal/source_identity.fidl#18)*
 
 <p>Identifies a component uniquely within the observing realm.
-Example: hub/r/sys/4566/c/http.cmx/19226/out/objects
+Example: hub/r/sys/4566/c/http.cmx/19226
 moniker: [root, sys, http.cmx]
 component_url: &quot;fuchsia-pkg://fuchsia.com/http#meta/http.cmx&quot;
 component_name: &quot;http.cmx&quot;
diff --git a/all/fidl/fuchsia.sysinfo/README.md b/all/fidl/fuchsia.sysinfo/README.md
index ee3119c..1974eff 100644
--- a/all/fidl/fuchsia.sysinfo/README.md
+++ b/all/fidl/fuchsia.sysinfo/README.md
@@ -5,12 +5,115 @@
 
 ## **PROTOCOLS**
 
-## Device {#Device}
+## SysInfo {#SysInfo}
 *Defined in [fuchsia.sysinfo/sysinfo.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-sysinfo/sysinfo.fidl#23)*
 
 
 ### GetHypervisorResource {#GetHypervisorResource}
 
+<p>Return the hypervisor resource (with only ZX_RIGHT_TRANSFER).</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>resource</code></td>
+            <td>
+                <code>handle&lt;resource&gt;?</code>
+            </td>
+        </tr></table>
+
+### GetBoardName {#GetBoardName}
+
+<p>Return the board name for the platform we are running on.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>name</code></td>
+            <td>
+                <code>string[32]?</code>
+            </td>
+        </tr></table>
+
+### GetBoardRevision {#GetBoardRevision}
+
+<p>Return the board revision for the board we are running on.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>revision</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+        </tr></table>
+
+### GetInterruptControllerInfo {#GetInterruptControllerInfo}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>status</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+        </tr><tr>
+            <td><code>info</code></td>
+            <td>
+                <code><a class='link' href='#InterruptControllerInfo'>InterruptControllerInfo</a>?</code>
+            </td>
+        </tr></table>
+
+## Device {#Device}
+*Defined in [fuchsia.sysinfo/sysinfo.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/system/fidl/fuchsia-sysinfo/sysinfo.fidl#42)*
+
+
+### GetHypervisorResource {#GetHypervisorResource}
+
 
 #### Request
 <table>
diff --git a/all/fidl/fuchsia.testing/README.md b/all/fidl/fuchsia.testing/README.md
new file mode 100644
index 0000000..7eeecdd
--- /dev/null
+++ b/all/fidl/fuchsia.testing/README.md
@@ -0,0 +1,323 @@
+[TOC]
+
+# fuchsia.testing
+
+
+## **PROTOCOLS**
+
+## FakeClock {#FakeClock}
+*Defined in [fuchsia.testing/fake_clock.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fake-clock/fidl/fake_clock.fidl#10)*
+
+<p>Allows access to fake clocks managed by <code>FakeClockControl</code>.</p>
+
+### Get {#Get}
+
+<p>Gets the current time.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>time</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code>
+            </td>
+        </tr></table>
+
+### RegisterEvent {#RegisterEvent}
+
+<p>Registers the event handle <code>event</code> to be signaled with <code>ZX_EVENTPAIR_SIGNALED</code> when the
+provided <code>time</code> is reached by the fake clock.
+The <code>FakeClock</code> instance will retain this event (even after it's fired) for as long as the
+client-side of the provided event pair <code>event</code> is open.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>event</code></td>
+            <td>
+                <code>handle&lt;eventpair&gt;</code>
+            </td>
+        </tr><tr>
+            <td><code>time</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code>
+            </td>
+        </tr></table>
+
+
+
+### RescheduleEvent {#RescheduleEvent}
+
+<p>Reschedules an event to be signalled with <code>ZX_EVENTPAIR_SIGNALED</code> at the new deadline in
+<code>time</code>.
+<code>event</code> is a duplicate of the client-side of the event pair, and it's used to retrieve the
+originally registered event through its kernel object identifier.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>event</code></td>
+            <td>
+                <code>handle&lt;eventpair&gt;</code>
+            </td>
+        </tr><tr>
+            <td><code>time</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#time'>time</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+### CancelEvent {#CancelEvent}
+
+<p>Cancels a previously registered event.
+<code>event</code> is a duplicate of the client-side of the event pair, and it's used to retrieve the
+originally registered event through its kernel object identifier.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>event</code></td>
+            <td>
+                <code>handle&lt;eventpair&gt;</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+## FakeClockControl {#FakeClockControl}
+*Defined in [fuchsia.testing/fake_clock.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fake-clock/fidl/fake_clock.fidl#57)*
+
+<p>Provides control over fake clocks.</p>
+<p><code>FakeClockControl</code> provides complete control of the fake clocks that it provides, and serves
+over <code>FakeClock</code>.</p>
+<p>Upon start up, all the clocks are set to free-running with increments set to 1ms:1ms (same as
+calling <code>SetIncrements</code> with a <code>real</code> duration of 1ms and a <code>determined</code> <code>increment</code> of 1ms as
+well).</p>
+<p>The initial time value for every fake clock is read from the corresponding real clock at start
+up.</p>
+
+### Advance {#Advance}
+
+<p>Advances the fake clock <code>increment</code> once.
+Returns <code>ZX_ERR_INVALID_ARGS</code> if the provided <code>increment</code> is invalid (such as a badly formed
+RandomRange). Returns <code>ZX_ERR_ACCESS_DENIED</code> if called while the FakeClock is free-running.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>increment</code></td>
+            <td>
+                <code><a class='link' href='#Increment'>Increment</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#FakeClockControl_Advance_Result'>FakeClockControl_Advance_Result</a></code>
+            </td>
+        </tr></table>
+
+### ResumeWithIncrements {#ResumeWithIncrements}
+
+<p>Resumes free-running increments on the fake clock.
+<code>real</code> is the period based on the real monotonic clock over which <code>increment</code> is going to be
+applied. Returns <code>ZX_ERR_INVALID_ARGS</code> if the provided <code>increment</code> is invalid (such as a
+badly formed RandomRange).</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>real</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code>
+            </td>
+        </tr><tr>
+            <td><code>increment</code></td>
+            <td>
+                <code><a class='link' href='#Increment'>Increment</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>result</code></td>
+            <td>
+                <code><a class='link' href='#FakeClockControl_ResumeWithIncrements_Result'>FakeClockControl_ResumeWithIncrements_Result</a></code>
+            </td>
+        </tr></table>
+
+### Pause {#Pause}
+
+<p>Pauses free-running increments on the fake clock.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+
+## **STRUCTS**
+
+### FakeClockControl_Advance_Response {#FakeClockControl_Advance_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### FakeClockControl_ResumeWithIncrements_Response {#FakeClockControl_ResumeWithIncrements_Response}
+*generated*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr>
+</table>
+
+### RandomRange {#RandomRange}
+*Defined in [fuchsia.testing/fake_clock.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fake-clock/fidl/fake_clock.fidl#30)*
+
+
+
+<p>A fake clock increment in a uniform random range.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>min_rand</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code>
+            </td>
+            <td><p>The lower bound (inclusive) for the random duration.</p>
+</td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>max_rand</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code>
+            </td>
+            <td><p>The upper bound (exclusive) for the random duration.</p>
+</td>
+            <td>No default</td>
+        </tr>
+</table>
+
+
+
+
+
+
+
+## **UNIONS**
+
+### FakeClockControl_Advance_Result {#FakeClockControl_Advance_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#FakeClockControl_Advance_Response'>FakeClockControl_Advance_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### FakeClockControl_ResumeWithIncrements_Result {#FakeClockControl_ResumeWithIncrements_Result}
+*generated*
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>response</code></td>
+            <td>
+                <code><a class='link' href='#FakeClockControl_ResumeWithIncrements_Response'>FakeClockControl_ResumeWithIncrements_Response</a></code>
+            </td>
+            <td></td>
+        </tr><tr>
+            <td><code>err</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#status'>status</a></code>
+            </td>
+            <td></td>
+        </tr></table>
+
+### Increment {#Increment}
+*Defined in [fuchsia.testing/fake_clock.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fake-clock/fidl/fake_clock.fidl#38)*
+
+<p>A fake clock increment step.</p>
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr>
+            <td><code>determined</code></td>
+            <td>
+                <code><a class='link' href='../zx/'>zx</a>/<a class='link' href='../zx/#duration'>duration</a></code>
+            </td>
+            <td><p>Increments the fake clock by the <code>determined</code> duration.</p>
+</td>
+        </tr><tr>
+            <td><code>random</code></td>
+            <td>
+                <code><a class='link' href='#RandomRange'>RandomRange</a></code>
+            </td>
+            <td><p>Increments the fake clock by a random duration chosen uniformly from the range in <code>random</code>.</p>
+</td>
+        </tr></table>
+
+
+
+
+
+
+
+
+
diff --git a/all/fidl/test.fidlcodec.examples/README.md b/all/fidl/test.fidlcodec.examples/README.md
index c1e4e66..cbb715b 100644
--- a/all/fidl/test.fidlcodec.examples/README.md
+++ b/all/fidl/test.fidlcodec.examples/README.md
@@ -1062,6 +1062,26 @@
 
 
 
+### TraversalMainMessage {#TraversalMainMessage}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>v</code></td>
+            <td>
+                <code>vector&lt;<a class='link' href='#TraversalMain'>TraversalMain</a>&gt;[3]</code>
+            </td>
+        </tr><tr>
+            <td><code>s</code></td>
+            <td>
+                <code><a class='link' href='#TraversalStruct'>TraversalStruct</a>?</code>
+            </td>
+        </tr></table>
+
+
+
 ### Protocol {#Protocol}
 
 
@@ -1078,7 +1098,7 @@
 
 
 ## ParamProtocol {#ParamProtocol}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#242)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#253)*
 
 
 ### Method {#Method}
@@ -1120,7 +1140,7 @@
 ## **STRUCTS**
 
 ### BoolStructType {#BoolStructType}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#92)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#93)*
 
 
 
@@ -1138,7 +1158,7 @@
 </table>
 
 ### PrimitiveTypes {#PrimitiveTypes}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#96)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#97)*
 
 
 
@@ -1233,7 +1253,7 @@
 </table>
 
 ### SmallStruct {#SmallStruct}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#111)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#112)*
 
 
 
@@ -1265,7 +1285,7 @@
 </table>
 
 ### SmallUnevenStruct {#SmallUnevenStruct}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#117)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#118)*
 
 
 
@@ -1290,7 +1310,7 @@
 </table>
 
 ### TwoStringStruct {#TwoStringStruct}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#122)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#123)*
 
 
 
@@ -1315,7 +1335,7 @@
 </table>
 
 ### U8U16UnionStructType {#U8U16UnionStructType}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#153)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#154)*
 
 
 
@@ -1333,7 +1353,7 @@
 </table>
 
 ### HandleStruct {#HandleStruct}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#219)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#220)*
 
 
 
@@ -1365,7 +1385,7 @@
 </table>
 
 ### OptHandleStruct {#OptHandleStruct}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#225)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#226)*
 
 
 
@@ -1390,7 +1410,7 @@
 </table>
 
 ### TraversalOrder {#TraversalOrder}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#235)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#236)*
 
 
 
@@ -1421,6 +1441,56 @@
         </tr>
 </table>
 
+### TraversalStruct {#TraversalStruct}
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#242)*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>a</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>b</code></td>
+            <td>
+                <code>handle&lt;channel&gt;?</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
+### TraversalMain {#TraversalMain}
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#247)*
+
+
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr>
+            <td><code>x</code></td>
+            <td>
+                <code>uint32</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr><tr>
+            <td><code>y</code></td>
+            <td>
+                <code><a class='link' href='#TraversalStruct'>TraversalStruct</a>?</code>
+            </td>
+            <td></td>
+            <td>No default</td>
+        </tr>
+</table>
+
 
 
 ## **ENUMS**
@@ -1428,7 +1498,7 @@
 ### DefaultEnum {#DefaultEnum}
 Type: <code>uint32</code>
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#157)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#158)*
 
 
 
@@ -1442,7 +1512,7 @@
 ### I8Enum {#I8Enum}
 Type: <code>int8</code>
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#161)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#162)*
 
 
 
@@ -1456,7 +1526,7 @@
 ### I16Enum {#I16Enum}
 Type: <code>int16</code>
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#165)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#166)*
 
 
 
@@ -1470,7 +1540,7 @@
 ### I32Enum {#I32Enum}
 Type: <code>int32</code>
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#169)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#170)*
 
 
 
@@ -1484,7 +1554,7 @@
 ### I64Enum {#I64Enum}
 Type: <code>int64</code>
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#173)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#174)*
 
 
 
@@ -1527,7 +1597,7 @@
 ### ValueTable {#ValueTable}
 
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#212)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#213)*
 
 
 
@@ -1566,7 +1636,7 @@
 ### HandleTable {#HandleTable}
 
 
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#230)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#231)*
 
 
 
@@ -1593,7 +1663,7 @@
 ## **UNIONS**
 
 ### IntStructUnion {#IntStructUnion}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#127)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#128)*
 
 
 <table>
@@ -1612,7 +1682,7 @@
         </tr></table>
 
 ### U8U16Union {#U8U16Union}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#137)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#138)*
 
 
 <table>
@@ -1631,7 +1701,7 @@
         </tr></table>
 
 ### U8U16UnionReserved {#U8U16UnionReserved}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#142)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#143)*
 
 
 <table>
@@ -1679,7 +1749,7 @@
 ## **XUNIONS**
 
 ### IntStructXunion {#IntStructXunion}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#132)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#133)*
 
 
 <table>
@@ -1698,7 +1768,7 @@
         </tr></table>
 
 ### U8U16Xunion {#U8U16Xunion}
-*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#148)*
+*Defined in [test.fidlcodec.examples/types.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/lib/fidl_codec/testdata/types.test.fidl#149)*
 
 
 <table>
diff --git a/all/fidl/test.pkg.eventqueue/README.md b/all/fidl/test.pkg.eventqueue/README.md
new file mode 100644
index 0000000..cda0240
--- /dev/null
+++ b/all/fidl/test.pkg.eventqueue/README.md
@@ -0,0 +1,46 @@
+[TOC]
+
+# test.pkg.eventqueue
+
+
+## **PROTOCOLS**
+
+## ExampleEventMonitor {#ExampleEventMonitor}
+*Defined in [test.pkg.eventqueue/test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/src/sys/pkg/lib/event-queue/test.fidl#8)*
+
+
+### OnEvent {#OnEvent}
+
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>event</code></td>
+            <td>
+                <code>string[100]</code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
