1 <?xml version="1.0" encoding="utf-8"?>
3 Copyright (C) 2004 Mikko Torni and Josh Triplett.
4 All Rights Reserved. See the file COPYING in this directory
5 for licensing information.
7 <xcb header="sync" extension-xname="SYNC" extension-name="Sync"
8 major-version="3" minor-version="1">
9 <import>xproto</import>
11 <xidtype name="ALARM" />
13 <enum name="ALARMSTATE">
14 <item name="Active"> <value>0</value> </item>
15 <item name="Inactive"> <value>1</value> </item>
16 <item name="Destroyed"> <value>2</value> </item>
19 <xidtype name="COUNTER" />
21 <xidtype name="FENCE" />
23 <enum name="TESTTYPE">
24 <item name="PositiveTransition"> <value>0</value> </item>
25 <item name="NegativeTransition"> <value>1</value> </item>
26 <item name="PositiveComparison"> <value>2</value> </item>
27 <item name="NegativeComparison"> <value>3</value> </item>
30 <enum name="VALUETYPE">
31 <item name="Absolute"> <value>0</value> </item>
32 <item name="Relative"> <value>1</value> </item>
36 <item name="Counter"> <bit>0</bit></item>
37 <item name="ValueType"><bit>1</bit></item>
38 <item name="Value"> <bit>2</bit></item>
39 <item name="TestType"> <bit>3</bit></item>
40 <item name="Delta"> <bit>4</bit></item>
41 <item name="Events"> <bit>5</bit></item>
45 <field type="INT32" name="hi" />
46 <field type="CARD32" name="lo" />
49 <struct name="SYSTEMCOUNTER">
50 <field type="COUNTER" name="counter" />
51 <field type="sync:INT64" name="resolution" />
52 <field type="CARD16" name="name_len" />
53 <list type="char" name="name">
54 <fieldref>name_len</fieldref>
58 <struct name="TRIGGER">
59 <field type="COUNTER" name="counter" />
60 <field type="CARD32" name="wait_type" enum="VALUETYPE" />
61 <field type="sync:INT64" name="wait_value" />
62 <field type="CARD32" name="test_type" enum="TESTTYPE" />
65 <struct name="WAITCONDITION">
66 <field type="TRIGGER" name="trigger" />
67 <field type="sync:INT64" name="event_threshold" />
70 <error name="Counter" number="0">
71 <field type="CARD32" name="bad_counter" />
72 <field type="CARD16" name="minor_opcode" />
73 <field type="CARD8" name="major_opcode" />
76 <error name="Alarm" number="1">
77 <field type="CARD32" name="bad_alarm" />
78 <field type="CARD16" name="minor_opcode" />
79 <field type="CARD8" name="major_opcode" />
82 <request name="Initialize" opcode="0">
83 <field type="CARD8" name="desired_major_version" />
84 <field type="CARD8" name="desired_minor_version" />
87 <field type="CARD8" name="major_version" />
88 <field type="CARD8" name="minor_version" />
93 <request name="ListSystemCounters" opcode="1">
96 <field type="CARD32" name="counters_len" />
98 <list type="SYSTEMCOUNTER" name="counters">
99 <fieldref>counters_len</fieldref>
104 <request name="CreateCounter" opcode="2">
105 <field type="COUNTER" name="id" />
106 <field type="sync:INT64" name="initial_value" />
109 <request name="DestroyCounter" opcode="6">
110 <field type="COUNTER" name="counter" />
113 <request name="QueryCounter" opcode="5">
114 <field type="COUNTER" name="counter" />
117 <field type="sync:INT64" name="counter_value" />
121 <request name="Await" opcode="7">
122 <list type="WAITCONDITION" name="wait_list" />
125 <request name="ChangeCounter" opcode="4">
126 <field type="COUNTER" name="counter" />
127 <field type="sync:INT64" name="amount" />
130 <request name="SetCounter" opcode="3">
131 <field type="COUNTER" name="counter" />
132 <field type="sync:INT64" name="value" />
135 <request name="CreateAlarm" opcode="8">
136 <field type="ALARM" name="id" />
137 <field type="CARD32" name="value_mask" mask="CA" />
138 <switch name="value_list">
139 <fieldref>value_mask</fieldref>
141 <enumref ref="CA">Counter</enumref>
142 <field type="COUNTER" name="counter" />
145 <enumref ref="CA">ValueType</enumref>
146 <field type="CARD32" name="valueType" enum="VALUETYPE" />
149 <enumref ref="CA">Value</enumref>
150 <field type="sync:INT64" name="value" />
153 <enumref ref="CA">TestType</enumref>
154 <field type="CARD32" name="testType" enum="TESTTYPE" />
157 <enumref ref="CA">Delta</enumref>
158 <field type="sync:INT64" name="delta" />
161 <enumref ref="CA">Events</enumref>
162 <field type="CARD32" name="events" />
167 <request name="ChangeAlarm" opcode="9">
168 <field type="ALARM" name="id" />
169 <field type="CARD32" name="value_mask" mask="CA" />
170 <switch name="value_list">
171 <fieldref>value_mask</fieldref>
173 <enumref ref="CA">Counter</enumref>
174 <field type="COUNTER" name="counter" />
177 <enumref ref="CA">ValueType</enumref>
178 <field type="CARD32" name="valueType" enum="VALUETYPE" />
181 <enumref ref="CA">Value</enumref>
182 <field type="sync:INT64" name="value" />
185 <enumref ref="CA">TestType</enumref>
186 <field type="CARD32" name="testType" enum="TESTTYPE" />
189 <enumref ref="CA">Delta</enumref>
190 <field type="sync:INT64" name="delta" />
193 <enumref ref="CA">Events</enumref>
194 <field type="CARD32" name="events" />
199 <request name="DestroyAlarm" opcode="11">
200 <field type="ALARM" name="alarm" />
203 <request name="QueryAlarm" opcode="10">
204 <field type="ALARM" name="alarm" />
207 <field type="TRIGGER" name="trigger" />
208 <field type="sync:INT64" name="delta" />
209 <field type="BOOL" name="events" />
210 <field type="CARD8" name="state" enum="ALARMSTATE" />
215 <request name="SetPriority" opcode="12">
216 <field type="CARD32" name="id" />
217 <field type="INT32" name="priority" />
220 <request name="GetPriority" opcode="13">
221 <field type="CARD32" name="id" />
224 <field type="INT32" name="priority" />
228 <request name="CreateFence" opcode="14">
229 <field type="DRAWABLE" name="drawable" />
230 <field type="FENCE" name="fence" />
231 <field type="BOOL" name="initially_triggered" />
234 <request name="TriggerFence" opcode="15">
235 <field type="FENCE" name="fence" />
238 <request name="ResetFence" opcode="16">
239 <field type="FENCE" name="fence" />
242 <request name="DestroyFence" opcode="17">
243 <field type="FENCE" name="fence" />
246 <request name="QueryFence" opcode="18">
247 <field type="FENCE" name="fence" />
250 <field type="BOOL" name="triggered" />
255 <request name="AwaitFence" opcode="19">
256 <list type="FENCE" name="fence_list" />
259 <event name="CounterNotify" number="0">
260 <field type="CARD8" name="kind" />
261 <field type="COUNTER" name="counter" />
262 <field type="sync:INT64" name="wait_value" />
263 <field type="sync:INT64" name="counter_value" />
264 <field type="TIMESTAMP" name="timestamp" />
265 <field type="CARD16" name="count" />
266 <field type="BOOL" name="destroyed" />
270 <event name="AlarmNotify" number="1">
271 <field type="CARD8" name="kind" />
272 <field type="ALARM" name="alarm" />
273 <field type="sync:INT64" name="counter_value" />
274 <field type="sync:INT64" name="alarm_value" />
275 <field type="TIMESTAMP" name="timestamp" />
276 <field type="CARD8" name="state" enum="ALARMSTATE" />