[TOC]

# fidl.test.unionsandwich




## **STRUCTS**

### SandwichUnionSize12Alignment4 {#SandwichUnionSize12Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#24)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize12Alignment4.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize12Alignment4.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize12Alignment4'>UnionSize12Alignment4</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize12Alignment4.after">
            <td><code>after</code></td>
            <td>
                <code>int32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### SandwichUnionSize24Alignment8 {#SandwichUnionSize24Alignment8}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#39)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize24Alignment8.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize24Alignment8.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize24Alignment8'>UnionSize24Alignment8</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize24Alignment8.after">
            <td><code>after</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### SandwichUnionSize36Alignment4 {#SandwichUnionSize36Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#49)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize36Alignment4.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize36Alignment4.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize36Alignment4'>UnionSize36Alignment4</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize36Alignment4.after">
            <td><code>after</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### SandwichUnionSize8Alignment4 {#SandwichUnionSize8Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#14)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="SandwichUnionSize8Alignment4.before">
            <td><code>before</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize8Alignment4.union">
            <td><code>union</code></td>
            <td>
                <code><a class='link' href='#UnionSize8Alignment4'>UnionSize8Alignment4</a></code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="SandwichUnionSize8Alignment4.after">
            <td><code>after</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>

### StructSize16Alignment8 {#StructSize16Alignment8}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#30)*



<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="StructSize16Alignment8.f1">
            <td><code>f1</code></td>
            <td>
                <code>uint64</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr><tr id="StructSize16Alignment8.f2">
            <td><code>f2</code></td>
            <td>
                <code>uint64</code>
            </td>
            <td></td>
            <td>No default</td>
        </tr>
</table>







## **UNIONS**

### UnionSize12Alignment4 {#UnionSize12Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#20)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize12Alignment4.variant">
            <td><code>variant</code></td>
            <td>
                <code>uint8[6]</code>
            </td>
            <td></td>
        </tr></table>

### UnionSize24Alignment8 {#UnionSize24Alignment8}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#35)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize24Alignment8.variant">
            <td><code>variant</code></td>
            <td>
                <code><a class='link' href='#StructSize16Alignment8'>StructSize16Alignment8</a></code>
            </td>
            <td></td>
        </tr></table>

### UnionSize36Alignment4 {#UnionSize36Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#45)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize36Alignment4.variant">
            <td><code>variant</code></td>
            <td>
                <code>uint8[32]</code>
            </td>
            <td></td>
        </tr></table>

### UnionSize8Alignment4 {#UnionSize8Alignment4}
*Defined in [fidl.test.unionsandwich/union_sandwich.test.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/zircon/tools/fidl/testdata/union_sandwich.test.fidl#10)*


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="UnionSize8Alignment4.variant">
            <td><code>variant</code></td>
            <td>
                <code>uint32</code>
            </td>
            <td></td>
        </tr></table>







