Next: Standard Target Features, Previous: Predefined Target Types, Up: Target Descriptions

### G.4 Enum Target Types

Enum target types are useful in ``struct`' and ``flags`' register descriptions. See Target Description Format.

Enum types have a name, size and a list of name/value pairs.

         <enum id="id" size="size">
           <evalue name="name" value="value"/>
           ...
         </enum>

Enums must be defined before they are used.

         <enum id="levels_type" size="4">
           <evalue name="low" value="0"/>
           <evalue name="high" value="1"/>
         </enum>
         <flags id="flags_type" size="4">
           <field name="X" start="0"/>
           <field name="LEVEL" start="1" end="1" type="levels_type"/>
         </flags>
         <reg name="flags" bitsize="32" type="flags_type"/>

Given that description, a value of 3 for the ``flags`' register would be printed as:

         (gdb) info register flags
         flags 0x3 [ X LEVEL=high ]