xinput: UngrabDevice-request: add pad at end
[free-sw/xcb/proto] / src / sync.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!--
3 Copyright (C) 2004 Mikko Torni and Josh Triplett.
4 All Rights Reserved.  See the file COPYING in this directory
5 for licensing information.
6 -->
7 <xcb header="sync" extension-xname="SYNC" extension-name="Sync"
8     major-version="3" minor-version="1">
9   <import>xproto</import>
10
11   <xidtype name="ALARM" />
12
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>
17   </enum>
18
19   <xidtype name="COUNTER" />
20
21   <xidtype name="FENCE" />
22
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>
28   </enum>
29
30   <enum name="VALUETYPE">
31     <item name="Absolute"> <value>0</value> </item>
32     <item name="Relative"> <value>1</value> </item>
33   </enum>
34
35   <enum name="CA">
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>
42   </enum>
43
44   <struct name="INT64">
45     <field type="INT32" name="hi" />
46     <field type="CARD32" name="lo" />
47   </struct>
48
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>
55     </list>
56   </struct>
57
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" />
63   </struct>
64
65   <struct name="WAITCONDITION">
66     <field type="TRIGGER" name="trigger" />
67     <field type="sync:INT64" name="event_threshold" />
68   </struct>
69
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" />
74   </error>
75
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" />
80   </error>
81     
82   <request name="Initialize" opcode="0">
83     <field type="CARD8" name="desired_major_version" />
84     <field type="CARD8" name="desired_minor_version" />
85     <reply>
86       <pad bytes="1" />
87       <field type="CARD8" name="major_version" />
88       <field type="CARD8" name="minor_version" />
89       <pad bytes="22" />
90     </reply>
91   </request>
92
93   <request name="ListSystemCounters" opcode="1">
94     <reply>
95       <pad bytes="1" />
96       <field type="CARD32" name="counters_len" />
97       <pad bytes="20" />
98       <list type="SYSTEMCOUNTER" name="counters">
99         <fieldref>counters_len</fieldref>
100       </list>
101     </reply>
102   </request>
103
104   <request name="CreateCounter" opcode="2">
105     <field type="COUNTER" name="id" />
106     <field type="sync:INT64" name="initial_value" />
107   </request>
108
109   <request name="DestroyCounter" opcode="6">
110     <field type="COUNTER" name="counter" />
111   </request>
112
113   <request name="QueryCounter" opcode="5">
114     <field type="COUNTER" name="counter" />
115     <reply>
116       <pad bytes="1" />
117       <field type="sync:INT64" name="counter_value" />
118     </reply>
119   </request>
120
121   <request name="Await" opcode="7">
122     <list type="WAITCONDITION" name="wait_list" />
123   </request>
124
125   <request name="ChangeCounter" opcode="4">
126     <field type="COUNTER" name="counter" />
127     <field type="sync:INT64" name="amount" />
128   </request>
129
130   <request name="SetCounter" opcode="3">
131     <field type="COUNTER" name="counter" />
132     <field type="sync:INT64" name="value" />
133   </request>
134
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>
140       <bitcase>
141         <enumref ref="CA">Counter</enumref>
142         <field type="COUNTER" name="counter" />
143       </bitcase>
144       <bitcase>
145         <enumref ref="CA">ValueType</enumref>
146         <field type="CARD32" name="valueType" enum="VALUETYPE" />
147       </bitcase>
148       <bitcase>
149         <enumref ref="CA">Value</enumref>
150         <field type="sync:INT64" name="value" />
151       </bitcase>
152       <bitcase>
153         <enumref ref="CA">TestType</enumref>
154         <field type="CARD32" name="testType" enum="TESTTYPE" />
155       </bitcase>
156       <bitcase>
157         <enumref ref="CA">Delta</enumref>
158         <field type="sync:INT64" name="delta" />
159       </bitcase>
160       <bitcase>
161         <enumref ref="CA">Events</enumref>
162         <field type="CARD32" name="events" />
163       </bitcase>
164     </switch>
165   </request>
166
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>
172       <bitcase>
173         <enumref ref="CA">Counter</enumref>
174         <field type="COUNTER" name="counter" />
175       </bitcase>
176       <bitcase>
177         <enumref ref="CA">ValueType</enumref>
178         <field type="CARD32" name="valueType" enum="VALUETYPE" />
179       </bitcase>
180       <bitcase>
181         <enumref ref="CA">Value</enumref>
182         <field type="sync:INT64" name="value" />
183       </bitcase>
184       <bitcase>
185         <enumref ref="CA">TestType</enumref>
186         <field type="CARD32" name="testType" enum="TESTTYPE" />
187       </bitcase>
188       <bitcase>
189         <enumref ref="CA">Delta</enumref>
190         <field type="sync:INT64" name="delta" />
191       </bitcase>
192       <bitcase>
193         <enumref ref="CA">Events</enumref>
194         <field type="CARD32" name="events" />
195       </bitcase>
196     </switch>
197   </request>
198
199   <request name="DestroyAlarm" opcode="11">
200     <field type="ALARM" name="alarm" />
201   </request>
202
203   <request name="QueryAlarm" opcode="10">
204     <field type="ALARM" name="alarm" />
205     <reply>
206       <pad bytes="1" />
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" />
211       <pad bytes="2" />
212     </reply>
213   </request>
214
215   <request name="SetPriority" opcode="12">
216     <field type="CARD32" name="id" />
217     <field type="INT32" name="priority" />
218   </request>
219     
220   <request name="GetPriority" opcode="13">
221     <field type="CARD32" name="id" />
222     <reply>
223       <pad bytes="1" />
224       <field type="INT32" name="priority" />
225     </reply>
226   </request>
227
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" />
232   </request>
233
234   <request name="TriggerFence" opcode="15">
235     <field type="FENCE" name="fence" />
236   </request>
237
238   <request name="ResetFence" opcode="16">
239     <field type="FENCE" name="fence" />
240   </request>
241
242   <request name="DestroyFence" opcode="17">
243     <field type="FENCE" name="fence" />
244   </request>
245
246   <request name="QueryFence" opcode="18">
247     <field type="FENCE" name="fence" />
248     <reply>
249       <pad bytes="1" />
250       <field type="BOOL" name="triggered" />
251       <pad bytes="23" />
252     </reply>
253   </request>
254
255   <request name="AwaitFence" opcode="19">
256     <list type="FENCE" name="fence_list" />
257   </request>
258
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" />
267     <pad bytes="1" />
268   </event>
269
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" />
277     <pad bytes="3" />
278   </event>
279 </xcb>