[Xcb-commit] 11 commits - src

Peter Harris peterh at kemper.freedesktop.org
Tue Apr 21 09:35:21 PDT 2009


 src/composite.xml |    8 +-
 src/damage.xml    |    8 +-
 src/dpms.xml      |   11 ++-
 src/randr.xml     |   79 +++++++++++------------
 src/render.xml    |   28 ++++----
 src/shape.xml     |   26 +++----
 src/sync.xml      |    8 +-
 src/xfixes.xml    |   34 +++++-----
 src/xinput.xml    |  182 +++++++++++++++++++++++++++++-------------------------
 src/xproto.xml    |    1 
 src/xv.xml        |   42 +++++++++---
 11 files changed, 243 insertions(+), 184 deletions(-)

New commits:
commit f584ee1100a95d4333712500b6741e076a318057
Merge: df2cdee... 88d0841...
Author: Peter Harris <pharris at opentext.com>
Date:   Tue Apr 21 12:33:15 2009 -0400

    Merge branch 'enum'

commit 88d08418b1a2d8d88225386214ebb749b926cdab
Author: Peter Harris <pharris at opentext.com>
Date:   Thu Apr 9 15:30:13 2009 -0400

    Add enum references to fields in SYNC
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/sync.xml b/src/sync.xml
index 8e7adc7..e309233 100644
--- a/src/sync.xml
+++ b/src/sync.xml
@@ -55,9 +55,9 @@ for licensing information.
 
   <struct name="TRIGGER">
     <field type="COUNTER" name="counter" />
-    <field type="CARD32" name="wait_type" />
+    <field type="CARD32" name="wait_type" enum="VALUETYPE" />
     <field type="INT64" name="wait_value" />
-    <field type="CARD32" name="test_type" />
+    <field type="CARD32" name="test_type" enum="TESTTYPE" />
   </struct>
 
   <struct name="WAITCONDITION">
@@ -155,7 +155,7 @@ for licensing information.
       <field type="TRIGGER" name="trigger" />
       <field type="INT64" name="delta" />
       <field type="BOOL" name="events" />
-      <field type="CARD8" name="state" />
+      <field type="CARD8" name="state" enum="ALARMSTATE" />
       <pad bytes="2" />
     </reply>
   </request>
@@ -190,5 +190,7 @@ for licensing information.
     <field type="INT64" name="counter_value" />
     <field type="INT64" name="alarm_value" />
     <field type="TIMESTAMP" name="timestamp" />
+    <field type="CARD8" name="state" enum="ALARMSTATE" />
+    <pad bytes="3" />
   </event>
 </xcb>
commit 84bfafb49f8abd5ea63bcc1170cbde92bffd10d1
Author: Peter Harris <peter.harris at hummingbird.com>
Date:   Wed Apr 8 21:22:56 2009 -0400

    Add enum references to fields in RENDER
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/render.xml b/src/render.xml
index 654eec9..59cc8e0 100644
--- a/src/render.xml
+++ b/src/render.xml
@@ -15,6 +15,10 @@ for licensing information.
     <item name="Direct" />
   </enum>
 
+  <enum name="Picture">
+    <item name="None" />
+  </enum>
+
   <!-- Disjoint* and Conjoint* are new in version 0.2 -->
   <enum name="PictOp">
     <item name="Clear" />
@@ -129,7 +133,7 @@ for licensing information.
 
   <struct name="PICTFORMINFO">
     <field type="PICTFORMAT" name="id" />
-    <field type="CARD8" name="type" />
+    <field type="CARD8" name="type" enum="PictType" />
     <field type="CARD8" name="depth" />
     <pad bytes="2" />
     <field type="DIRECTFORMAT" name="direct" />
@@ -233,7 +237,7 @@ for licensing information.
       <list type="PICTSCREEN" name="screens">
         <fieldref>num_screens</fieldref>
       </list>
-      <list type="CARD32" name="subpixels">
+      <list type="CARD32" name="subpixels" enum="SubPixel" >
         <fieldref>num_subpixel</fieldref>
       </list>
     </reply>
@@ -282,10 +286,10 @@ for licensing information.
   </request>
 
   <request name="Composite" opcode="8">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
-    <field type="PICTURE" name="mask" />
+    <field type="PICTURE" name="mask" altenum="Picture" />
     <field type="PICTURE" name="dst" />
     <field type="INT16" name="src_x" />
     <field type="INT16" name="src_y" />
@@ -300,7 +304,7 @@ for licensing information.
   <!-- opcode 9 reserved for Scale -->
 
   <request name="Trapezoids" opcode="10">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -311,7 +315,7 @@ for licensing information.
   </request>
 
   <request name="Triangles" opcode="11">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -322,7 +326,7 @@ for licensing information.
   </request>
 
   <request name="TriStrip" opcode="12">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -333,7 +337,7 @@ for licensing information.
   </request>
 
   <request name="TriFan" opcode="13">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -383,7 +387,7 @@ for licensing information.
   </request>
 
   <request name="CompositeGlyphs8" opcode="23">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -395,7 +399,7 @@ for licensing information.
   </request>
 
   <request name="CompositeGlyphs16" opcode="24">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -407,7 +411,7 @@ for licensing information.
   </request>
 
   <request name="CompositeGlyphs32" opcode="25">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="src" />
     <field type="PICTURE" name="dst" />
@@ -421,7 +425,7 @@ for licensing information.
   <!-- new in version 0.1 -->
 
   <request name="FillRectangles" opcode="26">
-    <field type="CARD8" name="op" />
+    <field type="CARD8" name="op" enum="PictOp" />
     <pad bytes="3" />
     <field type="PICTURE" name="dst" />
     <field type="COLOR" name="color" />
commit 9b2b6acffaeca4a3f2b8ecf2877614fdb3d6ae46
Author: Peter Harris <pharris at opentext.com>
Date:   Tue Mar 31 15:54:59 2009 -0400

    Add enum references to fields in XVideo
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/xv.xml b/src/xv.xml
index 26047a6..d2bfc29 100644
--- a/src/xv.xml
+++ b/src/xv.xml
@@ -58,6 +58,28 @@ authorization from the authors.
         <item name="Settable"><bit>1</bit></item>
     </enum>
     
+    <enum name="VideoNotifyReason">
+	<item name="Started" />
+	<item name="Stopped" />
+	<item name="Busy" />
+	<item name="Preempted" />
+	<item name="HardError" />
+    </enum>
+
+    <enum name="ScanlineOrder">
+        <item name="TopToBottom" />
+        <item name="BottomToTop" />
+    </enum>
+
+    <enum name="GrabPortStatus">
+        <item name="Success" />
+        <item name="BadExtension" />
+        <item name="AlreadyGrabbed" />
+        <item name="InvalidTime" />
+        <item name="BadReply" />
+        <item name="BadAlloc" />
+    </enum>
+
     <struct name="Rational">
         <field type="INT32" name="numerator" />
         <field type="INT32" name="denominator" />
