etc/protocols - sync with NetBSD-8
[minix.git] / external / mit / xorg / lib / libxcb / files / sync.h
bloba21969c63f3e359bcb8d0cfe8110ae51371a7ccb
1 /*
2 * This file generated automatically from sync.xml by c_client.py.
3 * Edit at your peril.
4 */
6 /**
7 * @defgroup XCB_Sync_API XCB Sync API
8 * @brief Sync XCB Protocol Implementation.
9 * @{
10 **/
12 #ifndef __SYNC_H
13 #define __SYNC_H
15 #include "xcb.h"
16 #include "xproto.h"
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
22 #define XCB_SYNC_MAJOR_VERSION 3
23 #define XCB_SYNC_MINOR_VERSION 1
25 extern xcb_extension_t xcb_sync_id;
27 typedef uint32_t xcb_sync_alarm_t;
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;
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;
44 typedef uint32_t xcb_sync_counter_t;
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;
55 typedef uint32_t xcb_sync_fence_t;
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;
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;
73 typedef enum xcb_sync_valuetype_t {
74 XCB_SYNC_VALUETYPE_ABSOLUTE = 0,
75 XCB_SYNC_VALUETYPE_RELATIVE = 1
76 } xcb_sync_valuetype_t;
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;
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;
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;
105 * @brief xcb_sync_systemcounter_t
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;
114 * @brief xcb_sync_systemcounter_iterator_t
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;
123 * @brief xcb_sync_trigger_t
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;
133 * @brief xcb_sync_trigger_iterator_t
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;
142 * @brief xcb_sync_waitcondition_t
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;
150 * @brief xcb_sync_waitcondition_iterator_t
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;
158 /** Opcode for xcb_sync_counter. */
159 #define XCB_SYNC_COUNTER 0
162 * @brief xcb_sync_counter_error_t
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;
173 /** Opcode for xcb_sync_alarm. */
174 #define XCB_SYNC_ALARM 1
177 * @brief xcb_sync_alarm_error_t
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;
189 * @brief xcb_sync_initialize_cookie_t
191 typedef struct xcb_sync_initialize_cookie_t {
192 unsigned int sequence; /**< */
193 } xcb_sync_initialize_cookie_t;
195 /** Opcode for xcb_sync_initialize. */
196 #define XCB_SYNC_INITIALIZE 0
199 * @brief xcb_sync_initialize_request_t
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;
210 * @brief xcb_sync_initialize_reply_t
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;
223 * @brief xcb_sync_list_system_counters_cookie_t
225 typedef struct xcb_sync_list_system_counters_cookie_t {
226 unsigned int sequence; /**< */
227 } xcb_sync_list_system_counters_cookie_t;
229 /** Opcode for xcb_sync_list_system_counters. */
230 #define XCB_SYNC_LIST_SYSTEM_COUNTERS 1
233 * @brief xcb_sync_list_system_counters_request_t
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;
242 * @brief xcb_sync_list_system_counters_reply_t
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;
253 /** Opcode for xcb_sync_create_counter. */
254 #define XCB_SYNC_CREATE_COUNTER 2
257 * @brief xcb_sync_create_counter_request_t
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;
267 /** Opcode for xcb_sync_destroy_counter. */
268 #define XCB_SYNC_DESTROY_COUNTER 6
271 * @brief xcb_sync_destroy_counter_request_t
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;
281 * @brief xcb_sync_query_counter_cookie_t
283 typedef struct xcb_sync_query_counter_cookie_t {
284 unsigned int sequence; /**< */
285 } xcb_sync_query_counter_cookie_t;
287 /** Opcode for xcb_sync_query_counter. */
288 #define XCB_SYNC_QUERY_COUNTER 5
291 * @brief xcb_sync_query_counter_request_t
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;
301 * @brief xcb_sync_query_counter_reply_t
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;
311 /** Opcode for xcb_sync_await. */
312 #define XCB_SYNC_AWAIT 7
315 * @brief xcb_sync_await_request_t
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;
323 /** Opcode for xcb_sync_change_counter. */
324 #define XCB_SYNC_CHANGE_COUNTER 4
327 * @brief xcb_sync_change_counter_request_t
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;
337 /** Opcode for xcb_sync_set_counter. */
338 #define XCB_SYNC_SET_COUNTER 3
341 * @brief xcb_sync_set_counter_request_t
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;
352 * @brief xcb_sync_create_alarm_value_list_t
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;
363 /** Opcode for xcb_sync_create_alarm. */
364 #define XCB_SYNC_CREATE_ALARM 8
367 * @brief xcb_sync_create_alarm_request_t
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;
378 * @brief xcb_sync_change_alarm_value_list_t
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;
389 /** Opcode for xcb_sync_change_alarm. */
390 #define XCB_SYNC_CHANGE_ALARM 9
393 * @brief xcb_sync_change_alarm_request_t
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;
403 /** Opcode for xcb_sync_destroy_alarm. */
404 #define XCB_SYNC_DESTROY_ALARM 11
407 * @brief xcb_sync_destroy_alarm_request_t
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;
417 * @brief xcb_sync_query_alarm_cookie_t
419 typedef struct xcb_sync_query_alarm_cookie_t {
420 unsigned int sequence; /**< */
421 } xcb_sync_query_alarm_cookie_t;
423 /** Opcode for xcb_sync_query_alarm. */
424 #define XCB_SYNC_QUERY_ALARM 10
427 * @brief xcb_sync_query_alarm_request_t
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;
437 * @brief xcb_sync_query_alarm_reply_t
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;
451 /** Opcode for xcb_sync_set_priority. */
452 #define XCB_SYNC_SET_PRIORITY 12
455 * @brief xcb_sync_set_priority_request_t
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;
466 * @brief xcb_sync_get_priority_cookie_t
468 typedef struct xcb_sync_get_priority_cookie_t {
469 unsigned int sequence; /**< */
470 } xcb_sync_get_priority_cookie_t;
472 /** Opcode for xcb_sync_get_priority. */
473 #define XCB_SYNC_GET_PRIORITY 13
476 * @brief xcb_sync_get_priority_request_t
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;
486 * @brief xcb_sync_get_priority_reply_t
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;
496 /** Opcode for xcb_sync_create_fence. */
497 #define XCB_SYNC_CREATE_FENCE 14
500 * @brief xcb_sync_create_fence_request_t
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;
511 /** Opcode for xcb_sync_trigger_fence. */
512 #define XCB_SYNC_TRIGGER_FENCE 15
515 * @brief xcb_sync_trigger_fence_request_t
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;
524 /** Opcode for xcb_sync_reset_fence. */
525 #define XCB_SYNC_RESET_FENCE 16
528 * @brief xcb_sync_reset_fence_request_t
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;
537 /** Opcode for xcb_sync_destroy_fence. */
538 #define XCB_SYNC_DESTROY_FENCE 17
541 * @brief xcb_sync_destroy_fence_request_t
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;
551 * @brief xcb_sync_query_fence_cookie_t
553 typedef struct xcb_sync_query_fence_cookie_t {
554 unsigned int sequence; /**< */
555 } xcb_sync_query_fence_cookie_t;
557 /** Opcode for xcb_sync_query_fence. */
558 #define XCB_SYNC_QUERY_FENCE 18
561 * @brief xcb_sync_query_fence_request_t
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;
571 * @brief xcb_sync_query_fence_reply_t
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;
582 /** Opcode for xcb_sync_await_fence. */
583 #define XCB_SYNC_AWAIT_FENCE 19
586 * @brief xcb_sync_await_fence_request_t
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;
594 /** Opcode for xcb_sync_counter_notify. */
595 #define XCB_SYNC_COUNTER_NOTIFY 0
598 * @brief xcb_sync_counter_notify_event_t
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;
613 /** Opcode for xcb_sync_alarm_notify. */
614 #define XCB_SYNC_ALARM_NOTIFY 1
617 * @brief xcb_sync_alarm_notify_event_t
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;
632 * Get the next element of the iterator
633 * @param i Pointer to a xcb_sync_alarm_iterator_t
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)
639 void
640 xcb_sync_alarm_next (xcb_sync_alarm_iterator_t *i /**< */);
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
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.
651 xcb_generic_iterator_t
652 xcb_sync_alarm_end (xcb_sync_alarm_iterator_t i /**< */);
655 * Get the next element of the iterator
656 * @param i Pointer to a xcb_sync_counter_iterator_t
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)
662 void
663 xcb_sync_counter_next (xcb_sync_counter_iterator_t *i /**< */);
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
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.
674 xcb_generic_iterator_t
675 xcb_sync_counter_end (xcb_sync_counter_iterator_t i /**< */);
678 * Get the next element of the iterator
679 * @param i Pointer to a xcb_sync_fence_iterator_t
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)
685 void
686 xcb_sync_fence_next (xcb_sync_fence_iterator_t *i /**< */);
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
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.
697 xcb_generic_iterator_t
698 xcb_sync_fence_end (xcb_sync_fence_iterator_t i /**< */);
701 * Get the next element of the iterator
702 * @param i Pointer to a xcb_sync_int64_iterator_t
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)
708 void
709 xcb_sync_int64_next (xcb_sync_int64_iterator_t *i /**< */);
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
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.
720 xcb_generic_iterator_t
721 xcb_sync_int64_end (xcb_sync_int64_iterator_t i /**< */);
724 xcb_sync_systemcounter_sizeof (const void *_buffer /**< */);
726 char *
727 xcb_sync_systemcounter_name (const xcb_sync_systemcounter_t *R /**< */);
730 xcb_sync_systemcounter_name_length (const xcb_sync_systemcounter_t *R /**< */);
732 xcb_generic_iterator_t
733 xcb_sync_systemcounter_name_end (const xcb_sync_systemcounter_t *R /**< */);
736 * Get the next element of the iterator
737 * @param i Pointer to a xcb_sync_systemcounter_iterator_t
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)
743 void
744 xcb_sync_systemcounter_next (xcb_sync_systemcounter_iterator_t *i /**< */);
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
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.
755 xcb_generic_iterator_t
756 xcb_sync_systemcounter_end (xcb_sync_systemcounter_iterator_t i /**< */);
759 * Get the next element of the iterator
760 * @param i Pointer to a xcb_sync_trigger_iterator_t
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)
766 void
767 xcb_sync_trigger_next (xcb_sync_trigger_iterator_t *i /**< */);
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
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.
778 xcb_generic_iterator_t
779 xcb_sync_trigger_end (xcb_sync_trigger_iterator_t i /**< */);
782 * Get the next element of the iterator
783 * @param i Pointer to a xcb_sync_waitcondition_iterator_t
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)
789 void
790 xcb_sync_waitcondition_next (xcb_sync_waitcondition_iterator_t *i /**< */);
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
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.
801 xcb_generic_iterator_t
802 xcb_sync_waitcondition_end (xcb_sync_waitcondition_iterator_t i /**< */);
806 * @param c The connection
807 * @return A cookie
809 * Delivers a request to the X server.
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 /**< */);
819 * @param c The connection
820 * @return A cookie
822 * Delivers a request to the X server.
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.
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 /**< */);
834 * Return the reply
835 * @param c The connection
836 * @param cookie The cookie
837 * @param e The xcb_generic_error_t supplied
839 * Returns the reply of the request asked by
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.
845 * The returned value must be freed by the caller using free().
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 /**< */);
853 xcb_sync_list_system_counters_sizeof (const void *_buffer /**< */);
857 * @param c The connection
858 * @return A cookie
860 * Delivers a request to the X server.
863 xcb_sync_list_system_counters_cookie_t
864 xcb_sync_list_system_counters (xcb_connection_t *c /**< */);
868 * @param c The connection
869 * @return A cookie
871 * Delivers a request to the X server.
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.
877 xcb_sync_list_system_counters_cookie_t
878 xcb_sync_list_system_counters_unchecked (xcb_connection_t *c /**< */);
881 xcb_sync_list_system_counters_counters_length (const xcb_sync_list_system_counters_reply_t *R /**< */);
883 xcb_sync_systemcounter_iterator_t
884 xcb_sync_list_system_counters_counters_iterator (const xcb_sync_list_system_counters_reply_t *R /**< */);
887 * Return the reply
888 * @param c The connection
889 * @param cookie The cookie
890 * @param e The xcb_generic_error_t supplied
892 * Returns the reply of the request asked by
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.
898 * The returned value must be freed by the caller using free().
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 /**< */);
907 * @param c The connection
908 * @return A cookie
910 * Delivers a request to the X server.
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().
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 /**< */);
923 * @param c The connection
924 * @return A cookie
926 * Delivers a request to the X server.
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 /**< */);
936 * @param c The connection
937 * @return A cookie
939 * Delivers a request to the X server.
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().
945 xcb_void_cookie_t
946 xcb_sync_destroy_counter_checked (xcb_connection_t *c /**< */,
947 xcb_sync_counter_t counter /**< */);
951 * @param c The connection
952 * @return A cookie
954 * Delivers a request to the X server.
957 xcb_void_cookie_t
958 xcb_sync_destroy_counter (xcb_connection_t *c /**< */,
959 xcb_sync_counter_t counter /**< */);
963 * @param c The connection
964 * @return A cookie
966 * Delivers a request to the X server.
969 xcb_sync_query_counter_cookie_t
970 xcb_sync_query_counter (xcb_connection_t *c /**< */,
971 xcb_sync_counter_t counter /**< */);
975 * @param c The connection
976 * @return A cookie
978 * Delivers a request to the X server.
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.
984 xcb_sync_query_counter_cookie_t
985 xcb_sync_query_counter_unchecked (xcb_connection_t *c /**< */,
986 xcb_sync_counter_t counter /**< */);
989 * Return the reply
990 * @param c The connection
991 * @param cookie The cookie
992 * @param e The xcb_generic_error_t supplied
994 * Returns the reply of the request asked by
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.
1000 * The returned value must be freed by the caller using free().
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 /**< */);
1008 xcb_sync_await_sizeof (const void *_buffer /**< */,
1009 uint32_t wait_list_len /**< */);
1013 * @param c The connection
1014 * @return A cookie
1016 * Delivers a request to the X server.
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().
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 /**< */);
1029 * @param c The connection
1030 * @return A cookie
1032 * Delivers a request to the X server.
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 /**< */);
1042 * @param c The connection
1043 * @return A cookie
1045 * Delivers a request to the X server.
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().
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 /**< */);
1058 * @param c The connection
1059 * @return A cookie
1061 * Delivers a request to the X server.
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 /**< */);
1071 * @param c The connection
1072 * @return A cookie
1074 * Delivers a request to the X server.
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().
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 /**< */);
1087 * @param c The connection
1088 * @return A cookie
1090 * Delivers a request to the X server.
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 /**< */);
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 /**< */);
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 /**< */);
1109 xcb_sync_create_alarm_value_list_sizeof (const void *_buffer /**< */,
1110 uint32_t value_mask /**< */);
1114 * @param c The connection
1115 * @return A cookie
1117 * Delivers a request to the X server.
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().
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 /**< */);
1131 * @param c The connection
1132 * @return A cookie
1134 * Delivers a request to the X server.
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 /**< */);
1145 * @param c The connection
1146 * @return A cookie
1148 * Delivers a request to the X server.
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().
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 /**< */);
1162 * @param c The connection
1163 * @return A cookie
1165 * Delivers a request to the X server.
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 /**< */);
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 /**< */);
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 /**< */);
1185 xcb_sync_change_alarm_value_list_sizeof (const void *_buffer /**< */,
1186 uint32_t value_mask /**< */);
1190 * @param c The connection
1191 * @return A cookie
1193 * Delivers a request to the X server.
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().
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 /**< */);
1207 * @param c The connection
1208 * @return A cookie
1210 * Delivers a request to the X server.
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 /**< */);
1221 * @param c The connection
1222 * @return A cookie
1224 * Delivers a request to the X server.
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().
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 /**< */);
1238 * @param c The connection
1239 * @return A cookie
1241 * Delivers a request to the X server.
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 /**< */);
1252 * @param c The connection
1253 * @return A cookie
1255 * Delivers a request to the X server.
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().
1261 xcb_void_cookie_t
1262 xcb_sync_destroy_alarm_checked (xcb_connection_t *c /**< */,
1263 xcb_sync_alarm_t alarm /**< */);
1267 * @param c The connection
1268 * @return A cookie
1270 * Delivers a request to the X server.
1273 xcb_void_cookie_t
1274 xcb_sync_destroy_alarm (xcb_connection_t *c /**< */,
1275 xcb_sync_alarm_t alarm /**< */);
1279 * @param c The connection
1280 * @return A cookie
1282 * Delivers a request to the X server.
1285 xcb_sync_query_alarm_cookie_t
1286 xcb_sync_query_alarm (xcb_connection_t *c /**< */,
1287 xcb_sync_alarm_t alarm /**< */);
1291 * @param c The connection
1292 * @return A cookie
1294 * Delivers a request to the X server.
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.
1300 xcb_sync_query_alarm_cookie_t
1301 xcb_sync_query_alarm_unchecked (xcb_connection_t *c /**< */,
1302 xcb_sync_alarm_t alarm /**< */);
1305 * Return the reply
1306 * @param c The connection
1307 * @param cookie The cookie
1308 * @param e The xcb_generic_error_t supplied
1310 * Returns the reply of the request asked by
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.
1316 * The returned value must be freed by the caller using free().
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 /**< */);
1325 * @param c The connection
1326 * @return A cookie
1328 * Delivers a request to the X server.
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().
1334 xcb_void_cookie_t
1335 xcb_sync_set_priority_checked (xcb_connection_t *c /**< */,
1336 uint32_t id /**< */,
1337 int32_t priority /**< */);
1341 * @param c The connection
1342 * @return A cookie
1344 * Delivers a request to the X server.
1347 xcb_void_cookie_t
1348 xcb_sync_set_priority (xcb_connection_t *c /**< */,
1349 uint32_t id /**< */,
1350 int32_t priority /**< */);
1354 * @param c The connection
1355 * @return A cookie
1357 * Delivers a request to the X server.
1360 xcb_sync_get_priority_cookie_t
1361 xcb_sync_get_priority (xcb_connection_t *c /**< */,
1362 uint32_t id /**< */);
1366 * @param c The connection
1367 * @return A cookie
1369 * Delivers a request to the X server.
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.
1375 xcb_sync_get_priority_cookie_t
1376 xcb_sync_get_priority_unchecked (xcb_connection_t *c /**< */,
1377 uint32_t id /**< */);
1380 * Return the reply
1381 * @param c The connection
1382 * @param cookie The cookie
1383 * @param e The xcb_generic_error_t supplied
1385 * Returns the reply of the request asked by
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.
1391 * The returned value must be freed by the caller using free().
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 /**< */);
1400 * @param c The connection
1401 * @return A cookie
1403 * Delivers a request to the X server.
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().
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 /**< */);
1417 * @param c The connection
1418 * @return A cookie
1420 * Delivers a request to the X server.
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 /**< */);
1431 * @param c The connection
1432 * @return A cookie
1434 * Delivers a request to the X server.
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().
1440 xcb_void_cookie_t
1441 xcb_sync_trigger_fence_checked (xcb_connection_t *c /**< */,
1442 xcb_sync_fence_t fence /**< */);
1446 * @param c The connection
1447 * @return A cookie
1449 * Delivers a request to the X server.
1452 xcb_void_cookie_t
1453 xcb_sync_trigger_fence (xcb_connection_t *c /**< */,
1454 xcb_sync_fence_t fence /**< */);
1458 * @param c The connection
1459 * @return A cookie
1461 * Delivers a request to the X server.
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().
1467 xcb_void_cookie_t
1468 xcb_sync_reset_fence_checked (xcb_connection_t *c /**< */,
1469 xcb_sync_fence_t fence /**< */);
1473 * @param c The connection
1474 * @return A cookie
1476 * Delivers a request to the X server.
1479 xcb_void_cookie_t
1480 xcb_sync_reset_fence (xcb_connection_t *c /**< */,
1481 xcb_sync_fence_t fence /**< */);
1485 * @param c The connection
1486 * @return A cookie
1488 * Delivers a request to the X server.
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().
1494 xcb_void_cookie_t
1495 xcb_sync_destroy_fence_checked (xcb_connection_t *c /**< */,
1496 xcb_sync_fence_t fence /**< */);
1500 * @param c The connection
1501 * @return A cookie
1503 * Delivers a request to the X server.
1506 xcb_void_cookie_t
1507 xcb_sync_destroy_fence (xcb_connection_t *c /**< */,
1508 xcb_sync_fence_t fence /**< */);
1512 * @param c The connection
1513 * @return A cookie
1515 * Delivers a request to the X server.
1518 xcb_sync_query_fence_cookie_t
1519 xcb_sync_query_fence (xcb_connection_t *c /**< */,
1520 xcb_sync_fence_t fence /**< */);
1524 * @param c The connection
1525 * @return A cookie
1527 * Delivers a request to the X server.
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.
1533 xcb_sync_query_fence_cookie_t
1534 xcb_sync_query_fence_unchecked (xcb_connection_t *c /**< */,
1535 xcb_sync_fence_t fence /**< */);
1538 * Return the reply
1539 * @param c The connection
1540 * @param cookie The cookie
1541 * @param e The xcb_generic_error_t supplied
1543 * Returns the reply of the request asked by
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.
1549 * The returned value must be freed by the caller using free().
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 /**< */);
1557 xcb_sync_await_fence_sizeof (const void *_buffer /**< */,
1558 uint32_t fence_list_len /**< */);
1562 * @param c The connection
1563 * @return A cookie
1565 * Delivers a request to the X server.
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().
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 /**< */);
1578 * @param c The connection
1579 * @return A cookie
1581 * Delivers a request to the X server.
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 /**< */);
1590 #ifdef __cplusplus
1592 #endif
1594 #endif
1597 * @}