comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/xcb/sync.h @ 69:33d812a61356

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