gdb: Enum Target Types

 
 G.4 Enum Target Types
 =====================
 
 Enum target types are useful in 'struct' and 'flags' register
 descriptions.  SeeTarget 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 ]