xv: Add align. pad in struct AdaptorInfo
[free-sw/xcb/proto] / src / sync.xml
index d90c714..23175cb 100644 (file)
@@ -5,29 +5,31 @@ All Rights Reserved.  See the file COPYING in this directory
 for licensing information.
 -->
 <xcb header="sync" extension-xname="SYNC" extension-name="Sync"
-    major-version="3" minor-version="0">
+    major-version="3" minor-version="1">
   <import>xproto</import>
 
   <xidtype name="ALARM" />
 
   <enum name="ALARMSTATE">
-    <item name="Active" />
-    <item name="Inactive" />
-    <item name="Destroyed" />
+    <item name="Active">    <value>0</value> </item>
+    <item name="Inactive">  <value>1</value> </item>
+    <item name="Destroyed"> <value>2</value> </item>
   </enum>
 
   <xidtype name="COUNTER" />
 
+  <xidtype name="FENCE" />
+
   <enum name="TESTTYPE">
-    <item name="PositiveTransition" />
-    <item name="NegativeTransition" />
-    <item name="PositiveComparison" />
-    <item name="NegativeComparison" />
+    <item name="PositiveTransition"> <value>0</value> </item>
+    <item name="NegativeTransition"> <value>1</value> </item>
+    <item name="PositiveComparison"> <value>2</value> </item>
+    <item name="NegativeComparison"> <value>3</value> </item>
   </enum>
 
   <enum name="VALUETYPE">
-    <item name="Absolute" />
-    <item name="Relative" />
+    <item name="Absolute"> <value>0</value> </item>
+    <item name="Relative"> <value>1</value> </item>
   </enum>
 
   <enum name="CA">
@@ -46,23 +48,23 @@ for licensing information.
 
   <struct name="SYSTEMCOUNTER">
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="resolution" />
+    <field type="sync:INT64" name="resolution" />
     <field type="CARD16" name="name_len" />
-    <list type="CARD8" name="name">
+    <list type="char" name="name">
       <fieldref>name_len</fieldref>
     </list>
   </struct>
 
   <struct name="TRIGGER">
     <field type="COUNTER" name="counter" />
-    <field type="CARD32" name="wait_type" />
-    <field type="INT64" name="wait_value" />
-    <field type="CARD32" name="test_type" />
+    <field type="CARD32" name="wait_type" enum="VALUETYPE" />
+    <field type="sync:INT64" name="wait_value" />
+    <field type="CARD32" name="test_type" enum="TESTTYPE" />
   </struct>
 
   <struct name="WAITCONDITION">
     <field type="TRIGGER" name="trigger" />
-    <field type="INT64" name="event_threshold" />
+    <field type="sync:INT64" name="event_threshold" />
   </struct>
 
   <error name="Counter" number="0">
@@ -101,7 +103,7 @@ for licensing information.
 
   <request name="CreateCounter" opcode="2">
     <field type="COUNTER" name="id" />
-    <field type="INT64" name="initial_value" />
+    <field type="sync:INT64" name="initial_value" />
   </request>
 
   <request name="DestroyCounter" opcode="6">
@@ -112,7 +114,7 @@ for licensing information.
     <field type="COUNTER" name="counter" />
     <reply>
       <pad bytes="1" />
-      <field type="INT64" name="counter_value" />
+      <field type="sync:INT64" name="counter_value" />
     </reply>
   </request>
 
@@ -122,26 +124,76 @@ for licensing information.
 
   <request name="ChangeCounter" opcode="4">
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="amount" />
+    <field type="sync:INT64" name="amount" />
   </request>
 
   <request name="SetCounter" opcode="3">
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="value" />
+    <field type="sync:INT64" name="value" />
   </request>
 
   <request name="CreateAlarm" opcode="8">
     <field type="ALARM" name="id" />
