support name attribute for bitcases and set BitcaseType.has_name accordingly
[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="0">
9   <import>xproto</import>
10
11   <xidtype name="ALARM" />
12
13   <enum name="ALARMSTATE">
14     <item name="Active" />
15     <item name="Inactive" />
16     <item name="Destroyed" />
17   </enum>
18
19   <xidtype name="COUNTER" />
20
21   <enum name="TESTTYPE">
22     <item name="PositiveTransition" />
23     <item name="NegativeTransition" />
24     <item name="PositiveComparison" />
25     <item name="NegativeComparison" />
26   </enum>
27
28   <enum name="VALUETYPE">
29     <item name="Absolute" />
30     <item name="Relative" />
31   </enum>
32
33   <enum name="CA">
34     <item name="Counter">  <bit>0</bit></item>
35     <item name="ValueType"><bit>1</bit></item>
36     <item name="Value">    <bit>2</bit></item>
37     <item name="TestType"> <bit>3</bit></item>
38     <item name="Delta">    <bit>4</bit></item>
39     <item name="Events">   <bit>5</bit></item>
40   </enum>
41
42   <struct name="INT64">
43     <field type="INT32" name="hi" />
44     <field type="CARD32" name="lo" />
45   </struct>
46
47   <struct name="SYSTEMCOUNTER">
48     <field type="COUNTER" name="counter" />
49     <field type="INT64" name="resolution" />
50     <field type="CARD16" name="name_len" />
51     <list type="char" name="name">
52       <fieldref>name_len</fieldref>
53     </list>
54   </struct>
55
56   <struct name="TRIGGER">
57     <field type="COUNTER" name="counter" />
58     <field type="CARD32" name="wait_type" enum="VALUETYPE" />
59     <field type="INT64" name="wait_value" />
60     <field type="CARD32" name="test_type" enum="TESTTYPE" />
61   </struct>
62
63   <struct name="WAITCONDITION">
64     <field type="TRIGGER" name="trigger" />
65     <field type="INT64" name="event_threshold" />
66   </struct>
67
68   <error name="Counter" number="0">
69     <field type="CARD32" name="bad_counter" />
70     <field type="CARD16" name="minor_opcode" />
71     <field type="CARD8" name="major_opcode" />
72   </error>
73
74   <error name="Alarm" number="1">
75     <field type="CARD32" name="bad_alarm" />
76     <field type="CARD16" name="minor_opcode" />
77     <field type="CARD8" name="major_opcode" />
78   </error>
79     
80   <request name="Initialize" opcode="0">
81     <field type="CARD8" name="desired_major_version" />
82     <field type="CARD8" name="desired_minor_version" />
83     <reply>
84       <pad bytes="1" />
85       <field type="CARD8" name="major_version" />
86       <field type="CARD8" name="minor_version" />
87       <pad bytes="22" />
88     </reply>
89   </request>
90
91   <request name="ListSystemCounters" opcode="1">
92     <reply>
93       <pad bytes="1" />
94       <field type="CARD32" name="counters_len" />
95       <pad bytes="20" />
96       <list type="SYSTEMCOUNTER" name="counters">
97         <fieldref>counters_len</fieldref>
98       </list>
99     </reply>
100   </request>
101
102   <request name="CreateCounter" opcode="2">
103     <field type="COUNTER" name="id" />
104     <field type="INT64" name="initial_value" />
105   </request>
106
107   <request name="DestroyCounter" opcode="6">
108     <field type="COUNTER" name="counter" />
109   </request>
110
111   <request name="QueryCounter" opcode="5">
112     <field type="COUNTER" name="counter" />
113     <reply>
114       <pad bytes="1" />
115       <field type="INT64" name="counter_value" />
116     </reply>
117   </request>
118
119   <request name="Await" opcode="7">
120     <list type="WAITCONDITION" name="wait_list" />
121   </request>
122
123   <request name="ChangeCounter" opcode="4">
124     <field type="COUNTER" name="counter" />
125     <field type="INT64" name="amount" />
126   </request>
127
128   <request name="SetCounter" opcode="3">
129     <field type="COUNTER" name="counter" />
130     <field type="INT64" name="value" />
131   </request>
132
133   <request name="CreateAlarm" opcode="8">
134     <field type="ALARM" name="id" />
135     <valueparam value-mask-type="CARD32"
136                 value-mask-name="value_mask"
137                 value-list-name="value_list" />
138   </request>
139
140   <request name="ChangeAlarm" opcode="9">
141     <field type="ALARM" name="id" />
142     <valueparam value-mask-type="CARD32"
143                 value-mask-name="value_mask"
144                 value-list-name="value_list" />
145   </request>
146
147   <request name="DestroyAlarm" opcode="11">
148     <field type="ALARM" name="alarm" />
149   </request>
150
151   <request name="QueryAlarm" opcode="10">
152     <field type="ALARM" name="alarm" />
153     <reply>
154       <pad bytes="1" />
155       <field type="TRIGGER" name="trigger" />
156       <field type="INT64" name="delta" />
157       <field type="BOOL" name="events" />
158       <field type="CARD8" name="state" enum="ALARMSTATE" />
159       <pad bytes="2" />
160     </reply>
161   </request>
162
163   <request name="SetPriority" opcode="12">
164     <field type="CARD32" name="id" />
165     <field type="INT32" name="priority" />
166   </request>
167     
168   <request name="GetPriority" opcode="13">
169     <field type="CARD32" name="id" />
170     <reply>
171       <pad bytes="1" />
172       <field type="INT32" name="priority" />
173     </reply>
174   </request>
175
176   <event name="CounterNotify" number="0">
177     <field type="CARD8" name="kind" />
178     <field type="COUNTER" name="counter" />
179     <field type="INT64" name="wait_value" />
180     <field type="INT64" name="counter_value" />
181     <field type="TIMESTAMP" name="timestamp" />
182     <field type="CARD16" name="count" />
183     <field type="BOOL" name="destroyed" />
184     <pad bytes="1" />
185   </event>
186
187   <event name="AlarmNotify" number="1">
188     <field type="CARD8" name="kind" />
189     <field type="ALARM" name="alarm" />
190     <field type="INT64" name="counter_value" />
191     <field type="INT64" name="alarm_value" />
192     <field type="TIMESTAMP" name="timestamp" />
193     <field type="CARD8" name="state" enum="ALARMSTATE" />
194     <pad bytes="3" />
195   </event>
196 </xcb>