@@ -74,7 +96,7 @@ authorization from the authors.
         <field type="CARD16" name="name_size" />
         <field type="CARD16" name="num_ports" />
         <field type="CARD16" name="num_formats" />
-        <field type="CARD8" name="type" />
+        <field type="CARD8" name="type" mask="Type" />
         <pad bytes="1" />
         <list type="char" name="name">
             <fieldref>name_size</fieldref>
@@ -120,7 +142,7 @@ authorization from the authors.
     </struct>
     
     <struct name="AttributeInfo">
-        <field type="CARD32" name="flags" />
+        <field type="CARD32" name="flags" mask="AttributeFlag" />
         <field type="INT32" name="min" />
         <field type="INT32" name="max" />
         <field type="CARD32" name="size" />
@@ -131,8 +153,8 @@ authorization from the authors.
 
     <struct name="ImageFormatInfo">
         <field type="CARD32" name="id" />
-        <field type="CARD8" name="type" />
-        <field type="CARD8" name="byte_order" />
+        <field type="CARD8" name="type" enum="ImageFormatInfoType" />
+        <field type="CARD8" name="byte_order" enum="ImageOrder" />
         <pad bytes="2" />
         <list type="CARD8" name="guid">
             <value>16</value>
@@ -145,7 +167,7 @@ authorization from the authors.
         <field type="CARD32" name="red_mask" />
         <field type="CARD32" name="green_mask" />
         <field type="CARD32" name="blue_mask" />
-        <field type="CARD8" name="format" />
+        <field type="CARD8" name="format" enum="ImageFormatInfoFormat" />
         <pad bytes="3" />
         <field type="CARD32" name="y_sample_bits" />
         <field type="CARD32" name="u_sample_bits" />
@@ -159,7 +181,7 @@ authorization from the authors.
         <list type="CARD8" name="vcomp_order">
             <value>32</value>
         </list>
-        <field type="CARD8" name="vscanline_order" />
+        <field type="CARD8" name="vscanline_order" enum="ScanlineOrder" />
         <pad bytes="11" />
     </struct>
 
@@ -171,7 +193,7 @@ authorization from the authors.
 
     <!-- Events -->
     <event name="VideoNotify" number="0">
-        <field type="BYTE" name="reason" />
+        <field type="BYTE" name="reason" enum="VideoNotifyReason" />
         <field type="TIMESTAMP" name="time" />
         <field type="DRAWABLE" name="drawable" />
         <field type="PORT" name="port" />
@@ -225,15 +247,15 @@ authorization from the authors.
 
     <request name="GrabPort" opcode="3">
         <field type="PORT" name="port" />
-        <field type="TIMESTAMP" name="time" />
+        <field type="TIMESTAMP" name="time" altenum="Time" />
         <reply>
-            <field type="BYTE" name="result" />
+            <field type="BYTE" name="result" enum="GrabPortStatus" />
         </reply>
     </request>
 
     <request name="UngrabPort" opcode="4">
         <field type="PORT" name="port" />
-        <field type="TIMESTAMP" name="time" />
+        <field type="TIMESTAMP" name="time" altenum="Time" />
     </request>
 
     <request name="PutVideo" opcode="5">
commit 1de0b6ba14b1ecf2a97e83b424192a0d9f6827fe
Author: Peter Harris <pharris at opentext.com>
Date:   Tue Mar 17 15:02:16 2009 -0400

    Add enum references to fields in XInputExtension
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/xinput.xml b/src/xinput.xml
index bc10d06..80416fe 100644
--- a/src/xinput.xml
+++ b/src/xinput.xml
@@ -64,11 +64,19 @@ authorization from the authors.
 
     <!-- ListInputDevices -->
 
+    <enum name="DeviceUse">
+	<item name="IsXPointer"><value>0</value></item>
+	<item name="IsXKeyboard"><value>1</value></item>
+	<item name="IsXExtensionDevice"><value>2</value></item>
+	<item name="IsXExtensionKeyboard"><value>3</value></item>
+	<item name="IsXExtensionPointer"><value>4</value></item>
+    </enum>
+
     <struct name="DeviceInfo">
 	<field type="ATOM" name="device_type" />
 	<field type="CARD8" name="device_id" />
 	<field type="CARD8" name="num_class_info" />
-	<field type="CARD8" name="device_use" />
+	<field type="CARD8" name="device_use" enum="DeviceUse" />
 	<pad bytes="1" />
     </struct>
 
@@ -85,21 +93,23 @@ authorization from the authors.
 	</reply>
     </request>
 
-    <enum name="DeviceUse">
-	<item name="IsXPointer"><value>0</value></item>
-	<item name="IsXKeyboard"><value>1</value></item>
-	<item name="IsXExtensionDevice"><value>2</value></item>
-	<item name="IsXExtensionKeyboard"><value>3</value></item>
-	<item name="IsXExtensionPointer"><value>4</value></item>
+    <enum name="InputClass">
+	<item name="Key"><value>0</value></item>
+	<item name="Button"><value>1</value></item>
+	<item name="Valuator"><value>2</value></item>
+	<item name="Feedback"><value>3</value></item>
+	<item name="Proximity"><value>4</value></item>
+	<item name="Focus"><value>5</value></item>
+	<item name="Other"><value>6</value></item>
     </enum>
 
     <struct name="InputInfo">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
     </struct>
 
     <struct name="KeyInfo">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="KeyCode" name="min_keycode" />
 	<field type="KeyCode" name="max_keycode" />
@@ -108,7 +118,7 @@ authorization from the authors.
     </struct>
 
     <struct name="ButtonInfo">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="CARD16" name="num_buttons" />
     </struct>
@@ -120,10 +130,10 @@ authorization from the authors.
     </struct>
 
     <struct name="ValuatorInfo">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="CARD8" name="axes_len" />
-	<field type="CARD8" name="mode" />
+	<field type="CARD8" name="mode" enum="ValuatorMode" />
 	<field type="CARD32" name="motion_size" />
 	<list type="AxisInfo" name="axes">
 	    <fieldref>axes_len</fieldref>
@@ -133,7 +143,7 @@ authorization from the authors.
     <!-- OpenDevice -->
 
     <struct name="InputClassInfo">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="event_type_base" />
     </struct>
 
