1 /*
2  * This file generated automatically from sync.xml by d_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Sync_API XCB Sync API
8  * @brief Sync XCB Protocol Implementation.
9  * @{
10  **/
11 
12 module xcb.sync;
13 
14 import xcb.xcb;
15 import xcb.xproto;
16 
17 extern (C):
18 
19 enum int XCB_SYNC_MAJOR_VERSION = 3;
20 enum int XCB_SYNC_MINOR_VERSION = 1;
21 
22 extern (C) __gshared extern xcb_extension_t xcb_sync_id;
23 
24 alias xcb_sync_alarm_t = uint;
25 
26 /**
27  * @brief xcb_sync_alarm_iterator_t
28  **/
29 struct xcb_sync_alarm_iterator_t {
30 	xcb_sync_alarm_t* data; /**<  */
31 	int rem; /**<  */
32 	int index; /**<  */
33 }
34 
35 enum xcb_sync_alarmstate_t {
36 	XCB_SYNC_ALARMSTATE_ACTIVE = 0,
37 	XCB_SYNC_ALARMSTATE_INACTIVE = 1,
38 	XCB_SYNC_ALARMSTATE_DESTROYED = 2
39 }
40 
41 alias XCB_SYNC_ALARMSTATE_ACTIVE = xcb_sync_alarmstate_t.XCB_SYNC_ALARMSTATE_ACTIVE;
42 alias XCB_SYNC_ALARMSTATE_INACTIVE = xcb_sync_alarmstate_t.XCB_SYNC_ALARMSTATE_INACTIVE;
43 alias XCB_SYNC_ALARMSTATE_DESTROYED = xcb_sync_alarmstate_t.XCB_SYNC_ALARMSTATE_DESTROYED;
44 
45 alias xcb_sync_counter_t = uint;
46 
47 /**
48  * @brief xcb_sync_counter_iterator_t
49  **/
50 struct xcb_sync_counter_iterator_t {
51 	xcb_sync_counter_t* data; /**<  */
52 	int rem; /**<  */
53 	int index; /**<  */
54 }
55 
56 alias xcb_sync_fence_t = uint;
57 
58 /**
59  * @brief xcb_sync_fence_iterator_t
60  **/
61 struct xcb_sync_fence_iterator_t {
62 	xcb_sync_fence_t* data; /**<  */
63 	int rem; /**<  */
64 	int index; /**<  */
65 }
66 
67 enum xcb_sync_testtype_t {
68 	XCB_SYNC_TESTTYPE_POSITIVE_TRANSITION = 0,
69 	XCB_SYNC_TESTTYPE_NEGATIVE_TRANSITION = 1,
70 	XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON = 2,
71 	XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON = 3
72 }
73 
74 alias XCB_SYNC_TESTTYPE_POSITIVE_TRANSITION = xcb_sync_testtype_t.XCB_SYNC_TESTTYPE_POSITIVE_TRANSITION;
75 alias XCB_SYNC_TESTTYPE_NEGATIVE_TRANSITION = xcb_sync_testtype_t.XCB_SYNC_TESTTYPE_NEGATIVE_TRANSITION;
76 alias XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON = xcb_sync_testtype_t.XCB_SYNC_TESTTYPE_POSITIVE_COMPARISON;
77 alias XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON = xcb_sync_testtype_t.XCB_SYNC_TESTTYPE_NEGATIVE_COMPARISON;
78 
79 enum xcb_sync_valuetype_t {
80 	XCB_SYNC_VALUETYPE_ABSOLUTE = 0,
81 	XCB_SYNC_VALUETYPE_RELATIVE = 1
82 }
83 
84 alias XCB_SYNC_VALUETYPE_ABSOLUTE = xcb_sync_valuetype_t.XCB_SYNC_VALUETYPE_ABSOLUTE;
85 alias XCB_SYNC_VALUETYPE_RELATIVE = xcb_sync_valuetype_t.XCB_SYNC_VALUETYPE_RELATIVE;
86 
87 enum xcb_sync_ca_t {
88 	XCB_SYNC_CA_COUNTER = 1,
89 	XCB_SYNC_CA_VALUE_TYPE = 2,
90 	XCB_SYNC_CA_VALUE = 4,
91 	XCB_SYNC_CA_TEST_TYPE = 8,
92 	XCB_SYNC_CA_DELTA = 16,
93 	XCB_SYNC_CA_EVENTS = 32
94 }
95 
96 alias XCB_SYNC_CA_COUNTER = xcb_sync_ca_t.XCB_SYNC_CA_COUNTER;
97 alias XCB_SYNC_CA_VALUE_TYPE = xcb_sync_ca_t.XCB_SYNC_CA_VALUE_TYPE;
98 alias XCB_SYNC_CA_VALUE = xcb_sync_ca_t.XCB_SYNC_CA_VALUE;
99 alias XCB_SYNC_CA_TEST_TYPE = xcb_sync_ca_t.XCB_SYNC_CA_TEST_TYPE;
100 alias XCB_SYNC_CA_DELTA = xcb_sync_ca_t.XCB_SYNC_CA_DELTA;
101 alias XCB_SYNC_CA_EVENTS = xcb_sync_ca_t.XCB_SYNC_CA_EVENTS;
102 
103 /**
104  * @brief xcb_sync_int64_t
105  **/
106 struct xcb_sync_int64_t {
107 	int hi; /**<  */
108 	uint lo; /**<  */
109 }
110 
111 /**
112  * @brief xcb_sync_int64_iterator_t
113  **/
114 struct xcb_sync_int64_iterator_t {
115 	xcb_sync_int64_t* data; /**<  */
116 	int rem; /**<  */
117 	int index; /**<  */
118 }
119 
120 /**
121  * @brief xcb_sync_systemcounter_t
122  **/
123 struct xcb_sync_systemcounter_t {
124 	xcb_sync_counter_t counter; /**<  */
125 	xcb_sync_int64_t resolution; /**<  */
126 	ushort name_len; /**<  */
127 }
128 
129 /**
130  * @brief xcb_sync_systemcounter_iterator_t
131  **/
132 struct xcb_sync_systemcounter_iterator_t {
133 	xcb_sync_systemcounter_t* data; /**<  */
134 	int rem; /**<  */
135 	int index; /**<  */
136 }
137 
138 /**
139  * @brief xcb_sync_trigger_t
140  **/
141 struct xcb_sync_trigger_t {
142 	xcb_sync_counter_t counter; /**<  */
143 	uint wait_type; /**<  */
144 	xcb_sync_int64_t wait_value; /**<  */
145 	uint test_type; /**<  */
146 }
147 
148 /**
149  * @brief xcb_sync_trigger_iterator_t
150  **/
151 struct xcb_sync_trigger_iterator_t {
152 	xcb_sync_trigger_t* data; /**<  */
153 	int rem; /**<  */
154 	int index; /**<  */
155 }
156 
157 /**
158  * @brief xcb_sync_waitcondition_t
159  **/
160 struct xcb_sync_waitcondition_t {
161 	xcb_sync_trigger_t trigger; /**<  */
162 	xcb_sync_int64_t event_threshold; /**<  */
163 }
164 
165 /**
166  * @brief xcb_sync_waitcondition_iterator_t
167  **/
168 struct xcb_sync_waitcondition_iterator_t {
169 	xcb_sync_waitcondition_t* data; /**<  */
170 	int rem; /**<  */
171 	int index; /**<  */
172 }
173 
174 /** Opcode for xcb_sync_counter. */
175 enum XCB_SYNC_COUNTER = 0;
176 
177 /**
178  * @brief xcb_sync_counter_error_t
179  **/
180 struct xcb_sync_counter_error_t {
181 	ubyte response_type; /**<  */
182 	ubyte error_code; /**<  */
183 	ushort sequence; /**<  */
184 	uint bad_counter; /**<  */
185 	ushort minor_opcode; /**<  */
186 	ubyte major_opcode; /**<  */
187 }
188 
189 /** Opcode for xcb_sync_alarm. */
190 enum XCB_SYNC_ALARM = 1;
191 
192 /**
193  * @brief xcb_sync_alarm_error_t
194  **/
195 struct xcb_sync_alarm_error_t {
196 	ubyte response_type; /**<  */
197 	ubyte error_code; /**<  */
198 	ushort sequence; /**<  */
199 	uint bad_alarm; /**<  */
200 	ushort minor_opcode; /**<  */
201 	ubyte major_opcode; /**<  */
202 }
203 
204 /**
205  * @brief xcb_sync_initialize_cookie_t
206  **/
207 struct xcb_sync_initialize_cookie_t {
208 	uint sequence; /**<  */
209 }
210 
211 /** Opcode for xcb_sync_initialize. */
212 enum XCB_SYNC_INITIALIZE = 0;
213 
214 /**
215  * @brief xcb_sync_initialize_request_t
216  **/
217 struct xcb_sync_initialize_request_t {
218 	ubyte major_opcode; /**<  */
219 	ubyte minor_opcode; /**<  */
220 	ushort length; /**<  */
221 	ubyte desired_major_version; /**<  */
222 	ubyte desired_minor_version; /**<  */
223 }
224 
225 /**
226  * @brief xcb_sync_initialize_reply_t
227  **/
228 struct xcb_sync_initialize_reply_t {
229 	ubyte response_type; /**<  */
230 	ubyte pad0; /**<  */
231 	ushort sequence; /**<  */
232 	uint length; /**<  */
233 	ubyte major_version; /**<  */
234 	ubyte minor_version; /**<  */
235 	ubyte[22] pad1; /**<  */
236 }
237 
238 /**
239  * @brief xcb_sync_list_system_counters_cookie_t
240  **/
241 struct xcb_sync_list_system_counters_cookie_t {
242 	uint sequence; /**<  */
243 }
244 
245 /** Opcode for xcb_sync_list_system_counters. */
246 enum XCB_SYNC_LIST_SYSTEM_COUNTERS = 1;
247 
248 /**
249  * @brief xcb_sync_list_system_counters_request_t
250  **/
251 struct xcb_sync_list_system_counters_request_t {
252 	ubyte major_opcode; /**<  */
253 	ubyte minor_opcode; /**<  */
254 	ushort length; /**<  */
255 }
256 
257 /**
258  * @brief xcb_sync_list_system_counters_reply_t
259  **/
260 struct xcb_sync_list_system_counters_reply_t {
261 	ubyte response_type; /**<  */
262 	ubyte pad0; /**<  */
263 	ushort sequence; /**<  */
264 	uint length; /**<  */
265 	uint counters_len; /**<  */
266 	ubyte[20] pad1; /**<  */
267 }
268 
269 /** Opcode for xcb_sync_create_counter. */
270 enum XCB_SYNC_CREATE_COUNTER = 2;
271 
272 /**
273  * @brief xcb_sync_create_counter_request_t
274  **/
275 struct xcb_sync_create_counter_request_t {
276 	ubyte major_opcode; /**<  */
277 	ubyte minor_opcode; /**<  */
278 	ushort length; /**<  */
279 	xcb_sync_counter_t id; /**<  */
280 	xcb_sync_int64_t initial_value; /**<  */
281 }
282 
283 /** Opcode for xcb_sync_destroy_counter. */
284 enum XCB_SYNC_DESTROY_COUNTER = 6;
285 
286 /**
287  * @brief xcb_sync_destroy_counter_request_t
288  **/
289 struct xcb_sync_destroy_counter_request_t {
290 	ubyte major_opcode; /**<  */
291 	ubyte minor_opcode; /**<  */
292 	ushort length; /**<  */
293 	xcb_sync_counter_t counter; /**<  */
294 }
295 
296 /**
297  * @brief xcb_sync_query_counter_cookie_t
298  **/
299 struct xcb_sync_query_counter_cookie_t {
300 	uint sequence; /**<  */
301 }
302 
303 /** Opcode for xcb_sync_query_counter. */
304 enum XCB_SYNC_QUERY_COUNTER = 5;
305 
306 /**
307  * @brief xcb_sync_query_counter_request_t
308  **/
309 struct xcb_sync_query_counter_request_t {
310 	ubyte major_opcode; /**<  */
311 	ubyte minor_opcode; /**<  */
312 	ushort length; /**<  */
313 	xcb_sync_counter_t counter; /**<  */
314 }
315 
316 /**
317  * @brief xcb_sync_query_counter_reply_t
318  **/
319 struct xcb_sync_query_counter_reply_t {
320 	ubyte response_type; /**<  */
321 	ubyte pad0; /**<  */
322 	ushort sequence; /**<  */
323 	uint length; /**<  */
324 	xcb_sync_int64_t counter_value; /**<  */
325 }
326 
327 /** Opcode for xcb_sync_await. */
328 enum XCB_SYNC_AWAIT = 7;
329 
330 /**
331  * @brief xcb_sync_await_request_t
332  **/
333 struct xcb_sync_await_request_t {
334 	ubyte major_opcode; /**<  */
335 	ubyte minor_opcode; /**<  */
336 	ushort length; /**<  */
337 }
338 
339 /** Opcode for xcb_sync_change_counter. */
340 enum XCB_SYNC_CHANGE_COUNTER = 4;
341 
342 /**
343  * @brief xcb_sync_change_counter_request_t
344  **/
345 struct xcb_sync_change_counter_request_t {
346 	ubyte major_opcode; /**<  */
347 	ubyte minor_opcode; /**<  */
348 	ushort length; /**<  */
349 	xcb_sync_counter_t counter; /**<  */
350 	xcb_sync_int64_t amount; /**<  */
351 }
352 
353 /** Opcode for xcb_sync_set_counter. */
354 enum XCB_SYNC_SET_COUNTER = 3;
355 
356 /**
357  * @brief xcb_sync_set_counter_request_t
358  **/
359 struct xcb_sync_set_counter_request_t {
360 	ubyte major_opcode; /**<  */
361 	ubyte minor_opcode; /**<  */
362 	ushort length; /**<  */
363 	xcb_sync_counter_t counter; /**<  */
364 	xcb_sync_int64_t value; /**<  */
365 }
366 
367 /**
368  * @brief xcb_sync_create_alarm_value_list_t
369  **/
370 struct xcb_sync_create_alarm_value_list_t {
371 	xcb_sync_counter_t counter; /**<  */
372 	uint valueType; /**<  */
373 	xcb_sync_int64_t value; /**<  */
374 	uint testType; /**<  */
375 	xcb_sync_int64_t delta; /**<  */
376 	uint events; /**<  */
377 }
378 
379 /** Opcode for xcb_sync_create_alarm. */
380 enum XCB_SYNC_CREATE_ALARM = 8;
381 
382 /**
383  * @brief xcb_sync_create_alarm_request_t
384  **/
385 struct xcb_sync_create_alarm_request_t {
386 	ubyte major_opcode; /**<  */
387 	ubyte minor_opcode; /**<  */
388 	ushort length; /**<  */
389 	xcb_sync_alarm_t id; /**<  */
390 	uint value_mask; /**<  */
391 }
392 
393 /**
394  * @brief xcb_sync_change_alarm_value_list_t
395  **/
396 struct xcb_sync_change_alarm_value_list_t {
397 	xcb_sync_counter_t counter; /**<  */
398 	uint valueType; /**<  */
399 	xcb_sync_int64_t value; /**<  */
400 	uint testType; /**<  */
401 	xcb_sync_int64_t delta; /**<  */
402 	uint events; /**<  */
403 }
404 
405 /** Opcode for xcb_sync_change_alarm. */
406 enum XCB_SYNC_CHANGE_ALARM = 9;
407 
408 /**
409  * @brief xcb_sync_change_alarm_request_t
410  **/
411 struct xcb_sync_change_alarm_request_t {
412 	ubyte major_opcode; /**<  */
413 	ubyte minor_opcode; /**<  */
414 	ushort length; /**<  */
415 	xcb_sync_alarm_t id; /**<  */
416 	uint value_mask; /**<  */
417 }
418 
419 /** Opcode for xcb_sync_destroy_alarm. */
420 enum XCB_SYNC_DESTROY_ALARM = 11;
421 
422 /**
423  * @brief xcb_sync_destroy_alarm_request_t
424  **/
425 struct xcb_sync_destroy_alarm_request_t {
426 	ubyte major_opcode; /**<  */
427 	ubyte minor_opcode; /**<  */
428 	ushort length; /**<  */
429 	xcb_sync_alarm_t alarm; /**<  */
430 }
431 
432 /**
433  * @brief xcb_sync_query_alarm_cookie_t
434  **/
435 struct xcb_sync_query_alarm_cookie_t {
436 	uint sequence; /**<  */
437 }
438 
439 /** Opcode for xcb_sync_query_alarm. */
440 enum XCB_SYNC_QUERY_ALARM = 10;
441 
442 /**
443  * @brief xcb_sync_query_alarm_request_t
444  **/
445 struct xcb_sync_query_alarm_request_t {
446 	ubyte major_opcode; /**<  */
447 	ubyte minor_opcode; /**<  */
448 	ushort length; /**<  */
449 	xcb_sync_alarm_t alarm; /**<  */
450 }
451 
452 /**
453  * @brief xcb_sync_query_alarm_reply_t
454  **/
455 struct xcb_sync_query_alarm_reply_t {
456 	ubyte response_type; /**<  */
457 	ubyte pad0; /**<  */
458 	ushort sequence; /**<  */
459 	uint length; /**<  */
460 	xcb_sync_trigger_t trigger; /**<  */
461 	xcb_sync_int64_t delta; /**<  */
462 	ubyte events; /**<  */
463 	ubyte state; /**<  */
464 	ubyte[2] pad1; /**<  */
465 }
466 
467 /** Opcode for xcb_sync_set_priority. */
468 enum XCB_SYNC_SET_PRIORITY = 12;
469 
470 /**
471  * @brief xcb_sync_set_priority_request_t
472  **/
473 struct xcb_sync_set_priority_request_t {
474 	ubyte major_opcode; /**<  */
475 	ubyte minor_opcode; /**<  */
476 	ushort length; /**<  */
477 	uint id; /**<  */
478 	int priority; /**<  */
479 }
480 
481 /**
482  * @brief xcb_sync_get_priority_cookie_t
483  **/
484 struct xcb_sync_get_priority_cookie_t {
485 	uint sequence; /**<  */
486 }
487 
488 /** Opcode for xcb_sync_get_priority. */
489 enum XCB_SYNC_GET_PRIORITY = 13;
490 
491 /**
492  * @brief xcb_sync_get_priority_request_t
493  **/
494 struct xcb_sync_get_priority_request_t {
495 	ubyte major_opcode; /**<  */
496 	ubyte minor_opcode; /**<  */
497 	ushort length; /**<  */
498 	uint id; /**<  */
499 }
500 
501 /**
502  * @brief xcb_sync_get_priority_reply_t
503  **/
504 struct xcb_sync_get_priority_reply_t {
505 	ubyte response_type; /**<  */
506 	ubyte pad0; /**<  */
507 	ushort sequence; /**<  */
508 	uint length; /**<  */
509 	int priority; /**<  */
510 }
511 
512 /** Opcode for xcb_sync_create_fence. */
513 enum XCB_SYNC_CREATE_FENCE = 14;
514 
515 /**
516  * @brief xcb_sync_create_fence_request_t
517  **/
518 struct xcb_sync_create_fence_request_t {
519 	ubyte major_opcode; /**<  */
520 	ubyte minor_opcode; /**<  */
521 	ushort length; /**<  */
522 	xcb_drawable_t drawable; /**<  */
523 	xcb_sync_fence_t fence; /**<  */
524 	ubyte initially_triggered; /**<  */
525 }
526 
527 /** Opcode for xcb_sync_trigger_fence. */
528 enum XCB_SYNC_TRIGGER_FENCE = 15;
529 
530 /**
531  * @brief xcb_sync_trigger_fence_request_t
532  **/
533 struct xcb_sync_trigger_fence_request_t {
534 	ubyte major_opcode; /**<  */
535 	ubyte minor_opcode; /**<  */
536 	ushort length; /**<  */
537 	xcb_sync_fence_t fence; /**<  */
538 }
539 
540 /** Opcode for xcb_sync_reset_fence. */
541 enum XCB_SYNC_RESET_FENCE = 16;
542 
543 /**
544  * @brief xcb_sync_reset_fence_request_t
545  **/
546 struct xcb_sync_reset_fence_request_t {
547 	ubyte major_opcode; /**<  */
548 	ubyte minor_opcode; /**<  */
549 	ushort length; /**<  */
550 	xcb_sync_fence_t fence; /**<  */
551 }
552 
553 /** Opcode for xcb_sync_destroy_fence. */
554 enum XCB_SYNC_DESTROY_FENCE = 17;
555 
556 /**
557  * @brief xcb_sync_destroy_fence_request_t
558  **/
559 struct xcb_sync_destroy_fence_request_t {
560 	ubyte major_opcode; /**<  */
561 	ubyte minor_opcode; /**<  */
562 	ushort length; /**<  */
563 	xcb_sync_fence_t fence; /**<  */
564 }
565 
566 /**
567  * @brief xcb_sync_query_fence_cookie_t
568  **/
569 struct xcb_sync_query_fence_cookie_t {
570 	uint sequence; /**<  */
571 }
572 
573 /** Opcode for xcb_sync_query_fence. */
574 enum XCB_SYNC_QUERY_FENCE = 18;
575 
576 /**
577  * @brief xcb_sync_query_fence_request_t
578  **/
579 struct xcb_sync_query_fence_request_t {
580 	ubyte major_opcode; /**<  */
581 	ubyte minor_opcode; /**<  */
582 	ushort length; /**<  */
583 	xcb_sync_fence_t fence; /**<  */
584 }
585 
586 /**
587  * @brief xcb_sync_query_fence_reply_t
588  **/
589 struct xcb_sync_query_fence_reply_t {
590 	ubyte response_type; /**<  */
591 	ubyte pad0; /**<  */
592 	ushort sequence; /**<  */
593 	uint length; /**<  */
594 	ubyte triggered; /**<  */
595 	ubyte[23] pad1; /**<  */
596 }
597 
598 /** Opcode for xcb_sync_await_fence. */
599 enum XCB_SYNC_AWAIT_FENCE = 19;
600 
601 /**
602  * @brief xcb_sync_await_fence_request_t
603  **/
604 struct xcb_sync_await_fence_request_t {
605 	ubyte major_opcode; /**<  */
606 	ubyte minor_opcode; /**<  */
607 	ushort length; /**<  */
608 }
609 
610 /** Opcode for xcb_sync_counter_notify. */
611 enum XCB_SYNC_COUNTER_NOTIFY = 0;
612 
613 /**
614  * @brief xcb_sync_counter_notify_event_t
615  **/
616 struct xcb_sync_counter_notify_event_t {
617 	ubyte response_type; /**<  */
618 	ubyte kind; /**<  */
619 	ushort sequence; /**<  */
620 	xcb_sync_counter_t counter; /**<  */
621 	xcb_sync_int64_t wait_value; /**<  */
622 	xcb_sync_int64_t counter_value; /**<  */
623 	xcb_timestamp_t timestamp; /**<  */
624 	ushort count; /**<  */
625 	ubyte destroyed; /**<  */
626 	ubyte pad0; /**<  */
627 }
628 
629 /** Opcode for xcb_sync_alarm_notify. */
630 enum XCB_SYNC_ALARM_NOTIFY = 1;
631 
632 /**
633  * @brief xcb_sync_alarm_notify_event_t
634  **/
635 struct xcb_sync_alarm_notify_event_t {
636 	ubyte response_type; /**<  */
637 	ubyte kind; /**<  */
638 	ushort sequence; /**<  */
639 	xcb_sync_alarm_t alarm; /**<  */
640 	xcb_sync_int64_t counter_value; /**<  */
641 	xcb_sync_int64_t alarm_value; /**<  */
642 	xcb_timestamp_t timestamp; /**<  */
643 	ubyte state; /**<  */
644 	ubyte[3] pad0; /**<  */
645 }
646 
647 /**
648  * Get the next element of the iterator
649  * @param i Pointer to a xcb_sync_alarm_iterator_t
650  *
651  * Get the next element in the iterator. The member rem is
652  * decreased by one. The member data points to the next
653  * element. The member index is increased by sizeof(xcb_sync_alarm_t)
654  */
655 void xcb_sync_alarm_next(xcb_sync_alarm_iterator_t* i /**< */ );
656 
657 /**
658  * Return the iterator pointing to the last element
659  * @param i An xcb_sync_alarm_iterator_t
660  * @return  The iterator pointing to the last element
661  *
662  * Set the current element in the iterator to the last element.
663  * The member rem is set to 0. The member data points to the
664  * last element.
665  */
666 xcb_generic_iterator_t xcb_sync_alarm_end(xcb_sync_alarm_iterator_t i /**< */ );
667 
668 /**
669  * Get the next element of the iterator
670  * @param i Pointer to a xcb_sync_counter_iterator_t
671  *
672  * Get the next element in the iterator. The member rem is
673  * decreased by one. The member data points to the next
674  * element. The member index is increased by sizeof(xcb_sync_counter_t)
675  */
676 void xcb_sync_counter_next(xcb_sync_counter_iterator_t* i /**< */ );
677 
678 /**
679  * Return the iterator pointing to the last element
680  * @param i An xcb_sync_counter_iterator_t
681  * @return  The iterator pointing to the last element
682  *
683  * Set the current element in the iterator to the last element.
684  * The member rem is set to 0. The member data points to the
685  * last element.
686  */
687 xcb_generic_iterator_t xcb_sync_counter_end(xcb_sync_counter_iterator_t i /**< */ );
688 
689 /**
690  * Get the next element of the iterator
691  * @param i Pointer to a xcb_sync_fence_iterator_t
692  *
693  * Get the next element in the iterator. The member rem is
694  * decreased by one. The member data points to the next
695  * element. The member index is increased by sizeof(xcb_sync_fence_t)
696  */
697 void xcb_sync_fence_next(xcb_sync_fence_iterator_t* i /**< */ );
698 
699 /**
700  * Return the iterator pointing to the last element
701  * @param i An xcb_sync_fence_iterator_t
702  * @return  The iterator pointing to the last element
703  *
704  * Set the current element in the iterator to the last element.
705  * The member rem is set to 0. The member data points to the
706  * last element.
707  */
708 xcb_generic_iterator_t xcb_sync_fence_end(xcb_sync_fence_iterator_t i /**< */ );
709 
710 /**
711  * Get the next element of the iterator
712  * @param i Pointer to a xcb_sync_int64_iterator_t
713  *
714  * Get the next element in the iterator. The member rem is
715  * decreased by one. The member data points to the next
716  * element. The member index is increased by sizeof(xcb_sync_int64_t)
717  */
718 void xcb_sync_int64_next(xcb_sync_int64_iterator_t* i /**< */ );
719 
720 /**
721  * Return the iterator pointing to the last element
722  * @param i An xcb_sync_int64_iterator_t
723  * @return  The iterator pointing to the last element
724  *
725  * Set the current element in the iterator to the last element.
726  * The member rem is set to 0. The member data points to the
727  * last element.
728  */
729 xcb_generic_iterator_t xcb_sync_int64_end(xcb_sync_int64_iterator_t i /**< */ );
730 
731 int xcb_sync_systemcounter_sizeof(const void* _buffer /**< */ );
732 
733 char* xcb_sync_systemcounter_name(const xcb_sync_systemcounter_t* R /**< */ );
734 
735 int xcb_sync_systemcounter_name_length(const xcb_sync_systemcounter_t* R /**< */ );
736 
737 xcb_generic_iterator_t xcb_sync_systemcounter_name_end(const xcb_sync_systemcounter_t* R /**< */ );
738 
739 /**
740  * Get the next element of the iterator
741  * @param i Pointer to a xcb_sync_systemcounter_iterator_t
742  *
743  * Get the next element in the iterator. The member rem is
744  * decreased by one. The member data points to the next
745  * element. The member index is increased by sizeof(xcb_sync_systemcounter_t)
746  */
747 void xcb_sync_systemcounter_next(xcb_sync_systemcounter_iterator_t* i /**< */ );
748 
749 /**
750  * Return the iterator pointing to the last element
751  * @param i An xcb_sync_systemcounter_iterator_t
752  * @return  The iterator pointing to the last element
753  *
754  * Set the current element in the iterator to the last element.
755  * The member rem is set to 0. The member data points to the
756  * last element.
757  */
758 xcb_generic_iterator_t xcb_sync_systemcounter_end(xcb_sync_systemcounter_iterator_t i /**< */ );
759 
760 /**
761  * Get the next element of the iterator
762  * @param i Pointer to a xcb_sync_trigger_iterator_t
763  *
764  * Get the next element in the iterator. The member rem is
765  * decreased by one. The member data points to the next
766  * element. The member index is increased by sizeof(xcb_sync_trigger_t)
767  */
768 void xcb_sync_trigger_next(xcb_sync_trigger_iterator_t* i /**< */ );
769 
770 /**
771  * Return the iterator pointing to the last element
772  * @param i An xcb_sync_trigger_iterator_t
773  * @return  The iterator pointing to the last element
774  *
775  * Set the current element in the iterator to the last element.
776  * The member rem is set to 0. The member data points to the
777  * last element.
778  */
779 xcb_generic_iterator_t xcb_sync_trigger_end(xcb_sync_trigger_iterator_t i /**< */ );
780 
781 /**
782  * Get the next element of the iterator
783  * @param i Pointer to a xcb_sync_waitcondition_iterator_t
784  *
785  * Get the next element in the iterator. The member rem is
786  * decreased by one. The member data points to the next
787  * element. The member index is increased by sizeof(xcb_sync_waitcondition_t)
788  */
789 void xcb_sync_waitcondition_next(xcb_sync_waitcondition_iterator_t* i /**< */ );
790 
791 /**
792  * Return the iterator pointing to the last element
793  * @param i An xcb_sync_waitcondition_iterator_t
794  * @return  The iterator pointing to the last element
795  *
796  * Set the current element in the iterator to the last element.
797  * The member rem is set to 0. The member data points to the
798  * last element.
799  */
800 xcb_generic_iterator_t xcb_sync_waitcondition_end(xcb_sync_waitcondition_iterator_t i /**< */ );
801 
802 /**
803  *
804  * @param c The connection
805  * @return A cookie
806  *
807  * Delivers a request to the X server.
808  *
809  */
810 xcb_sync_initialize_cookie_t xcb_sync_initialize(xcb_connection_t* c /**< */ , ubyte desired_major_version /**< */ ,
811 	ubyte desired_minor_version /**< */ );
812 
813 /**
814  *
815  * @param c The connection
816  * @return A cookie
817  *
818  * Delivers a request to the X server.
819  *
820  * This form can be used only if the request will cause
821  * a reply to be generated. Any returned error will be
822  * placed in the event queue.
823  */
824 xcb_sync_initialize_cookie_t xcb_sync_initialize_unchecked(xcb_connection_t* c /**< */ , ubyte desired_major_version /**< */ ,
825 	ubyte desired_minor_version /**< */ );
826 
827 /**
828  * Return the reply
829  * @param c      The connection
830  * @param cookie The cookie
831  * @param e      The xcb_generic_error_t supplied
832  *
833  * Returns the reply of the request asked by
834  *
835  * The parameter @p e supplied to this function must be NULL if
836  * xcb_sync_initialize_unchecked(). is used.
837  * Otherwise, it stores the error if any.
838  *
839  * The returned value must be freed by the caller using free().
840  */
841 xcb_sync_initialize_reply_t* xcb_sync_initialize_reply(xcb_connection_t* c /**< */ , xcb_sync_initialize_cookie_t cookie /**< */ ,
842 	xcb_generic_error_t** e /**< */ );
843 
844 int xcb_sync_list_system_counters_sizeof(const void* _buffer /**< */ );
845 
846 /**
847  *
848  * @param c The connection
849  * @return A cookie
850  *
851  * Delivers a request to the X server.
852  *
853  */
854 xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters(xcb_connection_t* c /**< */ );
855 
856 /**
857  *
858  * @param c The connection
859  * @return A cookie
860  *
861  * Delivers a request to the X server.
862  *
863  * This form can be used only if the request will cause
864  * a reply to be generated. Any returned error will be
865  * placed in the event queue.
866  */
867 xcb_sync_list_system_counters_cookie_t xcb_sync_list_system_counters_unchecked(xcb_connection_t* c /**< */ );
868 
869 int xcb_sync_list_system_counters_counters_length(const xcb_sync_list_system_counters_reply_t* R /**< */ );
870 
871 xcb_sync_systemcounter_iterator_t xcb_sync_list_system_counters_counters_iterator(const xcb_sync_list_system_counters_reply_t* R /**< */ );
872 
873 /**
874  * Return the reply
875  * @param c      The connection
876  * @param cookie The cookie
877  * @param e      The xcb_generic_error_t supplied
878  *
879  * Returns the reply of the request asked by
880  *
881  * The parameter @p e supplied to this function must be NULL if
882  * xcb_sync_list_system_counters_unchecked(). is used.
883  * Otherwise, it stores the error if any.
884  *
885  * The returned value must be freed by the caller using free().
886  */
887 xcb_sync_list_system_counters_reply_t* xcb_sync_list_system_counters_reply(xcb_connection_t* c /**< */ ,
888 	xcb_sync_list_system_counters_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
889 
890 /**
891  *
892  * @param c The connection
893  * @return A cookie
894  *
895  * Delivers a request to the X server.
896  *
897  * This form can be used only if the request will not cause
898  * a reply to be generated. Any returned error will be
899  * saved for handling by xcb_request_check().
900  */
901 xcb_void_cookie_t xcb_sync_create_counter_checked(xcb_connection_t* c /**< */ , xcb_sync_counter_t id /**< */ ,
902 	xcb_sync_int64_t initial_value /**< */ );
903 
904 /**
905  *
906  * @param c The connection
907  * @return A cookie
908  *
909  * Delivers a request to the X server.
910  *
911  */
912 xcb_void_cookie_t xcb_sync_create_counter(xcb_connection_t* c /**< */ , xcb_sync_counter_t id /**< */ , xcb_sync_int64_t initial_value /**< */ );
913 
914 /**
915  *
916  * @param c The connection
917  * @return A cookie
918  *
919  * Delivers a request to the X server.
920  *
921  * This form can be used only if the request will not cause
922  * a reply to be generated. Any returned error will be
923  * saved for handling by xcb_request_check().
924  */
925 xcb_void_cookie_t xcb_sync_destroy_counter_checked(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ );
926 
927 /**
928  *
929  * @param c The connection
930  * @return A cookie
931  *
932  * Delivers a request to the X server.
933  *
934  */
935 xcb_void_cookie_t xcb_sync_destroy_counter(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ );
936 
937 /**
938  *
939  * @param c The connection
940  * @return A cookie
941  *
942  * Delivers a request to the X server.
943  *
944  */
945 xcb_sync_query_counter_cookie_t xcb_sync_query_counter(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ );
946 
947 /**
948  *
949  * @param c The connection
950  * @return A cookie
951  *
952  * Delivers a request to the X server.
953  *
954  * This form can be used only if the request will cause
955  * a reply to be generated. Any returned error will be
956  * placed in the event queue.
957  */
958 xcb_sync_query_counter_cookie_t xcb_sync_query_counter_unchecked(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ );
959 
960 /**
961  * Return the reply
962  * @param c      The connection
963  * @param cookie The cookie
964  * @param e      The xcb_generic_error_t supplied
965  *
966  * Returns the reply of the request asked by
967  *
968  * The parameter @p e supplied to this function must be NULL if
969  * xcb_sync_query_counter_unchecked(). is used.
970  * Otherwise, it stores the error if any.
971  *
972  * The returned value must be freed by the caller using free().
973  */
974 xcb_sync_query_counter_reply_t* xcb_sync_query_counter_reply(xcb_connection_t* c /**< */ , xcb_sync_query_counter_cookie_t cookie /**< */ ,
975 	xcb_generic_error_t** e /**< */ );
976 
977 int xcb_sync_await_sizeof(const void* _buffer /**< */ , uint wait_list_len /**< */ );
978 
979 /**
980  *
981  * @param c The connection
982  * @return A cookie
983  *
984  * Delivers a request to the X server.
985  *
986  * This form can be used only if the request will not cause
987  * a reply to be generated. Any returned error will be
988  * saved for handling by xcb_request_check().
989  */
990 xcb_void_cookie_t xcb_sync_await_checked(xcb_connection_t* c /**< */ , uint wait_list_len /**< */ , const xcb_sync_waitcondition_t* wait_list /**< */ );
991 
992 /**
993  *
994  * @param c The connection
995  * @return A cookie
996  *
997  * Delivers a request to the X server.
998  *
999  */
1000 xcb_void_cookie_t xcb_sync_await(xcb_connection_t* c /**< */ , uint wait_list_len /**< */ , const xcb_sync_waitcondition_t* wait_list /**< */ );
1001 
1002 /**
1003  *
1004  * @param c The connection
1005  * @return A cookie
1006  *
1007  * Delivers a request to the X server.
1008  *
1009  * This form can be used only if the request will not cause
1010  * a reply to be generated. Any returned error will be
1011  * saved for handling by xcb_request_check().
1012  */
1013 xcb_void_cookie_t xcb_sync_change_counter_checked(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ , xcb_sync_int64_t amount /**< */ );
1014 
1015 /**
1016  *
1017  * @param c The connection
1018  * @return A cookie
1019  *
1020  * Delivers a request to the X server.
1021  *
1022  */
1023 xcb_void_cookie_t xcb_sync_change_counter(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ , xcb_sync_int64_t amount /**< */ );
1024 
1025 /**
1026  *
1027  * @param c The connection
1028  * @return A cookie
1029  *
1030  * Delivers a request to the X server.
1031  *
1032  * This form can be used only if the request will not cause
1033  * a reply to be generated. Any returned error will be
1034  * saved for handling by xcb_request_check().
1035  */
1036 xcb_void_cookie_t xcb_sync_set_counter_checked(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ , xcb_sync_int64_t value /**< */ );
1037 
1038 /**
1039  *
1040  * @param c The connection
1041  * @return A cookie
1042  *
1043  * Delivers a request to the X server.
1044  *
1045  */
1046 xcb_void_cookie_t xcb_sync_set_counter(xcb_connection_t* c /**< */ , xcb_sync_counter_t counter /**< */ , xcb_sync_int64_t value /**< */ );
1047 
1048 int xcb_sync_create_alarm_value_list_serialize(void** _buffer /**< */ , uint value_mask /**< */ ,
1049 	const xcb_sync_create_alarm_value_list_t* _aux /**< */ );
1050 
1051 int xcb_sync_create_alarm_value_list_unpack(const void* _buffer /**< */ , uint value_mask /**< */ , xcb_sync_create_alarm_value_list_t* _aux /**< */ );
1052 
1053 int xcb_sync_create_alarm_value_list_sizeof(const void* _buffer /**< */ , uint value_mask /**< */ );
1054 
1055 /**
1056  *
1057  * @param c The connection
1058  * @return A cookie
1059  *
1060  * Delivers a request to the X server.
1061  *
1062  * This form can be used only if the request will not cause
1063  * a reply to be generated. Any returned error will be
1064  * saved for handling by xcb_request_check().
1065  */
1066 xcb_void_cookie_t xcb_sync_create_alarm_checked(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ ,
1067 	uint value_mask /**< */ , const void* value_list /**< */ );
1068 
1069 /**
1070  *
1071  * @param c The connection
1072  * @return A cookie
1073  *
1074  * Delivers a request to the X server.
1075  *
1076  */
1077 xcb_void_cookie_t xcb_sync_create_alarm(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ , uint value_mask /**< */ ,
1078 	const void* value_list /**< */ );
1079 
1080 /**
1081  *
1082  * @param c The connection
1083  * @return A cookie
1084  *
1085  * Delivers a request to the X server.
1086  *
1087  * This form can be used only if the request will not cause
1088  * a reply to be generated. Any returned error will be
1089  * saved for handling by xcb_request_check().
1090  */
1091 xcb_void_cookie_t xcb_sync_create_alarm_aux_checked(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ , uint value_mask /**< */ ,
1092 	const xcb_sync_create_alarm_value_list_t* value_list /**< */ );
1093 
1094 /**
1095  *
1096  * @param c The connection
1097  * @return A cookie
1098  *
1099  * Delivers a request to the X server.
1100  *
1101  */
1102 xcb_void_cookie_t xcb_sync_create_alarm_aux(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ , uint value_mask /**< */ ,
1103 	const xcb_sync_create_alarm_value_list_t* value_list /**< */ );
1104 
1105 int xcb_sync_change_alarm_value_list_serialize(void** _buffer /**< */ , uint value_mask /**< */ ,
1106 	const xcb_sync_change_alarm_value_list_t* _aux /**< */ );
1107 
1108 int xcb_sync_change_alarm_value_list_unpack(const void* _buffer /**< */ , uint value_mask /**< */ , xcb_sync_change_alarm_value_list_t* _aux /**< */ );
1109 
1110 int xcb_sync_change_alarm_value_list_sizeof(const void* _buffer /**< */ , uint value_mask /**< */ );
1111 
1112 /**
1113  *
1114  * @param c The connection
1115  * @return A cookie
1116  *
1117  * Delivers a request to the X server.
1118  *
1119  * This form can be used only if the request will not cause
1120  * a reply to be generated. Any returned error will be
1121  * saved for handling by xcb_request_check().
1122  */
1123 xcb_void_cookie_t xcb_sync_change_alarm_checked(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ ,
1124 	uint value_mask /**< */ , const void* value_list /**< */ );
1125 
1126 /**
1127  *
1128  * @param c The connection
1129  * @return A cookie
1130  *
1131  * Delivers a request to the X server.
1132  *
1133  */
1134 xcb_void_cookie_t xcb_sync_change_alarm(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ , uint value_mask /**< */ ,
1135 	const void* value_list /**< */ );
1136 
1137 /**
1138  *
1139  * @param c The connection
1140  * @return A cookie
1141  *
1142  * Delivers a request to the X server.
1143  *
1144  * This form can be used only if the request will not cause
1145  * a reply to be generated. Any returned error will be
1146  * saved for handling by xcb_request_check().
1147  */
1148 xcb_void_cookie_t xcb_sync_change_alarm_aux_checked(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ , uint value_mask /**< */ ,
1149 	const xcb_sync_change_alarm_value_list_t* value_list /**< */ );
1150 
1151 /**
1152  *
1153  * @param c The connection
1154  * @return A cookie
1155  *
1156  * Delivers a request to the X server.
1157  *
1158  */
1159 xcb_void_cookie_t xcb_sync_change_alarm_aux(xcb_connection_t* c /**< */ , xcb_sync_alarm_t id /**< */ , uint value_mask /**< */ ,
1160 	const xcb_sync_change_alarm_value_list_t* value_list /**< */ );
1161 
1162 /**
1163  *
1164  * @param c The connection
1165  * @return A cookie
1166  *
1167  * Delivers a request to the X server.
1168  *
1169  * This form can be used only if the request will not cause
1170  * a reply to be generated. Any returned error will be
1171  * saved for handling by xcb_request_check().
1172  */
1173 xcb_void_cookie_t xcb_sync_destroy_alarm_checked(xcb_connection_t* c /**< */ , xcb_sync_alarm_t alarm /**< */ );
1174 
1175 /**
1176  *
1177  * @param c The connection
1178  * @return A cookie
1179  *
1180  * Delivers a request to the X server.
1181  *
1182  */
1183 xcb_void_cookie_t xcb_sync_destroy_alarm(xcb_connection_t* c /**< */ , xcb_sync_alarm_t alarm /**< */ );
1184 
1185 /**
1186  *
1187  * @param c The connection
1188  * @return A cookie
1189  *
1190  * Delivers a request to the X server.
1191  *
1192  */
1193 xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm(xcb_connection_t* c /**< */ , xcb_sync_alarm_t alarm /**< */ );
1194 
1195 /**
1196  *
1197  * @param c The connection
1198  * @return A cookie
1199  *
1200  * Delivers a request to the X server.
1201  *
1202  * This form can be used only if the request will cause
1203  * a reply to be generated. Any returned error will be
1204  * placed in the event queue.
1205  */
1206 xcb_sync_query_alarm_cookie_t xcb_sync_query_alarm_unchecked(xcb_connection_t* c /**< */ , xcb_sync_alarm_t alarm /**< */ );
1207 
1208 /**
1209  * Return the reply
1210  * @param c      The connection
1211  * @param cookie The cookie
1212  * @param e      The xcb_generic_error_t supplied
1213  *
1214  * Returns the reply of the request asked by
1215  *
1216  * The parameter @p e supplied to this function must be NULL if
1217  * xcb_sync_query_alarm_unchecked(). is used.
1218  * Otherwise, it stores the error if any.
1219  *
1220  * The returned value must be freed by the caller using free().
1221  */
1222 xcb_sync_query_alarm_reply_t* xcb_sync_query_alarm_reply(xcb_connection_t* c /**< */ ,
1223 	xcb_sync_query_alarm_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
1224 
1225 /**
1226  *
1227  * @param c The connection
1228  * @return A cookie
1229  *
1230  * Delivers a request to the X server.
1231  *
1232  * This form can be used only if the request will not cause
1233  * a reply to be generated. Any returned error will be
1234  * saved for handling by xcb_request_check().
1235  */
1236 xcb_void_cookie_t xcb_sync_set_priority_checked(xcb_connection_t* c /**< */ , uint id /**< */ , int priority /**< */ );
1237 
1238 /**
1239  *
1240  * @param c The connection
1241  * @return A cookie
1242  *
1243  * Delivers a request to the X server.
1244  *
1245  */
1246 xcb_void_cookie_t xcb_sync_set_priority(xcb_connection_t* c /**< */ , uint id /**< */ , int priority /**< */ );
1247 
1248 /**
1249  *
1250  * @param c The connection
1251  * @return A cookie
1252  *
1253  * Delivers a request to the X server.
1254  *
1255  */
1256 xcb_sync_get_priority_cookie_t xcb_sync_get_priority(xcb_connection_t* c /**< */ , uint id /**< */ );
1257 
1258 /**
1259  *
1260  * @param c The connection
1261  * @return A cookie
1262  *
1263  * Delivers a request to the X server.
1264  *
1265  * This form can be used only if the request will cause
1266  * a reply to be generated. Any returned error will be
1267  * placed in the event queue.
1268  */
1269 xcb_sync_get_priority_cookie_t xcb_sync_get_priority_unchecked(xcb_connection_t* c /**< */ , uint id /**< */ );
1270 
1271 /**
1272  * Return the reply
1273  * @param c      The connection
1274  * @param cookie The cookie
1275  * @param e      The xcb_generic_error_t supplied
1276  *
1277  * Returns the reply of the request asked by
1278  *
1279  * The parameter @p e supplied to this function must be NULL if
1280  * xcb_sync_get_priority_unchecked(). is used.
1281  * Otherwise, it stores the error if any.
1282  *
1283  * The returned value must be freed by the caller using free().
1284  */
1285 xcb_sync_get_priority_reply_t* xcb_sync_get_priority_reply(xcb_connection_t* c /**< */ ,
1286 	xcb_sync_get_priority_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
1287 
1288 /**
1289  *
1290  * @param c The connection
1291  * @return A cookie
1292  *
1293  * Delivers a request to the X server.
1294  *
1295  * This form can be used only if the request will not cause
1296  * a reply to be generated. Any returned error will be
1297  * saved for handling by xcb_request_check().
1298  */
1299 xcb_void_cookie_t xcb_sync_create_fence_checked(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ ,
1300 	xcb_sync_fence_t fence /**< */ , ubyte initially_triggered /**< */ );
1301 
1302 /**
1303  *
1304  * @param c The connection
1305  * @return A cookie
1306  *
1307  * Delivers a request to the X server.
1308  *
1309  */
1310 xcb_void_cookie_t xcb_sync_create_fence(xcb_connection_t* c /**< */ , xcb_drawable_t drawable /**< */ , xcb_sync_fence_t fence /**< */ ,
1311 	ubyte initially_triggered /**< */ );
1312 
1313 /**
1314  *
1315  * @param c The connection
1316  * @return A cookie
1317  *
1318  * Delivers a request to the X server.
1319  *
1320  * This form can be used only if the request will not cause
1321  * a reply to be generated. Any returned error will be
1322  * saved for handling by xcb_request_check().
1323  */
1324 xcb_void_cookie_t xcb_sync_trigger_fence_checked(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1325 
1326 /**
1327  *
1328  * @param c The connection
1329  * @return A cookie
1330  *
1331  * Delivers a request to the X server.
1332  *
1333  */
1334 xcb_void_cookie_t xcb_sync_trigger_fence(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1335 
1336 /**
1337  *
1338  * @param c The connection
1339  * @return A cookie
1340  *
1341  * Delivers a request to the X server.
1342  *
1343  * This form can be used only if the request will not cause
1344  * a reply to be generated. Any returned error will be
1345  * saved for handling by xcb_request_check().
1346  */
1347 xcb_void_cookie_t xcb_sync_reset_fence_checked(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1348 
1349 /**
1350  *
1351  * @param c The connection
1352  * @return A cookie
1353  *
1354  * Delivers a request to the X server.
1355  *
1356  */
1357 xcb_void_cookie_t xcb_sync_reset_fence(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1358 
1359 /**
1360  *
1361  * @param c The connection
1362  * @return A cookie
1363  *
1364  * Delivers a request to the X server.
1365  *
1366  * This form can be used only if the request will not cause
1367  * a reply to be generated. Any returned error will be
1368  * saved for handling by xcb_request_check().
1369  */
1370 xcb_void_cookie_t xcb_sync_destroy_fence_checked(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1371 
1372 /**
1373  *
1374  * @param c The connection
1375  * @return A cookie
1376  *
1377  * Delivers a request to the X server.
1378  *
1379  */
1380 xcb_void_cookie_t xcb_sync_destroy_fence(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1381 
1382 /**
1383  *
1384  * @param c The connection
1385  * @return A cookie
1386  *
1387  * Delivers a request to the X server.
1388  *
1389  */
1390 xcb_sync_query_fence_cookie_t xcb_sync_query_fence(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1391 
1392 /**
1393  *
1394  * @param c The connection
1395  * @return A cookie
1396  *
1397  * Delivers a request to the X server.
1398  *
1399  * This form can be used only if the request will cause
1400  * a reply to be generated. Any returned error will be
1401  * placed in the event queue.
1402  */
1403 xcb_sync_query_fence_cookie_t xcb_sync_query_fence_unchecked(xcb_connection_t* c /**< */ , xcb_sync_fence_t fence /**< */ );
1404 
1405 /**
1406  * Return the reply
1407  * @param c      The connection
1408  * @param cookie The cookie
1409  * @param e      The xcb_generic_error_t supplied
1410  *
1411  * Returns the reply of the request asked by
1412  *
1413  * The parameter @p e supplied to this function must be NULL if
1414  * xcb_sync_query_fence_unchecked(). is used.
1415  * Otherwise, it stores the error if any.
1416  *
1417  * The returned value must be freed by the caller using free().
1418  */
1419 xcb_sync_query_fence_reply_t* xcb_sync_query_fence_reply(xcb_connection_t* c /**< */ ,
1420 	xcb_sync_query_fence_cookie_t cookie /**< */ , xcb_generic_error_t** e /**< */ );
1421 
1422 int xcb_sync_await_fence_sizeof(const void* _buffer /**< */ , uint fence_list_len /**< */ );
1423 
1424 /**
1425  *
1426  * @param c The connection
1427  * @return A cookie
1428  *
1429  * Delivers a request to the X server.
1430  *
1431  * This form can be used only if the request will not cause
1432  * a reply to be generated. Any returned error will be
1433  * saved for handling by xcb_request_check().
1434  */
1435 xcb_void_cookie_t xcb_sync_await_fence_checked(xcb_connection_t* c /**< */ , uint fence_list_len /**< */ , const xcb_sync_fence_t* fence_list /**< */ );
1436 
1437 /**
1438  *
1439  * @param c The connection
1440  * @return A cookie
1441  *
1442  * Delivers a request to the X server.
1443  *
1444  */
1445 xcb_void_cookie_t xcb_sync_await_fence(xcb_connection_t* c /**< */ , uint fence_list_len /**< */ , const xcb_sync_fence_t* fence_list /**< */ );
1446 
1447 /**
1448  * @}
1449  */