1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3Copyright (C) 2004 Mikko Torni and Josh Triplett. 4All Rights Reserved. See the file COPYING in this directory 5for 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 <pad align="4" /> 57 </struct> 58 59 <struct name="TRIGGER"> 60 <field type="COUNTER" name="counter" /> 61 <field type="CARD32" name="wait_type" enum="VALUETYPE" /> 62 <field type="sync:INT64" name="wait_value" /> 63 <field type="CARD32" name="test_type" enum="TESTTYPE" /> 64 </struct> 65 66 <struct name="WAITCONDITION"> 67 <field type="TRIGGER" name="trigger" /> 68 <field type="sync:INT64" name="event_threshold" /> 69 </struct> 70 71 <error name="Counter" number="0"> 72 <field type="CARD32" name="bad_counter" /> 73 <field type="CARD16" name="minor_opcode" /> 74 <field type="CARD8" name="major_opcode" /> 75 </error> 76 77 <error name="Alarm" number="1"> 78 <field type="CARD32" name="bad_alarm" /> 79 <field type="CARD16" name="minor_opcode" /> 80 <field type="CARD8" name="major_opcode" /> 81 </error> 82 83 <request name="Initialize" opcode="0"> 84 <field type="CARD8" name="desired_major_version" /> 85 <field type="CARD8" name="desired_minor_version" /> 86 <reply> 87 <pad bytes="1" /> 88 <field type="CARD8" name="major_version" /> 89 <field type="CARD8" name="minor_version" /> 90 <pad bytes="22" /> 91 </reply> 92 </request> 93 94 <request name="ListSystemCounters" opcode="1"> 95 <reply> 96 <pad bytes="1" /> 97 <field type="CARD32" name="counters_len" /> 98 <pad bytes="20" /> 99 <list type="SYSTEMCOUNTER" name="counters"> 100 <fieldref>counters_len</fieldref> 101 </list> 102 </reply> 103 </request> 104 105 <request name="CreateCounter" opcode="2"> 106 <field type="COUNTER" name="id" /> 107 <field type="sync:INT64" name="initial_value" /> 108 </request> 109 110 <request name="DestroyCounter" opcode="6"> 111 <field type="COUNTER" name="counter" /> 112 </request> 113 114 <request name="QueryCounter" opcode="5"> 115 <field type="COUNTER" name="counter" /> 116 <reply> 117 <pad bytes="1" /> 118 <field type="sync:INT64" name="counter_value" /> 119 </reply> 120 </request> 121 122 <request name="Await" opcode="7"> 123 <list type="WAITCONDITION" name="wait_list" /> 124 </request> 125 126 <request name="ChangeCounter" opcode="4"> 127 <field type="COUNTER" name="counter" /> 128 <field type="sync:INT64" name="amount" /> 129 </request> 130 131 <request name="SetCounter" opcode="3"> 132 <field type="COUNTER" name="counter" /> 133 <field type="sync:INT64" name="value" /> 134 </request> 135 136 <request name="CreateAlarm" opcode="8"> 137 <field type="ALARM" name="id" /> 138 <field type="CARD32" name="value_mask" mask="CA" /> 139 <switch name="value_list"> 140 <fieldref>value_mask</fieldref> 141 <bitcase> 142 <enumref ref="CA">Counter</enumref> 143 <field type="COUNTER" name="counter" /> 144 </bitcase> 145 <bitcase> 146 <enumref ref="CA">ValueType</enumref> 147 <field type="CARD32" name="valueType" enum="VALUETYPE" /> 148 </bitcase> 149 <bitcase> 150 <enumref ref="CA">Value</enumref> 151 <field type="sync:INT64" name="value" /> 152 </bitcase> 153 <bitcase> 154 <enumref ref="CA">TestType</enumref> 155 <field type="CARD32" name="testType" enum="TESTTYPE" /> 156 </bitcase> 157 <bitcase> 158 <enumref ref="CA">Delta</enumref> 159 <field type="sync:INT64" name="delta" /> 160 </bitcase> 161 <bitcase> 162 <enumref ref="CA">Events</enumref> 163 <field type="CARD32" name="events" /> 164 </bitcase> 165 </switch> 166 </request> 167 168 <request name="ChangeAlarm" opcode="9"> 169 <field type="ALARM" name="id" /> 170 <field type="CARD32" name="value_mask" mask="CA" /> 171 <switch name="value_list"> 172 <fieldref>value_mask</fieldref> 173 <bitcase> 174 <enumref ref="CA">Counter</enumref> 175 <field type="COUNTER" name="counter" /> 176 </bitcase> 177 <bitcase> 178 <enumref ref="CA">ValueType</enumref> 179 <field type="CARD32" name="valueType" enum="VALUETYPE" /> 180 </bitcase> 181 <bitcase> 182 <enumref ref="CA">Value</enumref> 183 <field type="sync:INT64" name="value" /> 184 </bitcase> 185 <bitcase> 186 <enumref ref="CA">TestType</enumref> 187 <field type="CARD32" name="testType" enum="TESTTYPE" /> 188 </bitcase> 189 <bitcase> 190 <enumref ref="CA">Delta</enumref> 191 <field type="sync:INT64" name="delta" /> 192 </bitcase> 193 <bitcase> 194 <enumref ref="CA">Events</enumref> 195 <field type="CARD32" name="events" /> 196 </bitcase> 197 </switch> 198 </request> 199 200 <request name="DestroyAlarm" opcode="11"> 201 <field type="ALARM" name="alarm" /> 202 </request> 203 204 <request name="QueryAlarm" opcode="10"> 205 <field type="ALARM" name="alarm" /> 206 <reply> 207 <pad bytes="1" /> 208 <field type="TRIGGER" name="trigger" /> 209 <field type="sync:INT64" name="delta" /> 210 <field type="BOOL" name="events" /> 211 <field type="CARD8" name="state" enum="ALARMSTATE" /> 212 <pad bytes="2" /> 213 </reply> 214 </request> 215 216 <request name="SetPriority" opcode="12"> 217 <field type="CARD32" name="id" /> 218 <field type="INT32" name="priority" /> 219 </request> 220 221 <request name="GetPriority" opcode="13"> 222 <field type="CARD32" name="id" /> 223 <reply> 224 <pad bytes="1" /> 225 <field type="INT32" name="priority" /> 226 </reply> 227 </request> 228 229 <request name="CreateFence" opcode="14"> 230 <field type="DRAWABLE" name="drawable" /> 231 <field type="FENCE" name="fence" /> 232 <field type="BOOL" name="initially_triggered" /> 233 </request> 234 235 <request name="TriggerFence" opcode="15"> 236 <field type="FENCE" name="fence" /> 237 </request> 238 239 <request name="ResetFence" opcode="16"> 240 <field type="FENCE" name="fence" /> 241 </request> 242 243 <request name="DestroyFence" opcode="17"> 244 <field type="FENCE" name="fence" /> 245 </request> 246 247 <request name="QueryFence" opcode="18"> 248 <field type="FENCE" name="fence" /> 249 <reply> 250 <pad bytes="1" /> 251 <field type="BOOL" name="triggered" /> 252 <pad bytes="23" /> 253 </reply> 254 </request> 255 256 <request name="AwaitFence" opcode="19"> 257 <list type="FENCE" name="fence_list" /> 258 </request> 259 260 <event name="CounterNotify" number="0"> 261 <field type="CARD8" name="kind" /> 262 <field type="COUNTER" name="counter" /> 263 <field type="sync:INT64" name="wait_value" /> 264 <field type="sync:INT64" name="counter_value" /> 265 <field type="TIMESTAMP" name="timestamp" /> 266 <field type="CARD16" name="count" /> 267 <field type="BOOL" name="destroyed" /> 268 <pad bytes="1" /> 269 </event> 270 271 <event name="AlarmNotify" number="1"> 272 <field type="CARD8" name="kind" /> 273 <field type="ALARM" name="alarm" /> 274 <field type="sync:INT64" name="counter_value" /> 275 <field type="sync:INT64" name="alarm_value" /> 276 <field type="TIMESTAMP" name="timestamp" /> 277 <field type="CARD8" name="state" enum="ALARMSTATE" /> 278 <pad bytes="3" /> 279 </event> 280</xcb> 281