@@ -150,16 +160,6 @@ authorization from the authors.
 	</reply>
     </request>
 
-    <enum name="InputClass">
-	<item name="Key"><value>0</value></item>
-	<item name="Button"><value>1</value></item>
-	<item name="Valuator"><value>2</value></item>
-	<item name="Feedback"><value>3</value></item>
-	<item name="Proximity"><value>4</value></item>
-	<item name="Focus"><value>5</value></item>
-	<item name="Other"><value>6</value></item>
-    </enum>
-
     <!-- CloseDevice -->
 
     <request name="CloseDevice" opcode="4">
@@ -171,11 +171,11 @@ authorization from the authors.
 
     <request name="SetDeviceMode" opcode="5">
 	<field type="CARD8" name="device_id" />
-	<field type="CARD8" name="mode" />
+	<field type="CARD8" name="mode" enum="ValuatorMode" />
 	<pad bytes="2" />
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" altenum="GrabStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -214,7 +214,7 @@ authorization from the authors.
     <request name="ChangeDeviceDontPropagateList" opcode="8">
 	<field type="WINDOW" name="window" />
 	<field type="CARD16" name="num_classes" />
-	<field type="CARD8" name="mode" />
+	<field type="CARD8" name="mode" enum="PropagateMode" />
 	<pad bytes="1" />
 	<list type="EventClass" name="classes">
 	    <fieldref>num_classes</fieldref>
@@ -239,13 +239,13 @@ authorization from the authors.
 
     <request name="GetDeviceMotionEvents" opcode="10">
 	<field type="TIMESTAMP" name="start" />
-	<field type="TIMESTAMP" name="stop" />
+	<field type="TIMESTAMP" name="stop" altenum="Time" />
 	<field type="CARD8" name="device_id" />
 	<reply>
 	    <pad bytes="1" />
 	    <field type="CARD32" name="num_coords" />
 	    <field type="CARD8" name="num_axes" />
-	    <field type="CARD8" name="device_mode" />
+	    <field type="CARD8" name="device_mode" enum="ValuatorMode" />
 	    <pad bytes="18" />
 	    <!-- Uninterpreted: list of DeviceTimeCoord structures -->
 	</reply>
@@ -262,7 +262,7 @@ authorization from the authors.
 	<pad bytes="3" />
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" altenum="GrabStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -276,7 +276,7 @@ authorization from the authors.
 	<pad bytes="1" />
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" altenum="GrabStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -285,10 +285,10 @@ authorization from the authors.
 
     <request name="GrabDevice" opcode="13">
 	<field type="WINDOW" name="grab_window" />
-	<field type="TIMESTAMP" name="time" />
+	<field type="TIMESTAMP" name="time" altenum="Time" />
 	<field type="CARD16" name="num_classes" />
-	<field type="CARD8" name="this_device_mode" />
-	<field type="CARD8" name="other_device_mode" />
+	<field type="CARD8" name="this_device_mode" enum="GrabMode" />
+	<field type="CARD8" name="other_device_mode" enum="GrabMode" />
 	<field type="BOOL" name="owner_events" />
 	<field type="CARD8" name="device_id" />
 	<pad bytes="2" />
@@ -297,7 +297,7 @@ authorization from the authors.
 	</list>
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" enum="GrabStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -305,7 +305,7 @@ authorization from the authors.
     <!-- UngrabDevice -->
 
     <request name="UngrabDevice" opcode="14">
-	<field type="TIMESTAMP" name="time" />
+	<field type="TIMESTAMP" name="time" altenum="Time" />
 	<field type="CARD8" name="device_id" />
     </request>
 
@@ -314,12 +314,12 @@ authorization from the authors.
     <request name="GrabDeviceKey" opcode="15">
 	<field type="WINDOW" name="grab_window" />
 	<field type="CARD16" name="num_classes" />
-	<field type="CARD16" name="modifiers" />
+	<field type="CARD16" name="modifiers" mask="ModMask" />
 	<field type="CARD8" name="modifier_device" />
 	<field type="CARD8" name="grabbed_device" />
-	<field type="CARD8" name="key" />
-	<field type="CARD8" name="this_device_mode" />
-	<field type="CARD8" name="other_device_mode" />
+	<field type="CARD8" name="key" altenum="Grab" />
+	<field type="CARD8" name="this_device_mode" enum="GrabMode" />
+	<field type="CARD8" name="other_device_mode" enum="GrabMode" />
 	<field type="BOOL" name="owner_events" />
 	<pad bytes="2" />
 	<list type="EventClass" name="classes">
@@ -331,9 +331,9 @@ authorization from the authors.
 
     <request name="UngrabDeviceKey" opcode="16">
 	<field type="WINDOW" name="grabWindow" />
-	<field type="CARD16" name="modifiers" />
+	<field type="CARD16" name="modifiers" mask="ModMask" />
 	<field type="CARD8" name="modifier_device" />
-	<field type="CARD8" name="key" />
+	<field type="CARD8" name="key" altenum="Grab" />
 	<field type="CARD8" name="grabbed_device" />
     </request>
 
@@ -344,10 +344,10 @@ authorization from the authors.
 	<field type="CARD8" name="grabbed_device" />
 	<field type="CARD8" name="modifier_device" />
 	<field type="CARD16" name="num_classes" />
-	<field type="CARD16" name="modifiers" />
-	<field type="CARD8" name="this_device_mode" />
-	<field type="CARD8" name="other_device_mode" />
-	<field type="CARD8" name="button" />
+	<field type="CARD16" name="modifiers" mask="ModMask" />
+	<field type="CARD8" name="this_device_mode" enum="GrabMode" />
+	<field type="CARD8" name="other_device_mode" enum="GrabMode" />
+	<field type="CARD8" name="button" altenum="Grab" />
 	<field type="CARD8" name="owner_events" />
 	<pad bytes="2" />
 	<list type="EventClass" name="classes">
@@ -359,18 +359,27 @@ authorization from the authors.
 
     <request name="UngrabDeviceButton" opcode="18">
 	<field type="WINDOW" name="grab_window" />
-	<field type="CARD16" name="modifiers" />
+	<field type="CARD16" name="modifiers" mask="ModMask" />
 	<field type="CARD8" name="modifier_device" />
-	<field type="CARD8" name="button" />
+	<field type="CARD8" name="button" altenum="Grab" />
 	<field type="CARD8" name="grabbed_device" />
     </request>
 
     <!-- AllowDeviceEvents -->
 
