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