-    <valueparam value-mask-type="CARD32"
-                value-mask-name="value_mask"
-                value-list-name="value_list" />
+    <field type="CARD32" name="value_mask" mask="CA" />
+    <switch name="value_list">
+      <fieldref>value_mask</fieldref>
+      <bitcase>
+        <enumref ref="CA">Counter</enumref>
+        <field type="COUNTER" name="counter" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">ValueType</enumref>
+        <field type="CARD32" name="valueType" enum="VALUETYPE" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">Value</enumref>
+        <field type="sync:INT64" name="value" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">TestType</enumref>
+        <field type="CARD32" name="testType" enum="TESTTYPE" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">Delta</enumref>
+        <field type="sync:INT64" name="delta" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">Events</enumref>
+        <field type="CARD32" name="events" />
+      </bitcase>
+    </switch>
   </request>
 
   <request name="ChangeAlarm" opcode="9">
     <field type="ALARM" name="id" />
-    <valueparam value-mask-type="CARD32"
-                value-mask-name="value_mask"
-                value-list-name="value_list" />
+    <field type="CARD32" name="value_mask" mask="CA" />
+    <switch name="value_list">
+      <fieldref>value_mask</fieldref>
+      <bitcase>
+        <enumref ref="CA">Counter</enumref>
+        <field type="COUNTER" name="counter" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">ValueType</enumref>
+        <field type="CARD32" name="valueType" enum="VALUETYPE" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">Value</enumref>
+        <field type="sync:INT64" name="value" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">TestType</enumref>
+        <field type="CARD32" name="testType" enum="TESTTYPE" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">Delta</enumref>
+        <field type="sync:INT64" name="delta" />
+      </bitcase>
+      <bitcase>
+        <enumref ref="CA">Events</enumref>
+        <field type="CARD32" name="events" />
+      </bitcase>
+    </switch>
   </request>
 
   <request name="DestroyAlarm" opcode="11">
@@ -153,9 +205,9 @@ for licensing information.
     <reply>
       <pad bytes="1" />
       <field type="TRIGGER" name="trigger" />
-      <field type="INT64" name="delta" />
+      <field type="sync: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>
@@ -173,11 +225,42 @@ for licensing information.
     </reply>
   </request>
 
+  <request name="CreateFence" opcode="14">
+    <field type="DRAWABLE" name="drawable" />
+    <field type="FENCE" name="fence" />
+    <field type="BOOL" name="initially_triggered" />
+  </request>
+
+  <request name="TriggerFence" opcode="15">
+    <field type="FENCE" name="fence" />
+  </request>
+
+  <request name="ResetFence" opcode="16">
+    <field type="FENCE" name="fence" />
+  </request>
+
+  <request name="DestroyFence" opcode="17">
+    <field type="FENCE" name="fence" />
+  </request>
+
+  <request name="QueryFence" opcode="18">
+    <field type="FENCE" name="fence" />
+    <reply>
+      <pad bytes="1" />
+      <field type="BOOL" name="triggered" />
+      <pad bytes="23" />
+    </reply>
+  </request>
+
+  <request name="AwaitFence" opcode="19">
+    <list type="FENCE" name="fence_list" />
+  </request>
+
   <event name="CounterNotify" number="0">
     <field type="CARD8" name="kind" />
     <field type="COUNTER" name="counter" />
-    <field type="INT64" name="wait_value" />
-    <field type="INT64" name="counter_value" />
+    <field type="sync:INT64" name="wait_value" />
+    <field type="sync:INT64" name="counter_value" />
     <field type="TIMESTAMP" name="timestamp" />
     <field type="CARD16" name="count" />
     <field type="BOOL" name="destroyed" />
@@ -187,8 +270,10 @@ for licensing information.
   <event name="AlarmNotify" number="1">
     <field type="CARD8" name="kind" />
     <field type="ALARM" name="alarm" />
-    <field type="INT64" name="counter_value" />
-    <field type="INT64" name="alarm_value" />
+    <field type="sync:INT64" name="counter_value" />
+    <field type="sync:INT64" name="alarm_value" />
     <field type="TIMESTAMP" name="timestamp" />
+    <field type="CARD8" name="state" enum="ALARMSTATE" />
+    <pad bytes="3" />
   </event>
 </xcb>