+    <enum name="DeviceInputMode">
+	<item name="AsyncThisDevice" />
+	<item name="SyncThisDevice" />
+	<item name="ReplayThisDevice" />
+	<item name="AsyncOtherDevices" />
+	<item name="AsyncAll" />
+	<item name="SyncAll" />
+    </enum>
+
     <request name="AllowDeviceEvents" opcode="19">
-	<field type="TIMESTAMP" name="time" />
-	<field type="CARD8" name="mode" />
-    <field type="CARD8" name="device_id" />
+	<field type="TIMESTAMP" name="time" altenum="Time" />
+	<field type="CARD8" name="mode" enum="DeviceInputMode" />
+	<field type="CARD8" name="device_id" />
     </request>
 
     <!-- GetDeviceFocus -->
@@ -380,9 +389,9 @@ authorization from the authors.
 	<pad bytes="3" />
 	<reply>
 	    <pad bytes="1" />
-	    <field type="WINDOW" name="focus" />
+	    <field type="WINDOW" name="focus" altenum="InputFocus" />
 	    <field type="TIMESTAMP" name="time" />
-	    <field type="CARD8" name="revert_to" />
+	    <field type="CARD8" name="revert_to" enum="InputFocus" />
 	    <pad bytes="15" />
 	</reply>
     </request>
@@ -390,9 +399,9 @@ authorization from the authors.
     <!-- SetDeviceFocus -->
 
     <request name="SetDeviceFocus" opcode="21">
-	<field type="WINDOW" name="focus" />
-	<field type="TIMESTAMP" name="time" />
-	<field type="CARD8" name="revert_to" />
+	<field type="WINDOW" name="focus" altenum="InputFocus" />
+	<field type="TIMESTAMP" name="time" altenum="Time" />
+	<field type="CARD8" name="revert_to" enum="InputFocus" />
 	<field type="CARD8" name="device_id" />
     </request>
 
@@ -409,14 +418,23 @@ authorization from the authors.
 	</reply>
     </request>
 
+    <enum name="FeedbackClass">
+	<item name="Keyboard" />
+	<item name="Pointer" />
+	<item name="String" />
+	<item name="Integer" />
+	<item name="Led" />
+	<item name="Bell" />
+    </enum>
+
     <struct name="FeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
     </struct>
     
     <struct name="KbdFeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="CARD16" name="pitch" />
@@ -431,7 +449,7 @@ authorization from the authors.
     </struct>
 
     <struct name="PtrFeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<pad bytes="2" />
@@ -441,7 +459,7 @@ authorization from the authors.
     </struct>
 
     <struct name="IntegerFeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="CARD32" name="resolution" />
@@ -450,7 +468,7 @@ authorization from the authors.
     </struct>
 
     <struct name="StringFeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="CARD16" name="max_symbols" />
@@ -461,7 +479,7 @@ authorization from the authors.
     </struct>
 
     <struct name="BellFeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="CARD8" name="percent" />
@@ -471,7 +489,7 @@ authorization from the authors.
     </struct>
 
     <struct name="LedFeedbackState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="CARD32" name="led_mask" />
@@ -490,13 +508,13 @@ authorization from the authors.
     -->
 
     <struct name="FeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
     </struct>
 
     <struct name="KbdFeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="KeyCode" name="key" />
@@ -510,7 +528,7 @@ authorization from the authors.
     </struct>
 
     <struct name="PtrFeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<pad bytes="2" />
@@ -520,14 +538,14 @@ authorization from the authors.
     </struct>
 
     <struct name="IntegerFeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="INT32" name="int_to_display" />
     </struct>
 
     <struct name="StringFeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<pad bytes="2" />
@@ -538,7 +556,7 @@ authorization from the authors.
     </struct>
 
     <struct name="BellFeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="INT8" name="percent" />
@@ -548,7 +566,7 @@ authorization from the authors.
     </struct>
 
     <struct name="LedFeedbackCtl">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="FeedbackClass" />
 	<field type="CARD8" name="id" />
 	<field type="CARD16" name="len" />
 	<field type="CARD32" name="led_mask" />
@@ -618,7 +636,7 @@ authorization from the authors.
 	</list>
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" enum="MappingStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -649,7 +667,7 @@ authorization from the authors.
 	</list>
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" enum="MappingStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -668,13 +686,13 @@ authorization from the authors.
     </request>
 
     <struct name="InputState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="CARD8" name="num_items" />
     </struct>
 
     <struct name="KeyState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="CARD8" name="num_keys" />
 	<pad bytes="1" />
@@ -684,7 +702,7 @@ authorization from the authors.
     </struct>
 
     <struct name="ButtonState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="CARD8" name="num_buttons" />
 	<pad bytes="1" />
@@ -694,7 +712,7 @@ authorization from the authors.
     </struct>
 
     <struct name="ValuatorState">
-	<field type="CARD8" name="class_id" />
+	<field type="CARD8" name="class_id" enum="InputClass" />
 	<field type="CARD8" name="len" />
 	<field type="CARD8" name="num_valuators" />
 	<field type="CARD8" name="mode" />
@@ -744,7 +762,7 @@ authorization from the authors.
 	</list>
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" enum="GrabStatus" />
 	    <pad bytes="23" />
 	</reply>
     </request>
@@ -757,7 +775,7 @@ authorization from the authors.
 	<pad bytes="1" />
 	<reply>
 	    <pad bytes="1" />
-	    <field type="CARD8" name="status" />
+	    <field type="CARD8" name="status" altenum="GrabStatus" />
 	    <pad bytes="23" />
 	    <!-- Uninterpreted: list of DeviceState structures -->
 	</reply>
@@ -831,7 +849,7 @@ authorization from the authors.
 	Uninterpreted: list of DeviceCtl structures
 	<reply>
             <pad byte="1" />
-            <field type="CARD8" name="status" />
+            <field type="CARD8" name="status" altenum="GrabStatus" />
             <pad bytes="23" />
 	</reply>
     </request>
@@ -906,7 +924,7 @@ authorization from the authors.
 	<field type="TIMESTAMP" name="time" />
 	<field type="WINDOW" name="root" />
 	<field type="WINDOW" name="event" />
-	<field type="WINDOW" name="child" />
+	<field type="WINDOW" name="child" altenum="Window" />
 	<field type="INT16" name="root_x" />
 	<field type="INT16" name="root_y" />
 	<field type="INT16" name="event_x" />
@@ -924,15 +942,15 @@ authorization from the authors.
     <eventcopy name="ProximityOut" number="9" ref="DeviceKeyPress" />
 
     <event name="FocusIn" number="6">
