xref: /minix3/external/mit/xorg/lib/libxcb/files/sync.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
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 /**
1041  *
1042  * @param c The connection
1043  * @return A cookie
1044  *
1045  * Delivers a request to the X server.
1046  *
1047  * This form can be used only if the request will not cause
1048  * a reply to be generated. Any returned error will be
1049  * saved for handling by xcb_request_check().
1050  */
1051 xcb_void_cookie_t
1052 xcb_sync_change_counter_checked (xcb_connection_t   *c  /**< */,
1053                                  xcb_sync_counter_t  counter  /**< */,
1054                                  xcb_sync_int64_t    amount  /**< */);
1055 
1056 /**
1057  *
1058  * @param c The connection
1059  * @return A cookie
1060  *
1061  * Delivers a request to the X server.
1062  *
1063  */
1064 xcb_void_cookie_t
1065 xcb_sync_change_counter (xcb_connection_t   *c  /**< */,
1066                          xcb_sync_counter_t  counter  /**< */,
1067                          xcb_sync_int64_t    amount  /**< */);
1068 
1069 /**
1070  *
1071  * @param c The connection
1072  * @return A cookie
1073  *
1074  * Delivers a request to the X server.
1075  *
1076  * This form can be used only if the request will not cause
1077  * a reply to be generated. Any returned error will be
1078  * saved for handling by xcb_request_check().
1079  */
1080 xcb_void_cookie_t
1081 xcb_sync_set_counter_checked (xcb_connection_t   *c  /**< */,
1082                               xcb_sync_counter_t  counter  /**< */,
1083                               xcb_sync_int64_t    value  /**< */);
1084 
1085 /**
1086  *
1087  * @param c The connection
1088  * @return A cookie
1089  *
1090  * Delivers a request to the X server.
1091  *
1092  */
1093 xcb_void_cookie_t
1094 xcb_sync_set_counter (xcb_connection_t   *c  /**< */,
1095                       xcb_sync_counter_t  counter  /**< */,
1096                       xcb_sync_int64_t    value  /**< */);
1097 
1098 int
1099 xcb_sync_create_alarm_value_list_serialize (void                                     **_buffer  /**< */,
1100                                             uint32_t                                   value_mask  /**< */,
1101                                             const xcb_sync_create_alarm_value_list_t  *_aux  /**< */);
1102 
1103 int
1104 xcb_sync_create_alarm_value_list_unpack (const void                          *_buffer  /**< */,
1105                                          uint32_t                             value_mask  /**< */,
1106                                          xcb_sync_create_alarm_value_list_t  *_aux  /**< */);
1107 
1108 int
1109 xcb_sync_create_alarm_value_list_sizeof (const void  *_buffer  /**< */,
1110                                          uint32_t     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
1124 xcb_sync_create_alarm_checked (xcb_connection_t *c  /**< */,
1125                                xcb_sync_alarm_t  id  /**< */,
1126                                uint32_t          value_mask  /**< */,
1127                                const void       *value_list  /**< */);
1128 
1129 /**
1130  *
1131  * @param c The connection
1132  * @return A cookie
1133  *
1134  * Delivers a request to the X server.
1135  *
1136  */
1137 xcb_void_cookie_t
1138 xcb_sync_create_alarm (xcb_connection_t *c  /**< */,
1139                        xcb_sync_alarm_t  id  /**< */,
1140                        uint32_t          value_mask  /**< */,
1141                        const void       *value_list  /**< */);
1142 
1143 /**
1144  *
1145  * @param c The connection
1146  * @return A cookie
1147  *
1148  * Delivers a request to the X server.
1149  *
1150  * This form can be used only if the request will not cause
1151  * a reply to be generated. Any returned error will be
1152  * saved for handling by xcb_request_check().
1153  */
1154 xcb_void_cookie_t
1155 xcb_sync_create_alarm_aux_checked (xcb_connection_t                         *c  /**< */,
1156                                    xcb_sync_alarm_t                          id  /**< */,
1157                                    uint32_t                                  value_mask  /**< */,
1158                                    const xcb_sync_create_alarm_value_list_t *value_list  /**< */);
1159 
1160 /**
1161  *
1162  * @param c The connection
1163  * @return A cookie
1164  *
1165  * Delivers a request to the X server.
1166  *
1167  */
1168 xcb_void_cookie_t
1169 xcb_sync_create_alarm_aux (xcb_connection_t                         *c  /**< */,
1170                            xcb_sync_alarm_t                          id  /**< */,
1171                            uint32_t                                  value_mask  /**< */,
1172                            const xcb_sync_create_alarm_value_list_t *value_list  /**< */);
1173 
1174 int
1175 xcb_sync_change_alarm_value_list_serialize (void                                     **_buffer  /**< */,
1176                                             uint32_t                                   value_mask  /**< */,
1177                                             const xcb_sync_change_alarm_value_list_t  *_aux  /**< */);
1178 
1179 int
1180 xcb_sync_change_alarm_value_list_unpack (const void                          *_buffer  /**< */,
1181                                          uint32_t                             value_mask  /**< */,
1182                                          xcb_sync_change_alarm_value_list_t  *_aux  /**< */);
1183 
1184 int
1185 xcb_sync_change_alarm_value_list_sizeof (const void  *_buffer  /**< */,
1186                                          uint32_t     value_mask  /**< */);
1187 
1188 /**
1189  *
1190  * @param c The connection
1191  * @return A cookie
1192  *
1193  * Delivers a request to the X server.
1194  *
1195  * This form can be used only if the request will not cause
1196  * a reply to be generated. Any returned error will be
1197  * saved for handling by xcb_request_check().
1198  */
1199 xcb_void_cookie_t
1200 xcb_sync_change_alarm_checked (xcb_connection_t *c  /**< */,
1201                                xcb_sync_alarm_t  id  /**< */,
1202                                uint32_t          value_mask  /**< */,
1203                                const void       *value_list  /**< */);
1204 
1205 /**
1206  *
1207  * @param c The connection
1208  * @return A cookie
1209  *
1210  * Delivers a request to the X server.
1211  *
1212  */
1213 xcb_void_cookie_t
1214 xcb_sync_change_alarm (xcb_connection_t *c  /**< */,
1215                        xcb_sync_alarm_t  id  /**< */,
1216                        uint32_t          value_mask  /**< */,
1217                        const void       *value_list  /**< */);
1218 
1219 /**
1220  *
1221  * @param c The connection
1222  * @return A cookie
1223  *
1224  * Delivers a request to the X server.
1225  *
1226  * This form can be used only if the request will not cause
1227  * a reply to be generated. Any returned error will be
1228  * saved for handling by xcb_request_check().
1229  */
1230 xcb_void_cookie_t
1231 xcb_sync_change_alarm_aux_checked (xcb_connection_t                         *c  /**< */,
1232                                    xcb_sync_alarm_t                          id  /**< */,
1233                                    uint32_t                                  value_mask  /**< */,
1234                                    const xcb_sync_change_alarm_value_list_t *value_list  /**< */);
1235 
1236 /**
1237  *
1238  * @param c The connection
1239  * @return A cookie
1240  *
1241  * Delivers a request to the X server.
1242  *
1243  */
1244 xcb_void_cookie_t
1245 xcb_sync_change_alarm_aux (xcb_connection_t                         *c  /**< */,
1246                            xcb_sync_alarm_t                          id  /**< */,
1247                            uint32_t                                  value_mask  /**< */,
1248                            const xcb_sync_change_alarm_value_list_t *value_list  /**< */);
1249 
1250 /**
1251  *
1252  * @param c The connection
1253  * @return A cookie
1254  *
1255  * Delivers a request to the X server.
1256  *
1257  * This form can be used only if the request will not cause
1258  * a reply to be generated. Any returned error will be
1259  * saved for handling by xcb_request_check().
1260  */
1261 xcb_void_cookie_t
1262 xcb_sync_destroy_alarm_checked (xcb_connection_t *c  /**< */,
1263                                 xcb_sync_alarm_t  alarm  /**< */);
1264 
1265 /**
1266  *
1267  * @param c The connection
1268  * @return A cookie
1269  *
1270  * Delivers a request to the X server.
1271  *
1272  */
1273 xcb_void_cookie_t
1274 xcb_sync_destroy_alarm (xcb_connection_t *c  /**< */,
1275                         xcb_sync_alarm_t  alarm  /**< */);
1276 
1277 /**
1278  *
1279  * @param c The connection
1280  * @return A cookie
1281  *
1282  * Delivers a request to the X server.
1283  *
1284  */
1285 xcb_sync_query_alarm_cookie_t
1286 xcb_sync_query_alarm (xcb_connection_t *c  /**< */,
1287                       xcb_sync_alarm_t  alarm  /**< */);
1288 
1289 /**
1290  *
1291  * @param c The connection
1292  * @return A cookie
1293  *
1294  * Delivers a request to the X server.
1295  *
1296  * This form can be used only if the request will cause
1297  * a reply to be generated. Any returned error will be
1298  * placed in the event queue.
1299  */
1300 xcb_sync_query_alarm_cookie_t
1301 xcb_sync_query_alarm_unchecked (xcb_connection_t *c  /**< */,
1302                                 xcb_sync_alarm_t  alarm  /**< */);
1303 
1304 /**
1305  * Return the reply
1306  * @param c      The connection
1307  * @param cookie The cookie
1308  * @param e      The xcb_generic_error_t supplied
1309  *
1310  * Returns the reply of the request asked by
1311  *
1312  * The parameter @p e supplied to this function must be NULL if
1313  * xcb_sync_query_alarm_unchecked(). is used.
1314  * Otherwise, it stores the error if any.
1315  *
1316  * The returned value must be freed by the caller using free().
1317  */
1318 xcb_sync_query_alarm_reply_t *
1319 xcb_sync_query_alarm_reply (xcb_connection_t               *c  /**< */,
1320                             xcb_sync_query_alarm_cookie_t   cookie  /**< */,
1321                             xcb_generic_error_t           **e  /**< */);
1322 
1323 /**
1324  *
1325  * @param c The connection
1326  * @return A cookie
1327  *
1328  * Delivers a request to the X server.
1329  *
1330  * This form can be used only if the request will not cause
1331  * a reply to be generated. Any returned error will be
1332  * saved for handling by xcb_request_check().
1333  */
1334 xcb_void_cookie_t
1335 xcb_sync_set_priority_checked (xcb_connection_t *c  /**< */,
1336                                uint32_t          id  /**< */,
1337                                int32_t           priority  /**< */);
1338 
1339 /**
1340  *
1341  * @param c The connection
1342  * @return A cookie
1343  *
1344  * Delivers a request to the X server.
1345  *
1346  */
1347 xcb_void_cookie_t
1348 xcb_sync_set_priority (xcb_connection_t *c  /**< */,
1349                        uint32_t          id  /**< */,
1350                        int32_t           priority  /**< */);
1351 
1352 /**
1353  *
1354  * @param c The connection
1355  * @return A cookie
1356  *
1357  * Delivers a request to the X server.
1358  *
1359  */
1360 xcb_sync_get_priority_cookie_t
1361 xcb_sync_get_priority (xcb_connection_t *c  /**< */,
1362                        uint32_t          id  /**< */);
1363 
1364 /**
1365  *
1366  * @param c The connection
1367  * @return A cookie
1368  *
1369  * Delivers a request to the X server.
1370  *
1371  * This form can be used only if the request will cause
1372  * a reply to be generated. Any returned error will be
1373  * placed in the event queue.
1374  */
1375 xcb_sync_get_priority_cookie_t
1376 xcb_sync_get_priority_unchecked (xcb_connection_t *c  /**< */,
1377                                  uint32_t          id  /**< */);
1378 
1379 /**
1380  * Return the reply
1381  * @param c      The connection
1382  * @param cookie The cookie
1383  * @param e      The xcb_generic_error_t supplied
1384  *
1385  * Returns the reply of the request asked by
1386  *
1387  * The parameter @p e supplied to this function must be NULL if
1388  * xcb_sync_get_priority_unchecked(). is used.
1389  * Otherwise, it stores the error if any.
1390  *
1391  * The returned value must be freed by the caller using free().
1392  */
1393 xcb_sync_get_priority_reply_t *
1394 xcb_sync_get_priority_reply (xcb_connection_t                *c  /**< */,
1395                              xcb_sync_get_priority_cookie_t   cookie  /**< */,
1396                              xcb_generic_error_t            **e  /**< */);
1397 
1398 /**
1399  *
1400  * @param c The connection
1401  * @return A cookie
1402  *
1403  * Delivers a request to the X server.
1404  *
1405  * This form can be used only if the request will not cause
1406  * a reply to be generated. Any returned error will be
1407  * saved for handling by xcb_request_check().
1408  */
1409 xcb_void_cookie_t
1410 xcb_sync_create_fence_checked (xcb_connection_t *c  /**< */,
1411                                xcb_drawable_t    drawable  /**< */,
1412                                xcb_sync_fence_t  fence  /**< */,
1413                                uint8_t           initially_triggered  /**< */);
1414 
1415 /**
1416  *
1417  * @param c The connection
1418  * @return A cookie
1419  *
1420  * Delivers a request to the X server.
1421  *
1422  */
1423 xcb_void_cookie_t
1424 xcb_sync_create_fence (xcb_connection_t *c  /**< */,
1425                        xcb_drawable_t    drawable  /**< */,
1426                        xcb_sync_fence_t  fence  /**< */,
1427                        uint8_t           initially_triggered  /**< */);
1428 
1429 /**
1430  *
1431  * @param c The connection
1432  * @return A cookie
1433  *
1434  * Delivers a request to the X server.
1435  *
1436  * This form can be used only if the request will not cause
1437  * a reply to be generated. Any returned error will be
1438  * saved for handling by xcb_request_check().
1439  */
1440 xcb_void_cookie_t
1441 xcb_sync_trigger_fence_checked (xcb_connection_t *c  /**< */,
1442                                 xcb_sync_fence_t  fence  /**< */);
1443 
1444 /**
1445  *
1446  * @param c The connection
1447  * @return A cookie
1448  *
1449  * Delivers a request to the X server.
1450  *
1451  */
1452 xcb_void_cookie_t
1453 xcb_sync_trigger_fence (xcb_connection_t *c  /**< */,
1454                         xcb_sync_fence_t  fence  /**< */);
1455 
1456 /**
1457  *
1458  * @param c The connection
1459  * @return A cookie
1460  *
1461  * Delivers a request to the X server.
1462  *
1463  * This form can be used only if the request will not cause
1464  * a reply to be generated. Any returned error will be
1465  * saved for handling by xcb_request_check().
1466  */
1467 xcb_void_cookie_t
1468 xcb_sync_reset_fence_checked (xcb_connection_t *c  /**< */,
1469                               xcb_sync_fence_t  fence  /**< */);
1470 
1471 /**
1472  *
1473  * @param c The connection
1474  * @return A cookie
1475  *
1476  * Delivers a request to the X server.
1477  *
1478  */
1479 xcb_void_cookie_t
1480 xcb_sync_reset_fence (xcb_connection_t *c  /**< */,
1481                       xcb_sync_fence_t  fence  /**< */);
1482 
1483 /**
1484  *
1485  * @param c The connection
1486  * @return A cookie
1487  *
1488  * Delivers a request to the X server.
1489  *
1490  * This form can be used only if the request will not cause
1491  * a reply to be generated. Any returned error will be
1492  * saved for handling by xcb_request_check().
1493  */
1494 xcb_void_cookie_t
1495 xcb_sync_destroy_fence_checked (xcb_connection_t *c  /**< */,
1496                                 xcb_sync_fence_t  fence  /**< */);
1497 
1498 /**
1499  *
1500  * @param c The connection
1501  * @return A cookie
1502  *
1503  * Delivers a request to the X server.
1504  *
1505  */
1506 xcb_void_cookie_t
1507 xcb_sync_destroy_fence (xcb_connection_t *c  /**< */,
1508                         xcb_sync_fence_t  fence  /**< */);
1509 
1510 /**
1511  *
1512  * @param c The connection
1513  * @return A cookie
1514  *
1515  * Delivers a request to the X server.
1516  *
1517  */
1518 xcb_sync_query_fence_cookie_t
1519 xcb_sync_query_fence (xcb_connection_t *c  /**< */,
1520                       xcb_sync_fence_t  fence  /**< */);
1521 
1522 /**
1523  *
1524  * @param c The connection
1525  * @return A cookie
1526  *
1527  * Delivers a request to the X server.
1528  *
1529  * This form can be used only if the request will cause
1530  * a reply to be generated. Any returned error will be
1531  * placed in the event queue.
1532  */
1533 xcb_sync_query_fence_cookie_t
1534 xcb_sync_query_fence_unchecked (xcb_connection_t *c  /**< */,
1535                                 xcb_sync_fence_t  fence  /**< */);
1536 
1537 /**
1538  * Return the reply
1539  * @param c      The connection
1540  * @param cookie The cookie
1541  * @param e      The xcb_generic_error_t supplied
1542  *
1543  * Returns the reply of the request asked by
1544  *
1545  * The parameter @p e supplied to this function must be NULL if
1546  * xcb_sync_query_fence_unchecked(). is used.
1547  * Otherwise, it stores the error if any.
1548  *
1549  * The returned value must be freed by the caller using free().
1550  */
1551 xcb_sync_query_fence_reply_t *
1552 xcb_sync_query_fence_reply (xcb_connection_t               *c  /**< */,
1553                             xcb_sync_query_fence_cookie_t   cookie  /**< */,
1554                             xcb_generic_error_t           **e  /**< */);
1555 
1556 int
1557 xcb_sync_await_fence_sizeof (const void  *_buffer  /**< */,
1558                              uint32_t     fence_list_len  /**< */);
1559 
1560 /**
1561  *
1562  * @param c The connection
1563  * @return A cookie
1564  *
1565  * Delivers a request to the X server.
1566  *
1567  * This form can be used only if the request will not cause
1568  * a reply to be generated. Any returned error will be
1569  * saved for handling by xcb_request_check().
1570  */
1571 xcb_void_cookie_t
1572 xcb_sync_await_fence_checked (xcb_connection_t       *c  /**< */,
1573                               uint32_t                fence_list_len  /**< */,
1574                               const xcb_sync_fence_t *fence_list  /**< */);
1575 
1576 /**
1577  *
1578  * @param c The connection
1579  * @return A cookie
1580  *
1581  * Delivers a request to the X server.
1582  *
1583  */
1584 xcb_void_cookie_t
1585 xcb_sync_await_fence (xcb_connection_t       *c  /**< */,
1586                       uint32_t                fence_list_len  /**< */,
1587                       const xcb_sync_fence_t *fence_list  /**< */);
1588 
1589 
1590 #ifdef __cplusplus
1591 }
1592 #endif
1593 
1594 #endif
1595 
1596 /**
1597  * @}
1598  */
1599