packages feed

xcffib-1.1.2: test/generator/xinput.xml

<!-- a request with padding *after* a complex type -->
<enum name="DeviceClassType">
    <item name="Key">      <value>0</value> </item>
    <item name="Button">   <value>1</value> </item>
    <item name="Valuator"> <value>2</value> </item>
    <item name="Scroll">   <value>3</value> </item>
    <item name="Touch">    <value>8</value> </item>
    <item name="Gesture">  <value>9</value> </item>
</enum>

<struct name="DeviceClass">
    <length>
        <op op="*">
            <fieldref>len</fieldref>
            <value>4</value>
        </op>
    </length>
    <field type="CARD16"   name="type" enum="DeviceClassType" />
    <field type="CARD16"   name="len" />
    <field type="DeviceId" name="sourceid" />
    <switch name="data">
    <fieldref>type</fieldref>
    <required_start_align align="4" offset="2" />
    <case name="key">
    <enumref ref="DeviceClassType">Key</enumref>
    <required_start_align align="4" offset="2" />
    <field type="CARD16"   name="num_keys" />
    <list type="CARD32" name="keys">
        <fieldref>num_keys</fieldref>
    </list>
    </case>
    <case name="button">
    <enumref ref="DeviceClassType">Button</enumref>
    <required_start_align align="4" offset="2" />
    <field type="CARD16"   name="num_buttons" />
    <list type="CARD32"    name="state">
        <op op="/">
            <op op="+">
                <fieldref>num_buttons</fieldref>
                <value>31</value>
            </op>
            <value>32</value>
        </op>
    </list>
    <list type="ATOM" name="labels">
        <fieldref>num_buttons</fieldref>
    </list>
    </case>
    <case name="valuator">
    <enumref ref="DeviceClassType">Valuator</enumref>
    <required_start_align align="4" offset="2" />
    <field type="CARD16"   name="number" />
    <field type="ATOM"     name="label" />
    <field type="FP3232"   name="min" />
    <field type="FP3232"   name="max" />
    <field type="FP3232"   name="value" />
    <field type="CARD32"   name="resolution" />
    <field type="CARD8"    name="mode" enum="ValuatorMode" />
    <pad bytes="3" />
    </case>
    <case name="scroll">
    <enumref ref="DeviceClassType">Scroll</enumref>
            <required_start_align align="4" offset="2" />
    <field type="CARD16"   name="number" />
    <field type="CARD16"   name="scroll_type" enum="ScrollType" />
    <pad bytes="2" />
    <field type="CARD32"   name="flags" mask="ScrollFlags" />
    <field type="FP3232"   name="increment" />
    </case>
    <case name="touch">
    <enumref ref="DeviceClassType">Touch</enumref>
    <field type="CARD8"    name="mode" enum="TouchMode" />
    <field type="CARD8"    name="num_touches" />
    </case>
    <case name="gesture">
        <enumref ref="DeviceClassType">Gesture</enumref>
        <field type="CARD8"    name="num_touches" />
        <pad bytes="1" />
    </case>
</switch>
</struct>