-	<field type="BYTE" name="detail" />
+	<field type="BYTE" name="detail" enum="NotifyDetail" />
 	<field type="TIMESTAMP" name="time" />
 	<field type="WINDOW" name="window" />
-	<field type="BYTE" name="mode" />
+	<field type="BYTE" name="mode" enum="NotifyMode" />
 	<field type="CARD8" name="device_id" />
 	<pad bytes="18" />
     </event>
 
-    <eventcopy name="FocusOut" number="7" ref="DeviceKeyPress" />
+    <eventcopy name="FocusOut" number="7" ref="FocusIn" />
 
     <event name="DeviceStateNotify" number="10">
 	<field type="BYTE" name="device_id" />
diff --git a/src/xproto.xml b/src/xproto.xml
index 8e052dc..19539f5 100644
--- a/src/xproto.xml
+++ b/src/xproto.xml
@@ -1242,6 +1242,7 @@ authorization from the authors.
     <item name="None">       <value>0</value></item>
     <item name="PointerRoot"><value>1</value></item>
     <item name="Parent">     <value>2</value></item>  <!-- revert_to only -->
+    <item name="FollowKeyboard"><value>3</value></item>  <!-- xinput extension only -->
   </enum>
 
   <request name="SetInputFocus" opcode="42">
commit 3c40a15d3b139c72e6df7714752805f3ae5c9041
Author: Peter Harris <pharris at opentext.com>
Date:   Mon Mar 16 14:57:36 2009 -0400

    Add enum references to fields in RANDR
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/randr.xml b/src/randr.xml
index 05c42fb..cf1f431 100644
--- a/src/randr.xml
+++ b/src/randr.xml
@@ -30,6 +30,7 @@ authorization from the authors.
     major-version="1" minor-version="2">
 
 	<import>xproto</import>
+	<import>render</import>
 
 	<!-- XIDs -->
 	<xidtype name="MODE" />
@@ -80,6 +81,13 @@ authorization from the authors.
 	
 	<!-- Skip obsolete opcode 1 so old clients fail immediately -->
 
+	<enum name="SetConfig">
+		<item name="Success"><value>0</value></item>
+		<item name="InvalidConfigTime"><value>1</value></item>
+		<item name="InvalidTime"><value>2</value></item>
+		<item name="Failed"><value>3</value></item>
+	</enum>
+
 	<!-- This is for the 1.1 version request.  I don't believe we need to specify a 1.0 request
 	as few things used randr 1.0.  The only difference is the removal of refresh and padding I think.
 	BEWARE: the docs lie!
@@ -89,31 +97,32 @@ authorization from the authors.
 		<field type="TIMESTAMP" name="timestamp" />
 		<field type="TIMESTAMP" name="config_timestamp" />
 		<field type="CARD16" name="sizeID" />
-		<field type="CARD16" name="rotation" />		<!-- enum Rotation -->
+		<field type="CARD16" name="rotation" mask="Rotation" />
 		<field type="CARD16" name="rate" />
 		<pad bytes="2" />
 		<reply>
-			<field type="CARD8" name="status" />	<!-- enum SetConfig -->
+			<field type="CARD8" name="status" enum="SetConfig" />
 			<field type="TIMESTAMP" name="new_timestamp" />
 			<field type="TIMESTAMP" name="config_timestamp" />
 			<field type="WINDOW" name="root" />
-			<field type="CARD16" name="subpixel_order" />	<!-- enum SubPixel (from Render) -->
+			<field type="CARD16" name="subpixel_order" enum="SubPixel" />
 			<pad bytes="10" />
 		</reply>
 	</request>
 	
 	<!-- opcode 3 is obsolete -->
 
-	<enum name="SetConfig">
-		<item name="Success"><value>0</value></item>
-		<item name="InvalidConfigTime"><value>1</value></item>
-		<item name="InvalidTime"><value>2</value></item>
-		<item name="Failed"><value>3</value></item>
+	<enum name="NotifyMask" >
+		<item name="ScreenChange">  <bit>0</bit></item>
+		<!-- new in 1.2 -->
+		<item name="CrtcChange">    <bit>1</bit></item>
+		<item name="OutputChange">  <bit>2</bit></item>
+		<item name="OutputProperty"><bit>3</bit></item>
 	</enum>
 
 	<request name="SelectInput" opcode="4">	
 		<field type="WINDOW" name="window" />
-		<field type="CARD16" name="enable" />  <!-- enum SetConfig -->
+		<field type="CARD16" name="enable" mask="NotifyMask" />
 		<pad bytes="2" />
 	</request>
 
@@ -123,13 +132,13 @@ authorization from the authors.
 	<request name="GetScreenInfo" opcode="5">
 		<field type="WINDOW" name="window" />
 		<reply>
-			<field type="CARD8" name="rotations" />
+			<field type="CARD8" name="rotations" mask="Rotation" />
 			<field type="WINDOW" name="root" />
 			<field type="TIMESTAMP" name="timestamp" />
 			<field type="TIMESTAMP" name="config_timestamp" />
 			<field type="CARD16" name="nSizes" />
 			<field type="CARD16" name="sizeID" />
-			<field type="CARD16" name="rotation" />
+			<field type="CARD16" name="rotation" mask="Rotation" />
 			<field type="CARD16" name="rate" />
 			<field type="CARD16" name="nInfo" />
 			<pad bytes="2" />
@@ -198,7 +207,7 @@ authorization from the authors.
 		<field type="CARD16" name="vsync_end" />
 		<field type="CARD16" name="vtotal" />
 		<field type="CARD16" name="name_len" />
-		<field type="CARD32" name="mode_flags" />	<!-- enum ModeFlag -->
+		<field type="CARD32" name="mode_flags" mask="ModeFlag" />
 		<!-- the mode name itself -->
 	</struct>
 
@@ -242,13 +251,13 @@ authorization from the authors.
 		<field type="OUTPUT" name="output" />
 		<field type="TIMESTAMP" name="config_timestamp" />
 		<reply>
-			<field type="CARD8" name="status" />	<!-- enum SetConfig -->
+			<field type="CARD8" name="status" enum="SetConfig" />
 			<field type="TIMESTAMP" name="timestamp" />
 			<field type="CRTC" name="crtc" />
 			<field type="CARD32" name="mm_width" />  <!-- millimeters -->
 			<field type="CARD32" name="mm_height" />
-			<field type="CARD8" name="connection" /> <!-- enum Connection -->
-			<field type="CARD8" name="subpixel_order" /> <!-- enum SubPixel (from Render) -->
+			<field type="CARD8" name="connection" enum="Connection" />
+			<field type="CARD8" name="subpixel_order" enum="SubPixel" />
 			<field type="CARD16" name="num_crtcs" />
 			<field type="CARD16" name="num_modes" />
 			<field type="CARD16" name="num_preferred" />
