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