blob: a4a4634ca6af280a8da73feac2759420db6f7fd5 [file] [log] [blame] [view] [edit]
<link rel="stylesheet" href="../style.css" />
[TOC]
# test.fidlcodec.examples
## **PROTOCOLS**
## Echo {#Echo}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=8)*
### EchoString {#Echo.EchoString}
#### Request {#Echo.EchoString_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>value</code></td>
<td>
<code>string[100]?</code>
</td>
</tr></table>
#### Response {#Echo.EchoString_Response}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>response</code></td>
<td>
<code>string[100]?</code>
</td>
</tr></table>
## FidlCodecTestInterface {#FidlCodecTestInterface}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=16)*
### Array1 {#FidlCodecTestInterface.Array1}
#### Request {#FidlCodecTestInterface.Array1_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>b_1</code></td>
<td>
<code>int32[1]</code>
</td>
</tr></table>
### Array2 {#FidlCodecTestInterface.Array2}
#### Request {#FidlCodecTestInterface.Array2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>b_2</code></td>
<td>
<code>int32[2]</code>
</td>
</tr></table>
### ArrayNullableStruct {#FidlCodecTestInterface.ArrayNullableStruct}
#### Request {#FidlCodecTestInterface.ArrayNullableStruct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>a</code></td>
<td>
<code>[3]</code>
</td>
</tr></table>
### ArrayNullableUnion {#FidlCodecTestInterface.ArrayNullableUnion}
#### Request {#FidlCodecTestInterface.ArrayNullableUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>a</code></td>
<td>
<code>[3]</code>
</td>
</tr></table>
### ArrayStruct {#FidlCodecTestInterface.ArrayStruct}
#### Request {#FidlCodecTestInterface.ArrayStruct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>a</code></td>
<td>
<code>[3]</code>
</td>
</tr></table>
### ArrayStruct2 {#FidlCodecTestInterface.ArrayStruct2}
#### Request {#FidlCodecTestInterface.ArrayStruct2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>a</code></td>
<td>
<code>[3]</code>
</td>
</tr></table>
### Bool {#FidlCodecTestInterface.Bool}
#### Request {#FidlCodecTestInterface.Bool_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>b</code></td>
<td>
<code>bool</code>
</td>
</tr></table>
### BoolStruct {#FidlCodecTestInterface.BoolStruct}
#### Request {#FidlCodecTestInterface.BoolStruct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>s</code></td>
<td>
<code><a class='link' href='#BoolStructType'>BoolStructType</a></code>
</td>
</tr></table>
### Complex {#FidlCodecTestInterface.Complex}
#### Request {#FidlCodecTestInterface.Complex_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>real</code></td>
<td>
<code>int32</code>
</td>
</tr><tr>
<td><code>imaginary</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### DefaultBitsMessage {#FidlCodecTestInterface.DefaultBitsMessage}
#### Request {#FidlCodecTestInterface.DefaultBitsMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code><a class='link' href='#DefaultBits'>DefaultBits</a></code>
</td>
</tr></table>
### DefaultEnumMessage {#FidlCodecTestInterface.DefaultEnumMessage}
#### Request {#FidlCodecTestInterface.DefaultEnumMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ev</code></td>
<td>
<code><a class='link' href='#DefaultEnum'>DefaultEnum</a></code>
</td>
</tr></table>
### Empty {#FidlCodecTestInterface.Empty}
#### Request {#FidlCodecTestInterface.Empty_Request}
&lt;EMPTY&gt;
### Float32 {#FidlCodecTestInterface.Float32}
#### Request {#FidlCodecTestInterface.Float32_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>f32</code></td>
<td>
<code>float32</code>
</td>
</tr></table>
### Float64 {#FidlCodecTestInterface.Float64}
#### Request {#FidlCodecTestInterface.Float64_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>f64</code></td>
<td>
<code>float64</code>
</td>
</tr></table>
### Handle {#FidlCodecTestInterface.Handle}
#### Request {#FidlCodecTestInterface.Handle_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ch</code></td>
<td>
<code>handle&lt;channel&gt;</code>
</td>
</tr></table>
### HandleStructMessage {#FidlCodecTestInterface.HandleStructMessage}
#### Request {#FidlCodecTestInterface.HandleStructMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>hs</code></td>
<td>
<code><a class='link' href='#HandleStruct'>HandleStruct</a></code>
</td>
</tr></table>
### HandleTableMessage {#FidlCodecTestInterface.HandleTableMessage}
#### Request {#FidlCodecTestInterface.HandleTableMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>t</code></td>
<td>
<code><a class='link' href='#HandleTable'>HandleTable</a></code>
</td>
</tr></table>
### I16BitsMessage {#FidlCodecTestInterface.I16BitsMessage}
#### Request {#FidlCodecTestInterface.I16BitsMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code><a class='link' href='#I16Bits'>I16Bits</a></code>
</td>
</tr></table>
### I16EnumMessage {#FidlCodecTestInterface.I16EnumMessage}
#### Request {#FidlCodecTestInterface.I16EnumMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ev</code></td>
<td>
<code><a class='link' href='#I16Enum'>I16Enum</a></code>
</td>
</tr></table>
### I32BitsMessage {#FidlCodecTestInterface.I32BitsMessage}
#### Request {#FidlCodecTestInterface.I32BitsMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code><a class='link' href='#I32Bits'>I32Bits</a></code>
</td>
</tr></table>
### I32EnumMessage {#FidlCodecTestInterface.I32EnumMessage}
#### Request {#FidlCodecTestInterface.I32EnumMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ev</code></td>
<td>
<code><a class='link' href='#I32Enum'>I32Enum</a></code>
</td>
</tr></table>
### I64BitsMessage {#FidlCodecTestInterface.I64BitsMessage}
#### Request {#FidlCodecTestInterface.I64BitsMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code><a class='link' href='#I64Bits'>I64Bits</a></code>
</td>
</tr></table>
### I64EnumMessage {#FidlCodecTestInterface.I64EnumMessage}
#### Request {#FidlCodecTestInterface.I64EnumMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ev</code></td>
<td>
<code><a class='link' href='#I64Enum'>I64Enum</a></code>
</td>
</tr></table>
### I8BitsMessage {#FidlCodecTestInterface.I8BitsMessage}
#### Request {#FidlCodecTestInterface.I8BitsMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code><a class='link' href='#I8Bits'>I8Bits</a></code>
</td>
</tr></table>
### I8EnumMessage {#FidlCodecTestInterface.I8EnumMessage}
#### Request {#FidlCodecTestInterface.I8EnumMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ev</code></td>
<td>
<code><a class='link' href='#I8Enum'>I8Enum</a></code>
</td>
</tr></table>
### Int16 {#FidlCodecTestInterface.Int16}
#### Request {#FidlCodecTestInterface.Int16_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>i16</code></td>
<td>
<code>int16</code>
</td>
</tr></table>
### Int32 {#FidlCodecTestInterface.Int32}
#### Request {#FidlCodecTestInterface.Int32_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### Int64 {#FidlCodecTestInterface.Int64}
#### Request {#FidlCodecTestInterface.Int64_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>i64</code></td>
<td>
<code>int64</code>
</td>
</tr></table>
### Int8 {#FidlCodecTestInterface.Int8}
#### Request {#FidlCodecTestInterface.Int8_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>i8</code></td>
<td>
<code>int8</code>
</td>
</tr></table>
### NullableHandle {#FidlCodecTestInterface.NullableHandle}
#### Request {#FidlCodecTestInterface.NullableHandle_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ch</code></td>
<td>
<code>handle&lt;channel&gt;?</code>
</td>
</tr></table>
### NullableStruct {#FidlCodecTestInterface.NullableStruct}
#### Request {#FidlCodecTestInterface.NullableStruct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>p</code></td>
<td>
<code><a class='link' href='#PrimitiveTypes'>PrimitiveTypes</a>?</code>
</td>
</tr></table>
### NullableStructAndInt {#FidlCodecTestInterface.NullableStructAndInt}
#### Request {#FidlCodecTestInterface.NullableStructAndInt_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>p</code></td>
<td>
<code><a class='link' href='#PrimitiveTypes'>PrimitiveTypes</a>?</code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### NullableUnion {#FidlCodecTestInterface.NullableUnion}
#### Request {#FidlCodecTestInterface.NullableUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>isu</code></td>
<td>
<code><a class='link' href='#IntStructUnion'>IntStructUnion</a>?</code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### NullableUnionIntFirst {#FidlCodecTestInterface.NullableUnionIntFirst}
#### Request {#FidlCodecTestInterface.NullableUnionIntFirst_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr><tr>
<td><code>isu</code></td>
<td>
<code><a class='link' href='#IntStructUnion'>IntStructUnion</a>?</code>
</td>
</tr></table>
### NullableXUnion {#FidlCodecTestInterface.NullableXUnion}
#### Request {#FidlCodecTestInterface.NullableXUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>isu</code></td>
<td>
<code><a class='link' href='#IntStructXunion'>IntStructXunion</a>?</code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### NullableXUnionIntFirst {#FidlCodecTestInterface.NullableXUnionIntFirst}
#### Request {#FidlCodecTestInterface.NullableXUnionIntFirst_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr><tr>
<td><code>isu</code></td>
<td>
<code><a class='link' href='#IntStructXunion'>IntStructXunion</a>?</code>
</td>
</tr></table>
### Protocol {#FidlCodecTestInterface.Protocol}
#### Request {#FidlCodecTestInterface.Protocol_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ch</code></td>
<td>
<code><a class='link' href='#ParamProtocol'>ParamProtocol</a></code>
</td>
</tr></table>
### RecursiveUnion {#FidlCodecTestInterface.RecursiveUnion}
#### Request {#FidlCodecTestInterface.RecursiveUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>e</code></td>
<td>
<code><a class='link' href='#DataElement'>DataElement</a></code>
</td>
</tr></table>
### ShortUnion {#FidlCodecTestInterface.ShortUnion}
#### Request {#FidlCodecTestInterface.ShortUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>u</code></td>
<td>
<code><a class='link' href='#U8U16Union'>U8U16Union</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### ShortUnionReserved {#FidlCodecTestInterface.ShortUnionReserved}
#### Request {#FidlCodecTestInterface.ShortUnionReserved_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>u</code></td>
<td>
<code><a class='link' href='#U8U16UnionReserved'>U8U16UnionReserved</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### ShortXUnion {#FidlCodecTestInterface.ShortXUnion}
#### Request {#FidlCodecTestInterface.ShortXUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>u</code></td>
<td>
<code><a class='link' href='#U8U16Xunion'>U8U16Xunion</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### SmallStructAfterByte {#FidlCodecTestInterface.SmallStructAfterByte}
#### Request {#FidlCodecTestInterface.SmallStructAfterByte_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>u</code></td>
<td>
<code>uint8</code>
</td>
</tr><tr>
<td><code>s1</code></td>
<td>
<code><a class='link' href='#SmallStruct'>SmallStruct</a></code>
</td>
</tr><tr>
<td><code>s2</code></td>
<td>
<code><a class='link' href='#SmallStruct'>SmallStruct</a></code>
</td>
</tr></table>
### String {#FidlCodecTestInterface.String}
#### Request {#FidlCodecTestInterface.String_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>s</code></td>
<td>
<code>string[100]</code>
</td>
</tr></table>
### StringInt {#FidlCodecTestInterface.StringInt}
#### Request {#FidlCodecTestInterface.StringInt_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>s</code></td>
<td>
<code>string[100]</code>
</td>
</tr><tr>
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### Struct {#FidlCodecTestInterface.Struct}
#### Request {#FidlCodecTestInterface.Struct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>p</code></td>
<td>
<code><a class='link' href='#PrimitiveTypes'>PrimitiveTypes</a></code>
</td>
</tr></table>
### Table {#FidlCodecTestInterface.Table}
#### Request {#FidlCodecTestInterface.Table_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>table</code></td>
<td>
<code><a class='link' href='#ValueTable'>ValueTable</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### TraversalMainMessage {#FidlCodecTestInterface.TraversalMainMessage}
#### Request {#FidlCodecTestInterface.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>
### TraversalOrderMessage {#FidlCodecTestInterface.TraversalOrderMessage}
#### Request {#FidlCodecTestInterface.TraversalOrderMessage_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>t</code></td>
<td>
<code><a class='link' href='#TraversalOrder'>TraversalOrder</a></code>
</td>
</tr></table>
### TwoStringArrayInt {#FidlCodecTestInterface.TwoStringArrayInt}
#### Request {#FidlCodecTestInterface.TwoStringArrayInt_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>arr</code></td>
<td>
<code>[2]</code>
</td>
</tr><tr>
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### TwoStringNullableStructInt {#FidlCodecTestInterface.TwoStringNullableStructInt}
#### Request {#FidlCodecTestInterface.TwoStringNullableStructInt_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>s</code></td>
<td>
<code><a class='link' href='#TwoStringStruct'>TwoStringStruct</a>?</code>
</td>
</tr><tr>
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### TwoStringStructInt {#FidlCodecTestInterface.TwoStringStructInt}
#### Request {#FidlCodecTestInterface.TwoStringStructInt_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>s</code></td>
<td>
<code><a class='link' href='#TwoStringStruct'>TwoStringStruct</a></code>
</td>
</tr><tr>
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### TwoStringVectorInt {#FidlCodecTestInterface.TwoStringVectorInt}
#### Request {#FidlCodecTestInterface.TwoStringVectorInt_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>vec</code></td>
<td>
<code>vector&lt;string&gt;[10]</code>
</td>
</tr><tr>
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### TwoStringVectors {#FidlCodecTestInterface.TwoStringVectors}
#### Request {#FidlCodecTestInterface.TwoStringVectors_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v_1</code></td>
<td>
<code>vector&lt;string&gt;[10]</code>
</td>
</tr><tr>
<td><code>v_2</code></td>
<td>
<code>vector&lt;string&gt;[10]</code>
</td>
</tr></table>
### U8U16UnionStruct {#FidlCodecTestInterface.U8U16UnionStruct}
#### Request {#FidlCodecTestInterface.U8U16UnionStruct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>s</code></td>
<td>
<code><a class='link' href='#U8U16UnionStructType'>U8U16UnionStructType</a></code>
</td>
</tr></table>
### Uint16 {#FidlCodecTestInterface.Uint16}
#### Request {#FidlCodecTestInterface.Uint16_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ui16</code></td>
<td>
<code>uint16</code>
</td>
</tr></table>
### Uint32 {#FidlCodecTestInterface.Uint32}
#### Request {#FidlCodecTestInterface.Uint32_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ui32</code></td>
<td>
<code>uint32</code>
</td>
</tr></table>
### Uint64 {#FidlCodecTestInterface.Uint64}
#### Request {#FidlCodecTestInterface.Uint64_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ui64</code></td>
<td>
<code>uint64</code>
</td>
</tr></table>
### Uint8 {#FidlCodecTestInterface.Uint8}
#### Request {#FidlCodecTestInterface.Uint8_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>ui8</code></td>
<td>
<code>uint8</code>
</td>
</tr></table>
### Union {#FidlCodecTestInterface.Union}
#### Request {#FidlCodecTestInterface.Union_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>isu</code></td>
<td>
<code><a class='link' href='#IntStructUnion'>IntStructUnion</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
### Vector {#FidlCodecTestInterface.Vector}
#### Request {#FidlCodecTestInterface.Vector_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v_1</code></td>
<td>
<code>vector&lt;int32&gt;[10]?</code>
</td>
</tr></table>
### VectorStruct {#FidlCodecTestInterface.VectorStruct}
#### Request {#FidlCodecTestInterface.VectorStruct_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code>vector&lt;<a class='link' href='#SmallStruct'>SmallStruct</a>&gt;[100]</code>
</td>
</tr></table>
### VectorStruct2 {#FidlCodecTestInterface.VectorStruct2}
#### Request {#FidlCodecTestInterface.VectorStruct2_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code>vector&lt;<a class='link' href='#SmallUnevenStruct'>SmallUnevenStruct</a>&gt;[100]</code>
</td>
</tr></table>
### VectorUint32 {#FidlCodecTestInterface.VectorUint32}
#### Request {#FidlCodecTestInterface.VectorUint32_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code>vector&lt;uint32&gt;[100]</code>
</td>
</tr></table>
### VectorUint8 {#FidlCodecTestInterface.VectorUint8}
#### Request {#FidlCodecTestInterface.VectorUint8_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>v</code></td>
<td>
<code>vector&lt;uint8&gt;[100]</code>
</td>
</tr></table>
### XUnion {#FidlCodecTestInterface.XUnion}
#### Request {#FidlCodecTestInterface.XUnion_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>isu</code></td>
<td>
<code><a class='link' href='#IntStructXunion'>IntStructXunion</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
## FidlCodecXUnion {#FidlCodecXUnion}
*Defined in [test.fidlcodec.examples/xunionmigration.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/xunionmigration.fidl;l=6)*
### SendAfterMigration {#FidlCodecXUnion.SendAfterMigration}
#### Request {#FidlCodecXUnion.SendAfterMigration_Request}
<table>
<tr><th>Name</th><th>Type</th></tr>
<tr>
<td><code>u</code></td>
<td>
<code><a class='link' href='#NowAsXUnion'>NowAsXUnion</a></code>
</td>
</tr><tr>
<td><code>i</code></td>
<td>
<code>int32</code>
</td>
</tr></table>
## ParamProtocol {#ParamProtocol}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=427)*
### Method {#ParamProtocol.Method}
#### Request {#ParamProtocol.Method_Request}
&lt;EMPTY&gt;
## **STRUCTS**
### BoolStructType {#BoolStructType data-text="BoolStructType"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=248)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="BoolStructType.b">
<td><code>b</code></td>
<td>
<code>bool</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### HandleStruct [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#HandleStruct data-text="HandleStruct"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=395)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="HandleStruct.h1">
<td><code>h1</code></td>
<td>
<code>handle&lt;channel&gt;</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="HandleStruct.h2">
<td><code>h2</code></td>
<td>
<code>handle&lt;channel&gt;</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="HandleStruct.h3">
<td><code>h3</code></td>
<td>
<code>handle&lt;channel&gt;</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### OptHandleStruct [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#OptHandleStruct data-text="OptHandleStruct"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=401)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="OptHandleStruct.sh1">
<td><code>sh1</code></td>
<td>
<code>handle&lt;channel&gt;?</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="OptHandleStruct.sh2">
<td><code>sh2</code></td>
<td>
<code>handle&lt;channel&gt;?</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### PrimitiveTypes {#PrimitiveTypes data-text="PrimitiveTypes"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=252)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="PrimitiveTypes.s">
<td><code>s</code></td>
<td>
<code>string[100]</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.b">
<td><code>b</code></td>
<td>
<code>bool</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.i8">
<td><code>i8</code></td>
<td>
<code>int8</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.i16">
<td><code>i16</code></td>
<td>
<code>int16</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.i32">
<td><code>i32</code></td>
<td>
<code>int32</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.i64">
<td><code>i64</code></td>
<td>
<code>int64</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.u8">
<td><code>u8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.u16">
<td><code>u16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.u32">
<td><code>u32</code></td>
<td>
<code>uint32</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.u64">
<td><code>u64</code></td>
<td>
<code>uint64</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.f32">
<td><code>f32</code></td>
<td>
<code>float32</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="PrimitiveTypes.f64">
<td><code>f64</code></td>
<td>
<code>float64</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### SmallStruct {#SmallStruct data-text="SmallStruct"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=267)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SmallStruct.a">
<td><code>a</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="SmallStruct.b">
<td><code>b</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="SmallStruct.c">
<td><code>c</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### SmallUnevenStruct {#SmallUnevenStruct data-text="SmallUnevenStruct"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=273)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SmallUnevenStruct.a">
<td><code>a</code></td>
<td>
<code>uint32</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="SmallUnevenStruct.b">
<td><code>b</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### TraversalMain [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#TraversalMain data-text="TraversalMain"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=422)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="TraversalMain.x">
<td><code>x</code></td>
<td>
<code>uint32</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="TraversalMain.y">
<td><code>y</code></td>
<td>
<code><a class='link' href='#TraversalStruct'>TraversalStruct</a>?</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### TraversalOrder [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#TraversalOrder data-text="TraversalOrder"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=411)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="TraversalOrder.s">
<td><code>s</code></td>
<td>
<code><a class='link' href='#OptHandleStruct'>OptHandleStruct</a>?</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="TraversalOrder.h1">
<td><code>h1</code></td>
<td>
<code>handle&lt;channel&gt;?</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="TraversalOrder.h2">
<td><code>h2</code></td>
<td>
<code>handle&lt;channel&gt;?</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### TraversalStruct [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#TraversalStruct data-text="TraversalStruct"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=417)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="TraversalStruct.a">
<td><code>a</code></td>
<td>
<code>uint32</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="TraversalStruct.b">
<td><code>b</code></td>
<td>
<code>handle&lt;channel&gt;?</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### TwoStringStruct {#TwoStringStruct data-text="TwoStringStruct"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=278)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="TwoStringStruct.value1">
<td><code>value1</code></td>
<td>
<code>string[100]</code>
</td>
<td>
</td>
<td>No default</td>
</tr><tr id="TwoStringStruct.value2">
<td><code>value2</code></td>
<td>
<code>string[100]</code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
### U8U16UnionStructType {#U8U16UnionStructType data-text="U8U16UnionStructType"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=329)*
<table>
<tr><th>Field</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="U8U16UnionStructType.u">
<td><code>u</code></td>
<td>
<code><a class='link' href='#U8U16Union'>U8U16Union</a></code>
</td>
<td>
</td>
<td>No default</td>
</tr>
</table>
## **ENUMS**
### DefaultEnum [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#DefaultEnum}
Type: <code>uint32</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=333)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="DefaultEnum.X">
<td><code>X</code></td>
<td><code>23</code></td>
<td>
</td>
</tr></table>
### I16Enum [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I16Enum}
Type: <code>int16</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=341)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I16Enum.X">
<td><code>X</code></td>
<td><code>-23</code></td>
<td>
</td>
</tr></table>
### I32Enum [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I32Enum}
Type: <code>int32</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=345)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I32Enum.X">
<td><code>X</code></td>
<td><code>-23</code></td>
<td>
</td>
</tr></table>
### I64Enum [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I64Enum}
Type: <code>int64</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=349)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I64Enum.X">
<td><code>X</code></td>
<td><code>-23</code></td>
<td>
</td>
</tr></table>
### I8Enum [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I8Enum}
Type: <code>int8</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=337)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I8Enum.X">
<td><code>X</code></td>
<td><code>-23</code></td>
<td>
</td>
</tr></table>
## **TABLES**
### HandleTable [resource](/fuchsia-src/reference/fidl/language/language.md#value-vs-resource){:.fidl-attribute} {#HandleTable data-text="HandleTable"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=406)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="HandleTable.h1">
<td>1</td>
<td><code>h1</code></td>
<td>
<code>handle&lt;channel&gt;</code>
</td>
<td>
</td>
</tr><tr id="HandleTable.s1">
<td>2</td>
<td><code>s1</code></td>
<td>
<code><a class='link' href='#OptHandleStruct'>OptHandleStruct</a></code>
</td>
<td>
</td>
</tr></table>
### ReservedExample {#ReservedExample data-text="ReservedExample"}
*Defined in [test.fidlcodec.examples/reserved_member.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/reserved_member.test.fidl;l=6)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="ReservedExample.first_int16">
<td>1</td>
<td><code>first_int16</code></td>
<td>
<code>int16</code>
</td>
<td>
</td>
</tr><tr id="ReservedExample.">
<td>2</td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td>
</td>
</tr></table>
### ValueTable {#ValueTable data-text="ValueTable"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=388)*
<table>
<tr><th>Ordinal</th><th>Field</th><th>Type</th><th>Description</th></tr>
<tr id="ValueTable.first_int16">
<td>1</td>
<td><code>first_int16</code></td>
<td>
<code>int16</code>
</td>
<td>
</td>
</tr><tr id="ValueTable.second_struct">
<td>2</td>
<td><code>second_struct</code></td>
<td>
<code><a class='link' href='#TwoStringStruct'>TwoStringStruct</a></code>
</td>
<td>
</td>
</tr><tr id="ValueTable.">
<td>3</td>
<td><code>RESERVED</code></td>
<td>
<code></code>
</td>
<td>
</td>
</tr><tr id="ValueTable.third_union">
<td>4</td>
<td><code>third_union</code></td>
<td>
<code><a class='link' href='#IntStructUnion'>IntStructUnion</a></code>
</td>
<td>
</td>
</tr></table>
## **UNIONS**
### DataElement [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#DataElement data-text="DataElement"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=314)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="DataElement.int8">
<td>1</td>
<td><code>int8</code></td>
<td>
<code>int8</code>
</td>
<td>
</td>
</tr><tr id="DataElement.int16">
<td>2</td>
<td><code>int16</code></td>
<td>
<code>int16</code>
</td>
<td>
</td>
</tr><tr id="DataElement.int32">
<td>3</td>
<td><code>int32</code></td>
<td>
<code>int32</code>
</td>
<td>
</td>
</tr><tr id="DataElement.int64">
<td>4</td>
<td><code>int64</code></td>
<td>
<code>int64</code>
</td>
<td>
</td>
</tr><tr id="DataElement.uint8">
<td>5</td>
<td><code>uint8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
</tr><tr id="DataElement.uint16">
<td>6</td>
<td><code>uint16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
</tr><tr id="DataElement.uint32">
<td>7</td>
<td><code>uint32</code></td>
<td>
<code>uint32</code>
</td>
<td>
</td>
</tr><tr id="DataElement.uint64">
<td>8</td>
<td><code>uint64</code></td>
<td>
<code>uint64</code>
</td>
<td>
</td>
</tr><tr id="DataElement.str">
<td>9</td>
<td><code>str</code></td>
<td>
<code>string[1024]</code>
</td>
<td>
</td>
</tr><tr id="DataElement.b">
<td>10</td>
<td><code>b</code></td>
<td>
<code>bool</code>
</td>
<td>
</td>
</tr><tr id="DataElement.sequence">
<td>11</td>
<td><code>sequence</code></td>
<td>
<code>vector&lt;<a class='link' href='#DataElement'>DataElement</a>&gt;[255]</code>
</td>
<td>
</td>
</tr><tr id="DataElement.alternatives">
<td>12</td>
<td><code>alternatives</code></td>
<td>
<code>vector&lt;<a class='link' href='#DataElement'>DataElement</a>&gt;[255]</code>
</td>
<td>
</td>
</tr></table>
### IntStructUnion [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#IntStructUnion data-text="IntStructUnion"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=283)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="IntStructUnion.variant_i">
<td>1</td>
<td><code>variant_i</code></td>
<td>
<code>int32</code>
</td>
<td>
</td>
</tr><tr id="IntStructUnion.variant_tss">
<td>2</td>
<td><code>variant_tss</code></td>
<td>
<code><a class='link' href='#TwoStringStruct'>TwoStringStruct</a></code>
</td>
<td>
</td>
</tr></table>
### IntStructXunion [flexible](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#IntStructXunion data-text="IntStructXunion"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=288)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="IntStructXunion.variant_i">
<td>1</td>
<td><code>variant_i</code></td>
<td>
<code>int32</code>
</td>
<td>
</td>
</tr><tr id="IntStructXunion.variant_tss">
<td>2</td>
<td><code>variant_tss</code></td>
<td>
<code><a class='link' href='#TwoStringStruct'>TwoStringStruct</a></code>
</td>
<td>
</td>
</tr></table>
### NowAsXUnion [flexible](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#NowAsXUnion data-text="NowAsXUnion"}
*Defined in [test.fidlcodec.examples/xunionmigration.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/xunionmigration.fidl;l=13)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="NowAsXUnion.variant_u8">
<td>1</td>
<td><code>variant_u8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
</tr><tr id="NowAsXUnion.variant_u16">
<td>2</td>
<td><code>variant_u16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
</tr></table>
### OriginalUnion [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#OriginalUnion data-text="OriginalUnion"}
*Defined in [test.fidlcodec.examples/xunionmigration.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/xunionmigration.fidl;l=18)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="OriginalUnion.variant_u8">
<td>1</td>
<td><code>variant_u8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
</tr><tr id="OriginalUnion.variant_u16">
<td>2</td>
<td><code>variant_u16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
</tr></table>
### U8U16Union [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#U8U16Union data-text="U8U16Union"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=293)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="U8U16Union.variant_u8">
<td>1</td>
<td><code>variant_u8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
</tr><tr id="U8U16Union.variant_u16">
<td>2</td>
<td><code>variant_u16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
</tr></table>
### U8U16UnionReserved [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#U8U16UnionReserved data-text="U8U16UnionReserved"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=298)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="U8U16UnionReserved.variant_u8">
<td>1</td>
<td><code>variant_u8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
</tr><tr id="U8U16UnionReserved.">
<td>2</td>
<td><code></code></td>
<td>
<code></code>
</td>
<td>
</td>
</tr><tr id="U8U16UnionReserved.variant_u16">
<td>3</td>
<td><code>variant_u16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
</tr></table>
### U8U16Xunion [flexible](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#U8U16Xunion data-text="U8U16Xunion"}
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=304)*
<table>
<tr><th>Ordinal</th><tr><th>Variant</th><th>Type</th><th>Description</th></tr><tr id="U8U16Xunion.variant_u8">
<td>1</td>
<td><code>variant_u8</code></td>
<td>
<code>uint8</code>
</td>
<td>
</td>
</tr><tr id="U8U16Xunion.variant_u16">
<td>2</td>
<td><code>variant_u16</code></td>
<td>
<code>uint16</code>
</td>
<td>
</td>
</tr></table>
## **BITS**
### DefaultBits [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#DefaultBits}
Type: <code>uint32</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=353)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="DefaultBits.A">
<td>A</td>
<td>1</td>
<td>
</td>
</tr><tr id="DefaultBits.B">
<td>B</td>
<td>2</td>
<td>
</td>
</tr><tr id="DefaultBits.C">
<td>C</td>
<td>4</td>
<td>
</td>
</tr><tr id="DefaultBits.D">
<td>D</td>
<td>8</td>
<td>
</td>
</tr></table>
### I16Bits [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I16Bits}
Type: <code>uint16</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=367)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I16Bits.A">
<td>A</td>
<td>256</td>
<td>
</td>
</tr><tr id="I16Bits.B">
<td>B</td>
<td>512</td>
<td>
</td>
</tr><tr id="I16Bits.C">
<td>C</td>
<td>1024</td>
<td>
</td>
</tr><tr id="I16Bits.D">
<td>D</td>
<td>2048</td>
<td>
</td>
</tr></table>
### I32Bits [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I32Bits}
Type: <code>uint64</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=374)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I32Bits.A">
<td>A</td>
<td>65536</td>
<td>
</td>
</tr><tr id="I32Bits.B">
<td>B</td>
<td>131072</td>
<td>
</td>
</tr><tr id="I32Bits.C">
<td>C</td>
<td>262144</td>
<td>
</td>
</tr><tr id="I32Bits.D">
<td>D</td>
<td>524288</td>
<td>
</td>
</tr></table>
### I64Bits [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I64Bits}
Type: <code>uint64</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=381)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I64Bits.A">
<td>A</td>
<td>4294967296</td>
<td>
</td>
</tr><tr id="I64Bits.B">
<td>B</td>
<td>8589934592</td>
<td>
</td>
</tr><tr id="I64Bits.C">
<td>C</td>
<td>17179869184</td>
<td>
</td>
</tr><tr id="I64Bits.D">
<td>D</td>
<td>34359738368</td>
<td>
</td>
</tr></table>
### I8Bits [strict](/fuchsia-src/reference/fidl/language/language#strict-vs-flexible){:.fidl-attribute} {#I8Bits}
Type: <code>uint8</code>
*Defined in [test.fidlcodec.examples/types.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=360)*
<table>
<tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="I8Bits.A">
<td>A</td>
<td>1</td>
<td>
</td>
</tr><tr id="I8Bits.B">
<td>B</td>
<td>2</td>
<td>
</td>
</tr><tr id="I8Bits.C">
<td>C</td>
<td>4</td>
<td>
</td>
</tr><tr id="I8Bits.D">
<td>D</td>
<td>8</td>
<td>
</td>
</tr></table>
## **CONSTANTS**
<table>
<tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="MAX_SEQUENCE_LENGTH">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=311">MAX_SEQUENCE_LENGTH</a></td>
<td>
<code>255</code>
</td>
<td><code>uint8</code></td>
<td>
</td>
</tr>
<tr id="MAX_STRING_LENGTH">
<td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/fidl_codec/testdata/types.test.fidl;l=312">MAX_STRING_LENGTH</a></td>
<td>
<code>1024</code>
</td>
<td><code>uint16</code></td>
<td>
</td>
</tr>
</table>