@@ -310,7 +319,7 @@ authorization from the authors.
 		<field type="ATOM" name="property" />
 		<field type="ATOM" name="type" />
 		<field type="CARD8" name="format" />
-		<field type="CARD8" name="mode" />
+		<field type="CARD8" name="mode" enum="PropMode" />
 		<pad bytes="2" />
 		<field type="CARD32" name="num_units" />
 		<list type="void" name="data">
@@ -333,7 +342,7 @@ authorization from the authors.
 	<request name="GetOutputProperty" opcode="15">
 		<field type="OUTPUT" name="output" />
 		<field type="ATOM" name="property" />
-		<field type="ATOM" name="type" />
+		<field type="ATOM" name="type" altenum="GetPropertyType" />
 		<field type="CARD32" name="long_offset" />
 		<field type="CARD32" name="long_length" />
 		<field type="BOOL" name="delete" />
@@ -341,7 +350,7 @@ authorization from the authors.
 		<pad bytes="2" />
 		<reply>
 			<field type="CARD8" name="format" />
-			<field type="ATOM" name="type" />
+			<field type="ATOM" name="type" altenum="Atom" />
 			<field type="CARD32" name="bytes_after" />
 			<field type="CARD32" name="num_items" />
 			<pad bytes="12" />
@@ -387,15 +396,15 @@ authorization from the authors.
 		<field type="CRTC" name="crtc" />
 		<field type="TIMESTAMP" name="config_timestamp" />
 		<reply>
-			<field type="CARD8" name="status" />	<!-- enum SetConfig -->
+			<field type="CARD8" name="status" enum="SetConfig" />
 			<field type="TIMESTAMP" name="timestamp" />
 			<field type="INT16" name="x" />
 			<field type="INT16" name="y" />
 			<field type="CARD16" name="width" />
 			<field type="CARD16" name="height" />
 			<field type="MODE" name="mode" />
-			<field type="CARD16" name="rotation" />		<!-- enum Rotation -->
-			<field type="CARD16" name="rotations" />	<!-- mask of enum Rotation -->
+			<field type="CARD16" name="rotation" mask="Rotation" />
+			<field type="CARD16" name="rotations" mask="Rotation" />
 			<field type="CARD16" name="num_outputs" />
 			<field type="CARD16" name="num_possible_outputs" />
 			<list type="OUTPUT" name="outputs">
@@ -414,11 +423,11 @@ authorization from the authors.
 		<field type="INT16" name="x" />
 		<field type="INT16" name="y" />
 		<field type="MODE" name="mode" />
-		<field type="CARD16" name="rotation" />		<!-- enum Rotation -->
+		<field type="CARD16" name="rotation" mask="Rotation" />
 		<pad bytes="2" />
 		<list type="OUTPUT" name="outputs" />
 		<reply>
-			<field type="CARD8" name="status" />	<!-- enum SetConfig -->
+			<field type="CARD8" name="status" enum="SetConfig" />
 			<field type="TIMESTAMP" name="timestamp" />
 			<pad bytes="20" />
 		</reply>
@@ -468,22 +477,14 @@ authorization from the authors.
 
 	<!-- Events -->
 
-	<enum name="NotifyMask" >
-		<item name="ScreenChange">  <bit>0</bit></item>
-		<!-- new in 1.2 -->
-		<item name="CrtcChange">    <bit>1</bit></item>
-		<item name="OutputChange">  <bit>2</bit></item>
-		<item name="OutputProperty"><bit>3</bit></item>
-	</enum>
-	
 	<event name="ScreenChangeNotify" number="0">
-		<field type="CARD8" name="rotation" />
+		<field type="CARD8" name="rotation" mask="Rotation" />
 		<field type="TIMESTAMP" name="timestamp" />
 		<field type="TIMESTAMP" name="config_timestamp" />
 		<field type="WINDOW" name="root" />
 		<field type="WINDOW" name="request_window" />
 		<field type="CARD16" name="sizeID" />
-		<field type="CARD16" name="subpixel_order" />	<!-- enum SubPixel (from Render) -->
+		<field type="CARD16" name="subpixel_order" enum="SubPixel" />
 		<field type="CARD16" name="width" />
 		<field type="CARD16" name="height" />
 		<field type="CARD16" name="mwidth" />
@@ -504,7 +505,7 @@ authorization from the authors.
 		<field type="WINDOW" name="window" />
 		<field type="CRTC" name="crtc" />
 		<field type="MODE" name="mode" />
-		<field type="CARD16" name="rotation" />		<!-- enum Rotation -->
+		<field type="CARD16" name="rotation" mask="Rotation" />
 		<pad bytes="2" />
 		<field type="INT16" name="x" />
 		<field type="INT16" name="y" />
@@ -519,9 +520,9 @@ authorization from the authors.
 		<field type="OUTPUT" name="output" />
 		<field type="CRTC" name="crtc" />
 		<field type="MODE" name="mode" />
-		<field type="CARD16" name="rotation" />		<!-- enum Rotation -->
-		<field type="CARD8" name="connection" />	<!-- enum Connection -->
-		<field type="CARD8" name="subpixel_order" />	<!-- enum SubPixel (from Render) -->
+		<field type="CARD16" name="rotation" mask="Rotation" />
+		<field type="CARD8" name="connection" enum="Connection" />
+		<field type="CARD8" name="subpixel_order" enum="SubPixel" />
 	</struct>
 
 	<struct name="OutputProperty">
@@ -529,7 +530,7 @@ authorization from the authors.
 		<field type="OUTPUT" name="output" />
 		<field type="ATOM" name="atom" />
 		<field type="TIMESTAMP" name="timestamp" />
-		<field type="CARD8" name="status" />		<!-- core enum Property -->
+		<field type="CARD8" name="status" enum="Property" />
 		<pad bytes="11" />
 	</struct>
 
@@ -540,7 +541,7 @@ authorization from the authors.
 	</union>
 
 	<event name="Notify" number="1">
-		<field type="CARD8" name="subCode" />		<!-- enum Notify -->
+		<field type="CARD8" name="subCode" enum="Notify" />
 		<field type="NotifyData" name="u" />
 	</event>
 </xcb>
commit b4ca142b367768c694d1fbff2a34f5a2745eb2cc
Author: Peter Harris <pharris at opentext.com>
Date:   Fri Mar 6 11:34:11 2009 -0500

    Add enum references to fields in DPMS
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/dpms.xml b/src/dpms.xml
index 8e84b2d..0c2ac20 100644
--- a/src/dpms.xml
+++ b/src/dpms.xml
@@ -65,14 +65,21 @@ authorization from the authors.
 
   <request name="Disable" opcode="5" />
 
