[TOC]

# fidl.test.doccomments

<p>library comment #1</p>
<p>library comment #2</p>

## **PROTOCOLS**

## Interface {#Interface}
*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=112)*

<p>interface comment #1</p>
<p>interface comment #3</p>

### Method {#fidl.test.doccomments/Interface.Method}

<p>method comment #1</p>
<p>method comment #3</p>

#### Request
<table>
    <tr><th>Name</th><th>Type</th></tr>
    </table>



### OnEvent {#fidl.test.doccomments/Interface.OnEvent}

<p>event comment #1</p>
<p>event comment #3</p>



#### Response
<table>
    <tr><th>Name</th><th>Type</th></tr>
    </table>



## **STRUCTS**

### Struct {#Struct}
*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=72)*

<p>struct comment #1</p>
<p>struct comment #3</p>


<table>
    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="Struct.Field">
            <td><code>Field</code></td>
            <td>
                <code>int32</code>
            </td>
            <td><p>struct member comment #1</p>
<p>struct member comment #3</p>
</td>
            <td>No default</td>
        </tr>
</table>



## **ENUMS**

### MyFlexibleEnum {#MyFlexibleEnum}
Type: <code>uint32</code>

*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=57)*

<p>flexible enum comment #1.</p>
<p>flexible enum comment #2.</p>


<table>
    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="MyFlexibleEnum.FOO">
            <td><code>FOO</code></td>
            <td><code>1</code></td>
            <td><p>FOO member comment #1</p>
<p>FOO member comment #3</p>
</td>
        </tr><tr id="MyFlexibleEnum.BAR">
            <td><code>BAR</code></td>
            <td><code>2</code></td>
            <td><p>BAR member comment #1</p>
<p>BAR member comment #3</p>
</td>
        </tr></table>

### MyStrictEnum {#MyStrictEnum}
Type: <code>uint32</code>

*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=42)*

<p>strict enum comment #1.</p>
<p>strict enum comment #2.</p>


<table>
    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="MyStrictEnum.FOO">
            <td><code>FOO</code></td>
            <td><code>1</code></td>
            <td><p>FOO member comment #1</p>
<p>FOO member comment #3</p>
</td>
        </tr><tr id="MyStrictEnum.BAR">
            <td><code>BAR</code></td>
            <td><code>2</code></td>
            <td><p>BAR member comment #1</p>
<p>BAR member comment #3</p>
</td>
        </tr></table>



## **TABLES**

### Table {#Table}


*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=102)*

<p>table comment #1</p>
<p>table comment #3</p>


<table>
    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
    <tr id="Table.Field">
            <td>1</td>
            <td><code>Field</code></td>
            <td>
                <code>int32</code>
            </td>
            <td><p>table field comment #1</p>
<p>table field comment #3</p>
</td>
        </tr></table>



## **UNIONS**

### FlexibleUnion {#FlexibleUnion}
*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=92)*

<p>flexible union comment #1</p>
<p>flexible union comment #3</p>

<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="FlexibleUnion.Field">
            <td><code>Field</code></td>
            <td>
                <code>int32</code>
            </td>
            <td><p>union member comment #1</p>
<p>union member comment #3</p>
</td>
        </tr></table>

### StrictUnion {#StrictUnion}
*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=82)*

<p>strict union comment #1</p>
<p>strict union comment #3</p>

<table>
    <tr><th>Name</th><th>Type</th><th>Description</th></tr><tr id="StrictUnion.Field">
            <td><code>Field</code></td>
            <td>
                <code>int32</code>
            </td>
            <td><p>union member comment #1</p>
<p>union member comment #3</p>
</td>
        </tr></table>



## **BITS**

### MyFlexibleBits {#MyFlexibleBits}
Type: <code>uint32</code>

*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=23)*

<p>flexible bits comment #1</p>
<p>flexible bits comment #2</p>


<table>
    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="MyFlexibleBits.MY_FIRST_BIT">
            <td>MY_FIRST_BIT</td>
            <td>1</td>
            <td><p>MY_FIRST_BIT member comment #1</p>
<p>MY_FIRST_BIT member comment #3</p>
</td>
        </tr><tr id="MyFlexibleBits.MY_OTHER_BIT">
            <td>MY_OTHER_BIT</td>
            <td>2</td>
            <td><p>MY_OTHER_BIT member comment #1</p>
<p>MY_OTHER_BIT member comment #3</p>
</td>
        </tr></table>

### MyStrictBits {#MyStrictBits}
Type: <code>uint32</code>

*Defined in [fidl.test.doccomments/doc_comments.test.fidl](https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=9)*

<p>strict bits comment #1</p>
<p>strict bits comment #2</p>


<table>
    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="MyStrictBits.MY_FIRST_BIT">
            <td>MY_FIRST_BIT</td>
            <td>1</td>
            <td><p>MY_FIRST_BIT member comment #1</p>
<p>MY_FIRST_BIT member comment #3</p>
</td>
        </tr><tr id="MyStrictBits.MY_OTHER_BIT">
            <td>MY_OTHER_BIT</td>
            <td>2</td>
            <td><p>MY_OTHER_BIT member comment #1</p>
<p>MY_OTHER_BIT member comment #3</p>
</td>
        </tr></table>



## **CONSTANTS**

<table>
    <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="C">
            <td><a href="https://cs.opensource.google/fuchsia/fuchsia/+/master:tools/fidl/fidlc/testdata/doc_comments.test.fidl;l=37">C</a></td>
            <td>
                    <code>4</code>
                </td>
                <td><code>int32</code></td>
            <td><p>const comment #1</p>
<p>const comment #3</p>
</td>
        </tr>
    
</table>