+  <enum name="DPMSMode">
+    <item name="On" />
+    <item name="Standby" />
+    <item name="Suspend" />
+    <item name="Off" />
+  </enum>
+
   <request name="ForceLevel" opcode="6">
-    <field type="CARD16" name="power_level" />
+    <field type="CARD16" name="power_level" enum="DPMSMode" />
   </request>
 
   <request name="Info" opcode="7">
     <reply>
       <pad bytes="1" />
-      <field type="CARD16" name="power_level" />
+      <field type="CARD16" name="power_level" enum="DPMSMode" />
       <field type="BOOL" name="state" />
       <pad bytes="21" />
     </reply>
commit 727ae3b3d3b0987fc2db3eca4658872717d2c605
Author: Peter Harris <pharris at opentext.com>
Date:   Fri Mar 6 11:20:17 2009 -0500

    Add enum references to fields in Damage
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/damage.xml b/src/damage.xml
index 378e3ac..9c5cde5 100644
--- a/src/damage.xml
+++ b/src/damage.xml
@@ -57,7 +57,7 @@ authorization from the authors.
   <request name="Create" opcode="1">
     <field type="DAMAGE"   name="damage" />
     <field type="DRAWABLE" name="drawable" />
-    <field type="CARD8"    name="level" /> <!-- ReportLevel -->
+    <field type="CARD8"    name="level" enum="ReportLevel" />
     <pad bytes="3" />
   </request>
 
@@ -67,8 +67,8 @@ authorization from the authors.
 
   <request name="Subtract" opcode="3">
     <field type="DAMAGE" name="damage" />
-    <field type="REGION" name="repair" />
-    <field type="REGION" name="parts" />
+    <field type="REGION" name="repair" altenum="Region" />
+    <field type="REGION" name="parts" altenum="Region" />
   </request>
 
   <request name="Add" opcode="4">
@@ -77,7 +77,7 @@ authorization from the authors.
   </request>
 
   <event name="Notify" number="0">
-    <field type="CARD8"     name="level" /> <!-- ReportLevel -->
+    <field type="CARD8"     name="level" enum="ReportLevel" />
     <field type="DRAWABLE"  name="drawable" />
     <field type="DAMAGE"    name="damage" />
     <field type="TIMESTAMP" name="timestamp" />
commit 80af10abf4bad56e9956020870df10a5b0de38ab
Author: Peter Harris <pharris at opentext.com>
Date:   Fri Mar 6 11:20:09 2009 -0500

    Add enum references to fields in XFIXES
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/xfixes.xml b/src/xfixes.xml
index fc34a60..f6b0623 100644
--- a/src/xfixes.xml
+++ b/src/xfixes.xml
@@ -59,9 +59,9 @@ authorization from the authors.
   </enum>
 
   <request name="ChangeSaveSet" opcode="1">
-    <field type="BYTE" name="mode" />   <!-- SaveSetMode -->
-    <field type="BYTE" name="target" /> <!-- SaveSetTarget -->
-    <field type="BYTE" name="map" />    <!-- SaveSetMapping -->
+    <field type="BYTE" name="mode"   enum="SaveSetMode" />
+    <field type="BYTE" name="target" enum="SaveSetTarget" />
+    <field type="BYTE" name="map"    enum="SaveSetMapping" />
     <pad bytes="1" />
     <field type="WINDOW" name="window" />
   </request>
@@ -79,7 +79,7 @@ authorization from the authors.
   </enum>
 
   <event name="SelectionNotify" number="0">
-    <field type="CARD8"     name="subtype" /> <!-- SelectionEvent -->
+    <field type="CARD8"     name="subtype" enum="SelectionEvent" />
     <field type="WINDOW"    name="window" />
     <field type="WINDOW"    name="owner" />
     <field type="ATOM"      name="selection" />
@@ -91,7 +91,7 @@ authorization from the authors.
   <request name="SelectSelectionInput" opcode="2">
     <field type="WINDOW" name="window" />
     <field type="ATOM"   name="selection" />
-    <field type="CARD32" name="event_mask" /> <!-- SelectionEventMask -->
+    <field type="CARD32" name="event_mask" mask="SelectionEventMask" />
   </request>
 
   <enum name="CursorNotify">
@@ -103,17 +103,17 @@ authorization from the authors.
   </enum>
 
   <event name="CursorNotify" number="1">
-    <field type="CARD8"     name="subtype" /> <!-- CursorNotify -->
+    <field type="CARD8"     name="subtype" enum="CursorNotify" />
     <field type="WINDOW"    name="window" />
     <field type="CARD32"    name="cursor_serial" />
     <field type="TIMESTAMP" name="timestamp" />
-    <field type="ATOM"      name="name" /> <!-- Added in version 2 -->
+    <field type="ATOM"      name="name" altenum="Atom" /> <!-- Added in version 2 -->
     <pad bytes="12" />
   </event>
 
   <request name="SelectCursorInput" opcode="3">
     <field type="WINDOW" name="window" />
-    <field type="CARD32" name="event_mask" /> <!-- CursorNotifyMask -->
+    <field type="CARD32" name="event_mask" mask="CursorNotifyMask" />
   </request>
 
   <request name="GetCursorImage" opcode="4">
@@ -142,6 +142,10 @@ authorization from the authors.
 
   <error name="BadRegion" number="0" />
 
+  <enum name="Region">
+    <item name="None" />
+  </enum>
+
   <request name="CreateRegion" opcode="5">
     <field type="REGION"    name="region" />
     <list  type="RECTANGLE" name="rectangles" />
@@ -155,7 +159,7 @@ authorization from the authors.
   <request name="CreateRegionFromWindow" opcode="7">
     <field type="REGION"     name="region" />
     <field type="WINDOW"     name="window" />
-    <field type="shape:KIND" name="kind" />
+    <field type="shape:KIND" name="kind"   enum="SK" />
     <pad bytes="3" />
   </request>
 
@@ -232,23 +236,23 @@ authorization from the authors.
 
   <request name="SetGCClipRegion" opcode="20">
     <field type="GCONTEXT" name="gc" />
-    <field type="REGION"   name="region" />
+    <field type="REGION"   name="region" altenum="Region" />
     <field type="INT16"    name="x_origin" />
     <field type="INT16"    name="y_origin" />
   </request>
 
   <request name="SetWindowShapeRegion" opcode="21">
     <field type="WINDOW"     name="dest" />
-    <field type="shape:KIND" name="dest_kind" />
+    <field type="shape:KIND" name="dest_kind" enum="SK" />
     <pad bytes="3" />
     <field type="INT16"      name="x_offset" />
     <field type="INT16"      name="y_offset" />
-    <field type="REGION"     name="region" />
+    <field type="REGION"     name="region" altenum="Region" />
   </request>
 
   <request name="SetPictureClipRegion" opcode="22">
     <field type="PICTURE" name="picture" />
-    <field type="REGION"  name="region" />
+    <field type="REGION"  name="region" altenum="Region" />
     <field type="INT16"   name="x_origin" />
     <field type="INT16"   name="y_origin" />
   </request>
@@ -264,7 +268,7 @@ authorization from the authors.
     <field type="CURSOR" name="cursor" />
     <reply>
       <pad bytes="1" />
-      <field type="ATOM"   name="atom" />
+      <field type="ATOM"   name="atom" altenum="Atom" />
       <field type="CARD16" name="nbytes" />
       <pad bytes="18" />
       <list  type="char"   name="name"><fieldref>nbytes</fieldref></list>
@@ -281,7 +285,7 @@ authorization from the authors.
       <field type="CARD16" name="xhot" />
       <field type="CARD16" name="yhot" />
       <field type="CARD32" name="cursor_serial" />
-      <field type="ATOM"   name="cursor_atom" />
+      <field type="ATOM"   name="cursor_atom" altenum="Atom" />
       <field type="CARD16" name="nbytes" />
       <pad bytes="2" />
       <list  type="char"   name="name"><fieldref>nbytes</fieldref></list>
commit 091c0caeec5ddd92a44ba2436e16609420316b48
Author: Peter Harris <pharris at opentext.com>
Date:   Fri Mar 6 10:44:10 2009 -0500

    Add enum references to fields in Composite
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/composite.xml b/src/composite.xml
index 3f3a4b1..d16b6e7 100644
--- a/src/composite.xml
+++ b/src/composite.xml
@@ -49,25 +49,25 @@ authorization from the authors.
 
   <request name="RedirectWindow" opcode="1">
     <field type="WINDOW" name="window" />
-    <field type="CARD8" name="update" />
+    <field type="CARD8" name="update" enum="Redirect" />
     <pad bytes="3" />
   </request>
 
   <request name="RedirectSubwindows" opcode="2">
     <field type="WINDOW" name="window" />
-    <field type="CARD8" name="update" />
+    <field type="CARD8" name="update" enum="Redirect" />
     <pad bytes="3" />
   </request>
 
   <request name="UnredirectWindow" opcode="3">
     <field type="WINDOW" name="window" />
-    <field type="CARD8" name="update" />
+    <field type="CARD8" name="update" enum="Redirect" />
     <pad bytes="3" />
   </request>
 
   <request name="UnredirectSubwindows" opcode="4">
     <field type="WINDOW" name="window" />
-    <field type="CARD8" name="update" />
+    <field type="CARD8" name="update" enum="Redirect" />
     <pad bytes="3" />
   </request>
 
commit 33e4c1ce67a3d7f12a891f396f48cb576fc83477
Author: Peter Harris <pharris at opentext.com>
Date:   Thu Mar 5 18:26:21 2009 -0500

    Add enum references to fields in Shape
    
    Signed-off-by: Peter Harris <pharris at opentext.com>

diff --git a/src/shape.xml b/src/shape.xml
index d832460..8d76de8 100644
--- a/src/shape.xml
+++ b/src/shape.xml
@@ -49,7 +49,7 @@ authorization from the authors.
   </enum>
 
   <event name="Notify" number="0">
-    <field type="KIND" name="shape_kind" />
+    <field type="KIND" name="shape_kind" enum="SK" />
     <field type="WINDOW" name="affected_window" />
     <field type="INT16" name="extents_x" />
     <field type="INT16" name="extents_y" />
@@ -69,9 +69,9 @@ authorization from the authors.
   </request>
 
   <request name="Rectangles" opcode="1">
-    <field type="OP" name="operation" />
-    <field type="KIND" name="destination_kind" />
-    <field type="BYTE" name="ordering" />
+    <field type="OP" name="operation" enum="SO" />
+    <field type="KIND" name="destination_kind" enum="SK" />
+    <field type="BYTE" name="ordering" enum="ClipOrdering" />
     <pad bytes="1" />
     <field type="WINDOW" name="destination_window" />
     <field type="INT16" name="x_offset" />
@@ -80,19 +80,19 @@ authorization from the authors.
   </request>
 
   <request name="Mask" opcode="2">
-    <field type="OP" name="operation" />
-    <field type="KIND" name="destination_kind" />
+    <field type="OP" name="operation" enum="SO" />
+    <field type="KIND" name="destination_kind" enum="SK" />
     <pad bytes="2" />
     <field type="WINDOW" name="destination_window" />
     <field type="INT16" name="x_offset" />
     <field type="INT16" name="y_offset" />
-    <field type="PIXMAP" name="source_bitmap" />
+    <field type="PIXMAP" name="source_bitmap" altenum="Pixmap" />
   </request>
 
   <request name="Combine" opcode="3">
-    <field type="OP" name="operation" />
-    <field type="KIND" name="destination_kind" />
-    <field type="KIND" name="source_kind" />
+    <field type="OP" name="operation" enum="SO" />
+    <field type="KIND" name="destination_kind" enum="SK" />
+    <field type="KIND" name="source_kind" enum="SK" />
     <pad bytes="1" />
     <field type="WINDOW" name="destination_window" />
     <field type="INT16" name="x_offset" />
@@ -101,7 +101,7 @@ authorization from the authors.
   </request>
 
   <request name="Offset" opcode="4">
-    <field type="KIND" name="destination_kind" />
+    <field type="KIND" name="destination_kind" enum="SK" />
     <pad bytes="3" />
     <field type="WINDOW" name="destination_window" />
     <field type="INT16" name="x_offset" />
@@ -141,10 +141,10 @@ authorization from the authors.
 
   <request name="GetRectangles" opcode="8">
     <field type="WINDOW" name="window" />
-    <field type="KIND" name="source_kind" />
+    <field type="KIND" name="source_kind" enum="SK" />
     <pad bytes="3" />
     <reply>
-      <field type="BYTE" name="ordering" />
+      <field type="BYTE" name="ordering" enum="ClipOrdering" />
       <field type="CARD32" name="rectangles_len" />
       <list type="RECTANGLE" name="rectangles">
         <fieldref>rectangles_len</fieldref>


More information about the xcb-commit mailing list