xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xproto.c (revision c2f76ff004a2cb67efe5b12d97bd3ef7fe89e18d)
1 /*
2  * This file generated automatically from xproto.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 "xproto.h"
10 
11 
12 /*****************************************************************************
13  **
14  ** void xcb_char2b_next
15  **
16  ** @param xcb_char2b_iterator_t *i
17  ** @returns void
18  **
19  *****************************************************************************/
20 
21 void
22 xcb_char2b_next (xcb_char2b_iterator_t *i  /**< */)
23 {
24     --i->rem;
25     ++i->data;
26     i->index += sizeof(xcb_char2b_t);
27 }
28 
29 
30 /*****************************************************************************
31  **
32  ** xcb_generic_iterator_t xcb_char2b_end
33  **
34  ** @param xcb_char2b_iterator_t i
35  ** @returns xcb_generic_iterator_t
36  **
37  *****************************************************************************/
38 
39 xcb_generic_iterator_t
40 xcb_char2b_end (xcb_char2b_iterator_t i  /**< */)
41 {
42     xcb_generic_iterator_t ret;
43     ret.data = i.data + i.rem;
44     ret.index = i.index + ((char *) ret.data - (char *) i.data);
45     ret.rem = 0;
46     return ret;
47 }
48 
49 
50 /*****************************************************************************
51  **
52  ** void xcb_window_next
53  **
54  ** @param xcb_window_iterator_t *i
55  ** @returns void
56  **
57  *****************************************************************************/
58 
59 void
60 xcb_window_next (xcb_window_iterator_t *i  /**< */)
61 {
62     --i->rem;
63     ++i->data;
64     i->index += sizeof(xcb_window_t);
65 }
66 
67 
68 /*****************************************************************************
69  **
70  ** xcb_generic_iterator_t xcb_window_end
71  **
72  ** @param xcb_window_iterator_t i
73  ** @returns xcb_generic_iterator_t
74  **
75  *****************************************************************************/
76 
77 xcb_generic_iterator_t
78 xcb_window_end (xcb_window_iterator_t i  /**< */)
79 {
80     xcb_generic_iterator_t ret;
81     ret.data = i.data + i.rem;
82     ret.index = i.index + ((char *) ret.data - (char *) i.data);
83     ret.rem = 0;
84     return ret;
85 }
86 
87 
88 /*****************************************************************************
89  **
90  ** void xcb_pixmap_next
91  **
92  ** @param xcb_pixmap_iterator_t *i
93  ** @returns void
94  **
95  *****************************************************************************/
96 
97 void
98 xcb_pixmap_next (xcb_pixmap_iterator_t *i  /**< */)
99 {
100     --i->rem;
101     ++i->data;
102     i->index += sizeof(xcb_pixmap_t);
103 }
104 
105 
106 /*****************************************************************************
107  **
108  ** xcb_generic_iterator_t xcb_pixmap_end
109  **
110  ** @param xcb_pixmap_iterator_t i
111  ** @returns xcb_generic_iterator_t
112  **
113  *****************************************************************************/
114 
115 xcb_generic_iterator_t
116 xcb_pixmap_end (xcb_pixmap_iterator_t i  /**< */)
117 {
118     xcb_generic_iterator_t ret;
119     ret.data = i.data + i.rem;
120     ret.index = i.index + ((char *) ret.data - (char *) i.data);
121     ret.rem = 0;
122     return ret;
123 }
124 
125 
126 /*****************************************************************************
127  **
128  ** void xcb_cursor_next
129  **
130  ** @param xcb_cursor_iterator_t *i
131  ** @returns void
132  **
133  *****************************************************************************/
134 
135 void
136 xcb_cursor_next (xcb_cursor_iterator_t *i  /**< */)
137 {
138     --i->rem;
139     ++i->data;
140     i->index += sizeof(xcb_cursor_t);
141 }
142 
143 
144 /*****************************************************************************
145  **
146  ** xcb_generic_iterator_t xcb_cursor_end
147  **
148  ** @param xcb_cursor_iterator_t i
149  ** @returns xcb_generic_iterator_t
150  **
151  *****************************************************************************/
152 
153 xcb_generic_iterator_t
154 xcb_cursor_end (xcb_cursor_iterator_t i  /**< */)
155 {
156     xcb_generic_iterator_t ret;
157     ret.data = i.data + i.rem;
158     ret.index = i.index + ((char *) ret.data - (char *) i.data);
159     ret.rem = 0;
160     return ret;
161 }
162 
163 
164 /*****************************************************************************
165  **
166  ** void xcb_font_next
167  **
168  ** @param xcb_font_iterator_t *i
169  ** @returns void
170  **
171  *****************************************************************************/
172 
173 void
174 xcb_font_next (xcb_font_iterator_t *i  /**< */)
175 {
176     --i->rem;
177     ++i->data;
178     i->index += sizeof(xcb_font_t);
179 }
180 
181 
182 /*****************************************************************************
183  **
184  ** xcb_generic_iterator_t xcb_font_end
185  **
186  ** @param xcb_font_iterator_t i
187  ** @returns xcb_generic_iterator_t
188  **
189  *****************************************************************************/
190 
191 xcb_generic_iterator_t
192 xcb_font_end (xcb_font_iterator_t i  /**< */)
193 {
194     xcb_generic_iterator_t ret;
195     ret.data = i.data + i.rem;
196     ret.index = i.index + ((char *) ret.data - (char *) i.data);
197     ret.rem = 0;
198     return ret;
199 }
200 
201 
202 /*****************************************************************************
203  **
204  ** void xcb_gcontext_next
205  **
206  ** @param xcb_gcontext_iterator_t *i
207  ** @returns void
208  **
209  *****************************************************************************/
210 
211 void
212 xcb_gcontext_next (xcb_gcontext_iterator_t *i  /**< */)
213 {
214     --i->rem;
215     ++i->data;
216     i->index += sizeof(xcb_gcontext_t);
217 }
218 
219 
220 /*****************************************************************************
221  **
222  ** xcb_generic_iterator_t xcb_gcontext_end
223  **
224  ** @param xcb_gcontext_iterator_t i
225  ** @returns xcb_generic_iterator_t
226  **
227  *****************************************************************************/
228 
229 xcb_generic_iterator_t
230 xcb_gcontext_end (xcb_gcontext_iterator_t i  /**< */)
231 {
232     xcb_generic_iterator_t ret;
233     ret.data = i.data + i.rem;
234     ret.index = i.index + ((char *) ret.data - (char *) i.data);
235     ret.rem = 0;
236     return ret;
237 }
238 
239 
240 /*****************************************************************************
241  **
242  ** void xcb_colormap_next
243  **
244  ** @param xcb_colormap_iterator_t *i
245  ** @returns void
246  **
247  *****************************************************************************/
248 
249 void
250 xcb_colormap_next (xcb_colormap_iterator_t *i  /**< */)
251 {
252     --i->rem;
253     ++i->data;
254     i->index += sizeof(xcb_colormap_t);
255 }
256 
257 
258 /*****************************************************************************
259  **
260  ** xcb_generic_iterator_t xcb_colormap_end
261  **
262  ** @param xcb_colormap_iterator_t i
263  ** @returns xcb_generic_iterator_t
264  **
265  *****************************************************************************/
266 
267 xcb_generic_iterator_t
268 xcb_colormap_end (xcb_colormap_iterator_t i  /**< */)
269 {
270     xcb_generic_iterator_t ret;
271     ret.data = i.data + i.rem;
272     ret.index = i.index + ((char *) ret.data - (char *) i.data);
273     ret.rem = 0;
274     return ret;
275 }
276 
277 
278 /*****************************************************************************
279  **
280  ** void xcb_atom_next
281  **
282  ** @param xcb_atom_iterator_t *i
283  ** @returns void
284  **
285  *****************************************************************************/
286 
287 void
288 xcb_atom_next (xcb_atom_iterator_t *i  /**< */)
289 {
290     --i->rem;
291     ++i->data;
292     i->index += sizeof(xcb_atom_t);
293 }
294 
295 
296 /*****************************************************************************
297  **
298  ** xcb_generic_iterator_t xcb_atom_end
299  **
300  ** @param xcb_atom_iterator_t i
301  ** @returns xcb_generic_iterator_t
302  **
303  *****************************************************************************/
304 
305 xcb_generic_iterator_t
306 xcb_atom_end (xcb_atom_iterator_t i  /**< */)
307 {
308     xcb_generic_iterator_t ret;
309     ret.data = i.data + i.rem;
310     ret.index = i.index + ((char *) ret.data - (char *) i.data);
311     ret.rem = 0;
312     return ret;
313 }
314 
315 
316 /*****************************************************************************
317  **
318  ** void xcb_drawable_next
319  **
320  ** @param xcb_drawable_iterator_t *i
321  ** @returns void
322  **
323  *****************************************************************************/
324 
325 void
326 xcb_drawable_next (xcb_drawable_iterator_t *i  /**< */)
327 {
328     --i->rem;
329     ++i->data;
330     i->index += sizeof(xcb_drawable_t);
331 }
332 
333 
334 /*****************************************************************************
335  **
336  ** xcb_generic_iterator_t xcb_drawable_end
337  **
338  ** @param xcb_drawable_iterator_t i
339  ** @returns xcb_generic_iterator_t
340  **
341  *****************************************************************************/
342 
343 xcb_generic_iterator_t
344 xcb_drawable_end (xcb_drawable_iterator_t i  /**< */)
345 {
346     xcb_generic_iterator_t ret;
347     ret.data = i.data + i.rem;
348     ret.index = i.index + ((char *) ret.data - (char *) i.data);
349     ret.rem = 0;
350     return ret;
351 }
352 
353 
354 /*****************************************************************************
355  **
356  ** void xcb_fontable_next
357  **
358  ** @param xcb_fontable_iterator_t *i
359  ** @returns void
360  **
361  *****************************************************************************/
362 
363 void
364 xcb_fontable_next (xcb_fontable_iterator_t *i  /**< */)
365 {
366     --i->rem;
367     ++i->data;
368     i->index += sizeof(xcb_fontable_t);
369 }
370 
371 
372 /*****************************************************************************
373  **
374  ** xcb_generic_iterator_t xcb_fontable_end
375  **
376  ** @param xcb_fontable_iterator_t i
377  ** @returns xcb_generic_iterator_t
378  **
379  *****************************************************************************/
380 
381 xcb_generic_iterator_t
382 xcb_fontable_end (xcb_fontable_iterator_t i  /**< */)
383 {
384     xcb_generic_iterator_t ret;
385     ret.data = i.data + i.rem;
386     ret.index = i.index + ((char *) ret.data - (char *) i.data);
387     ret.rem = 0;
388     return ret;
389 }
390 
391 
392 /*****************************************************************************
393  **
394  ** void xcb_visualid_next
395  **
396  ** @param xcb_visualid_iterator_t *i
397  ** @returns void
398  **
399  *****************************************************************************/
400 
401 void
402 xcb_visualid_next (xcb_visualid_iterator_t *i  /**< */)
403 {
404     --i->rem;
405     ++i->data;
406     i->index += sizeof(xcb_visualid_t);
407 }
408 
409 
410 /*****************************************************************************
411  **
412  ** xcb_generic_iterator_t xcb_visualid_end
413  **
414  ** @param xcb_visualid_iterator_t i
415  ** @returns xcb_generic_iterator_t
416  **
417  *****************************************************************************/
418 
419 xcb_generic_iterator_t
420 xcb_visualid_end (xcb_visualid_iterator_t i  /**< */)
421 {
422     xcb_generic_iterator_t ret;
423     ret.data = i.data + i.rem;
424     ret.index = i.index + ((char *) ret.data - (char *) i.data);
425     ret.rem = 0;
426     return ret;
427 }
428 
429 
430 /*****************************************************************************
431  **
432  ** void xcb_timestamp_next
433  **
434  ** @param xcb_timestamp_iterator_t *i
435  ** @returns void
436  **
437  *****************************************************************************/
438 
439 void
440 xcb_timestamp_next (xcb_timestamp_iterator_t *i  /**< */)
441 {
442     --i->rem;
443     ++i->data;
444     i->index += sizeof(xcb_timestamp_t);
445 }
446 
447 
448 /*****************************************************************************
449  **
450  ** xcb_generic_iterator_t xcb_timestamp_end
451  **
452  ** @param xcb_timestamp_iterator_t i
453  ** @returns xcb_generic_iterator_t
454  **
455  *****************************************************************************/
456 
457 xcb_generic_iterator_t
458 xcb_timestamp_end (xcb_timestamp_iterator_t i  /**< */)
459 {
460     xcb_generic_iterator_t ret;
461     ret.data = i.data + i.rem;
462     ret.index = i.index + ((char *) ret.data - (char *) i.data);
463     ret.rem = 0;
464     return ret;
465 }
466 
467 
468 /*****************************************************************************
469  **
470  ** void xcb_keysym_next
471  **
472  ** @param xcb_keysym_iterator_t *i
473  ** @returns void
474  **
475  *****************************************************************************/
476 
477 void
478 xcb_keysym_next (xcb_keysym_iterator_t *i  /**< */)
479 {
480     --i->rem;
481     ++i->data;
482     i->index += sizeof(xcb_keysym_t);
483 }
484 
485 
486 /*****************************************************************************
487  **
488  ** xcb_generic_iterator_t xcb_keysym_end
489  **
490  ** @param xcb_keysym_iterator_t i
491  ** @returns xcb_generic_iterator_t
492  **
493  *****************************************************************************/
494 
495 xcb_generic_iterator_t
496 xcb_keysym_end (xcb_keysym_iterator_t i  /**< */)
497 {
498     xcb_generic_iterator_t ret;
499     ret.data = i.data + i.rem;
500     ret.index = i.index + ((char *) ret.data - (char *) i.data);
501     ret.rem = 0;
502     return ret;
503 }
504 
505 
506 /*****************************************************************************
507  **
508  ** void xcb_keycode_next
509  **
510  ** @param xcb_keycode_iterator_t *i
511  ** @returns void
512  **
513  *****************************************************************************/
514 
515 void
516 xcb_keycode_next (xcb_keycode_iterator_t *i  /**< */)
517 {
518     --i->rem;
519     ++i->data;
520     i->index += sizeof(xcb_keycode_t);
521 }
522 
523 
524 /*****************************************************************************
525  **
526  ** xcb_generic_iterator_t xcb_keycode_end
527  **
528  ** @param xcb_keycode_iterator_t i
529  ** @returns xcb_generic_iterator_t
530  **
531  *****************************************************************************/
532 
533 xcb_generic_iterator_t
534 xcb_keycode_end (xcb_keycode_iterator_t i  /**< */)
535 {
536     xcb_generic_iterator_t ret;
537     ret.data = i.data + i.rem;
538     ret.index = i.index + ((char *) ret.data - (char *) i.data);
539     ret.rem = 0;
540     return ret;
541 }
542 
543 
544 /*****************************************************************************
545  **
546  ** void xcb_button_next
547  **
548  ** @param xcb_button_iterator_t *i
549  ** @returns void
550  **
551  *****************************************************************************/
552 
553 void
554 xcb_button_next (xcb_button_iterator_t *i  /**< */)
555 {
556     --i->rem;
557     ++i->data;
558     i->index += sizeof(xcb_button_t);
559 }
560 
561 
562 /*****************************************************************************
563  **
564  ** xcb_generic_iterator_t xcb_button_end
565  **
566  ** @param xcb_button_iterator_t i
567  ** @returns xcb_generic_iterator_t
568  **
569  *****************************************************************************/
570 
571 xcb_generic_iterator_t
572 xcb_button_end (xcb_button_iterator_t i  /**< */)
573 {
574     xcb_generic_iterator_t ret;
575     ret.data = i.data + i.rem;
576     ret.index = i.index + ((char *) ret.data - (char *) i.data);
577     ret.rem = 0;
578     return ret;
579 }
580 
581 
582 /*****************************************************************************
583  **
584  ** void xcb_point_next
585  **
586  ** @param xcb_point_iterator_t *i
587  ** @returns void
588  **
589  *****************************************************************************/
590 
591 void
592 xcb_point_next (xcb_point_iterator_t *i  /**< */)
593 {
594     --i->rem;
595     ++i->data;
596     i->index += sizeof(xcb_point_t);
597 }
598 
599 
600 /*****************************************************************************
601  **
602  ** xcb_generic_iterator_t xcb_point_end
603  **
604  ** @param xcb_point_iterator_t i
605  ** @returns xcb_generic_iterator_t
606  **
607  *****************************************************************************/
608 
609 xcb_generic_iterator_t
610 xcb_point_end (xcb_point_iterator_t i  /**< */)
611 {
612     xcb_generic_iterator_t ret;
613     ret.data = i.data + i.rem;
614     ret.index = i.index + ((char *) ret.data - (char *) i.data);
615     ret.rem = 0;
616     return ret;
617 }
618 
619 
620 /*****************************************************************************
621  **
622  ** void xcb_rectangle_next
623  **
624  ** @param xcb_rectangle_iterator_t *i
625  ** @returns void
626  **
627  *****************************************************************************/
628 
629 void
630 xcb_rectangle_next (xcb_rectangle_iterator_t *i  /**< */)
631 {
632     --i->rem;
633     ++i->data;
634     i->index += sizeof(xcb_rectangle_t);
635 }
636 
637 
638 /*****************************************************************************
639  **
640  ** xcb_generic_iterator_t xcb_rectangle_end
641  **
642  ** @param xcb_rectangle_iterator_t i
643  ** @returns xcb_generic_iterator_t
644  **
645  *****************************************************************************/
646 
647 xcb_generic_iterator_t
648 xcb_rectangle_end (xcb_rectangle_iterator_t i  /**< */)
649 {
650     xcb_generic_iterator_t ret;
651     ret.data = i.data + i.rem;
652     ret.index = i.index + ((char *) ret.data - (char *) i.data);
653     ret.rem = 0;
654     return ret;
655 }
656 
657 
658 /*****************************************************************************
659  **
660  ** void xcb_arc_next
661  **
662  ** @param xcb_arc_iterator_t *i
663  ** @returns void
664  **
665  *****************************************************************************/
666 
667 void
668 xcb_arc_next (xcb_arc_iterator_t *i  /**< */)
669 {
670     --i->rem;
671     ++i->data;
672     i->index += sizeof(xcb_arc_t);
673 }
674 
675 
676 /*****************************************************************************
677  **
678  ** xcb_generic_iterator_t xcb_arc_end
679  **
680  ** @param xcb_arc_iterator_t i
681  ** @returns xcb_generic_iterator_t
682  **
683  *****************************************************************************/
684 
685 xcb_generic_iterator_t
686 xcb_arc_end (xcb_arc_iterator_t i  /**< */)
687 {
688     xcb_generic_iterator_t ret;
689     ret.data = i.data + i.rem;
690     ret.index = i.index + ((char *) ret.data - (char *) i.data);
691     ret.rem = 0;
692     return ret;
693 }
694 
695 
696 /*****************************************************************************
697  **
698  ** void xcb_format_next
699  **
700  ** @param xcb_format_iterator_t *i
701  ** @returns void
702  **
703  *****************************************************************************/
704 
705 void
706 xcb_format_next (xcb_format_iterator_t *i  /**< */)
707 {
708     --i->rem;
709     ++i->data;
710     i->index += sizeof(xcb_format_t);
711 }
712 
713 
714 /*****************************************************************************
715  **
716  ** xcb_generic_iterator_t xcb_format_end
717  **
718  ** @param xcb_format_iterator_t i
719  ** @returns xcb_generic_iterator_t
720  **
721  *****************************************************************************/
722 
723 xcb_generic_iterator_t
724 xcb_format_end (xcb_format_iterator_t i  /**< */)
725 {
726     xcb_generic_iterator_t ret;
727     ret.data = i.data + i.rem;
728     ret.index = i.index + ((char *) ret.data - (char *) i.data);
729     ret.rem = 0;
730     return ret;
731 }
732 
733 
734 /*****************************************************************************
735  **
736  ** void xcb_visualtype_next
737  **
738  ** @param xcb_visualtype_iterator_t *i
739  ** @returns void
740  **
741  *****************************************************************************/
742 
743 void
744 xcb_visualtype_next (xcb_visualtype_iterator_t *i  /**< */)
745 {
746     --i->rem;
747     ++i->data;
748     i->index += sizeof(xcb_visualtype_t);
749 }
750 
751 
752 /*****************************************************************************
753  **
754  ** xcb_generic_iterator_t xcb_visualtype_end
755  **
756  ** @param xcb_visualtype_iterator_t i
757  ** @returns xcb_generic_iterator_t
758  **
759  *****************************************************************************/
760 
761 xcb_generic_iterator_t
762 xcb_visualtype_end (xcb_visualtype_iterator_t i  /**< */)
763 {
764     xcb_generic_iterator_t ret;
765     ret.data = i.data + i.rem;
766     ret.index = i.index + ((char *) ret.data - (char *) i.data);
767     ret.rem = 0;
768     return ret;
769 }
770 
771 
772 /*****************************************************************************
773  **
774  ** xcb_visualtype_t * xcb_depth_visuals
775  **
776  ** @param const xcb_depth_t *R
777  ** @returns xcb_visualtype_t *
778  **
779  *****************************************************************************/
780 
781 xcb_visualtype_t *
782 xcb_depth_visuals (const xcb_depth_t *R  /**< */)
783 {
784     return (xcb_visualtype_t *) (R + 1);
785 }
786 
787 
788 /*****************************************************************************
789  **
790  ** int xcb_depth_visuals_length
791  **
792  ** @param const xcb_depth_t *R
793  ** @returns int
794  **
795  *****************************************************************************/
796 
797 int
798 xcb_depth_visuals_length (const xcb_depth_t *R  /**< */)
799 {
800     return R->visuals_len;
801 }
802 
803 
804 /*****************************************************************************
805  **
806  ** xcb_visualtype_iterator_t xcb_depth_visuals_iterator
807  **
808  ** @param const xcb_depth_t *R
809  ** @returns xcb_visualtype_iterator_t
810  **
811  *****************************************************************************/
812 
813 xcb_visualtype_iterator_t
814 xcb_depth_visuals_iterator (const xcb_depth_t *R  /**< */)
815 {
816     xcb_visualtype_iterator_t i;
817     i.data = (xcb_visualtype_t *) (R + 1);
818     i.rem = R->visuals_len;
819     i.index = (char *) i.data - (char *) R;
820     return i;
821 }
822 
823 
824 /*****************************************************************************
825  **
826  ** void xcb_depth_next
827  **
828  ** @param xcb_depth_iterator_t *i
829  ** @returns void
830  **
831  *****************************************************************************/
832 
833 void
834 xcb_depth_next (xcb_depth_iterator_t *i  /**< */)
835 {
836     xcb_depth_t *R = i->data;
837     xcb_generic_iterator_t child = xcb_visualtype_end(xcb_depth_visuals_iterator(R));
838     --i->rem;
839     i->data = (xcb_depth_t *) child.data;
840     i->index = child.index;
841 }
842 
843 
844 /*****************************************************************************
845  **
846  ** xcb_generic_iterator_t xcb_depth_end
847  **
848  ** @param xcb_depth_iterator_t i
849  ** @returns xcb_generic_iterator_t
850  **
851  *****************************************************************************/
852 
853 xcb_generic_iterator_t
854 xcb_depth_end (xcb_depth_iterator_t i  /**< */)
855 {
856     xcb_generic_iterator_t ret;
857     while(i.rem > 0)
858         xcb_depth_next(&i);
859     ret.data = i.data;
860     ret.rem = i.rem;
861     ret.index = i.index;
862     return ret;
863 }
864 
865 
866 /*****************************************************************************
867  **
868  ** int xcb_screen_allowed_depths_length
869  **
870  ** @param const xcb_screen_t *R
871  ** @returns int
872  **
873  *****************************************************************************/
874 
875 int
876 xcb_screen_allowed_depths_length (const xcb_screen_t *R  /**< */)
877 {
878     return R->allowed_depths_len;
879 }
880 
881 
882 /*****************************************************************************
883  **
884  ** xcb_depth_iterator_t xcb_screen_allowed_depths_iterator
885  **
886  ** @param const xcb_screen_t *R
887  ** @returns xcb_depth_iterator_t
888  **
889  *****************************************************************************/
890 
891 xcb_depth_iterator_t
892 xcb_screen_allowed_depths_iterator (const xcb_screen_t *R  /**< */)
893 {
894     xcb_depth_iterator_t i;
895     i.data = (xcb_depth_t *) (R + 1);
896     i.rem = R->allowed_depths_len;
897     i.index = (char *) i.data - (char *) R;
898     return i;
899 }
900 
901 
902 /*****************************************************************************
903  **
904  ** void xcb_screen_next
905  **
906  ** @param xcb_screen_iterator_t *i
907  ** @returns void
908  **
909  *****************************************************************************/
910 
911 void
912 xcb_screen_next (xcb_screen_iterator_t *i  /**< */)
913 {
914     xcb_screen_t *R = i->data;
915     xcb_generic_iterator_t child = xcb_depth_end(xcb_screen_allowed_depths_iterator(R));
916     --i->rem;
917     i->data = (xcb_screen_t *) child.data;
918     i->index = child.index;
919 }
920 
921 
922 /*****************************************************************************
923  **
924  ** xcb_generic_iterator_t xcb_screen_end
925  **
926  ** @param xcb_screen_iterator_t i
927  ** @returns xcb_generic_iterator_t
928  **
929  *****************************************************************************/
930 
931 xcb_generic_iterator_t
932 xcb_screen_end (xcb_screen_iterator_t i  /**< */)
933 {
934     xcb_generic_iterator_t ret;
935     while(i.rem > 0)
936         xcb_screen_next(&i);
937     ret.data = i.data;
938     ret.rem = i.rem;
939     ret.index = i.index;
940     return ret;
941 }
942 
943 
944 /*****************************************************************************
945  **
946  ** char * xcb_setup_request_authorization_protocol_name
947  **
948  ** @param const xcb_setup_request_t *R
949  ** @returns char *
950  **
951  *****************************************************************************/
952 
953 char *
954 xcb_setup_request_authorization_protocol_name (const xcb_setup_request_t *R  /**< */)
955 {
956     return (char *) (R + 1);
957 }
958 
959 
960 /*****************************************************************************
961  **
962  ** int xcb_setup_request_authorization_protocol_name_length
963  **
964  ** @param const xcb_setup_request_t *R
965  ** @returns int
966  **
967  *****************************************************************************/
968 
969 int
970 xcb_setup_request_authorization_protocol_name_length (const xcb_setup_request_t *R  /**< */)
971 {
972     return R->authorization_protocol_name_len;
973 }
974 
975 
976 /*****************************************************************************
977  **
978  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_name_end
979  **
980  ** @param const xcb_setup_request_t *R
981  ** @returns xcb_generic_iterator_t
982  **
983  *****************************************************************************/
984 
985 xcb_generic_iterator_t
986 xcb_setup_request_authorization_protocol_name_end (const xcb_setup_request_t *R  /**< */)
987 {
988     xcb_generic_iterator_t i;
989     i.data = ((char *) (R + 1)) + (R->authorization_protocol_name_len);
990     i.rem = 0;
991     i.index = (char *) i.data - (char *) R;
992     return i;
993 }
994 
995 
996 /*****************************************************************************
997  **
998  ** char * xcb_setup_request_authorization_protocol_data
999  **
1000  ** @param const xcb_setup_request_t *R
1001  ** @returns char *
1002  **
1003  *****************************************************************************/
1004 
1005 char *
1006 xcb_setup_request_authorization_protocol_data (const xcb_setup_request_t *R  /**< */)
1007 {
1008     xcb_generic_iterator_t prev = xcb_setup_request_authorization_protocol_name_end(R);
1009     return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
1010 }
1011 
1012 
1013 /*****************************************************************************
1014  **
1015  ** int xcb_setup_request_authorization_protocol_data_length
1016  **
1017  ** @param const xcb_setup_request_t *R
1018  ** @returns int
1019  **
1020  *****************************************************************************/
1021 
1022 int
1023 xcb_setup_request_authorization_protocol_data_length (const xcb_setup_request_t *R  /**< */)
1024 {
1025     return R->authorization_protocol_data_len;
1026 }
1027 
1028 
1029 /*****************************************************************************
1030  **
1031  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_data_end
1032  **
1033  ** @param const xcb_setup_request_t *R
1034  ** @returns xcb_generic_iterator_t
1035  **
1036  *****************************************************************************/
1037 
1038 xcb_generic_iterator_t
1039 xcb_setup_request_authorization_protocol_data_end (const xcb_setup_request_t *R  /**< */)
1040 {
1041     xcb_generic_iterator_t i;
1042     xcb_generic_iterator_t child = xcb_setup_request_authorization_protocol_name_end(R);
1043     i.data = ((char *) child.data) + (R->authorization_protocol_data_len);
1044     i.rem = 0;
1045     i.index = (char *) i.data - (char *) R;
1046     return i;
1047 }
1048 
1049 
1050 /*****************************************************************************
1051  **
1052  ** void xcb_setup_request_next
1053  **
1054  ** @param xcb_setup_request_iterator_t *i
1055  ** @returns void
1056  **
1057  *****************************************************************************/
1058 
1059 void
1060 xcb_setup_request_next (xcb_setup_request_iterator_t *i  /**< */)
1061 {
1062     xcb_setup_request_t *R = i->data;
1063     xcb_generic_iterator_t child = xcb_setup_request_authorization_protocol_data_end(R);
1064     --i->rem;
1065     i->data = (xcb_setup_request_t *) child.data;
1066     i->index = child.index;
1067 }
1068 
1069 
1070 /*****************************************************************************
1071  **
1072  ** xcb_generic_iterator_t xcb_setup_request_end
1073  **
1074  ** @param xcb_setup_request_iterator_t i
1075  ** @returns xcb_generic_iterator_t
1076  **
1077  *****************************************************************************/
1078 
1079 xcb_generic_iterator_t
1080 xcb_setup_request_end (xcb_setup_request_iterator_t i  /**< */)
1081 {
1082     xcb_generic_iterator_t ret;
1083     while(i.rem > 0)
1084         xcb_setup_request_next(&i);
1085     ret.data = i.data;
1086     ret.rem = i.rem;
1087     ret.index = i.index;
1088     return ret;
1089 }
1090 
1091 
1092 /*****************************************************************************
1093  **
1094  ** char * xcb_setup_failed_reason
1095  **
1096  ** @param const xcb_setup_failed_t *R
1097  ** @returns char *
1098  **
1099  *****************************************************************************/
1100 
1101 char *
1102 xcb_setup_failed_reason (const xcb_setup_failed_t *R  /**< */)
1103 {
1104     return (char *) (R + 1);
1105 }
1106 
1107 
1108 /*****************************************************************************
1109  **
1110  ** int xcb_setup_failed_reason_length
1111  **
1112  ** @param const xcb_setup_failed_t *R
1113  ** @returns int
1114  **
1115  *****************************************************************************/
1116 
1117 int
1118 xcb_setup_failed_reason_length (const xcb_setup_failed_t *R  /**< */)
1119 {
1120     return R->reason_len;
1121 }
1122 
1123 
1124 /*****************************************************************************
1125  **
1126  ** xcb_generic_iterator_t xcb_setup_failed_reason_end
1127  **
1128  ** @param const xcb_setup_failed_t *R
1129  ** @returns xcb_generic_iterator_t
1130  **
1131  *****************************************************************************/
1132 
1133 xcb_generic_iterator_t
1134 xcb_setup_failed_reason_end (const xcb_setup_failed_t *R  /**< */)
1135 {
1136     xcb_generic_iterator_t i;
1137     i.data = ((char *) (R + 1)) + (R->reason_len);
1138     i.rem = 0;
1139     i.index = (char *) i.data - (char *) R;
1140     return i;
1141 }
1142 
1143 
1144 /*****************************************************************************
1145  **
1146  ** void xcb_setup_failed_next
1147  **
1148  ** @param xcb_setup_failed_iterator_t *i
1149  ** @returns void
1150  **
1151  *****************************************************************************/
1152 
1153 void
1154 xcb_setup_failed_next (xcb_setup_failed_iterator_t *i  /**< */)
1155 {
1156     xcb_setup_failed_t *R = i->data;
1157     xcb_generic_iterator_t child = xcb_setup_failed_reason_end(R);
1158     --i->rem;
1159     i->data = (xcb_setup_failed_t *) child.data;
1160     i->index = child.index;
1161 }
1162 
1163 
1164 /*****************************************************************************
1165  **
1166  ** xcb_generic_iterator_t xcb_setup_failed_end
1167  **
1168  ** @param xcb_setup_failed_iterator_t i
1169  ** @returns xcb_generic_iterator_t
1170  **
1171  *****************************************************************************/
1172 
1173 xcb_generic_iterator_t
1174 xcb_setup_failed_end (xcb_setup_failed_iterator_t i  /**< */)
1175 {
1176     xcb_generic_iterator_t ret;
1177     while(i.rem > 0)
1178         xcb_setup_failed_next(&i);
1179     ret.data = i.data;
1180     ret.rem = i.rem;
1181     ret.index = i.index;
1182     return ret;
1183 }
1184 
1185 
1186 /*****************************************************************************
1187  **
1188  ** char * xcb_setup_authenticate_reason
1189  **
1190  ** @param const xcb_setup_authenticate_t *R
1191  ** @returns char *
1192  **
1193  *****************************************************************************/
1194 
1195 char *
1196 xcb_setup_authenticate_reason (const xcb_setup_authenticate_t *R  /**< */)
1197 {
1198     return (char *) (R + 1);
1199 }
1200 
1201 
1202 /*****************************************************************************
1203  **
1204  ** int xcb_setup_authenticate_reason_length
1205  **
1206  ** @param const xcb_setup_authenticate_t *R
1207  ** @returns int
1208  **
1209  *****************************************************************************/
1210 
1211 int
1212 xcb_setup_authenticate_reason_length (const xcb_setup_authenticate_t *R  /**< */)
1213 {
1214     return (R->length * 4);
1215 }
1216 
1217 
1218 /*****************************************************************************
1219  **
1220  ** xcb_generic_iterator_t xcb_setup_authenticate_reason_end
1221  **
1222  ** @param const xcb_setup_authenticate_t *R
1223  ** @returns xcb_generic_iterator_t
1224  **
1225  *****************************************************************************/
1226 
1227 xcb_generic_iterator_t
1228 xcb_setup_authenticate_reason_end (const xcb_setup_authenticate_t *R  /**< */)
1229 {
1230     xcb_generic_iterator_t i;
1231     i.data = ((char *) (R + 1)) + ((R->length * 4));
1232     i.rem = 0;
1233     i.index = (char *) i.data - (char *) R;
1234     return i;
1235 }
1236 
1237 
1238 /*****************************************************************************
1239  **
1240  ** void xcb_setup_authenticate_next
1241  **
1242  ** @param xcb_setup_authenticate_iterator_t *i
1243  ** @returns void
1244  **
1245  *****************************************************************************/
1246 
1247 void
1248 xcb_setup_authenticate_next (xcb_setup_authenticate_iterator_t *i  /**< */)
1249 {
1250     xcb_setup_authenticate_t *R = i->data;
1251     xcb_generic_iterator_t child = xcb_setup_authenticate_reason_end(R);
1252     --i->rem;
1253     i->data = (xcb_setup_authenticate_t *) child.data;
1254     i->index = child.index;
1255 }
1256 
1257 
1258 /*****************************************************************************
1259  **
1260  ** xcb_generic_iterator_t xcb_setup_authenticate_end
1261  **
1262  ** @param xcb_setup_authenticate_iterator_t i
1263  ** @returns xcb_generic_iterator_t
1264  **
1265  *****************************************************************************/
1266 
1267 xcb_generic_iterator_t
1268 xcb_setup_authenticate_end (xcb_setup_authenticate_iterator_t i  /**< */)
1269 {
1270     xcb_generic_iterator_t ret;
1271     while(i.rem > 0)
1272         xcb_setup_authenticate_next(&i);
1273     ret.data = i.data;
1274     ret.rem = i.rem;
1275     ret.index = i.index;
1276     return ret;
1277 }
1278 
1279 
1280 /*****************************************************************************
1281  **
1282  ** char * xcb_setup_vendor
1283  **
1284  ** @param const xcb_setup_t *R
1285  ** @returns char *
1286  **
1287  *****************************************************************************/
1288 
1289 char *
1290 xcb_setup_vendor (const xcb_setup_t *R  /**< */)
1291 {
1292     return (char *) (R + 1);
1293 }
1294 
1295 
1296 /*****************************************************************************
1297  **
1298  ** int xcb_setup_vendor_length
1299  **
1300  ** @param const xcb_setup_t *R
1301  ** @returns int
1302  **
1303  *****************************************************************************/
1304 
1305 int
1306 xcb_setup_vendor_length (const xcb_setup_t *R  /**< */)
1307 {
1308     return R->vendor_len;
1309 }
1310 
1311 
1312 /*****************************************************************************
1313  **
1314  ** xcb_generic_iterator_t xcb_setup_vendor_end
1315  **
1316  ** @param const xcb_setup_t *R
1317  ** @returns xcb_generic_iterator_t
1318  **
1319  *****************************************************************************/
1320 
1321 xcb_generic_iterator_t
1322 xcb_setup_vendor_end (const xcb_setup_t *R  /**< */)
1323 {
1324     xcb_generic_iterator_t i;
1325     i.data = ((char *) (R + 1)) + (R->vendor_len);
1326     i.rem = 0;
1327     i.index = (char *) i.data - (char *) R;
1328     return i;
1329 }
1330 
1331 
1332 /*****************************************************************************
1333  **
1334  ** xcb_format_t * xcb_setup_pixmap_formats
1335  **
1336  ** @param const xcb_setup_t *R
1337  ** @returns xcb_format_t *
1338  **
1339  *****************************************************************************/
1340 
1341 xcb_format_t *
1342 xcb_setup_pixmap_formats (const xcb_setup_t *R  /**< */)
1343 {
1344     xcb_generic_iterator_t prev = xcb_setup_vendor_end(R);
1345     return (xcb_format_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_format_t, prev.index) + 0);
1346 }
1347 
1348 
1349 /*****************************************************************************
1350  **
1351  ** int xcb_setup_pixmap_formats_length
1352  **
1353  ** @param const xcb_setup_t *R
1354  ** @returns int
1355  **
1356  *****************************************************************************/
1357 
1358 int
1359 xcb_setup_pixmap_formats_length (const xcb_setup_t *R  /**< */)
1360 {
1361     return R->pixmap_formats_len;
1362 }
1363 
1364 
1365 /*****************************************************************************
1366  **
1367  ** xcb_format_iterator_t xcb_setup_pixmap_formats_iterator
1368  **
1369  ** @param const xcb_setup_t *R
1370  ** @returns xcb_format_iterator_t
1371  **
1372  *****************************************************************************/
1373 
1374 xcb_format_iterator_t
1375 xcb_setup_pixmap_formats_iterator (const xcb_setup_t *R  /**< */)
1376 {
1377     xcb_format_iterator_t i;
1378     xcb_generic_iterator_t prev = xcb_setup_vendor_end(R);
1379     i.data = (xcb_format_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_format_t, prev.index));
1380     i.rem = R->pixmap_formats_len;
1381     i.index = (char *) i.data - (char *) R;
1382     return i;
1383 }
1384 
1385 
1386 /*****************************************************************************
1387  **
1388  ** int xcb_setup_roots_length
1389  **
1390  ** @param const xcb_setup_t *R
1391  ** @returns int
1392  **
1393  *****************************************************************************/
1394 
1395 int
1396 xcb_setup_roots_length (const xcb_setup_t *R  /**< */)
1397 {
1398     return R->roots_len;
1399 }
1400 
1401 
1402 /*****************************************************************************
1403  **
1404  ** xcb_screen_iterator_t xcb_setup_roots_iterator
1405  **
1406  ** @param const xcb_setup_t *R
1407  ** @returns xcb_screen_iterator_t
1408  **
1409  *****************************************************************************/
1410 
1411 xcb_screen_iterator_t
1412 xcb_setup_roots_iterator (const xcb_setup_t *R  /**< */)
1413 {
1414     xcb_screen_iterator_t i;
1415     xcb_generic_iterator_t prev = xcb_format_end(xcb_setup_pixmap_formats_iterator(R));
1416     i.data = (xcb_screen_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_screen_t, prev.index));
1417     i.rem = R->roots_len;
1418     i.index = (char *) i.data - (char *) R;
1419     return i;
1420 }
1421 
1422 
1423 /*****************************************************************************
1424  **
1425  ** void xcb_setup_next
1426  **
1427  ** @param xcb_setup_iterator_t *i
1428  ** @returns void
1429  **
1430  *****************************************************************************/
1431 
1432 void
1433 xcb_setup_next (xcb_setup_iterator_t *i  /**< */)
1434 {
1435     xcb_setup_t *R = i->data;
1436     xcb_generic_iterator_t child = xcb_screen_end(xcb_setup_roots_iterator(R));
1437     --i->rem;
1438     i->data = (xcb_setup_t *) child.data;
1439     i->index = child.index;
1440 }
1441 
1442 
1443 /*****************************************************************************
1444  **
1445  ** xcb_generic_iterator_t xcb_setup_end
1446  **
1447  ** @param xcb_setup_iterator_t i
1448  ** @returns xcb_generic_iterator_t
1449  **
1450  *****************************************************************************/
1451 
1452 xcb_generic_iterator_t
1453 xcb_setup_end (xcb_setup_iterator_t i  /**< */)
1454 {
1455     xcb_generic_iterator_t ret;
1456     while(i.rem > 0)
1457         xcb_setup_next(&i);
1458     ret.data = i.data;
1459     ret.rem = i.rem;
1460     ret.index = i.index;
1461     return ret;
1462 }
1463 
1464 
1465 /*****************************************************************************
1466  **
1467  ** void xcb_client_message_data_next
1468  **
1469  ** @param xcb_client_message_data_iterator_t *i
1470  ** @returns void
1471  **
1472  *****************************************************************************/
1473 
1474 void
1475 xcb_client_message_data_next (xcb_client_message_data_iterator_t *i  /**< */)
1476 {
1477     --i->rem;
1478     ++i->data;
1479     i->index += sizeof(xcb_client_message_data_t);
1480 }
1481 
1482 
1483 /*****************************************************************************
1484  **
1485  ** xcb_generic_iterator_t xcb_client_message_data_end
1486  **
1487  ** @param xcb_client_message_data_iterator_t i
1488  ** @returns xcb_generic_iterator_t
1489  **
1490  *****************************************************************************/
1491 
1492 xcb_generic_iterator_t
1493 xcb_client_message_data_end (xcb_client_message_data_iterator_t i  /**< */)
1494 {
1495     xcb_generic_iterator_t ret;
1496     ret.data = i.data + i.rem;
1497     ret.index = i.index + ((char *) ret.data - (char *) i.data);
1498     ret.rem = 0;
1499     return ret;
1500 }
1501 
1502 
1503 /*****************************************************************************
1504  **
1505  ** xcb_void_cookie_t xcb_create_window_checked
1506  **
1507  ** @param xcb_connection_t *c
1508  ** @param uint8_t           depth
1509  ** @param xcb_window_t      wid
1510  ** @param xcb_window_t      parent
1511  ** @param int16_t           x
1512  ** @param int16_t           y
1513  ** @param uint16_t          width
1514  ** @param uint16_t          height
1515  ** @param uint16_t          border_width
1516  ** @param uint16_t          _class
1517  ** @param xcb_visualid_t    visual
1518  ** @param uint32_t          value_mask
1519  ** @param const uint32_t   *value_list
1520  ** @returns xcb_void_cookie_t
1521  **
1522  *****************************************************************************/
1523 
1524 xcb_void_cookie_t
1525 xcb_create_window_checked (xcb_connection_t *c  /**< */,
1526                            uint8_t           depth  /**< */,
1527                            xcb_window_t      wid  /**< */,
1528                            xcb_window_t      parent  /**< */,
1529                            int16_t           x  /**< */,
1530                            int16_t           y  /**< */,
1531                            uint16_t          width  /**< */,
1532                            uint16_t          height  /**< */,
1533                            uint16_t          border_width  /**< */,
1534                            uint16_t          _class  /**< */,
1535                            xcb_visualid_t    visual  /**< */,
1536                            uint32_t          value_mask  /**< */,
1537                            const uint32_t   *value_list  /**< */)
1538 {
1539     static const xcb_protocol_request_t xcb_req = {
1540         /* count */ 4,
1541         /* ext */ 0,
1542         /* opcode */ XCB_CREATE_WINDOW,
1543         /* isvoid */ 1
1544     };
1545 
1546     struct iovec xcb_parts[6];
1547     xcb_void_cookie_t xcb_ret;
1548     xcb_create_window_request_t xcb_out;
1549 
1550     xcb_out.depth = depth;
1551     xcb_out.wid = wid;
1552     xcb_out.parent = parent;
1553     xcb_out.x = x;
1554     xcb_out.y = y;
1555     xcb_out.width = width;
1556     xcb_out.height = height;
1557     xcb_out.border_width = border_width;
1558     xcb_out._class = _class;
1559     xcb_out.visual = visual;
1560     xcb_out.value_mask = value_mask;
1561 
1562     xcb_parts[2].iov_base = (char *) &xcb_out;
1563     xcb_parts[2].iov_len = sizeof(xcb_out);
1564     xcb_parts[3].iov_base = 0;
1565     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1566     xcb_parts[4].iov_base = (char *) value_list;
1567     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
1568     xcb_parts[5].iov_base = 0;
1569     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1570     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1571     return xcb_ret;
1572 }
1573 
1574 
1575 /*****************************************************************************
1576  **
1577  ** xcb_void_cookie_t xcb_create_window
1578  **
1579  ** @param xcb_connection_t *c
1580  ** @param uint8_t           depth
1581  ** @param xcb_window_t      wid
1582  ** @param xcb_window_t      parent
1583  ** @param int16_t           x
1584  ** @param int16_t           y
1585  ** @param uint16_t          width
1586  ** @param uint16_t          height
1587  ** @param uint16_t          border_width
1588  ** @param uint16_t          _class
1589  ** @param xcb_visualid_t    visual
1590  ** @param uint32_t          value_mask
1591  ** @param const uint32_t   *value_list
1592  ** @returns xcb_void_cookie_t
1593  **
1594  *****************************************************************************/
1595 
1596 xcb_void_cookie_t
1597 xcb_create_window (xcb_connection_t *c  /**< */,
1598                    uint8_t           depth  /**< */,
1599                    xcb_window_t      wid  /**< */,
1600                    xcb_window_t      parent  /**< */,
1601                    int16_t           x  /**< */,
1602                    int16_t           y  /**< */,
1603                    uint16_t          width  /**< */,
1604                    uint16_t          height  /**< */,
1605                    uint16_t          border_width  /**< */,
1606                    uint16_t          _class  /**< */,
1607                    xcb_visualid_t    visual  /**< */,
1608                    uint32_t          value_mask  /**< */,
1609                    const uint32_t   *value_list  /**< */)
1610 {
1611     static const xcb_protocol_request_t xcb_req = {
1612         /* count */ 4,
1613         /* ext */ 0,
1614         /* opcode */ XCB_CREATE_WINDOW,
1615         /* isvoid */ 1
1616     };
1617 
1618     struct iovec xcb_parts[6];
1619     xcb_void_cookie_t xcb_ret;
1620     xcb_create_window_request_t xcb_out;
1621 
1622     xcb_out.depth = depth;
1623     xcb_out.wid = wid;
1624     xcb_out.parent = parent;
1625     xcb_out.x = x;
1626     xcb_out.y = y;
1627     xcb_out.width = width;
1628     xcb_out.height = height;
1629     xcb_out.border_width = border_width;
1630     xcb_out._class = _class;
1631     xcb_out.visual = visual;
1632     xcb_out.value_mask = value_mask;
1633 
1634     xcb_parts[2].iov_base = (char *) &xcb_out;
1635     xcb_parts[2].iov_len = sizeof(xcb_out);
1636     xcb_parts[3].iov_base = 0;
1637     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1638     xcb_parts[4].iov_base = (char *) value_list;
1639     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
1640     xcb_parts[5].iov_base = 0;
1641     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1642     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1643     return xcb_ret;
1644 }
1645 
1646 
1647 /*****************************************************************************
1648  **
1649  ** xcb_void_cookie_t xcb_change_window_attributes_checked
1650  **
1651  ** @param xcb_connection_t *c
1652  ** @param xcb_window_t      window
1653  ** @param uint32_t          value_mask
1654  ** @param const uint32_t   *value_list
1655  ** @returns xcb_void_cookie_t
1656  **
1657  *****************************************************************************/
1658 
1659 xcb_void_cookie_t
1660 xcb_change_window_attributes_checked (xcb_connection_t *c  /**< */,
1661                                       xcb_window_t      window  /**< */,
1662                                       uint32_t          value_mask  /**< */,
1663                                       const uint32_t   *value_list  /**< */)
1664 {
1665     static const xcb_protocol_request_t xcb_req = {
1666         /* count */ 4,
1667         /* ext */ 0,
1668         /* opcode */ XCB_CHANGE_WINDOW_ATTRIBUTES,
1669         /* isvoid */ 1
1670     };
1671 
1672     struct iovec xcb_parts[6];
1673     xcb_void_cookie_t xcb_ret;
1674     xcb_change_window_attributes_request_t xcb_out;
1675 
1676     xcb_out.pad0 = 0;
1677     xcb_out.window = window;
1678     xcb_out.value_mask = value_mask;
1679 
1680     xcb_parts[2].iov_base = (char *) &xcb_out;
1681     xcb_parts[2].iov_len = sizeof(xcb_out);
1682     xcb_parts[3].iov_base = 0;
1683     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1684     xcb_parts[4].iov_base = (char *) value_list;
1685     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
1686     xcb_parts[5].iov_base = 0;
1687     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1688     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1689     return xcb_ret;
1690 }
1691 
1692 
1693 /*****************************************************************************
1694  **
1695  ** xcb_void_cookie_t xcb_change_window_attributes
1696  **
1697  ** @param xcb_connection_t *c
1698  ** @param xcb_window_t      window
1699  ** @param uint32_t          value_mask
1700  ** @param const uint32_t   *value_list
1701  ** @returns xcb_void_cookie_t
1702  **
1703  *****************************************************************************/
1704 
1705 xcb_void_cookie_t
1706 xcb_change_window_attributes (xcb_connection_t *c  /**< */,
1707                               xcb_window_t      window  /**< */,
1708                               uint32_t          value_mask  /**< */,
1709                               const uint32_t   *value_list  /**< */)
1710 {
1711     static const xcb_protocol_request_t xcb_req = {
1712         /* count */ 4,
1713         /* ext */ 0,
1714         /* opcode */ XCB_CHANGE_WINDOW_ATTRIBUTES,
1715         /* isvoid */ 1
1716     };
1717 
1718     struct iovec xcb_parts[6];
1719     xcb_void_cookie_t xcb_ret;
1720     xcb_change_window_attributes_request_t xcb_out;
1721 
1722     xcb_out.pad0 = 0;
1723     xcb_out.window = window;
1724     xcb_out.value_mask = value_mask;
1725 
1726     xcb_parts[2].iov_base = (char *) &xcb_out;
1727     xcb_parts[2].iov_len = sizeof(xcb_out);
1728     xcb_parts[3].iov_base = 0;
1729     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1730     xcb_parts[4].iov_base = (char *) value_list;
1731     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
1732     xcb_parts[5].iov_base = 0;
1733     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
1734     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1735     return xcb_ret;
1736 }
1737 
1738 
1739 /*****************************************************************************
1740  **
1741  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes
1742  **
1743  ** @param xcb_connection_t *c
1744  ** @param xcb_window_t      window
1745  ** @returns xcb_get_window_attributes_cookie_t
1746  **
1747  *****************************************************************************/
1748 
1749 xcb_get_window_attributes_cookie_t
1750 xcb_get_window_attributes (xcb_connection_t *c  /**< */,
1751                            xcb_window_t      window  /**< */)
1752 {
1753     static const xcb_protocol_request_t xcb_req = {
1754         /* count */ 2,
1755         /* ext */ 0,
1756         /* opcode */ XCB_GET_WINDOW_ATTRIBUTES,
1757         /* isvoid */ 0
1758     };
1759 
1760     struct iovec xcb_parts[4];
1761     xcb_get_window_attributes_cookie_t xcb_ret;
1762     xcb_get_window_attributes_request_t xcb_out;
1763 
1764     xcb_out.pad0 = 0;
1765     xcb_out.window = window;
1766 
1767     xcb_parts[2].iov_base = (char *) &xcb_out;
1768     xcb_parts[2].iov_len = sizeof(xcb_out);
1769     xcb_parts[3].iov_base = 0;
1770     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1771     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1772     return xcb_ret;
1773 }
1774 
1775 
1776 /*****************************************************************************
1777  **
1778  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes_unchecked
1779  **
1780  ** @param xcb_connection_t *c
1781  ** @param xcb_window_t      window
1782  ** @returns xcb_get_window_attributes_cookie_t
1783  **
1784  *****************************************************************************/
1785 
1786 xcb_get_window_attributes_cookie_t
1787 xcb_get_window_attributes_unchecked (xcb_connection_t *c  /**< */,
1788                                      xcb_window_t      window  /**< */)
1789 {
1790     static const xcb_protocol_request_t xcb_req = {
1791         /* count */ 2,
1792         /* ext */ 0,
1793         /* opcode */ XCB_GET_WINDOW_ATTRIBUTES,
1794         /* isvoid */ 0
1795     };
1796 
1797     struct iovec xcb_parts[4];
1798     xcb_get_window_attributes_cookie_t xcb_ret;
1799     xcb_get_window_attributes_request_t xcb_out;
1800 
1801     xcb_out.pad0 = 0;
1802     xcb_out.window = window;
1803 
1804     xcb_parts[2].iov_base = (char *) &xcb_out;
1805     xcb_parts[2].iov_len = sizeof(xcb_out);
1806     xcb_parts[3].iov_base = 0;
1807     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1808     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1809     return xcb_ret;
1810 }
1811 
1812 
1813 /*****************************************************************************
1814  **
1815  ** xcb_get_window_attributes_reply_t * xcb_get_window_attributes_reply
1816  **
1817  ** @param xcb_connection_t                    *c
1818  ** @param xcb_get_window_attributes_cookie_t   cookie
1819  ** @param xcb_generic_error_t                **e
1820  ** @returns xcb_get_window_attributes_reply_t *
1821  **
1822  *****************************************************************************/
1823 
1824 xcb_get_window_attributes_reply_t *
1825 xcb_get_window_attributes_reply (xcb_connection_t                    *c  /**< */,
1826                                  xcb_get_window_attributes_cookie_t   cookie  /**< */,
1827                                  xcb_generic_error_t                **e  /**< */)
1828 {
1829     return (xcb_get_window_attributes_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1830 }
1831 
1832 
1833 /*****************************************************************************
1834  **
1835  ** xcb_void_cookie_t xcb_destroy_window_checked
1836  **
1837  ** @param xcb_connection_t *c
1838  ** @param xcb_window_t      window
1839  ** @returns xcb_void_cookie_t
1840  **
1841  *****************************************************************************/
1842 
1843 xcb_void_cookie_t
1844 xcb_destroy_window_checked (xcb_connection_t *c  /**< */,
1845                             xcb_window_t      window  /**< */)
1846 {
1847     static const xcb_protocol_request_t xcb_req = {
1848         /* count */ 2,
1849         /* ext */ 0,
1850         /* opcode */ XCB_DESTROY_WINDOW,
1851         /* isvoid */ 1
1852     };
1853 
1854     struct iovec xcb_parts[4];
1855     xcb_void_cookie_t xcb_ret;
1856     xcb_destroy_window_request_t xcb_out;
1857 
1858     xcb_out.pad0 = 0;
1859     xcb_out.window = window;
1860 
1861     xcb_parts[2].iov_base = (char *) &xcb_out;
1862     xcb_parts[2].iov_len = sizeof(xcb_out);
1863     xcb_parts[3].iov_base = 0;
1864     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1865     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1866     return xcb_ret;
1867 }
1868 
1869 
1870 /*****************************************************************************
1871  **
1872  ** xcb_void_cookie_t xcb_destroy_window
1873  **
1874  ** @param xcb_connection_t *c
1875  ** @param xcb_window_t      window
1876  ** @returns xcb_void_cookie_t
1877  **
1878  *****************************************************************************/
1879 
1880 xcb_void_cookie_t
1881 xcb_destroy_window (xcb_connection_t *c  /**< */,
1882                     xcb_window_t      window  /**< */)
1883 {
1884     static const xcb_protocol_request_t xcb_req = {
1885         /* count */ 2,
1886         /* ext */ 0,
1887         /* opcode */ XCB_DESTROY_WINDOW,
1888         /* isvoid */ 1
1889     };
1890 
1891     struct iovec xcb_parts[4];
1892     xcb_void_cookie_t xcb_ret;
1893     xcb_destroy_window_request_t xcb_out;
1894 
1895     xcb_out.pad0 = 0;
1896     xcb_out.window = window;
1897 
1898     xcb_parts[2].iov_base = (char *) &xcb_out;
1899     xcb_parts[2].iov_len = sizeof(xcb_out);
1900     xcb_parts[3].iov_base = 0;
1901     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1902     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1903     return xcb_ret;
1904 }
1905 
1906 
1907 /*****************************************************************************
1908  **
1909  ** xcb_void_cookie_t xcb_destroy_subwindows_checked
1910  **
1911  ** @param xcb_connection_t *c
1912  ** @param xcb_window_t      window
1913  ** @returns xcb_void_cookie_t
1914  **
1915  *****************************************************************************/
1916 
1917 xcb_void_cookie_t
1918 xcb_destroy_subwindows_checked (xcb_connection_t *c  /**< */,
1919                                 xcb_window_t      window  /**< */)
1920 {
1921     static const xcb_protocol_request_t xcb_req = {
1922         /* count */ 2,
1923         /* ext */ 0,
1924         /* opcode */ XCB_DESTROY_SUBWINDOWS,
1925         /* isvoid */ 1
1926     };
1927 
1928     struct iovec xcb_parts[4];
1929     xcb_void_cookie_t xcb_ret;
1930     xcb_destroy_subwindows_request_t xcb_out;
1931 
1932     xcb_out.pad0 = 0;
1933     xcb_out.window = window;
1934 
1935     xcb_parts[2].iov_base = (char *) &xcb_out;
1936     xcb_parts[2].iov_len = sizeof(xcb_out);
1937     xcb_parts[3].iov_base = 0;
1938     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1939     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1940     return xcb_ret;
1941 }
1942 
1943 
1944 /*****************************************************************************
1945  **
1946  ** xcb_void_cookie_t xcb_destroy_subwindows
1947  **
1948  ** @param xcb_connection_t *c
1949  ** @param xcb_window_t      window
1950  ** @returns xcb_void_cookie_t
1951  **
1952  *****************************************************************************/
1953 
1954 xcb_void_cookie_t
1955 xcb_destroy_subwindows (xcb_connection_t *c  /**< */,
1956                         xcb_window_t      window  /**< */)
1957 {
1958     static const xcb_protocol_request_t xcb_req = {
1959         /* count */ 2,
1960         /* ext */ 0,
1961         /* opcode */ XCB_DESTROY_SUBWINDOWS,
1962         /* isvoid */ 1
1963     };
1964 
1965     struct iovec xcb_parts[4];
1966     xcb_void_cookie_t xcb_ret;
1967     xcb_destroy_subwindows_request_t xcb_out;
1968 
1969     xcb_out.pad0 = 0;
1970     xcb_out.window = window;
1971 
1972     xcb_parts[2].iov_base = (char *) &xcb_out;
1973     xcb_parts[2].iov_len = sizeof(xcb_out);
1974     xcb_parts[3].iov_base = 0;
1975     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1976     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1977     return xcb_ret;
1978 }
1979 
1980 
1981 /*****************************************************************************
1982  **
1983  ** xcb_void_cookie_t xcb_change_save_set_checked
1984  **
1985  ** @param xcb_connection_t *c
1986  ** @param uint8_t           mode
1987  ** @param xcb_window_t      window
1988  ** @returns xcb_void_cookie_t
1989  **
1990  *****************************************************************************/
1991 
1992 xcb_void_cookie_t
1993 xcb_change_save_set_checked (xcb_connection_t *c  /**< */,
1994                              uint8_t           mode  /**< */,
1995                              xcb_window_t      window  /**< */)
1996 {
1997     static const xcb_protocol_request_t xcb_req = {
1998         /* count */ 2,
1999         /* ext */ 0,
2000         /* opcode */ XCB_CHANGE_SAVE_SET,
2001         /* isvoid */ 1
2002     };
2003 
2004     struct iovec xcb_parts[4];
2005     xcb_void_cookie_t xcb_ret;
2006     xcb_change_save_set_request_t xcb_out;
2007 
2008     xcb_out.mode = mode;
2009     xcb_out.window = window;
2010 
2011     xcb_parts[2].iov_base = (char *) &xcb_out;
2012     xcb_parts[2].iov_len = sizeof(xcb_out);
2013     xcb_parts[3].iov_base = 0;
2014     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2015     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2016     return xcb_ret;
2017 }
2018 
2019 
2020 /*****************************************************************************
2021  **
2022  ** xcb_void_cookie_t xcb_change_save_set
2023  **
2024  ** @param xcb_connection_t *c
2025  ** @param uint8_t           mode
2026  ** @param xcb_window_t      window
2027  ** @returns xcb_void_cookie_t
2028  **
2029  *****************************************************************************/
2030 
2031 xcb_void_cookie_t
2032 xcb_change_save_set (xcb_connection_t *c  /**< */,
2033                      uint8_t           mode  /**< */,
2034                      xcb_window_t      window  /**< */)
2035 {
2036     static const xcb_protocol_request_t xcb_req = {
2037         /* count */ 2,
2038         /* ext */ 0,
2039         /* opcode */ XCB_CHANGE_SAVE_SET,
2040         /* isvoid */ 1
2041     };
2042 
2043     struct iovec xcb_parts[4];
2044     xcb_void_cookie_t xcb_ret;
2045     xcb_change_save_set_request_t xcb_out;
2046 
2047     xcb_out.mode = mode;
2048     xcb_out.window = window;
2049 
2050     xcb_parts[2].iov_base = (char *) &xcb_out;
2051     xcb_parts[2].iov_len = sizeof(xcb_out);
2052     xcb_parts[3].iov_base = 0;
2053     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2054     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2055     return xcb_ret;
2056 }
2057 
2058 
2059 /*****************************************************************************
2060  **
2061  ** xcb_void_cookie_t xcb_reparent_window_checked
2062  **
2063  ** @param xcb_connection_t *c
2064  ** @param xcb_window_t      window
2065  ** @param xcb_window_t      parent
2066  ** @param int16_t           x
2067  ** @param int16_t           y
2068  ** @returns xcb_void_cookie_t
2069  **
2070  *****************************************************************************/
2071 
2072 xcb_void_cookie_t
2073 xcb_reparent_window_checked (xcb_connection_t *c  /**< */,
2074                              xcb_window_t      window  /**< */,
2075                              xcb_window_t      parent  /**< */,
2076                              int16_t           x  /**< */,
2077                              int16_t           y  /**< */)
2078 {
2079     static const xcb_protocol_request_t xcb_req = {
2080         /* count */ 2,
2081         /* ext */ 0,
2082         /* opcode */ XCB_REPARENT_WINDOW,
2083         /* isvoid */ 1
2084     };
2085 
2086     struct iovec xcb_parts[4];
2087     xcb_void_cookie_t xcb_ret;
2088     xcb_reparent_window_request_t xcb_out;
2089 
2090     xcb_out.pad0 = 0;
2091     xcb_out.window = window;
2092     xcb_out.parent = parent;
2093     xcb_out.x = x;
2094     xcb_out.y = y;
2095 
2096     xcb_parts[2].iov_base = (char *) &xcb_out;
2097     xcb_parts[2].iov_len = sizeof(xcb_out);
2098     xcb_parts[3].iov_base = 0;
2099     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2100     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2101     return xcb_ret;
2102 }
2103 
2104 
2105 /*****************************************************************************
2106  **
2107  ** xcb_void_cookie_t xcb_reparent_window
2108  **
2109  ** @param xcb_connection_t *c
2110  ** @param xcb_window_t      window
2111  ** @param xcb_window_t      parent
2112  ** @param int16_t           x
2113  ** @param int16_t           y
2114  ** @returns xcb_void_cookie_t
2115  **
2116  *****************************************************************************/
2117 
2118 xcb_void_cookie_t
2119 xcb_reparent_window (xcb_connection_t *c  /**< */,
2120                      xcb_window_t      window  /**< */,
2121                      xcb_window_t      parent  /**< */,
2122                      int16_t           x  /**< */,
2123                      int16_t           y  /**< */)
2124 {
2125     static const xcb_protocol_request_t xcb_req = {
2126         /* count */ 2,
2127         /* ext */ 0,
2128         /* opcode */ XCB_REPARENT_WINDOW,
2129         /* isvoid */ 1
2130     };
2131 
2132     struct iovec xcb_parts[4];
2133     xcb_void_cookie_t xcb_ret;
2134     xcb_reparent_window_request_t xcb_out;
2135 
2136     xcb_out.pad0 = 0;
2137     xcb_out.window = window;
2138     xcb_out.parent = parent;
2139     xcb_out.x = x;
2140     xcb_out.y = y;
2141 
2142     xcb_parts[2].iov_base = (char *) &xcb_out;
2143     xcb_parts[2].iov_len = sizeof(xcb_out);
2144     xcb_parts[3].iov_base = 0;
2145     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2146     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2147     return xcb_ret;
2148 }
2149 
2150 
2151 /*****************************************************************************
2152  **
2153  ** xcb_void_cookie_t xcb_map_window_checked
2154  **
2155  ** @param xcb_connection_t *c
2156  ** @param xcb_window_t      window
2157  ** @returns xcb_void_cookie_t
2158  **
2159  *****************************************************************************/
2160 
2161 xcb_void_cookie_t
2162 xcb_map_window_checked (xcb_connection_t *c  /**< */,
2163                         xcb_window_t      window  /**< */)
2164 {
2165     static const xcb_protocol_request_t xcb_req = {
2166         /* count */ 2,
2167         /* ext */ 0,
2168         /* opcode */ XCB_MAP_WINDOW,
2169         /* isvoid */ 1
2170     };
2171 
2172     struct iovec xcb_parts[4];
2173     xcb_void_cookie_t xcb_ret;
2174     xcb_map_window_request_t xcb_out;
2175 
2176     xcb_out.pad0 = 0;
2177     xcb_out.window = window;
2178 
2179     xcb_parts[2].iov_base = (char *) &xcb_out;
2180     xcb_parts[2].iov_len = sizeof(xcb_out);
2181     xcb_parts[3].iov_base = 0;
2182     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2183     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2184     return xcb_ret;
2185 }
2186 
2187 
2188 /*****************************************************************************
2189  **
2190  ** xcb_void_cookie_t xcb_map_window
2191  **
2192  ** @param xcb_connection_t *c
2193  ** @param xcb_window_t      window
2194  ** @returns xcb_void_cookie_t
2195  **
2196  *****************************************************************************/
2197 
2198 xcb_void_cookie_t
2199 xcb_map_window (xcb_connection_t *c  /**< */,
2200                 xcb_window_t      window  /**< */)
2201 {
2202     static const xcb_protocol_request_t xcb_req = {
2203         /* count */ 2,
2204         /* ext */ 0,
2205         /* opcode */ XCB_MAP_WINDOW,
2206         /* isvoid */ 1
2207     };
2208 
2209     struct iovec xcb_parts[4];
2210     xcb_void_cookie_t xcb_ret;
2211     xcb_map_window_request_t xcb_out;
2212 
2213     xcb_out.pad0 = 0;
2214     xcb_out.window = window;
2215 
2216     xcb_parts[2].iov_base = (char *) &xcb_out;
2217     xcb_parts[2].iov_len = sizeof(xcb_out);
2218     xcb_parts[3].iov_base = 0;
2219     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2220     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2221     return xcb_ret;
2222 }
2223 
2224 
2225 /*****************************************************************************
2226  **
2227  ** xcb_void_cookie_t xcb_map_subwindows_checked
2228  **
2229  ** @param xcb_connection_t *c
2230  ** @param xcb_window_t      window
2231  ** @returns xcb_void_cookie_t
2232  **
2233  *****************************************************************************/
2234 
2235 xcb_void_cookie_t
2236 xcb_map_subwindows_checked (xcb_connection_t *c  /**< */,
2237                             xcb_window_t      window  /**< */)
2238 {
2239     static const xcb_protocol_request_t xcb_req = {
2240         /* count */ 2,
2241         /* ext */ 0,
2242         /* opcode */ XCB_MAP_SUBWINDOWS,
2243         /* isvoid */ 1
2244     };
2245 
2246     struct iovec xcb_parts[4];
2247     xcb_void_cookie_t xcb_ret;
2248     xcb_map_subwindows_request_t xcb_out;
2249 
2250     xcb_out.pad0 = 0;
2251     xcb_out.window = window;
2252 
2253     xcb_parts[2].iov_base = (char *) &xcb_out;
2254     xcb_parts[2].iov_len = sizeof(xcb_out);
2255     xcb_parts[3].iov_base = 0;
2256     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2257     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2258     return xcb_ret;
2259 }
2260 
2261 
2262 /*****************************************************************************
2263  **
2264  ** xcb_void_cookie_t xcb_map_subwindows
2265  **
2266  ** @param xcb_connection_t *c
2267  ** @param xcb_window_t      window
2268  ** @returns xcb_void_cookie_t
2269  **
2270  *****************************************************************************/
2271 
2272 xcb_void_cookie_t
2273 xcb_map_subwindows (xcb_connection_t *c  /**< */,
2274                     xcb_window_t      window  /**< */)
2275 {
2276     static const xcb_protocol_request_t xcb_req = {
2277         /* count */ 2,
2278         /* ext */ 0,
2279         /* opcode */ XCB_MAP_SUBWINDOWS,
2280         /* isvoid */ 1
2281     };
2282 
2283     struct iovec xcb_parts[4];
2284     xcb_void_cookie_t xcb_ret;
2285     xcb_map_subwindows_request_t xcb_out;
2286 
2287     xcb_out.pad0 = 0;
2288     xcb_out.window = window;
2289 
2290     xcb_parts[2].iov_base = (char *) &xcb_out;
2291     xcb_parts[2].iov_len = sizeof(xcb_out);
2292     xcb_parts[3].iov_base = 0;
2293     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2294     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2295     return xcb_ret;
2296 }
2297 
2298 
2299 /*****************************************************************************
2300  **
2301  ** xcb_void_cookie_t xcb_unmap_window_checked
2302  **
2303  ** @param xcb_connection_t *c
2304  ** @param xcb_window_t      window
2305  ** @returns xcb_void_cookie_t
2306  **
2307  *****************************************************************************/
2308 
2309 xcb_void_cookie_t
2310 xcb_unmap_window_checked (xcb_connection_t *c  /**< */,
2311                           xcb_window_t      window  /**< */)
2312 {
2313     static const xcb_protocol_request_t xcb_req = {
2314         /* count */ 2,
2315         /* ext */ 0,
2316         /* opcode */ XCB_UNMAP_WINDOW,
2317         /* isvoid */ 1
2318     };
2319 
2320     struct iovec xcb_parts[4];
2321     xcb_void_cookie_t xcb_ret;
2322     xcb_unmap_window_request_t xcb_out;
2323 
2324     xcb_out.pad0 = 0;
2325     xcb_out.window = window;
2326 
2327     xcb_parts[2].iov_base = (char *) &xcb_out;
2328     xcb_parts[2].iov_len = sizeof(xcb_out);
2329     xcb_parts[3].iov_base = 0;
2330     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2331     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2332     return xcb_ret;
2333 }
2334 
2335 
2336 /*****************************************************************************
2337  **
2338  ** xcb_void_cookie_t xcb_unmap_window
2339  **
2340  ** @param xcb_connection_t *c
2341  ** @param xcb_window_t      window
2342  ** @returns xcb_void_cookie_t
2343  **
2344  *****************************************************************************/
2345 
2346 xcb_void_cookie_t
2347 xcb_unmap_window (xcb_connection_t *c  /**< */,
2348                   xcb_window_t      window  /**< */)
2349 {
2350     static const xcb_protocol_request_t xcb_req = {
2351         /* count */ 2,
2352         /* ext */ 0,
2353         /* opcode */ XCB_UNMAP_WINDOW,
2354         /* isvoid */ 1
2355     };
2356 
2357     struct iovec xcb_parts[4];
2358     xcb_void_cookie_t xcb_ret;
2359     xcb_unmap_window_request_t xcb_out;
2360 
2361     xcb_out.pad0 = 0;
2362     xcb_out.window = window;
2363 
2364     xcb_parts[2].iov_base = (char *) &xcb_out;
2365     xcb_parts[2].iov_len = sizeof(xcb_out);
2366     xcb_parts[3].iov_base = 0;
2367     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2368     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2369     return xcb_ret;
2370 }
2371 
2372 
2373 /*****************************************************************************
2374  **
2375  ** xcb_void_cookie_t xcb_unmap_subwindows_checked
2376  **
2377  ** @param xcb_connection_t *c
2378  ** @param xcb_window_t      window
2379  ** @returns xcb_void_cookie_t
2380  **
2381  *****************************************************************************/
2382 
2383 xcb_void_cookie_t
2384 xcb_unmap_subwindows_checked (xcb_connection_t *c  /**< */,
2385                               xcb_window_t      window  /**< */)
2386 {
2387     static const xcb_protocol_request_t xcb_req = {
2388         /* count */ 2,
2389         /* ext */ 0,
2390         /* opcode */ XCB_UNMAP_SUBWINDOWS,
2391         /* isvoid */ 1
2392     };
2393 
2394     struct iovec xcb_parts[4];
2395     xcb_void_cookie_t xcb_ret;
2396     xcb_unmap_subwindows_request_t xcb_out;
2397 
2398     xcb_out.pad0 = 0;
2399     xcb_out.window = window;
2400 
2401     xcb_parts[2].iov_base = (char *) &xcb_out;
2402     xcb_parts[2].iov_len = sizeof(xcb_out);
2403     xcb_parts[3].iov_base = 0;
2404     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2405     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2406     return xcb_ret;
2407 }
2408 
2409 
2410 /*****************************************************************************
2411  **
2412  ** xcb_void_cookie_t xcb_unmap_subwindows
2413  **
2414  ** @param xcb_connection_t *c
2415  ** @param xcb_window_t      window
2416  ** @returns xcb_void_cookie_t
2417  **
2418  *****************************************************************************/
2419 
2420 xcb_void_cookie_t
2421 xcb_unmap_subwindows (xcb_connection_t *c  /**< */,
2422                       xcb_window_t      window  /**< */)
2423 {
2424     static const xcb_protocol_request_t xcb_req = {
2425         /* count */ 2,
2426         /* ext */ 0,
2427         /* opcode */ XCB_UNMAP_SUBWINDOWS,
2428         /* isvoid */ 1
2429     };
2430 
2431     struct iovec xcb_parts[4];
2432     xcb_void_cookie_t xcb_ret;
2433     xcb_unmap_subwindows_request_t xcb_out;
2434 
2435     xcb_out.pad0 = 0;
2436     xcb_out.window = window;
2437 
2438     xcb_parts[2].iov_base = (char *) &xcb_out;
2439     xcb_parts[2].iov_len = sizeof(xcb_out);
2440     xcb_parts[3].iov_base = 0;
2441     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2442     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2443     return xcb_ret;
2444 }
2445 
2446 
2447 /*****************************************************************************
2448  **
2449  ** xcb_void_cookie_t xcb_configure_window_checked
2450  **
2451  ** @param xcb_connection_t *c
2452  ** @param xcb_window_t      window
2453  ** @param uint16_t          value_mask
2454  ** @param const uint32_t   *value_list
2455  ** @returns xcb_void_cookie_t
2456  **
2457  *****************************************************************************/
2458 
2459 xcb_void_cookie_t
2460 xcb_configure_window_checked (xcb_connection_t *c  /**< */,
2461                               xcb_window_t      window  /**< */,
2462                               uint16_t          value_mask  /**< */,
2463                               const uint32_t   *value_list  /**< */)
2464 {
2465     static const xcb_protocol_request_t xcb_req = {
2466         /* count */ 4,
2467         /* ext */ 0,
2468         /* opcode */ XCB_CONFIGURE_WINDOW,
2469         /* isvoid */ 1
2470     };
2471 
2472     struct iovec xcb_parts[6];
2473     xcb_void_cookie_t xcb_ret;
2474     xcb_configure_window_request_t xcb_out;
2475 
2476     xcb_out.pad0 = 0;
2477     xcb_out.window = window;
2478     xcb_out.value_mask = value_mask;
2479     memset(xcb_out.pad1, 0, 2);
2480 
2481     xcb_parts[2].iov_base = (char *) &xcb_out;
2482     xcb_parts[2].iov_len = sizeof(xcb_out);
2483     xcb_parts[3].iov_base = 0;
2484     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2485     xcb_parts[4].iov_base = (char *) value_list;
2486     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
2487     xcb_parts[5].iov_base = 0;
2488     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2489     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2490     return xcb_ret;
2491 }
2492 
2493 
2494 /*****************************************************************************
2495  **
2496  ** xcb_void_cookie_t xcb_configure_window
2497  **
2498  ** @param xcb_connection_t *c
2499  ** @param xcb_window_t      window
2500  ** @param uint16_t          value_mask
2501  ** @param const uint32_t   *value_list
2502  ** @returns xcb_void_cookie_t
2503  **
2504  *****************************************************************************/
2505 
2506 xcb_void_cookie_t
2507 xcb_configure_window (xcb_connection_t *c  /**< */,
2508                       xcb_window_t      window  /**< */,
2509                       uint16_t          value_mask  /**< */,
2510                       const uint32_t   *value_list  /**< */)
2511 {
2512     static const xcb_protocol_request_t xcb_req = {
2513         /* count */ 4,
2514         /* ext */ 0,
2515         /* opcode */ XCB_CONFIGURE_WINDOW,
2516         /* isvoid */ 1
2517     };
2518 
2519     struct iovec xcb_parts[6];
2520     xcb_void_cookie_t xcb_ret;
2521     xcb_configure_window_request_t xcb_out;
2522 
2523     xcb_out.pad0 = 0;
2524     xcb_out.window = window;
2525     xcb_out.value_mask = value_mask;
2526     memset(xcb_out.pad1, 0, 2);
2527 
2528     xcb_parts[2].iov_base = (char *) &xcb_out;
2529     xcb_parts[2].iov_len = sizeof(xcb_out);
2530     xcb_parts[3].iov_base = 0;
2531     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2532     xcb_parts[4].iov_base = (char *) value_list;
2533     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
2534     xcb_parts[5].iov_base = 0;
2535     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2536     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2537     return xcb_ret;
2538 }
2539 
2540 
2541 /*****************************************************************************
2542  **
2543  ** xcb_void_cookie_t xcb_circulate_window_checked
2544  **
2545  ** @param xcb_connection_t *c
2546  ** @param uint8_t           direction
2547  ** @param xcb_window_t      window
2548  ** @returns xcb_void_cookie_t
2549  **
2550  *****************************************************************************/
2551 
2552 xcb_void_cookie_t
2553 xcb_circulate_window_checked (xcb_connection_t *c  /**< */,
2554                               uint8_t           direction  /**< */,
2555                               xcb_window_t      window  /**< */)
2556 {
2557     static const xcb_protocol_request_t xcb_req = {
2558         /* count */ 2,
2559         /* ext */ 0,
2560         /* opcode */ XCB_CIRCULATE_WINDOW,
2561         /* isvoid */ 1
2562     };
2563 
2564     struct iovec xcb_parts[4];
2565     xcb_void_cookie_t xcb_ret;
2566     xcb_circulate_window_request_t xcb_out;
2567 
2568     xcb_out.direction = direction;
2569     xcb_out.window = window;
2570 
2571     xcb_parts[2].iov_base = (char *) &xcb_out;
2572     xcb_parts[2].iov_len = sizeof(xcb_out);
2573     xcb_parts[3].iov_base = 0;
2574     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2575     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2576     return xcb_ret;
2577 }
2578 
2579 
2580 /*****************************************************************************
2581  **
2582  ** xcb_void_cookie_t xcb_circulate_window
2583  **
2584  ** @param xcb_connection_t *c
2585  ** @param uint8_t           direction
2586  ** @param xcb_window_t      window
2587  ** @returns xcb_void_cookie_t
2588  **
2589  *****************************************************************************/
2590 
2591 xcb_void_cookie_t
2592 xcb_circulate_window (xcb_connection_t *c  /**< */,
2593                       uint8_t           direction  /**< */,
2594                       xcb_window_t      window  /**< */)
2595 {
2596     static const xcb_protocol_request_t xcb_req = {
2597         /* count */ 2,
2598         /* ext */ 0,
2599         /* opcode */ XCB_CIRCULATE_WINDOW,
2600         /* isvoid */ 1
2601     };
2602 
2603     struct iovec xcb_parts[4];
2604     xcb_void_cookie_t xcb_ret;
2605     xcb_circulate_window_request_t xcb_out;
2606 
2607     xcb_out.direction = direction;
2608     xcb_out.window = window;
2609 
2610     xcb_parts[2].iov_base = (char *) &xcb_out;
2611     xcb_parts[2].iov_len = sizeof(xcb_out);
2612     xcb_parts[3].iov_base = 0;
2613     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2614     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2615     return xcb_ret;
2616 }
2617 
2618 
2619 /*****************************************************************************
2620  **
2621  ** xcb_get_geometry_cookie_t xcb_get_geometry
2622  **
2623  ** @param xcb_connection_t *c
2624  ** @param xcb_drawable_t    drawable
2625  ** @returns xcb_get_geometry_cookie_t
2626  **
2627  *****************************************************************************/
2628 
2629 xcb_get_geometry_cookie_t
2630 xcb_get_geometry (xcb_connection_t *c  /**< */,
2631                   xcb_drawable_t    drawable  /**< */)
2632 {
2633     static const xcb_protocol_request_t xcb_req = {
2634         /* count */ 2,
2635         /* ext */ 0,
2636         /* opcode */ XCB_GET_GEOMETRY,
2637         /* isvoid */ 0
2638     };
2639 
2640     struct iovec xcb_parts[4];
2641     xcb_get_geometry_cookie_t xcb_ret;
2642     xcb_get_geometry_request_t xcb_out;
2643 
2644     xcb_out.pad0 = 0;
2645     xcb_out.drawable = drawable;
2646 
2647     xcb_parts[2].iov_base = (char *) &xcb_out;
2648     xcb_parts[2].iov_len = sizeof(xcb_out);
2649     xcb_parts[3].iov_base = 0;
2650     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2651     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2652     return xcb_ret;
2653 }
2654 
2655 
2656 /*****************************************************************************
2657  **
2658  ** xcb_get_geometry_cookie_t xcb_get_geometry_unchecked
2659  **
2660  ** @param xcb_connection_t *c
2661  ** @param xcb_drawable_t    drawable
2662  ** @returns xcb_get_geometry_cookie_t
2663  **
2664  *****************************************************************************/
2665 
2666 xcb_get_geometry_cookie_t
2667 xcb_get_geometry_unchecked (xcb_connection_t *c  /**< */,
2668                             xcb_drawable_t    drawable  /**< */)
2669 {
2670     static const xcb_protocol_request_t xcb_req = {
2671         /* count */ 2,
2672         /* ext */ 0,
2673         /* opcode */ XCB_GET_GEOMETRY,
2674         /* isvoid */ 0
2675     };
2676 
2677     struct iovec xcb_parts[4];
2678     xcb_get_geometry_cookie_t xcb_ret;
2679     xcb_get_geometry_request_t xcb_out;
2680 
2681     xcb_out.pad0 = 0;
2682     xcb_out.drawable = drawable;
2683 
2684     xcb_parts[2].iov_base = (char *) &xcb_out;
2685     xcb_parts[2].iov_len = sizeof(xcb_out);
2686     xcb_parts[3].iov_base = 0;
2687     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2688     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2689     return xcb_ret;
2690 }
2691 
2692 
2693 /*****************************************************************************
2694  **
2695  ** xcb_get_geometry_reply_t * xcb_get_geometry_reply
2696  **
2697  ** @param xcb_connection_t           *c
2698  ** @param xcb_get_geometry_cookie_t   cookie
2699  ** @param xcb_generic_error_t       **e
2700  ** @returns xcb_get_geometry_reply_t *
2701  **
2702  *****************************************************************************/
2703 
2704 xcb_get_geometry_reply_t *
2705 xcb_get_geometry_reply (xcb_connection_t           *c  /**< */,
2706                         xcb_get_geometry_cookie_t   cookie  /**< */,
2707                         xcb_generic_error_t       **e  /**< */)
2708 {
2709     return (xcb_get_geometry_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2710 }
2711 
2712 
2713 /*****************************************************************************
2714  **
2715  ** xcb_query_tree_cookie_t xcb_query_tree
2716  **
2717  ** @param xcb_connection_t *c
2718  ** @param xcb_window_t      window
2719  ** @returns xcb_query_tree_cookie_t
2720  **
2721  *****************************************************************************/
2722 
2723 xcb_query_tree_cookie_t
2724 xcb_query_tree (xcb_connection_t *c  /**< */,
2725                 xcb_window_t      window  /**< */)
2726 {
2727     static const xcb_protocol_request_t xcb_req = {
2728         /* count */ 2,
2729         /* ext */ 0,
2730         /* opcode */ XCB_QUERY_TREE,
2731         /* isvoid */ 0
2732     };
2733 
2734     struct iovec xcb_parts[4];
2735     xcb_query_tree_cookie_t xcb_ret;
2736     xcb_query_tree_request_t xcb_out;
2737 
2738     xcb_out.pad0 = 0;
2739     xcb_out.window = window;
2740 
2741     xcb_parts[2].iov_base = (char *) &xcb_out;
2742     xcb_parts[2].iov_len = sizeof(xcb_out);
2743     xcb_parts[3].iov_base = 0;
2744     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2745     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2746     return xcb_ret;
2747 }
2748 
2749 
2750 /*****************************************************************************
2751  **
2752  ** xcb_query_tree_cookie_t xcb_query_tree_unchecked
2753  **
2754  ** @param xcb_connection_t *c
2755  ** @param xcb_window_t      window
2756  ** @returns xcb_query_tree_cookie_t
2757  **
2758  *****************************************************************************/
2759 
2760 xcb_query_tree_cookie_t
2761 xcb_query_tree_unchecked (xcb_connection_t *c  /**< */,
2762                           xcb_window_t      window  /**< */)
2763 {
2764     static const xcb_protocol_request_t xcb_req = {
2765         /* count */ 2,
2766         /* ext */ 0,
2767         /* opcode */ XCB_QUERY_TREE,
2768         /* isvoid */ 0
2769     };
2770 
2771     struct iovec xcb_parts[4];
2772     xcb_query_tree_cookie_t xcb_ret;
2773     xcb_query_tree_request_t xcb_out;
2774 
2775     xcb_out.pad0 = 0;
2776     xcb_out.window = window;
2777 
2778     xcb_parts[2].iov_base = (char *) &xcb_out;
2779     xcb_parts[2].iov_len = sizeof(xcb_out);
2780     xcb_parts[3].iov_base = 0;
2781     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2782     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2783     return xcb_ret;
2784 }
2785 
2786 
2787 /*****************************************************************************
2788  **
2789  ** xcb_window_t * xcb_query_tree_children
2790  **
2791  ** @param const xcb_query_tree_reply_t *R
2792  ** @returns xcb_window_t *
2793  **
2794  *****************************************************************************/
2795 
2796 xcb_window_t *
2797 xcb_query_tree_children (const xcb_query_tree_reply_t *R  /**< */)
2798 {
2799     return (xcb_window_t *) (R + 1);
2800 }
2801 
2802 
2803 /*****************************************************************************
2804  **
2805  ** int xcb_query_tree_children_length
2806  **
2807  ** @param const xcb_query_tree_reply_t *R
2808  ** @returns int
2809  **
2810  *****************************************************************************/
2811 
2812 int
2813 xcb_query_tree_children_length (const xcb_query_tree_reply_t *R  /**< */)
2814 {
2815     return R->children_len;
2816 }
2817 
2818 
2819 /*****************************************************************************
2820  **
2821  ** xcb_generic_iterator_t xcb_query_tree_children_end
2822  **
2823  ** @param const xcb_query_tree_reply_t *R
2824  ** @returns xcb_generic_iterator_t
2825  **
2826  *****************************************************************************/
2827 
2828 xcb_generic_iterator_t
2829 xcb_query_tree_children_end (const xcb_query_tree_reply_t *R  /**< */)
2830 {
2831     xcb_generic_iterator_t i;
2832     i.data = ((xcb_window_t *) (R + 1)) + (R->children_len);
2833     i.rem = 0;
2834     i.index = (char *) i.data - (char *) R;
2835     return i;
2836 }
2837 
2838 
2839 /*****************************************************************************
2840  **
2841  ** xcb_query_tree_reply_t * xcb_query_tree_reply
2842  **
2843  ** @param xcb_connection_t         *c
2844  ** @param xcb_query_tree_cookie_t   cookie
2845  ** @param xcb_generic_error_t     **e
2846  ** @returns xcb_query_tree_reply_t *
2847  **
2848  *****************************************************************************/
2849 
2850 xcb_query_tree_reply_t *
2851 xcb_query_tree_reply (xcb_connection_t         *c  /**< */,
2852                       xcb_query_tree_cookie_t   cookie  /**< */,
2853                       xcb_generic_error_t     **e  /**< */)
2854 {
2855     return (xcb_query_tree_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2856 }
2857 
2858 
2859 /*****************************************************************************
2860  **
2861  ** xcb_intern_atom_cookie_t xcb_intern_atom
2862  **
2863  ** @param xcb_connection_t *c
2864  ** @param uint8_t           only_if_exists
2865  ** @param uint16_t          name_len
2866  ** @param const char       *name
2867  ** @returns xcb_intern_atom_cookie_t
2868  **
2869  *****************************************************************************/
2870 
2871 xcb_intern_atom_cookie_t
2872 xcb_intern_atom (xcb_connection_t *c  /**< */,
2873                  uint8_t           only_if_exists  /**< */,
2874                  uint16_t          name_len  /**< */,
2875                  const char       *name  /**< */)
2876 {
2877     static const xcb_protocol_request_t xcb_req = {
2878         /* count */ 4,
2879         /* ext */ 0,
2880         /* opcode */ XCB_INTERN_ATOM,
2881         /* isvoid */ 0
2882     };
2883 
2884     struct iovec xcb_parts[6];
2885     xcb_intern_atom_cookie_t xcb_ret;
2886     xcb_intern_atom_request_t xcb_out;
2887 
2888     xcb_out.only_if_exists = only_if_exists;
2889     xcb_out.name_len = name_len;
2890     memset(xcb_out.pad0, 0, 2);
2891 
2892     xcb_parts[2].iov_base = (char *) &xcb_out;
2893     xcb_parts[2].iov_len = sizeof(xcb_out);
2894     xcb_parts[3].iov_base = 0;
2895     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2896     xcb_parts[4].iov_base = (char *) name;
2897     xcb_parts[4].iov_len = name_len * sizeof(char);
2898     xcb_parts[5].iov_base = 0;
2899     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2900     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2901     return xcb_ret;
2902 }
2903 
2904 
2905 /*****************************************************************************
2906  **
2907  ** xcb_intern_atom_cookie_t xcb_intern_atom_unchecked
2908  **
2909  ** @param xcb_connection_t *c
2910  ** @param uint8_t           only_if_exists
2911  ** @param uint16_t          name_len
2912  ** @param const char       *name
2913  ** @returns xcb_intern_atom_cookie_t
2914  **
2915  *****************************************************************************/
2916 
2917 xcb_intern_atom_cookie_t
2918 xcb_intern_atom_unchecked (xcb_connection_t *c  /**< */,
2919                            uint8_t           only_if_exists  /**< */,
2920                            uint16_t          name_len  /**< */,
2921                            const char       *name  /**< */)
2922 {
2923     static const xcb_protocol_request_t xcb_req = {
2924         /* count */ 4,
2925         /* ext */ 0,
2926         /* opcode */ XCB_INTERN_ATOM,
2927         /* isvoid */ 0
2928     };
2929 
2930     struct iovec xcb_parts[6];
2931     xcb_intern_atom_cookie_t xcb_ret;
2932     xcb_intern_atom_request_t xcb_out;
2933 
2934     xcb_out.only_if_exists = only_if_exists;
2935     xcb_out.name_len = name_len;
2936     memset(xcb_out.pad0, 0, 2);
2937 
2938     xcb_parts[2].iov_base = (char *) &xcb_out;
2939     xcb_parts[2].iov_len = sizeof(xcb_out);
2940     xcb_parts[3].iov_base = 0;
2941     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2942     xcb_parts[4].iov_base = (char *) name;
2943     xcb_parts[4].iov_len = name_len * sizeof(char);
2944     xcb_parts[5].iov_base = 0;
2945     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2946     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2947     return xcb_ret;
2948 }
2949 
2950 
2951 /*****************************************************************************
2952  **
2953  ** xcb_intern_atom_reply_t * xcb_intern_atom_reply
2954  **
2955  ** @param xcb_connection_t          *c
2956  ** @param xcb_intern_atom_cookie_t   cookie
2957  ** @param xcb_generic_error_t      **e
2958  ** @returns xcb_intern_atom_reply_t *
2959  **
2960  *****************************************************************************/
2961 
2962 xcb_intern_atom_reply_t *
2963 xcb_intern_atom_reply (xcb_connection_t          *c  /**< */,
2964                        xcb_intern_atom_cookie_t   cookie  /**< */,
2965                        xcb_generic_error_t      **e  /**< */)
2966 {
2967     return (xcb_intern_atom_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2968 }
2969 
2970 
2971 /*****************************************************************************
2972  **
2973  ** xcb_get_atom_name_cookie_t xcb_get_atom_name
2974  **
2975  ** @param xcb_connection_t *c
2976  ** @param xcb_atom_t        atom
2977  ** @returns xcb_get_atom_name_cookie_t
2978  **
2979  *****************************************************************************/
2980 
2981 xcb_get_atom_name_cookie_t
2982 xcb_get_atom_name (xcb_connection_t *c  /**< */,
2983                    xcb_atom_t        atom  /**< */)
2984 {
2985     static const xcb_protocol_request_t xcb_req = {
2986         /* count */ 2,
2987         /* ext */ 0,
2988         /* opcode */ XCB_GET_ATOM_NAME,
2989         /* isvoid */ 0
2990     };
2991 
2992     struct iovec xcb_parts[4];
2993     xcb_get_atom_name_cookie_t xcb_ret;
2994     xcb_get_atom_name_request_t xcb_out;
2995 
2996     xcb_out.pad0 = 0;
2997     xcb_out.atom = atom;
2998 
2999     xcb_parts[2].iov_base = (char *) &xcb_out;
3000     xcb_parts[2].iov_len = sizeof(xcb_out);
3001     xcb_parts[3].iov_base = 0;
3002     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3003     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3004     return xcb_ret;
3005 }
3006 
3007 
3008 /*****************************************************************************
3009  **
3010  ** xcb_get_atom_name_cookie_t xcb_get_atom_name_unchecked
3011  **
3012  ** @param xcb_connection_t *c
3013  ** @param xcb_atom_t        atom
3014  ** @returns xcb_get_atom_name_cookie_t
3015  **
3016  *****************************************************************************/
3017 
3018 xcb_get_atom_name_cookie_t
3019 xcb_get_atom_name_unchecked (xcb_connection_t *c  /**< */,
3020                              xcb_atom_t        atom  /**< */)
3021 {
3022     static const xcb_protocol_request_t xcb_req = {
3023         /* count */ 2,
3024         /* ext */ 0,
3025         /* opcode */ XCB_GET_ATOM_NAME,
3026         /* isvoid */ 0
3027     };
3028 
3029     struct iovec xcb_parts[4];
3030     xcb_get_atom_name_cookie_t xcb_ret;
3031     xcb_get_atom_name_request_t xcb_out;
3032 
3033     xcb_out.pad0 = 0;
3034     xcb_out.atom = atom;
3035 
3036     xcb_parts[2].iov_base = (char *) &xcb_out;
3037     xcb_parts[2].iov_len = sizeof(xcb_out);
3038     xcb_parts[3].iov_base = 0;
3039     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3040     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3041     return xcb_ret;
3042 }
3043 
3044 
3045 /*****************************************************************************
3046  **
3047  ** char * xcb_get_atom_name_name
3048  **
3049  ** @param const xcb_get_atom_name_reply_t *R
3050  ** @returns char *
3051  **
3052  *****************************************************************************/
3053 
3054 char *
3055 xcb_get_atom_name_name (const xcb_get_atom_name_reply_t *R  /**< */)
3056 {
3057     return (char *) (R + 1);
3058 }
3059 
3060 
3061 /*****************************************************************************
3062  **
3063  ** int xcb_get_atom_name_name_length
3064  **
3065  ** @param const xcb_get_atom_name_reply_t *R
3066  ** @returns int
3067  **
3068  *****************************************************************************/
3069 
3070 int
3071 xcb_get_atom_name_name_length (const xcb_get_atom_name_reply_t *R  /**< */)
3072 {
3073     return R->name_len;
3074 }
3075 
3076 
3077 /*****************************************************************************
3078  **
3079  ** xcb_generic_iterator_t xcb_get_atom_name_name_end
3080  **
3081  ** @param const xcb_get_atom_name_reply_t *R
3082  ** @returns xcb_generic_iterator_t
3083  **
3084  *****************************************************************************/
3085 
3086 xcb_generic_iterator_t
3087 xcb_get_atom_name_name_end (const xcb_get_atom_name_reply_t *R  /**< */)
3088 {
3089     xcb_generic_iterator_t i;
3090     i.data = ((char *) (R + 1)) + (R->name_len);
3091     i.rem = 0;
3092     i.index = (char *) i.data - (char *) R;
3093     return i;
3094 }
3095 
3096 
3097 /*****************************************************************************
3098  **
3099  ** xcb_get_atom_name_reply_t * xcb_get_atom_name_reply
3100  **
3101  ** @param xcb_connection_t            *c
3102  ** @param xcb_get_atom_name_cookie_t   cookie
3103  ** @param xcb_generic_error_t        **e
3104  ** @returns xcb_get_atom_name_reply_t *
3105  **
3106  *****************************************************************************/
3107 
3108 xcb_get_atom_name_reply_t *
3109 xcb_get_atom_name_reply (xcb_connection_t            *c  /**< */,
3110                          xcb_get_atom_name_cookie_t   cookie  /**< */,
3111                          xcb_generic_error_t        **e  /**< */)
3112 {
3113     return (xcb_get_atom_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
3114 }
3115 
3116 
3117 /*****************************************************************************
3118  **
3119  ** xcb_void_cookie_t xcb_change_property_checked
3120  **
3121  ** @param xcb_connection_t *c
3122  ** @param uint8_t           mode
3123  ** @param xcb_window_t      window
3124  ** @param xcb_atom_t        property
3125  ** @param xcb_atom_t        type
3126  ** @param uint8_t           format
3127  ** @param uint32_t          data_len
3128  ** @param const void       *data
3129  ** @returns xcb_void_cookie_t
3130  **
3131  *****************************************************************************/
3132 
3133 xcb_void_cookie_t
3134 xcb_change_property_checked (xcb_connection_t *c  /**< */,
3135                              uint8_t           mode  /**< */,
3136                              xcb_window_t      window  /**< */,
3137                              xcb_atom_t        property  /**< */,
3138                              xcb_atom_t        type  /**< */,
3139                              uint8_t           format  /**< */,
3140                              uint32_t          data_len  /**< */,
3141                              const void       *data  /**< */)
3142 {
3143     static const xcb_protocol_request_t xcb_req = {
3144         /* count */ 4,
3145         /* ext */ 0,
3146         /* opcode */ XCB_CHANGE_PROPERTY,
3147         /* isvoid */ 1
3148     };
3149 
3150     struct iovec xcb_parts[6];
3151     xcb_void_cookie_t xcb_ret;
3152     xcb_change_property_request_t xcb_out;
3153 
3154     xcb_out.mode = mode;
3155     xcb_out.window = window;
3156     xcb_out.property = property;
3157     xcb_out.type = type;
3158     xcb_out.format = format;
3159     memset(xcb_out.pad0, 0, 3);
3160     xcb_out.data_len = data_len;
3161 
3162     xcb_parts[2].iov_base = (char *) &xcb_out;
3163     xcb_parts[2].iov_len = sizeof(xcb_out);
3164     xcb_parts[3].iov_base = 0;
3165     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3166     xcb_parts[4].iov_base = (char *) data;
3167     xcb_parts[4].iov_len = ((data_len * format) / 8) * sizeof(char);
3168     xcb_parts[5].iov_base = 0;
3169     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
3170     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3171     return xcb_ret;
3172 }
3173 
3174 
3175 /*****************************************************************************
3176  **
3177  ** xcb_void_cookie_t xcb_change_property
3178  **
3179  ** @param xcb_connection_t *c
3180  ** @param uint8_t           mode
3181  ** @param xcb_window_t      window
3182  ** @param xcb_atom_t        property
3183  ** @param xcb_atom_t        type
3184  ** @param uint8_t           format
3185  ** @param uint32_t          data_len
3186  ** @param const void       *data
3187  ** @returns xcb_void_cookie_t
3188  **
3189  *****************************************************************************/
3190 
3191 xcb_void_cookie_t
3192 xcb_change_property (xcb_connection_t *c  /**< */,
3193                      uint8_t           mode  /**< */,
3194                      xcb_window_t      window  /**< */,
3195                      xcb_atom_t        property  /**< */,
3196                      xcb_atom_t        type  /**< */,
3197                      uint8_t           format  /**< */,
3198                      uint32_t          data_len  /**< */,
3199                      const void       *data  /**< */)
3200 {
3201     static const xcb_protocol_request_t xcb_req = {
3202         /* count */ 4,
3203         /* ext */ 0,
3204         /* opcode */ XCB_CHANGE_PROPERTY,
3205         /* isvoid */ 1
3206     };
3207 
3208     struct iovec xcb_parts[6];
3209     xcb_void_cookie_t xcb_ret;
3210     xcb_change_property_request_t xcb_out;
3211 
3212     xcb_out.mode = mode;
3213     xcb_out.window = window;
3214     xcb_out.property = property;
3215     xcb_out.type = type;
3216     xcb_out.format = format;
3217     memset(xcb_out.pad0, 0, 3);
3218     xcb_out.data_len = data_len;
3219 
3220     xcb_parts[2].iov_base = (char *) &xcb_out;
3221     xcb_parts[2].iov_len = sizeof(xcb_out);
3222     xcb_parts[3].iov_base = 0;
3223     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3224     xcb_parts[4].iov_base = (char *) data;
3225     xcb_parts[4].iov_len = ((data_len * format) / 8) * sizeof(char);
3226     xcb_parts[5].iov_base = 0;
3227     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
3228     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3229     return xcb_ret;
3230 }
3231 
3232 
3233 /*****************************************************************************
3234  **
3235  ** xcb_void_cookie_t xcb_delete_property_checked
3236  **
3237  ** @param xcb_connection_t *c
3238  ** @param xcb_window_t      window
3239  ** @param xcb_atom_t        property
3240  ** @returns xcb_void_cookie_t
3241  **
3242  *****************************************************************************/
3243 
3244 xcb_void_cookie_t
3245 xcb_delete_property_checked (xcb_connection_t *c  /**< */,
3246                              xcb_window_t      window  /**< */,
3247                              xcb_atom_t        property  /**< */)
3248 {
3249     static const xcb_protocol_request_t xcb_req = {
3250         /* count */ 2,
3251         /* ext */ 0,
3252         /* opcode */ XCB_DELETE_PROPERTY,
3253         /* isvoid */ 1
3254     };
3255 
3256     struct iovec xcb_parts[4];
3257     xcb_void_cookie_t xcb_ret;
3258     xcb_delete_property_request_t xcb_out;
3259 
3260     xcb_out.pad0 = 0;
3261     xcb_out.window = window;
3262     xcb_out.property = property;
3263 
3264     xcb_parts[2].iov_base = (char *) &xcb_out;
3265     xcb_parts[2].iov_len = sizeof(xcb_out);
3266     xcb_parts[3].iov_base = 0;
3267     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3268     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3269     return xcb_ret;
3270 }
3271 
3272 
3273 /*****************************************************************************
3274  **
3275  ** xcb_void_cookie_t xcb_delete_property
3276  **
3277  ** @param xcb_connection_t *c
3278  ** @param xcb_window_t      window
3279  ** @param xcb_atom_t        property
3280  ** @returns xcb_void_cookie_t
3281  **
3282  *****************************************************************************/
3283 
3284 xcb_void_cookie_t
3285 xcb_delete_property (xcb_connection_t *c  /**< */,
3286                      xcb_window_t      window  /**< */,
3287                      xcb_atom_t        property  /**< */)
3288 {
3289     static const xcb_protocol_request_t xcb_req = {
3290         /* count */ 2,
3291         /* ext */ 0,
3292         /* opcode */ XCB_DELETE_PROPERTY,
3293         /* isvoid */ 1
3294     };
3295 
3296     struct iovec xcb_parts[4];
3297     xcb_void_cookie_t xcb_ret;
3298     xcb_delete_property_request_t xcb_out;
3299 
3300     xcb_out.pad0 = 0;
3301     xcb_out.window = window;
3302     xcb_out.property = property;
3303 
3304     xcb_parts[2].iov_base = (char *) &xcb_out;
3305     xcb_parts[2].iov_len = sizeof(xcb_out);
3306     xcb_parts[3].iov_base = 0;
3307     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3308     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3309     return xcb_ret;
3310 }
3311 
3312 
3313 /*****************************************************************************
3314  **
3315  ** xcb_get_property_cookie_t xcb_get_property
3316  **
3317  ** @param xcb_connection_t *c
3318  ** @param uint8_t           _delete
3319  ** @param xcb_window_t      window
3320  ** @param xcb_atom_t        property
3321  ** @param xcb_atom_t        type
3322  ** @param uint32_t          long_offset
3323  ** @param uint32_t          long_length
3324  ** @returns xcb_get_property_cookie_t
3325  **
3326  *****************************************************************************/
3327 
3328 xcb_get_property_cookie_t
3329 xcb_get_property (xcb_connection_t *c  /**< */,
3330                   uint8_t           _delete  /**< */,
3331                   xcb_window_t      window  /**< */,
3332                   xcb_atom_t        property  /**< */,
3333                   xcb_atom_t        type  /**< */,
3334                   uint32_t          long_offset  /**< */,
3335                   uint32_t          long_length  /**< */)
3336 {
3337     static const xcb_protocol_request_t xcb_req = {
3338         /* count */ 2,
3339         /* ext */ 0,
3340         /* opcode */ XCB_GET_PROPERTY,
3341         /* isvoid */ 0
3342     };
3343 
3344     struct iovec xcb_parts[4];
3345     xcb_get_property_cookie_t xcb_ret;
3346     xcb_get_property_request_t xcb_out;
3347 
3348     xcb_out._delete = _delete;
3349     xcb_out.window = window;
3350     xcb_out.property = property;
3351     xcb_out.type = type;
3352     xcb_out.long_offset = long_offset;
3353     xcb_out.long_length = long_length;
3354 
3355     xcb_parts[2].iov_base = (char *) &xcb_out;
3356     xcb_parts[2].iov_len = sizeof(xcb_out);
3357     xcb_parts[3].iov_base = 0;
3358     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3359     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3360     return xcb_ret;
3361 }
3362 
3363 
3364 /*****************************************************************************
3365  **
3366  ** xcb_get_property_cookie_t xcb_get_property_unchecked
3367  **
3368  ** @param xcb_connection_t *c
3369  ** @param uint8_t           _delete
3370  ** @param xcb_window_t      window
3371  ** @param xcb_atom_t        property
3372  ** @param xcb_atom_t        type
3373  ** @param uint32_t          long_offset
3374  ** @param uint32_t          long_length
3375  ** @returns xcb_get_property_cookie_t
3376  **
3377  *****************************************************************************/
3378 
3379 xcb_get_property_cookie_t
3380 xcb_get_property_unchecked (xcb_connection_t *c  /**< */,
3381                             uint8_t           _delete  /**< */,
3382                             xcb_window_t      window  /**< */,
3383                             xcb_atom_t        property  /**< */,
3384                             xcb_atom_t        type  /**< */,
3385                             uint32_t          long_offset  /**< */,
3386                             uint32_t          long_length  /**< */)
3387 {
3388     static const xcb_protocol_request_t xcb_req = {
3389         /* count */ 2,
3390         /* ext */ 0,
3391         /* opcode */ XCB_GET_PROPERTY,
3392         /* isvoid */ 0
3393     };
3394 
3395     struct iovec xcb_parts[4];
3396     xcb_get_property_cookie_t xcb_ret;
3397     xcb_get_property_request_t xcb_out;
3398 
3399     xcb_out._delete = _delete;
3400     xcb_out.window = window;
3401     xcb_out.property = property;
3402     xcb_out.type = type;
3403     xcb_out.long_offset = long_offset;
3404     xcb_out.long_length = long_length;
3405 
3406     xcb_parts[2].iov_base = (char *) &xcb_out;
3407     xcb_parts[2].iov_len = sizeof(xcb_out);
3408     xcb_parts[3].iov_base = 0;
3409     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3410     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3411     return xcb_ret;
3412 }
3413 
3414 
3415 /*****************************************************************************
3416  **
3417  ** void * xcb_get_property_value
3418  **
3419  ** @param const xcb_get_property_reply_t *R
3420  ** @returns void *
3421  **
3422  *****************************************************************************/
3423 
3424 void *
3425 xcb_get_property_value (const xcb_get_property_reply_t *R  /**< */)
3426 {
3427     return (void *) (R + 1);
3428 }
3429 
3430 
3431 /*****************************************************************************
3432  **
3433  ** int xcb_get_property_value_length
3434  **
3435  ** @param const xcb_get_property_reply_t *R
3436  ** @returns int
3437  **
3438  *****************************************************************************/
3439 
3440 int
3441 xcb_get_property_value_length (const xcb_get_property_reply_t *R  /**< */)
3442 {
3443     return (R->value_len * (R->format / 8));
3444 }
3445 
3446 
3447 /*****************************************************************************
3448  **
3449  ** xcb_generic_iterator_t xcb_get_property_value_end
3450  **
3451  ** @param const xcb_get_property_reply_t *R
3452  ** @returns xcb_generic_iterator_t
3453  **
3454  *****************************************************************************/
3455 
3456 xcb_generic_iterator_t
3457 xcb_get_property_value_end (const xcb_get_property_reply_t *R  /**< */)
3458 {
3459     xcb_generic_iterator_t i;
3460     i.data = ((char *) (R + 1)) + ((R->value_len * (R->format / 8)));
3461     i.rem = 0;
3462     i.index = (char *) i.data - (char *) R;
3463     return i;
3464 }
3465 
3466 
3467 /*****************************************************************************
3468  **
3469  ** xcb_get_property_reply_t * xcb_get_property_reply
3470  **
3471  ** @param xcb_connection_t           *c
3472  ** @param xcb_get_property_cookie_t   cookie
3473  ** @param xcb_generic_error_t       **e
3474  ** @returns xcb_get_property_reply_t *
3475  **
3476  *****************************************************************************/
3477 
3478 xcb_get_property_reply_t *
3479 xcb_get_property_reply (xcb_connection_t           *c  /**< */,
3480                         xcb_get_property_cookie_t   cookie  /**< */,
3481                         xcb_generic_error_t       **e  /**< */)
3482 {
3483     return (xcb_get_property_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
3484 }
3485 
3486 
3487 /*****************************************************************************
3488  **
3489  ** xcb_list_properties_cookie_t xcb_list_properties
3490  **
3491  ** @param xcb_connection_t *c
3492  ** @param xcb_window_t      window
3493  ** @returns xcb_list_properties_cookie_t
3494  **
3495  *****************************************************************************/
3496 
3497 xcb_list_properties_cookie_t
3498 xcb_list_properties (xcb_connection_t *c  /**< */,
3499                      xcb_window_t      window  /**< */)
3500 {
3501     static const xcb_protocol_request_t xcb_req = {
3502         /* count */ 2,
3503         /* ext */ 0,
3504         /* opcode */ XCB_LIST_PROPERTIES,
3505         /* isvoid */ 0
3506     };
3507 
3508     struct iovec xcb_parts[4];
3509     xcb_list_properties_cookie_t xcb_ret;
3510     xcb_list_properties_request_t xcb_out;
3511 
3512     xcb_out.pad0 = 0;
3513     xcb_out.window = window;
3514 
3515     xcb_parts[2].iov_base = (char *) &xcb_out;
3516     xcb_parts[2].iov_len = sizeof(xcb_out);
3517     xcb_parts[3].iov_base = 0;
3518     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3519     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3520     return xcb_ret;
3521 }
3522 
3523 
3524 /*****************************************************************************
3525  **
3526  ** xcb_list_properties_cookie_t xcb_list_properties_unchecked
3527  **
3528  ** @param xcb_connection_t *c
3529  ** @param xcb_window_t      window
3530  ** @returns xcb_list_properties_cookie_t
3531  **
3532  *****************************************************************************/
3533 
3534 xcb_list_properties_cookie_t
3535 xcb_list_properties_unchecked (xcb_connection_t *c  /**< */,
3536                                xcb_window_t      window  /**< */)
3537 {
3538     static const xcb_protocol_request_t xcb_req = {
3539         /* count */ 2,
3540         /* ext */ 0,
3541         /* opcode */ XCB_LIST_PROPERTIES,
3542         /* isvoid */ 0
3543     };
3544 
3545     struct iovec xcb_parts[4];
3546     xcb_list_properties_cookie_t xcb_ret;
3547     xcb_list_properties_request_t xcb_out;
3548 
3549     xcb_out.pad0 = 0;
3550     xcb_out.window = window;
3551 
3552     xcb_parts[2].iov_base = (char *) &xcb_out;
3553     xcb_parts[2].iov_len = sizeof(xcb_out);
3554     xcb_parts[3].iov_base = 0;
3555     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3556     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3557     return xcb_ret;
3558 }
3559 
3560 
3561 /*****************************************************************************
3562  **
3563  ** xcb_atom_t * xcb_list_properties_atoms
3564  **
3565  ** @param const xcb_list_properties_reply_t *R
3566  ** @returns xcb_atom_t *
3567  **
3568  *****************************************************************************/
3569 
3570 xcb_atom_t *
3571 xcb_list_properties_atoms (const xcb_list_properties_reply_t *R  /**< */)
3572 {
3573     return (xcb_atom_t *) (R + 1);
3574 }
3575 
3576 
3577 /*****************************************************************************
3578  **
3579  ** int xcb_list_properties_atoms_length
3580  **
3581  ** @param const xcb_list_properties_reply_t *R
3582  ** @returns int
3583  **
3584  *****************************************************************************/
3585 
3586 int
3587 xcb_list_properties_atoms_length (const xcb_list_properties_reply_t *R  /**< */)
3588 {
3589     return R->atoms_len;
3590 }
3591 
3592 
3593 /*****************************************************************************
3594  **
3595  ** xcb_generic_iterator_t xcb_list_properties_atoms_end
3596  **
3597  ** @param const xcb_list_properties_reply_t *R
3598  ** @returns xcb_generic_iterator_t
3599  **
3600  *****************************************************************************/
3601 
3602 xcb_generic_iterator_t
3603 xcb_list_properties_atoms_end (const xcb_list_properties_reply_t *R  /**< */)
3604 {
3605     xcb_generic_iterator_t i;
3606     i.data = ((xcb_atom_t *) (R + 1)) + (R->atoms_len);
3607     i.rem = 0;
3608     i.index = (char *) i.data - (char *) R;
3609     return i;
3610 }
3611 
3612 
3613 /*****************************************************************************
3614  **
3615  ** xcb_list_properties_reply_t * xcb_list_properties_reply
3616  **
3617  ** @param xcb_connection_t              *c
3618  ** @param xcb_list_properties_cookie_t   cookie
3619  ** @param xcb_generic_error_t          **e
3620  ** @returns xcb_list_properties_reply_t *
3621  **
3622  *****************************************************************************/
3623 
3624 xcb_list_properties_reply_t *
3625 xcb_list_properties_reply (xcb_connection_t              *c  /**< */,
3626                            xcb_list_properties_cookie_t   cookie  /**< */,
3627                            xcb_generic_error_t          **e  /**< */)
3628 {
3629     return (xcb_list_properties_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
3630 }
3631 
3632 
3633 /*****************************************************************************
3634  **
3635  ** xcb_void_cookie_t xcb_set_selection_owner_checked
3636  **
3637  ** @param xcb_connection_t *c
3638  ** @param xcb_window_t      owner
3639  ** @param xcb_atom_t        selection
3640  ** @param xcb_timestamp_t   time
3641  ** @returns xcb_void_cookie_t
3642  **
3643  *****************************************************************************/
3644 
3645 xcb_void_cookie_t
3646 xcb_set_selection_owner_checked (xcb_connection_t *c  /**< */,
3647                                  xcb_window_t      owner  /**< */,
3648                                  xcb_atom_t        selection  /**< */,
3649                                  xcb_timestamp_t   time  /**< */)
3650 {
3651     static const xcb_protocol_request_t xcb_req = {
3652         /* count */ 2,
3653         /* ext */ 0,
3654         /* opcode */ XCB_SET_SELECTION_OWNER,
3655         /* isvoid */ 1
3656     };
3657 
3658     struct iovec xcb_parts[4];
3659     xcb_void_cookie_t xcb_ret;
3660     xcb_set_selection_owner_request_t xcb_out;
3661 
3662     xcb_out.pad0 = 0;
3663     xcb_out.owner = owner;
3664     xcb_out.selection = selection;
3665     xcb_out.time = time;
3666 
3667     xcb_parts[2].iov_base = (char *) &xcb_out;
3668     xcb_parts[2].iov_len = sizeof(xcb_out);
3669     xcb_parts[3].iov_base = 0;
3670     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3671     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3672     return xcb_ret;
3673 }
3674 
3675 
3676 /*****************************************************************************
3677  **
3678  ** xcb_void_cookie_t xcb_set_selection_owner
3679  **
3680  ** @param xcb_connection_t *c
3681  ** @param xcb_window_t      owner
3682  ** @param xcb_atom_t        selection
3683  ** @param xcb_timestamp_t   time
3684  ** @returns xcb_void_cookie_t
3685  **
3686  *****************************************************************************/
3687 
3688 xcb_void_cookie_t
3689 xcb_set_selection_owner (xcb_connection_t *c  /**< */,
3690                          xcb_window_t      owner  /**< */,
3691                          xcb_atom_t        selection  /**< */,
3692                          xcb_timestamp_t   time  /**< */)
3693 {
3694     static const xcb_protocol_request_t xcb_req = {
3695         /* count */ 2,
3696         /* ext */ 0,
3697         /* opcode */ XCB_SET_SELECTION_OWNER,
3698         /* isvoid */ 1
3699     };
3700 
3701     struct iovec xcb_parts[4];
3702     xcb_void_cookie_t xcb_ret;
3703     xcb_set_selection_owner_request_t xcb_out;
3704 
3705     xcb_out.pad0 = 0;
3706     xcb_out.owner = owner;
3707     xcb_out.selection = selection;
3708     xcb_out.time = time;
3709 
3710     xcb_parts[2].iov_base = (char *) &xcb_out;
3711     xcb_parts[2].iov_len = sizeof(xcb_out);
3712     xcb_parts[3].iov_base = 0;
3713     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3714     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3715     return xcb_ret;
3716 }
3717 
3718 
3719 /*****************************************************************************
3720  **
3721  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner
3722  **
3723  ** @param xcb_connection_t *c
3724  ** @param xcb_atom_t        selection
3725  ** @returns xcb_get_selection_owner_cookie_t
3726  **
3727  *****************************************************************************/
3728 
3729 xcb_get_selection_owner_cookie_t
3730 xcb_get_selection_owner (xcb_connection_t *c  /**< */,
3731                          xcb_atom_t        selection  /**< */)
3732 {
3733     static const xcb_protocol_request_t xcb_req = {
3734         /* count */ 2,
3735         /* ext */ 0,
3736         /* opcode */ XCB_GET_SELECTION_OWNER,
3737         /* isvoid */ 0
3738     };
3739 
3740     struct iovec xcb_parts[4];
3741     xcb_get_selection_owner_cookie_t xcb_ret;
3742     xcb_get_selection_owner_request_t xcb_out;
3743 
3744     xcb_out.pad0 = 0;
3745     xcb_out.selection = selection;
3746 
3747     xcb_parts[2].iov_base = (char *) &xcb_out;
3748     xcb_parts[2].iov_len = sizeof(xcb_out);
3749     xcb_parts[3].iov_base = 0;
3750     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3751     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3752     return xcb_ret;
3753 }
3754 
3755 
3756 /*****************************************************************************
3757  **
3758  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner_unchecked
3759  **
3760  ** @param xcb_connection_t *c
3761  ** @param xcb_atom_t        selection
3762  ** @returns xcb_get_selection_owner_cookie_t
3763  **
3764  *****************************************************************************/
3765 
3766 xcb_get_selection_owner_cookie_t
3767 xcb_get_selection_owner_unchecked (xcb_connection_t *c  /**< */,
3768                                    xcb_atom_t        selection  /**< */)
3769 {
3770     static const xcb_protocol_request_t xcb_req = {
3771         /* count */ 2,
3772         /* ext */ 0,
3773         /* opcode */ XCB_GET_SELECTION_OWNER,
3774         /* isvoid */ 0
3775     };
3776 
3777     struct iovec xcb_parts[4];
3778     xcb_get_selection_owner_cookie_t xcb_ret;
3779     xcb_get_selection_owner_request_t xcb_out;
3780 
3781     xcb_out.pad0 = 0;
3782     xcb_out.selection = selection;
3783 
3784     xcb_parts[2].iov_base = (char *) &xcb_out;
3785     xcb_parts[2].iov_len = sizeof(xcb_out);
3786     xcb_parts[3].iov_base = 0;
3787     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3788     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3789     return xcb_ret;
3790 }
3791 
3792 
3793 /*****************************************************************************
3794  **
3795  ** xcb_get_selection_owner_reply_t * xcb_get_selection_owner_reply
3796  **
3797  ** @param xcb_connection_t                  *c
3798  ** @param xcb_get_selection_owner_cookie_t   cookie
3799  ** @param xcb_generic_error_t              **e
3800  ** @returns xcb_get_selection_owner_reply_t *
3801  **
3802  *****************************************************************************/
3803 
3804 xcb_get_selection_owner_reply_t *
3805 xcb_get_selection_owner_reply (xcb_connection_t                  *c  /**< */,
3806                                xcb_get_selection_owner_cookie_t   cookie  /**< */,
3807                                xcb_generic_error_t              **e  /**< */)
3808 {
3809     return (xcb_get_selection_owner_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
3810 }
3811 
3812 
3813 /*****************************************************************************
3814  **
3815  ** xcb_void_cookie_t xcb_convert_selection_checked
3816  **
3817  ** @param xcb_connection_t *c
3818  ** @param xcb_window_t      requestor
3819  ** @param xcb_atom_t        selection
3820  ** @param xcb_atom_t        target
3821  ** @param xcb_atom_t        property
3822  ** @param xcb_timestamp_t   time
3823  ** @returns xcb_void_cookie_t
3824  **
3825  *****************************************************************************/
3826 
3827 xcb_void_cookie_t
3828 xcb_convert_selection_checked (xcb_connection_t *c  /**< */,
3829                                xcb_window_t      requestor  /**< */,
3830                                xcb_atom_t        selection  /**< */,
3831                                xcb_atom_t        target  /**< */,
3832                                xcb_atom_t        property  /**< */,
3833                                xcb_timestamp_t   time  /**< */)
3834 {
3835     static const xcb_protocol_request_t xcb_req = {
3836         /* count */ 2,
3837         /* ext */ 0,
3838         /* opcode */ XCB_CONVERT_SELECTION,
3839         /* isvoid */ 1
3840     };
3841 
3842     struct iovec xcb_parts[4];
3843     xcb_void_cookie_t xcb_ret;
3844     xcb_convert_selection_request_t xcb_out;
3845 
3846     xcb_out.pad0 = 0;
3847     xcb_out.requestor = requestor;
3848     xcb_out.selection = selection;
3849     xcb_out.target = target;
3850     xcb_out.property = property;
3851     xcb_out.time = time;
3852 
3853     xcb_parts[2].iov_base = (char *) &xcb_out;
3854     xcb_parts[2].iov_len = sizeof(xcb_out);
3855     xcb_parts[3].iov_base = 0;
3856     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3857     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3858     return xcb_ret;
3859 }
3860 
3861 
3862 /*****************************************************************************
3863  **
3864  ** xcb_void_cookie_t xcb_convert_selection
3865  **
3866  ** @param xcb_connection_t *c
3867  ** @param xcb_window_t      requestor
3868  ** @param xcb_atom_t        selection
3869  ** @param xcb_atom_t        target
3870  ** @param xcb_atom_t        property
3871  ** @param xcb_timestamp_t   time
3872  ** @returns xcb_void_cookie_t
3873  **
3874  *****************************************************************************/
3875 
3876 xcb_void_cookie_t
3877 xcb_convert_selection (xcb_connection_t *c  /**< */,
3878                        xcb_window_t      requestor  /**< */,
3879                        xcb_atom_t        selection  /**< */,
3880                        xcb_atom_t        target  /**< */,
3881                        xcb_atom_t        property  /**< */,
3882                        xcb_timestamp_t   time  /**< */)
3883 {
3884     static const xcb_protocol_request_t xcb_req = {
3885         /* count */ 2,
3886         /* ext */ 0,
3887         /* opcode */ XCB_CONVERT_SELECTION,
3888         /* isvoid */ 1
3889     };
3890 
3891     struct iovec xcb_parts[4];
3892     xcb_void_cookie_t xcb_ret;
3893     xcb_convert_selection_request_t xcb_out;
3894 
3895     xcb_out.pad0 = 0;
3896     xcb_out.requestor = requestor;
3897     xcb_out.selection = selection;
3898     xcb_out.target = target;
3899     xcb_out.property = property;
3900     xcb_out.time = time;
3901 
3902     xcb_parts[2].iov_base = (char *) &xcb_out;
3903     xcb_parts[2].iov_len = sizeof(xcb_out);
3904     xcb_parts[3].iov_base = 0;
3905     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3906     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3907     return xcb_ret;
3908 }
3909 
3910 
3911 /*****************************************************************************
3912  **
3913  ** xcb_void_cookie_t xcb_send_event_checked
3914  **
3915  ** @param xcb_connection_t *c
3916  ** @param uint8_t           propagate
3917  ** @param xcb_window_t      destination
3918  ** @param uint32_t          event_mask
3919  ** @param const char       *event
3920  ** @returns xcb_void_cookie_t
3921  **
3922  *****************************************************************************/
3923 
3924 xcb_void_cookie_t
3925 xcb_send_event_checked (xcb_connection_t *c  /**< */,
3926                         uint8_t           propagate  /**< */,
3927                         xcb_window_t      destination  /**< */,
3928                         uint32_t          event_mask  /**< */,
3929                         const char       *event  /**< */)
3930 {
3931     static const xcb_protocol_request_t xcb_req = {
3932         /* count */ 2,
3933         /* ext */ 0,
3934         /* opcode */ XCB_SEND_EVENT,
3935         /* isvoid */ 1
3936     };
3937 
3938     struct iovec xcb_parts[4];
3939     xcb_void_cookie_t xcb_ret;
3940     xcb_send_event_request_t xcb_out;
3941 
3942     xcb_out.propagate = propagate;
3943     xcb_out.destination = destination;
3944     xcb_out.event_mask = event_mask;
3945     memcpy(xcb_out.event, event, 32);
3946 
3947     xcb_parts[2].iov_base = (char *) &xcb_out;
3948     xcb_parts[2].iov_len = sizeof(xcb_out);
3949     xcb_parts[3].iov_base = 0;
3950     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3951     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3952     return xcb_ret;
3953 }
3954 
3955 
3956 /*****************************************************************************
3957  **
3958  ** xcb_void_cookie_t xcb_send_event
3959  **
3960  ** @param xcb_connection_t *c
3961  ** @param uint8_t           propagate
3962  ** @param xcb_window_t      destination
3963  ** @param uint32_t          event_mask
3964  ** @param const char       *event
3965  ** @returns xcb_void_cookie_t
3966  **
3967  *****************************************************************************/
3968 
3969 xcb_void_cookie_t
3970 xcb_send_event (xcb_connection_t *c  /**< */,
3971                 uint8_t           propagate  /**< */,
3972                 xcb_window_t      destination  /**< */,
3973                 uint32_t          event_mask  /**< */,
3974                 const char       *event  /**< */)
3975 {
3976     static const xcb_protocol_request_t xcb_req = {
3977         /* count */ 2,
3978         /* ext */ 0,
3979         /* opcode */ XCB_SEND_EVENT,
3980         /* isvoid */ 1
3981     };
3982 
3983     struct iovec xcb_parts[4];
3984     xcb_void_cookie_t xcb_ret;
3985     xcb_send_event_request_t xcb_out;
3986 
3987     xcb_out.propagate = propagate;
3988     xcb_out.destination = destination;
3989     xcb_out.event_mask = event_mask;
3990     memcpy(xcb_out.event, event, 32);
3991 
3992     xcb_parts[2].iov_base = (char *) &xcb_out;
3993     xcb_parts[2].iov_len = sizeof(xcb_out);
3994     xcb_parts[3].iov_base = 0;
3995     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3996     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3997     return xcb_ret;
3998 }
3999 
4000 
4001 /*****************************************************************************
4002  **
4003  ** xcb_grab_pointer_cookie_t xcb_grab_pointer
4004  **
4005  ** @param xcb_connection_t *c
4006  ** @param uint8_t           owner_events
4007  ** @param xcb_window_t      grab_window
4008  ** @param uint16_t          event_mask
4009  ** @param uint8_t           pointer_mode
4010  ** @param uint8_t           keyboard_mode
4011  ** @param xcb_window_t      confine_to
4012  ** @param xcb_cursor_t      cursor
4013  ** @param xcb_timestamp_t   time
4014  ** @returns xcb_grab_pointer_cookie_t
4015  **
4016  *****************************************************************************/
4017 
4018 xcb_grab_pointer_cookie_t
4019 xcb_grab_pointer (xcb_connection_t *c  /**< */,
4020                   uint8_t           owner_events  /**< */,
4021                   xcb_window_t      grab_window  /**< */,
4022                   uint16_t          event_mask  /**< */,
4023                   uint8_t           pointer_mode  /**< */,
4024                   uint8_t           keyboard_mode  /**< */,
4025                   xcb_window_t      confine_to  /**< */,
4026                   xcb_cursor_t      cursor  /**< */,
4027                   xcb_timestamp_t   time  /**< */)
4028 {
4029     static const xcb_protocol_request_t xcb_req = {
4030         /* count */ 2,
4031         /* ext */ 0,
4032         /* opcode */ XCB_GRAB_POINTER,
4033         /* isvoid */ 0
4034     };
4035 
4036     struct iovec xcb_parts[4];
4037     xcb_grab_pointer_cookie_t xcb_ret;
4038     xcb_grab_pointer_request_t xcb_out;
4039 
4040     xcb_out.owner_events = owner_events;
4041     xcb_out.grab_window = grab_window;
4042     xcb_out.event_mask = event_mask;
4043     xcb_out.pointer_mode = pointer_mode;
4044     xcb_out.keyboard_mode = keyboard_mode;
4045     xcb_out.confine_to = confine_to;
4046     xcb_out.cursor = cursor;
4047     xcb_out.time = time;
4048 
4049     xcb_parts[2].iov_base = (char *) &xcb_out;
4050     xcb_parts[2].iov_len = sizeof(xcb_out);
4051     xcb_parts[3].iov_base = 0;
4052     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4053     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4054     return xcb_ret;
4055 }
4056 
4057 
4058 /*****************************************************************************
4059  **
4060  ** xcb_grab_pointer_cookie_t xcb_grab_pointer_unchecked
4061  **
4062  ** @param xcb_connection_t *c
4063  ** @param uint8_t           owner_events
4064  ** @param xcb_window_t      grab_window
4065  ** @param uint16_t          event_mask
4066  ** @param uint8_t           pointer_mode
4067  ** @param uint8_t           keyboard_mode
4068  ** @param xcb_window_t      confine_to
4069  ** @param xcb_cursor_t      cursor
4070  ** @param xcb_timestamp_t   time
4071  ** @returns xcb_grab_pointer_cookie_t
4072  **
4073  *****************************************************************************/
4074 
4075 xcb_grab_pointer_cookie_t
4076 xcb_grab_pointer_unchecked (xcb_connection_t *c  /**< */,
4077                             uint8_t           owner_events  /**< */,
4078                             xcb_window_t      grab_window  /**< */,
4079                             uint16_t          event_mask  /**< */,
4080                             uint8_t           pointer_mode  /**< */,
4081                             uint8_t           keyboard_mode  /**< */,
4082                             xcb_window_t      confine_to  /**< */,
4083                             xcb_cursor_t      cursor  /**< */,
4084                             xcb_timestamp_t   time  /**< */)
4085 {
4086     static const xcb_protocol_request_t xcb_req = {
4087         /* count */ 2,
4088         /* ext */ 0,
4089         /* opcode */ XCB_GRAB_POINTER,
4090         /* isvoid */ 0
4091     };
4092 
4093     struct iovec xcb_parts[4];
4094     xcb_grab_pointer_cookie_t xcb_ret;
4095     xcb_grab_pointer_request_t xcb_out;
4096 
4097     xcb_out.owner_events = owner_events;
4098     xcb_out.grab_window = grab_window;
4099     xcb_out.event_mask = event_mask;
4100     xcb_out.pointer_mode = pointer_mode;
4101     xcb_out.keyboard_mode = keyboard_mode;
4102     xcb_out.confine_to = confine_to;
4103     xcb_out.cursor = cursor;
4104     xcb_out.time = time;
4105 
4106     xcb_parts[2].iov_base = (char *) &xcb_out;
4107     xcb_parts[2].iov_len = sizeof(xcb_out);
4108     xcb_parts[3].iov_base = 0;
4109     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4110     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4111     return xcb_ret;
4112 }
4113 
4114 
4115 /*****************************************************************************
4116  **
4117  ** xcb_grab_pointer_reply_t * xcb_grab_pointer_reply
4118  **
4119  ** @param xcb_connection_t           *c
4120  ** @param xcb_grab_pointer_cookie_t   cookie
4121  ** @param xcb_generic_error_t       **e
4122  ** @returns xcb_grab_pointer_reply_t *
4123  **
4124  *****************************************************************************/
4125 
4126 xcb_grab_pointer_reply_t *
4127 xcb_grab_pointer_reply (xcb_connection_t           *c  /**< */,
4128                         xcb_grab_pointer_cookie_t   cookie  /**< */,
4129                         xcb_generic_error_t       **e  /**< */)
4130 {
4131     return (xcb_grab_pointer_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4132 }
4133 
4134 
4135 /*****************************************************************************
4136  **
4137  ** xcb_void_cookie_t xcb_ungrab_pointer_checked
4138  **
4139  ** @param xcb_connection_t *c
4140  ** @param xcb_timestamp_t   time
4141  ** @returns xcb_void_cookie_t
4142  **
4143  *****************************************************************************/
4144 
4145 xcb_void_cookie_t
4146 xcb_ungrab_pointer_checked (xcb_connection_t *c  /**< */,
4147                             xcb_timestamp_t   time  /**< */)
4148 {
4149     static const xcb_protocol_request_t xcb_req = {
4150         /* count */ 2,
4151         /* ext */ 0,
4152         /* opcode */ XCB_UNGRAB_POINTER,
4153         /* isvoid */ 1
4154     };
4155 
4156     struct iovec xcb_parts[4];
4157     xcb_void_cookie_t xcb_ret;
4158     xcb_ungrab_pointer_request_t xcb_out;
4159 
4160     xcb_out.pad0 = 0;
4161     xcb_out.time = time;
4162 
4163     xcb_parts[2].iov_base = (char *) &xcb_out;
4164     xcb_parts[2].iov_len = sizeof(xcb_out);
4165     xcb_parts[3].iov_base = 0;
4166     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4167     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4168     return xcb_ret;
4169 }
4170 
4171 
4172 /*****************************************************************************
4173  **
4174  ** xcb_void_cookie_t xcb_ungrab_pointer
4175  **
4176  ** @param xcb_connection_t *c
4177  ** @param xcb_timestamp_t   time
4178  ** @returns xcb_void_cookie_t
4179  **
4180  *****************************************************************************/
4181 
4182 xcb_void_cookie_t
4183 xcb_ungrab_pointer (xcb_connection_t *c  /**< */,
4184                     xcb_timestamp_t   time  /**< */)
4185 {
4186     static const xcb_protocol_request_t xcb_req = {
4187         /* count */ 2,
4188         /* ext */ 0,
4189         /* opcode */ XCB_UNGRAB_POINTER,
4190         /* isvoid */ 1
4191     };
4192 
4193     struct iovec xcb_parts[4];
4194     xcb_void_cookie_t xcb_ret;
4195     xcb_ungrab_pointer_request_t xcb_out;
4196 
4197     xcb_out.pad0 = 0;
4198     xcb_out.time = time;
4199 
4200     xcb_parts[2].iov_base = (char *) &xcb_out;
4201     xcb_parts[2].iov_len = sizeof(xcb_out);
4202     xcb_parts[3].iov_base = 0;
4203     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4204     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4205     return xcb_ret;
4206 }
4207 
4208 
4209 /*****************************************************************************
4210  **
4211  ** xcb_void_cookie_t xcb_grab_button_checked
4212  **
4213  ** @param xcb_connection_t *c
4214  ** @param uint8_t           owner_events
4215  ** @param xcb_window_t      grab_window
4216  ** @param uint16_t          event_mask
4217  ** @param uint8_t           pointer_mode
4218  ** @param uint8_t           keyboard_mode
4219  ** @param xcb_window_t      confine_to
4220  ** @param xcb_cursor_t      cursor
4221  ** @param uint8_t           button
4222  ** @param uint16_t          modifiers
4223  ** @returns xcb_void_cookie_t
4224  **
4225  *****************************************************************************/
4226 
4227 xcb_void_cookie_t
4228 xcb_grab_button_checked (xcb_connection_t *c  /**< */,
4229                          uint8_t           owner_events  /**< */,
4230                          xcb_window_t      grab_window  /**< */,
4231                          uint16_t          event_mask  /**< */,
4232                          uint8_t           pointer_mode  /**< */,
4233                          uint8_t           keyboard_mode  /**< */,
4234                          xcb_window_t      confine_to  /**< */,
4235                          xcb_cursor_t      cursor  /**< */,
4236                          uint8_t           button  /**< */,
4237                          uint16_t          modifiers  /**< */)
4238 {
4239     static const xcb_protocol_request_t xcb_req = {
4240         /* count */ 2,
4241         /* ext */ 0,
4242         /* opcode */ XCB_GRAB_BUTTON,
4243         /* isvoid */ 1
4244     };
4245 
4246     struct iovec xcb_parts[4];
4247     xcb_void_cookie_t xcb_ret;
4248     xcb_grab_button_request_t xcb_out;
4249 
4250     xcb_out.owner_events = owner_events;
4251     xcb_out.grab_window = grab_window;
4252     xcb_out.event_mask = event_mask;
4253     xcb_out.pointer_mode = pointer_mode;
4254     xcb_out.keyboard_mode = keyboard_mode;
4255     xcb_out.confine_to = confine_to;
4256     xcb_out.cursor = cursor;
4257     xcb_out.button = button;
4258     xcb_out.pad0 = 0;
4259     xcb_out.modifiers = modifiers;
4260 
4261     xcb_parts[2].iov_base = (char *) &xcb_out;
4262     xcb_parts[2].iov_len = sizeof(xcb_out);
4263     xcb_parts[3].iov_base = 0;
4264     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4265     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4266     return xcb_ret;
4267 }
4268 
4269 
4270 /*****************************************************************************
4271  **
4272  ** xcb_void_cookie_t xcb_grab_button
4273  **
4274  ** @param xcb_connection_t *c
4275  ** @param uint8_t           owner_events
4276  ** @param xcb_window_t      grab_window
4277  ** @param uint16_t          event_mask
4278  ** @param uint8_t           pointer_mode
4279  ** @param uint8_t           keyboard_mode
4280  ** @param xcb_window_t      confine_to
4281  ** @param xcb_cursor_t      cursor
4282  ** @param uint8_t           button
4283  ** @param uint16_t          modifiers
4284  ** @returns xcb_void_cookie_t
4285  **
4286  *****************************************************************************/
4287 
4288 xcb_void_cookie_t
4289 xcb_grab_button (xcb_connection_t *c  /**< */,
4290                  uint8_t           owner_events  /**< */,
4291                  xcb_window_t      grab_window  /**< */,
4292                  uint16_t          event_mask  /**< */,
4293                  uint8_t           pointer_mode  /**< */,
4294                  uint8_t           keyboard_mode  /**< */,
4295                  xcb_window_t      confine_to  /**< */,
4296                  xcb_cursor_t      cursor  /**< */,
4297                  uint8_t           button  /**< */,
4298                  uint16_t          modifiers  /**< */)
4299 {
4300     static const xcb_protocol_request_t xcb_req = {
4301         /* count */ 2,
4302         /* ext */ 0,
4303         /* opcode */ XCB_GRAB_BUTTON,
4304         /* isvoid */ 1
4305     };
4306 
4307     struct iovec xcb_parts[4];
4308     xcb_void_cookie_t xcb_ret;
4309     xcb_grab_button_request_t xcb_out;
4310 
4311     xcb_out.owner_events = owner_events;
4312     xcb_out.grab_window = grab_window;
4313     xcb_out.event_mask = event_mask;
4314     xcb_out.pointer_mode = pointer_mode;
4315     xcb_out.keyboard_mode = keyboard_mode;
4316     xcb_out.confine_to = confine_to;
4317     xcb_out.cursor = cursor;
4318     xcb_out.button = button;
4319     xcb_out.pad0 = 0;
4320     xcb_out.modifiers = modifiers;
4321 
4322     xcb_parts[2].iov_base = (char *) &xcb_out;
4323     xcb_parts[2].iov_len = sizeof(xcb_out);
4324     xcb_parts[3].iov_base = 0;
4325     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4326     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4327     return xcb_ret;
4328 }
4329 
4330 
4331 /*****************************************************************************
4332  **
4333  ** xcb_void_cookie_t xcb_ungrab_button_checked
4334  **
4335  ** @param xcb_connection_t *c
4336  ** @param uint8_t           button
4337  ** @param xcb_window_t      grab_window
4338  ** @param uint16_t          modifiers
4339  ** @returns xcb_void_cookie_t
4340  **
4341  *****************************************************************************/
4342 
4343 xcb_void_cookie_t
4344 xcb_ungrab_button_checked (xcb_connection_t *c  /**< */,
4345                            uint8_t           button  /**< */,
4346                            xcb_window_t      grab_window  /**< */,
4347                            uint16_t          modifiers  /**< */)
4348 {
4349     static const xcb_protocol_request_t xcb_req = {
4350         /* count */ 2,
4351         /* ext */ 0,
4352         /* opcode */ XCB_UNGRAB_BUTTON,
4353         /* isvoid */ 1
4354     };
4355 
4356     struct iovec xcb_parts[4];
4357     xcb_void_cookie_t xcb_ret;
4358     xcb_ungrab_button_request_t xcb_out;
4359 
4360     xcb_out.button = button;
4361     xcb_out.grab_window = grab_window;
4362     xcb_out.modifiers = modifiers;
4363     memset(xcb_out.pad0, 0, 2);
4364 
4365     xcb_parts[2].iov_base = (char *) &xcb_out;
4366     xcb_parts[2].iov_len = sizeof(xcb_out);
4367     xcb_parts[3].iov_base = 0;
4368     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4369     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4370     return xcb_ret;
4371 }
4372 
4373 
4374 /*****************************************************************************
4375  **
4376  ** xcb_void_cookie_t xcb_ungrab_button
4377  **
4378  ** @param xcb_connection_t *c
4379  ** @param uint8_t           button
4380  ** @param xcb_window_t      grab_window
4381  ** @param uint16_t          modifiers
4382  ** @returns xcb_void_cookie_t
4383  **
4384  *****************************************************************************/
4385 
4386 xcb_void_cookie_t
4387 xcb_ungrab_button (xcb_connection_t *c  /**< */,
4388                    uint8_t           button  /**< */,
4389                    xcb_window_t      grab_window  /**< */,
4390                    uint16_t          modifiers  /**< */)
4391 {
4392     static const xcb_protocol_request_t xcb_req = {
4393         /* count */ 2,
4394         /* ext */ 0,
4395         /* opcode */ XCB_UNGRAB_BUTTON,
4396         /* isvoid */ 1
4397     };
4398 
4399     struct iovec xcb_parts[4];
4400     xcb_void_cookie_t xcb_ret;
4401     xcb_ungrab_button_request_t xcb_out;
4402 
4403     xcb_out.button = button;
4404     xcb_out.grab_window = grab_window;
4405     xcb_out.modifiers = modifiers;
4406     memset(xcb_out.pad0, 0, 2);
4407 
4408     xcb_parts[2].iov_base = (char *) &xcb_out;
4409     xcb_parts[2].iov_len = sizeof(xcb_out);
4410     xcb_parts[3].iov_base = 0;
4411     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4412     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4413     return xcb_ret;
4414 }
4415 
4416 
4417 /*****************************************************************************
4418  **
4419  ** xcb_void_cookie_t xcb_change_active_pointer_grab_checked
4420  **
4421  ** @param xcb_connection_t *c
4422  ** @param xcb_cursor_t      cursor
4423  ** @param xcb_timestamp_t   time
4424  ** @param uint16_t          event_mask
4425  ** @returns xcb_void_cookie_t
4426  **
4427  *****************************************************************************/
4428 
4429 xcb_void_cookie_t
4430 xcb_change_active_pointer_grab_checked (xcb_connection_t *c  /**< */,
4431                                         xcb_cursor_t      cursor  /**< */,
4432                                         xcb_timestamp_t   time  /**< */,
4433                                         uint16_t          event_mask  /**< */)
4434 {
4435     static const xcb_protocol_request_t xcb_req = {
4436         /* count */ 2,
4437         /* ext */ 0,
4438         /* opcode */ XCB_CHANGE_ACTIVE_POINTER_GRAB,
4439         /* isvoid */ 1
4440     };
4441 
4442     struct iovec xcb_parts[4];
4443     xcb_void_cookie_t xcb_ret;
4444     xcb_change_active_pointer_grab_request_t xcb_out;
4445 
4446     xcb_out.pad0 = 0;
4447     xcb_out.cursor = cursor;
4448     xcb_out.time = time;
4449     xcb_out.event_mask = event_mask;
4450     memset(xcb_out.pad1, 0, 2);
4451 
4452     xcb_parts[2].iov_base = (char *) &xcb_out;
4453     xcb_parts[2].iov_len = sizeof(xcb_out);
4454     xcb_parts[3].iov_base = 0;
4455     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4456     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4457     return xcb_ret;
4458 }
4459 
4460 
4461 /*****************************************************************************
4462  **
4463  ** xcb_void_cookie_t xcb_change_active_pointer_grab
4464  **
4465  ** @param xcb_connection_t *c
4466  ** @param xcb_cursor_t      cursor
4467  ** @param xcb_timestamp_t   time
4468  ** @param uint16_t          event_mask
4469  ** @returns xcb_void_cookie_t
4470  **
4471  *****************************************************************************/
4472 
4473 xcb_void_cookie_t
4474 xcb_change_active_pointer_grab (xcb_connection_t *c  /**< */,
4475                                 xcb_cursor_t      cursor  /**< */,
4476                                 xcb_timestamp_t   time  /**< */,
4477                                 uint16_t          event_mask  /**< */)
4478 {
4479     static const xcb_protocol_request_t xcb_req = {
4480         /* count */ 2,
4481         /* ext */ 0,
4482         /* opcode */ XCB_CHANGE_ACTIVE_POINTER_GRAB,
4483         /* isvoid */ 1
4484     };
4485 
4486     struct iovec xcb_parts[4];
4487     xcb_void_cookie_t xcb_ret;
4488     xcb_change_active_pointer_grab_request_t xcb_out;
4489 
4490     xcb_out.pad0 = 0;
4491     xcb_out.cursor = cursor;
4492     xcb_out.time = time;
4493     xcb_out.event_mask = event_mask;
4494     memset(xcb_out.pad1, 0, 2);
4495 
4496     xcb_parts[2].iov_base = (char *) &xcb_out;
4497     xcb_parts[2].iov_len = sizeof(xcb_out);
4498     xcb_parts[3].iov_base = 0;
4499     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4500     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4501     return xcb_ret;
4502 }
4503 
4504 
4505 /*****************************************************************************
4506  **
4507  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard
4508  **
4509  ** @param xcb_connection_t *c
4510  ** @param uint8_t           owner_events
4511  ** @param xcb_window_t      grab_window
4512  ** @param xcb_timestamp_t   time
4513  ** @param uint8_t           pointer_mode
4514  ** @param uint8_t           keyboard_mode
4515  ** @returns xcb_grab_keyboard_cookie_t
4516  **
4517  *****************************************************************************/
4518 
4519 xcb_grab_keyboard_cookie_t
4520 xcb_grab_keyboard (xcb_connection_t *c  /**< */,
4521                    uint8_t           owner_events  /**< */,
4522                    xcb_window_t      grab_window  /**< */,
4523                    xcb_timestamp_t   time  /**< */,
4524                    uint8_t           pointer_mode  /**< */,
4525                    uint8_t           keyboard_mode  /**< */)
4526 {
4527     static const xcb_protocol_request_t xcb_req = {
4528         /* count */ 2,
4529         /* ext */ 0,
4530         /* opcode */ XCB_GRAB_KEYBOARD,
4531         /* isvoid */ 0
4532     };
4533 
4534     struct iovec xcb_parts[4];
4535     xcb_grab_keyboard_cookie_t xcb_ret;
4536     xcb_grab_keyboard_request_t xcb_out;
4537 
4538     xcb_out.owner_events = owner_events;
4539     xcb_out.grab_window = grab_window;
4540     xcb_out.time = time;
4541     xcb_out.pointer_mode = pointer_mode;
4542     xcb_out.keyboard_mode = keyboard_mode;
4543     memset(xcb_out.pad0, 0, 2);
4544 
4545     xcb_parts[2].iov_base = (char *) &xcb_out;
4546     xcb_parts[2].iov_len = sizeof(xcb_out);
4547     xcb_parts[3].iov_base = 0;
4548     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4549     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4550     return xcb_ret;
4551 }
4552 
4553 
4554 /*****************************************************************************
4555  **
4556  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard_unchecked
4557  **
4558  ** @param xcb_connection_t *c
4559  ** @param uint8_t           owner_events
4560  ** @param xcb_window_t      grab_window
4561  ** @param xcb_timestamp_t   time
4562  ** @param uint8_t           pointer_mode
4563  ** @param uint8_t           keyboard_mode
4564  ** @returns xcb_grab_keyboard_cookie_t
4565  **
4566  *****************************************************************************/
4567 
4568 xcb_grab_keyboard_cookie_t
4569 xcb_grab_keyboard_unchecked (xcb_connection_t *c  /**< */,
4570                              uint8_t           owner_events  /**< */,
4571                              xcb_window_t      grab_window  /**< */,
4572                              xcb_timestamp_t   time  /**< */,
4573                              uint8_t           pointer_mode  /**< */,
4574                              uint8_t           keyboard_mode  /**< */)
4575 {
4576     static const xcb_protocol_request_t xcb_req = {
4577         /* count */ 2,
4578         /* ext */ 0,
4579         /* opcode */ XCB_GRAB_KEYBOARD,
4580         /* isvoid */ 0
4581     };
4582 
4583     struct iovec xcb_parts[4];
4584     xcb_grab_keyboard_cookie_t xcb_ret;
4585     xcb_grab_keyboard_request_t xcb_out;
4586 
4587     xcb_out.owner_events = owner_events;
4588     xcb_out.grab_window = grab_window;
4589     xcb_out.time = time;
4590     xcb_out.pointer_mode = pointer_mode;
4591     xcb_out.keyboard_mode = keyboard_mode;
4592     memset(xcb_out.pad0, 0, 2);
4593 
4594     xcb_parts[2].iov_base = (char *) &xcb_out;
4595     xcb_parts[2].iov_len = sizeof(xcb_out);
4596     xcb_parts[3].iov_base = 0;
4597     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4598     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4599     return xcb_ret;
4600 }
4601 
4602 
4603 /*****************************************************************************
4604  **
4605  ** xcb_grab_keyboard_reply_t * xcb_grab_keyboard_reply
4606  **
4607  ** @param xcb_connection_t            *c
4608  ** @param xcb_grab_keyboard_cookie_t   cookie
4609  ** @param xcb_generic_error_t        **e
4610  ** @returns xcb_grab_keyboard_reply_t *
4611  **
4612  *****************************************************************************/
4613 
4614 xcb_grab_keyboard_reply_t *
4615 xcb_grab_keyboard_reply (xcb_connection_t            *c  /**< */,
4616                          xcb_grab_keyboard_cookie_t   cookie  /**< */,
4617                          xcb_generic_error_t        **e  /**< */)
4618 {
4619     return (xcb_grab_keyboard_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
4620 }
4621 
4622 
4623 /*****************************************************************************
4624  **
4625  ** xcb_void_cookie_t xcb_ungrab_keyboard_checked
4626  **
4627  ** @param xcb_connection_t *c
4628  ** @param xcb_timestamp_t   time
4629  ** @returns xcb_void_cookie_t
4630  **
4631  *****************************************************************************/
4632 
4633 xcb_void_cookie_t
4634 xcb_ungrab_keyboard_checked (xcb_connection_t *c  /**< */,
4635                              xcb_timestamp_t   time  /**< */)
4636 {
4637     static const xcb_protocol_request_t xcb_req = {
4638         /* count */ 2,
4639         /* ext */ 0,
4640         /* opcode */ XCB_UNGRAB_KEYBOARD,
4641         /* isvoid */ 1
4642     };
4643 
4644     struct iovec xcb_parts[4];
4645     xcb_void_cookie_t xcb_ret;
4646     xcb_ungrab_keyboard_request_t xcb_out;
4647 
4648     xcb_out.pad0 = 0;
4649     xcb_out.time = time;
4650 
4651     xcb_parts[2].iov_base = (char *) &xcb_out;
4652     xcb_parts[2].iov_len = sizeof(xcb_out);
4653     xcb_parts[3].iov_base = 0;
4654     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4655     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4656     return xcb_ret;
4657 }
4658 
4659 
4660 /*****************************************************************************
4661  **
4662  ** xcb_void_cookie_t xcb_ungrab_keyboard
4663  **
4664  ** @param xcb_connection_t *c
4665  ** @param xcb_timestamp_t   time
4666  ** @returns xcb_void_cookie_t
4667  **
4668  *****************************************************************************/
4669 
4670 xcb_void_cookie_t
4671 xcb_ungrab_keyboard (xcb_connection_t *c  /**< */,
4672                      xcb_timestamp_t   time  /**< */)
4673 {
4674     static const xcb_protocol_request_t xcb_req = {
4675         /* count */ 2,
4676         /* ext */ 0,
4677         /* opcode */ XCB_UNGRAB_KEYBOARD,
4678         /* isvoid */ 1
4679     };
4680 
4681     struct iovec xcb_parts[4];
4682     xcb_void_cookie_t xcb_ret;
4683     xcb_ungrab_keyboard_request_t xcb_out;
4684 
4685     xcb_out.pad0 = 0;
4686     xcb_out.time = time;
4687 
4688     xcb_parts[2].iov_base = (char *) &xcb_out;
4689     xcb_parts[2].iov_len = sizeof(xcb_out);
4690     xcb_parts[3].iov_base = 0;
4691     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4692     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4693     return xcb_ret;
4694 }
4695 
4696 
4697 /*****************************************************************************
4698  **
4699  ** xcb_void_cookie_t xcb_grab_key_checked
4700  **
4701  ** @param xcb_connection_t *c
4702  ** @param uint8_t           owner_events
4703  ** @param xcb_window_t      grab_window
4704  ** @param uint16_t          modifiers
4705  ** @param xcb_keycode_t     key
4706  ** @param uint8_t           pointer_mode
4707  ** @param uint8_t           keyboard_mode
4708  ** @returns xcb_void_cookie_t
4709  **
4710  *****************************************************************************/
4711 
4712 xcb_void_cookie_t
4713 xcb_grab_key_checked (xcb_connection_t *c  /**< */,
4714                       uint8_t           owner_events  /**< */,
4715                       xcb_window_t      grab_window  /**< */,
4716                       uint16_t          modifiers  /**< */,
4717                       xcb_keycode_t     key  /**< */,
4718                       uint8_t           pointer_mode  /**< */,
4719                       uint8_t           keyboard_mode  /**< */)
4720 {
4721     static const xcb_protocol_request_t xcb_req = {
4722         /* count */ 2,
4723         /* ext */ 0,
4724         /* opcode */ XCB_GRAB_KEY,
4725         /* isvoid */ 1
4726     };
4727 
4728     struct iovec xcb_parts[4];
4729     xcb_void_cookie_t xcb_ret;
4730     xcb_grab_key_request_t xcb_out;
4731 
4732     xcb_out.owner_events = owner_events;
4733     xcb_out.grab_window = grab_window;
4734     xcb_out.modifiers = modifiers;
4735     xcb_out.key = key;
4736     xcb_out.pointer_mode = pointer_mode;
4737     xcb_out.keyboard_mode = keyboard_mode;
4738     memset(xcb_out.pad0, 0, 3);
4739 
4740     xcb_parts[2].iov_base = (char *) &xcb_out;
4741     xcb_parts[2].iov_len = sizeof(xcb_out);
4742     xcb_parts[3].iov_base = 0;
4743     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4744     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4745     return xcb_ret;
4746 }
4747 
4748 
4749 /*****************************************************************************
4750  **
4751  ** xcb_void_cookie_t xcb_grab_key
4752  **
4753  ** @param xcb_connection_t *c
4754  ** @param uint8_t           owner_events
4755  ** @param xcb_window_t      grab_window
4756  ** @param uint16_t          modifiers
4757  ** @param xcb_keycode_t     key
4758  ** @param uint8_t           pointer_mode
4759  ** @param uint8_t           keyboard_mode
4760  ** @returns xcb_void_cookie_t
4761  **
4762  *****************************************************************************/
4763 
4764 xcb_void_cookie_t
4765 xcb_grab_key (xcb_connection_t *c  /**< */,
4766               uint8_t           owner_events  /**< */,
4767               xcb_window_t      grab_window  /**< */,
4768               uint16_t          modifiers  /**< */,
4769               xcb_keycode_t     key  /**< */,
4770               uint8_t           pointer_mode  /**< */,
4771               uint8_t           keyboard_mode  /**< */)
4772 {
4773     static const xcb_protocol_request_t xcb_req = {
4774         /* count */ 2,
4775         /* ext */ 0,
4776         /* opcode */ XCB_GRAB_KEY,
4777         /* isvoid */ 1
4778     };
4779 
4780     struct iovec xcb_parts[4];
4781     xcb_void_cookie_t xcb_ret;
4782     xcb_grab_key_request_t xcb_out;
4783 
4784     xcb_out.owner_events = owner_events;
4785     xcb_out.grab_window = grab_window;
4786     xcb_out.modifiers = modifiers;
4787     xcb_out.key = key;
4788     xcb_out.pointer_mode = pointer_mode;
4789     xcb_out.keyboard_mode = keyboard_mode;
4790     memset(xcb_out.pad0, 0, 3);
4791 
4792     xcb_parts[2].iov_base = (char *) &xcb_out;
4793     xcb_parts[2].iov_len = sizeof(xcb_out);
4794     xcb_parts[3].iov_base = 0;
4795     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4796     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4797     return xcb_ret;
4798 }
4799 
4800 
4801 /*****************************************************************************
4802  **
4803  ** xcb_void_cookie_t xcb_ungrab_key_checked
4804  **
4805  ** @param xcb_connection_t *c
4806  ** @param xcb_keycode_t     key
4807  ** @param xcb_window_t      grab_window
4808  ** @param uint16_t          modifiers
4809  ** @returns xcb_void_cookie_t
4810  **
4811  *****************************************************************************/
4812 
4813 xcb_void_cookie_t
4814 xcb_ungrab_key_checked (xcb_connection_t *c  /**< */,
4815                         xcb_keycode_t     key  /**< */,
4816                         xcb_window_t      grab_window  /**< */,
4817                         uint16_t          modifiers  /**< */)
4818 {
4819     static const xcb_protocol_request_t xcb_req = {
4820         /* count */ 2,
4821         /* ext */ 0,
4822         /* opcode */ XCB_UNGRAB_KEY,
4823         /* isvoid */ 1
4824     };
4825 
4826     struct iovec xcb_parts[4];
4827     xcb_void_cookie_t xcb_ret;
4828     xcb_ungrab_key_request_t xcb_out;
4829 
4830     xcb_out.key = key;
4831     xcb_out.grab_window = grab_window;
4832     xcb_out.modifiers = modifiers;
4833     memset(xcb_out.pad0, 0, 2);
4834 
4835     xcb_parts[2].iov_base = (char *) &xcb_out;
4836     xcb_parts[2].iov_len = sizeof(xcb_out);
4837     xcb_parts[3].iov_base = 0;
4838     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4839     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4840     return xcb_ret;
4841 }
4842 
4843 
4844 /*****************************************************************************
4845  **
4846  ** xcb_void_cookie_t xcb_ungrab_key
4847  **
4848  ** @param xcb_connection_t *c
4849  ** @param xcb_keycode_t     key
4850  ** @param xcb_window_t      grab_window
4851  ** @param uint16_t          modifiers
4852  ** @returns xcb_void_cookie_t
4853  **
4854  *****************************************************************************/
4855 
4856 xcb_void_cookie_t
4857 xcb_ungrab_key (xcb_connection_t *c  /**< */,
4858                 xcb_keycode_t     key  /**< */,
4859                 xcb_window_t      grab_window  /**< */,
4860                 uint16_t          modifiers  /**< */)
4861 {
4862     static const xcb_protocol_request_t xcb_req = {
4863         /* count */ 2,
4864         /* ext */ 0,
4865         /* opcode */ XCB_UNGRAB_KEY,
4866         /* isvoid */ 1
4867     };
4868 
4869     struct iovec xcb_parts[4];
4870     xcb_void_cookie_t xcb_ret;
4871     xcb_ungrab_key_request_t xcb_out;
4872 
4873     xcb_out.key = key;
4874     xcb_out.grab_window = grab_window;
4875     xcb_out.modifiers = modifiers;
4876     memset(xcb_out.pad0, 0, 2);
4877 
4878     xcb_parts[2].iov_base = (char *) &xcb_out;
4879     xcb_parts[2].iov_len = sizeof(xcb_out);
4880     xcb_parts[3].iov_base = 0;
4881     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4882     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4883     return xcb_ret;
4884 }
4885 
4886 
4887 /*****************************************************************************
4888  **
4889  ** xcb_void_cookie_t xcb_allow_events_checked
4890  **
4891  ** @param xcb_connection_t *c
4892  ** @param uint8_t           mode
4893  ** @param xcb_timestamp_t   time
4894  ** @returns xcb_void_cookie_t
4895  **
4896  *****************************************************************************/
4897 
4898 xcb_void_cookie_t
4899 xcb_allow_events_checked (xcb_connection_t *c  /**< */,
4900                           uint8_t           mode  /**< */,
4901                           xcb_timestamp_t   time  /**< */)
4902 {
4903     static const xcb_protocol_request_t xcb_req = {
4904         /* count */ 2,
4905         /* ext */ 0,
4906         /* opcode */ XCB_ALLOW_EVENTS,
4907         /* isvoid */ 1
4908     };
4909 
4910     struct iovec xcb_parts[4];
4911     xcb_void_cookie_t xcb_ret;
4912     xcb_allow_events_request_t xcb_out;
4913 
4914     xcb_out.mode = mode;
4915     xcb_out.time = time;
4916 
4917     xcb_parts[2].iov_base = (char *) &xcb_out;
4918     xcb_parts[2].iov_len = sizeof(xcb_out);
4919     xcb_parts[3].iov_base = 0;
4920     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4921     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4922     return xcb_ret;
4923 }
4924 
4925 
4926 /*****************************************************************************
4927  **
4928  ** xcb_void_cookie_t xcb_allow_events
4929  **
4930  ** @param xcb_connection_t *c
4931  ** @param uint8_t           mode
4932  ** @param xcb_timestamp_t   time
4933  ** @returns xcb_void_cookie_t
4934  **
4935  *****************************************************************************/
4936 
4937 xcb_void_cookie_t
4938 xcb_allow_events (xcb_connection_t *c  /**< */,
4939                   uint8_t           mode  /**< */,
4940                   xcb_timestamp_t   time  /**< */)
4941 {
4942     static const xcb_protocol_request_t xcb_req = {
4943         /* count */ 2,
4944         /* ext */ 0,
4945         /* opcode */ XCB_ALLOW_EVENTS,
4946         /* isvoid */ 1
4947     };
4948 
4949     struct iovec xcb_parts[4];
4950     xcb_void_cookie_t xcb_ret;
4951     xcb_allow_events_request_t xcb_out;
4952 
4953     xcb_out.mode = mode;
4954     xcb_out.time = time;
4955 
4956     xcb_parts[2].iov_base = (char *) &xcb_out;
4957     xcb_parts[2].iov_len = sizeof(xcb_out);
4958     xcb_parts[3].iov_base = 0;
4959     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4960     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
4961     return xcb_ret;
4962 }
4963 
4964 
4965 /*****************************************************************************
4966  **
4967  ** xcb_void_cookie_t xcb_grab_server_checked
4968  **
4969  ** @param xcb_connection_t *c
4970  ** @returns xcb_void_cookie_t
4971  **
4972  *****************************************************************************/
4973 
4974 xcb_void_cookie_t
4975 xcb_grab_server_checked (xcb_connection_t *c  /**< */)
4976 {
4977     static const xcb_protocol_request_t xcb_req = {
4978         /* count */ 2,
4979         /* ext */ 0,
4980         /* opcode */ XCB_GRAB_SERVER,
4981         /* isvoid */ 1
4982     };
4983 
4984     struct iovec xcb_parts[4];
4985     xcb_void_cookie_t xcb_ret;
4986     xcb_grab_server_request_t xcb_out;
4987 
4988     xcb_out.pad0 = 0;
4989 
4990     xcb_parts[2].iov_base = (char *) &xcb_out;
4991     xcb_parts[2].iov_len = sizeof(xcb_out);
4992     xcb_parts[3].iov_base = 0;
4993     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
4994     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
4995     return xcb_ret;
4996 }
4997 
4998 
4999 /*****************************************************************************
5000  **
5001  ** xcb_void_cookie_t xcb_grab_server
5002  **
5003  ** @param xcb_connection_t *c
5004  ** @returns xcb_void_cookie_t
5005  **
5006  *****************************************************************************/
5007 
5008 xcb_void_cookie_t
5009 xcb_grab_server (xcb_connection_t *c  /**< */)
5010 {
5011     static const xcb_protocol_request_t xcb_req = {
5012         /* count */ 2,
5013         /* ext */ 0,
5014         /* opcode */ XCB_GRAB_SERVER,
5015         /* isvoid */ 1
5016     };
5017 
5018     struct iovec xcb_parts[4];
5019     xcb_void_cookie_t xcb_ret;
5020     xcb_grab_server_request_t xcb_out;
5021 
5022     xcb_out.pad0 = 0;
5023 
5024     xcb_parts[2].iov_base = (char *) &xcb_out;
5025     xcb_parts[2].iov_len = sizeof(xcb_out);
5026     xcb_parts[3].iov_base = 0;
5027     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5028     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5029     return xcb_ret;
5030 }
5031 
5032 
5033 /*****************************************************************************
5034  **
5035  ** xcb_void_cookie_t xcb_ungrab_server_checked
5036  **
5037  ** @param xcb_connection_t *c
5038  ** @returns xcb_void_cookie_t
5039  **
5040  *****************************************************************************/
5041 
5042 xcb_void_cookie_t
5043 xcb_ungrab_server_checked (xcb_connection_t *c  /**< */)
5044 {
5045     static const xcb_protocol_request_t xcb_req = {
5046         /* count */ 2,
5047         /* ext */ 0,
5048         /* opcode */ XCB_UNGRAB_SERVER,
5049         /* isvoid */ 1
5050     };
5051 
5052     struct iovec xcb_parts[4];
5053     xcb_void_cookie_t xcb_ret;
5054     xcb_ungrab_server_request_t xcb_out;
5055 
5056     xcb_out.pad0 = 0;
5057 
5058     xcb_parts[2].iov_base = (char *) &xcb_out;
5059     xcb_parts[2].iov_len = sizeof(xcb_out);
5060     xcb_parts[3].iov_base = 0;
5061     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5062     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5063     return xcb_ret;
5064 }
5065 
5066 
5067 /*****************************************************************************
5068  **
5069  ** xcb_void_cookie_t xcb_ungrab_server
5070  **
5071  ** @param xcb_connection_t *c
5072  ** @returns xcb_void_cookie_t
5073  **
5074  *****************************************************************************/
5075 
5076 xcb_void_cookie_t
5077 xcb_ungrab_server (xcb_connection_t *c  /**< */)
5078 {
5079     static const xcb_protocol_request_t xcb_req = {
5080         /* count */ 2,
5081         /* ext */ 0,
5082         /* opcode */ XCB_UNGRAB_SERVER,
5083         /* isvoid */ 1
5084     };
5085 
5086     struct iovec xcb_parts[4];
5087     xcb_void_cookie_t xcb_ret;
5088     xcb_ungrab_server_request_t xcb_out;
5089 
5090     xcb_out.pad0 = 0;
5091 
5092     xcb_parts[2].iov_base = (char *) &xcb_out;
5093     xcb_parts[2].iov_len = sizeof(xcb_out);
5094     xcb_parts[3].iov_base = 0;
5095     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5096     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5097     return xcb_ret;
5098 }
5099 
5100 
5101 /*****************************************************************************
5102  **
5103  ** xcb_query_pointer_cookie_t xcb_query_pointer
5104  **
5105  ** @param xcb_connection_t *c
5106  ** @param xcb_window_t      window
5107  ** @returns xcb_query_pointer_cookie_t
5108  **
5109  *****************************************************************************/
5110 
5111 xcb_query_pointer_cookie_t
5112 xcb_query_pointer (xcb_connection_t *c  /**< */,
5113                    xcb_window_t      window  /**< */)
5114 {
5115     static const xcb_protocol_request_t xcb_req = {
5116         /* count */ 2,
5117         /* ext */ 0,
5118         /* opcode */ XCB_QUERY_POINTER,
5119         /* isvoid */ 0
5120     };
5121 
5122     struct iovec xcb_parts[4];
5123     xcb_query_pointer_cookie_t xcb_ret;
5124     xcb_query_pointer_request_t xcb_out;
5125 
5126     xcb_out.pad0 = 0;
5127     xcb_out.window = window;
5128 
5129     xcb_parts[2].iov_base = (char *) &xcb_out;
5130     xcb_parts[2].iov_len = sizeof(xcb_out);
5131     xcb_parts[3].iov_base = 0;
5132     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5133     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5134     return xcb_ret;
5135 }
5136 
5137 
5138 /*****************************************************************************
5139  **
5140  ** xcb_query_pointer_cookie_t xcb_query_pointer_unchecked
5141  **
5142  ** @param xcb_connection_t *c
5143  ** @param xcb_window_t      window
5144  ** @returns xcb_query_pointer_cookie_t
5145  **
5146  *****************************************************************************/
5147 
5148 xcb_query_pointer_cookie_t
5149 xcb_query_pointer_unchecked (xcb_connection_t *c  /**< */,
5150                              xcb_window_t      window  /**< */)
5151 {
5152     static const xcb_protocol_request_t xcb_req = {
5153         /* count */ 2,
5154         /* ext */ 0,
5155         /* opcode */ XCB_QUERY_POINTER,
5156         /* isvoid */ 0
5157     };
5158 
5159     struct iovec xcb_parts[4];
5160     xcb_query_pointer_cookie_t xcb_ret;
5161     xcb_query_pointer_request_t xcb_out;
5162 
5163     xcb_out.pad0 = 0;
5164     xcb_out.window = window;
5165 
5166     xcb_parts[2].iov_base = (char *) &xcb_out;
5167     xcb_parts[2].iov_len = sizeof(xcb_out);
5168     xcb_parts[3].iov_base = 0;
5169     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5170     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5171     return xcb_ret;
5172 }
5173 
5174 
5175 /*****************************************************************************
5176  **
5177  ** xcb_query_pointer_reply_t * xcb_query_pointer_reply
5178  **
5179  ** @param xcb_connection_t            *c
5180  ** @param xcb_query_pointer_cookie_t   cookie
5181  ** @param xcb_generic_error_t        **e
5182  ** @returns xcb_query_pointer_reply_t *
5183  **
5184  *****************************************************************************/
5185 
5186 xcb_query_pointer_reply_t *
5187 xcb_query_pointer_reply (xcb_connection_t            *c  /**< */,
5188                          xcb_query_pointer_cookie_t   cookie  /**< */,
5189                          xcb_generic_error_t        **e  /**< */)
5190 {
5191     return (xcb_query_pointer_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5192 }
5193 
5194 
5195 /*****************************************************************************
5196  **
5197  ** void xcb_timecoord_next
5198  **
5199  ** @param xcb_timecoord_iterator_t *i
5200  ** @returns void
5201  **
5202  *****************************************************************************/
5203 
5204 void
5205 xcb_timecoord_next (xcb_timecoord_iterator_t *i  /**< */)
5206 {
5207     --i->rem;
5208     ++i->data;
5209     i->index += sizeof(xcb_timecoord_t);
5210 }
5211 
5212 
5213 /*****************************************************************************
5214  **
5215  ** xcb_generic_iterator_t xcb_timecoord_end
5216  **
5217  ** @param xcb_timecoord_iterator_t i
5218  ** @returns xcb_generic_iterator_t
5219  **
5220  *****************************************************************************/
5221 
5222 xcb_generic_iterator_t
5223 xcb_timecoord_end (xcb_timecoord_iterator_t i  /**< */)
5224 {
5225     xcb_generic_iterator_t ret;
5226     ret.data = i.data + i.rem;
5227     ret.index = i.index + ((char *) ret.data - (char *) i.data);
5228     ret.rem = 0;
5229     return ret;
5230 }
5231 
5232 
5233 /*****************************************************************************
5234  **
5235  ** xcb_get_motion_events_cookie_t xcb_get_motion_events
5236  **
5237  ** @param xcb_connection_t *c
5238  ** @param xcb_window_t      window
5239  ** @param xcb_timestamp_t   start
5240  ** @param xcb_timestamp_t   stop
5241  ** @returns xcb_get_motion_events_cookie_t
5242  **
5243  *****************************************************************************/
5244 
5245 xcb_get_motion_events_cookie_t
5246 xcb_get_motion_events (xcb_connection_t *c  /**< */,
5247                        xcb_window_t      window  /**< */,
5248                        xcb_timestamp_t   start  /**< */,
5249                        xcb_timestamp_t   stop  /**< */)
5250 {
5251     static const xcb_protocol_request_t xcb_req = {
5252         /* count */ 2,
5253         /* ext */ 0,
5254         /* opcode */ XCB_GET_MOTION_EVENTS,
5255         /* isvoid */ 0
5256     };
5257 
5258     struct iovec xcb_parts[4];
5259     xcb_get_motion_events_cookie_t xcb_ret;
5260     xcb_get_motion_events_request_t xcb_out;
5261 
5262     xcb_out.pad0 = 0;
5263     xcb_out.window = window;
5264     xcb_out.start = start;
5265     xcb_out.stop = stop;
5266 
5267     xcb_parts[2].iov_base = (char *) &xcb_out;
5268     xcb_parts[2].iov_len = sizeof(xcb_out);
5269     xcb_parts[3].iov_base = 0;
5270     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5271     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5272     return xcb_ret;
5273 }
5274 
5275 
5276 /*****************************************************************************
5277  **
5278  ** xcb_get_motion_events_cookie_t xcb_get_motion_events_unchecked
5279  **
5280  ** @param xcb_connection_t *c
5281  ** @param xcb_window_t      window
5282  ** @param xcb_timestamp_t   start
5283  ** @param xcb_timestamp_t   stop
5284  ** @returns xcb_get_motion_events_cookie_t
5285  **
5286  *****************************************************************************/
5287 
5288 xcb_get_motion_events_cookie_t
5289 xcb_get_motion_events_unchecked (xcb_connection_t *c  /**< */,
5290                                  xcb_window_t      window  /**< */,
5291                                  xcb_timestamp_t   start  /**< */,
5292                                  xcb_timestamp_t   stop  /**< */)
5293 {
5294     static const xcb_protocol_request_t xcb_req = {
5295         /* count */ 2,
5296         /* ext */ 0,
5297         /* opcode */ XCB_GET_MOTION_EVENTS,
5298         /* isvoid */ 0
5299     };
5300 
5301     struct iovec xcb_parts[4];
5302     xcb_get_motion_events_cookie_t xcb_ret;
5303     xcb_get_motion_events_request_t xcb_out;
5304 
5305     xcb_out.pad0 = 0;
5306     xcb_out.window = window;
5307     xcb_out.start = start;
5308     xcb_out.stop = stop;
5309 
5310     xcb_parts[2].iov_base = (char *) &xcb_out;
5311     xcb_parts[2].iov_len = sizeof(xcb_out);
5312     xcb_parts[3].iov_base = 0;
5313     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5314     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5315     return xcb_ret;
5316 }
5317 
5318 
5319 /*****************************************************************************
5320  **
5321  ** xcb_timecoord_t * xcb_get_motion_events_events
5322  **
5323  ** @param const xcb_get_motion_events_reply_t *R
5324  ** @returns xcb_timecoord_t *
5325  **
5326  *****************************************************************************/
5327 
5328 xcb_timecoord_t *
5329 xcb_get_motion_events_events (const xcb_get_motion_events_reply_t *R  /**< */)
5330 {
5331     return (xcb_timecoord_t *) (R + 1);
5332 }
5333 
5334 
5335 /*****************************************************************************
5336  **
5337  ** int xcb_get_motion_events_events_length
5338  **
5339  ** @param const xcb_get_motion_events_reply_t *R
5340  ** @returns int
5341  **
5342  *****************************************************************************/
5343 
5344 int
5345 xcb_get_motion_events_events_length (const xcb_get_motion_events_reply_t *R  /**< */)
5346 {
5347     return R->events_len;
5348 }
5349 
5350 
5351 /*****************************************************************************
5352  **
5353  ** xcb_timecoord_iterator_t xcb_get_motion_events_events_iterator
5354  **
5355  ** @param const xcb_get_motion_events_reply_t *R
5356  ** @returns xcb_timecoord_iterator_t
5357  **
5358  *****************************************************************************/
5359 
5360 xcb_timecoord_iterator_t
5361 xcb_get_motion_events_events_iterator (const xcb_get_motion_events_reply_t *R  /**< */)
5362 {
5363     xcb_timecoord_iterator_t i;
5364     i.data = (xcb_timecoord_t *) (R + 1);
5365     i.rem = R->events_len;
5366     i.index = (char *) i.data - (char *) R;
5367     return i;
5368 }
5369 
5370 
5371 /*****************************************************************************
5372  **
5373  ** xcb_get_motion_events_reply_t * xcb_get_motion_events_reply
5374  **
5375  ** @param xcb_connection_t                *c
5376  ** @param xcb_get_motion_events_cookie_t   cookie
5377  ** @param xcb_generic_error_t            **e
5378  ** @returns xcb_get_motion_events_reply_t *
5379  **
5380  *****************************************************************************/
5381 
5382 xcb_get_motion_events_reply_t *
5383 xcb_get_motion_events_reply (xcb_connection_t                *c  /**< */,
5384                              xcb_get_motion_events_cookie_t   cookie  /**< */,
5385                              xcb_generic_error_t            **e  /**< */)
5386 {
5387     return (xcb_get_motion_events_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5388 }
5389 
5390 
5391 /*****************************************************************************
5392  **
5393  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates
5394  **
5395  ** @param xcb_connection_t *c
5396  ** @param xcb_window_t      src_window
5397  ** @param xcb_window_t      dst_window
5398  ** @param int16_t           src_x
5399  ** @param int16_t           src_y
5400  ** @returns xcb_translate_coordinates_cookie_t
5401  **
5402  *****************************************************************************/
5403 
5404 xcb_translate_coordinates_cookie_t
5405 xcb_translate_coordinates (xcb_connection_t *c  /**< */,
5406                            xcb_window_t      src_window  /**< */,
5407                            xcb_window_t      dst_window  /**< */,
5408                            int16_t           src_x  /**< */,
5409                            int16_t           src_y  /**< */)
5410 {
5411     static const xcb_protocol_request_t xcb_req = {
5412         /* count */ 2,
5413         /* ext */ 0,
5414         /* opcode */ XCB_TRANSLATE_COORDINATES,
5415         /* isvoid */ 0
5416     };
5417 
5418     struct iovec xcb_parts[4];
5419     xcb_translate_coordinates_cookie_t xcb_ret;
5420     xcb_translate_coordinates_request_t xcb_out;
5421 
5422     xcb_out.pad0 = 0;
5423     xcb_out.src_window = src_window;
5424     xcb_out.dst_window = dst_window;
5425     xcb_out.src_x = src_x;
5426     xcb_out.src_y = src_y;
5427 
5428     xcb_parts[2].iov_base = (char *) &xcb_out;
5429     xcb_parts[2].iov_len = sizeof(xcb_out);
5430     xcb_parts[3].iov_base = 0;
5431     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5432     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5433     return xcb_ret;
5434 }
5435 
5436 
5437 /*****************************************************************************
5438  **
5439  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates_unchecked
5440  **
5441  ** @param xcb_connection_t *c
5442  ** @param xcb_window_t      src_window
5443  ** @param xcb_window_t      dst_window
5444  ** @param int16_t           src_x
5445  ** @param int16_t           src_y
5446  ** @returns xcb_translate_coordinates_cookie_t
5447  **
5448  *****************************************************************************/
5449 
5450 xcb_translate_coordinates_cookie_t
5451 xcb_translate_coordinates_unchecked (xcb_connection_t *c  /**< */,
5452                                      xcb_window_t      src_window  /**< */,
5453                                      xcb_window_t      dst_window  /**< */,
5454                                      int16_t           src_x  /**< */,
5455                                      int16_t           src_y  /**< */)
5456 {
5457     static const xcb_protocol_request_t xcb_req = {
5458         /* count */ 2,
5459         /* ext */ 0,
5460         /* opcode */ XCB_TRANSLATE_COORDINATES,
5461         /* isvoid */ 0
5462     };
5463 
5464     struct iovec xcb_parts[4];
5465     xcb_translate_coordinates_cookie_t xcb_ret;
5466     xcb_translate_coordinates_request_t xcb_out;
5467 
5468     xcb_out.pad0 = 0;
5469     xcb_out.src_window = src_window;
5470     xcb_out.dst_window = dst_window;
5471     xcb_out.src_x = src_x;
5472     xcb_out.src_y = src_y;
5473 
5474     xcb_parts[2].iov_base = (char *) &xcb_out;
5475     xcb_parts[2].iov_len = sizeof(xcb_out);
5476     xcb_parts[3].iov_base = 0;
5477     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5478     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5479     return xcb_ret;
5480 }
5481 
5482 
5483 /*****************************************************************************
5484  **
5485  ** xcb_translate_coordinates_reply_t * xcb_translate_coordinates_reply
5486  **
5487  ** @param xcb_connection_t                    *c
5488  ** @param xcb_translate_coordinates_cookie_t   cookie
5489  ** @param xcb_generic_error_t                **e
5490  ** @returns xcb_translate_coordinates_reply_t *
5491  **
5492  *****************************************************************************/
5493 
5494 xcb_translate_coordinates_reply_t *
5495 xcb_translate_coordinates_reply (xcb_connection_t                    *c  /**< */,
5496                                  xcb_translate_coordinates_cookie_t   cookie  /**< */,
5497                                  xcb_generic_error_t                **e  /**< */)
5498 {
5499     return (xcb_translate_coordinates_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5500 }
5501 
5502 
5503 /*****************************************************************************
5504  **
5505  ** xcb_void_cookie_t xcb_warp_pointer_checked
5506  **
5507  ** @param xcb_connection_t *c
5508  ** @param xcb_window_t      src_window
5509  ** @param xcb_window_t      dst_window
5510  ** @param int16_t           src_x
5511  ** @param int16_t           src_y
5512  ** @param uint16_t          src_width
5513  ** @param uint16_t          src_height
5514  ** @param int16_t           dst_x
5515  ** @param int16_t           dst_y
5516  ** @returns xcb_void_cookie_t
5517  **
5518  *****************************************************************************/
5519 
5520 xcb_void_cookie_t
5521 xcb_warp_pointer_checked (xcb_connection_t *c  /**< */,
5522                           xcb_window_t      src_window  /**< */,
5523                           xcb_window_t      dst_window  /**< */,
5524                           int16_t           src_x  /**< */,
5525                           int16_t           src_y  /**< */,
5526                           uint16_t          src_width  /**< */,
5527                           uint16_t          src_height  /**< */,
5528                           int16_t           dst_x  /**< */,
5529                           int16_t           dst_y  /**< */)
5530 {
5531     static const xcb_protocol_request_t xcb_req = {
5532         /* count */ 2,
5533         /* ext */ 0,
5534         /* opcode */ XCB_WARP_POINTER,
5535         /* isvoid */ 1
5536     };
5537 
5538     struct iovec xcb_parts[4];
5539     xcb_void_cookie_t xcb_ret;
5540     xcb_warp_pointer_request_t xcb_out;
5541 
5542     xcb_out.pad0 = 0;
5543     xcb_out.src_window = src_window;
5544     xcb_out.dst_window = dst_window;
5545     xcb_out.src_x = src_x;
5546     xcb_out.src_y = src_y;
5547     xcb_out.src_width = src_width;
5548     xcb_out.src_height = src_height;
5549     xcb_out.dst_x = dst_x;
5550     xcb_out.dst_y = dst_y;
5551 
5552     xcb_parts[2].iov_base = (char *) &xcb_out;
5553     xcb_parts[2].iov_len = sizeof(xcb_out);
5554     xcb_parts[3].iov_base = 0;
5555     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5556     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5557     return xcb_ret;
5558 }
5559 
5560 
5561 /*****************************************************************************
5562  **
5563  ** xcb_void_cookie_t xcb_warp_pointer
5564  **
5565  ** @param xcb_connection_t *c
5566  ** @param xcb_window_t      src_window
5567  ** @param xcb_window_t      dst_window
5568  ** @param int16_t           src_x
5569  ** @param int16_t           src_y
5570  ** @param uint16_t          src_width
5571  ** @param uint16_t          src_height
5572  ** @param int16_t           dst_x
5573  ** @param int16_t           dst_y
5574  ** @returns xcb_void_cookie_t
5575  **
5576  *****************************************************************************/
5577 
5578 xcb_void_cookie_t
5579 xcb_warp_pointer (xcb_connection_t *c  /**< */,
5580                   xcb_window_t      src_window  /**< */,
5581                   xcb_window_t      dst_window  /**< */,
5582                   int16_t           src_x  /**< */,
5583                   int16_t           src_y  /**< */,
5584                   uint16_t          src_width  /**< */,
5585                   uint16_t          src_height  /**< */,
5586                   int16_t           dst_x  /**< */,
5587                   int16_t           dst_y  /**< */)
5588 {
5589     static const xcb_protocol_request_t xcb_req = {
5590         /* count */ 2,
5591         /* ext */ 0,
5592         /* opcode */ XCB_WARP_POINTER,
5593         /* isvoid */ 1
5594     };
5595 
5596     struct iovec xcb_parts[4];
5597     xcb_void_cookie_t xcb_ret;
5598     xcb_warp_pointer_request_t xcb_out;
5599 
5600     xcb_out.pad0 = 0;
5601     xcb_out.src_window = src_window;
5602     xcb_out.dst_window = dst_window;
5603     xcb_out.src_x = src_x;
5604     xcb_out.src_y = src_y;
5605     xcb_out.src_width = src_width;
5606     xcb_out.src_height = src_height;
5607     xcb_out.dst_x = dst_x;
5608     xcb_out.dst_y = dst_y;
5609 
5610     xcb_parts[2].iov_base = (char *) &xcb_out;
5611     xcb_parts[2].iov_len = sizeof(xcb_out);
5612     xcb_parts[3].iov_base = 0;
5613     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5614     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5615     return xcb_ret;
5616 }
5617 
5618 
5619 /*****************************************************************************
5620  **
5621  ** xcb_void_cookie_t xcb_set_input_focus_checked
5622  **
5623  ** @param xcb_connection_t *c
5624  ** @param uint8_t           revert_to
5625  ** @param xcb_window_t      focus
5626  ** @param xcb_timestamp_t   time
5627  ** @returns xcb_void_cookie_t
5628  **
5629  *****************************************************************************/
5630 
5631 xcb_void_cookie_t
5632 xcb_set_input_focus_checked (xcb_connection_t *c  /**< */,
5633                              uint8_t           revert_to  /**< */,
5634                              xcb_window_t      focus  /**< */,
5635                              xcb_timestamp_t   time  /**< */)
5636 {
5637     static const xcb_protocol_request_t xcb_req = {
5638         /* count */ 2,
5639         /* ext */ 0,
5640         /* opcode */ XCB_SET_INPUT_FOCUS,
5641         /* isvoid */ 1
5642     };
5643 
5644     struct iovec xcb_parts[4];
5645     xcb_void_cookie_t xcb_ret;
5646     xcb_set_input_focus_request_t xcb_out;
5647 
5648     xcb_out.revert_to = revert_to;
5649     xcb_out.focus = focus;
5650     xcb_out.time = time;
5651 
5652     xcb_parts[2].iov_base = (char *) &xcb_out;
5653     xcb_parts[2].iov_len = sizeof(xcb_out);
5654     xcb_parts[3].iov_base = 0;
5655     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5656     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5657     return xcb_ret;
5658 }
5659 
5660 
5661 /*****************************************************************************
5662  **
5663  ** xcb_void_cookie_t xcb_set_input_focus
5664  **
5665  ** @param xcb_connection_t *c
5666  ** @param uint8_t           revert_to
5667  ** @param xcb_window_t      focus
5668  ** @param xcb_timestamp_t   time
5669  ** @returns xcb_void_cookie_t
5670  **
5671  *****************************************************************************/
5672 
5673 xcb_void_cookie_t
5674 xcb_set_input_focus (xcb_connection_t *c  /**< */,
5675                      uint8_t           revert_to  /**< */,
5676                      xcb_window_t      focus  /**< */,
5677                      xcb_timestamp_t   time  /**< */)
5678 {
5679     static const xcb_protocol_request_t xcb_req = {
5680         /* count */ 2,
5681         /* ext */ 0,
5682         /* opcode */ XCB_SET_INPUT_FOCUS,
5683         /* isvoid */ 1
5684     };
5685 
5686     struct iovec xcb_parts[4];
5687     xcb_void_cookie_t xcb_ret;
5688     xcb_set_input_focus_request_t xcb_out;
5689 
5690     xcb_out.revert_to = revert_to;
5691     xcb_out.focus = focus;
5692     xcb_out.time = time;
5693 
5694     xcb_parts[2].iov_base = (char *) &xcb_out;
5695     xcb_parts[2].iov_len = sizeof(xcb_out);
5696     xcb_parts[3].iov_base = 0;
5697     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5698     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5699     return xcb_ret;
5700 }
5701 
5702 
5703 /*****************************************************************************
5704  **
5705  ** xcb_get_input_focus_cookie_t xcb_get_input_focus
5706  **
5707  ** @param xcb_connection_t *c
5708  ** @returns xcb_get_input_focus_cookie_t
5709  **
5710  *****************************************************************************/
5711 
5712 xcb_get_input_focus_cookie_t
5713 xcb_get_input_focus (xcb_connection_t *c  /**< */)
5714 {
5715     static const xcb_protocol_request_t xcb_req = {
5716         /* count */ 2,
5717         /* ext */ 0,
5718         /* opcode */ XCB_GET_INPUT_FOCUS,
5719         /* isvoid */ 0
5720     };
5721 
5722     struct iovec xcb_parts[4];
5723     xcb_get_input_focus_cookie_t xcb_ret;
5724     xcb_get_input_focus_request_t xcb_out;
5725 
5726     xcb_out.pad0 = 0;
5727 
5728     xcb_parts[2].iov_base = (char *) &xcb_out;
5729     xcb_parts[2].iov_len = sizeof(xcb_out);
5730     xcb_parts[3].iov_base = 0;
5731     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5732     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5733     return xcb_ret;
5734 }
5735 
5736 
5737 /*****************************************************************************
5738  **
5739  ** xcb_get_input_focus_cookie_t xcb_get_input_focus_unchecked
5740  **
5741  ** @param xcb_connection_t *c
5742  ** @returns xcb_get_input_focus_cookie_t
5743  **
5744  *****************************************************************************/
5745 
5746 xcb_get_input_focus_cookie_t
5747 xcb_get_input_focus_unchecked (xcb_connection_t *c  /**< */)
5748 {
5749     static const xcb_protocol_request_t xcb_req = {
5750         /* count */ 2,
5751         /* ext */ 0,
5752         /* opcode */ XCB_GET_INPUT_FOCUS,
5753         /* isvoid */ 0
5754     };
5755 
5756     struct iovec xcb_parts[4];
5757     xcb_get_input_focus_cookie_t xcb_ret;
5758     xcb_get_input_focus_request_t xcb_out;
5759 
5760     xcb_out.pad0 = 0;
5761 
5762     xcb_parts[2].iov_base = (char *) &xcb_out;
5763     xcb_parts[2].iov_len = sizeof(xcb_out);
5764     xcb_parts[3].iov_base = 0;
5765     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5766     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5767     return xcb_ret;
5768 }
5769 
5770 
5771 /*****************************************************************************
5772  **
5773  ** xcb_get_input_focus_reply_t * xcb_get_input_focus_reply
5774  **
5775  ** @param xcb_connection_t              *c
5776  ** @param xcb_get_input_focus_cookie_t   cookie
5777  ** @param xcb_generic_error_t          **e
5778  ** @returns xcb_get_input_focus_reply_t *
5779  **
5780  *****************************************************************************/
5781 
5782 xcb_get_input_focus_reply_t *
5783 xcb_get_input_focus_reply (xcb_connection_t              *c  /**< */,
5784                            xcb_get_input_focus_cookie_t   cookie  /**< */,
5785                            xcb_generic_error_t          **e  /**< */)
5786 {
5787     return (xcb_get_input_focus_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5788 }
5789 
5790 
5791 /*****************************************************************************
5792  **
5793  ** xcb_query_keymap_cookie_t xcb_query_keymap
5794  **
5795  ** @param xcb_connection_t *c
5796  ** @returns xcb_query_keymap_cookie_t
5797  **
5798  *****************************************************************************/
5799 
5800 xcb_query_keymap_cookie_t
5801 xcb_query_keymap (xcb_connection_t *c  /**< */)
5802 {
5803     static const xcb_protocol_request_t xcb_req = {
5804         /* count */ 2,
5805         /* ext */ 0,
5806         /* opcode */ XCB_QUERY_KEYMAP,
5807         /* isvoid */ 0
5808     };
5809 
5810     struct iovec xcb_parts[4];
5811     xcb_query_keymap_cookie_t xcb_ret;
5812     xcb_query_keymap_request_t xcb_out;
5813 
5814     xcb_out.pad0 = 0;
5815 
5816     xcb_parts[2].iov_base = (char *) &xcb_out;
5817     xcb_parts[2].iov_len = sizeof(xcb_out);
5818     xcb_parts[3].iov_base = 0;
5819     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5820     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5821     return xcb_ret;
5822 }
5823 
5824 
5825 /*****************************************************************************
5826  **
5827  ** xcb_query_keymap_cookie_t xcb_query_keymap_unchecked
5828  **
5829  ** @param xcb_connection_t *c
5830  ** @returns xcb_query_keymap_cookie_t
5831  **
5832  *****************************************************************************/
5833 
5834 xcb_query_keymap_cookie_t
5835 xcb_query_keymap_unchecked (xcb_connection_t *c  /**< */)
5836 {
5837     static const xcb_protocol_request_t xcb_req = {
5838         /* count */ 2,
5839         /* ext */ 0,
5840         /* opcode */ XCB_QUERY_KEYMAP,
5841         /* isvoid */ 0
5842     };
5843 
5844     struct iovec xcb_parts[4];
5845     xcb_query_keymap_cookie_t xcb_ret;
5846     xcb_query_keymap_request_t xcb_out;
5847 
5848     xcb_out.pad0 = 0;
5849 
5850     xcb_parts[2].iov_base = (char *) &xcb_out;
5851     xcb_parts[2].iov_len = sizeof(xcb_out);
5852     xcb_parts[3].iov_base = 0;
5853     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5854     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5855     return xcb_ret;
5856 }
5857 
5858 
5859 /*****************************************************************************
5860  **
5861  ** xcb_query_keymap_reply_t * xcb_query_keymap_reply
5862  **
5863  ** @param xcb_connection_t           *c
5864  ** @param xcb_query_keymap_cookie_t   cookie
5865  ** @param xcb_generic_error_t       **e
5866  ** @returns xcb_query_keymap_reply_t *
5867  **
5868  *****************************************************************************/
5869 
5870 xcb_query_keymap_reply_t *
5871 xcb_query_keymap_reply (xcb_connection_t           *c  /**< */,
5872                         xcb_query_keymap_cookie_t   cookie  /**< */,
5873                         xcb_generic_error_t       **e  /**< */)
5874 {
5875     return (xcb_query_keymap_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
5876 }
5877 
5878 
5879 /*****************************************************************************
5880  **
5881  ** xcb_void_cookie_t xcb_open_font_checked
5882  **
5883  ** @param xcb_connection_t *c
5884  ** @param xcb_font_t        fid
5885  ** @param uint16_t          name_len
5886  ** @param const char       *name
5887  ** @returns xcb_void_cookie_t
5888  **
5889  *****************************************************************************/
5890 
5891 xcb_void_cookie_t
5892 xcb_open_font_checked (xcb_connection_t *c  /**< */,
5893                        xcb_font_t        fid  /**< */,
5894                        uint16_t          name_len  /**< */,
5895                        const char       *name  /**< */)
5896 {
5897     static const xcb_protocol_request_t xcb_req = {
5898         /* count */ 4,
5899         /* ext */ 0,
5900         /* opcode */ XCB_OPEN_FONT,
5901         /* isvoid */ 1
5902     };
5903 
5904     struct iovec xcb_parts[6];
5905     xcb_void_cookie_t xcb_ret;
5906     xcb_open_font_request_t xcb_out;
5907 
5908     xcb_out.pad0 = 0;
5909     xcb_out.fid = fid;
5910     xcb_out.name_len = name_len;
5911     memset(xcb_out.pad1, 0, 2);
5912 
5913     xcb_parts[2].iov_base = (char *) &xcb_out;
5914     xcb_parts[2].iov_len = sizeof(xcb_out);
5915     xcb_parts[3].iov_base = 0;
5916     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5917     xcb_parts[4].iov_base = (char *) name;
5918     xcb_parts[4].iov_len = name_len * sizeof(char);
5919     xcb_parts[5].iov_base = 0;
5920     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
5921     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
5922     return xcb_ret;
5923 }
5924 
5925 
5926 /*****************************************************************************
5927  **
5928  ** xcb_void_cookie_t xcb_open_font
5929  **
5930  ** @param xcb_connection_t *c
5931  ** @param xcb_font_t        fid
5932  ** @param uint16_t          name_len
5933  ** @param const char       *name
5934  ** @returns xcb_void_cookie_t
5935  **
5936  *****************************************************************************/
5937 
5938 xcb_void_cookie_t
5939 xcb_open_font (xcb_connection_t *c  /**< */,
5940                xcb_font_t        fid  /**< */,
5941                uint16_t          name_len  /**< */,
5942                const char       *name  /**< */)
5943 {
5944     static const xcb_protocol_request_t xcb_req = {
5945         /* count */ 4,
5946         /* ext */ 0,
5947         /* opcode */ XCB_OPEN_FONT,
5948         /* isvoid */ 1
5949     };
5950 
5951     struct iovec xcb_parts[6];
5952     xcb_void_cookie_t xcb_ret;
5953     xcb_open_font_request_t xcb_out;
5954 
5955     xcb_out.pad0 = 0;
5956     xcb_out.fid = fid;
5957     xcb_out.name_len = name_len;
5958     memset(xcb_out.pad1, 0, 2);
5959 
5960     xcb_parts[2].iov_base = (char *) &xcb_out;
5961     xcb_parts[2].iov_len = sizeof(xcb_out);
5962     xcb_parts[3].iov_base = 0;
5963     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
5964     xcb_parts[4].iov_base = (char *) name;
5965     xcb_parts[4].iov_len = name_len * sizeof(char);
5966     xcb_parts[5].iov_base = 0;
5967     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
5968     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
5969     return xcb_ret;
5970 }
5971 
5972 
5973 /*****************************************************************************
5974  **
5975  ** xcb_void_cookie_t xcb_close_font_checked
5976  **
5977  ** @param xcb_connection_t *c
5978  ** @param xcb_font_t        font
5979  ** @returns xcb_void_cookie_t
5980  **
5981  *****************************************************************************/
5982 
5983 xcb_void_cookie_t
5984 xcb_close_font_checked (xcb_connection_t *c  /**< */,
5985                         xcb_font_t        font  /**< */)
5986 {
5987     static const xcb_protocol_request_t xcb_req = {
5988         /* count */ 2,
5989         /* ext */ 0,
5990         /* opcode */ XCB_CLOSE_FONT,
5991         /* isvoid */ 1
5992     };
5993 
5994     struct iovec xcb_parts[4];
5995     xcb_void_cookie_t xcb_ret;
5996     xcb_close_font_request_t xcb_out;
5997 
5998     xcb_out.pad0 = 0;
5999     xcb_out.font = font;
6000 
6001     xcb_parts[2].iov_base = (char *) &xcb_out;
6002     xcb_parts[2].iov_len = sizeof(xcb_out);
6003     xcb_parts[3].iov_base = 0;
6004     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6005     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
6006     return xcb_ret;
6007 }
6008 
6009 
6010 /*****************************************************************************
6011  **
6012  ** xcb_void_cookie_t xcb_close_font
6013  **
6014  ** @param xcb_connection_t *c
6015  ** @param xcb_font_t        font
6016  ** @returns xcb_void_cookie_t
6017  **
6018  *****************************************************************************/
6019 
6020 xcb_void_cookie_t
6021 xcb_close_font (xcb_connection_t *c  /**< */,
6022                 xcb_font_t        font  /**< */)
6023 {
6024     static const xcb_protocol_request_t xcb_req = {
6025         /* count */ 2,
6026         /* ext */ 0,
6027         /* opcode */ XCB_CLOSE_FONT,
6028         /* isvoid */ 1
6029     };
6030 
6031     struct iovec xcb_parts[4];
6032     xcb_void_cookie_t xcb_ret;
6033     xcb_close_font_request_t xcb_out;
6034 
6035     xcb_out.pad0 = 0;
6036     xcb_out.font = font;
6037 
6038     xcb_parts[2].iov_base = (char *) &xcb_out;
6039     xcb_parts[2].iov_len = sizeof(xcb_out);
6040     xcb_parts[3].iov_base = 0;
6041     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6042     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
6043     return xcb_ret;
6044 }
6045 
6046 
6047 /*****************************************************************************
6048  **
6049  ** void xcb_fontprop_next
6050  **
6051  ** @param xcb_fontprop_iterator_t *i
6052  ** @returns void
6053  **
6054  *****************************************************************************/
6055 
6056 void
6057 xcb_fontprop_next (xcb_fontprop_iterator_t *i  /**< */)
6058 {
6059     --i->rem;
6060     ++i->data;
6061     i->index += sizeof(xcb_fontprop_t);
6062 }
6063 
6064 
6065 /*****************************************************************************
6066  **
6067  ** xcb_generic_iterator_t xcb_fontprop_end
6068  **
6069  ** @param xcb_fontprop_iterator_t i
6070  ** @returns xcb_generic_iterator_t
6071  **
6072  *****************************************************************************/
6073 
6074 xcb_generic_iterator_t
6075 xcb_fontprop_end (xcb_fontprop_iterator_t i  /**< */)
6076 {
6077     xcb_generic_iterator_t ret;
6078     ret.data = i.data + i.rem;
6079     ret.index = i.index + ((char *) ret.data - (char *) i.data);
6080     ret.rem = 0;
6081     return ret;
6082 }
6083 
6084 
6085 /*****************************************************************************
6086  **
6087  ** void xcb_charinfo_next
6088  **
6089  ** @param xcb_charinfo_iterator_t *i
6090  ** @returns void
6091  **
6092  *****************************************************************************/
6093 
6094 void
6095 xcb_charinfo_next (xcb_charinfo_iterator_t *i  /**< */)
6096 {
6097     --i->rem;
6098     ++i->data;
6099     i->index += sizeof(xcb_charinfo_t);
6100 }
6101 
6102 
6103 /*****************************************************************************
6104  **
6105  ** xcb_generic_iterator_t xcb_charinfo_end
6106  **
6107  ** @param xcb_charinfo_iterator_t i
6108  ** @returns xcb_generic_iterator_t
6109  **
6110  *****************************************************************************/
6111 
6112 xcb_generic_iterator_t
6113 xcb_charinfo_end (xcb_charinfo_iterator_t i  /**< */)
6114 {
6115     xcb_generic_iterator_t ret;
6116     ret.data = i.data + i.rem;
6117     ret.index = i.index + ((char *) ret.data - (char *) i.data);
6118     ret.rem = 0;
6119     return ret;
6120 }
6121 
6122 
6123 /*****************************************************************************
6124  **
6125  ** xcb_query_font_cookie_t xcb_query_font
6126  **
6127  ** @param xcb_connection_t *c
6128  ** @param xcb_fontable_t    font
6129  ** @returns xcb_query_font_cookie_t
6130  **
6131  *****************************************************************************/
6132 
6133 xcb_query_font_cookie_t
6134 xcb_query_font (xcb_connection_t *c  /**< */,
6135                 xcb_fontable_t    font  /**< */)
6136 {
6137     static const xcb_protocol_request_t xcb_req = {
6138         /* count */ 2,
6139         /* ext */ 0,
6140         /* opcode */ XCB_QUERY_FONT,
6141         /* isvoid */ 0
6142     };
6143 
6144     struct iovec xcb_parts[4];
6145     xcb_query_font_cookie_t xcb_ret;
6146     xcb_query_font_request_t xcb_out;
6147 
6148     xcb_out.pad0 = 0;
6149     xcb_out.font = font;
6150 
6151     xcb_parts[2].iov_base = (char *) &xcb_out;
6152     xcb_parts[2].iov_len = sizeof(xcb_out);
6153     xcb_parts[3].iov_base = 0;
6154     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6155     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
6156     return xcb_ret;
6157 }
6158 
6159 
6160 /*****************************************************************************
6161  **
6162  ** xcb_query_font_cookie_t xcb_query_font_unchecked
6163  **
6164  ** @param xcb_connection_t *c
6165  ** @param xcb_fontable_t    font
6166  ** @returns xcb_query_font_cookie_t
6167  **
6168  *****************************************************************************/
6169 
6170 xcb_query_font_cookie_t
6171 xcb_query_font_unchecked (xcb_connection_t *c  /**< */,
6172                           xcb_fontable_t    font  /**< */)
6173 {
6174     static const xcb_protocol_request_t xcb_req = {
6175         /* count */ 2,
6176         /* ext */ 0,
6177         /* opcode */ XCB_QUERY_FONT,
6178         /* isvoid */ 0
6179     };
6180 
6181     struct iovec xcb_parts[4];
6182     xcb_query_font_cookie_t xcb_ret;
6183     xcb_query_font_request_t xcb_out;
6184 
6185     xcb_out.pad0 = 0;
6186     xcb_out.font = font;
6187 
6188     xcb_parts[2].iov_base = (char *) &xcb_out;
6189     xcb_parts[2].iov_len = sizeof(xcb_out);
6190     xcb_parts[3].iov_base = 0;
6191     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6192     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
6193     return xcb_ret;
6194 }
6195 
6196 
6197 /*****************************************************************************
6198  **
6199  ** xcb_fontprop_t * xcb_query_font_properties
6200  **
6201  ** @param const xcb_query_font_reply_t *R
6202  ** @returns xcb_fontprop_t *
6203  **
6204  *****************************************************************************/
6205 
6206 xcb_fontprop_t *
6207 xcb_query_font_properties (const xcb_query_font_reply_t *R  /**< */)
6208 {
6209     return (xcb_fontprop_t *) (R + 1);
6210 }
6211 
6212 
6213 /*****************************************************************************
6214  **
6215  ** int xcb_query_font_properties_length
6216  **
6217  ** @param const xcb_query_font_reply_t *R
6218  ** @returns int
6219  **
6220  *****************************************************************************/
6221 
6222 int
6223 xcb_query_font_properties_length (const xcb_query_font_reply_t *R  /**< */)
6224 {
6225     return R->properties_len;
6226 }
6227 
6228 
6229 /*****************************************************************************
6230  **
6231  ** xcb_fontprop_iterator_t xcb_query_font_properties_iterator
6232  **
6233  ** @param const xcb_query_font_reply_t *R
6234  ** @returns xcb_fontprop_iterator_t
6235  **
6236  *****************************************************************************/
6237 
6238 xcb_fontprop_iterator_t
6239 xcb_query_font_properties_iterator (const xcb_query_font_reply_t *R  /**< */)
6240 {
6241     xcb_fontprop_iterator_t i;
6242     i.data = (xcb_fontprop_t *) (R + 1);
6243     i.rem = R->properties_len;
6244     i.index = (char *) i.data - (char *) R;
6245     return i;
6246 }
6247 
6248 
6249 /*****************************************************************************
6250  **
6251  ** xcb_charinfo_t * xcb_query_font_char_infos
6252  **
6253  ** @param const xcb_query_font_reply_t *R
6254  ** @returns xcb_charinfo_t *
6255  **
6256  *****************************************************************************/
6257 
6258 xcb_charinfo_t *
6259 xcb_query_font_char_infos (const xcb_query_font_reply_t *R  /**< */)
6260 {
6261     xcb_generic_iterator_t prev = xcb_fontprop_end(xcb_query_font_properties_iterator(R));
6262     return (xcb_charinfo_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_charinfo_t, prev.index) + 0);
6263 }
6264 
6265 
6266 /*****************************************************************************
6267  **
6268  ** int xcb_query_font_char_infos_length
6269  **
6270  ** @param const xcb_query_font_reply_t *R
6271  ** @returns int
6272  **
6273  *****************************************************************************/
6274 
6275 int
6276 xcb_query_font_char_infos_length (const xcb_query_font_reply_t *R  /**< */)
6277 {
6278     return R->char_infos_len;
6279 }
6280 
6281 
6282 /*****************************************************************************
6283  **
6284  ** xcb_charinfo_iterator_t xcb_query_font_char_infos_iterator
6285  **
6286  ** @param const xcb_query_font_reply_t *R
6287  ** @returns xcb_charinfo_iterator_t
6288  **
6289  *****************************************************************************/
6290 
6291 xcb_charinfo_iterator_t
6292 xcb_query_font_char_infos_iterator (const xcb_query_font_reply_t *R  /**< */)
6293 {
6294     xcb_charinfo_iterator_t i;
6295     xcb_generic_iterator_t prev = xcb_fontprop_end(xcb_query_font_properties_iterator(R));
6296     i.data = (xcb_charinfo_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_charinfo_t, prev.index));
6297     i.rem = R->char_infos_len;
6298     i.index = (char *) i.data - (char *) R;
6299     return i;
6300 }
6301 
6302 
6303 /*****************************************************************************
6304  **
6305  ** xcb_query_font_reply_t * xcb_query_font_reply
6306  **
6307  ** @param xcb_connection_t         *c
6308  ** @param xcb_query_font_cookie_t   cookie
6309  ** @param xcb_generic_error_t     **e
6310  ** @returns xcb_query_font_reply_t *
6311  **
6312  *****************************************************************************/
6313 
6314 xcb_query_font_reply_t *
6315 xcb_query_font_reply (xcb_connection_t         *c  /**< */,
6316                       xcb_query_font_cookie_t   cookie  /**< */,
6317                       xcb_generic_error_t     **e  /**< */)
6318 {
6319     return (xcb_query_font_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
6320 }
6321 
6322 
6323 /*****************************************************************************
6324  **
6325  ** xcb_query_text_extents_cookie_t xcb_query_text_extents
6326  **
6327  ** @param xcb_connection_t   *c
6328  ** @param xcb_fontable_t      font
6329  ** @param uint32_t            string_len
6330  ** @param const xcb_char2b_t *string
6331  ** @returns xcb_query_text_extents_cookie_t
6332  **
6333  *****************************************************************************/
6334 
6335 xcb_query_text_extents_cookie_t
6336 xcb_query_text_extents (xcb_connection_t   *c  /**< */,
6337                         xcb_fontable_t      font  /**< */,
6338                         uint32_t            string_len  /**< */,
6339                         const xcb_char2b_t *string  /**< */)
6340 {
6341     static const xcb_protocol_request_t xcb_req = {
6342         /* count */ 4,
6343         /* ext */ 0,
6344         /* opcode */ XCB_QUERY_TEXT_EXTENTS,
6345         /* isvoid */ 0
6346     };
6347 
6348     struct iovec xcb_parts[6];
6349     xcb_query_text_extents_cookie_t xcb_ret;
6350     xcb_query_text_extents_request_t xcb_out;
6351 
6352     xcb_out.odd_length = (string_len & 1);
6353     xcb_out.font = font;
6354 
6355     xcb_parts[2].iov_base = (char *) &xcb_out;
6356     xcb_parts[2].iov_len = sizeof(xcb_out);
6357     xcb_parts[3].iov_base = 0;
6358     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6359     xcb_parts[4].iov_base = (char *) string;
6360     xcb_parts[4].iov_len = string_len * sizeof(xcb_char2b_t);
6361     xcb_parts[5].iov_base = 0;
6362     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6363     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
6364     return xcb_ret;
6365 }
6366 
6367 
6368 /*****************************************************************************
6369  **
6370  ** xcb_query_text_extents_cookie_t xcb_query_text_extents_unchecked
6371  **
6372  ** @param xcb_connection_t   *c
6373  ** @param xcb_fontable_t      font
6374  ** @param uint32_t            string_len
6375  ** @param const xcb_char2b_t *string
6376  ** @returns xcb_query_text_extents_cookie_t
6377  **
6378  *****************************************************************************/
6379 
6380 xcb_query_text_extents_cookie_t
6381 xcb_query_text_extents_unchecked (xcb_connection_t   *c  /**< */,
6382                                   xcb_fontable_t      font  /**< */,
6383                                   uint32_t            string_len  /**< */,
6384                                   const xcb_char2b_t *string  /**< */)
6385 {
6386     static const xcb_protocol_request_t xcb_req = {
6387         /* count */ 4,
6388         /* ext */ 0,
6389         /* opcode */ XCB_QUERY_TEXT_EXTENTS,
6390         /* isvoid */ 0
6391     };
6392 
6393     struct iovec xcb_parts[6];
6394     xcb_query_text_extents_cookie_t xcb_ret;
6395     xcb_query_text_extents_request_t xcb_out;
6396 
6397     xcb_out.odd_length = (string_len & 1);
6398     xcb_out.font = font;
6399 
6400     xcb_parts[2].iov_base = (char *) &xcb_out;
6401     xcb_parts[2].iov_len = sizeof(xcb_out);
6402     xcb_parts[3].iov_base = 0;
6403     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6404     xcb_parts[4].iov_base = (char *) string;
6405     xcb_parts[4].iov_len = string_len * sizeof(xcb_char2b_t);
6406     xcb_parts[5].iov_base = 0;
6407     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6408     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
6409     return xcb_ret;
6410 }
6411 
6412 
6413 /*****************************************************************************
6414  **
6415  ** xcb_query_text_extents_reply_t * xcb_query_text_extents_reply
6416  **
6417  ** @param xcb_connection_t                 *c
6418  ** @param xcb_query_text_extents_cookie_t   cookie
6419  ** @param xcb_generic_error_t             **e
6420  ** @returns xcb_query_text_extents_reply_t *
6421  **
6422  *****************************************************************************/
6423 
6424 xcb_query_text_extents_reply_t *
6425 xcb_query_text_extents_reply (xcb_connection_t                 *c  /**< */,
6426                               xcb_query_text_extents_cookie_t   cookie  /**< */,
6427                               xcb_generic_error_t             **e  /**< */)
6428 {
6429     return (xcb_query_text_extents_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
6430 }
6431 
6432 
6433 /*****************************************************************************
6434  **
6435  ** char * xcb_str_name
6436  **
6437  ** @param const xcb_str_t *R
6438  ** @returns char *
6439  **
6440  *****************************************************************************/
6441 
6442 char *
6443 xcb_str_name (const xcb_str_t *R  /**< */)
6444 {
6445     return (char *) (R + 1);
6446 }
6447 
6448 
6449 /*****************************************************************************
6450  **
6451  ** int xcb_str_name_length
6452  **
6453  ** @param const xcb_str_t *R
6454  ** @returns int
6455  **
6456  *****************************************************************************/
6457 
6458 int
6459 xcb_str_name_length (const xcb_str_t *R  /**< */)
6460 {
6461     return R->name_len;
6462 }
6463 
6464 
6465 /*****************************************************************************
6466  **
6467  ** xcb_generic_iterator_t xcb_str_name_end
6468  **
6469  ** @param const xcb_str_t *R
6470  ** @returns xcb_generic_iterator_t
6471  **
6472  *****************************************************************************/
6473 
6474 xcb_generic_iterator_t
6475 xcb_str_name_end (const xcb_str_t *R  /**< */)
6476 {
6477     xcb_generic_iterator_t i;
6478     i.data = ((char *) (R + 1)) + (R->name_len);
6479     i.rem = 0;
6480     i.index = (char *) i.data - (char *) R;
6481     return i;
6482 }
6483 
6484 
6485 /*****************************************************************************
6486  **
6487  ** void xcb_str_next
6488  **
6489  ** @param xcb_str_iterator_t *i
6490  ** @returns void
6491  **
6492  *****************************************************************************/
6493 
6494 void
6495 xcb_str_next (xcb_str_iterator_t *i  /**< */)
6496 {
6497     xcb_str_t *R = i->data;
6498     xcb_generic_iterator_t child = xcb_str_name_end(R);
6499     --i->rem;
6500     i->data = (xcb_str_t *) child.data;
6501     i->index = child.index;
6502 }
6503 
6504 
6505 /*****************************************************************************
6506  **
6507  ** xcb_generic_iterator_t xcb_str_end
6508  **
6509  ** @param xcb_str_iterator_t i
6510  ** @returns xcb_generic_iterator_t
6511  **
6512  *****************************************************************************/
6513 
6514 xcb_generic_iterator_t
6515 xcb_str_end (xcb_str_iterator_t i  /**< */)
6516 {
6517     xcb_generic_iterator_t ret;
6518     while(i.rem > 0)
6519         xcb_str_next(&i);
6520     ret.data = i.data;
6521     ret.rem = i.rem;
6522     ret.index = i.index;
6523     return ret;
6524 }
6525 
6526 
6527 /*****************************************************************************
6528  **
6529  ** xcb_list_fonts_cookie_t xcb_list_fonts
6530  **
6531  ** @param xcb_connection_t *c
6532  ** @param uint16_t          max_names
6533  ** @param uint16_t          pattern_len
6534  ** @param const char       *pattern
6535  ** @returns xcb_list_fonts_cookie_t
6536  **
6537  *****************************************************************************/
6538 
6539 xcb_list_fonts_cookie_t
6540 xcb_list_fonts (xcb_connection_t *c  /**< */,
6541                 uint16_t          max_names  /**< */,
6542                 uint16_t          pattern_len  /**< */,
6543                 const char       *pattern  /**< */)
6544 {
6545     static const xcb_protocol_request_t xcb_req = {
6546         /* count */ 4,
6547         /* ext */ 0,
6548         /* opcode */ XCB_LIST_FONTS,
6549         /* isvoid */ 0
6550     };
6551 
6552     struct iovec xcb_parts[6];
6553     xcb_list_fonts_cookie_t xcb_ret;
6554     xcb_list_fonts_request_t xcb_out;
6555 
6556     xcb_out.pad0 = 0;
6557     xcb_out.max_names = max_names;
6558     xcb_out.pattern_len = pattern_len;
6559 
6560     xcb_parts[2].iov_base = (char *) &xcb_out;
6561     xcb_parts[2].iov_len = sizeof(xcb_out);
6562     xcb_parts[3].iov_base = 0;
6563     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6564     xcb_parts[4].iov_base = (char *) pattern;
6565     xcb_parts[4].iov_len = pattern_len * sizeof(char);
6566     xcb_parts[5].iov_base = 0;
6567     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6568     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
6569     return xcb_ret;
6570 }
6571 
6572 
6573 /*****************************************************************************
6574  **
6575  ** xcb_list_fonts_cookie_t xcb_list_fonts_unchecked
6576  **
6577  ** @param xcb_connection_t *c
6578  ** @param uint16_t          max_names
6579  ** @param uint16_t          pattern_len
6580  ** @param const char       *pattern
6581  ** @returns xcb_list_fonts_cookie_t
6582  **
6583  *****************************************************************************/
6584 
6585 xcb_list_fonts_cookie_t
6586 xcb_list_fonts_unchecked (xcb_connection_t *c  /**< */,
6587                           uint16_t          max_names  /**< */,
6588                           uint16_t          pattern_len  /**< */,
6589                           const char       *pattern  /**< */)
6590 {
6591     static const xcb_protocol_request_t xcb_req = {
6592         /* count */ 4,
6593         /* ext */ 0,
6594         /* opcode */ XCB_LIST_FONTS,
6595         /* isvoid */ 0
6596     };
6597 
6598     struct iovec xcb_parts[6];
6599     xcb_list_fonts_cookie_t xcb_ret;
6600     xcb_list_fonts_request_t xcb_out;
6601 
6602     xcb_out.pad0 = 0;
6603     xcb_out.max_names = max_names;
6604     xcb_out.pattern_len = pattern_len;
6605 
6606     xcb_parts[2].iov_base = (char *) &xcb_out;
6607     xcb_parts[2].iov_len = sizeof(xcb_out);
6608     xcb_parts[3].iov_base = 0;
6609     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6610     xcb_parts[4].iov_base = (char *) pattern;
6611     xcb_parts[4].iov_len = pattern_len * sizeof(char);
6612     xcb_parts[5].iov_base = 0;
6613     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6614     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
6615     return xcb_ret;
6616 }
6617 
6618 
6619 /*****************************************************************************
6620  **
6621  ** int xcb_list_fonts_names_length
6622  **
6623  ** @param const xcb_list_fonts_reply_t *R
6624  ** @returns int
6625  **
6626  *****************************************************************************/
6627 
6628 int
6629 xcb_list_fonts_names_length (const xcb_list_fonts_reply_t *R  /**< */)
6630 {
6631     return R->names_len;
6632 }
6633 
6634 
6635 /*****************************************************************************
6636  **
6637  ** xcb_str_iterator_t xcb_list_fonts_names_iterator
6638  **
6639  ** @param const xcb_list_fonts_reply_t *R
6640  ** @returns xcb_str_iterator_t
6641  **
6642  *****************************************************************************/
6643 
6644 xcb_str_iterator_t
6645 xcb_list_fonts_names_iterator (const xcb_list_fonts_reply_t *R  /**< */)
6646 {
6647     xcb_str_iterator_t i;
6648     i.data = (xcb_str_t *) (R + 1);
6649     i.rem = R->names_len;
6650     i.index = (char *) i.data - (char *) R;
6651     return i;
6652 }
6653 
6654 
6655 /*****************************************************************************
6656  **
6657  ** xcb_list_fonts_reply_t * xcb_list_fonts_reply
6658  **
6659  ** @param xcb_connection_t         *c
6660  ** @param xcb_list_fonts_cookie_t   cookie
6661  ** @param xcb_generic_error_t     **e
6662  ** @returns xcb_list_fonts_reply_t *
6663  **
6664  *****************************************************************************/
6665 
6666 xcb_list_fonts_reply_t *
6667 xcb_list_fonts_reply (xcb_connection_t         *c  /**< */,
6668                       xcb_list_fonts_cookie_t   cookie  /**< */,
6669                       xcb_generic_error_t     **e  /**< */)
6670 {
6671     return (xcb_list_fonts_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
6672 }
6673 
6674 
6675 /*****************************************************************************
6676  **
6677  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info
6678  **
6679  ** @param xcb_connection_t *c
6680  ** @param uint16_t          max_names
6681  ** @param uint16_t          pattern_len
6682  ** @param const char       *pattern
6683  ** @returns xcb_list_fonts_with_info_cookie_t
6684  **
6685  *****************************************************************************/
6686 
6687 xcb_list_fonts_with_info_cookie_t
6688 xcb_list_fonts_with_info (xcb_connection_t *c  /**< */,
6689                           uint16_t          max_names  /**< */,
6690                           uint16_t          pattern_len  /**< */,
6691                           const char       *pattern  /**< */)
6692 {
6693     static const xcb_protocol_request_t xcb_req = {
6694         /* count */ 4,
6695         /* ext */ 0,
6696         /* opcode */ XCB_LIST_FONTS_WITH_INFO,
6697         /* isvoid */ 0
6698     };
6699 
6700     struct iovec xcb_parts[6];
6701     xcb_list_fonts_with_info_cookie_t xcb_ret;
6702     xcb_list_fonts_with_info_request_t xcb_out;
6703 
6704     xcb_out.pad0 = 0;
6705     xcb_out.max_names = max_names;
6706     xcb_out.pattern_len = pattern_len;
6707 
6708     xcb_parts[2].iov_base = (char *) &xcb_out;
6709     xcb_parts[2].iov_len = sizeof(xcb_out);
6710     xcb_parts[3].iov_base = 0;
6711     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6712     xcb_parts[4].iov_base = (char *) pattern;
6713     xcb_parts[4].iov_len = pattern_len * sizeof(char);
6714     xcb_parts[5].iov_base = 0;
6715     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6716     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
6717     return xcb_ret;
6718 }
6719 
6720 
6721 /*****************************************************************************
6722  **
6723  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info_unchecked
6724  **
6725  ** @param xcb_connection_t *c
6726  ** @param uint16_t          max_names
6727  ** @param uint16_t          pattern_len
6728  ** @param const char       *pattern
6729  ** @returns xcb_list_fonts_with_info_cookie_t
6730  **
6731  *****************************************************************************/
6732 
6733 xcb_list_fonts_with_info_cookie_t
6734 xcb_list_fonts_with_info_unchecked (xcb_connection_t *c  /**< */,
6735                                     uint16_t          max_names  /**< */,
6736                                     uint16_t          pattern_len  /**< */,
6737                                     const char       *pattern  /**< */)
6738 {
6739     static const xcb_protocol_request_t xcb_req = {
6740         /* count */ 4,
6741         /* ext */ 0,
6742         /* opcode */ XCB_LIST_FONTS_WITH_INFO,
6743         /* isvoid */ 0
6744     };
6745 
6746     struct iovec xcb_parts[6];
6747     xcb_list_fonts_with_info_cookie_t xcb_ret;
6748     xcb_list_fonts_with_info_request_t xcb_out;
6749 
6750     xcb_out.pad0 = 0;
6751     xcb_out.max_names = max_names;
6752     xcb_out.pattern_len = pattern_len;
6753 
6754     xcb_parts[2].iov_base = (char *) &xcb_out;
6755     xcb_parts[2].iov_len = sizeof(xcb_out);
6756     xcb_parts[3].iov_base = 0;
6757     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6758     xcb_parts[4].iov_base = (char *) pattern;
6759     xcb_parts[4].iov_len = pattern_len * sizeof(char);
6760     xcb_parts[5].iov_base = 0;
6761     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6762     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
6763     return xcb_ret;
6764 }
6765 
6766 
6767 /*****************************************************************************
6768  **
6769  ** xcb_fontprop_t * xcb_list_fonts_with_info_properties
6770  **
6771  ** @param const xcb_list_fonts_with_info_reply_t *R
6772  ** @returns xcb_fontprop_t *
6773  **
6774  *****************************************************************************/
6775 
6776 xcb_fontprop_t *
6777 xcb_list_fonts_with_info_properties (const xcb_list_fonts_with_info_reply_t *R  /**< */)
6778 {
6779     return (xcb_fontprop_t *) (R + 1);
6780 }
6781 
6782 
6783 /*****************************************************************************
6784  **
6785  ** int xcb_list_fonts_with_info_properties_length
6786  **
6787  ** @param const xcb_list_fonts_with_info_reply_t *R
6788  ** @returns int
6789  **
6790  *****************************************************************************/
6791 
6792 int
6793 xcb_list_fonts_with_info_properties_length (const xcb_list_fonts_with_info_reply_t *R  /**< */)
6794 {
6795     return R->properties_len;
6796 }
6797 
6798 
6799 /*****************************************************************************
6800  **
6801  ** xcb_fontprop_iterator_t xcb_list_fonts_with_info_properties_iterator
6802  **
6803  ** @param const xcb_list_fonts_with_info_reply_t *R
6804  ** @returns xcb_fontprop_iterator_t
6805  **
6806  *****************************************************************************/
6807 
6808 xcb_fontprop_iterator_t
6809 xcb_list_fonts_with_info_properties_iterator (const xcb_list_fonts_with_info_reply_t *R  /**< */)
6810 {
6811     xcb_fontprop_iterator_t i;
6812     i.data = (xcb_fontprop_t *) (R + 1);
6813     i.rem = R->properties_len;
6814     i.index = (char *) i.data - (char *) R;
6815     return i;
6816 }
6817 
6818 
6819 /*****************************************************************************
6820  **
6821  ** char * xcb_list_fonts_with_info_name
6822  **
6823  ** @param const xcb_list_fonts_with_info_reply_t *R
6824  ** @returns char *
6825  **
6826  *****************************************************************************/
6827 
6828 char *
6829 xcb_list_fonts_with_info_name (const xcb_list_fonts_with_info_reply_t *R  /**< */)
6830 {
6831     xcb_generic_iterator_t prev = xcb_fontprop_end(xcb_list_fonts_with_info_properties_iterator(R));
6832     return (char *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
6833 }
6834 
6835 
6836 /*****************************************************************************
6837  **
6838  ** int xcb_list_fonts_with_info_name_length
6839  **
6840  ** @param const xcb_list_fonts_with_info_reply_t *R
6841  ** @returns int
6842  **
6843  *****************************************************************************/
6844 
6845 int
6846 xcb_list_fonts_with_info_name_length (const xcb_list_fonts_with_info_reply_t *R  /**< */)
6847 {
6848     return R->name_len;
6849 }
6850 
6851 
6852 /*****************************************************************************
6853  **
6854  ** xcb_generic_iterator_t xcb_list_fonts_with_info_name_end
6855  **
6856  ** @param const xcb_list_fonts_with_info_reply_t *R
6857  ** @returns xcb_generic_iterator_t
6858  **
6859  *****************************************************************************/
6860 
6861 xcb_generic_iterator_t
6862 xcb_list_fonts_with_info_name_end (const xcb_list_fonts_with_info_reply_t *R  /**< */)
6863 {
6864     xcb_generic_iterator_t i;
6865     xcb_generic_iterator_t child = xcb_fontprop_end(xcb_list_fonts_with_info_properties_iterator(R));
6866     i.data = ((char *) child.data) + (R->name_len);
6867     i.rem = 0;
6868     i.index = (char *) i.data - (char *) R;
6869     return i;
6870 }
6871 
6872 
6873 /*****************************************************************************
6874  **
6875  ** xcb_list_fonts_with_info_reply_t * xcb_list_fonts_with_info_reply
6876  **
6877  ** @param xcb_connection_t                   *c
6878  ** @param xcb_list_fonts_with_info_cookie_t   cookie
6879  ** @param xcb_generic_error_t               **e
6880  ** @returns xcb_list_fonts_with_info_reply_t *
6881  **
6882  *****************************************************************************/
6883 
6884 xcb_list_fonts_with_info_reply_t *
6885 xcb_list_fonts_with_info_reply (xcb_connection_t                   *c  /**< */,
6886                                 xcb_list_fonts_with_info_cookie_t   cookie  /**< */,
6887                                 xcb_generic_error_t               **e  /**< */)
6888 {
6889     return (xcb_list_fonts_with_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
6890 }
6891 
6892 
6893 /*****************************************************************************
6894  **
6895  ** xcb_void_cookie_t xcb_set_font_path_checked
6896  **
6897  ** @param xcb_connection_t *c
6898  ** @param uint16_t          font_qty
6899  ** @param uint32_t          path_len
6900  ** @param const char       *path
6901  ** @returns xcb_void_cookie_t
6902  **
6903  *****************************************************************************/
6904 
6905 xcb_void_cookie_t
6906 xcb_set_font_path_checked (xcb_connection_t *c  /**< */,
6907                            uint16_t          font_qty  /**< */,
6908                            uint32_t          path_len  /**< */,
6909                            const char       *path  /**< */)
6910 {
6911     static const xcb_protocol_request_t xcb_req = {
6912         /* count */ 4,
6913         /* ext */ 0,
6914         /* opcode */ XCB_SET_FONT_PATH,
6915         /* isvoid */ 1
6916     };
6917 
6918     struct iovec xcb_parts[6];
6919     xcb_void_cookie_t xcb_ret;
6920     xcb_set_font_path_request_t xcb_out;
6921 
6922     xcb_out.pad0 = 0;
6923     xcb_out.font_qty = font_qty;
6924 
6925     xcb_parts[2].iov_base = (char *) &xcb_out;
6926     xcb_parts[2].iov_len = sizeof(xcb_out);
6927     xcb_parts[3].iov_base = 0;
6928     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6929     xcb_parts[4].iov_base = (char *) path;
6930     xcb_parts[4].iov_len = path_len * sizeof(char);
6931     xcb_parts[5].iov_base = 0;
6932     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6933     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
6934     return xcb_ret;
6935 }
6936 
6937 
6938 /*****************************************************************************
6939  **
6940  ** xcb_void_cookie_t xcb_set_font_path
6941  **
6942  ** @param xcb_connection_t *c
6943  ** @param uint16_t          font_qty
6944  ** @param uint32_t          path_len
6945  ** @param const char       *path
6946  ** @returns xcb_void_cookie_t
6947  **
6948  *****************************************************************************/
6949 
6950 xcb_void_cookie_t
6951 xcb_set_font_path (xcb_connection_t *c  /**< */,
6952                    uint16_t          font_qty  /**< */,
6953                    uint32_t          path_len  /**< */,
6954                    const char       *path  /**< */)
6955 {
6956     static const xcb_protocol_request_t xcb_req = {
6957         /* count */ 4,
6958         /* ext */ 0,
6959         /* opcode */ XCB_SET_FONT_PATH,
6960         /* isvoid */ 1
6961     };
6962 
6963     struct iovec xcb_parts[6];
6964     xcb_void_cookie_t xcb_ret;
6965     xcb_set_font_path_request_t xcb_out;
6966 
6967     xcb_out.pad0 = 0;
6968     xcb_out.font_qty = font_qty;
6969 
6970     xcb_parts[2].iov_base = (char *) &xcb_out;
6971     xcb_parts[2].iov_len = sizeof(xcb_out);
6972     xcb_parts[3].iov_base = 0;
6973     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
6974     xcb_parts[4].iov_base = (char *) path;
6975     xcb_parts[4].iov_len = path_len * sizeof(char);
6976     xcb_parts[5].iov_base = 0;
6977     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
6978     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
6979     return xcb_ret;
6980 }
6981 
6982 
6983 /*****************************************************************************
6984  **
6985  ** xcb_get_font_path_cookie_t xcb_get_font_path
6986  **
6987  ** @param xcb_connection_t *c
6988  ** @returns xcb_get_font_path_cookie_t
6989  **
6990  *****************************************************************************/
6991 
6992 xcb_get_font_path_cookie_t
6993 xcb_get_font_path (xcb_connection_t *c  /**< */)
6994 {
6995     static const xcb_protocol_request_t xcb_req = {
6996         /* count */ 2,
6997         /* ext */ 0,
6998         /* opcode */ XCB_GET_FONT_PATH,
6999         /* isvoid */ 0
7000     };
7001 
7002     struct iovec xcb_parts[4];
7003     xcb_get_font_path_cookie_t xcb_ret;
7004     xcb_get_font_path_request_t xcb_out;
7005 
7006     xcb_out.pad0 = 0;
7007 
7008     xcb_parts[2].iov_base = (char *) &xcb_out;
7009     xcb_parts[2].iov_len = sizeof(xcb_out);
7010     xcb_parts[3].iov_base = 0;
7011     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7012     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7013     return xcb_ret;
7014 }
7015 
7016 
7017 /*****************************************************************************
7018  **
7019  ** xcb_get_font_path_cookie_t xcb_get_font_path_unchecked
7020  **
7021  ** @param xcb_connection_t *c
7022  ** @returns xcb_get_font_path_cookie_t
7023  **
7024  *****************************************************************************/
7025 
7026 xcb_get_font_path_cookie_t
7027 xcb_get_font_path_unchecked (xcb_connection_t *c  /**< */)
7028 {
7029     static const xcb_protocol_request_t xcb_req = {
7030         /* count */ 2,
7031         /* ext */ 0,
7032         /* opcode */ XCB_GET_FONT_PATH,
7033         /* isvoid */ 0
7034     };
7035 
7036     struct iovec xcb_parts[4];
7037     xcb_get_font_path_cookie_t xcb_ret;
7038     xcb_get_font_path_request_t xcb_out;
7039 
7040     xcb_out.pad0 = 0;
7041 
7042     xcb_parts[2].iov_base = (char *) &xcb_out;
7043     xcb_parts[2].iov_len = sizeof(xcb_out);
7044     xcb_parts[3].iov_base = 0;
7045     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7046     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7047     return xcb_ret;
7048 }
7049 
7050 
7051 /*****************************************************************************
7052  **
7053  ** int xcb_get_font_path_path_length
7054  **
7055  ** @param const xcb_get_font_path_reply_t *R
7056  ** @returns int
7057  **
7058  *****************************************************************************/
7059 
7060 int
7061 xcb_get_font_path_path_length (const xcb_get_font_path_reply_t *R  /**< */)
7062 {
7063     return R->path_len;
7064 }
7065 
7066 
7067 /*****************************************************************************
7068  **
7069  ** xcb_str_iterator_t xcb_get_font_path_path_iterator
7070  **
7071  ** @param const xcb_get_font_path_reply_t *R
7072  ** @returns xcb_str_iterator_t
7073  **
7074  *****************************************************************************/
7075 
7076 xcb_str_iterator_t
7077 xcb_get_font_path_path_iterator (const xcb_get_font_path_reply_t *R  /**< */)
7078 {
7079     xcb_str_iterator_t i;
7080     i.data = (xcb_str_t *) (R + 1);
7081     i.rem = R->path_len;
7082     i.index = (char *) i.data - (char *) R;
7083     return i;
7084 }
7085 
7086 
7087 /*****************************************************************************
7088  **
7089  ** xcb_get_font_path_reply_t * xcb_get_font_path_reply
7090  **
7091  ** @param xcb_connection_t            *c
7092  ** @param xcb_get_font_path_cookie_t   cookie
7093  ** @param xcb_generic_error_t        **e
7094  ** @returns xcb_get_font_path_reply_t *
7095  **
7096  *****************************************************************************/
7097 
7098 xcb_get_font_path_reply_t *
7099 xcb_get_font_path_reply (xcb_connection_t            *c  /**< */,
7100                          xcb_get_font_path_cookie_t   cookie  /**< */,
7101                          xcb_generic_error_t        **e  /**< */)
7102 {
7103     return (xcb_get_font_path_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
7104 }
7105 
7106 
7107 /*****************************************************************************
7108  **
7109  ** xcb_void_cookie_t xcb_create_pixmap_checked
7110  **
7111  ** @param xcb_connection_t *c
7112  ** @param uint8_t           depth
7113  ** @param xcb_pixmap_t      pid
7114  ** @param xcb_drawable_t    drawable
7115  ** @param uint16_t          width
7116  ** @param uint16_t          height
7117  ** @returns xcb_void_cookie_t
7118  **
7119  *****************************************************************************/
7120 
7121 xcb_void_cookie_t
7122 xcb_create_pixmap_checked (xcb_connection_t *c  /**< */,
7123                            uint8_t           depth  /**< */,
7124                            xcb_pixmap_t      pid  /**< */,
7125                            xcb_drawable_t    drawable  /**< */,
7126                            uint16_t          width  /**< */,
7127                            uint16_t          height  /**< */)
7128 {
7129     static const xcb_protocol_request_t xcb_req = {
7130         /* count */ 2,
7131         /* ext */ 0,
7132         /* opcode */ XCB_CREATE_PIXMAP,
7133         /* isvoid */ 1
7134     };
7135 
7136     struct iovec xcb_parts[4];
7137     xcb_void_cookie_t xcb_ret;
7138     xcb_create_pixmap_request_t xcb_out;
7139 
7140     xcb_out.depth = depth;
7141     xcb_out.pid = pid;
7142     xcb_out.drawable = drawable;
7143     xcb_out.width = width;
7144     xcb_out.height = height;
7145 
7146     xcb_parts[2].iov_base = (char *) &xcb_out;
7147     xcb_parts[2].iov_len = sizeof(xcb_out);
7148     xcb_parts[3].iov_base = 0;
7149     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7150     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7151     return xcb_ret;
7152 }
7153 
7154 
7155 /*****************************************************************************
7156  **
7157  ** xcb_void_cookie_t xcb_create_pixmap
7158  **
7159  ** @param xcb_connection_t *c
7160  ** @param uint8_t           depth
7161  ** @param xcb_pixmap_t      pid
7162  ** @param xcb_drawable_t    drawable
7163  ** @param uint16_t          width
7164  ** @param uint16_t          height
7165  ** @returns xcb_void_cookie_t
7166  **
7167  *****************************************************************************/
7168 
7169 xcb_void_cookie_t
7170 xcb_create_pixmap (xcb_connection_t *c  /**< */,
7171                    uint8_t           depth  /**< */,
7172                    xcb_pixmap_t      pid  /**< */,
7173                    xcb_drawable_t    drawable  /**< */,
7174                    uint16_t          width  /**< */,
7175                    uint16_t          height  /**< */)
7176 {
7177     static const xcb_protocol_request_t xcb_req = {
7178         /* count */ 2,
7179         /* ext */ 0,
7180         /* opcode */ XCB_CREATE_PIXMAP,
7181         /* isvoid */ 1
7182     };
7183 
7184     struct iovec xcb_parts[4];
7185     xcb_void_cookie_t xcb_ret;
7186     xcb_create_pixmap_request_t xcb_out;
7187 
7188     xcb_out.depth = depth;
7189     xcb_out.pid = pid;
7190     xcb_out.drawable = drawable;
7191     xcb_out.width = width;
7192     xcb_out.height = height;
7193 
7194     xcb_parts[2].iov_base = (char *) &xcb_out;
7195     xcb_parts[2].iov_len = sizeof(xcb_out);
7196     xcb_parts[3].iov_base = 0;
7197     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7198     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7199     return xcb_ret;
7200 }
7201 
7202 
7203 /*****************************************************************************
7204  **
7205  ** xcb_void_cookie_t xcb_free_pixmap_checked
7206  **
7207  ** @param xcb_connection_t *c
7208  ** @param xcb_pixmap_t      pixmap
7209  ** @returns xcb_void_cookie_t
7210  **
7211  *****************************************************************************/
7212 
7213 xcb_void_cookie_t
7214 xcb_free_pixmap_checked (xcb_connection_t *c  /**< */,
7215                          xcb_pixmap_t      pixmap  /**< */)
7216 {
7217     static const xcb_protocol_request_t xcb_req = {
7218         /* count */ 2,
7219         /* ext */ 0,
7220         /* opcode */ XCB_FREE_PIXMAP,
7221         /* isvoid */ 1
7222     };
7223 
7224     struct iovec xcb_parts[4];
7225     xcb_void_cookie_t xcb_ret;
7226     xcb_free_pixmap_request_t xcb_out;
7227 
7228     xcb_out.pad0 = 0;
7229     xcb_out.pixmap = pixmap;
7230 
7231     xcb_parts[2].iov_base = (char *) &xcb_out;
7232     xcb_parts[2].iov_len = sizeof(xcb_out);
7233     xcb_parts[3].iov_base = 0;
7234     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7235     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7236     return xcb_ret;
7237 }
7238 
7239 
7240 /*****************************************************************************
7241  **
7242  ** xcb_void_cookie_t xcb_free_pixmap
7243  **
7244  ** @param xcb_connection_t *c
7245  ** @param xcb_pixmap_t      pixmap
7246  ** @returns xcb_void_cookie_t
7247  **
7248  *****************************************************************************/
7249 
7250 xcb_void_cookie_t
7251 xcb_free_pixmap (xcb_connection_t *c  /**< */,
7252                  xcb_pixmap_t      pixmap  /**< */)
7253 {
7254     static const xcb_protocol_request_t xcb_req = {
7255         /* count */ 2,
7256         /* ext */ 0,
7257         /* opcode */ XCB_FREE_PIXMAP,
7258         /* isvoid */ 1
7259     };
7260 
7261     struct iovec xcb_parts[4];
7262     xcb_void_cookie_t xcb_ret;
7263     xcb_free_pixmap_request_t xcb_out;
7264 
7265     xcb_out.pad0 = 0;
7266     xcb_out.pixmap = pixmap;
7267 
7268     xcb_parts[2].iov_base = (char *) &xcb_out;
7269     xcb_parts[2].iov_len = sizeof(xcb_out);
7270     xcb_parts[3].iov_base = 0;
7271     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7272     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7273     return xcb_ret;
7274 }
7275 
7276 
7277 /*****************************************************************************
7278  **
7279  ** xcb_void_cookie_t xcb_create_gc_checked
7280  **
7281  ** @param xcb_connection_t *c
7282  ** @param xcb_gcontext_t    cid
7283  ** @param xcb_drawable_t    drawable
7284  ** @param uint32_t          value_mask
7285  ** @param const uint32_t   *value_list
7286  ** @returns xcb_void_cookie_t
7287  **
7288  *****************************************************************************/
7289 
7290 xcb_void_cookie_t
7291 xcb_create_gc_checked (xcb_connection_t *c  /**< */,
7292                        xcb_gcontext_t    cid  /**< */,
7293                        xcb_drawable_t    drawable  /**< */,
7294                        uint32_t          value_mask  /**< */,
7295                        const uint32_t   *value_list  /**< */)
7296 {
7297     static const xcb_protocol_request_t xcb_req = {
7298         /* count */ 4,
7299         /* ext */ 0,
7300         /* opcode */ XCB_CREATE_GC,
7301         /* isvoid */ 1
7302     };
7303 
7304     struct iovec xcb_parts[6];
7305     xcb_void_cookie_t xcb_ret;
7306     xcb_create_gc_request_t xcb_out;
7307 
7308     xcb_out.pad0 = 0;
7309     xcb_out.cid = cid;
7310     xcb_out.drawable = drawable;
7311     xcb_out.value_mask = value_mask;
7312 
7313     xcb_parts[2].iov_base = (char *) &xcb_out;
7314     xcb_parts[2].iov_len = sizeof(xcb_out);
7315     xcb_parts[3].iov_base = 0;
7316     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7317     xcb_parts[4].iov_base = (char *) value_list;
7318     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
7319     xcb_parts[5].iov_base = 0;
7320     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7321     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7322     return xcb_ret;
7323 }
7324 
7325 
7326 /*****************************************************************************
7327  **
7328  ** xcb_void_cookie_t xcb_create_gc
7329  **
7330  ** @param xcb_connection_t *c
7331  ** @param xcb_gcontext_t    cid
7332  ** @param xcb_drawable_t    drawable
7333  ** @param uint32_t          value_mask
7334  ** @param const uint32_t   *value_list
7335  ** @returns xcb_void_cookie_t
7336  **
7337  *****************************************************************************/
7338 
7339 xcb_void_cookie_t
7340 xcb_create_gc (xcb_connection_t *c  /**< */,
7341                xcb_gcontext_t    cid  /**< */,
7342                xcb_drawable_t    drawable  /**< */,
7343                uint32_t          value_mask  /**< */,
7344                const uint32_t   *value_list  /**< */)
7345 {
7346     static const xcb_protocol_request_t xcb_req = {
7347         /* count */ 4,
7348         /* ext */ 0,
7349         /* opcode */ XCB_CREATE_GC,
7350         /* isvoid */ 1
7351     };
7352 
7353     struct iovec xcb_parts[6];
7354     xcb_void_cookie_t xcb_ret;
7355     xcb_create_gc_request_t xcb_out;
7356 
7357     xcb_out.pad0 = 0;
7358     xcb_out.cid = cid;
7359     xcb_out.drawable = drawable;
7360     xcb_out.value_mask = value_mask;
7361 
7362     xcb_parts[2].iov_base = (char *) &xcb_out;
7363     xcb_parts[2].iov_len = sizeof(xcb_out);
7364     xcb_parts[3].iov_base = 0;
7365     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7366     xcb_parts[4].iov_base = (char *) value_list;
7367     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
7368     xcb_parts[5].iov_base = 0;
7369     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7370     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7371     return xcb_ret;
7372 }
7373 
7374 
7375 /*****************************************************************************
7376  **
7377  ** xcb_void_cookie_t xcb_change_gc_checked
7378  **
7379  ** @param xcb_connection_t *c
7380  ** @param xcb_gcontext_t    gc
7381  ** @param uint32_t          value_mask
7382  ** @param const uint32_t   *value_list
7383  ** @returns xcb_void_cookie_t
7384  **
7385  *****************************************************************************/
7386 
7387 xcb_void_cookie_t
7388 xcb_change_gc_checked (xcb_connection_t *c  /**< */,
7389                        xcb_gcontext_t    gc  /**< */,
7390                        uint32_t          value_mask  /**< */,
7391                        const uint32_t   *value_list  /**< */)
7392 {
7393     static const xcb_protocol_request_t xcb_req = {
7394         /* count */ 4,
7395         /* ext */ 0,
7396         /* opcode */ XCB_CHANGE_GC,
7397         /* isvoid */ 1
7398     };
7399 
7400     struct iovec xcb_parts[6];
7401     xcb_void_cookie_t xcb_ret;
7402     xcb_change_gc_request_t xcb_out;
7403 
7404     xcb_out.pad0 = 0;
7405     xcb_out.gc = gc;
7406     xcb_out.value_mask = value_mask;
7407 
7408     xcb_parts[2].iov_base = (char *) &xcb_out;
7409     xcb_parts[2].iov_len = sizeof(xcb_out);
7410     xcb_parts[3].iov_base = 0;
7411     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7412     xcb_parts[4].iov_base = (char *) value_list;
7413     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
7414     xcb_parts[5].iov_base = 0;
7415     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7416     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7417     return xcb_ret;
7418 }
7419 
7420 
7421 /*****************************************************************************
7422  **
7423  ** xcb_void_cookie_t xcb_change_gc
7424  **
7425  ** @param xcb_connection_t *c
7426  ** @param xcb_gcontext_t    gc
7427  ** @param uint32_t          value_mask
7428  ** @param const uint32_t   *value_list
7429  ** @returns xcb_void_cookie_t
7430  **
7431  *****************************************************************************/
7432 
7433 xcb_void_cookie_t
7434 xcb_change_gc (xcb_connection_t *c  /**< */,
7435                xcb_gcontext_t    gc  /**< */,
7436                uint32_t          value_mask  /**< */,
7437                const uint32_t   *value_list  /**< */)
7438 {
7439     static const xcb_protocol_request_t xcb_req = {
7440         /* count */ 4,
7441         /* ext */ 0,
7442         /* opcode */ XCB_CHANGE_GC,
7443         /* isvoid */ 1
7444     };
7445 
7446     struct iovec xcb_parts[6];
7447     xcb_void_cookie_t xcb_ret;
7448     xcb_change_gc_request_t xcb_out;
7449 
7450     xcb_out.pad0 = 0;
7451     xcb_out.gc = gc;
7452     xcb_out.value_mask = value_mask;
7453 
7454     xcb_parts[2].iov_base = (char *) &xcb_out;
7455     xcb_parts[2].iov_len = sizeof(xcb_out);
7456     xcb_parts[3].iov_base = 0;
7457     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7458     xcb_parts[4].iov_base = (char *) value_list;
7459     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
7460     xcb_parts[5].iov_base = 0;
7461     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7462     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7463     return xcb_ret;
7464 }
7465 
7466 
7467 /*****************************************************************************
7468  **
7469  ** xcb_void_cookie_t xcb_copy_gc_checked
7470  **
7471  ** @param xcb_connection_t *c
7472  ** @param xcb_gcontext_t    src_gc
7473  ** @param xcb_gcontext_t    dst_gc
7474  ** @param uint32_t          value_mask
7475  ** @returns xcb_void_cookie_t
7476  **
7477  *****************************************************************************/
7478 
7479 xcb_void_cookie_t
7480 xcb_copy_gc_checked (xcb_connection_t *c  /**< */,
7481                      xcb_gcontext_t    src_gc  /**< */,
7482                      xcb_gcontext_t    dst_gc  /**< */,
7483                      uint32_t          value_mask  /**< */)
7484 {
7485     static const xcb_protocol_request_t xcb_req = {
7486         /* count */ 2,
7487         /* ext */ 0,
7488         /* opcode */ XCB_COPY_GC,
7489         /* isvoid */ 1
7490     };
7491 
7492     struct iovec xcb_parts[4];
7493     xcb_void_cookie_t xcb_ret;
7494     xcb_copy_gc_request_t xcb_out;
7495 
7496     xcb_out.pad0 = 0;
7497     xcb_out.src_gc = src_gc;
7498     xcb_out.dst_gc = dst_gc;
7499     xcb_out.value_mask = value_mask;
7500 
7501     xcb_parts[2].iov_base = (char *) &xcb_out;
7502     xcb_parts[2].iov_len = sizeof(xcb_out);
7503     xcb_parts[3].iov_base = 0;
7504     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7505     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7506     return xcb_ret;
7507 }
7508 
7509 
7510 /*****************************************************************************
7511  **
7512  ** xcb_void_cookie_t xcb_copy_gc
7513  **
7514  ** @param xcb_connection_t *c
7515  ** @param xcb_gcontext_t    src_gc
7516  ** @param xcb_gcontext_t    dst_gc
7517  ** @param uint32_t          value_mask
7518  ** @returns xcb_void_cookie_t
7519  **
7520  *****************************************************************************/
7521 
7522 xcb_void_cookie_t
7523 xcb_copy_gc (xcb_connection_t *c  /**< */,
7524              xcb_gcontext_t    src_gc  /**< */,
7525              xcb_gcontext_t    dst_gc  /**< */,
7526              uint32_t          value_mask  /**< */)
7527 {
7528     static const xcb_protocol_request_t xcb_req = {
7529         /* count */ 2,
7530         /* ext */ 0,
7531         /* opcode */ XCB_COPY_GC,
7532         /* isvoid */ 1
7533     };
7534 
7535     struct iovec xcb_parts[4];
7536     xcb_void_cookie_t xcb_ret;
7537     xcb_copy_gc_request_t xcb_out;
7538 
7539     xcb_out.pad0 = 0;
7540     xcb_out.src_gc = src_gc;
7541     xcb_out.dst_gc = dst_gc;
7542     xcb_out.value_mask = value_mask;
7543 
7544     xcb_parts[2].iov_base = (char *) &xcb_out;
7545     xcb_parts[2].iov_len = sizeof(xcb_out);
7546     xcb_parts[3].iov_base = 0;
7547     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7548     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7549     return xcb_ret;
7550 }
7551 
7552 
7553 /*****************************************************************************
7554  **
7555  ** xcb_void_cookie_t xcb_set_dashes_checked
7556  **
7557  ** @param xcb_connection_t *c
7558  ** @param xcb_gcontext_t    gc
7559  ** @param uint16_t          dash_offset
7560  ** @param uint16_t          dashes_len
7561  ** @param const uint8_t    *dashes
7562  ** @returns xcb_void_cookie_t
7563  **
7564  *****************************************************************************/
7565 
7566 xcb_void_cookie_t
7567 xcb_set_dashes_checked (xcb_connection_t *c  /**< */,
7568                         xcb_gcontext_t    gc  /**< */,
7569                         uint16_t          dash_offset  /**< */,
7570                         uint16_t          dashes_len  /**< */,
7571                         const uint8_t    *dashes  /**< */)
7572 {
7573     static const xcb_protocol_request_t xcb_req = {
7574         /* count */ 4,
7575         /* ext */ 0,
7576         /* opcode */ XCB_SET_DASHES,
7577         /* isvoid */ 1
7578     };
7579 
7580     struct iovec xcb_parts[6];
7581     xcb_void_cookie_t xcb_ret;
7582     xcb_set_dashes_request_t xcb_out;
7583 
7584     xcb_out.pad0 = 0;
7585     xcb_out.gc = gc;
7586     xcb_out.dash_offset = dash_offset;
7587     xcb_out.dashes_len = dashes_len;
7588 
7589     xcb_parts[2].iov_base = (char *) &xcb_out;
7590     xcb_parts[2].iov_len = sizeof(xcb_out);
7591     xcb_parts[3].iov_base = 0;
7592     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7593     xcb_parts[4].iov_base = (char *) dashes;
7594     xcb_parts[4].iov_len = dashes_len * sizeof(uint8_t);
7595     xcb_parts[5].iov_base = 0;
7596     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7597     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7598     return xcb_ret;
7599 }
7600 
7601 
7602 /*****************************************************************************
7603  **
7604  ** xcb_void_cookie_t xcb_set_dashes
7605  **
7606  ** @param xcb_connection_t *c
7607  ** @param xcb_gcontext_t    gc
7608  ** @param uint16_t          dash_offset
7609  ** @param uint16_t          dashes_len
7610  ** @param const uint8_t    *dashes
7611  ** @returns xcb_void_cookie_t
7612  **
7613  *****************************************************************************/
7614 
7615 xcb_void_cookie_t
7616 xcb_set_dashes (xcb_connection_t *c  /**< */,
7617                 xcb_gcontext_t    gc  /**< */,
7618                 uint16_t          dash_offset  /**< */,
7619                 uint16_t          dashes_len  /**< */,
7620                 const uint8_t    *dashes  /**< */)
7621 {
7622     static const xcb_protocol_request_t xcb_req = {
7623         /* count */ 4,
7624         /* ext */ 0,
7625         /* opcode */ XCB_SET_DASHES,
7626         /* isvoid */ 1
7627     };
7628 
7629     struct iovec xcb_parts[6];
7630     xcb_void_cookie_t xcb_ret;
7631     xcb_set_dashes_request_t xcb_out;
7632 
7633     xcb_out.pad0 = 0;
7634     xcb_out.gc = gc;
7635     xcb_out.dash_offset = dash_offset;
7636     xcb_out.dashes_len = dashes_len;
7637 
7638     xcb_parts[2].iov_base = (char *) &xcb_out;
7639     xcb_parts[2].iov_len = sizeof(xcb_out);
7640     xcb_parts[3].iov_base = 0;
7641     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7642     xcb_parts[4].iov_base = (char *) dashes;
7643     xcb_parts[4].iov_len = dashes_len * sizeof(uint8_t);
7644     xcb_parts[5].iov_base = 0;
7645     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7646     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7647     return xcb_ret;
7648 }
7649 
7650 
7651 /*****************************************************************************
7652  **
7653  ** xcb_void_cookie_t xcb_set_clip_rectangles_checked
7654  **
7655  ** @param xcb_connection_t      *c
7656  ** @param uint8_t                ordering
7657  ** @param xcb_gcontext_t         gc
7658  ** @param int16_t                clip_x_origin
7659  ** @param int16_t                clip_y_origin
7660  ** @param uint32_t               rectangles_len
7661  ** @param const xcb_rectangle_t *rectangles
7662  ** @returns xcb_void_cookie_t
7663  **
7664  *****************************************************************************/
7665 
7666 xcb_void_cookie_t
7667 xcb_set_clip_rectangles_checked (xcb_connection_t      *c  /**< */,
7668                                  uint8_t                ordering  /**< */,
7669                                  xcb_gcontext_t         gc  /**< */,
7670                                  int16_t                clip_x_origin  /**< */,
7671                                  int16_t                clip_y_origin  /**< */,
7672                                  uint32_t               rectangles_len  /**< */,
7673                                  const xcb_rectangle_t *rectangles  /**< */)
7674 {
7675     static const xcb_protocol_request_t xcb_req = {
7676         /* count */ 4,
7677         /* ext */ 0,
7678         /* opcode */ XCB_SET_CLIP_RECTANGLES,
7679         /* isvoid */ 1
7680     };
7681 
7682     struct iovec xcb_parts[6];
7683     xcb_void_cookie_t xcb_ret;
7684     xcb_set_clip_rectangles_request_t xcb_out;
7685 
7686     xcb_out.ordering = ordering;
7687     xcb_out.gc = gc;
7688     xcb_out.clip_x_origin = clip_x_origin;
7689     xcb_out.clip_y_origin = clip_y_origin;
7690 
7691     xcb_parts[2].iov_base = (char *) &xcb_out;
7692     xcb_parts[2].iov_len = sizeof(xcb_out);
7693     xcb_parts[3].iov_base = 0;
7694     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7695     xcb_parts[4].iov_base = (char *) rectangles;
7696     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
7697     xcb_parts[5].iov_base = 0;
7698     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7699     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7700     return xcb_ret;
7701 }
7702 
7703 
7704 /*****************************************************************************
7705  **
7706  ** xcb_void_cookie_t xcb_set_clip_rectangles
7707  **
7708  ** @param xcb_connection_t      *c
7709  ** @param uint8_t                ordering
7710  ** @param xcb_gcontext_t         gc
7711  ** @param int16_t                clip_x_origin
7712  ** @param int16_t                clip_y_origin
7713  ** @param uint32_t               rectangles_len
7714  ** @param const xcb_rectangle_t *rectangles
7715  ** @returns xcb_void_cookie_t
7716  **
7717  *****************************************************************************/
7718 
7719 xcb_void_cookie_t
7720 xcb_set_clip_rectangles (xcb_connection_t      *c  /**< */,
7721                          uint8_t                ordering  /**< */,
7722                          xcb_gcontext_t         gc  /**< */,
7723                          int16_t                clip_x_origin  /**< */,
7724                          int16_t                clip_y_origin  /**< */,
7725                          uint32_t               rectangles_len  /**< */,
7726                          const xcb_rectangle_t *rectangles  /**< */)
7727 {
7728     static const xcb_protocol_request_t xcb_req = {
7729         /* count */ 4,
7730         /* ext */ 0,
7731         /* opcode */ XCB_SET_CLIP_RECTANGLES,
7732         /* isvoid */ 1
7733     };
7734 
7735     struct iovec xcb_parts[6];
7736     xcb_void_cookie_t xcb_ret;
7737     xcb_set_clip_rectangles_request_t xcb_out;
7738 
7739     xcb_out.ordering = ordering;
7740     xcb_out.gc = gc;
7741     xcb_out.clip_x_origin = clip_x_origin;
7742     xcb_out.clip_y_origin = clip_y_origin;
7743 
7744     xcb_parts[2].iov_base = (char *) &xcb_out;
7745     xcb_parts[2].iov_len = sizeof(xcb_out);
7746     xcb_parts[3].iov_base = 0;
7747     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7748     xcb_parts[4].iov_base = (char *) rectangles;
7749     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
7750     xcb_parts[5].iov_base = 0;
7751     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
7752     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7753     return xcb_ret;
7754 }
7755 
7756 
7757 /*****************************************************************************
7758  **
7759  ** xcb_void_cookie_t xcb_free_gc_checked
7760  **
7761  ** @param xcb_connection_t *c
7762  ** @param xcb_gcontext_t    gc
7763  ** @returns xcb_void_cookie_t
7764  **
7765  *****************************************************************************/
7766 
7767 xcb_void_cookie_t
7768 xcb_free_gc_checked (xcb_connection_t *c  /**< */,
7769                      xcb_gcontext_t    gc  /**< */)
7770 {
7771     static const xcb_protocol_request_t xcb_req = {
7772         /* count */ 2,
7773         /* ext */ 0,
7774         /* opcode */ XCB_FREE_GC,
7775         /* isvoid */ 1
7776     };
7777 
7778     struct iovec xcb_parts[4];
7779     xcb_void_cookie_t xcb_ret;
7780     xcb_free_gc_request_t xcb_out;
7781 
7782     xcb_out.pad0 = 0;
7783     xcb_out.gc = gc;
7784 
7785     xcb_parts[2].iov_base = (char *) &xcb_out;
7786     xcb_parts[2].iov_len = sizeof(xcb_out);
7787     xcb_parts[3].iov_base = 0;
7788     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7789     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7790     return xcb_ret;
7791 }
7792 
7793 
7794 /*****************************************************************************
7795  **
7796  ** xcb_void_cookie_t xcb_free_gc
7797  **
7798  ** @param xcb_connection_t *c
7799  ** @param xcb_gcontext_t    gc
7800  ** @returns xcb_void_cookie_t
7801  **
7802  *****************************************************************************/
7803 
7804 xcb_void_cookie_t
7805 xcb_free_gc (xcb_connection_t *c  /**< */,
7806              xcb_gcontext_t    gc  /**< */)
7807 {
7808     static const xcb_protocol_request_t xcb_req = {
7809         /* count */ 2,
7810         /* ext */ 0,
7811         /* opcode */ XCB_FREE_GC,
7812         /* isvoid */ 1
7813     };
7814 
7815     struct iovec xcb_parts[4];
7816     xcb_void_cookie_t xcb_ret;
7817     xcb_free_gc_request_t xcb_out;
7818 
7819     xcb_out.pad0 = 0;
7820     xcb_out.gc = gc;
7821 
7822     xcb_parts[2].iov_base = (char *) &xcb_out;
7823     xcb_parts[2].iov_len = sizeof(xcb_out);
7824     xcb_parts[3].iov_base = 0;
7825     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7826     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7827     return xcb_ret;
7828 }
7829 
7830 
7831 /*****************************************************************************
7832  **
7833  ** xcb_void_cookie_t xcb_clear_area_checked
7834  **
7835  ** @param xcb_connection_t *c
7836  ** @param uint8_t           exposures
7837  ** @param xcb_window_t      window
7838  ** @param int16_t           x
7839  ** @param int16_t           y
7840  ** @param uint16_t          width
7841  ** @param uint16_t          height
7842  ** @returns xcb_void_cookie_t
7843  **
7844  *****************************************************************************/
7845 
7846 xcb_void_cookie_t
7847 xcb_clear_area_checked (xcb_connection_t *c  /**< */,
7848                         uint8_t           exposures  /**< */,
7849                         xcb_window_t      window  /**< */,
7850                         int16_t           x  /**< */,
7851                         int16_t           y  /**< */,
7852                         uint16_t          width  /**< */,
7853                         uint16_t          height  /**< */)
7854 {
7855     static const xcb_protocol_request_t xcb_req = {
7856         /* count */ 2,
7857         /* ext */ 0,
7858         /* opcode */ XCB_CLEAR_AREA,
7859         /* isvoid */ 1
7860     };
7861 
7862     struct iovec xcb_parts[4];
7863     xcb_void_cookie_t xcb_ret;
7864     xcb_clear_area_request_t xcb_out;
7865 
7866     xcb_out.exposures = exposures;
7867     xcb_out.window = window;
7868     xcb_out.x = x;
7869     xcb_out.y = y;
7870     xcb_out.width = width;
7871     xcb_out.height = height;
7872 
7873     xcb_parts[2].iov_base = (char *) &xcb_out;
7874     xcb_parts[2].iov_len = sizeof(xcb_out);
7875     xcb_parts[3].iov_base = 0;
7876     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7877     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7878     return xcb_ret;
7879 }
7880 
7881 
7882 /*****************************************************************************
7883  **
7884  ** xcb_void_cookie_t xcb_clear_area
7885  **
7886  ** @param xcb_connection_t *c
7887  ** @param uint8_t           exposures
7888  ** @param xcb_window_t      window
7889  ** @param int16_t           x
7890  ** @param int16_t           y
7891  ** @param uint16_t          width
7892  ** @param uint16_t          height
7893  ** @returns xcb_void_cookie_t
7894  **
7895  *****************************************************************************/
7896 
7897 xcb_void_cookie_t
7898 xcb_clear_area (xcb_connection_t *c  /**< */,
7899                 uint8_t           exposures  /**< */,
7900                 xcb_window_t      window  /**< */,
7901                 int16_t           x  /**< */,
7902                 int16_t           y  /**< */,
7903                 uint16_t          width  /**< */,
7904                 uint16_t          height  /**< */)
7905 {
7906     static const xcb_protocol_request_t xcb_req = {
7907         /* count */ 2,
7908         /* ext */ 0,
7909         /* opcode */ XCB_CLEAR_AREA,
7910         /* isvoid */ 1
7911     };
7912 
7913     struct iovec xcb_parts[4];
7914     xcb_void_cookie_t xcb_ret;
7915     xcb_clear_area_request_t xcb_out;
7916 
7917     xcb_out.exposures = exposures;
7918     xcb_out.window = window;
7919     xcb_out.x = x;
7920     xcb_out.y = y;
7921     xcb_out.width = width;
7922     xcb_out.height = height;
7923 
7924     xcb_parts[2].iov_base = (char *) &xcb_out;
7925     xcb_parts[2].iov_len = sizeof(xcb_out);
7926     xcb_parts[3].iov_base = 0;
7927     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7928     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
7929     return xcb_ret;
7930 }
7931 
7932 
7933 /*****************************************************************************
7934  **
7935  ** xcb_void_cookie_t xcb_copy_area_checked
7936  **
7937  ** @param xcb_connection_t *c
7938  ** @param xcb_drawable_t    src_drawable
7939  ** @param xcb_drawable_t    dst_drawable
7940  ** @param xcb_gcontext_t    gc
7941  ** @param int16_t           src_x
7942  ** @param int16_t           src_y
7943  ** @param int16_t           dst_x
7944  ** @param int16_t           dst_y
7945  ** @param uint16_t          width
7946  ** @param uint16_t          height
7947  ** @returns xcb_void_cookie_t
7948  **
7949  *****************************************************************************/
7950 
7951 xcb_void_cookie_t
7952 xcb_copy_area_checked (xcb_connection_t *c  /**< */,
7953                        xcb_drawable_t    src_drawable  /**< */,
7954                        xcb_drawable_t    dst_drawable  /**< */,
7955                        xcb_gcontext_t    gc  /**< */,
7956                        int16_t           src_x  /**< */,
7957                        int16_t           src_y  /**< */,
7958                        int16_t           dst_x  /**< */,
7959                        int16_t           dst_y  /**< */,
7960                        uint16_t          width  /**< */,
7961                        uint16_t          height  /**< */)
7962 {
7963     static const xcb_protocol_request_t xcb_req = {
7964         /* count */ 2,
7965         /* ext */ 0,
7966         /* opcode */ XCB_COPY_AREA,
7967         /* isvoid */ 1
7968     };
7969 
7970     struct iovec xcb_parts[4];
7971     xcb_void_cookie_t xcb_ret;
7972     xcb_copy_area_request_t xcb_out;
7973 
7974     xcb_out.pad0 = 0;
7975     xcb_out.src_drawable = src_drawable;
7976     xcb_out.dst_drawable = dst_drawable;
7977     xcb_out.gc = gc;
7978     xcb_out.src_x = src_x;
7979     xcb_out.src_y = src_y;
7980     xcb_out.dst_x = dst_x;
7981     xcb_out.dst_y = dst_y;
7982     xcb_out.width = width;
7983     xcb_out.height = height;
7984 
7985     xcb_parts[2].iov_base = (char *) &xcb_out;
7986     xcb_parts[2].iov_len = sizeof(xcb_out);
7987     xcb_parts[3].iov_base = 0;
7988     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
7989     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
7990     return xcb_ret;
7991 }
7992 
7993 
7994 /*****************************************************************************
7995  **
7996  ** xcb_void_cookie_t xcb_copy_area
7997  **
7998  ** @param xcb_connection_t *c
7999  ** @param xcb_drawable_t    src_drawable
8000  ** @param xcb_drawable_t    dst_drawable
8001  ** @param xcb_gcontext_t    gc
8002  ** @param int16_t           src_x
8003  ** @param int16_t           src_y
8004  ** @param int16_t           dst_x
8005  ** @param int16_t           dst_y
8006  ** @param uint16_t          width
8007  ** @param uint16_t          height
8008  ** @returns xcb_void_cookie_t
8009  **
8010  *****************************************************************************/
8011 
8012 xcb_void_cookie_t
8013 xcb_copy_area (xcb_connection_t *c  /**< */,
8014                xcb_drawable_t    src_drawable  /**< */,
8015                xcb_drawable_t    dst_drawable  /**< */,
8016                xcb_gcontext_t    gc  /**< */,
8017                int16_t           src_x  /**< */,
8018                int16_t           src_y  /**< */,
8019                int16_t           dst_x  /**< */,
8020                int16_t           dst_y  /**< */,
8021                uint16_t          width  /**< */,
8022                uint16_t          height  /**< */)
8023 {
8024     static const xcb_protocol_request_t xcb_req = {
8025         /* count */ 2,
8026         /* ext */ 0,
8027         /* opcode */ XCB_COPY_AREA,
8028         /* isvoid */ 1
8029     };
8030 
8031     struct iovec xcb_parts[4];
8032     xcb_void_cookie_t xcb_ret;
8033     xcb_copy_area_request_t xcb_out;
8034 
8035     xcb_out.pad0 = 0;
8036     xcb_out.src_drawable = src_drawable;
8037     xcb_out.dst_drawable = dst_drawable;
8038     xcb_out.gc = gc;
8039     xcb_out.src_x = src_x;
8040     xcb_out.src_y = src_y;
8041     xcb_out.dst_x = dst_x;
8042     xcb_out.dst_y = dst_y;
8043     xcb_out.width = width;
8044     xcb_out.height = height;
8045 
8046     xcb_parts[2].iov_base = (char *) &xcb_out;
8047     xcb_parts[2].iov_len = sizeof(xcb_out);
8048     xcb_parts[3].iov_base = 0;
8049     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8050     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8051     return xcb_ret;
8052 }
8053 
8054 
8055 /*****************************************************************************
8056  **
8057  ** xcb_void_cookie_t xcb_copy_plane_checked
8058  **
8059  ** @param xcb_connection_t *c
8060  ** @param xcb_drawable_t    src_drawable
8061  ** @param xcb_drawable_t    dst_drawable
8062  ** @param xcb_gcontext_t    gc
8063  ** @param int16_t           src_x
8064  ** @param int16_t           src_y
8065  ** @param int16_t           dst_x
8066  ** @param int16_t           dst_y
8067  ** @param uint16_t          width
8068  ** @param uint16_t          height
8069  ** @param uint32_t          bit_plane
8070  ** @returns xcb_void_cookie_t
8071  **
8072  *****************************************************************************/
8073 
8074 xcb_void_cookie_t
8075 xcb_copy_plane_checked (xcb_connection_t *c  /**< */,
8076                         xcb_drawable_t    src_drawable  /**< */,
8077                         xcb_drawable_t    dst_drawable  /**< */,
8078                         xcb_gcontext_t    gc  /**< */,
8079                         int16_t           src_x  /**< */,
8080                         int16_t           src_y  /**< */,
8081                         int16_t           dst_x  /**< */,
8082                         int16_t           dst_y  /**< */,
8083                         uint16_t          width  /**< */,
8084                         uint16_t          height  /**< */,
8085                         uint32_t          bit_plane  /**< */)
8086 {
8087     static const xcb_protocol_request_t xcb_req = {
8088         /* count */ 2,
8089         /* ext */ 0,
8090         /* opcode */ XCB_COPY_PLANE,
8091         /* isvoid */ 1
8092     };
8093 
8094     struct iovec xcb_parts[4];
8095     xcb_void_cookie_t xcb_ret;
8096     xcb_copy_plane_request_t xcb_out;
8097 
8098     xcb_out.pad0 = 0;
8099     xcb_out.src_drawable = src_drawable;
8100     xcb_out.dst_drawable = dst_drawable;
8101     xcb_out.gc = gc;
8102     xcb_out.src_x = src_x;
8103     xcb_out.src_y = src_y;
8104     xcb_out.dst_x = dst_x;
8105     xcb_out.dst_y = dst_y;
8106     xcb_out.width = width;
8107     xcb_out.height = height;
8108     xcb_out.bit_plane = bit_plane;
8109 
8110     xcb_parts[2].iov_base = (char *) &xcb_out;
8111     xcb_parts[2].iov_len = sizeof(xcb_out);
8112     xcb_parts[3].iov_base = 0;
8113     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8114     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8115     return xcb_ret;
8116 }
8117 
8118 
8119 /*****************************************************************************
8120  **
8121  ** xcb_void_cookie_t xcb_copy_plane
8122  **
8123  ** @param xcb_connection_t *c
8124  ** @param xcb_drawable_t    src_drawable
8125  ** @param xcb_drawable_t    dst_drawable
8126  ** @param xcb_gcontext_t    gc
8127  ** @param int16_t           src_x
8128  ** @param int16_t           src_y
8129  ** @param int16_t           dst_x
8130  ** @param int16_t           dst_y
8131  ** @param uint16_t          width
8132  ** @param uint16_t          height
8133  ** @param uint32_t          bit_plane
8134  ** @returns xcb_void_cookie_t
8135  **
8136  *****************************************************************************/
8137 
8138 xcb_void_cookie_t
8139 xcb_copy_plane (xcb_connection_t *c  /**< */,
8140                 xcb_drawable_t    src_drawable  /**< */,
8141                 xcb_drawable_t    dst_drawable  /**< */,
8142                 xcb_gcontext_t    gc  /**< */,
8143                 int16_t           src_x  /**< */,
8144                 int16_t           src_y  /**< */,
8145                 int16_t           dst_x  /**< */,
8146                 int16_t           dst_y  /**< */,
8147                 uint16_t          width  /**< */,
8148                 uint16_t          height  /**< */,
8149                 uint32_t          bit_plane  /**< */)
8150 {
8151     static const xcb_protocol_request_t xcb_req = {
8152         /* count */ 2,
8153         /* ext */ 0,
8154         /* opcode */ XCB_COPY_PLANE,
8155         /* isvoid */ 1
8156     };
8157 
8158     struct iovec xcb_parts[4];
8159     xcb_void_cookie_t xcb_ret;
8160     xcb_copy_plane_request_t xcb_out;
8161 
8162     xcb_out.pad0 = 0;
8163     xcb_out.src_drawable = src_drawable;
8164     xcb_out.dst_drawable = dst_drawable;
8165     xcb_out.gc = gc;
8166     xcb_out.src_x = src_x;
8167     xcb_out.src_y = src_y;
8168     xcb_out.dst_x = dst_x;
8169     xcb_out.dst_y = dst_y;
8170     xcb_out.width = width;
8171     xcb_out.height = height;
8172     xcb_out.bit_plane = bit_plane;
8173 
8174     xcb_parts[2].iov_base = (char *) &xcb_out;
8175     xcb_parts[2].iov_len = sizeof(xcb_out);
8176     xcb_parts[3].iov_base = 0;
8177     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8178     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8179     return xcb_ret;
8180 }
8181 
8182 
8183 /*****************************************************************************
8184  **
8185  ** xcb_void_cookie_t xcb_poly_point_checked
8186  **
8187  ** @param xcb_connection_t  *c
8188  ** @param uint8_t            coordinate_mode
8189  ** @param xcb_drawable_t     drawable
8190  ** @param xcb_gcontext_t     gc
8191  ** @param uint32_t           points_len
8192  ** @param const xcb_point_t *points
8193  ** @returns xcb_void_cookie_t
8194  **
8195  *****************************************************************************/
8196 
8197 xcb_void_cookie_t
8198 xcb_poly_point_checked (xcb_connection_t  *c  /**< */,
8199                         uint8_t            coordinate_mode  /**< */,
8200                         xcb_drawable_t     drawable  /**< */,
8201                         xcb_gcontext_t     gc  /**< */,
8202                         uint32_t           points_len  /**< */,
8203                         const xcb_point_t *points  /**< */)
8204 {
8205     static const xcb_protocol_request_t xcb_req = {
8206         /* count */ 4,
8207         /* ext */ 0,
8208         /* opcode */ XCB_POLY_POINT,
8209         /* isvoid */ 1
8210     };
8211 
8212     struct iovec xcb_parts[6];
8213     xcb_void_cookie_t xcb_ret;
8214     xcb_poly_point_request_t xcb_out;
8215 
8216     xcb_out.coordinate_mode = coordinate_mode;
8217     xcb_out.drawable = drawable;
8218     xcb_out.gc = gc;
8219 
8220     xcb_parts[2].iov_base = (char *) &xcb_out;
8221     xcb_parts[2].iov_len = sizeof(xcb_out);
8222     xcb_parts[3].iov_base = 0;
8223     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8224     xcb_parts[4].iov_base = (char *) points;
8225     xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
8226     xcb_parts[5].iov_base = 0;
8227     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8228     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8229     return xcb_ret;
8230 }
8231 
8232 
8233 /*****************************************************************************
8234  **
8235  ** xcb_void_cookie_t xcb_poly_point
8236  **
8237  ** @param xcb_connection_t  *c
8238  ** @param uint8_t            coordinate_mode
8239  ** @param xcb_drawable_t     drawable
8240  ** @param xcb_gcontext_t     gc
8241  ** @param uint32_t           points_len
8242  ** @param const xcb_point_t *points
8243  ** @returns xcb_void_cookie_t
8244  **
8245  *****************************************************************************/
8246 
8247 xcb_void_cookie_t
8248 xcb_poly_point (xcb_connection_t  *c  /**< */,
8249                 uint8_t            coordinate_mode  /**< */,
8250                 xcb_drawable_t     drawable  /**< */,
8251                 xcb_gcontext_t     gc  /**< */,
8252                 uint32_t           points_len  /**< */,
8253                 const xcb_point_t *points  /**< */)
8254 {
8255     static const xcb_protocol_request_t xcb_req = {
8256         /* count */ 4,
8257         /* ext */ 0,
8258         /* opcode */ XCB_POLY_POINT,
8259         /* isvoid */ 1
8260     };
8261 
8262     struct iovec xcb_parts[6];
8263     xcb_void_cookie_t xcb_ret;
8264     xcb_poly_point_request_t xcb_out;
8265 
8266     xcb_out.coordinate_mode = coordinate_mode;
8267     xcb_out.drawable = drawable;
8268     xcb_out.gc = gc;
8269 
8270     xcb_parts[2].iov_base = (char *) &xcb_out;
8271     xcb_parts[2].iov_len = sizeof(xcb_out);
8272     xcb_parts[3].iov_base = 0;
8273     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8274     xcb_parts[4].iov_base = (char *) points;
8275     xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
8276     xcb_parts[5].iov_base = 0;
8277     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8278     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8279     return xcb_ret;
8280 }
8281 
8282 
8283 /*****************************************************************************
8284  **
8285  ** xcb_void_cookie_t xcb_poly_line_checked
8286  **
8287  ** @param xcb_connection_t  *c
8288  ** @param uint8_t            coordinate_mode
8289  ** @param xcb_drawable_t     drawable
8290  ** @param xcb_gcontext_t     gc
8291  ** @param uint32_t           points_len
8292  ** @param const xcb_point_t *points
8293  ** @returns xcb_void_cookie_t
8294  **
8295  *****************************************************************************/
8296 
8297 xcb_void_cookie_t
8298 xcb_poly_line_checked (xcb_connection_t  *c  /**< */,
8299                        uint8_t            coordinate_mode  /**< */,
8300                        xcb_drawable_t     drawable  /**< */,
8301                        xcb_gcontext_t     gc  /**< */,
8302                        uint32_t           points_len  /**< */,
8303                        const xcb_point_t *points  /**< */)
8304 {
8305     static const xcb_protocol_request_t xcb_req = {
8306         /* count */ 4,
8307         /* ext */ 0,
8308         /* opcode */ XCB_POLY_LINE,
8309         /* isvoid */ 1
8310     };
8311 
8312     struct iovec xcb_parts[6];
8313     xcb_void_cookie_t xcb_ret;
8314     xcb_poly_line_request_t xcb_out;
8315 
8316     xcb_out.coordinate_mode = coordinate_mode;
8317     xcb_out.drawable = drawable;
8318     xcb_out.gc = gc;
8319 
8320     xcb_parts[2].iov_base = (char *) &xcb_out;
8321     xcb_parts[2].iov_len = sizeof(xcb_out);
8322     xcb_parts[3].iov_base = 0;
8323     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8324     xcb_parts[4].iov_base = (char *) points;
8325     xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
8326     xcb_parts[5].iov_base = 0;
8327     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8328     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8329     return xcb_ret;
8330 }
8331 
8332 
8333 /*****************************************************************************
8334  **
8335  ** xcb_void_cookie_t xcb_poly_line
8336  **
8337  ** @param xcb_connection_t  *c
8338  ** @param uint8_t            coordinate_mode
8339  ** @param xcb_drawable_t     drawable
8340  ** @param xcb_gcontext_t     gc
8341  ** @param uint32_t           points_len
8342  ** @param const xcb_point_t *points
8343  ** @returns xcb_void_cookie_t
8344  **
8345  *****************************************************************************/
8346 
8347 xcb_void_cookie_t
8348 xcb_poly_line (xcb_connection_t  *c  /**< */,
8349                uint8_t            coordinate_mode  /**< */,
8350                xcb_drawable_t     drawable  /**< */,
8351                xcb_gcontext_t     gc  /**< */,
8352                uint32_t           points_len  /**< */,
8353                const xcb_point_t *points  /**< */)
8354 {
8355     static const xcb_protocol_request_t xcb_req = {
8356         /* count */ 4,
8357         /* ext */ 0,
8358         /* opcode */ XCB_POLY_LINE,
8359         /* isvoid */ 1
8360     };
8361 
8362     struct iovec xcb_parts[6];
8363     xcb_void_cookie_t xcb_ret;
8364     xcb_poly_line_request_t xcb_out;
8365 
8366     xcb_out.coordinate_mode = coordinate_mode;
8367     xcb_out.drawable = drawable;
8368     xcb_out.gc = gc;
8369 
8370     xcb_parts[2].iov_base = (char *) &xcb_out;
8371     xcb_parts[2].iov_len = sizeof(xcb_out);
8372     xcb_parts[3].iov_base = 0;
8373     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8374     xcb_parts[4].iov_base = (char *) points;
8375     xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
8376     xcb_parts[5].iov_base = 0;
8377     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8378     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8379     return xcb_ret;
8380 }
8381 
8382 
8383 /*****************************************************************************
8384  **
8385  ** void xcb_segment_next
8386  **
8387  ** @param xcb_segment_iterator_t *i
8388  ** @returns void
8389  **
8390  *****************************************************************************/
8391 
8392 void
8393 xcb_segment_next (xcb_segment_iterator_t *i  /**< */)
8394 {
8395     --i->rem;
8396     ++i->data;
8397     i->index += sizeof(xcb_segment_t);
8398 }
8399 
8400 
8401 /*****************************************************************************
8402  **
8403  ** xcb_generic_iterator_t xcb_segment_end
8404  **
8405  ** @param xcb_segment_iterator_t i
8406  ** @returns xcb_generic_iterator_t
8407  **
8408  *****************************************************************************/
8409 
8410 xcb_generic_iterator_t
8411 xcb_segment_end (xcb_segment_iterator_t i  /**< */)
8412 {
8413     xcb_generic_iterator_t ret;
8414     ret.data = i.data + i.rem;
8415     ret.index = i.index + ((char *) ret.data - (char *) i.data);
8416     ret.rem = 0;
8417     return ret;
8418 }
8419 
8420 
8421 /*****************************************************************************
8422  **
8423  ** xcb_void_cookie_t xcb_poly_segment_checked
8424  **
8425  ** @param xcb_connection_t    *c
8426  ** @param xcb_drawable_t       drawable
8427  ** @param xcb_gcontext_t       gc
8428  ** @param uint32_t             segments_len
8429  ** @param const xcb_segment_t *segments
8430  ** @returns xcb_void_cookie_t
8431  **
8432  *****************************************************************************/
8433 
8434 xcb_void_cookie_t
8435 xcb_poly_segment_checked (xcb_connection_t    *c  /**< */,
8436                           xcb_drawable_t       drawable  /**< */,
8437                           xcb_gcontext_t       gc  /**< */,
8438                           uint32_t             segments_len  /**< */,
8439                           const xcb_segment_t *segments  /**< */)
8440 {
8441     static const xcb_protocol_request_t xcb_req = {
8442         /* count */ 4,
8443         /* ext */ 0,
8444         /* opcode */ XCB_POLY_SEGMENT,
8445         /* isvoid */ 1
8446     };
8447 
8448     struct iovec xcb_parts[6];
8449     xcb_void_cookie_t xcb_ret;
8450     xcb_poly_segment_request_t xcb_out;
8451 
8452     xcb_out.pad0 = 0;
8453     xcb_out.drawable = drawable;
8454     xcb_out.gc = gc;
8455 
8456     xcb_parts[2].iov_base = (char *) &xcb_out;
8457     xcb_parts[2].iov_len = sizeof(xcb_out);
8458     xcb_parts[3].iov_base = 0;
8459     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8460     xcb_parts[4].iov_base = (char *) segments;
8461     xcb_parts[4].iov_len = segments_len * sizeof(xcb_segment_t);
8462     xcb_parts[5].iov_base = 0;
8463     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8464     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8465     return xcb_ret;
8466 }
8467 
8468 
8469 /*****************************************************************************
8470  **
8471  ** xcb_void_cookie_t xcb_poly_segment
8472  **
8473  ** @param xcb_connection_t    *c
8474  ** @param xcb_drawable_t       drawable
8475  ** @param xcb_gcontext_t       gc
8476  ** @param uint32_t             segments_len
8477  ** @param const xcb_segment_t *segments
8478  ** @returns xcb_void_cookie_t
8479  **
8480  *****************************************************************************/
8481 
8482 xcb_void_cookie_t
8483 xcb_poly_segment (xcb_connection_t    *c  /**< */,
8484                   xcb_drawable_t       drawable  /**< */,
8485                   xcb_gcontext_t       gc  /**< */,
8486                   uint32_t             segments_len  /**< */,
8487                   const xcb_segment_t *segments  /**< */)
8488 {
8489     static const xcb_protocol_request_t xcb_req = {
8490         /* count */ 4,
8491         /* ext */ 0,
8492         /* opcode */ XCB_POLY_SEGMENT,
8493         /* isvoid */ 1
8494     };
8495 
8496     struct iovec xcb_parts[6];
8497     xcb_void_cookie_t xcb_ret;
8498     xcb_poly_segment_request_t xcb_out;
8499 
8500     xcb_out.pad0 = 0;
8501     xcb_out.drawable = drawable;
8502     xcb_out.gc = gc;
8503 
8504     xcb_parts[2].iov_base = (char *) &xcb_out;
8505     xcb_parts[2].iov_len = sizeof(xcb_out);
8506     xcb_parts[3].iov_base = 0;
8507     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8508     xcb_parts[4].iov_base = (char *) segments;
8509     xcb_parts[4].iov_len = segments_len * sizeof(xcb_segment_t);
8510     xcb_parts[5].iov_base = 0;
8511     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8512     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8513     return xcb_ret;
8514 }
8515 
8516 
8517 /*****************************************************************************
8518  **
8519  ** xcb_void_cookie_t xcb_poly_rectangle_checked
8520  **
8521  ** @param xcb_connection_t      *c
8522  ** @param xcb_drawable_t         drawable
8523  ** @param xcb_gcontext_t         gc
8524  ** @param uint32_t               rectangles_len
8525  ** @param const xcb_rectangle_t *rectangles
8526  ** @returns xcb_void_cookie_t
8527  **
8528  *****************************************************************************/
8529 
8530 xcb_void_cookie_t
8531 xcb_poly_rectangle_checked (xcb_connection_t      *c  /**< */,
8532                             xcb_drawable_t         drawable  /**< */,
8533                             xcb_gcontext_t         gc  /**< */,
8534                             uint32_t               rectangles_len  /**< */,
8535                             const xcb_rectangle_t *rectangles  /**< */)
8536 {
8537     static const xcb_protocol_request_t xcb_req = {
8538         /* count */ 4,
8539         /* ext */ 0,
8540         /* opcode */ XCB_POLY_RECTANGLE,
8541         /* isvoid */ 1
8542     };
8543 
8544     struct iovec xcb_parts[6];
8545     xcb_void_cookie_t xcb_ret;
8546     xcb_poly_rectangle_request_t xcb_out;
8547 
8548     xcb_out.pad0 = 0;
8549     xcb_out.drawable = drawable;
8550     xcb_out.gc = gc;
8551 
8552     xcb_parts[2].iov_base = (char *) &xcb_out;
8553     xcb_parts[2].iov_len = sizeof(xcb_out);
8554     xcb_parts[3].iov_base = 0;
8555     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8556     xcb_parts[4].iov_base = (char *) rectangles;
8557     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
8558     xcb_parts[5].iov_base = 0;
8559     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8560     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8561     return xcb_ret;
8562 }
8563 
8564 
8565 /*****************************************************************************
8566  **
8567  ** xcb_void_cookie_t xcb_poly_rectangle
8568  **
8569  ** @param xcb_connection_t      *c
8570  ** @param xcb_drawable_t         drawable
8571  ** @param xcb_gcontext_t         gc
8572  ** @param uint32_t               rectangles_len
8573  ** @param const xcb_rectangle_t *rectangles
8574  ** @returns xcb_void_cookie_t
8575  **
8576  *****************************************************************************/
8577 
8578 xcb_void_cookie_t
8579 xcb_poly_rectangle (xcb_connection_t      *c  /**< */,
8580                     xcb_drawable_t         drawable  /**< */,
8581                     xcb_gcontext_t         gc  /**< */,
8582                     uint32_t               rectangles_len  /**< */,
8583                     const xcb_rectangle_t *rectangles  /**< */)
8584 {
8585     static const xcb_protocol_request_t xcb_req = {
8586         /* count */ 4,
8587         /* ext */ 0,
8588         /* opcode */ XCB_POLY_RECTANGLE,
8589         /* isvoid */ 1
8590     };
8591 
8592     struct iovec xcb_parts[6];
8593     xcb_void_cookie_t xcb_ret;
8594     xcb_poly_rectangle_request_t xcb_out;
8595 
8596     xcb_out.pad0 = 0;
8597     xcb_out.drawable = drawable;
8598     xcb_out.gc = gc;
8599 
8600     xcb_parts[2].iov_base = (char *) &xcb_out;
8601     xcb_parts[2].iov_len = sizeof(xcb_out);
8602     xcb_parts[3].iov_base = 0;
8603     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8604     xcb_parts[4].iov_base = (char *) rectangles;
8605     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
8606     xcb_parts[5].iov_base = 0;
8607     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8608     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8609     return xcb_ret;
8610 }
8611 
8612 
8613 /*****************************************************************************
8614  **
8615  ** xcb_void_cookie_t xcb_poly_arc_checked
8616  **
8617  ** @param xcb_connection_t *c
8618  ** @param xcb_drawable_t    drawable
8619  ** @param xcb_gcontext_t    gc
8620  ** @param uint32_t          arcs_len
8621  ** @param const xcb_arc_t  *arcs
8622  ** @returns xcb_void_cookie_t
8623  **
8624  *****************************************************************************/
8625 
8626 xcb_void_cookie_t
8627 xcb_poly_arc_checked (xcb_connection_t *c  /**< */,
8628                       xcb_drawable_t    drawable  /**< */,
8629                       xcb_gcontext_t    gc  /**< */,
8630                       uint32_t          arcs_len  /**< */,
8631                       const xcb_arc_t  *arcs  /**< */)
8632 {
8633     static const xcb_protocol_request_t xcb_req = {
8634         /* count */ 4,
8635         /* ext */ 0,
8636         /* opcode */ XCB_POLY_ARC,
8637         /* isvoid */ 1
8638     };
8639 
8640     struct iovec xcb_parts[6];
8641     xcb_void_cookie_t xcb_ret;
8642     xcb_poly_arc_request_t xcb_out;
8643 
8644     xcb_out.pad0 = 0;
8645     xcb_out.drawable = drawable;
8646     xcb_out.gc = gc;
8647 
8648     xcb_parts[2].iov_base = (char *) &xcb_out;
8649     xcb_parts[2].iov_len = sizeof(xcb_out);
8650     xcb_parts[3].iov_base = 0;
8651     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8652     xcb_parts[4].iov_base = (char *) arcs;
8653     xcb_parts[4].iov_len = arcs_len * sizeof(xcb_arc_t);
8654     xcb_parts[5].iov_base = 0;
8655     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8656     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8657     return xcb_ret;
8658 }
8659 
8660 
8661 /*****************************************************************************
8662  **
8663  ** xcb_void_cookie_t xcb_poly_arc
8664  **
8665  ** @param xcb_connection_t *c
8666  ** @param xcb_drawable_t    drawable
8667  ** @param xcb_gcontext_t    gc
8668  ** @param uint32_t          arcs_len
8669  ** @param const xcb_arc_t  *arcs
8670  ** @returns xcb_void_cookie_t
8671  **
8672  *****************************************************************************/
8673 
8674 xcb_void_cookie_t
8675 xcb_poly_arc (xcb_connection_t *c  /**< */,
8676               xcb_drawable_t    drawable  /**< */,
8677               xcb_gcontext_t    gc  /**< */,
8678               uint32_t          arcs_len  /**< */,
8679               const xcb_arc_t  *arcs  /**< */)
8680 {
8681     static const xcb_protocol_request_t xcb_req = {
8682         /* count */ 4,
8683         /* ext */ 0,
8684         /* opcode */ XCB_POLY_ARC,
8685         /* isvoid */ 1
8686     };
8687 
8688     struct iovec xcb_parts[6];
8689     xcb_void_cookie_t xcb_ret;
8690     xcb_poly_arc_request_t xcb_out;
8691 
8692     xcb_out.pad0 = 0;
8693     xcb_out.drawable = drawable;
8694     xcb_out.gc = gc;
8695 
8696     xcb_parts[2].iov_base = (char *) &xcb_out;
8697     xcb_parts[2].iov_len = sizeof(xcb_out);
8698     xcb_parts[3].iov_base = 0;
8699     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8700     xcb_parts[4].iov_base = (char *) arcs;
8701     xcb_parts[4].iov_len = arcs_len * sizeof(xcb_arc_t);
8702     xcb_parts[5].iov_base = 0;
8703     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8704     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8705     return xcb_ret;
8706 }
8707 
8708 
8709 /*****************************************************************************
8710  **
8711  ** xcb_void_cookie_t xcb_fill_poly_checked
8712  **
8713  ** @param xcb_connection_t  *c
8714  ** @param xcb_drawable_t     drawable
8715  ** @param xcb_gcontext_t     gc
8716  ** @param uint8_t            shape
8717  ** @param uint8_t            coordinate_mode
8718  ** @param uint32_t           points_len
8719  ** @param const xcb_point_t *points
8720  ** @returns xcb_void_cookie_t
8721  **
8722  *****************************************************************************/
8723 
8724 xcb_void_cookie_t
8725 xcb_fill_poly_checked (xcb_connection_t  *c  /**< */,
8726                        xcb_drawable_t     drawable  /**< */,
8727                        xcb_gcontext_t     gc  /**< */,
8728                        uint8_t            shape  /**< */,
8729                        uint8_t            coordinate_mode  /**< */,
8730                        uint32_t           points_len  /**< */,
8731                        const xcb_point_t *points  /**< */)
8732 {
8733     static const xcb_protocol_request_t xcb_req = {
8734         /* count */ 4,
8735         /* ext */ 0,
8736         /* opcode */ XCB_FILL_POLY,
8737         /* isvoid */ 1
8738     };
8739 
8740     struct iovec xcb_parts[6];
8741     xcb_void_cookie_t xcb_ret;
8742     xcb_fill_poly_request_t xcb_out;
8743 
8744     xcb_out.pad0 = 0;
8745     xcb_out.drawable = drawable;
8746     xcb_out.gc = gc;
8747     xcb_out.shape = shape;
8748     xcb_out.coordinate_mode = coordinate_mode;
8749     memset(xcb_out.pad1, 0, 2);
8750 
8751     xcb_parts[2].iov_base = (char *) &xcb_out;
8752     xcb_parts[2].iov_len = sizeof(xcb_out);
8753     xcb_parts[3].iov_base = 0;
8754     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8755     xcb_parts[4].iov_base = (char *) points;
8756     xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
8757     xcb_parts[5].iov_base = 0;
8758     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8759     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8760     return xcb_ret;
8761 }
8762 
8763 
8764 /*****************************************************************************
8765  **
8766  ** xcb_void_cookie_t xcb_fill_poly
8767  **
8768  ** @param xcb_connection_t  *c
8769  ** @param xcb_drawable_t     drawable
8770  ** @param xcb_gcontext_t     gc
8771  ** @param uint8_t            shape
8772  ** @param uint8_t            coordinate_mode
8773  ** @param uint32_t           points_len
8774  ** @param const xcb_point_t *points
8775  ** @returns xcb_void_cookie_t
8776  **
8777  *****************************************************************************/
8778 
8779 xcb_void_cookie_t
8780 xcb_fill_poly (xcb_connection_t  *c  /**< */,
8781                xcb_drawable_t     drawable  /**< */,
8782                xcb_gcontext_t     gc  /**< */,
8783                uint8_t            shape  /**< */,
8784                uint8_t            coordinate_mode  /**< */,
8785                uint32_t           points_len  /**< */,
8786                const xcb_point_t *points  /**< */)
8787 {
8788     static const xcb_protocol_request_t xcb_req = {
8789         /* count */ 4,
8790         /* ext */ 0,
8791         /* opcode */ XCB_FILL_POLY,
8792         /* isvoid */ 1
8793     };
8794 
8795     struct iovec xcb_parts[6];
8796     xcb_void_cookie_t xcb_ret;
8797     xcb_fill_poly_request_t xcb_out;
8798 
8799     xcb_out.pad0 = 0;
8800     xcb_out.drawable = drawable;
8801     xcb_out.gc = gc;
8802     xcb_out.shape = shape;
8803     xcb_out.coordinate_mode = coordinate_mode;
8804     memset(xcb_out.pad1, 0, 2);
8805 
8806     xcb_parts[2].iov_base = (char *) &xcb_out;
8807     xcb_parts[2].iov_len = sizeof(xcb_out);
8808     xcb_parts[3].iov_base = 0;
8809     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8810     xcb_parts[4].iov_base = (char *) points;
8811     xcb_parts[4].iov_len = points_len * sizeof(xcb_point_t);
8812     xcb_parts[5].iov_base = 0;
8813     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8814     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8815     return xcb_ret;
8816 }
8817 
8818 
8819 /*****************************************************************************
8820  **
8821  ** xcb_void_cookie_t xcb_poly_fill_rectangle_checked
8822  **
8823  ** @param xcb_connection_t      *c
8824  ** @param xcb_drawable_t         drawable
8825  ** @param xcb_gcontext_t         gc
8826  ** @param uint32_t               rectangles_len
8827  ** @param const xcb_rectangle_t *rectangles
8828  ** @returns xcb_void_cookie_t
8829  **
8830  *****************************************************************************/
8831 
8832 xcb_void_cookie_t
8833 xcb_poly_fill_rectangle_checked (xcb_connection_t      *c  /**< */,
8834                                  xcb_drawable_t         drawable  /**< */,
8835                                  xcb_gcontext_t         gc  /**< */,
8836                                  uint32_t               rectangles_len  /**< */,
8837                                  const xcb_rectangle_t *rectangles  /**< */)
8838 {
8839     static const xcb_protocol_request_t xcb_req = {
8840         /* count */ 4,
8841         /* ext */ 0,
8842         /* opcode */ XCB_POLY_FILL_RECTANGLE,
8843         /* isvoid */ 1
8844     };
8845 
8846     struct iovec xcb_parts[6];
8847     xcb_void_cookie_t xcb_ret;
8848     xcb_poly_fill_rectangle_request_t xcb_out;
8849 
8850     xcb_out.pad0 = 0;
8851     xcb_out.drawable = drawable;
8852     xcb_out.gc = gc;
8853 
8854     xcb_parts[2].iov_base = (char *) &xcb_out;
8855     xcb_parts[2].iov_len = sizeof(xcb_out);
8856     xcb_parts[3].iov_base = 0;
8857     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8858     xcb_parts[4].iov_base = (char *) rectangles;
8859     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
8860     xcb_parts[5].iov_base = 0;
8861     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8862     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8863     return xcb_ret;
8864 }
8865 
8866 
8867 /*****************************************************************************
8868  **
8869  ** xcb_void_cookie_t xcb_poly_fill_rectangle
8870  **
8871  ** @param xcb_connection_t      *c
8872  ** @param xcb_drawable_t         drawable
8873  ** @param xcb_gcontext_t         gc
8874  ** @param uint32_t               rectangles_len
8875  ** @param const xcb_rectangle_t *rectangles
8876  ** @returns xcb_void_cookie_t
8877  **
8878  *****************************************************************************/
8879 
8880 xcb_void_cookie_t
8881 xcb_poly_fill_rectangle (xcb_connection_t      *c  /**< */,
8882                          xcb_drawable_t         drawable  /**< */,
8883                          xcb_gcontext_t         gc  /**< */,
8884                          uint32_t               rectangles_len  /**< */,
8885                          const xcb_rectangle_t *rectangles  /**< */)
8886 {
8887     static const xcb_protocol_request_t xcb_req = {
8888         /* count */ 4,
8889         /* ext */ 0,
8890         /* opcode */ XCB_POLY_FILL_RECTANGLE,
8891         /* isvoid */ 1
8892     };
8893 
8894     struct iovec xcb_parts[6];
8895     xcb_void_cookie_t xcb_ret;
8896     xcb_poly_fill_rectangle_request_t xcb_out;
8897 
8898     xcb_out.pad0 = 0;
8899     xcb_out.drawable = drawable;
8900     xcb_out.gc = gc;
8901 
8902     xcb_parts[2].iov_base = (char *) &xcb_out;
8903     xcb_parts[2].iov_len = sizeof(xcb_out);
8904     xcb_parts[3].iov_base = 0;
8905     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8906     xcb_parts[4].iov_base = (char *) rectangles;
8907     xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t);
8908     xcb_parts[5].iov_base = 0;
8909     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8910     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
8911     return xcb_ret;
8912 }
8913 
8914 
8915 /*****************************************************************************
8916  **
8917  ** xcb_void_cookie_t xcb_poly_fill_arc_checked
8918  **
8919  ** @param xcb_connection_t *c
8920  ** @param xcb_drawable_t    drawable
8921  ** @param xcb_gcontext_t    gc
8922  ** @param uint32_t          arcs_len
8923  ** @param const xcb_arc_t  *arcs
8924  ** @returns xcb_void_cookie_t
8925  **
8926  *****************************************************************************/
8927 
8928 xcb_void_cookie_t
8929 xcb_poly_fill_arc_checked (xcb_connection_t *c  /**< */,
8930                            xcb_drawable_t    drawable  /**< */,
8931                            xcb_gcontext_t    gc  /**< */,
8932                            uint32_t          arcs_len  /**< */,
8933                            const xcb_arc_t  *arcs  /**< */)
8934 {
8935     static const xcb_protocol_request_t xcb_req = {
8936         /* count */ 4,
8937         /* ext */ 0,
8938         /* opcode */ XCB_POLY_FILL_ARC,
8939         /* isvoid */ 1
8940     };
8941 
8942     struct iovec xcb_parts[6];
8943     xcb_void_cookie_t xcb_ret;
8944     xcb_poly_fill_arc_request_t xcb_out;
8945 
8946     xcb_out.pad0 = 0;
8947     xcb_out.drawable = drawable;
8948     xcb_out.gc = gc;
8949 
8950     xcb_parts[2].iov_base = (char *) &xcb_out;
8951     xcb_parts[2].iov_len = sizeof(xcb_out);
8952     xcb_parts[3].iov_base = 0;
8953     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
8954     xcb_parts[4].iov_base = (char *) arcs;
8955     xcb_parts[4].iov_len = arcs_len * sizeof(xcb_arc_t);
8956     xcb_parts[5].iov_base = 0;
8957     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
8958     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
8959     return xcb_ret;
8960 }
8961 
8962 
8963 /*****************************************************************************
8964  **
8965  ** xcb_void_cookie_t xcb_poly_fill_arc
8966  **
8967  ** @param xcb_connection_t *c
8968  ** @param xcb_drawable_t    drawable
8969  ** @param xcb_gcontext_t    gc
8970  ** @param uint32_t          arcs_len
8971  ** @param const xcb_arc_t  *arcs
8972  ** @returns xcb_void_cookie_t
8973  **
8974  *****************************************************************************/
8975 
8976 xcb_void_cookie_t
8977 xcb_poly_fill_arc (xcb_connection_t *c  /**< */,
8978                    xcb_drawable_t    drawable  /**< */,
8979                    xcb_gcontext_t    gc  /**< */,
8980                    uint32_t          arcs_len  /**< */,
8981                    const xcb_arc_t  *arcs  /**< */)
8982 {
8983     static const xcb_protocol_request_t xcb_req = {
8984         /* count */ 4,
8985         /* ext */ 0,
8986         /* opcode */ XCB_POLY_FILL_ARC,
8987         /* isvoid */ 1
8988     };
8989 
8990     struct iovec xcb_parts[6];
8991     xcb_void_cookie_t xcb_ret;
8992     xcb_poly_fill_arc_request_t xcb_out;
8993 
8994     xcb_out.pad0 = 0;
8995     xcb_out.drawable = drawable;
8996     xcb_out.gc = gc;
8997 
8998     xcb_parts[2].iov_base = (char *) &xcb_out;
8999     xcb_parts[2].iov_len = sizeof(xcb_out);
9000     xcb_parts[3].iov_base = 0;
9001     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9002     xcb_parts[4].iov_base = (char *) arcs;
9003     xcb_parts[4].iov_len = arcs_len * sizeof(xcb_arc_t);
9004     xcb_parts[5].iov_base = 0;
9005     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9006     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9007     return xcb_ret;
9008 }
9009 
9010 
9011 /*****************************************************************************
9012  **
9013  ** xcb_void_cookie_t xcb_put_image_checked
9014  **
9015  ** @param xcb_connection_t *c
9016  ** @param uint8_t           format
9017  ** @param xcb_drawable_t    drawable
9018  ** @param xcb_gcontext_t    gc
9019  ** @param uint16_t          width
9020  ** @param uint16_t          height
9021  ** @param int16_t           dst_x
9022  ** @param int16_t           dst_y
9023  ** @param uint8_t           left_pad
9024  ** @param uint8_t           depth
9025  ** @param uint32_t          data_len
9026  ** @param const uint8_t    *data
9027  ** @returns xcb_void_cookie_t
9028  **
9029  *****************************************************************************/
9030 
9031 xcb_void_cookie_t
9032 xcb_put_image_checked (xcb_connection_t *c  /**< */,
9033                        uint8_t           format  /**< */,
9034                        xcb_drawable_t    drawable  /**< */,
9035                        xcb_gcontext_t    gc  /**< */,
9036                        uint16_t          width  /**< */,
9037                        uint16_t          height  /**< */,
9038                        int16_t           dst_x  /**< */,
9039                        int16_t           dst_y  /**< */,
9040                        uint8_t           left_pad  /**< */,
9041                        uint8_t           depth  /**< */,
9042                        uint32_t          data_len  /**< */,
9043                        const uint8_t    *data  /**< */)
9044 {
9045     static const xcb_protocol_request_t xcb_req = {
9046         /* count */ 4,
9047         /* ext */ 0,
9048         /* opcode */ XCB_PUT_IMAGE,
9049         /* isvoid */ 1
9050     };
9051 
9052     struct iovec xcb_parts[6];
9053     xcb_void_cookie_t xcb_ret;
9054     xcb_put_image_request_t xcb_out;
9055 
9056     xcb_out.format = format;
9057     xcb_out.drawable = drawable;
9058     xcb_out.gc = gc;
9059     xcb_out.width = width;
9060     xcb_out.height = height;
9061     xcb_out.dst_x = dst_x;
9062     xcb_out.dst_y = dst_y;
9063     xcb_out.left_pad = left_pad;
9064     xcb_out.depth = depth;
9065     memset(xcb_out.pad0, 0, 2);
9066 
9067     xcb_parts[2].iov_base = (char *) &xcb_out;
9068     xcb_parts[2].iov_len = sizeof(xcb_out);
9069     xcb_parts[3].iov_base = 0;
9070     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9071     xcb_parts[4].iov_base = (char *) data;
9072     xcb_parts[4].iov_len = data_len * sizeof(uint8_t);
9073     xcb_parts[5].iov_base = 0;
9074     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9075     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9076     return xcb_ret;
9077 }
9078 
9079 
9080 /*****************************************************************************
9081  **
9082  ** xcb_void_cookie_t xcb_put_image
9083  **
9084  ** @param xcb_connection_t *c
9085  ** @param uint8_t           format
9086  ** @param xcb_drawable_t    drawable
9087  ** @param xcb_gcontext_t    gc
9088  ** @param uint16_t          width
9089  ** @param uint16_t          height
9090  ** @param int16_t           dst_x
9091  ** @param int16_t           dst_y
9092  ** @param uint8_t           left_pad
9093  ** @param uint8_t           depth
9094  ** @param uint32_t          data_len
9095  ** @param const uint8_t    *data
9096  ** @returns xcb_void_cookie_t
9097  **
9098  *****************************************************************************/
9099 
9100 xcb_void_cookie_t
9101 xcb_put_image (xcb_connection_t *c  /**< */,
9102                uint8_t           format  /**< */,
9103                xcb_drawable_t    drawable  /**< */,
9104                xcb_gcontext_t    gc  /**< */,
9105                uint16_t          width  /**< */,
9106                uint16_t          height  /**< */,
9107                int16_t           dst_x  /**< */,
9108                int16_t           dst_y  /**< */,
9109                uint8_t           left_pad  /**< */,
9110                uint8_t           depth  /**< */,
9111                uint32_t          data_len  /**< */,
9112                const uint8_t    *data  /**< */)
9113 {
9114     static const xcb_protocol_request_t xcb_req = {
9115         /* count */ 4,
9116         /* ext */ 0,
9117         /* opcode */ XCB_PUT_IMAGE,
9118         /* isvoid */ 1
9119     };
9120 
9121     struct iovec xcb_parts[6];
9122     xcb_void_cookie_t xcb_ret;
9123     xcb_put_image_request_t xcb_out;
9124 
9125     xcb_out.format = format;
9126     xcb_out.drawable = drawable;
9127     xcb_out.gc = gc;
9128     xcb_out.width = width;
9129     xcb_out.height = height;
9130     xcb_out.dst_x = dst_x;
9131     xcb_out.dst_y = dst_y;
9132     xcb_out.left_pad = left_pad;
9133     xcb_out.depth = depth;
9134     memset(xcb_out.pad0, 0, 2);
9135 
9136     xcb_parts[2].iov_base = (char *) &xcb_out;
9137     xcb_parts[2].iov_len = sizeof(xcb_out);
9138     xcb_parts[3].iov_base = 0;
9139     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9140     xcb_parts[4].iov_base = (char *) data;
9141     xcb_parts[4].iov_len = data_len * sizeof(uint8_t);
9142     xcb_parts[5].iov_base = 0;
9143     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9144     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9145     return xcb_ret;
9146 }
9147 
9148 
9149 /*****************************************************************************
9150  **
9151  ** xcb_get_image_cookie_t xcb_get_image
9152  **
9153  ** @param xcb_connection_t *c
9154  ** @param uint8_t           format
9155  ** @param xcb_drawable_t    drawable
9156  ** @param int16_t           x
9157  ** @param int16_t           y
9158  ** @param uint16_t          width
9159  ** @param uint16_t          height
9160  ** @param uint32_t          plane_mask
9161  ** @returns xcb_get_image_cookie_t
9162  **
9163  *****************************************************************************/
9164 
9165 xcb_get_image_cookie_t
9166 xcb_get_image (xcb_connection_t *c  /**< */,
9167                uint8_t           format  /**< */,
9168                xcb_drawable_t    drawable  /**< */,
9169                int16_t           x  /**< */,
9170                int16_t           y  /**< */,
9171                uint16_t          width  /**< */,
9172                uint16_t          height  /**< */,
9173                uint32_t          plane_mask  /**< */)
9174 {
9175     static const xcb_protocol_request_t xcb_req = {
9176         /* count */ 2,
9177         /* ext */ 0,
9178         /* opcode */ XCB_GET_IMAGE,
9179         /* isvoid */ 0
9180     };
9181 
9182     struct iovec xcb_parts[4];
9183     xcb_get_image_cookie_t xcb_ret;
9184     xcb_get_image_request_t xcb_out;
9185 
9186     xcb_out.format = format;
9187     xcb_out.drawable = drawable;
9188     xcb_out.x = x;
9189     xcb_out.y = y;
9190     xcb_out.width = width;
9191     xcb_out.height = height;
9192     xcb_out.plane_mask = plane_mask;
9193 
9194     xcb_parts[2].iov_base = (char *) &xcb_out;
9195     xcb_parts[2].iov_len = sizeof(xcb_out);
9196     xcb_parts[3].iov_base = 0;
9197     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9198     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9199     return xcb_ret;
9200 }
9201 
9202 
9203 /*****************************************************************************
9204  **
9205  ** xcb_get_image_cookie_t xcb_get_image_unchecked
9206  **
9207  ** @param xcb_connection_t *c
9208  ** @param uint8_t           format
9209  ** @param xcb_drawable_t    drawable
9210  ** @param int16_t           x
9211  ** @param int16_t           y
9212  ** @param uint16_t          width
9213  ** @param uint16_t          height
9214  ** @param uint32_t          plane_mask
9215  ** @returns xcb_get_image_cookie_t
9216  **
9217  *****************************************************************************/
9218 
9219 xcb_get_image_cookie_t
9220 xcb_get_image_unchecked (xcb_connection_t *c  /**< */,
9221                          uint8_t           format  /**< */,
9222                          xcb_drawable_t    drawable  /**< */,
9223                          int16_t           x  /**< */,
9224                          int16_t           y  /**< */,
9225                          uint16_t          width  /**< */,
9226                          uint16_t          height  /**< */,
9227                          uint32_t          plane_mask  /**< */)
9228 {
9229     static const xcb_protocol_request_t xcb_req = {
9230         /* count */ 2,
9231         /* ext */ 0,
9232         /* opcode */ XCB_GET_IMAGE,
9233         /* isvoid */ 0
9234     };
9235 
9236     struct iovec xcb_parts[4];
9237     xcb_get_image_cookie_t xcb_ret;
9238     xcb_get_image_request_t xcb_out;
9239 
9240     xcb_out.format = format;
9241     xcb_out.drawable = drawable;
9242     xcb_out.x = x;
9243     xcb_out.y = y;
9244     xcb_out.width = width;
9245     xcb_out.height = height;
9246     xcb_out.plane_mask = plane_mask;
9247 
9248     xcb_parts[2].iov_base = (char *) &xcb_out;
9249     xcb_parts[2].iov_len = sizeof(xcb_out);
9250     xcb_parts[3].iov_base = 0;
9251     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9252     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9253     return xcb_ret;
9254 }
9255 
9256 
9257 /*****************************************************************************
9258  **
9259  ** uint8_t * xcb_get_image_data
9260  **
9261  ** @param const xcb_get_image_reply_t *R
9262  ** @returns uint8_t *
9263  **
9264  *****************************************************************************/
9265 
9266 uint8_t *
9267 xcb_get_image_data (const xcb_get_image_reply_t *R  /**< */)
9268 {
9269     return (uint8_t *) (R + 1);
9270 }
9271 
9272 
9273 /*****************************************************************************
9274  **
9275  ** int xcb_get_image_data_length
9276  **
9277  ** @param const xcb_get_image_reply_t *R
9278  ** @returns int
9279  **
9280  *****************************************************************************/
9281 
9282 int
9283 xcb_get_image_data_length (const xcb_get_image_reply_t *R  /**< */)
9284 {
9285     return (R->length * 4);
9286 }
9287 
9288 
9289 /*****************************************************************************
9290  **
9291  ** xcb_generic_iterator_t xcb_get_image_data_end
9292  **
9293  ** @param const xcb_get_image_reply_t *R
9294  ** @returns xcb_generic_iterator_t
9295  **
9296  *****************************************************************************/
9297 
9298 xcb_generic_iterator_t
9299 xcb_get_image_data_end (const xcb_get_image_reply_t *R  /**< */)
9300 {
9301     xcb_generic_iterator_t i;
9302     i.data = ((uint8_t *) (R + 1)) + ((R->length * 4));
9303     i.rem = 0;
9304     i.index = (char *) i.data - (char *) R;
9305     return i;
9306 }
9307 
9308 
9309 /*****************************************************************************
9310  **
9311  ** xcb_get_image_reply_t * xcb_get_image_reply
9312  **
9313  ** @param xcb_connection_t        *c
9314  ** @param xcb_get_image_cookie_t   cookie
9315  ** @param xcb_generic_error_t    **e
9316  ** @returns xcb_get_image_reply_t *
9317  **
9318  *****************************************************************************/
9319 
9320 xcb_get_image_reply_t *
9321 xcb_get_image_reply (xcb_connection_t        *c  /**< */,
9322                      xcb_get_image_cookie_t   cookie  /**< */,
9323                      xcb_generic_error_t    **e  /**< */)
9324 {
9325     return (xcb_get_image_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
9326 }
9327 
9328 
9329 /*****************************************************************************
9330  **
9331  ** xcb_void_cookie_t xcb_poly_text_8_checked
9332  **
9333  ** @param xcb_connection_t *c
9334  ** @param xcb_drawable_t    drawable
9335  ** @param xcb_gcontext_t    gc
9336  ** @param int16_t           x
9337  ** @param int16_t           y
9338  ** @param uint32_t          items_len
9339  ** @param const uint8_t    *items
9340  ** @returns xcb_void_cookie_t
9341  **
9342  *****************************************************************************/
9343 
9344 xcb_void_cookie_t
9345 xcb_poly_text_8_checked (xcb_connection_t *c  /**< */,
9346                          xcb_drawable_t    drawable  /**< */,
9347                          xcb_gcontext_t    gc  /**< */,
9348                          int16_t           x  /**< */,
9349                          int16_t           y  /**< */,
9350                          uint32_t          items_len  /**< */,
9351                          const uint8_t    *items  /**< */)
9352 {
9353     static const xcb_protocol_request_t xcb_req = {
9354         /* count */ 4,
9355         /* ext */ 0,
9356         /* opcode */ XCB_POLY_TEXT_8,
9357         /* isvoid */ 1
9358     };
9359 
9360     struct iovec xcb_parts[6];
9361     xcb_void_cookie_t xcb_ret;
9362     xcb_poly_text_8_request_t xcb_out;
9363 
9364     xcb_out.pad0 = 0;
9365     xcb_out.drawable = drawable;
9366     xcb_out.gc = gc;
9367     xcb_out.x = x;
9368     xcb_out.y = y;
9369 
9370     xcb_parts[2].iov_base = (char *) &xcb_out;
9371     xcb_parts[2].iov_len = sizeof(xcb_out);
9372     xcb_parts[3].iov_base = 0;
9373     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9374     xcb_parts[4].iov_base = (char *) items;
9375     xcb_parts[4].iov_len = items_len * sizeof(uint8_t);
9376     xcb_parts[5].iov_base = 0;
9377     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9378     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9379     return xcb_ret;
9380 }
9381 
9382 
9383 /*****************************************************************************
9384  **
9385  ** xcb_void_cookie_t xcb_poly_text_8
9386  **
9387  ** @param xcb_connection_t *c
9388  ** @param xcb_drawable_t    drawable
9389  ** @param xcb_gcontext_t    gc
9390  ** @param int16_t           x
9391  ** @param int16_t           y
9392  ** @param uint32_t          items_len
9393  ** @param const uint8_t    *items
9394  ** @returns xcb_void_cookie_t
9395  **
9396  *****************************************************************************/
9397 
9398 xcb_void_cookie_t
9399 xcb_poly_text_8 (xcb_connection_t *c  /**< */,
9400                  xcb_drawable_t    drawable  /**< */,
9401                  xcb_gcontext_t    gc  /**< */,
9402                  int16_t           x  /**< */,
9403                  int16_t           y  /**< */,
9404                  uint32_t          items_len  /**< */,
9405                  const uint8_t    *items  /**< */)
9406 {
9407     static const xcb_protocol_request_t xcb_req = {
9408         /* count */ 4,
9409         /* ext */ 0,
9410         /* opcode */ XCB_POLY_TEXT_8,
9411         /* isvoid */ 1
9412     };
9413 
9414     struct iovec xcb_parts[6];
9415     xcb_void_cookie_t xcb_ret;
9416     xcb_poly_text_8_request_t xcb_out;
9417 
9418     xcb_out.pad0 = 0;
9419     xcb_out.drawable = drawable;
9420     xcb_out.gc = gc;
9421     xcb_out.x = x;
9422     xcb_out.y = y;
9423 
9424     xcb_parts[2].iov_base = (char *) &xcb_out;
9425     xcb_parts[2].iov_len = sizeof(xcb_out);
9426     xcb_parts[3].iov_base = 0;
9427     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9428     xcb_parts[4].iov_base = (char *) items;
9429     xcb_parts[4].iov_len = items_len * sizeof(uint8_t);
9430     xcb_parts[5].iov_base = 0;
9431     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9432     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9433     return xcb_ret;
9434 }
9435 
9436 
9437 /*****************************************************************************
9438  **
9439  ** xcb_void_cookie_t xcb_poly_text_16_checked
9440  **
9441  ** @param xcb_connection_t *c
9442  ** @param xcb_drawable_t    drawable
9443  ** @param xcb_gcontext_t    gc
9444  ** @param int16_t           x
9445  ** @param int16_t           y
9446  ** @param uint32_t          items_len
9447  ** @param const uint8_t    *items
9448  ** @returns xcb_void_cookie_t
9449  **
9450  *****************************************************************************/
9451 
9452 xcb_void_cookie_t
9453 xcb_poly_text_16_checked (xcb_connection_t *c  /**< */,
9454                           xcb_drawable_t    drawable  /**< */,
9455                           xcb_gcontext_t    gc  /**< */,
9456                           int16_t           x  /**< */,
9457                           int16_t           y  /**< */,
9458                           uint32_t          items_len  /**< */,
9459                           const uint8_t    *items  /**< */)
9460 {
9461     static const xcb_protocol_request_t xcb_req = {
9462         /* count */ 4,
9463         /* ext */ 0,
9464         /* opcode */ XCB_POLY_TEXT_16,
9465         /* isvoid */ 1
9466     };
9467 
9468     struct iovec xcb_parts[6];
9469     xcb_void_cookie_t xcb_ret;
9470     xcb_poly_text_16_request_t xcb_out;
9471 
9472     xcb_out.pad0 = 0;
9473     xcb_out.drawable = drawable;
9474     xcb_out.gc = gc;
9475     xcb_out.x = x;
9476     xcb_out.y = y;
9477 
9478     xcb_parts[2].iov_base = (char *) &xcb_out;
9479     xcb_parts[2].iov_len = sizeof(xcb_out);
9480     xcb_parts[3].iov_base = 0;
9481     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9482     xcb_parts[4].iov_base = (char *) items;
9483     xcb_parts[4].iov_len = items_len * sizeof(uint8_t);
9484     xcb_parts[5].iov_base = 0;
9485     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9486     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9487     return xcb_ret;
9488 }
9489 
9490 
9491 /*****************************************************************************
9492  **
9493  ** xcb_void_cookie_t xcb_poly_text_16
9494  **
9495  ** @param xcb_connection_t *c
9496  ** @param xcb_drawable_t    drawable
9497  ** @param xcb_gcontext_t    gc
9498  ** @param int16_t           x
9499  ** @param int16_t           y
9500  ** @param uint32_t          items_len
9501  ** @param const uint8_t    *items
9502  ** @returns xcb_void_cookie_t
9503  **
9504  *****************************************************************************/
9505 
9506 xcb_void_cookie_t
9507 xcb_poly_text_16 (xcb_connection_t *c  /**< */,
9508                   xcb_drawable_t    drawable  /**< */,
9509                   xcb_gcontext_t    gc  /**< */,
9510                   int16_t           x  /**< */,
9511                   int16_t           y  /**< */,
9512                   uint32_t          items_len  /**< */,
9513                   const uint8_t    *items  /**< */)
9514 {
9515     static const xcb_protocol_request_t xcb_req = {
9516         /* count */ 4,
9517         /* ext */ 0,
9518         /* opcode */ XCB_POLY_TEXT_16,
9519         /* isvoid */ 1
9520     };
9521 
9522     struct iovec xcb_parts[6];
9523     xcb_void_cookie_t xcb_ret;
9524     xcb_poly_text_16_request_t xcb_out;
9525 
9526     xcb_out.pad0 = 0;
9527     xcb_out.drawable = drawable;
9528     xcb_out.gc = gc;
9529     xcb_out.x = x;
9530     xcb_out.y = y;
9531 
9532     xcb_parts[2].iov_base = (char *) &xcb_out;
9533     xcb_parts[2].iov_len = sizeof(xcb_out);
9534     xcb_parts[3].iov_base = 0;
9535     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9536     xcb_parts[4].iov_base = (char *) items;
9537     xcb_parts[4].iov_len = items_len * sizeof(uint8_t);
9538     xcb_parts[5].iov_base = 0;
9539     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9540     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9541     return xcb_ret;
9542 }
9543 
9544 
9545 /*****************************************************************************
9546  **
9547  ** xcb_void_cookie_t xcb_image_text_8_checked
9548  **
9549  ** @param xcb_connection_t *c
9550  ** @param uint8_t           string_len
9551  ** @param xcb_drawable_t    drawable
9552  ** @param xcb_gcontext_t    gc
9553  ** @param int16_t           x
9554  ** @param int16_t           y
9555  ** @param const char       *string
9556  ** @returns xcb_void_cookie_t
9557  **
9558  *****************************************************************************/
9559 
9560 xcb_void_cookie_t
9561 xcb_image_text_8_checked (xcb_connection_t *c  /**< */,
9562                           uint8_t           string_len  /**< */,
9563                           xcb_drawable_t    drawable  /**< */,
9564                           xcb_gcontext_t    gc  /**< */,
9565                           int16_t           x  /**< */,
9566                           int16_t           y  /**< */,
9567                           const char       *string  /**< */)
9568 {
9569     static const xcb_protocol_request_t xcb_req = {
9570         /* count */ 4,
9571         /* ext */ 0,
9572         /* opcode */ XCB_IMAGE_TEXT_8,
9573         /* isvoid */ 1
9574     };
9575 
9576     struct iovec xcb_parts[6];
9577     xcb_void_cookie_t xcb_ret;
9578     xcb_image_text_8_request_t xcb_out;
9579 
9580     xcb_out.string_len = string_len;
9581     xcb_out.drawable = drawable;
9582     xcb_out.gc = gc;
9583     xcb_out.x = x;
9584     xcb_out.y = y;
9585 
9586     xcb_parts[2].iov_base = (char *) &xcb_out;
9587     xcb_parts[2].iov_len = sizeof(xcb_out);
9588     xcb_parts[3].iov_base = 0;
9589     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9590     xcb_parts[4].iov_base = (char *) string;
9591     xcb_parts[4].iov_len = string_len * sizeof(char);
9592     xcb_parts[5].iov_base = 0;
9593     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9594     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9595     return xcb_ret;
9596 }
9597 
9598 
9599 /*****************************************************************************
9600  **
9601  ** xcb_void_cookie_t xcb_image_text_8
9602  **
9603  ** @param xcb_connection_t *c
9604  ** @param uint8_t           string_len
9605  ** @param xcb_drawable_t    drawable
9606  ** @param xcb_gcontext_t    gc
9607  ** @param int16_t           x
9608  ** @param int16_t           y
9609  ** @param const char       *string
9610  ** @returns xcb_void_cookie_t
9611  **
9612  *****************************************************************************/
9613 
9614 xcb_void_cookie_t
9615 xcb_image_text_8 (xcb_connection_t *c  /**< */,
9616                   uint8_t           string_len  /**< */,
9617                   xcb_drawable_t    drawable  /**< */,
9618                   xcb_gcontext_t    gc  /**< */,
9619                   int16_t           x  /**< */,
9620                   int16_t           y  /**< */,
9621                   const char       *string  /**< */)
9622 {
9623     static const xcb_protocol_request_t xcb_req = {
9624         /* count */ 4,
9625         /* ext */ 0,
9626         /* opcode */ XCB_IMAGE_TEXT_8,
9627         /* isvoid */ 1
9628     };
9629 
9630     struct iovec xcb_parts[6];
9631     xcb_void_cookie_t xcb_ret;
9632     xcb_image_text_8_request_t xcb_out;
9633 
9634     xcb_out.string_len = string_len;
9635     xcb_out.drawable = drawable;
9636     xcb_out.gc = gc;
9637     xcb_out.x = x;
9638     xcb_out.y = y;
9639 
9640     xcb_parts[2].iov_base = (char *) &xcb_out;
9641     xcb_parts[2].iov_len = sizeof(xcb_out);
9642     xcb_parts[3].iov_base = 0;
9643     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9644     xcb_parts[4].iov_base = (char *) string;
9645     xcb_parts[4].iov_len = string_len * sizeof(char);
9646     xcb_parts[5].iov_base = 0;
9647     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9648     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9649     return xcb_ret;
9650 }
9651 
9652 
9653 /*****************************************************************************
9654  **
9655  ** xcb_void_cookie_t xcb_image_text_16_checked
9656  **
9657  ** @param xcb_connection_t   *c
9658  ** @param uint8_t             string_len
9659  ** @param xcb_drawable_t      drawable
9660  ** @param xcb_gcontext_t      gc
9661  ** @param int16_t             x
9662  ** @param int16_t             y
9663  ** @param const xcb_char2b_t *string
9664  ** @returns xcb_void_cookie_t
9665  **
9666  *****************************************************************************/
9667 
9668 xcb_void_cookie_t
9669 xcb_image_text_16_checked (xcb_connection_t   *c  /**< */,
9670                            uint8_t             string_len  /**< */,
9671                            xcb_drawable_t      drawable  /**< */,
9672                            xcb_gcontext_t      gc  /**< */,
9673                            int16_t             x  /**< */,
9674                            int16_t             y  /**< */,
9675                            const xcb_char2b_t *string  /**< */)
9676 {
9677     static const xcb_protocol_request_t xcb_req = {
9678         /* count */ 4,
9679         /* ext */ 0,
9680         /* opcode */ XCB_IMAGE_TEXT_16,
9681         /* isvoid */ 1
9682     };
9683 
9684     struct iovec xcb_parts[6];
9685     xcb_void_cookie_t xcb_ret;
9686     xcb_image_text_16_request_t xcb_out;
9687 
9688     xcb_out.string_len = string_len;
9689     xcb_out.drawable = drawable;
9690     xcb_out.gc = gc;
9691     xcb_out.x = x;
9692     xcb_out.y = y;
9693 
9694     xcb_parts[2].iov_base = (char *) &xcb_out;
9695     xcb_parts[2].iov_len = sizeof(xcb_out);
9696     xcb_parts[3].iov_base = 0;
9697     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9698     xcb_parts[4].iov_base = (char *) string;
9699     xcb_parts[4].iov_len = string_len * sizeof(xcb_char2b_t);
9700     xcb_parts[5].iov_base = 0;
9701     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9702     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9703     return xcb_ret;
9704 }
9705 
9706 
9707 /*****************************************************************************
9708  **
9709  ** xcb_void_cookie_t xcb_image_text_16
9710  **
9711  ** @param xcb_connection_t   *c
9712  ** @param uint8_t             string_len
9713  ** @param xcb_drawable_t      drawable
9714  ** @param xcb_gcontext_t      gc
9715  ** @param int16_t             x
9716  ** @param int16_t             y
9717  ** @param const xcb_char2b_t *string
9718  ** @returns xcb_void_cookie_t
9719  **
9720  *****************************************************************************/
9721 
9722 xcb_void_cookie_t
9723 xcb_image_text_16 (xcb_connection_t   *c  /**< */,
9724                    uint8_t             string_len  /**< */,
9725                    xcb_drawable_t      drawable  /**< */,
9726                    xcb_gcontext_t      gc  /**< */,
9727                    int16_t             x  /**< */,
9728                    int16_t             y  /**< */,
9729                    const xcb_char2b_t *string  /**< */)
9730 {
9731     static const xcb_protocol_request_t xcb_req = {
9732         /* count */ 4,
9733         /* ext */ 0,
9734         /* opcode */ XCB_IMAGE_TEXT_16,
9735         /* isvoid */ 1
9736     };
9737 
9738     struct iovec xcb_parts[6];
9739     xcb_void_cookie_t xcb_ret;
9740     xcb_image_text_16_request_t xcb_out;
9741 
9742     xcb_out.string_len = string_len;
9743     xcb_out.drawable = drawable;
9744     xcb_out.gc = gc;
9745     xcb_out.x = x;
9746     xcb_out.y = y;
9747 
9748     xcb_parts[2].iov_base = (char *) &xcb_out;
9749     xcb_parts[2].iov_len = sizeof(xcb_out);
9750     xcb_parts[3].iov_base = 0;
9751     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9752     xcb_parts[4].iov_base = (char *) string;
9753     xcb_parts[4].iov_len = string_len * sizeof(xcb_char2b_t);
9754     xcb_parts[5].iov_base = 0;
9755     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
9756     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9757     return xcb_ret;
9758 }
9759 
9760 
9761 /*****************************************************************************
9762  **
9763  ** xcb_void_cookie_t xcb_create_colormap_checked
9764  **
9765  ** @param xcb_connection_t *c
9766  ** @param uint8_t           alloc
9767  ** @param xcb_colormap_t    mid
9768  ** @param xcb_window_t      window
9769  ** @param xcb_visualid_t    visual
9770  ** @returns xcb_void_cookie_t
9771  **
9772  *****************************************************************************/
9773 
9774 xcb_void_cookie_t
9775 xcb_create_colormap_checked (xcb_connection_t *c  /**< */,
9776                              uint8_t           alloc  /**< */,
9777                              xcb_colormap_t    mid  /**< */,
9778                              xcb_window_t      window  /**< */,
9779                              xcb_visualid_t    visual  /**< */)
9780 {
9781     static const xcb_protocol_request_t xcb_req = {
9782         /* count */ 2,
9783         /* ext */ 0,
9784         /* opcode */ XCB_CREATE_COLORMAP,
9785         /* isvoid */ 1
9786     };
9787 
9788     struct iovec xcb_parts[4];
9789     xcb_void_cookie_t xcb_ret;
9790     xcb_create_colormap_request_t xcb_out;
9791 
9792     xcb_out.alloc = alloc;
9793     xcb_out.mid = mid;
9794     xcb_out.window = window;
9795     xcb_out.visual = visual;
9796 
9797     xcb_parts[2].iov_base = (char *) &xcb_out;
9798     xcb_parts[2].iov_len = sizeof(xcb_out);
9799     xcb_parts[3].iov_base = 0;
9800     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9801     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9802     return xcb_ret;
9803 }
9804 
9805 
9806 /*****************************************************************************
9807  **
9808  ** xcb_void_cookie_t xcb_create_colormap
9809  **
9810  ** @param xcb_connection_t *c
9811  ** @param uint8_t           alloc
9812  ** @param xcb_colormap_t    mid
9813  ** @param xcb_window_t      window
9814  ** @param xcb_visualid_t    visual
9815  ** @returns xcb_void_cookie_t
9816  **
9817  *****************************************************************************/
9818 
9819 xcb_void_cookie_t
9820 xcb_create_colormap (xcb_connection_t *c  /**< */,
9821                      uint8_t           alloc  /**< */,
9822                      xcb_colormap_t    mid  /**< */,
9823                      xcb_window_t      window  /**< */,
9824                      xcb_visualid_t    visual  /**< */)
9825 {
9826     static const xcb_protocol_request_t xcb_req = {
9827         /* count */ 2,
9828         /* ext */ 0,
9829         /* opcode */ XCB_CREATE_COLORMAP,
9830         /* isvoid */ 1
9831     };
9832 
9833     struct iovec xcb_parts[4];
9834     xcb_void_cookie_t xcb_ret;
9835     xcb_create_colormap_request_t xcb_out;
9836 
9837     xcb_out.alloc = alloc;
9838     xcb_out.mid = mid;
9839     xcb_out.window = window;
9840     xcb_out.visual = visual;
9841 
9842     xcb_parts[2].iov_base = (char *) &xcb_out;
9843     xcb_parts[2].iov_len = sizeof(xcb_out);
9844     xcb_parts[3].iov_base = 0;
9845     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9846     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9847     return xcb_ret;
9848 }
9849 
9850 
9851 /*****************************************************************************
9852  **
9853  ** xcb_void_cookie_t xcb_free_colormap_checked
9854  **
9855  ** @param xcb_connection_t *c
9856  ** @param xcb_colormap_t    cmap
9857  ** @returns xcb_void_cookie_t
9858  **
9859  *****************************************************************************/
9860 
9861 xcb_void_cookie_t
9862 xcb_free_colormap_checked (xcb_connection_t *c  /**< */,
9863                            xcb_colormap_t    cmap  /**< */)
9864 {
9865     static const xcb_protocol_request_t xcb_req = {
9866         /* count */ 2,
9867         /* ext */ 0,
9868         /* opcode */ XCB_FREE_COLORMAP,
9869         /* isvoid */ 1
9870     };
9871 
9872     struct iovec xcb_parts[4];
9873     xcb_void_cookie_t xcb_ret;
9874     xcb_free_colormap_request_t xcb_out;
9875 
9876     xcb_out.pad0 = 0;
9877     xcb_out.cmap = cmap;
9878 
9879     xcb_parts[2].iov_base = (char *) &xcb_out;
9880     xcb_parts[2].iov_len = sizeof(xcb_out);
9881     xcb_parts[3].iov_base = 0;
9882     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9883     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9884     return xcb_ret;
9885 }
9886 
9887 
9888 /*****************************************************************************
9889  **
9890  ** xcb_void_cookie_t xcb_free_colormap
9891  **
9892  ** @param xcb_connection_t *c
9893  ** @param xcb_colormap_t    cmap
9894  ** @returns xcb_void_cookie_t
9895  **
9896  *****************************************************************************/
9897 
9898 xcb_void_cookie_t
9899 xcb_free_colormap (xcb_connection_t *c  /**< */,
9900                    xcb_colormap_t    cmap  /**< */)
9901 {
9902     static const xcb_protocol_request_t xcb_req = {
9903         /* count */ 2,
9904         /* ext */ 0,
9905         /* opcode */ XCB_FREE_COLORMAP,
9906         /* isvoid */ 1
9907     };
9908 
9909     struct iovec xcb_parts[4];
9910     xcb_void_cookie_t xcb_ret;
9911     xcb_free_colormap_request_t xcb_out;
9912 
9913     xcb_out.pad0 = 0;
9914     xcb_out.cmap = cmap;
9915 
9916     xcb_parts[2].iov_base = (char *) &xcb_out;
9917     xcb_parts[2].iov_len = sizeof(xcb_out);
9918     xcb_parts[3].iov_base = 0;
9919     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9920     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
9921     return xcb_ret;
9922 }
9923 
9924 
9925 /*****************************************************************************
9926  **
9927  ** xcb_void_cookie_t xcb_copy_colormap_and_free_checked
9928  **
9929  ** @param xcb_connection_t *c
9930  ** @param xcb_colormap_t    mid
9931  ** @param xcb_colormap_t    src_cmap
9932  ** @returns xcb_void_cookie_t
9933  **
9934  *****************************************************************************/
9935 
9936 xcb_void_cookie_t
9937 xcb_copy_colormap_and_free_checked (xcb_connection_t *c  /**< */,
9938                                     xcb_colormap_t    mid  /**< */,
9939                                     xcb_colormap_t    src_cmap  /**< */)
9940 {
9941     static const xcb_protocol_request_t xcb_req = {
9942         /* count */ 2,
9943         /* ext */ 0,
9944         /* opcode */ XCB_COPY_COLORMAP_AND_FREE,
9945         /* isvoid */ 1
9946     };
9947 
9948     struct iovec xcb_parts[4];
9949     xcb_void_cookie_t xcb_ret;
9950     xcb_copy_colormap_and_free_request_t xcb_out;
9951 
9952     xcb_out.pad0 = 0;
9953     xcb_out.mid = mid;
9954     xcb_out.src_cmap = src_cmap;
9955 
9956     xcb_parts[2].iov_base = (char *) &xcb_out;
9957     xcb_parts[2].iov_len = sizeof(xcb_out);
9958     xcb_parts[3].iov_base = 0;
9959     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
9960     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
9961     return xcb_ret;
9962 }
9963 
9964 
9965 /*****************************************************************************
9966  **
9967  ** xcb_void_cookie_t xcb_copy_colormap_and_free
9968  **
9969  ** @param xcb_connection_t *c
9970  ** @param xcb_colormap_t    mid
9971  ** @param xcb_colormap_t    src_cmap
9972  ** @returns xcb_void_cookie_t
9973  **
9974  *****************************************************************************/
9975 
9976 xcb_void_cookie_t
9977 xcb_copy_colormap_and_free (xcb_connection_t *c  /**< */,
9978                             xcb_colormap_t    mid  /**< */,
9979                             xcb_colormap_t    src_cmap  /**< */)
9980 {
9981     static const xcb_protocol_request_t xcb_req = {
9982         /* count */ 2,
9983         /* ext */ 0,
9984         /* opcode */ XCB_COPY_COLORMAP_AND_FREE,
9985         /* isvoid */ 1
9986     };
9987 
9988     struct iovec xcb_parts[4];
9989     xcb_void_cookie_t xcb_ret;
9990     xcb_copy_colormap_and_free_request_t xcb_out;
9991 
9992     xcb_out.pad0 = 0;
9993     xcb_out.mid = mid;
9994     xcb_out.src_cmap = src_cmap;
9995 
9996     xcb_parts[2].iov_base = (char *) &xcb_out;
9997     xcb_parts[2].iov_len = sizeof(xcb_out);
9998     xcb_parts[3].iov_base = 0;
9999     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10000     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10001     return xcb_ret;
10002 }
10003 
10004 
10005 /*****************************************************************************
10006  **
10007  ** xcb_void_cookie_t xcb_install_colormap_checked
10008  **
10009  ** @param xcb_connection_t *c
10010  ** @param xcb_colormap_t    cmap
10011  ** @returns xcb_void_cookie_t
10012  **
10013  *****************************************************************************/
10014 
10015 xcb_void_cookie_t
10016 xcb_install_colormap_checked (xcb_connection_t *c  /**< */,
10017                               xcb_colormap_t    cmap  /**< */)
10018 {
10019     static const xcb_protocol_request_t xcb_req = {
10020         /* count */ 2,
10021         /* ext */ 0,
10022         /* opcode */ XCB_INSTALL_COLORMAP,
10023         /* isvoid */ 1
10024     };
10025 
10026     struct iovec xcb_parts[4];
10027     xcb_void_cookie_t xcb_ret;
10028     xcb_install_colormap_request_t xcb_out;
10029 
10030     xcb_out.pad0 = 0;
10031     xcb_out.cmap = cmap;
10032 
10033     xcb_parts[2].iov_base = (char *) &xcb_out;
10034     xcb_parts[2].iov_len = sizeof(xcb_out);
10035     xcb_parts[3].iov_base = 0;
10036     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10037     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10038     return xcb_ret;
10039 }
10040 
10041 
10042 /*****************************************************************************
10043  **
10044  ** xcb_void_cookie_t xcb_install_colormap
10045  **
10046  ** @param xcb_connection_t *c
10047  ** @param xcb_colormap_t    cmap
10048  ** @returns xcb_void_cookie_t
10049  **
10050  *****************************************************************************/
10051 
10052 xcb_void_cookie_t
10053 xcb_install_colormap (xcb_connection_t *c  /**< */,
10054                       xcb_colormap_t    cmap  /**< */)
10055 {
10056     static const xcb_protocol_request_t xcb_req = {
10057         /* count */ 2,
10058         /* ext */ 0,
10059         /* opcode */ XCB_INSTALL_COLORMAP,
10060         /* isvoid */ 1
10061     };
10062 
10063     struct iovec xcb_parts[4];
10064     xcb_void_cookie_t xcb_ret;
10065     xcb_install_colormap_request_t xcb_out;
10066 
10067     xcb_out.pad0 = 0;
10068     xcb_out.cmap = cmap;
10069 
10070     xcb_parts[2].iov_base = (char *) &xcb_out;
10071     xcb_parts[2].iov_len = sizeof(xcb_out);
10072     xcb_parts[3].iov_base = 0;
10073     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10074     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10075     return xcb_ret;
10076 }
10077 
10078 
10079 /*****************************************************************************
10080  **
10081  ** xcb_void_cookie_t xcb_uninstall_colormap_checked
10082  **
10083  ** @param xcb_connection_t *c
10084  ** @param xcb_colormap_t    cmap
10085  ** @returns xcb_void_cookie_t
10086  **
10087  *****************************************************************************/
10088 
10089 xcb_void_cookie_t
10090 xcb_uninstall_colormap_checked (xcb_connection_t *c  /**< */,
10091                                 xcb_colormap_t    cmap  /**< */)
10092 {
10093     static const xcb_protocol_request_t xcb_req = {
10094         /* count */ 2,
10095         /* ext */ 0,
10096         /* opcode */ XCB_UNINSTALL_COLORMAP,
10097         /* isvoid */ 1
10098     };
10099 
10100     struct iovec xcb_parts[4];
10101     xcb_void_cookie_t xcb_ret;
10102     xcb_uninstall_colormap_request_t xcb_out;
10103 
10104     xcb_out.pad0 = 0;
10105     xcb_out.cmap = cmap;
10106 
10107     xcb_parts[2].iov_base = (char *) &xcb_out;
10108     xcb_parts[2].iov_len = sizeof(xcb_out);
10109     xcb_parts[3].iov_base = 0;
10110     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10111     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10112     return xcb_ret;
10113 }
10114 
10115 
10116 /*****************************************************************************
10117  **
10118  ** xcb_void_cookie_t xcb_uninstall_colormap
10119  **
10120  ** @param xcb_connection_t *c
10121  ** @param xcb_colormap_t    cmap
10122  ** @returns xcb_void_cookie_t
10123  **
10124  *****************************************************************************/
10125 
10126 xcb_void_cookie_t
10127 xcb_uninstall_colormap (xcb_connection_t *c  /**< */,
10128                         xcb_colormap_t    cmap  /**< */)
10129 {
10130     static const xcb_protocol_request_t xcb_req = {
10131         /* count */ 2,
10132         /* ext */ 0,
10133         /* opcode */ XCB_UNINSTALL_COLORMAP,
10134         /* isvoid */ 1
10135     };
10136 
10137     struct iovec xcb_parts[4];
10138     xcb_void_cookie_t xcb_ret;
10139     xcb_uninstall_colormap_request_t xcb_out;
10140 
10141     xcb_out.pad0 = 0;
10142     xcb_out.cmap = cmap;
10143 
10144     xcb_parts[2].iov_base = (char *) &xcb_out;
10145     xcb_parts[2].iov_len = sizeof(xcb_out);
10146     xcb_parts[3].iov_base = 0;
10147     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10148     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10149     return xcb_ret;
10150 }
10151 
10152 
10153 /*****************************************************************************
10154  **
10155  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps
10156  **
10157  ** @param xcb_connection_t *c
10158  ** @param xcb_window_t      window
10159  ** @returns xcb_list_installed_colormaps_cookie_t
10160  **
10161  *****************************************************************************/
10162 
10163 xcb_list_installed_colormaps_cookie_t
10164 xcb_list_installed_colormaps (xcb_connection_t *c  /**< */,
10165                               xcb_window_t      window  /**< */)
10166 {
10167     static const xcb_protocol_request_t xcb_req = {
10168         /* count */ 2,
10169         /* ext */ 0,
10170         /* opcode */ XCB_LIST_INSTALLED_COLORMAPS,
10171         /* isvoid */ 0
10172     };
10173 
10174     struct iovec xcb_parts[4];
10175     xcb_list_installed_colormaps_cookie_t xcb_ret;
10176     xcb_list_installed_colormaps_request_t xcb_out;
10177 
10178     xcb_out.pad0 = 0;
10179     xcb_out.window = window;
10180 
10181     xcb_parts[2].iov_base = (char *) &xcb_out;
10182     xcb_parts[2].iov_len = sizeof(xcb_out);
10183     xcb_parts[3].iov_base = 0;
10184     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10185     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10186     return xcb_ret;
10187 }
10188 
10189 
10190 /*****************************************************************************
10191  **
10192  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps_unchecked
10193  **
10194  ** @param xcb_connection_t *c
10195  ** @param xcb_window_t      window
10196  ** @returns xcb_list_installed_colormaps_cookie_t
10197  **
10198  *****************************************************************************/
10199 
10200 xcb_list_installed_colormaps_cookie_t
10201 xcb_list_installed_colormaps_unchecked (xcb_connection_t *c  /**< */,
10202                                         xcb_window_t      window  /**< */)
10203 {
10204     static const xcb_protocol_request_t xcb_req = {
10205         /* count */ 2,
10206         /* ext */ 0,
10207         /* opcode */ XCB_LIST_INSTALLED_COLORMAPS,
10208         /* isvoid */ 0
10209     };
10210 
10211     struct iovec xcb_parts[4];
10212     xcb_list_installed_colormaps_cookie_t xcb_ret;
10213     xcb_list_installed_colormaps_request_t xcb_out;
10214 
10215     xcb_out.pad0 = 0;
10216     xcb_out.window = window;
10217 
10218     xcb_parts[2].iov_base = (char *) &xcb_out;
10219     xcb_parts[2].iov_len = sizeof(xcb_out);
10220     xcb_parts[3].iov_base = 0;
10221     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10222     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10223     return xcb_ret;
10224 }
10225 
10226 
10227 /*****************************************************************************
10228  **
10229  ** xcb_colormap_t * xcb_list_installed_colormaps_cmaps
10230  **
10231  ** @param const xcb_list_installed_colormaps_reply_t *R
10232  ** @returns xcb_colormap_t *
10233  **
10234  *****************************************************************************/
10235 
10236 xcb_colormap_t *
10237 xcb_list_installed_colormaps_cmaps (const xcb_list_installed_colormaps_reply_t *R  /**< */)
10238 {
10239     return (xcb_colormap_t *) (R + 1);
10240 }
10241 
10242 
10243 /*****************************************************************************
10244  **
10245  ** int xcb_list_installed_colormaps_cmaps_length
10246  **
10247  ** @param const xcb_list_installed_colormaps_reply_t *R
10248  ** @returns int
10249  **
10250  *****************************************************************************/
10251 
10252 int
10253 xcb_list_installed_colormaps_cmaps_length (const xcb_list_installed_colormaps_reply_t *R  /**< */)
10254 {
10255     return R->cmaps_len;
10256 }
10257 
10258 
10259 /*****************************************************************************
10260  **
10261  ** xcb_generic_iterator_t xcb_list_installed_colormaps_cmaps_end
10262  **
10263  ** @param const xcb_list_installed_colormaps_reply_t *R
10264  ** @returns xcb_generic_iterator_t
10265  **
10266  *****************************************************************************/
10267 
10268 xcb_generic_iterator_t
10269 xcb_list_installed_colormaps_cmaps_end (const xcb_list_installed_colormaps_reply_t *R  /**< */)
10270 {
10271     xcb_generic_iterator_t i;
10272     i.data = ((xcb_colormap_t *) (R + 1)) + (R->cmaps_len);
10273     i.rem = 0;
10274     i.index = (char *) i.data - (char *) R;
10275     return i;
10276 }
10277 
10278 
10279 /*****************************************************************************
10280  **
10281  ** xcb_list_installed_colormaps_reply_t * xcb_list_installed_colormaps_reply
10282  **
10283  ** @param xcb_connection_t                       *c
10284  ** @param xcb_list_installed_colormaps_cookie_t   cookie
10285  ** @param xcb_generic_error_t                   **e
10286  ** @returns xcb_list_installed_colormaps_reply_t *
10287  **
10288  *****************************************************************************/
10289 
10290 xcb_list_installed_colormaps_reply_t *
10291 xcb_list_installed_colormaps_reply (xcb_connection_t                       *c  /**< */,
10292                                     xcb_list_installed_colormaps_cookie_t   cookie  /**< */,
10293                                     xcb_generic_error_t                   **e  /**< */)
10294 {
10295     return (xcb_list_installed_colormaps_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
10296 }
10297 
10298 
10299 /*****************************************************************************
10300  **
10301  ** xcb_alloc_color_cookie_t xcb_alloc_color
10302  **
10303  ** @param xcb_connection_t *c
10304  ** @param xcb_colormap_t    cmap
10305  ** @param uint16_t          red
10306  ** @param uint16_t          green
10307  ** @param uint16_t          blue
10308  ** @returns xcb_alloc_color_cookie_t
10309  **
10310  *****************************************************************************/
10311 
10312 xcb_alloc_color_cookie_t
10313 xcb_alloc_color (xcb_connection_t *c  /**< */,
10314                  xcb_colormap_t    cmap  /**< */,
10315                  uint16_t          red  /**< */,
10316                  uint16_t          green  /**< */,
10317                  uint16_t          blue  /**< */)
10318 {
10319     static const xcb_protocol_request_t xcb_req = {
10320         /* count */ 2,
10321         /* ext */ 0,
10322         /* opcode */ XCB_ALLOC_COLOR,
10323         /* isvoid */ 0
10324     };
10325 
10326     struct iovec xcb_parts[4];
10327     xcb_alloc_color_cookie_t xcb_ret;
10328     xcb_alloc_color_request_t xcb_out;
10329 
10330     xcb_out.pad0 = 0;
10331     xcb_out.cmap = cmap;
10332     xcb_out.red = red;
10333     xcb_out.green = green;
10334     xcb_out.blue = blue;
10335     memset(xcb_out.pad1, 0, 2);
10336 
10337     xcb_parts[2].iov_base = (char *) &xcb_out;
10338     xcb_parts[2].iov_len = sizeof(xcb_out);
10339     xcb_parts[3].iov_base = 0;
10340     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10341     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10342     return xcb_ret;
10343 }
10344 
10345 
10346 /*****************************************************************************
10347  **
10348  ** xcb_alloc_color_cookie_t xcb_alloc_color_unchecked
10349  **
10350  ** @param xcb_connection_t *c
10351  ** @param xcb_colormap_t    cmap
10352  ** @param uint16_t          red
10353  ** @param uint16_t          green
10354  ** @param uint16_t          blue
10355  ** @returns xcb_alloc_color_cookie_t
10356  **
10357  *****************************************************************************/
10358 
10359 xcb_alloc_color_cookie_t
10360 xcb_alloc_color_unchecked (xcb_connection_t *c  /**< */,
10361                            xcb_colormap_t    cmap  /**< */,
10362                            uint16_t          red  /**< */,
10363                            uint16_t          green  /**< */,
10364                            uint16_t          blue  /**< */)
10365 {
10366     static const xcb_protocol_request_t xcb_req = {
10367         /* count */ 2,
10368         /* ext */ 0,
10369         /* opcode */ XCB_ALLOC_COLOR,
10370         /* isvoid */ 0
10371     };
10372 
10373     struct iovec xcb_parts[4];
10374     xcb_alloc_color_cookie_t xcb_ret;
10375     xcb_alloc_color_request_t xcb_out;
10376 
10377     xcb_out.pad0 = 0;
10378     xcb_out.cmap = cmap;
10379     xcb_out.red = red;
10380     xcb_out.green = green;
10381     xcb_out.blue = blue;
10382     memset(xcb_out.pad1, 0, 2);
10383 
10384     xcb_parts[2].iov_base = (char *) &xcb_out;
10385     xcb_parts[2].iov_len = sizeof(xcb_out);
10386     xcb_parts[3].iov_base = 0;
10387     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10388     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10389     return xcb_ret;
10390 }
10391 
10392 
10393 /*****************************************************************************
10394  **
10395  ** xcb_alloc_color_reply_t * xcb_alloc_color_reply
10396  **
10397  ** @param xcb_connection_t          *c
10398  ** @param xcb_alloc_color_cookie_t   cookie
10399  ** @param xcb_generic_error_t      **e
10400  ** @returns xcb_alloc_color_reply_t *
10401  **
10402  *****************************************************************************/
10403 
10404 xcb_alloc_color_reply_t *
10405 xcb_alloc_color_reply (xcb_connection_t          *c  /**< */,
10406                        xcb_alloc_color_cookie_t   cookie  /**< */,
10407                        xcb_generic_error_t      **e  /**< */)
10408 {
10409     return (xcb_alloc_color_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
10410 }
10411 
10412 
10413 /*****************************************************************************
10414  **
10415  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color
10416  **
10417  ** @param xcb_connection_t *c
10418  ** @param xcb_colormap_t    cmap
10419  ** @param uint16_t          name_len
10420  ** @param const char       *name
10421  ** @returns xcb_alloc_named_color_cookie_t
10422  **
10423  *****************************************************************************/
10424 
10425 xcb_alloc_named_color_cookie_t
10426 xcb_alloc_named_color (xcb_connection_t *c  /**< */,
10427                        xcb_colormap_t    cmap  /**< */,
10428                        uint16_t          name_len  /**< */,
10429                        const char       *name  /**< */)
10430 {
10431     static const xcb_protocol_request_t xcb_req = {
10432         /* count */ 4,
10433         /* ext */ 0,
10434         /* opcode */ XCB_ALLOC_NAMED_COLOR,
10435         /* isvoid */ 0
10436     };
10437 
10438     struct iovec xcb_parts[6];
10439     xcb_alloc_named_color_cookie_t xcb_ret;
10440     xcb_alloc_named_color_request_t xcb_out;
10441 
10442     xcb_out.pad0 = 0;
10443     xcb_out.cmap = cmap;
10444     xcb_out.name_len = name_len;
10445     memset(xcb_out.pad1, 0, 2);
10446 
10447     xcb_parts[2].iov_base = (char *) &xcb_out;
10448     xcb_parts[2].iov_len = sizeof(xcb_out);
10449     xcb_parts[3].iov_base = 0;
10450     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10451     xcb_parts[4].iov_base = (char *) name;
10452     xcb_parts[4].iov_len = name_len * sizeof(char);
10453     xcb_parts[5].iov_base = 0;
10454     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
10455     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10456     return xcb_ret;
10457 }
10458 
10459 
10460 /*****************************************************************************
10461  **
10462  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color_unchecked
10463  **
10464  ** @param xcb_connection_t *c
10465  ** @param xcb_colormap_t    cmap
10466  ** @param uint16_t          name_len
10467  ** @param const char       *name
10468  ** @returns xcb_alloc_named_color_cookie_t
10469  **
10470  *****************************************************************************/
10471 
10472 xcb_alloc_named_color_cookie_t
10473 xcb_alloc_named_color_unchecked (xcb_connection_t *c  /**< */,
10474                                  xcb_colormap_t    cmap  /**< */,
10475                                  uint16_t          name_len  /**< */,
10476                                  const char       *name  /**< */)
10477 {
10478     static const xcb_protocol_request_t xcb_req = {
10479         /* count */ 4,
10480         /* ext */ 0,
10481         /* opcode */ XCB_ALLOC_NAMED_COLOR,
10482         /* isvoid */ 0
10483     };
10484 
10485     struct iovec xcb_parts[6];
10486     xcb_alloc_named_color_cookie_t xcb_ret;
10487     xcb_alloc_named_color_request_t xcb_out;
10488 
10489     xcb_out.pad0 = 0;
10490     xcb_out.cmap = cmap;
10491     xcb_out.name_len = name_len;
10492     memset(xcb_out.pad1, 0, 2);
10493 
10494     xcb_parts[2].iov_base = (char *) &xcb_out;
10495     xcb_parts[2].iov_len = sizeof(xcb_out);
10496     xcb_parts[3].iov_base = 0;
10497     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10498     xcb_parts[4].iov_base = (char *) name;
10499     xcb_parts[4].iov_len = name_len * sizeof(char);
10500     xcb_parts[5].iov_base = 0;
10501     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
10502     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10503     return xcb_ret;
10504 }
10505 
10506 
10507 /*****************************************************************************
10508  **
10509  ** xcb_alloc_named_color_reply_t * xcb_alloc_named_color_reply
10510  **
10511  ** @param xcb_connection_t                *c
10512  ** @param xcb_alloc_named_color_cookie_t   cookie
10513  ** @param xcb_generic_error_t            **e
10514  ** @returns xcb_alloc_named_color_reply_t *
10515  **
10516  *****************************************************************************/
10517 
10518 xcb_alloc_named_color_reply_t *
10519 xcb_alloc_named_color_reply (xcb_connection_t                *c  /**< */,
10520                              xcb_alloc_named_color_cookie_t   cookie  /**< */,
10521                              xcb_generic_error_t            **e  /**< */)
10522 {
10523     return (xcb_alloc_named_color_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
10524 }
10525 
10526 
10527 /*****************************************************************************
10528  **
10529  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells
10530  **
10531  ** @param xcb_connection_t *c
10532  ** @param uint8_t           contiguous
10533  ** @param xcb_colormap_t    cmap
10534  ** @param uint16_t          colors
10535  ** @param uint16_t          planes
10536  ** @returns xcb_alloc_color_cells_cookie_t
10537  **
10538  *****************************************************************************/
10539 
10540 xcb_alloc_color_cells_cookie_t
10541 xcb_alloc_color_cells (xcb_connection_t *c  /**< */,
10542                        uint8_t           contiguous  /**< */,
10543                        xcb_colormap_t    cmap  /**< */,
10544                        uint16_t          colors  /**< */,
10545                        uint16_t          planes  /**< */)
10546 {
10547     static const xcb_protocol_request_t xcb_req = {
10548         /* count */ 2,
10549         /* ext */ 0,
10550         /* opcode */ XCB_ALLOC_COLOR_CELLS,
10551         /* isvoid */ 0
10552     };
10553 
10554     struct iovec xcb_parts[4];
10555     xcb_alloc_color_cells_cookie_t xcb_ret;
10556     xcb_alloc_color_cells_request_t xcb_out;
10557 
10558     xcb_out.contiguous = contiguous;
10559     xcb_out.cmap = cmap;
10560     xcb_out.colors = colors;
10561     xcb_out.planes = planes;
10562 
10563     xcb_parts[2].iov_base = (char *) &xcb_out;
10564     xcb_parts[2].iov_len = sizeof(xcb_out);
10565     xcb_parts[3].iov_base = 0;
10566     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10567     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10568     return xcb_ret;
10569 }
10570 
10571 
10572 /*****************************************************************************
10573  **
10574  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells_unchecked
10575  **
10576  ** @param xcb_connection_t *c
10577  ** @param uint8_t           contiguous
10578  ** @param xcb_colormap_t    cmap
10579  ** @param uint16_t          colors
10580  ** @param uint16_t          planes
10581  ** @returns xcb_alloc_color_cells_cookie_t
10582  **
10583  *****************************************************************************/
10584 
10585 xcb_alloc_color_cells_cookie_t
10586 xcb_alloc_color_cells_unchecked (xcb_connection_t *c  /**< */,
10587                                  uint8_t           contiguous  /**< */,
10588                                  xcb_colormap_t    cmap  /**< */,
10589                                  uint16_t          colors  /**< */,
10590                                  uint16_t          planes  /**< */)
10591 {
10592     static const xcb_protocol_request_t xcb_req = {
10593         /* count */ 2,
10594         /* ext */ 0,
10595         /* opcode */ XCB_ALLOC_COLOR_CELLS,
10596         /* isvoid */ 0
10597     };
10598 
10599     struct iovec xcb_parts[4];
10600     xcb_alloc_color_cells_cookie_t xcb_ret;
10601     xcb_alloc_color_cells_request_t xcb_out;
10602 
10603     xcb_out.contiguous = contiguous;
10604     xcb_out.cmap = cmap;
10605     xcb_out.colors = colors;
10606     xcb_out.planes = planes;
10607 
10608     xcb_parts[2].iov_base = (char *) &xcb_out;
10609     xcb_parts[2].iov_len = sizeof(xcb_out);
10610     xcb_parts[3].iov_base = 0;
10611     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10612     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10613     return xcb_ret;
10614 }
10615 
10616 
10617 /*****************************************************************************
10618  **
10619  ** uint32_t * xcb_alloc_color_cells_pixels
10620  **
10621  ** @param const xcb_alloc_color_cells_reply_t *R
10622  ** @returns uint32_t *
10623  **
10624  *****************************************************************************/
10625 
10626 uint32_t *
10627 xcb_alloc_color_cells_pixels (const xcb_alloc_color_cells_reply_t *R  /**< */)
10628 {
10629     return (uint32_t *) (R + 1);
10630 }
10631 
10632 
10633 /*****************************************************************************
10634  **
10635  ** int xcb_alloc_color_cells_pixels_length
10636  **
10637  ** @param const xcb_alloc_color_cells_reply_t *R
10638  ** @returns int
10639  **
10640  *****************************************************************************/
10641 
10642 int
10643 xcb_alloc_color_cells_pixels_length (const xcb_alloc_color_cells_reply_t *R  /**< */)
10644 {
10645     return R->pixels_len;
10646 }
10647 
10648 
10649 /*****************************************************************************
10650  **
10651  ** xcb_generic_iterator_t xcb_alloc_color_cells_pixels_end
10652  **
10653  ** @param const xcb_alloc_color_cells_reply_t *R
10654  ** @returns xcb_generic_iterator_t
10655  **
10656  *****************************************************************************/
10657 
10658 xcb_generic_iterator_t
10659 xcb_alloc_color_cells_pixels_end (const xcb_alloc_color_cells_reply_t *R  /**< */)
10660 {
10661     xcb_generic_iterator_t i;
10662     i.data = ((uint32_t *) (R + 1)) + (R->pixels_len);
10663     i.rem = 0;
10664     i.index = (char *) i.data - (char *) R;
10665     return i;
10666 }
10667 
10668 
10669 /*****************************************************************************
10670  **
10671  ** uint32_t * xcb_alloc_color_cells_masks
10672  **
10673  ** @param const xcb_alloc_color_cells_reply_t *R
10674  ** @returns uint32_t *
10675  **
10676  *****************************************************************************/
10677 
10678 uint32_t *
10679 xcb_alloc_color_cells_masks (const xcb_alloc_color_cells_reply_t *R  /**< */)
10680 {
10681     xcb_generic_iterator_t prev = xcb_alloc_color_cells_pixels_end(R);
10682     return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
10683 }
10684 
10685 
10686 /*****************************************************************************
10687  **
10688  ** int xcb_alloc_color_cells_masks_length
10689  **
10690  ** @param const xcb_alloc_color_cells_reply_t *R
10691  ** @returns int
10692  **
10693  *****************************************************************************/
10694 
10695 int
10696 xcb_alloc_color_cells_masks_length (const xcb_alloc_color_cells_reply_t *R  /**< */)
10697 {
10698     return R->masks_len;
10699 }
10700 
10701 
10702 /*****************************************************************************
10703  **
10704  ** xcb_generic_iterator_t xcb_alloc_color_cells_masks_end
10705  **
10706  ** @param const xcb_alloc_color_cells_reply_t *R
10707  ** @returns xcb_generic_iterator_t
10708  **
10709  *****************************************************************************/
10710 
10711 xcb_generic_iterator_t
10712 xcb_alloc_color_cells_masks_end (const xcb_alloc_color_cells_reply_t *R  /**< */)
10713 {
10714     xcb_generic_iterator_t i;
10715     xcb_generic_iterator_t child = xcb_alloc_color_cells_pixels_end(R);
10716     i.data = ((uint32_t *) child.data) + (R->masks_len);
10717     i.rem = 0;
10718     i.index = (char *) i.data - (char *) R;
10719     return i;
10720 }
10721 
10722 
10723 /*****************************************************************************
10724  **
10725  ** xcb_alloc_color_cells_reply_t * xcb_alloc_color_cells_reply
10726  **
10727  ** @param xcb_connection_t                *c
10728  ** @param xcb_alloc_color_cells_cookie_t   cookie
10729  ** @param xcb_generic_error_t            **e
10730  ** @returns xcb_alloc_color_cells_reply_t *
10731  **
10732  *****************************************************************************/
10733 
10734 xcb_alloc_color_cells_reply_t *
10735 xcb_alloc_color_cells_reply (xcb_connection_t                *c  /**< */,
10736                              xcb_alloc_color_cells_cookie_t   cookie  /**< */,
10737                              xcb_generic_error_t            **e  /**< */)
10738 {
10739     return (xcb_alloc_color_cells_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
10740 }
10741 
10742 
10743 /*****************************************************************************
10744  **
10745  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes
10746  **
10747  ** @param xcb_connection_t *c
10748  ** @param uint8_t           contiguous
10749  ** @param xcb_colormap_t    cmap
10750  ** @param uint16_t          colors
10751  ** @param uint16_t          reds
10752  ** @param uint16_t          greens
10753  ** @param uint16_t          blues
10754  ** @returns xcb_alloc_color_planes_cookie_t
10755  **
10756  *****************************************************************************/
10757 
10758 xcb_alloc_color_planes_cookie_t
10759 xcb_alloc_color_planes (xcb_connection_t *c  /**< */,
10760                         uint8_t           contiguous  /**< */,
10761                         xcb_colormap_t    cmap  /**< */,
10762                         uint16_t          colors  /**< */,
10763                         uint16_t          reds  /**< */,
10764                         uint16_t          greens  /**< */,
10765                         uint16_t          blues  /**< */)
10766 {
10767     static const xcb_protocol_request_t xcb_req = {
10768         /* count */ 2,
10769         /* ext */ 0,
10770         /* opcode */ XCB_ALLOC_COLOR_PLANES,
10771         /* isvoid */ 0
10772     };
10773 
10774     struct iovec xcb_parts[4];
10775     xcb_alloc_color_planes_cookie_t xcb_ret;
10776     xcb_alloc_color_planes_request_t xcb_out;
10777 
10778     xcb_out.contiguous = contiguous;
10779     xcb_out.cmap = cmap;
10780     xcb_out.colors = colors;
10781     xcb_out.reds = reds;
10782     xcb_out.greens = greens;
10783     xcb_out.blues = blues;
10784 
10785     xcb_parts[2].iov_base = (char *) &xcb_out;
10786     xcb_parts[2].iov_len = sizeof(xcb_out);
10787     xcb_parts[3].iov_base = 0;
10788     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10789     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10790     return xcb_ret;
10791 }
10792 
10793 
10794 /*****************************************************************************
10795  **
10796  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes_unchecked
10797  **
10798  ** @param xcb_connection_t *c
10799  ** @param uint8_t           contiguous
10800  ** @param xcb_colormap_t    cmap
10801  ** @param uint16_t          colors
10802  ** @param uint16_t          reds
10803  ** @param uint16_t          greens
10804  ** @param uint16_t          blues
10805  ** @returns xcb_alloc_color_planes_cookie_t
10806  **
10807  *****************************************************************************/
10808 
10809 xcb_alloc_color_planes_cookie_t
10810 xcb_alloc_color_planes_unchecked (xcb_connection_t *c  /**< */,
10811                                   uint8_t           contiguous  /**< */,
10812                                   xcb_colormap_t    cmap  /**< */,
10813                                   uint16_t          colors  /**< */,
10814                                   uint16_t          reds  /**< */,
10815                                   uint16_t          greens  /**< */,
10816                                   uint16_t          blues  /**< */)
10817 {
10818     static const xcb_protocol_request_t xcb_req = {
10819         /* count */ 2,
10820         /* ext */ 0,
10821         /* opcode */ XCB_ALLOC_COLOR_PLANES,
10822         /* isvoid */ 0
10823     };
10824 
10825     struct iovec xcb_parts[4];
10826     xcb_alloc_color_planes_cookie_t xcb_ret;
10827     xcb_alloc_color_planes_request_t xcb_out;
10828 
10829     xcb_out.contiguous = contiguous;
10830     xcb_out.cmap = cmap;
10831     xcb_out.colors = colors;
10832     xcb_out.reds = reds;
10833     xcb_out.greens = greens;
10834     xcb_out.blues = blues;
10835 
10836     xcb_parts[2].iov_base = (char *) &xcb_out;
10837     xcb_parts[2].iov_len = sizeof(xcb_out);
10838     xcb_parts[3].iov_base = 0;
10839     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10840     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
10841     return xcb_ret;
10842 }
10843 
10844 
10845 /*****************************************************************************
10846  **
10847  ** uint32_t * xcb_alloc_color_planes_pixels
10848  **
10849  ** @param const xcb_alloc_color_planes_reply_t *R
10850  ** @returns uint32_t *
10851  **
10852  *****************************************************************************/
10853 
10854 uint32_t *
10855 xcb_alloc_color_planes_pixels (const xcb_alloc_color_planes_reply_t *R  /**< */)
10856 {
10857     return (uint32_t *) (R + 1);
10858 }
10859 
10860 
10861 /*****************************************************************************
10862  **
10863  ** int xcb_alloc_color_planes_pixels_length
10864  **
10865  ** @param const xcb_alloc_color_planes_reply_t *R
10866  ** @returns int
10867  **
10868  *****************************************************************************/
10869 
10870 int
10871 xcb_alloc_color_planes_pixels_length (const xcb_alloc_color_planes_reply_t *R  /**< */)
10872 {
10873     return R->pixels_len;
10874 }
10875 
10876 
10877 /*****************************************************************************
10878  **
10879  ** xcb_generic_iterator_t xcb_alloc_color_planes_pixels_end
10880  **
10881  ** @param const xcb_alloc_color_planes_reply_t *R
10882  ** @returns xcb_generic_iterator_t
10883  **
10884  *****************************************************************************/
10885 
10886 xcb_generic_iterator_t
10887 xcb_alloc_color_planes_pixels_end (const xcb_alloc_color_planes_reply_t *R  /**< */)
10888 {
10889     xcb_generic_iterator_t i;
10890     i.data = ((uint32_t *) (R + 1)) + (R->pixels_len);
10891     i.rem = 0;
10892     i.index = (char *) i.data - (char *) R;
10893     return i;
10894 }
10895 
10896 
10897 /*****************************************************************************
10898  **
10899  ** xcb_alloc_color_planes_reply_t * xcb_alloc_color_planes_reply
10900  **
10901  ** @param xcb_connection_t                 *c
10902  ** @param xcb_alloc_color_planes_cookie_t   cookie
10903  ** @param xcb_generic_error_t             **e
10904  ** @returns xcb_alloc_color_planes_reply_t *
10905  **
10906  *****************************************************************************/
10907 
10908 xcb_alloc_color_planes_reply_t *
10909 xcb_alloc_color_planes_reply (xcb_connection_t                 *c  /**< */,
10910                               xcb_alloc_color_planes_cookie_t   cookie  /**< */,
10911                               xcb_generic_error_t             **e  /**< */)
10912 {
10913     return (xcb_alloc_color_planes_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
10914 }
10915 
10916 
10917 /*****************************************************************************
10918  **
10919  ** xcb_void_cookie_t xcb_free_colors_checked
10920  **
10921  ** @param xcb_connection_t *c
10922  ** @param xcb_colormap_t    cmap
10923  ** @param uint32_t          plane_mask
10924  ** @param uint32_t          pixels_len
10925  ** @param const uint32_t   *pixels
10926  ** @returns xcb_void_cookie_t
10927  **
10928  *****************************************************************************/
10929 
10930 xcb_void_cookie_t
10931 xcb_free_colors_checked (xcb_connection_t *c  /**< */,
10932                          xcb_colormap_t    cmap  /**< */,
10933                          uint32_t          plane_mask  /**< */,
10934                          uint32_t          pixels_len  /**< */,
10935                          const uint32_t   *pixels  /**< */)
10936 {
10937     static const xcb_protocol_request_t xcb_req = {
10938         /* count */ 4,
10939         /* ext */ 0,
10940         /* opcode */ XCB_FREE_COLORS,
10941         /* isvoid */ 1
10942     };
10943 
10944     struct iovec xcb_parts[6];
10945     xcb_void_cookie_t xcb_ret;
10946     xcb_free_colors_request_t xcb_out;
10947 
10948     xcb_out.pad0 = 0;
10949     xcb_out.cmap = cmap;
10950     xcb_out.plane_mask = plane_mask;
10951 
10952     xcb_parts[2].iov_base = (char *) &xcb_out;
10953     xcb_parts[2].iov_len = sizeof(xcb_out);
10954     xcb_parts[3].iov_base = 0;
10955     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
10956     xcb_parts[4].iov_base = (char *) pixels;
10957     xcb_parts[4].iov_len = pixels_len * sizeof(uint32_t);
10958     xcb_parts[5].iov_base = 0;
10959     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
10960     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
10961     return xcb_ret;
10962 }
10963 
10964 
10965 /*****************************************************************************
10966  **
10967  ** xcb_void_cookie_t xcb_free_colors
10968  **
10969  ** @param xcb_connection_t *c
10970  ** @param xcb_colormap_t    cmap
10971  ** @param uint32_t          plane_mask
10972  ** @param uint32_t          pixels_len
10973  ** @param const uint32_t   *pixels
10974  ** @returns xcb_void_cookie_t
10975  **
10976  *****************************************************************************/
10977 
10978 xcb_void_cookie_t
10979 xcb_free_colors (xcb_connection_t *c  /**< */,
10980                  xcb_colormap_t    cmap  /**< */,
10981                  uint32_t          plane_mask  /**< */,
10982                  uint32_t          pixels_len  /**< */,
10983                  const uint32_t   *pixels  /**< */)
10984 {
10985     static const xcb_protocol_request_t xcb_req = {
10986         /* count */ 4,
10987         /* ext */ 0,
10988         /* opcode */ XCB_FREE_COLORS,
10989         /* isvoid */ 1
10990     };
10991 
10992     struct iovec xcb_parts[6];
10993     xcb_void_cookie_t xcb_ret;
10994     xcb_free_colors_request_t xcb_out;
10995 
10996     xcb_out.pad0 = 0;
10997     xcb_out.cmap = cmap;
10998     xcb_out.plane_mask = plane_mask;
10999 
11000     xcb_parts[2].iov_base = (char *) &xcb_out;
11001     xcb_parts[2].iov_len = sizeof(xcb_out);
11002     xcb_parts[3].iov_base = 0;
11003     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11004     xcb_parts[4].iov_base = (char *) pixels;
11005     xcb_parts[4].iov_len = pixels_len * sizeof(uint32_t);
11006     xcb_parts[5].iov_base = 0;
11007     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11008     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11009     return xcb_ret;
11010 }
11011 
11012 
11013 /*****************************************************************************
11014  **
11015  ** void xcb_coloritem_next
11016  **
11017  ** @param xcb_coloritem_iterator_t *i
11018  ** @returns void
11019  **
11020  *****************************************************************************/
11021 
11022 void
11023 xcb_coloritem_next (xcb_coloritem_iterator_t *i  /**< */)
11024 {
11025     --i->rem;
11026     ++i->data;
11027     i->index += sizeof(xcb_coloritem_t);
11028 }
11029 
11030 
11031 /*****************************************************************************
11032  **
11033  ** xcb_generic_iterator_t xcb_coloritem_end
11034  **
11035  ** @param xcb_coloritem_iterator_t i
11036  ** @returns xcb_generic_iterator_t
11037  **
11038  *****************************************************************************/
11039 
11040 xcb_generic_iterator_t
11041 xcb_coloritem_end (xcb_coloritem_iterator_t i  /**< */)
11042 {
11043     xcb_generic_iterator_t ret;
11044     ret.data = i.data + i.rem;
11045     ret.index = i.index + ((char *) ret.data - (char *) i.data);
11046     ret.rem = 0;
11047     return ret;
11048 }
11049 
11050 
11051 /*****************************************************************************
11052  **
11053  ** xcb_void_cookie_t xcb_store_colors_checked
11054  **
11055  ** @param xcb_connection_t      *c
11056  ** @param xcb_colormap_t         cmap
11057  ** @param uint32_t               items_len
11058  ** @param const xcb_coloritem_t *items
11059  ** @returns xcb_void_cookie_t
11060  **
11061  *****************************************************************************/
11062 
11063 xcb_void_cookie_t
11064 xcb_store_colors_checked (xcb_connection_t      *c  /**< */,
11065                           xcb_colormap_t         cmap  /**< */,
11066                           uint32_t               items_len  /**< */,
11067                           const xcb_coloritem_t *items  /**< */)
11068 {
11069     static const xcb_protocol_request_t xcb_req = {
11070         /* count */ 4,
11071         /* ext */ 0,
11072         /* opcode */ XCB_STORE_COLORS,
11073         /* isvoid */ 1
11074     };
11075 
11076     struct iovec xcb_parts[6];
11077     xcb_void_cookie_t xcb_ret;
11078     xcb_store_colors_request_t xcb_out;
11079 
11080     xcb_out.pad0 = 0;
11081     xcb_out.cmap = cmap;
11082 
11083     xcb_parts[2].iov_base = (char *) &xcb_out;
11084     xcb_parts[2].iov_len = sizeof(xcb_out);
11085     xcb_parts[3].iov_base = 0;
11086     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11087     xcb_parts[4].iov_base = (char *) items;
11088     xcb_parts[4].iov_len = items_len * sizeof(xcb_coloritem_t);
11089     xcb_parts[5].iov_base = 0;
11090     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11091     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11092     return xcb_ret;
11093 }
11094 
11095 
11096 /*****************************************************************************
11097  **
11098  ** xcb_void_cookie_t xcb_store_colors
11099  **
11100  ** @param xcb_connection_t      *c
11101  ** @param xcb_colormap_t         cmap
11102  ** @param uint32_t               items_len
11103  ** @param const xcb_coloritem_t *items
11104  ** @returns xcb_void_cookie_t
11105  **
11106  *****************************************************************************/
11107 
11108 xcb_void_cookie_t
11109 xcb_store_colors (xcb_connection_t      *c  /**< */,
11110                   xcb_colormap_t         cmap  /**< */,
11111                   uint32_t               items_len  /**< */,
11112                   const xcb_coloritem_t *items  /**< */)
11113 {
11114     static const xcb_protocol_request_t xcb_req = {
11115         /* count */ 4,
11116         /* ext */ 0,
11117         /* opcode */ XCB_STORE_COLORS,
11118         /* isvoid */ 1
11119     };
11120 
11121     struct iovec xcb_parts[6];
11122     xcb_void_cookie_t xcb_ret;
11123     xcb_store_colors_request_t xcb_out;
11124 
11125     xcb_out.pad0 = 0;
11126     xcb_out.cmap = cmap;
11127 
11128     xcb_parts[2].iov_base = (char *) &xcb_out;
11129     xcb_parts[2].iov_len = sizeof(xcb_out);
11130     xcb_parts[3].iov_base = 0;
11131     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11132     xcb_parts[4].iov_base = (char *) items;
11133     xcb_parts[4].iov_len = items_len * sizeof(xcb_coloritem_t);
11134     xcb_parts[5].iov_base = 0;
11135     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11136     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11137     return xcb_ret;
11138 }
11139 
11140 
11141 /*****************************************************************************
11142  **
11143  ** xcb_void_cookie_t xcb_store_named_color_checked
11144  **
11145  ** @param xcb_connection_t *c
11146  ** @param uint8_t           flags
11147  ** @param xcb_colormap_t    cmap
11148  ** @param uint32_t          pixel
11149  ** @param uint16_t          name_len
11150  ** @param const char       *name
11151  ** @returns xcb_void_cookie_t
11152  **
11153  *****************************************************************************/
11154 
11155 xcb_void_cookie_t
11156 xcb_store_named_color_checked (xcb_connection_t *c  /**< */,
11157                                uint8_t           flags  /**< */,
11158                                xcb_colormap_t    cmap  /**< */,
11159                                uint32_t          pixel  /**< */,
11160                                uint16_t          name_len  /**< */,
11161                                const char       *name  /**< */)
11162 {
11163     static const xcb_protocol_request_t xcb_req = {
11164         /* count */ 4,
11165         /* ext */ 0,
11166         /* opcode */ XCB_STORE_NAMED_COLOR,
11167         /* isvoid */ 1
11168     };
11169 
11170     struct iovec xcb_parts[6];
11171     xcb_void_cookie_t xcb_ret;
11172     xcb_store_named_color_request_t xcb_out;
11173 
11174     xcb_out.flags = flags;
11175     xcb_out.cmap = cmap;
11176     xcb_out.pixel = pixel;
11177     xcb_out.name_len = name_len;
11178     memset(xcb_out.pad0, 0, 2);
11179 
11180     xcb_parts[2].iov_base = (char *) &xcb_out;
11181     xcb_parts[2].iov_len = sizeof(xcb_out);
11182     xcb_parts[3].iov_base = 0;
11183     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11184     xcb_parts[4].iov_base = (char *) name;
11185     xcb_parts[4].iov_len = name_len * sizeof(char);
11186     xcb_parts[5].iov_base = 0;
11187     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11188     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11189     return xcb_ret;
11190 }
11191 
11192 
11193 /*****************************************************************************
11194  **
11195  ** xcb_void_cookie_t xcb_store_named_color
11196  **
11197  ** @param xcb_connection_t *c
11198  ** @param uint8_t           flags
11199  ** @param xcb_colormap_t    cmap
11200  ** @param uint32_t          pixel
11201  ** @param uint16_t          name_len
11202  ** @param const char       *name
11203  ** @returns xcb_void_cookie_t
11204  **
11205  *****************************************************************************/
11206 
11207 xcb_void_cookie_t
11208 xcb_store_named_color (xcb_connection_t *c  /**< */,
11209                        uint8_t           flags  /**< */,
11210                        xcb_colormap_t    cmap  /**< */,
11211                        uint32_t          pixel  /**< */,
11212                        uint16_t          name_len  /**< */,
11213                        const char       *name  /**< */)
11214 {
11215     static const xcb_protocol_request_t xcb_req = {
11216         /* count */ 4,
11217         /* ext */ 0,
11218         /* opcode */ XCB_STORE_NAMED_COLOR,
11219         /* isvoid */ 1
11220     };
11221 
11222     struct iovec xcb_parts[6];
11223     xcb_void_cookie_t xcb_ret;
11224     xcb_store_named_color_request_t xcb_out;
11225 
11226     xcb_out.flags = flags;
11227     xcb_out.cmap = cmap;
11228     xcb_out.pixel = pixel;
11229     xcb_out.name_len = name_len;
11230     memset(xcb_out.pad0, 0, 2);
11231 
11232     xcb_parts[2].iov_base = (char *) &xcb_out;
11233     xcb_parts[2].iov_len = sizeof(xcb_out);
11234     xcb_parts[3].iov_base = 0;
11235     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11236     xcb_parts[4].iov_base = (char *) name;
11237     xcb_parts[4].iov_len = name_len * sizeof(char);
11238     xcb_parts[5].iov_base = 0;
11239     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11240     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11241     return xcb_ret;
11242 }
11243 
11244 
11245 /*****************************************************************************
11246  **
11247  ** void xcb_rgb_next
11248  **
11249  ** @param xcb_rgb_iterator_t *i
11250  ** @returns void
11251  **
11252  *****************************************************************************/
11253 
11254 void
11255 xcb_rgb_next (xcb_rgb_iterator_t *i  /**< */)
11256 {
11257     --i->rem;
11258     ++i->data;
11259     i->index += sizeof(xcb_rgb_t);
11260 }
11261 
11262 
11263 /*****************************************************************************
11264  **
11265  ** xcb_generic_iterator_t xcb_rgb_end
11266  **
11267  ** @param xcb_rgb_iterator_t i
11268  ** @returns xcb_generic_iterator_t
11269  **
11270  *****************************************************************************/
11271 
11272 xcb_generic_iterator_t
11273 xcb_rgb_end (xcb_rgb_iterator_t i  /**< */)
11274 {
11275     xcb_generic_iterator_t ret;
11276     ret.data = i.data + i.rem;
11277     ret.index = i.index + ((char *) ret.data - (char *) i.data);
11278     ret.rem = 0;
11279     return ret;
11280 }
11281 
11282 
11283 /*****************************************************************************
11284  **
11285  ** xcb_query_colors_cookie_t xcb_query_colors
11286  **
11287  ** @param xcb_connection_t *c
11288  ** @param xcb_colormap_t    cmap
11289  ** @param uint32_t          pixels_len
11290  ** @param const uint32_t   *pixels
11291  ** @returns xcb_query_colors_cookie_t
11292  **
11293  *****************************************************************************/
11294 
11295 xcb_query_colors_cookie_t
11296 xcb_query_colors (xcb_connection_t *c  /**< */,
11297                   xcb_colormap_t    cmap  /**< */,
11298                   uint32_t          pixels_len  /**< */,
11299                   const uint32_t   *pixels  /**< */)
11300 {
11301     static const xcb_protocol_request_t xcb_req = {
11302         /* count */ 4,
11303         /* ext */ 0,
11304         /* opcode */ XCB_QUERY_COLORS,
11305         /* isvoid */ 0
11306     };
11307 
11308     struct iovec xcb_parts[6];
11309     xcb_query_colors_cookie_t xcb_ret;
11310     xcb_query_colors_request_t xcb_out;
11311 
11312     xcb_out.pad0 = 0;
11313     xcb_out.cmap = cmap;
11314 
11315     xcb_parts[2].iov_base = (char *) &xcb_out;
11316     xcb_parts[2].iov_len = sizeof(xcb_out);
11317     xcb_parts[3].iov_base = 0;
11318     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11319     xcb_parts[4].iov_base = (char *) pixels;
11320     xcb_parts[4].iov_len = pixels_len * sizeof(uint32_t);
11321     xcb_parts[5].iov_base = 0;
11322     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11323     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11324     return xcb_ret;
11325 }
11326 
11327 
11328 /*****************************************************************************
11329  **
11330  ** xcb_query_colors_cookie_t xcb_query_colors_unchecked
11331  **
11332  ** @param xcb_connection_t *c
11333  ** @param xcb_colormap_t    cmap
11334  ** @param uint32_t          pixels_len
11335  ** @param const uint32_t   *pixels
11336  ** @returns xcb_query_colors_cookie_t
11337  **
11338  *****************************************************************************/
11339 
11340 xcb_query_colors_cookie_t
11341 xcb_query_colors_unchecked (xcb_connection_t *c  /**< */,
11342                             xcb_colormap_t    cmap  /**< */,
11343                             uint32_t          pixels_len  /**< */,
11344                             const uint32_t   *pixels  /**< */)
11345 {
11346     static const xcb_protocol_request_t xcb_req = {
11347         /* count */ 4,
11348         /* ext */ 0,
11349         /* opcode */ XCB_QUERY_COLORS,
11350         /* isvoid */ 0
11351     };
11352 
11353     struct iovec xcb_parts[6];
11354     xcb_query_colors_cookie_t xcb_ret;
11355     xcb_query_colors_request_t xcb_out;
11356 
11357     xcb_out.pad0 = 0;
11358     xcb_out.cmap = cmap;
11359 
11360     xcb_parts[2].iov_base = (char *) &xcb_out;
11361     xcb_parts[2].iov_len = sizeof(xcb_out);
11362     xcb_parts[3].iov_base = 0;
11363     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11364     xcb_parts[4].iov_base = (char *) pixels;
11365     xcb_parts[4].iov_len = pixels_len * sizeof(uint32_t);
11366     xcb_parts[5].iov_base = 0;
11367     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11368     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11369     return xcb_ret;
11370 }
11371 
11372 
11373 /*****************************************************************************
11374  **
11375  ** xcb_rgb_t * xcb_query_colors_colors
11376  **
11377  ** @param const xcb_query_colors_reply_t *R
11378  ** @returns xcb_rgb_t *
11379  **
11380  *****************************************************************************/
11381 
11382 xcb_rgb_t *
11383 xcb_query_colors_colors (const xcb_query_colors_reply_t *R  /**< */)
11384 {
11385     return (xcb_rgb_t *) (R + 1);
11386 }
11387 
11388 
11389 /*****************************************************************************
11390  **
11391  ** int xcb_query_colors_colors_length
11392  **
11393  ** @param const xcb_query_colors_reply_t *R
11394  ** @returns int
11395  **
11396  *****************************************************************************/
11397 
11398 int
11399 xcb_query_colors_colors_length (const xcb_query_colors_reply_t *R  /**< */)
11400 {
11401     return R->colors_len;
11402 }
11403 
11404 
11405 /*****************************************************************************
11406  **
11407  ** xcb_rgb_iterator_t xcb_query_colors_colors_iterator
11408  **
11409  ** @param const xcb_query_colors_reply_t *R
11410  ** @returns xcb_rgb_iterator_t
11411  **
11412  *****************************************************************************/
11413 
11414 xcb_rgb_iterator_t
11415 xcb_query_colors_colors_iterator (const xcb_query_colors_reply_t *R  /**< */)
11416 {
11417     xcb_rgb_iterator_t i;
11418     i.data = (xcb_rgb_t *) (R + 1);
11419     i.rem = R->colors_len;
11420     i.index = (char *) i.data - (char *) R;
11421     return i;
11422 }
11423 
11424 
11425 /*****************************************************************************
11426  **
11427  ** xcb_query_colors_reply_t * xcb_query_colors_reply
11428  **
11429  ** @param xcb_connection_t           *c
11430  ** @param xcb_query_colors_cookie_t   cookie
11431  ** @param xcb_generic_error_t       **e
11432  ** @returns xcb_query_colors_reply_t *
11433  **
11434  *****************************************************************************/
11435 
11436 xcb_query_colors_reply_t *
11437 xcb_query_colors_reply (xcb_connection_t           *c  /**< */,
11438                         xcb_query_colors_cookie_t   cookie  /**< */,
11439                         xcb_generic_error_t       **e  /**< */)
11440 {
11441     return (xcb_query_colors_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
11442 }
11443 
11444 
11445 /*****************************************************************************
11446  **
11447  ** xcb_lookup_color_cookie_t xcb_lookup_color
11448  **
11449  ** @param xcb_connection_t *c
11450  ** @param xcb_colormap_t    cmap
11451  ** @param uint16_t          name_len
11452  ** @param const char       *name
11453  ** @returns xcb_lookup_color_cookie_t
11454  **
11455  *****************************************************************************/
11456 
11457 xcb_lookup_color_cookie_t
11458 xcb_lookup_color (xcb_connection_t *c  /**< */,
11459                   xcb_colormap_t    cmap  /**< */,
11460                   uint16_t          name_len  /**< */,
11461                   const char       *name  /**< */)
11462 {
11463     static const xcb_protocol_request_t xcb_req = {
11464         /* count */ 4,
11465         /* ext */ 0,
11466         /* opcode */ XCB_LOOKUP_COLOR,
11467         /* isvoid */ 0
11468     };
11469 
11470     struct iovec xcb_parts[6];
11471     xcb_lookup_color_cookie_t xcb_ret;
11472     xcb_lookup_color_request_t xcb_out;
11473 
11474     xcb_out.pad0 = 0;
11475     xcb_out.cmap = cmap;
11476     xcb_out.name_len = name_len;
11477     memset(xcb_out.pad1, 0, 2);
11478 
11479     xcb_parts[2].iov_base = (char *) &xcb_out;
11480     xcb_parts[2].iov_len = sizeof(xcb_out);
11481     xcb_parts[3].iov_base = 0;
11482     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11483     xcb_parts[4].iov_base = (char *) name;
11484     xcb_parts[4].iov_len = name_len * sizeof(char);
11485     xcb_parts[5].iov_base = 0;
11486     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11487     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11488     return xcb_ret;
11489 }
11490 
11491 
11492 /*****************************************************************************
11493  **
11494  ** xcb_lookup_color_cookie_t xcb_lookup_color_unchecked
11495  **
11496  ** @param xcb_connection_t *c
11497  ** @param xcb_colormap_t    cmap
11498  ** @param uint16_t          name_len
11499  ** @param const char       *name
11500  ** @returns xcb_lookup_color_cookie_t
11501  **
11502  *****************************************************************************/
11503 
11504 xcb_lookup_color_cookie_t
11505 xcb_lookup_color_unchecked (xcb_connection_t *c  /**< */,
11506                             xcb_colormap_t    cmap  /**< */,
11507                             uint16_t          name_len  /**< */,
11508                             const char       *name  /**< */)
11509 {
11510     static const xcb_protocol_request_t xcb_req = {
11511         /* count */ 4,
11512         /* ext */ 0,
11513         /* opcode */ XCB_LOOKUP_COLOR,
11514         /* isvoid */ 0
11515     };
11516 
11517     struct iovec xcb_parts[6];
11518     xcb_lookup_color_cookie_t xcb_ret;
11519     xcb_lookup_color_request_t xcb_out;
11520 
11521     xcb_out.pad0 = 0;
11522     xcb_out.cmap = cmap;
11523     xcb_out.name_len = name_len;
11524     memset(xcb_out.pad1, 0, 2);
11525 
11526     xcb_parts[2].iov_base = (char *) &xcb_out;
11527     xcb_parts[2].iov_len = sizeof(xcb_out);
11528     xcb_parts[3].iov_base = 0;
11529     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11530     xcb_parts[4].iov_base = (char *) name;
11531     xcb_parts[4].iov_len = name_len * sizeof(char);
11532     xcb_parts[5].iov_base = 0;
11533     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
11534     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11535     return xcb_ret;
11536 }
11537 
11538 
11539 /*****************************************************************************
11540  **
11541  ** xcb_lookup_color_reply_t * xcb_lookup_color_reply
11542  **
11543  ** @param xcb_connection_t           *c
11544  ** @param xcb_lookup_color_cookie_t   cookie
11545  ** @param xcb_generic_error_t       **e
11546  ** @returns xcb_lookup_color_reply_t *
11547  **
11548  *****************************************************************************/
11549 
11550 xcb_lookup_color_reply_t *
11551 xcb_lookup_color_reply (xcb_connection_t           *c  /**< */,
11552                         xcb_lookup_color_cookie_t   cookie  /**< */,
11553                         xcb_generic_error_t       **e  /**< */)
11554 {
11555     return (xcb_lookup_color_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
11556 }
11557 
11558 
11559 /*****************************************************************************
11560  **
11561  ** xcb_void_cookie_t xcb_create_cursor_checked
11562  **
11563  ** @param xcb_connection_t *c
11564  ** @param xcb_cursor_t      cid
11565  ** @param xcb_pixmap_t      source
11566  ** @param xcb_pixmap_t      mask
11567  ** @param uint16_t          fore_red
11568  ** @param uint16_t          fore_green
11569  ** @param uint16_t          fore_blue
11570  ** @param uint16_t          back_red
11571  ** @param uint16_t          back_green
11572  ** @param uint16_t          back_blue
11573  ** @param uint16_t          x
11574  ** @param uint16_t          y
11575  ** @returns xcb_void_cookie_t
11576  **
11577  *****************************************************************************/
11578 
11579 xcb_void_cookie_t
11580 xcb_create_cursor_checked (xcb_connection_t *c  /**< */,
11581                            xcb_cursor_t      cid  /**< */,
11582                            xcb_pixmap_t      source  /**< */,
11583                            xcb_pixmap_t      mask  /**< */,
11584                            uint16_t          fore_red  /**< */,
11585                            uint16_t          fore_green  /**< */,
11586                            uint16_t          fore_blue  /**< */,
11587                            uint16_t          back_red  /**< */,
11588                            uint16_t          back_green  /**< */,
11589                            uint16_t          back_blue  /**< */,
11590                            uint16_t          x  /**< */,
11591                            uint16_t          y  /**< */)
11592 {
11593     static const xcb_protocol_request_t xcb_req = {
11594         /* count */ 2,
11595         /* ext */ 0,
11596         /* opcode */ XCB_CREATE_CURSOR,
11597         /* isvoid */ 1
11598     };
11599 
11600     struct iovec xcb_parts[4];
11601     xcb_void_cookie_t xcb_ret;
11602     xcb_create_cursor_request_t xcb_out;
11603 
11604     xcb_out.pad0 = 0;
11605     xcb_out.cid = cid;
11606     xcb_out.source = source;
11607     xcb_out.mask = mask;
11608     xcb_out.fore_red = fore_red;
11609     xcb_out.fore_green = fore_green;
11610     xcb_out.fore_blue = fore_blue;
11611     xcb_out.back_red = back_red;
11612     xcb_out.back_green = back_green;
11613     xcb_out.back_blue = back_blue;
11614     xcb_out.x = x;
11615     xcb_out.y = y;
11616 
11617     xcb_parts[2].iov_base = (char *) &xcb_out;
11618     xcb_parts[2].iov_len = sizeof(xcb_out);
11619     xcb_parts[3].iov_base = 0;
11620     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11621     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11622     return xcb_ret;
11623 }
11624 
11625 
11626 /*****************************************************************************
11627  **
11628  ** xcb_void_cookie_t xcb_create_cursor
11629  **
11630  ** @param xcb_connection_t *c
11631  ** @param xcb_cursor_t      cid
11632  ** @param xcb_pixmap_t      source
11633  ** @param xcb_pixmap_t      mask
11634  ** @param uint16_t          fore_red
11635  ** @param uint16_t          fore_green
11636  ** @param uint16_t          fore_blue
11637  ** @param uint16_t          back_red
11638  ** @param uint16_t          back_green
11639  ** @param uint16_t          back_blue
11640  ** @param uint16_t          x
11641  ** @param uint16_t          y
11642  ** @returns xcb_void_cookie_t
11643  **
11644  *****************************************************************************/
11645 
11646 xcb_void_cookie_t
11647 xcb_create_cursor (xcb_connection_t *c  /**< */,
11648                    xcb_cursor_t      cid  /**< */,
11649                    xcb_pixmap_t      source  /**< */,
11650                    xcb_pixmap_t      mask  /**< */,
11651                    uint16_t          fore_red  /**< */,
11652                    uint16_t          fore_green  /**< */,
11653                    uint16_t          fore_blue  /**< */,
11654                    uint16_t          back_red  /**< */,
11655                    uint16_t          back_green  /**< */,
11656                    uint16_t          back_blue  /**< */,
11657                    uint16_t          x  /**< */,
11658                    uint16_t          y  /**< */)
11659 {
11660     static const xcb_protocol_request_t xcb_req = {
11661         /* count */ 2,
11662         /* ext */ 0,
11663         /* opcode */ XCB_CREATE_CURSOR,
11664         /* isvoid */ 1
11665     };
11666 
11667     struct iovec xcb_parts[4];
11668     xcb_void_cookie_t xcb_ret;
11669     xcb_create_cursor_request_t xcb_out;
11670 
11671     xcb_out.pad0 = 0;
11672     xcb_out.cid = cid;
11673     xcb_out.source = source;
11674     xcb_out.mask = mask;
11675     xcb_out.fore_red = fore_red;
11676     xcb_out.fore_green = fore_green;
11677     xcb_out.fore_blue = fore_blue;
11678     xcb_out.back_red = back_red;
11679     xcb_out.back_green = back_green;
11680     xcb_out.back_blue = back_blue;
11681     xcb_out.x = x;
11682     xcb_out.y = y;
11683 
11684     xcb_parts[2].iov_base = (char *) &xcb_out;
11685     xcb_parts[2].iov_len = sizeof(xcb_out);
11686     xcb_parts[3].iov_base = 0;
11687     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11688     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11689     return xcb_ret;
11690 }
11691 
11692 
11693 /*****************************************************************************
11694  **
11695  ** xcb_void_cookie_t xcb_create_glyph_cursor_checked
11696  **
11697  ** @param xcb_connection_t *c
11698  ** @param xcb_cursor_t      cid
11699  ** @param xcb_font_t        source_font
11700  ** @param xcb_font_t        mask_font
11701  ** @param uint16_t          source_char
11702  ** @param uint16_t          mask_char
11703  ** @param uint16_t          fore_red
11704  ** @param uint16_t          fore_green
11705  ** @param uint16_t          fore_blue
11706  ** @param uint16_t          back_red
11707  ** @param uint16_t          back_green
11708  ** @param uint16_t          back_blue
11709  ** @returns xcb_void_cookie_t
11710  **
11711  *****************************************************************************/
11712 
11713 xcb_void_cookie_t
11714 xcb_create_glyph_cursor_checked (xcb_connection_t *c  /**< */,
11715                                  xcb_cursor_t      cid  /**< */,
11716                                  xcb_font_t        source_font  /**< */,
11717                                  xcb_font_t        mask_font  /**< */,
11718                                  uint16_t          source_char  /**< */,
11719                                  uint16_t          mask_char  /**< */,
11720                                  uint16_t          fore_red  /**< */,
11721                                  uint16_t          fore_green  /**< */,
11722                                  uint16_t          fore_blue  /**< */,
11723                                  uint16_t          back_red  /**< */,
11724                                  uint16_t          back_green  /**< */,
11725                                  uint16_t          back_blue  /**< */)
11726 {
11727     static const xcb_protocol_request_t xcb_req = {
11728         /* count */ 2,
11729         /* ext */ 0,
11730         /* opcode */ XCB_CREATE_GLYPH_CURSOR,
11731         /* isvoid */ 1
11732     };
11733 
11734     struct iovec xcb_parts[4];
11735     xcb_void_cookie_t xcb_ret;
11736     xcb_create_glyph_cursor_request_t xcb_out;
11737 
11738     xcb_out.pad0 = 0;
11739     xcb_out.cid = cid;
11740     xcb_out.source_font = source_font;
11741     xcb_out.mask_font = mask_font;
11742     xcb_out.source_char = source_char;
11743     xcb_out.mask_char = mask_char;
11744     xcb_out.fore_red = fore_red;
11745     xcb_out.fore_green = fore_green;
11746     xcb_out.fore_blue = fore_blue;
11747     xcb_out.back_red = back_red;
11748     xcb_out.back_green = back_green;
11749     xcb_out.back_blue = back_blue;
11750 
11751     xcb_parts[2].iov_base = (char *) &xcb_out;
11752     xcb_parts[2].iov_len = sizeof(xcb_out);
11753     xcb_parts[3].iov_base = 0;
11754     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11755     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11756     return xcb_ret;
11757 }
11758 
11759 
11760 /*****************************************************************************
11761  **
11762  ** xcb_void_cookie_t xcb_create_glyph_cursor
11763  **
11764  ** @param xcb_connection_t *c
11765  ** @param xcb_cursor_t      cid
11766  ** @param xcb_font_t        source_font
11767  ** @param xcb_font_t        mask_font
11768  ** @param uint16_t          source_char
11769  ** @param uint16_t          mask_char
11770  ** @param uint16_t          fore_red
11771  ** @param uint16_t          fore_green
11772  ** @param uint16_t          fore_blue
11773  ** @param uint16_t          back_red
11774  ** @param uint16_t          back_green
11775  ** @param uint16_t          back_blue
11776  ** @returns xcb_void_cookie_t
11777  **
11778  *****************************************************************************/
11779 
11780 xcb_void_cookie_t
11781 xcb_create_glyph_cursor (xcb_connection_t *c  /**< */,
11782                          xcb_cursor_t      cid  /**< */,
11783                          xcb_font_t        source_font  /**< */,
11784                          xcb_font_t        mask_font  /**< */,
11785                          uint16_t          source_char  /**< */,
11786                          uint16_t          mask_char  /**< */,
11787                          uint16_t          fore_red  /**< */,
11788                          uint16_t          fore_green  /**< */,
11789                          uint16_t          fore_blue  /**< */,
11790                          uint16_t          back_red  /**< */,
11791                          uint16_t          back_green  /**< */,
11792                          uint16_t          back_blue  /**< */)
11793 {
11794     static const xcb_protocol_request_t xcb_req = {
11795         /* count */ 2,
11796         /* ext */ 0,
11797         /* opcode */ XCB_CREATE_GLYPH_CURSOR,
11798         /* isvoid */ 1
11799     };
11800 
11801     struct iovec xcb_parts[4];
11802     xcb_void_cookie_t xcb_ret;
11803     xcb_create_glyph_cursor_request_t xcb_out;
11804 
11805     xcb_out.pad0 = 0;
11806     xcb_out.cid = cid;
11807     xcb_out.source_font = source_font;
11808     xcb_out.mask_font = mask_font;
11809     xcb_out.source_char = source_char;
11810     xcb_out.mask_char = mask_char;
11811     xcb_out.fore_red = fore_red;
11812     xcb_out.fore_green = fore_green;
11813     xcb_out.fore_blue = fore_blue;
11814     xcb_out.back_red = back_red;
11815     xcb_out.back_green = back_green;
11816     xcb_out.back_blue = back_blue;
11817 
11818     xcb_parts[2].iov_base = (char *) &xcb_out;
11819     xcb_parts[2].iov_len = sizeof(xcb_out);
11820     xcb_parts[3].iov_base = 0;
11821     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11822     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11823     return xcb_ret;
11824 }
11825 
11826 
11827 /*****************************************************************************
11828  **
11829  ** xcb_void_cookie_t xcb_free_cursor_checked
11830  **
11831  ** @param xcb_connection_t *c
11832  ** @param xcb_cursor_t      cursor
11833  ** @returns xcb_void_cookie_t
11834  **
11835  *****************************************************************************/
11836 
11837 xcb_void_cookie_t
11838 xcb_free_cursor_checked (xcb_connection_t *c  /**< */,
11839                          xcb_cursor_t      cursor  /**< */)
11840 {
11841     static const xcb_protocol_request_t xcb_req = {
11842         /* count */ 2,
11843         /* ext */ 0,
11844         /* opcode */ XCB_FREE_CURSOR,
11845         /* isvoid */ 1
11846     };
11847 
11848     struct iovec xcb_parts[4];
11849     xcb_void_cookie_t xcb_ret;
11850     xcb_free_cursor_request_t xcb_out;
11851 
11852     xcb_out.pad0 = 0;
11853     xcb_out.cursor = cursor;
11854 
11855     xcb_parts[2].iov_base = (char *) &xcb_out;
11856     xcb_parts[2].iov_len = sizeof(xcb_out);
11857     xcb_parts[3].iov_base = 0;
11858     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11859     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11860     return xcb_ret;
11861 }
11862 
11863 
11864 /*****************************************************************************
11865  **
11866  ** xcb_void_cookie_t xcb_free_cursor
11867  **
11868  ** @param xcb_connection_t *c
11869  ** @param xcb_cursor_t      cursor
11870  ** @returns xcb_void_cookie_t
11871  **
11872  *****************************************************************************/
11873 
11874 xcb_void_cookie_t
11875 xcb_free_cursor (xcb_connection_t *c  /**< */,
11876                  xcb_cursor_t      cursor  /**< */)
11877 {
11878     static const xcb_protocol_request_t xcb_req = {
11879         /* count */ 2,
11880         /* ext */ 0,
11881         /* opcode */ XCB_FREE_CURSOR,
11882         /* isvoid */ 1
11883     };
11884 
11885     struct iovec xcb_parts[4];
11886     xcb_void_cookie_t xcb_ret;
11887     xcb_free_cursor_request_t xcb_out;
11888 
11889     xcb_out.pad0 = 0;
11890     xcb_out.cursor = cursor;
11891 
11892     xcb_parts[2].iov_base = (char *) &xcb_out;
11893     xcb_parts[2].iov_len = sizeof(xcb_out);
11894     xcb_parts[3].iov_base = 0;
11895     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11896     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
11897     return xcb_ret;
11898 }
11899 
11900 
11901 /*****************************************************************************
11902  **
11903  ** xcb_void_cookie_t xcb_recolor_cursor_checked
11904  **
11905  ** @param xcb_connection_t *c
11906  ** @param xcb_cursor_t      cursor
11907  ** @param uint16_t          fore_red
11908  ** @param uint16_t          fore_green
11909  ** @param uint16_t          fore_blue
11910  ** @param uint16_t          back_red
11911  ** @param uint16_t          back_green
11912  ** @param uint16_t          back_blue
11913  ** @returns xcb_void_cookie_t
11914  **
11915  *****************************************************************************/
11916 
11917 xcb_void_cookie_t
11918 xcb_recolor_cursor_checked (xcb_connection_t *c  /**< */,
11919                             xcb_cursor_t      cursor  /**< */,
11920                             uint16_t          fore_red  /**< */,
11921                             uint16_t          fore_green  /**< */,
11922                             uint16_t          fore_blue  /**< */,
11923                             uint16_t          back_red  /**< */,
11924                             uint16_t          back_green  /**< */,
11925                             uint16_t          back_blue  /**< */)
11926 {
11927     static const xcb_protocol_request_t xcb_req = {
11928         /* count */ 2,
11929         /* ext */ 0,
11930         /* opcode */ XCB_RECOLOR_CURSOR,
11931         /* isvoid */ 1
11932     };
11933 
11934     struct iovec xcb_parts[4];
11935     xcb_void_cookie_t xcb_ret;
11936     xcb_recolor_cursor_request_t xcb_out;
11937 
11938     xcb_out.pad0 = 0;
11939     xcb_out.cursor = cursor;
11940     xcb_out.fore_red = fore_red;
11941     xcb_out.fore_green = fore_green;
11942     xcb_out.fore_blue = fore_blue;
11943     xcb_out.back_red = back_red;
11944     xcb_out.back_green = back_green;
11945     xcb_out.back_blue = back_blue;
11946 
11947     xcb_parts[2].iov_base = (char *) &xcb_out;
11948     xcb_parts[2].iov_len = sizeof(xcb_out);
11949     xcb_parts[3].iov_base = 0;
11950     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
11951     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
11952     return xcb_ret;
11953 }
11954 
11955 
11956 /*****************************************************************************
11957  **
11958  ** xcb_void_cookie_t xcb_recolor_cursor
11959  **
11960  ** @param xcb_connection_t *c
11961  ** @param xcb_cursor_t      cursor
11962  ** @param uint16_t          fore_red
11963  ** @param uint16_t          fore_green
11964  ** @param uint16_t          fore_blue
11965  ** @param uint16_t          back_red
11966  ** @param uint16_t          back_green
11967  ** @param uint16_t          back_blue
11968  ** @returns xcb_void_cookie_t
11969  **
11970  *****************************************************************************/
11971 
11972 xcb_void_cookie_t
11973 xcb_recolor_cursor (xcb_connection_t *c  /**< */,
11974                     xcb_cursor_t      cursor  /**< */,
11975                     uint16_t          fore_red  /**< */,
11976                     uint16_t          fore_green  /**< */,
11977                     uint16_t          fore_blue  /**< */,
11978                     uint16_t          back_red  /**< */,
11979                     uint16_t          back_green  /**< */,
11980                     uint16_t          back_blue  /**< */)
11981 {
11982     static const xcb_protocol_request_t xcb_req = {
11983         /* count */ 2,
11984         /* ext */ 0,
11985         /* opcode */ XCB_RECOLOR_CURSOR,
11986         /* isvoid */ 1
11987     };
11988 
11989     struct iovec xcb_parts[4];
11990     xcb_void_cookie_t xcb_ret;
11991     xcb_recolor_cursor_request_t xcb_out;
11992 
11993     xcb_out.pad0 = 0;
11994     xcb_out.cursor = cursor;
11995     xcb_out.fore_red = fore_red;
11996     xcb_out.fore_green = fore_green;
11997     xcb_out.fore_blue = fore_blue;
11998     xcb_out.back_red = back_red;
11999     xcb_out.back_green = back_green;
12000     xcb_out.back_blue = back_blue;
12001 
12002     xcb_parts[2].iov_base = (char *) &xcb_out;
12003     xcb_parts[2].iov_len = sizeof(xcb_out);
12004     xcb_parts[3].iov_base = 0;
12005     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12006     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12007     return xcb_ret;
12008 }
12009 
12010 
12011 /*****************************************************************************
12012  **
12013  ** xcb_query_best_size_cookie_t xcb_query_best_size
12014  **
12015  ** @param xcb_connection_t *c
12016  ** @param uint8_t           _class
12017  ** @param xcb_drawable_t    drawable
12018  ** @param uint16_t          width
12019  ** @param uint16_t          height
12020  ** @returns xcb_query_best_size_cookie_t
12021  **
12022  *****************************************************************************/
12023 
12024 xcb_query_best_size_cookie_t
12025 xcb_query_best_size (xcb_connection_t *c  /**< */,
12026                      uint8_t           _class  /**< */,
12027                      xcb_drawable_t    drawable  /**< */,
12028                      uint16_t          width  /**< */,
12029                      uint16_t          height  /**< */)
12030 {
12031     static const xcb_protocol_request_t xcb_req = {
12032         /* count */ 2,
12033         /* ext */ 0,
12034         /* opcode */ XCB_QUERY_BEST_SIZE,
12035         /* isvoid */ 0
12036     };
12037 
12038     struct iovec xcb_parts[4];
12039     xcb_query_best_size_cookie_t xcb_ret;
12040     xcb_query_best_size_request_t xcb_out;
12041 
12042     xcb_out._class = _class;
12043     xcb_out.drawable = drawable;
12044     xcb_out.width = width;
12045     xcb_out.height = height;
12046 
12047     xcb_parts[2].iov_base = (char *) &xcb_out;
12048     xcb_parts[2].iov_len = sizeof(xcb_out);
12049     xcb_parts[3].iov_base = 0;
12050     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12051     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12052     return xcb_ret;
12053 }
12054 
12055 
12056 /*****************************************************************************
12057  **
12058  ** xcb_query_best_size_cookie_t xcb_query_best_size_unchecked
12059  **
12060  ** @param xcb_connection_t *c
12061  ** @param uint8_t           _class
12062  ** @param xcb_drawable_t    drawable
12063  ** @param uint16_t          width
12064  ** @param uint16_t          height
12065  ** @returns xcb_query_best_size_cookie_t
12066  **
12067  *****************************************************************************/
12068 
12069 xcb_query_best_size_cookie_t
12070 xcb_query_best_size_unchecked (xcb_connection_t *c  /**< */,
12071                                uint8_t           _class  /**< */,
12072                                xcb_drawable_t    drawable  /**< */,
12073                                uint16_t          width  /**< */,
12074                                uint16_t          height  /**< */)
12075 {
12076     static const xcb_protocol_request_t xcb_req = {
12077         /* count */ 2,
12078         /* ext */ 0,
12079         /* opcode */ XCB_QUERY_BEST_SIZE,
12080         /* isvoid */ 0
12081     };
12082 
12083     struct iovec xcb_parts[4];
12084     xcb_query_best_size_cookie_t xcb_ret;
12085     xcb_query_best_size_request_t xcb_out;
12086 
12087     xcb_out._class = _class;
12088     xcb_out.drawable = drawable;
12089     xcb_out.width = width;
12090     xcb_out.height = height;
12091 
12092     xcb_parts[2].iov_base = (char *) &xcb_out;
12093     xcb_parts[2].iov_len = sizeof(xcb_out);
12094     xcb_parts[3].iov_base = 0;
12095     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12096     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12097     return xcb_ret;
12098 }
12099 
12100 
12101 /*****************************************************************************
12102  **
12103  ** xcb_query_best_size_reply_t * xcb_query_best_size_reply
12104  **
12105  ** @param xcb_connection_t              *c
12106  ** @param xcb_query_best_size_cookie_t   cookie
12107  ** @param xcb_generic_error_t          **e
12108  ** @returns xcb_query_best_size_reply_t *
12109  **
12110  *****************************************************************************/
12111 
12112 xcb_query_best_size_reply_t *
12113 xcb_query_best_size_reply (xcb_connection_t              *c  /**< */,
12114                            xcb_query_best_size_cookie_t   cookie  /**< */,
12115                            xcb_generic_error_t          **e  /**< */)
12116 {
12117     return (xcb_query_best_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
12118 }
12119 
12120 
12121 /*****************************************************************************
12122  **
12123  ** xcb_query_extension_cookie_t xcb_query_extension
12124  **
12125  ** @param xcb_connection_t *c
12126  ** @param uint16_t          name_len
12127  ** @param const char       *name
12128  ** @returns xcb_query_extension_cookie_t
12129  **
12130  *****************************************************************************/
12131 
12132 xcb_query_extension_cookie_t
12133 xcb_query_extension (xcb_connection_t *c  /**< */,
12134                      uint16_t          name_len  /**< */,
12135                      const char       *name  /**< */)
12136 {
12137     static const xcb_protocol_request_t xcb_req = {
12138         /* count */ 4,
12139         /* ext */ 0,
12140         /* opcode */ XCB_QUERY_EXTENSION,
12141         /* isvoid */ 0
12142     };
12143 
12144     struct iovec xcb_parts[6];
12145     xcb_query_extension_cookie_t xcb_ret;
12146     xcb_query_extension_request_t xcb_out;
12147 
12148     xcb_out.pad0 = 0;
12149     xcb_out.name_len = name_len;
12150     memset(xcb_out.pad1, 0, 2);
12151 
12152     xcb_parts[2].iov_base = (char *) &xcb_out;
12153     xcb_parts[2].iov_len = sizeof(xcb_out);
12154     xcb_parts[3].iov_base = 0;
12155     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12156     xcb_parts[4].iov_base = (char *) name;
12157     xcb_parts[4].iov_len = name_len * sizeof(char);
12158     xcb_parts[5].iov_base = 0;
12159     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
12160     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12161     return xcb_ret;
12162 }
12163 
12164 
12165 /*****************************************************************************
12166  **
12167  ** xcb_query_extension_cookie_t xcb_query_extension_unchecked
12168  **
12169  ** @param xcb_connection_t *c
12170  ** @param uint16_t          name_len
12171  ** @param const char       *name
12172  ** @returns xcb_query_extension_cookie_t
12173  **
12174  *****************************************************************************/
12175 
12176 xcb_query_extension_cookie_t
12177 xcb_query_extension_unchecked (xcb_connection_t *c  /**< */,
12178                                uint16_t          name_len  /**< */,
12179                                const char       *name  /**< */)
12180 {
12181     static const xcb_protocol_request_t xcb_req = {
12182         /* count */ 4,
12183         /* ext */ 0,
12184         /* opcode */ XCB_QUERY_EXTENSION,
12185         /* isvoid */ 0
12186     };
12187 
12188     struct iovec xcb_parts[6];
12189     xcb_query_extension_cookie_t xcb_ret;
12190     xcb_query_extension_request_t xcb_out;
12191 
12192     xcb_out.pad0 = 0;
12193     xcb_out.name_len = name_len;
12194     memset(xcb_out.pad1, 0, 2);
12195 
12196     xcb_parts[2].iov_base = (char *) &xcb_out;
12197     xcb_parts[2].iov_len = sizeof(xcb_out);
12198     xcb_parts[3].iov_base = 0;
12199     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12200     xcb_parts[4].iov_base = (char *) name;
12201     xcb_parts[4].iov_len = name_len * sizeof(char);
12202     xcb_parts[5].iov_base = 0;
12203     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
12204     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12205     return xcb_ret;
12206 }
12207 
12208 
12209 /*****************************************************************************
12210  **
12211  ** xcb_query_extension_reply_t * xcb_query_extension_reply
12212  **
12213  ** @param xcb_connection_t              *c
12214  ** @param xcb_query_extension_cookie_t   cookie
12215  ** @param xcb_generic_error_t          **e
12216  ** @returns xcb_query_extension_reply_t *
12217  **
12218  *****************************************************************************/
12219 
12220 xcb_query_extension_reply_t *
12221 xcb_query_extension_reply (xcb_connection_t              *c  /**< */,
12222                            xcb_query_extension_cookie_t   cookie  /**< */,
12223                            xcb_generic_error_t          **e  /**< */)
12224 {
12225     return (xcb_query_extension_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
12226 }
12227 
12228 
12229 /*****************************************************************************
12230  **
12231  ** xcb_list_extensions_cookie_t xcb_list_extensions
12232  **
12233  ** @param xcb_connection_t *c
12234  ** @returns xcb_list_extensions_cookie_t
12235  **
12236  *****************************************************************************/
12237 
12238 xcb_list_extensions_cookie_t
12239 xcb_list_extensions (xcb_connection_t *c  /**< */)
12240 {
12241     static const xcb_protocol_request_t xcb_req = {
12242         /* count */ 2,
12243         /* ext */ 0,
12244         /* opcode */ XCB_LIST_EXTENSIONS,
12245         /* isvoid */ 0
12246     };
12247 
12248     struct iovec xcb_parts[4];
12249     xcb_list_extensions_cookie_t xcb_ret;
12250     xcb_list_extensions_request_t xcb_out;
12251 
12252     xcb_out.pad0 = 0;
12253 
12254     xcb_parts[2].iov_base = (char *) &xcb_out;
12255     xcb_parts[2].iov_len = sizeof(xcb_out);
12256     xcb_parts[3].iov_base = 0;
12257     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12258     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12259     return xcb_ret;
12260 }
12261 
12262 
12263 /*****************************************************************************
12264  **
12265  ** xcb_list_extensions_cookie_t xcb_list_extensions_unchecked
12266  **
12267  ** @param xcb_connection_t *c
12268  ** @returns xcb_list_extensions_cookie_t
12269  **
12270  *****************************************************************************/
12271 
12272 xcb_list_extensions_cookie_t
12273 xcb_list_extensions_unchecked (xcb_connection_t *c  /**< */)
12274 {
12275     static const xcb_protocol_request_t xcb_req = {
12276         /* count */ 2,
12277         /* ext */ 0,
12278         /* opcode */ XCB_LIST_EXTENSIONS,
12279         /* isvoid */ 0
12280     };
12281 
12282     struct iovec xcb_parts[4];
12283     xcb_list_extensions_cookie_t xcb_ret;
12284     xcb_list_extensions_request_t xcb_out;
12285 
12286     xcb_out.pad0 = 0;
12287 
12288     xcb_parts[2].iov_base = (char *) &xcb_out;
12289     xcb_parts[2].iov_len = sizeof(xcb_out);
12290     xcb_parts[3].iov_base = 0;
12291     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12292     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12293     return xcb_ret;
12294 }
12295 
12296 
12297 /*****************************************************************************
12298  **
12299  ** int xcb_list_extensions_names_length
12300  **
12301  ** @param const xcb_list_extensions_reply_t *R
12302  ** @returns int
12303  **
12304  *****************************************************************************/
12305 
12306 int
12307 xcb_list_extensions_names_length (const xcb_list_extensions_reply_t *R  /**< */)
12308 {
12309     return R->names_len;
12310 }
12311 
12312 
12313 /*****************************************************************************
12314  **
12315  ** xcb_str_iterator_t xcb_list_extensions_names_iterator
12316  **
12317  ** @param const xcb_list_extensions_reply_t *R
12318  ** @returns xcb_str_iterator_t
12319  **
12320  *****************************************************************************/
12321 
12322 xcb_str_iterator_t
12323 xcb_list_extensions_names_iterator (const xcb_list_extensions_reply_t *R  /**< */)
12324 {
12325     xcb_str_iterator_t i;
12326     i.data = (xcb_str_t *) (R + 1);
12327     i.rem = R->names_len;
12328     i.index = (char *) i.data - (char *) R;
12329     return i;
12330 }
12331 
12332 
12333 /*****************************************************************************
12334  **
12335  ** xcb_list_extensions_reply_t * xcb_list_extensions_reply
12336  **
12337  ** @param xcb_connection_t              *c
12338  ** @param xcb_list_extensions_cookie_t   cookie
12339  ** @param xcb_generic_error_t          **e
12340  ** @returns xcb_list_extensions_reply_t *
12341  **
12342  *****************************************************************************/
12343 
12344 xcb_list_extensions_reply_t *
12345 xcb_list_extensions_reply (xcb_connection_t              *c  /**< */,
12346                            xcb_list_extensions_cookie_t   cookie  /**< */,
12347                            xcb_generic_error_t          **e  /**< */)
12348 {
12349     return (xcb_list_extensions_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
12350 }
12351 
12352 
12353 /*****************************************************************************
12354  **
12355  ** xcb_void_cookie_t xcb_change_keyboard_mapping_checked
12356  **
12357  ** @param xcb_connection_t   *c
12358  ** @param uint8_t             keycode_count
12359  ** @param xcb_keycode_t       first_keycode
12360  ** @param uint8_t             keysyms_per_keycode
12361  ** @param const xcb_keysym_t *keysyms
12362  ** @returns xcb_void_cookie_t
12363  **
12364  *****************************************************************************/
12365 
12366 xcb_void_cookie_t
12367 xcb_change_keyboard_mapping_checked (xcb_connection_t   *c  /**< */,
12368                                      uint8_t             keycode_count  /**< */,
12369                                      xcb_keycode_t       first_keycode  /**< */,
12370                                      uint8_t             keysyms_per_keycode  /**< */,
12371                                      const xcb_keysym_t *keysyms  /**< */)
12372 {
12373     static const xcb_protocol_request_t xcb_req = {
12374         /* count */ 4,
12375         /* ext */ 0,
12376         /* opcode */ XCB_CHANGE_KEYBOARD_MAPPING,
12377         /* isvoid */ 1
12378     };
12379 
12380     struct iovec xcb_parts[6];
12381     xcb_void_cookie_t xcb_ret;
12382     xcb_change_keyboard_mapping_request_t xcb_out;
12383 
12384     xcb_out.keycode_count = keycode_count;
12385     xcb_out.first_keycode = first_keycode;
12386     xcb_out.keysyms_per_keycode = keysyms_per_keycode;
12387 
12388     xcb_parts[2].iov_base = (char *) &xcb_out;
12389     xcb_parts[2].iov_len = sizeof(xcb_out);
12390     xcb_parts[3].iov_base = 0;
12391     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12392     xcb_parts[4].iov_base = (char *) keysyms;
12393     xcb_parts[4].iov_len = (keycode_count * keysyms_per_keycode) * sizeof(xcb_keysym_t);
12394     xcb_parts[5].iov_base = 0;
12395     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
12396     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12397     return xcb_ret;
12398 }
12399 
12400 
12401 /*****************************************************************************
12402  **
12403  ** xcb_void_cookie_t xcb_change_keyboard_mapping
12404  **
12405  ** @param xcb_connection_t   *c
12406  ** @param uint8_t             keycode_count
12407  ** @param xcb_keycode_t       first_keycode
12408  ** @param uint8_t             keysyms_per_keycode
12409  ** @param const xcb_keysym_t *keysyms
12410  ** @returns xcb_void_cookie_t
12411  **
12412  *****************************************************************************/
12413 
12414 xcb_void_cookie_t
12415 xcb_change_keyboard_mapping (xcb_connection_t   *c  /**< */,
12416                              uint8_t             keycode_count  /**< */,
12417                              xcb_keycode_t       first_keycode  /**< */,
12418                              uint8_t             keysyms_per_keycode  /**< */,
12419                              const xcb_keysym_t *keysyms  /**< */)
12420 {
12421     static const xcb_protocol_request_t xcb_req = {
12422         /* count */ 4,
12423         /* ext */ 0,
12424         /* opcode */ XCB_CHANGE_KEYBOARD_MAPPING,
12425         /* isvoid */ 1
12426     };
12427 
12428     struct iovec xcb_parts[6];
12429     xcb_void_cookie_t xcb_ret;
12430     xcb_change_keyboard_mapping_request_t xcb_out;
12431 
12432     xcb_out.keycode_count = keycode_count;
12433     xcb_out.first_keycode = first_keycode;
12434     xcb_out.keysyms_per_keycode = keysyms_per_keycode;
12435 
12436     xcb_parts[2].iov_base = (char *) &xcb_out;
12437     xcb_parts[2].iov_len = sizeof(xcb_out);
12438     xcb_parts[3].iov_base = 0;
12439     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12440     xcb_parts[4].iov_base = (char *) keysyms;
12441     xcb_parts[4].iov_len = (keycode_count * keysyms_per_keycode) * sizeof(xcb_keysym_t);
12442     xcb_parts[5].iov_base = 0;
12443     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
12444     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12445     return xcb_ret;
12446 }
12447 
12448 
12449 /*****************************************************************************
12450  **
12451  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping
12452  **
12453  ** @param xcb_connection_t *c
12454  ** @param xcb_keycode_t     first_keycode
12455  ** @param uint8_t           count
12456  ** @returns xcb_get_keyboard_mapping_cookie_t
12457  **
12458  *****************************************************************************/
12459 
12460 xcb_get_keyboard_mapping_cookie_t
12461 xcb_get_keyboard_mapping (xcb_connection_t *c  /**< */,
12462                           xcb_keycode_t     first_keycode  /**< */,
12463                           uint8_t           count  /**< */)
12464 {
12465     static const xcb_protocol_request_t xcb_req = {
12466         /* count */ 2,
12467         /* ext */ 0,
12468         /* opcode */ XCB_GET_KEYBOARD_MAPPING,
12469         /* isvoid */ 0
12470     };
12471 
12472     struct iovec xcb_parts[4];
12473     xcb_get_keyboard_mapping_cookie_t xcb_ret;
12474     xcb_get_keyboard_mapping_request_t xcb_out;
12475 
12476     xcb_out.pad0 = 0;
12477     xcb_out.first_keycode = first_keycode;
12478     xcb_out.count = count;
12479 
12480     xcb_parts[2].iov_base = (char *) &xcb_out;
12481     xcb_parts[2].iov_len = sizeof(xcb_out);
12482     xcb_parts[3].iov_base = 0;
12483     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12484     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12485     return xcb_ret;
12486 }
12487 
12488 
12489 /*****************************************************************************
12490  **
12491  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping_unchecked
12492  **
12493  ** @param xcb_connection_t *c
12494  ** @param xcb_keycode_t     first_keycode
12495  ** @param uint8_t           count
12496  ** @returns xcb_get_keyboard_mapping_cookie_t
12497  **
12498  *****************************************************************************/
12499 
12500 xcb_get_keyboard_mapping_cookie_t
12501 xcb_get_keyboard_mapping_unchecked (xcb_connection_t *c  /**< */,
12502                                     xcb_keycode_t     first_keycode  /**< */,
12503                                     uint8_t           count  /**< */)
12504 {
12505     static const xcb_protocol_request_t xcb_req = {
12506         /* count */ 2,
12507         /* ext */ 0,
12508         /* opcode */ XCB_GET_KEYBOARD_MAPPING,
12509         /* isvoid */ 0
12510     };
12511 
12512     struct iovec xcb_parts[4];
12513     xcb_get_keyboard_mapping_cookie_t xcb_ret;
12514     xcb_get_keyboard_mapping_request_t xcb_out;
12515 
12516     xcb_out.pad0 = 0;
12517     xcb_out.first_keycode = first_keycode;
12518     xcb_out.count = count;
12519 
12520     xcb_parts[2].iov_base = (char *) &xcb_out;
12521     xcb_parts[2].iov_len = sizeof(xcb_out);
12522     xcb_parts[3].iov_base = 0;
12523     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12524     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12525     return xcb_ret;
12526 }
12527 
12528 
12529 /*****************************************************************************
12530  **
12531  ** xcb_keysym_t * xcb_get_keyboard_mapping_keysyms
12532  **
12533  ** @param const xcb_get_keyboard_mapping_reply_t *R
12534  ** @returns xcb_keysym_t *
12535  **
12536  *****************************************************************************/
12537 
12538 xcb_keysym_t *
12539 xcb_get_keyboard_mapping_keysyms (const xcb_get_keyboard_mapping_reply_t *R  /**< */)
12540 {
12541     return (xcb_keysym_t *) (R + 1);
12542 }
12543 
12544 
12545 /*****************************************************************************
12546  **
12547  ** int xcb_get_keyboard_mapping_keysyms_length
12548  **
12549  ** @param const xcb_get_keyboard_mapping_reply_t *R
12550  ** @returns int
12551  **
12552  *****************************************************************************/
12553 
12554 int
12555 xcb_get_keyboard_mapping_keysyms_length (const xcb_get_keyboard_mapping_reply_t *R  /**< */)
12556 {
12557     return R->length;
12558 }
12559 
12560 
12561 /*****************************************************************************
12562  **
12563  ** xcb_generic_iterator_t xcb_get_keyboard_mapping_keysyms_end
12564  **
12565  ** @param const xcb_get_keyboard_mapping_reply_t *R
12566  ** @returns xcb_generic_iterator_t
12567  **
12568  *****************************************************************************/
12569 
12570 xcb_generic_iterator_t
12571 xcb_get_keyboard_mapping_keysyms_end (const xcb_get_keyboard_mapping_reply_t *R  /**< */)
12572 {
12573     xcb_generic_iterator_t i;
12574     i.data = ((xcb_keysym_t *) (R + 1)) + (R->length);
12575     i.rem = 0;
12576     i.index = (char *) i.data - (char *) R;
12577     return i;
12578 }
12579 
12580 
12581 /*****************************************************************************
12582  **
12583  ** xcb_get_keyboard_mapping_reply_t * xcb_get_keyboard_mapping_reply
12584  **
12585  ** @param xcb_connection_t                   *c
12586  ** @param xcb_get_keyboard_mapping_cookie_t   cookie
12587  ** @param xcb_generic_error_t               **e
12588  ** @returns xcb_get_keyboard_mapping_reply_t *
12589  **
12590  *****************************************************************************/
12591 
12592 xcb_get_keyboard_mapping_reply_t *
12593 xcb_get_keyboard_mapping_reply (xcb_connection_t                   *c  /**< */,
12594                                 xcb_get_keyboard_mapping_cookie_t   cookie  /**< */,
12595                                 xcb_generic_error_t               **e  /**< */)
12596 {
12597     return (xcb_get_keyboard_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
12598 }
12599 
12600 
12601 /*****************************************************************************
12602  **
12603  ** xcb_void_cookie_t xcb_change_keyboard_control_checked
12604  **
12605  ** @param xcb_connection_t *c
12606  ** @param uint32_t          value_mask
12607  ** @param const uint32_t   *value_list
12608  ** @returns xcb_void_cookie_t
12609  **
12610  *****************************************************************************/
12611 
12612 xcb_void_cookie_t
12613 xcb_change_keyboard_control_checked (xcb_connection_t *c  /**< */,
12614                                      uint32_t          value_mask  /**< */,
12615                                      const uint32_t   *value_list  /**< */)
12616 {
12617     static const xcb_protocol_request_t xcb_req = {
12618         /* count */ 4,
12619         /* ext */ 0,
12620         /* opcode */ XCB_CHANGE_KEYBOARD_CONTROL,
12621         /* isvoid */ 1
12622     };
12623 
12624     struct iovec xcb_parts[6];
12625     xcb_void_cookie_t xcb_ret;
12626     xcb_change_keyboard_control_request_t xcb_out;
12627 
12628     xcb_out.pad0 = 0;
12629     xcb_out.value_mask = value_mask;
12630 
12631     xcb_parts[2].iov_base = (char *) &xcb_out;
12632     xcb_parts[2].iov_len = sizeof(xcb_out);
12633     xcb_parts[3].iov_base = 0;
12634     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12635     xcb_parts[4].iov_base = (char *) value_list;
12636     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
12637     xcb_parts[5].iov_base = 0;
12638     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
12639     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12640     return xcb_ret;
12641 }
12642 
12643 
12644 /*****************************************************************************
12645  **
12646  ** xcb_void_cookie_t xcb_change_keyboard_control
12647  **
12648  ** @param xcb_connection_t *c
12649  ** @param uint32_t          value_mask
12650  ** @param const uint32_t   *value_list
12651  ** @returns xcb_void_cookie_t
12652  **
12653  *****************************************************************************/
12654 
12655 xcb_void_cookie_t
12656 xcb_change_keyboard_control (xcb_connection_t *c  /**< */,
12657                              uint32_t          value_mask  /**< */,
12658                              const uint32_t   *value_list  /**< */)
12659 {
12660     static const xcb_protocol_request_t xcb_req = {
12661         /* count */ 4,
12662         /* ext */ 0,
12663         /* opcode */ XCB_CHANGE_KEYBOARD_CONTROL,
12664         /* isvoid */ 1
12665     };
12666 
12667     struct iovec xcb_parts[6];
12668     xcb_void_cookie_t xcb_ret;
12669     xcb_change_keyboard_control_request_t xcb_out;
12670 
12671     xcb_out.pad0 = 0;
12672     xcb_out.value_mask = value_mask;
12673 
12674     xcb_parts[2].iov_base = (char *) &xcb_out;
12675     xcb_parts[2].iov_len = sizeof(xcb_out);
12676     xcb_parts[3].iov_base = 0;
12677     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12678     xcb_parts[4].iov_base = (char *) value_list;
12679     xcb_parts[4].iov_len = xcb_popcount(value_mask) * sizeof(uint32_t);
12680     xcb_parts[5].iov_base = 0;
12681     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
12682     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12683     return xcb_ret;
12684 }
12685 
12686 
12687 /*****************************************************************************
12688  **
12689  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control
12690  **
12691  ** @param xcb_connection_t *c
12692  ** @returns xcb_get_keyboard_control_cookie_t
12693  **
12694  *****************************************************************************/
12695 
12696 xcb_get_keyboard_control_cookie_t
12697 xcb_get_keyboard_control (xcb_connection_t *c  /**< */)
12698 {
12699     static const xcb_protocol_request_t xcb_req = {
12700         /* count */ 2,
12701         /* ext */ 0,
12702         /* opcode */ XCB_GET_KEYBOARD_CONTROL,
12703         /* isvoid */ 0
12704     };
12705 
12706     struct iovec xcb_parts[4];
12707     xcb_get_keyboard_control_cookie_t xcb_ret;
12708     xcb_get_keyboard_control_request_t xcb_out;
12709 
12710     xcb_out.pad0 = 0;
12711 
12712     xcb_parts[2].iov_base = (char *) &xcb_out;
12713     xcb_parts[2].iov_len = sizeof(xcb_out);
12714     xcb_parts[3].iov_base = 0;
12715     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12716     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12717     return xcb_ret;
12718 }
12719 
12720 
12721 /*****************************************************************************
12722  **
12723  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control_unchecked
12724  **
12725  ** @param xcb_connection_t *c
12726  ** @returns xcb_get_keyboard_control_cookie_t
12727  **
12728  *****************************************************************************/
12729 
12730 xcb_get_keyboard_control_cookie_t
12731 xcb_get_keyboard_control_unchecked (xcb_connection_t *c  /**< */)
12732 {
12733     static const xcb_protocol_request_t xcb_req = {
12734         /* count */ 2,
12735         /* ext */ 0,
12736         /* opcode */ XCB_GET_KEYBOARD_CONTROL,
12737         /* isvoid */ 0
12738     };
12739 
12740     struct iovec xcb_parts[4];
12741     xcb_get_keyboard_control_cookie_t xcb_ret;
12742     xcb_get_keyboard_control_request_t xcb_out;
12743 
12744     xcb_out.pad0 = 0;
12745 
12746     xcb_parts[2].iov_base = (char *) &xcb_out;
12747     xcb_parts[2].iov_len = sizeof(xcb_out);
12748     xcb_parts[3].iov_base = 0;
12749     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12750     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12751     return xcb_ret;
12752 }
12753 
12754 
12755 /*****************************************************************************
12756  **
12757  ** xcb_get_keyboard_control_reply_t * xcb_get_keyboard_control_reply
12758  **
12759  ** @param xcb_connection_t                   *c
12760  ** @param xcb_get_keyboard_control_cookie_t   cookie
12761  ** @param xcb_generic_error_t               **e
12762  ** @returns xcb_get_keyboard_control_reply_t *
12763  **
12764  *****************************************************************************/
12765 
12766 xcb_get_keyboard_control_reply_t *
12767 xcb_get_keyboard_control_reply (xcb_connection_t                   *c  /**< */,
12768                                 xcb_get_keyboard_control_cookie_t   cookie  /**< */,
12769                                 xcb_generic_error_t               **e  /**< */)
12770 {
12771     return (xcb_get_keyboard_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
12772 }
12773 
12774 
12775 /*****************************************************************************
12776  **
12777  ** xcb_void_cookie_t xcb_bell_checked
12778  **
12779  ** @param xcb_connection_t *c
12780  ** @param int8_t            percent
12781  ** @returns xcb_void_cookie_t
12782  **
12783  *****************************************************************************/
12784 
12785 xcb_void_cookie_t
12786 xcb_bell_checked (xcb_connection_t *c  /**< */,
12787                   int8_t            percent  /**< */)
12788 {
12789     static const xcb_protocol_request_t xcb_req = {
12790         /* count */ 2,
12791         /* ext */ 0,
12792         /* opcode */ XCB_BELL,
12793         /* isvoid */ 1
12794     };
12795 
12796     struct iovec xcb_parts[4];
12797     xcb_void_cookie_t xcb_ret;
12798     xcb_bell_request_t xcb_out;
12799 
12800     xcb_out.percent = percent;
12801 
12802     xcb_parts[2].iov_base = (char *) &xcb_out;
12803     xcb_parts[2].iov_len = sizeof(xcb_out);
12804     xcb_parts[3].iov_base = 0;
12805     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12806     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12807     return xcb_ret;
12808 }
12809 
12810 
12811 /*****************************************************************************
12812  **
12813  ** xcb_void_cookie_t xcb_bell
12814  **
12815  ** @param xcb_connection_t *c
12816  ** @param int8_t            percent
12817  ** @returns xcb_void_cookie_t
12818  **
12819  *****************************************************************************/
12820 
12821 xcb_void_cookie_t
12822 xcb_bell (xcb_connection_t *c  /**< */,
12823           int8_t            percent  /**< */)
12824 {
12825     static const xcb_protocol_request_t xcb_req = {
12826         /* count */ 2,
12827         /* ext */ 0,
12828         /* opcode */ XCB_BELL,
12829         /* isvoid */ 1
12830     };
12831 
12832     struct iovec xcb_parts[4];
12833     xcb_void_cookie_t xcb_ret;
12834     xcb_bell_request_t xcb_out;
12835 
12836     xcb_out.percent = percent;
12837 
12838     xcb_parts[2].iov_base = (char *) &xcb_out;
12839     xcb_parts[2].iov_len = sizeof(xcb_out);
12840     xcb_parts[3].iov_base = 0;
12841     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12842     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12843     return xcb_ret;
12844 }
12845 
12846 
12847 /*****************************************************************************
12848  **
12849  ** xcb_void_cookie_t xcb_change_pointer_control_checked
12850  **
12851  ** @param xcb_connection_t *c
12852  ** @param int16_t           acceleration_numerator
12853  ** @param int16_t           acceleration_denominator
12854  ** @param int16_t           threshold
12855  ** @param uint8_t           do_acceleration
12856  ** @param uint8_t           do_threshold
12857  ** @returns xcb_void_cookie_t
12858  **
12859  *****************************************************************************/
12860 
12861 xcb_void_cookie_t
12862 xcb_change_pointer_control_checked (xcb_connection_t *c  /**< */,
12863                                     int16_t           acceleration_numerator  /**< */,
12864                                     int16_t           acceleration_denominator  /**< */,
12865                                     int16_t           threshold  /**< */,
12866                                     uint8_t           do_acceleration  /**< */,
12867                                     uint8_t           do_threshold  /**< */)
12868 {
12869     static const xcb_protocol_request_t xcb_req = {
12870         /* count */ 2,
12871         /* ext */ 0,
12872         /* opcode */ XCB_CHANGE_POINTER_CONTROL,
12873         /* isvoid */ 1
12874     };
12875 
12876     struct iovec xcb_parts[4];
12877     xcb_void_cookie_t xcb_ret;
12878     xcb_change_pointer_control_request_t xcb_out;
12879 
12880     xcb_out.pad0 = 0;
12881     xcb_out.acceleration_numerator = acceleration_numerator;
12882     xcb_out.acceleration_denominator = acceleration_denominator;
12883     xcb_out.threshold = threshold;
12884     xcb_out.do_acceleration = do_acceleration;
12885     xcb_out.do_threshold = do_threshold;
12886 
12887     xcb_parts[2].iov_base = (char *) &xcb_out;
12888     xcb_parts[2].iov_len = sizeof(xcb_out);
12889     xcb_parts[3].iov_base = 0;
12890     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12891     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12892     return xcb_ret;
12893 }
12894 
12895 
12896 /*****************************************************************************
12897  **
12898  ** xcb_void_cookie_t xcb_change_pointer_control
12899  **
12900  ** @param xcb_connection_t *c
12901  ** @param int16_t           acceleration_numerator
12902  ** @param int16_t           acceleration_denominator
12903  ** @param int16_t           threshold
12904  ** @param uint8_t           do_acceleration
12905  ** @param uint8_t           do_threshold
12906  ** @returns xcb_void_cookie_t
12907  **
12908  *****************************************************************************/
12909 
12910 xcb_void_cookie_t
12911 xcb_change_pointer_control (xcb_connection_t *c  /**< */,
12912                             int16_t           acceleration_numerator  /**< */,
12913                             int16_t           acceleration_denominator  /**< */,
12914                             int16_t           threshold  /**< */,
12915                             uint8_t           do_acceleration  /**< */,
12916                             uint8_t           do_threshold  /**< */)
12917 {
12918     static const xcb_protocol_request_t xcb_req = {
12919         /* count */ 2,
12920         /* ext */ 0,
12921         /* opcode */ XCB_CHANGE_POINTER_CONTROL,
12922         /* isvoid */ 1
12923     };
12924 
12925     struct iovec xcb_parts[4];
12926     xcb_void_cookie_t xcb_ret;
12927     xcb_change_pointer_control_request_t xcb_out;
12928 
12929     xcb_out.pad0 = 0;
12930     xcb_out.acceleration_numerator = acceleration_numerator;
12931     xcb_out.acceleration_denominator = acceleration_denominator;
12932     xcb_out.threshold = threshold;
12933     xcb_out.do_acceleration = do_acceleration;
12934     xcb_out.do_threshold = do_threshold;
12935 
12936     xcb_parts[2].iov_base = (char *) &xcb_out;
12937     xcb_parts[2].iov_len = sizeof(xcb_out);
12938     xcb_parts[3].iov_base = 0;
12939     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12940     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
12941     return xcb_ret;
12942 }
12943 
12944 
12945 /*****************************************************************************
12946  **
12947  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control
12948  **
12949  ** @param xcb_connection_t *c
12950  ** @returns xcb_get_pointer_control_cookie_t
12951  **
12952  *****************************************************************************/
12953 
12954 xcb_get_pointer_control_cookie_t
12955 xcb_get_pointer_control (xcb_connection_t *c  /**< */)
12956 {
12957     static const xcb_protocol_request_t xcb_req = {
12958         /* count */ 2,
12959         /* ext */ 0,
12960         /* opcode */ XCB_GET_POINTER_CONTROL,
12961         /* isvoid */ 0
12962     };
12963 
12964     struct iovec xcb_parts[4];
12965     xcb_get_pointer_control_cookie_t xcb_ret;
12966     xcb_get_pointer_control_request_t xcb_out;
12967 
12968     xcb_out.pad0 = 0;
12969 
12970     xcb_parts[2].iov_base = (char *) &xcb_out;
12971     xcb_parts[2].iov_len = sizeof(xcb_out);
12972     xcb_parts[3].iov_base = 0;
12973     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
12974     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
12975     return xcb_ret;
12976 }
12977 
12978 
12979 /*****************************************************************************
12980  **
12981  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control_unchecked
12982  **
12983  ** @param xcb_connection_t *c
12984  ** @returns xcb_get_pointer_control_cookie_t
12985  **
12986  *****************************************************************************/
12987 
12988 xcb_get_pointer_control_cookie_t
12989 xcb_get_pointer_control_unchecked (xcb_connection_t *c  /**< */)
12990 {
12991     static const xcb_protocol_request_t xcb_req = {
12992         /* count */ 2,
12993         /* ext */ 0,
12994         /* opcode */ XCB_GET_POINTER_CONTROL,
12995         /* isvoid */ 0
12996     };
12997 
12998     struct iovec xcb_parts[4];
12999     xcb_get_pointer_control_cookie_t xcb_ret;
13000     xcb_get_pointer_control_request_t xcb_out;
13001 
13002     xcb_out.pad0 = 0;
13003 
13004     xcb_parts[2].iov_base = (char *) &xcb_out;
13005     xcb_parts[2].iov_len = sizeof(xcb_out);
13006     xcb_parts[3].iov_base = 0;
13007     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13008     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13009     return xcb_ret;
13010 }
13011 
13012 
13013 /*****************************************************************************
13014  **
13015  ** xcb_get_pointer_control_reply_t * xcb_get_pointer_control_reply
13016  **
13017  ** @param xcb_connection_t                  *c
13018  ** @param xcb_get_pointer_control_cookie_t   cookie
13019  ** @param xcb_generic_error_t              **e
13020  ** @returns xcb_get_pointer_control_reply_t *
13021  **
13022  *****************************************************************************/
13023 
13024 xcb_get_pointer_control_reply_t *
13025 xcb_get_pointer_control_reply (xcb_connection_t                  *c  /**< */,
13026                                xcb_get_pointer_control_cookie_t   cookie  /**< */,
13027                                xcb_generic_error_t              **e  /**< */)
13028 {
13029     return (xcb_get_pointer_control_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
13030 }
13031 
13032 
13033 /*****************************************************************************
13034  **
13035  ** xcb_void_cookie_t xcb_set_screen_saver_checked
13036  **
13037  ** @param xcb_connection_t *c
13038  ** @param int16_t           timeout
13039  ** @param int16_t           interval
13040  ** @param uint8_t           prefer_blanking
13041  ** @param uint8_t           allow_exposures
13042  ** @returns xcb_void_cookie_t
13043  **
13044  *****************************************************************************/
13045 
13046 xcb_void_cookie_t
13047 xcb_set_screen_saver_checked (xcb_connection_t *c  /**< */,
13048                               int16_t           timeout  /**< */,
13049                               int16_t           interval  /**< */,
13050                               uint8_t           prefer_blanking  /**< */,
13051                               uint8_t           allow_exposures  /**< */)
13052 {
13053     static const xcb_protocol_request_t xcb_req = {
13054         /* count */ 2,
13055         /* ext */ 0,
13056         /* opcode */ XCB_SET_SCREEN_SAVER,
13057         /* isvoid */ 1
13058     };
13059 
13060     struct iovec xcb_parts[4];
13061     xcb_void_cookie_t xcb_ret;
13062     xcb_set_screen_saver_request_t xcb_out;
13063 
13064     xcb_out.pad0 = 0;
13065     xcb_out.timeout = timeout;
13066     xcb_out.interval = interval;
13067     xcb_out.prefer_blanking = prefer_blanking;
13068     xcb_out.allow_exposures = allow_exposures;
13069 
13070     xcb_parts[2].iov_base = (char *) &xcb_out;
13071     xcb_parts[2].iov_len = sizeof(xcb_out);
13072     xcb_parts[3].iov_base = 0;
13073     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13074     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13075     return xcb_ret;
13076 }
13077 
13078 
13079 /*****************************************************************************
13080  **
13081  ** xcb_void_cookie_t xcb_set_screen_saver
13082  **
13083  ** @param xcb_connection_t *c
13084  ** @param int16_t           timeout
13085  ** @param int16_t           interval
13086  ** @param uint8_t           prefer_blanking
13087  ** @param uint8_t           allow_exposures
13088  ** @returns xcb_void_cookie_t
13089  **
13090  *****************************************************************************/
13091 
13092 xcb_void_cookie_t
13093 xcb_set_screen_saver (xcb_connection_t *c  /**< */,
13094                       int16_t           timeout  /**< */,
13095                       int16_t           interval  /**< */,
13096                       uint8_t           prefer_blanking  /**< */,
13097                       uint8_t           allow_exposures  /**< */)
13098 {
13099     static const xcb_protocol_request_t xcb_req = {
13100         /* count */ 2,
13101         /* ext */ 0,
13102         /* opcode */ XCB_SET_SCREEN_SAVER,
13103         /* isvoid */ 1
13104     };
13105 
13106     struct iovec xcb_parts[4];
13107     xcb_void_cookie_t xcb_ret;
13108     xcb_set_screen_saver_request_t xcb_out;
13109 
13110     xcb_out.pad0 = 0;
13111     xcb_out.timeout = timeout;
13112     xcb_out.interval = interval;
13113     xcb_out.prefer_blanking = prefer_blanking;
13114     xcb_out.allow_exposures = allow_exposures;
13115 
13116     xcb_parts[2].iov_base = (char *) &xcb_out;
13117     xcb_parts[2].iov_len = sizeof(xcb_out);
13118     xcb_parts[3].iov_base = 0;
13119     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13120     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13121     return xcb_ret;
13122 }
13123 
13124 
13125 /*****************************************************************************
13126  **
13127  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver
13128  **
13129  ** @param xcb_connection_t *c
13130  ** @returns xcb_get_screen_saver_cookie_t
13131  **
13132  *****************************************************************************/
13133 
13134 xcb_get_screen_saver_cookie_t
13135 xcb_get_screen_saver (xcb_connection_t *c  /**< */)
13136 {
13137     static const xcb_protocol_request_t xcb_req = {
13138         /* count */ 2,
13139         /* ext */ 0,
13140         /* opcode */ XCB_GET_SCREEN_SAVER,
13141         /* isvoid */ 0
13142     };
13143 
13144     struct iovec xcb_parts[4];
13145     xcb_get_screen_saver_cookie_t xcb_ret;
13146     xcb_get_screen_saver_request_t xcb_out;
13147 
13148     xcb_out.pad0 = 0;
13149 
13150     xcb_parts[2].iov_base = (char *) &xcb_out;
13151     xcb_parts[2].iov_len = sizeof(xcb_out);
13152     xcb_parts[3].iov_base = 0;
13153     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13154     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13155     return xcb_ret;
13156 }
13157 
13158 
13159 /*****************************************************************************
13160  **
13161  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver_unchecked
13162  **
13163  ** @param xcb_connection_t *c
13164  ** @returns xcb_get_screen_saver_cookie_t
13165  **
13166  *****************************************************************************/
13167 
13168 xcb_get_screen_saver_cookie_t
13169 xcb_get_screen_saver_unchecked (xcb_connection_t *c  /**< */)
13170 {
13171     static const xcb_protocol_request_t xcb_req = {
13172         /* count */ 2,
13173         /* ext */ 0,
13174         /* opcode */ XCB_GET_SCREEN_SAVER,
13175         /* isvoid */ 0
13176     };
13177 
13178     struct iovec xcb_parts[4];
13179     xcb_get_screen_saver_cookie_t xcb_ret;
13180     xcb_get_screen_saver_request_t xcb_out;
13181 
13182     xcb_out.pad0 = 0;
13183 
13184     xcb_parts[2].iov_base = (char *) &xcb_out;
13185     xcb_parts[2].iov_len = sizeof(xcb_out);
13186     xcb_parts[3].iov_base = 0;
13187     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13188     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13189     return xcb_ret;
13190 }
13191 
13192 
13193 /*****************************************************************************
13194  **
13195  ** xcb_get_screen_saver_reply_t * xcb_get_screen_saver_reply
13196  **
13197  ** @param xcb_connection_t               *c
13198  ** @param xcb_get_screen_saver_cookie_t   cookie
13199  ** @param xcb_generic_error_t           **e
13200  ** @returns xcb_get_screen_saver_reply_t *
13201  **
13202  *****************************************************************************/
13203 
13204 xcb_get_screen_saver_reply_t *
13205 xcb_get_screen_saver_reply (xcb_connection_t               *c  /**< */,
13206                             xcb_get_screen_saver_cookie_t   cookie  /**< */,
13207                             xcb_generic_error_t           **e  /**< */)
13208 {
13209     return (xcb_get_screen_saver_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
13210 }
13211 
13212 
13213 /*****************************************************************************
13214  **
13215  ** xcb_void_cookie_t xcb_change_hosts_checked
13216  **
13217  ** @param xcb_connection_t *c
13218  ** @param uint8_t           mode
13219  ** @param uint8_t           family
13220  ** @param uint16_t          address_len
13221  ** @param const char       *address
13222  ** @returns xcb_void_cookie_t
13223  **
13224  *****************************************************************************/
13225 
13226 xcb_void_cookie_t
13227 xcb_change_hosts_checked (xcb_connection_t *c  /**< */,
13228                           uint8_t           mode  /**< */,
13229                           uint8_t           family  /**< */,
13230                           uint16_t          address_len  /**< */,
13231                           const char       *address  /**< */)
13232 {
13233     static const xcb_protocol_request_t xcb_req = {
13234         /* count */ 4,
13235         /* ext */ 0,
13236         /* opcode */ XCB_CHANGE_HOSTS,
13237         /* isvoid */ 1
13238     };
13239 
13240     struct iovec xcb_parts[6];
13241     xcb_void_cookie_t xcb_ret;
13242     xcb_change_hosts_request_t xcb_out;
13243 
13244     xcb_out.mode = mode;
13245     xcb_out.family = family;
13246     xcb_out.pad0 = 0;
13247     xcb_out.address_len = address_len;
13248 
13249     xcb_parts[2].iov_base = (char *) &xcb_out;
13250     xcb_parts[2].iov_len = sizeof(xcb_out);
13251     xcb_parts[3].iov_base = 0;
13252     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13253     xcb_parts[4].iov_base = (char *) address;
13254     xcb_parts[4].iov_len = address_len * sizeof(char);
13255     xcb_parts[5].iov_base = 0;
13256     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
13257     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13258     return xcb_ret;
13259 }
13260 
13261 
13262 /*****************************************************************************
13263  **
13264  ** xcb_void_cookie_t xcb_change_hosts
13265  **
13266  ** @param xcb_connection_t *c
13267  ** @param uint8_t           mode
13268  ** @param uint8_t           family
13269  ** @param uint16_t          address_len
13270  ** @param const char       *address
13271  ** @returns xcb_void_cookie_t
13272  **
13273  *****************************************************************************/
13274 
13275 xcb_void_cookie_t
13276 xcb_change_hosts (xcb_connection_t *c  /**< */,
13277                   uint8_t           mode  /**< */,
13278                   uint8_t           family  /**< */,
13279                   uint16_t          address_len  /**< */,
13280                   const char       *address  /**< */)
13281 {
13282     static const xcb_protocol_request_t xcb_req = {
13283         /* count */ 4,
13284         /* ext */ 0,
13285         /* opcode */ XCB_CHANGE_HOSTS,
13286         /* isvoid */ 1
13287     };
13288 
13289     struct iovec xcb_parts[6];
13290     xcb_void_cookie_t xcb_ret;
13291     xcb_change_hosts_request_t xcb_out;
13292 
13293     xcb_out.mode = mode;
13294     xcb_out.family = family;
13295     xcb_out.pad0 = 0;
13296     xcb_out.address_len = address_len;
13297 
13298     xcb_parts[2].iov_base = (char *) &xcb_out;
13299     xcb_parts[2].iov_len = sizeof(xcb_out);
13300     xcb_parts[3].iov_base = 0;
13301     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13302     xcb_parts[4].iov_base = (char *) address;
13303     xcb_parts[4].iov_len = address_len * sizeof(char);
13304     xcb_parts[5].iov_base = 0;
13305     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
13306     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13307     return xcb_ret;
13308 }
13309 
13310 
13311 /*****************************************************************************
13312  **
13313  ** uint8_t * xcb_host_address
13314  **
13315  ** @param const xcb_host_t *R
13316  ** @returns uint8_t *
13317  **
13318  *****************************************************************************/
13319 
13320 uint8_t *
13321 xcb_host_address (const xcb_host_t *R  /**< */)
13322 {
13323     return (uint8_t *) (R + 1);
13324 }
13325 
13326 
13327 /*****************************************************************************
13328  **
13329  ** int xcb_host_address_length
13330  **
13331  ** @param const xcb_host_t *R
13332  ** @returns int
13333  **
13334  *****************************************************************************/
13335 
13336 int
13337 xcb_host_address_length (const xcb_host_t *R  /**< */)
13338 {
13339     return R->address_len;
13340 }
13341 
13342 
13343 /*****************************************************************************
13344  **
13345  ** xcb_generic_iterator_t xcb_host_address_end
13346  **
13347  ** @param const xcb_host_t *R
13348  ** @returns xcb_generic_iterator_t
13349  **
13350  *****************************************************************************/
13351 
13352 xcb_generic_iterator_t
13353 xcb_host_address_end (const xcb_host_t *R  /**< */)
13354 {
13355     xcb_generic_iterator_t i;
13356     i.data = ((uint8_t *) (R + 1)) + (R->address_len);
13357     i.rem = 0;
13358     i.index = (char *) i.data - (char *) R;
13359     return i;
13360 }
13361 
13362 
13363 /*****************************************************************************
13364  **
13365  ** void xcb_host_next
13366  **
13367  ** @param xcb_host_iterator_t *i
13368  ** @returns void
13369  **
13370  *****************************************************************************/
13371 
13372 void
13373 xcb_host_next (xcb_host_iterator_t *i  /**< */)
13374 {
13375     xcb_host_t *R = i->data;
13376     xcb_generic_iterator_t child = xcb_host_address_end(R);
13377     --i->rem;
13378     i->data = (xcb_host_t *) child.data;
13379     i->index = child.index;
13380 }
13381 
13382 
13383 /*****************************************************************************
13384  **
13385  ** xcb_generic_iterator_t xcb_host_end
13386  **
13387  ** @param xcb_host_iterator_t i
13388  ** @returns xcb_generic_iterator_t
13389  **
13390  *****************************************************************************/
13391 
13392 xcb_generic_iterator_t
13393 xcb_host_end (xcb_host_iterator_t i  /**< */)
13394 {
13395     xcb_generic_iterator_t ret;
13396     while(i.rem > 0)
13397         xcb_host_next(&i);
13398     ret.data = i.data;
13399     ret.rem = i.rem;
13400     ret.index = i.index;
13401     return ret;
13402 }
13403 
13404 
13405 /*****************************************************************************
13406  **
13407  ** xcb_list_hosts_cookie_t xcb_list_hosts
13408  **
13409  ** @param xcb_connection_t *c
13410  ** @returns xcb_list_hosts_cookie_t
13411  **
13412  *****************************************************************************/
13413 
13414 xcb_list_hosts_cookie_t
13415 xcb_list_hosts (xcb_connection_t *c  /**< */)
13416 {
13417     static const xcb_protocol_request_t xcb_req = {
13418         /* count */ 2,
13419         /* ext */ 0,
13420         /* opcode */ XCB_LIST_HOSTS,
13421         /* isvoid */ 0
13422     };
13423 
13424     struct iovec xcb_parts[4];
13425     xcb_list_hosts_cookie_t xcb_ret;
13426     xcb_list_hosts_request_t xcb_out;
13427 
13428     xcb_out.pad0 = 0;
13429 
13430     xcb_parts[2].iov_base = (char *) &xcb_out;
13431     xcb_parts[2].iov_len = sizeof(xcb_out);
13432     xcb_parts[3].iov_base = 0;
13433     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13434     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13435     return xcb_ret;
13436 }
13437 
13438 
13439 /*****************************************************************************
13440  **
13441  ** xcb_list_hosts_cookie_t xcb_list_hosts_unchecked
13442  **
13443  ** @param xcb_connection_t *c
13444  ** @returns xcb_list_hosts_cookie_t
13445  **
13446  *****************************************************************************/
13447 
13448 xcb_list_hosts_cookie_t
13449 xcb_list_hosts_unchecked (xcb_connection_t *c  /**< */)
13450 {
13451     static const xcb_protocol_request_t xcb_req = {
13452         /* count */ 2,
13453         /* ext */ 0,
13454         /* opcode */ XCB_LIST_HOSTS,
13455         /* isvoid */ 0
13456     };
13457 
13458     struct iovec xcb_parts[4];
13459     xcb_list_hosts_cookie_t xcb_ret;
13460     xcb_list_hosts_request_t xcb_out;
13461 
13462     xcb_out.pad0 = 0;
13463 
13464     xcb_parts[2].iov_base = (char *) &xcb_out;
13465     xcb_parts[2].iov_len = sizeof(xcb_out);
13466     xcb_parts[3].iov_base = 0;
13467     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13468     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13469     return xcb_ret;
13470 }
13471 
13472 
13473 /*****************************************************************************
13474  **
13475  ** int xcb_list_hosts_hosts_length
13476  **
13477  ** @param const xcb_list_hosts_reply_t *R
13478  ** @returns int
13479  **
13480  *****************************************************************************/
13481 
13482 int
13483 xcb_list_hosts_hosts_length (const xcb_list_hosts_reply_t *R  /**< */)
13484 {
13485     return R->hosts_len;
13486 }
13487 
13488 
13489 /*****************************************************************************
13490  **
13491  ** xcb_host_iterator_t xcb_list_hosts_hosts_iterator
13492  **
13493  ** @param const xcb_list_hosts_reply_t *R
13494  ** @returns xcb_host_iterator_t
13495  **
13496  *****************************************************************************/
13497 
13498 xcb_host_iterator_t
13499 xcb_list_hosts_hosts_iterator (const xcb_list_hosts_reply_t *R  /**< */)
13500 {
13501     xcb_host_iterator_t i;
13502     i.data = (xcb_host_t *) (R + 1);
13503     i.rem = R->hosts_len;
13504     i.index = (char *) i.data - (char *) R;
13505     return i;
13506 }
13507 
13508 
13509 /*****************************************************************************
13510  **
13511  ** xcb_list_hosts_reply_t * xcb_list_hosts_reply
13512  **
13513  ** @param xcb_connection_t         *c
13514  ** @param xcb_list_hosts_cookie_t   cookie
13515  ** @param xcb_generic_error_t     **e
13516  ** @returns xcb_list_hosts_reply_t *
13517  **
13518  *****************************************************************************/
13519 
13520 xcb_list_hosts_reply_t *
13521 xcb_list_hosts_reply (xcb_connection_t         *c  /**< */,
13522                       xcb_list_hosts_cookie_t   cookie  /**< */,
13523                       xcb_generic_error_t     **e  /**< */)
13524 {
13525     return (xcb_list_hosts_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
13526 }
13527 
13528 
13529 /*****************************************************************************
13530  **
13531  ** xcb_void_cookie_t xcb_set_access_control_checked
13532  **
13533  ** @param xcb_connection_t *c
13534  ** @param uint8_t           mode
13535  ** @returns xcb_void_cookie_t
13536  **
13537  *****************************************************************************/
13538 
13539 xcb_void_cookie_t
13540 xcb_set_access_control_checked (xcb_connection_t *c  /**< */,
13541                                 uint8_t           mode  /**< */)
13542 {
13543     static const xcb_protocol_request_t xcb_req = {
13544         /* count */ 2,
13545         /* ext */ 0,
13546         /* opcode */ XCB_SET_ACCESS_CONTROL,
13547         /* isvoid */ 1
13548     };
13549 
13550     struct iovec xcb_parts[4];
13551     xcb_void_cookie_t xcb_ret;
13552     xcb_set_access_control_request_t xcb_out;
13553 
13554     xcb_out.mode = mode;
13555 
13556     xcb_parts[2].iov_base = (char *) &xcb_out;
13557     xcb_parts[2].iov_len = sizeof(xcb_out);
13558     xcb_parts[3].iov_base = 0;
13559     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13560     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13561     return xcb_ret;
13562 }
13563 
13564 
13565 /*****************************************************************************
13566  **
13567  ** xcb_void_cookie_t xcb_set_access_control
13568  **
13569  ** @param xcb_connection_t *c
13570  ** @param uint8_t           mode
13571  ** @returns xcb_void_cookie_t
13572  **
13573  *****************************************************************************/
13574 
13575 xcb_void_cookie_t
13576 xcb_set_access_control (xcb_connection_t *c  /**< */,
13577                         uint8_t           mode  /**< */)
13578 {
13579     static const xcb_protocol_request_t xcb_req = {
13580         /* count */ 2,
13581         /* ext */ 0,
13582         /* opcode */ XCB_SET_ACCESS_CONTROL,
13583         /* isvoid */ 1
13584     };
13585 
13586     struct iovec xcb_parts[4];
13587     xcb_void_cookie_t xcb_ret;
13588     xcb_set_access_control_request_t xcb_out;
13589 
13590     xcb_out.mode = mode;
13591 
13592     xcb_parts[2].iov_base = (char *) &xcb_out;
13593     xcb_parts[2].iov_len = sizeof(xcb_out);
13594     xcb_parts[3].iov_base = 0;
13595     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13596     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13597     return xcb_ret;
13598 }
13599 
13600 
13601 /*****************************************************************************
13602  **
13603  ** xcb_void_cookie_t xcb_set_close_down_mode_checked
13604  **
13605  ** @param xcb_connection_t *c
13606  ** @param uint8_t           mode
13607  ** @returns xcb_void_cookie_t
13608  **
13609  *****************************************************************************/
13610 
13611 xcb_void_cookie_t
13612 xcb_set_close_down_mode_checked (xcb_connection_t *c  /**< */,
13613                                  uint8_t           mode  /**< */)
13614 {
13615     static const xcb_protocol_request_t xcb_req = {
13616         /* count */ 2,
13617         /* ext */ 0,
13618         /* opcode */ XCB_SET_CLOSE_DOWN_MODE,
13619         /* isvoid */ 1
13620     };
13621 
13622     struct iovec xcb_parts[4];
13623     xcb_void_cookie_t xcb_ret;
13624     xcb_set_close_down_mode_request_t xcb_out;
13625 
13626     xcb_out.mode = mode;
13627 
13628     xcb_parts[2].iov_base = (char *) &xcb_out;
13629     xcb_parts[2].iov_len = sizeof(xcb_out);
13630     xcb_parts[3].iov_base = 0;
13631     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13632     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13633     return xcb_ret;
13634 }
13635 
13636 
13637 /*****************************************************************************
13638  **
13639  ** xcb_void_cookie_t xcb_set_close_down_mode
13640  **
13641  ** @param xcb_connection_t *c
13642  ** @param uint8_t           mode
13643  ** @returns xcb_void_cookie_t
13644  **
13645  *****************************************************************************/
13646 
13647 xcb_void_cookie_t
13648 xcb_set_close_down_mode (xcb_connection_t *c  /**< */,
13649                          uint8_t           mode  /**< */)
13650 {
13651     static const xcb_protocol_request_t xcb_req = {
13652         /* count */ 2,
13653         /* ext */ 0,
13654         /* opcode */ XCB_SET_CLOSE_DOWN_MODE,
13655         /* isvoid */ 1
13656     };
13657 
13658     struct iovec xcb_parts[4];
13659     xcb_void_cookie_t xcb_ret;
13660     xcb_set_close_down_mode_request_t xcb_out;
13661 
13662     xcb_out.mode = mode;
13663 
13664     xcb_parts[2].iov_base = (char *) &xcb_out;
13665     xcb_parts[2].iov_len = sizeof(xcb_out);
13666     xcb_parts[3].iov_base = 0;
13667     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13668     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13669     return xcb_ret;
13670 }
13671 
13672 
13673 /*****************************************************************************
13674  **
13675  ** xcb_void_cookie_t xcb_kill_client_checked
13676  **
13677  ** @param xcb_connection_t *c
13678  ** @param uint32_t          resource
13679  ** @returns xcb_void_cookie_t
13680  **
13681  *****************************************************************************/
13682 
13683 xcb_void_cookie_t
13684 xcb_kill_client_checked (xcb_connection_t *c  /**< */,
13685                          uint32_t          resource  /**< */)
13686 {
13687     static const xcb_protocol_request_t xcb_req = {
13688         /* count */ 2,
13689         /* ext */ 0,
13690         /* opcode */ XCB_KILL_CLIENT,
13691         /* isvoid */ 1
13692     };
13693 
13694     struct iovec xcb_parts[4];
13695     xcb_void_cookie_t xcb_ret;
13696     xcb_kill_client_request_t xcb_out;
13697 
13698     xcb_out.pad0 = 0;
13699     xcb_out.resource = resource;
13700 
13701     xcb_parts[2].iov_base = (char *) &xcb_out;
13702     xcb_parts[2].iov_len = sizeof(xcb_out);
13703     xcb_parts[3].iov_base = 0;
13704     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13705     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13706     return xcb_ret;
13707 }
13708 
13709 
13710 /*****************************************************************************
13711  **
13712  ** xcb_void_cookie_t xcb_kill_client
13713  **
13714  ** @param xcb_connection_t *c
13715  ** @param uint32_t          resource
13716  ** @returns xcb_void_cookie_t
13717  **
13718  *****************************************************************************/
13719 
13720 xcb_void_cookie_t
13721 xcb_kill_client (xcb_connection_t *c  /**< */,
13722                  uint32_t          resource  /**< */)
13723 {
13724     static const xcb_protocol_request_t xcb_req = {
13725         /* count */ 2,
13726         /* ext */ 0,
13727         /* opcode */ XCB_KILL_CLIENT,
13728         /* isvoid */ 1
13729     };
13730 
13731     struct iovec xcb_parts[4];
13732     xcb_void_cookie_t xcb_ret;
13733     xcb_kill_client_request_t xcb_out;
13734 
13735     xcb_out.pad0 = 0;
13736     xcb_out.resource = resource;
13737 
13738     xcb_parts[2].iov_base = (char *) &xcb_out;
13739     xcb_parts[2].iov_len = sizeof(xcb_out);
13740     xcb_parts[3].iov_base = 0;
13741     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13742     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13743     return xcb_ret;
13744 }
13745 
13746 
13747 /*****************************************************************************
13748  **
13749  ** xcb_void_cookie_t xcb_rotate_properties_checked
13750  **
13751  ** @param xcb_connection_t *c
13752  ** @param xcb_window_t      window
13753  ** @param uint16_t          atoms_len
13754  ** @param int16_t           delta
13755  ** @param const xcb_atom_t *atoms
13756  ** @returns xcb_void_cookie_t
13757  **
13758  *****************************************************************************/
13759 
13760 xcb_void_cookie_t
13761 xcb_rotate_properties_checked (xcb_connection_t *c  /**< */,
13762                                xcb_window_t      window  /**< */,
13763                                uint16_t          atoms_len  /**< */,
13764                                int16_t           delta  /**< */,
13765                                const xcb_atom_t *atoms  /**< */)
13766 {
13767     static const xcb_protocol_request_t xcb_req = {
13768         /* count */ 4,
13769         /* ext */ 0,
13770         /* opcode */ XCB_ROTATE_PROPERTIES,
13771         /* isvoid */ 1
13772     };
13773 
13774     struct iovec xcb_parts[6];
13775     xcb_void_cookie_t xcb_ret;
13776     xcb_rotate_properties_request_t xcb_out;
13777 
13778     xcb_out.pad0 = 0;
13779     xcb_out.window = window;
13780     xcb_out.atoms_len = atoms_len;
13781     xcb_out.delta = delta;
13782 
13783     xcb_parts[2].iov_base = (char *) &xcb_out;
13784     xcb_parts[2].iov_len = sizeof(xcb_out);
13785     xcb_parts[3].iov_base = 0;
13786     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13787     xcb_parts[4].iov_base = (char *) atoms;
13788     xcb_parts[4].iov_len = atoms_len * sizeof(xcb_atom_t);
13789     xcb_parts[5].iov_base = 0;
13790     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
13791     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13792     return xcb_ret;
13793 }
13794 
13795 
13796 /*****************************************************************************
13797  **
13798  ** xcb_void_cookie_t xcb_rotate_properties
13799  **
13800  ** @param xcb_connection_t *c
13801  ** @param xcb_window_t      window
13802  ** @param uint16_t          atoms_len
13803  ** @param int16_t           delta
13804  ** @param const xcb_atom_t *atoms
13805  ** @returns xcb_void_cookie_t
13806  **
13807  *****************************************************************************/
13808 
13809 xcb_void_cookie_t
13810 xcb_rotate_properties (xcb_connection_t *c  /**< */,
13811                        xcb_window_t      window  /**< */,
13812                        uint16_t          atoms_len  /**< */,
13813                        int16_t           delta  /**< */,
13814                        const xcb_atom_t *atoms  /**< */)
13815 {
13816     static const xcb_protocol_request_t xcb_req = {
13817         /* count */ 4,
13818         /* ext */ 0,
13819         /* opcode */ XCB_ROTATE_PROPERTIES,
13820         /* isvoid */ 1
13821     };
13822 
13823     struct iovec xcb_parts[6];
13824     xcb_void_cookie_t xcb_ret;
13825     xcb_rotate_properties_request_t xcb_out;
13826 
13827     xcb_out.pad0 = 0;
13828     xcb_out.window = window;
13829     xcb_out.atoms_len = atoms_len;
13830     xcb_out.delta = delta;
13831 
13832     xcb_parts[2].iov_base = (char *) &xcb_out;
13833     xcb_parts[2].iov_len = sizeof(xcb_out);
13834     xcb_parts[3].iov_base = 0;
13835     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13836     xcb_parts[4].iov_base = (char *) atoms;
13837     xcb_parts[4].iov_len = atoms_len * sizeof(xcb_atom_t);
13838     xcb_parts[5].iov_base = 0;
13839     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
13840     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13841     return xcb_ret;
13842 }
13843 
13844 
13845 /*****************************************************************************
13846  **
13847  ** xcb_void_cookie_t xcb_force_screen_saver_checked
13848  **
13849  ** @param xcb_connection_t *c
13850  ** @param uint8_t           mode
13851  ** @returns xcb_void_cookie_t
13852  **
13853  *****************************************************************************/
13854 
13855 xcb_void_cookie_t
13856 xcb_force_screen_saver_checked (xcb_connection_t *c  /**< */,
13857                                 uint8_t           mode  /**< */)
13858 {
13859     static const xcb_protocol_request_t xcb_req = {
13860         /* count */ 2,
13861         /* ext */ 0,
13862         /* opcode */ XCB_FORCE_SCREEN_SAVER,
13863         /* isvoid */ 1
13864     };
13865 
13866     struct iovec xcb_parts[4];
13867     xcb_void_cookie_t xcb_ret;
13868     xcb_force_screen_saver_request_t xcb_out;
13869 
13870     xcb_out.mode = mode;
13871 
13872     xcb_parts[2].iov_base = (char *) &xcb_out;
13873     xcb_parts[2].iov_len = sizeof(xcb_out);
13874     xcb_parts[3].iov_base = 0;
13875     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13876     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13877     return xcb_ret;
13878 }
13879 
13880 
13881 /*****************************************************************************
13882  **
13883  ** xcb_void_cookie_t xcb_force_screen_saver
13884  **
13885  ** @param xcb_connection_t *c
13886  ** @param uint8_t           mode
13887  ** @returns xcb_void_cookie_t
13888  **
13889  *****************************************************************************/
13890 
13891 xcb_void_cookie_t
13892 xcb_force_screen_saver (xcb_connection_t *c  /**< */,
13893                         uint8_t           mode  /**< */)
13894 {
13895     static const xcb_protocol_request_t xcb_req = {
13896         /* count */ 2,
13897         /* ext */ 0,
13898         /* opcode */ XCB_FORCE_SCREEN_SAVER,
13899         /* isvoid */ 1
13900     };
13901 
13902     struct iovec xcb_parts[4];
13903     xcb_void_cookie_t xcb_ret;
13904     xcb_force_screen_saver_request_t xcb_out;
13905 
13906     xcb_out.mode = mode;
13907 
13908     xcb_parts[2].iov_base = (char *) &xcb_out;
13909     xcb_parts[2].iov_len = sizeof(xcb_out);
13910     xcb_parts[3].iov_base = 0;
13911     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13912     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13913     return xcb_ret;
13914 }
13915 
13916 
13917 /*****************************************************************************
13918  **
13919  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping
13920  **
13921  ** @param xcb_connection_t *c
13922  ** @param uint8_t           map_len
13923  ** @param const uint8_t    *map
13924  ** @returns xcb_set_pointer_mapping_cookie_t
13925  **
13926  *****************************************************************************/
13927 
13928 xcb_set_pointer_mapping_cookie_t
13929 xcb_set_pointer_mapping (xcb_connection_t *c  /**< */,
13930                          uint8_t           map_len  /**< */,
13931                          const uint8_t    *map  /**< */)
13932 {
13933     static const xcb_protocol_request_t xcb_req = {
13934         /* count */ 4,
13935         /* ext */ 0,
13936         /* opcode */ XCB_SET_POINTER_MAPPING,
13937         /* isvoid */ 0
13938     };
13939 
13940     struct iovec xcb_parts[6];
13941     xcb_set_pointer_mapping_cookie_t xcb_ret;
13942     xcb_set_pointer_mapping_request_t xcb_out;
13943 
13944     xcb_out.map_len = map_len;
13945 
13946     xcb_parts[2].iov_base = (char *) &xcb_out;
13947     xcb_parts[2].iov_len = sizeof(xcb_out);
13948     xcb_parts[3].iov_base = 0;
13949     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13950     xcb_parts[4].iov_base = (char *) map;
13951     xcb_parts[4].iov_len = map_len * sizeof(uint8_t);
13952     xcb_parts[5].iov_base = 0;
13953     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
13954     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
13955     return xcb_ret;
13956 }
13957 
13958 
13959 /*****************************************************************************
13960  **
13961  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping_unchecked
13962  **
13963  ** @param xcb_connection_t *c
13964  ** @param uint8_t           map_len
13965  ** @param const uint8_t    *map
13966  ** @returns xcb_set_pointer_mapping_cookie_t
13967  **
13968  *****************************************************************************/
13969 
13970 xcb_set_pointer_mapping_cookie_t
13971 xcb_set_pointer_mapping_unchecked (xcb_connection_t *c  /**< */,
13972                                    uint8_t           map_len  /**< */,
13973                                    const uint8_t    *map  /**< */)
13974 {
13975     static const xcb_protocol_request_t xcb_req = {
13976         /* count */ 4,
13977         /* ext */ 0,
13978         /* opcode */ XCB_SET_POINTER_MAPPING,
13979         /* isvoid */ 0
13980     };
13981 
13982     struct iovec xcb_parts[6];
13983     xcb_set_pointer_mapping_cookie_t xcb_ret;
13984     xcb_set_pointer_mapping_request_t xcb_out;
13985 
13986     xcb_out.map_len = map_len;
13987 
13988     xcb_parts[2].iov_base = (char *) &xcb_out;
13989     xcb_parts[2].iov_len = sizeof(xcb_out);
13990     xcb_parts[3].iov_base = 0;
13991     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
13992     xcb_parts[4].iov_base = (char *) map;
13993     xcb_parts[4].iov_len = map_len * sizeof(uint8_t);
13994     xcb_parts[5].iov_base = 0;
13995     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
13996     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
13997     return xcb_ret;
13998 }
13999 
14000 
14001 /*****************************************************************************
14002  **
14003  ** xcb_set_pointer_mapping_reply_t * xcb_set_pointer_mapping_reply
14004  **
14005  ** @param xcb_connection_t                  *c
14006  ** @param xcb_set_pointer_mapping_cookie_t   cookie
14007  ** @param xcb_generic_error_t              **e
14008  ** @returns xcb_set_pointer_mapping_reply_t *
14009  **
14010  *****************************************************************************/
14011 
14012 xcb_set_pointer_mapping_reply_t *
14013 xcb_set_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
14014                                xcb_set_pointer_mapping_cookie_t   cookie  /**< */,
14015                                xcb_generic_error_t              **e  /**< */)
14016 {
14017     return (xcb_set_pointer_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
14018 }
14019 
14020 
14021 /*****************************************************************************
14022  **
14023  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping
14024  **
14025  ** @param xcb_connection_t *c
14026  ** @returns xcb_get_pointer_mapping_cookie_t
14027  **
14028  *****************************************************************************/
14029 
14030 xcb_get_pointer_mapping_cookie_t
14031 xcb_get_pointer_mapping (xcb_connection_t *c  /**< */)
14032 {
14033     static const xcb_protocol_request_t xcb_req = {
14034         /* count */ 2,
14035         /* ext */ 0,
14036         /* opcode */ XCB_GET_POINTER_MAPPING,
14037         /* isvoid */ 0
14038     };
14039 
14040     struct iovec xcb_parts[4];
14041     xcb_get_pointer_mapping_cookie_t xcb_ret;
14042     xcb_get_pointer_mapping_request_t xcb_out;
14043 
14044     xcb_out.pad0 = 0;
14045 
14046     xcb_parts[2].iov_base = (char *) &xcb_out;
14047     xcb_parts[2].iov_len = sizeof(xcb_out);
14048     xcb_parts[3].iov_base = 0;
14049     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14050     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
14051     return xcb_ret;
14052 }
14053 
14054 
14055 /*****************************************************************************
14056  **
14057  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping_unchecked
14058  **
14059  ** @param xcb_connection_t *c
14060  ** @returns xcb_get_pointer_mapping_cookie_t
14061  **
14062  *****************************************************************************/
14063 
14064 xcb_get_pointer_mapping_cookie_t
14065 xcb_get_pointer_mapping_unchecked (xcb_connection_t *c  /**< */)
14066 {
14067     static const xcb_protocol_request_t xcb_req = {
14068         /* count */ 2,
14069         /* ext */ 0,
14070         /* opcode */ XCB_GET_POINTER_MAPPING,
14071         /* isvoid */ 0
14072     };
14073 
14074     struct iovec xcb_parts[4];
14075     xcb_get_pointer_mapping_cookie_t xcb_ret;
14076     xcb_get_pointer_mapping_request_t xcb_out;
14077 
14078     xcb_out.pad0 = 0;
14079 
14080     xcb_parts[2].iov_base = (char *) &xcb_out;
14081     xcb_parts[2].iov_len = sizeof(xcb_out);
14082     xcb_parts[3].iov_base = 0;
14083     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14084     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
14085     return xcb_ret;
14086 }
14087 
14088 
14089 /*****************************************************************************
14090  **
14091  ** uint8_t * xcb_get_pointer_mapping_map
14092  **
14093  ** @param const xcb_get_pointer_mapping_reply_t *R
14094  ** @returns uint8_t *
14095  **
14096  *****************************************************************************/
14097 
14098 uint8_t *
14099 xcb_get_pointer_mapping_map (const xcb_get_pointer_mapping_reply_t *R  /**< */)
14100 {
14101     return (uint8_t *) (R + 1);
14102 }
14103 
14104 
14105 /*****************************************************************************
14106  **
14107  ** int xcb_get_pointer_mapping_map_length
14108  **
14109  ** @param const xcb_get_pointer_mapping_reply_t *R
14110  ** @returns int
14111  **
14112  *****************************************************************************/
14113 
14114 int
14115 xcb_get_pointer_mapping_map_length (const xcb_get_pointer_mapping_reply_t *R  /**< */)
14116 {
14117     return R->map_len;
14118 }
14119 
14120 
14121 /*****************************************************************************
14122  **
14123  ** xcb_generic_iterator_t xcb_get_pointer_mapping_map_end
14124  **
14125  ** @param const xcb_get_pointer_mapping_reply_t *R
14126  ** @returns xcb_generic_iterator_t
14127  **
14128  *****************************************************************************/
14129 
14130 xcb_generic_iterator_t
14131 xcb_get_pointer_mapping_map_end (const xcb_get_pointer_mapping_reply_t *R  /**< */)
14132 {
14133     xcb_generic_iterator_t i;
14134     i.data = ((uint8_t *) (R + 1)) + (R->map_len);
14135     i.rem = 0;
14136     i.index = (char *) i.data - (char *) R;
14137     return i;
14138 }
14139 
14140 
14141 /*****************************************************************************
14142  **
14143  ** xcb_get_pointer_mapping_reply_t * xcb_get_pointer_mapping_reply
14144  **
14145  ** @param xcb_connection_t                  *c
14146  ** @param xcb_get_pointer_mapping_cookie_t   cookie
14147  ** @param xcb_generic_error_t              **e
14148  ** @returns xcb_get_pointer_mapping_reply_t *
14149  **
14150  *****************************************************************************/
14151 
14152 xcb_get_pointer_mapping_reply_t *
14153 xcb_get_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
14154                                xcb_get_pointer_mapping_cookie_t   cookie  /**< */,
14155                                xcb_generic_error_t              **e  /**< */)
14156 {
14157     return (xcb_get_pointer_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
14158 }
14159 
14160 
14161 /*****************************************************************************
14162  **
14163  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping
14164  **
14165  ** @param xcb_connection_t    *c
14166  ** @param uint8_t              keycodes_per_modifier
14167  ** @param const xcb_keycode_t *keycodes
14168  ** @returns xcb_set_modifier_mapping_cookie_t
14169  **
14170  *****************************************************************************/
14171 
14172 xcb_set_modifier_mapping_cookie_t
14173 xcb_set_modifier_mapping (xcb_connection_t    *c  /**< */,
14174                           uint8_t              keycodes_per_modifier  /**< */,
14175                           const xcb_keycode_t *keycodes  /**< */)
14176 {
14177     static const xcb_protocol_request_t xcb_req = {
14178         /* count */ 4,
14179         /* ext */ 0,
14180         /* opcode */ XCB_SET_MODIFIER_MAPPING,
14181         /* isvoid */ 0
14182     };
14183 
14184     struct iovec xcb_parts[6];
14185     xcb_set_modifier_mapping_cookie_t xcb_ret;
14186     xcb_set_modifier_mapping_request_t xcb_out;
14187 
14188     xcb_out.keycodes_per_modifier = keycodes_per_modifier;
14189 
14190     xcb_parts[2].iov_base = (char *) &xcb_out;
14191     xcb_parts[2].iov_len = sizeof(xcb_out);
14192     xcb_parts[3].iov_base = 0;
14193     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14194     xcb_parts[4].iov_base = (char *) keycodes;
14195     xcb_parts[4].iov_len = (keycodes_per_modifier * 8) * sizeof(uint8_t);
14196     xcb_parts[5].iov_base = 0;
14197     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
14198     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
14199     return xcb_ret;
14200 }
14201 
14202 
14203 /*****************************************************************************
14204  **
14205  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping_unchecked
14206  **
14207  ** @param xcb_connection_t    *c
14208  ** @param uint8_t              keycodes_per_modifier
14209  ** @param const xcb_keycode_t *keycodes
14210  ** @returns xcb_set_modifier_mapping_cookie_t
14211  **
14212  *****************************************************************************/
14213 
14214 xcb_set_modifier_mapping_cookie_t
14215 xcb_set_modifier_mapping_unchecked (xcb_connection_t    *c  /**< */,
14216                                     uint8_t              keycodes_per_modifier  /**< */,
14217                                     const xcb_keycode_t *keycodes  /**< */)
14218 {
14219     static const xcb_protocol_request_t xcb_req = {
14220         /* count */ 4,
14221         /* ext */ 0,
14222         /* opcode */ XCB_SET_MODIFIER_MAPPING,
14223         /* isvoid */ 0
14224     };
14225 
14226     struct iovec xcb_parts[6];
14227     xcb_set_modifier_mapping_cookie_t xcb_ret;
14228     xcb_set_modifier_mapping_request_t xcb_out;
14229 
14230     xcb_out.keycodes_per_modifier = keycodes_per_modifier;
14231 
14232     xcb_parts[2].iov_base = (char *) &xcb_out;
14233     xcb_parts[2].iov_len = sizeof(xcb_out);
14234     xcb_parts[3].iov_base = 0;
14235     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14236     xcb_parts[4].iov_base = (char *) keycodes;
14237     xcb_parts[4].iov_len = (keycodes_per_modifier * 8) * sizeof(uint8_t);
14238     xcb_parts[5].iov_base = 0;
14239     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
14240     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
14241     return xcb_ret;
14242 }
14243 
14244 
14245 /*****************************************************************************
14246  **
14247  ** xcb_set_modifier_mapping_reply_t * xcb_set_modifier_mapping_reply
14248  **
14249  ** @param xcb_connection_t                   *c
14250  ** @param xcb_set_modifier_mapping_cookie_t   cookie
14251  ** @param xcb_generic_error_t               **e
14252  ** @returns xcb_set_modifier_mapping_reply_t *
14253  **
14254  *****************************************************************************/
14255 
14256 xcb_set_modifier_mapping_reply_t *
14257 xcb_set_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
14258                                 xcb_set_modifier_mapping_cookie_t   cookie  /**< */,
14259                                 xcb_generic_error_t               **e  /**< */)
14260 {
14261     return (xcb_set_modifier_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
14262 }
14263 
14264 
14265 /*****************************************************************************
14266  **
14267  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping
14268  **
14269  ** @param xcb_connection_t *c
14270  ** @returns xcb_get_modifier_mapping_cookie_t
14271  **
14272  *****************************************************************************/
14273 
14274 xcb_get_modifier_mapping_cookie_t
14275 xcb_get_modifier_mapping (xcb_connection_t *c  /**< */)
14276 {
14277     static const xcb_protocol_request_t xcb_req = {
14278         /* count */ 2,
14279         /* ext */ 0,
14280         /* opcode */ XCB_GET_MODIFIER_MAPPING,
14281         /* isvoid */ 0
14282     };
14283 
14284     struct iovec xcb_parts[4];
14285     xcb_get_modifier_mapping_cookie_t xcb_ret;
14286     xcb_get_modifier_mapping_request_t xcb_out;
14287 
14288     xcb_out.pad0 = 0;
14289 
14290     xcb_parts[2].iov_base = (char *) &xcb_out;
14291     xcb_parts[2].iov_len = sizeof(xcb_out);
14292     xcb_parts[3].iov_base = 0;
14293     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14294     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
14295     return xcb_ret;
14296 }
14297 
14298 
14299 /*****************************************************************************
14300  **
14301  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping_unchecked
14302  **
14303  ** @param xcb_connection_t *c
14304  ** @returns xcb_get_modifier_mapping_cookie_t
14305  **
14306  *****************************************************************************/
14307 
14308 xcb_get_modifier_mapping_cookie_t
14309 xcb_get_modifier_mapping_unchecked (xcb_connection_t *c  /**< */)
14310 {
14311     static const xcb_protocol_request_t xcb_req = {
14312         /* count */ 2,
14313         /* ext */ 0,
14314         /* opcode */ XCB_GET_MODIFIER_MAPPING,
14315         /* isvoid */ 0
14316     };
14317 
14318     struct iovec xcb_parts[4];
14319     xcb_get_modifier_mapping_cookie_t xcb_ret;
14320     xcb_get_modifier_mapping_request_t xcb_out;
14321 
14322     xcb_out.pad0 = 0;
14323 
14324     xcb_parts[2].iov_base = (char *) &xcb_out;
14325     xcb_parts[2].iov_len = sizeof(xcb_out);
14326     xcb_parts[3].iov_base = 0;
14327     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14328     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
14329     return xcb_ret;
14330 }
14331 
14332 
14333 /*****************************************************************************
14334  **
14335  ** xcb_keycode_t * xcb_get_modifier_mapping_keycodes
14336  **
14337  ** @param const xcb_get_modifier_mapping_reply_t *R
14338  ** @returns xcb_keycode_t *
14339  **
14340  *****************************************************************************/
14341 
14342 xcb_keycode_t *
14343 xcb_get_modifier_mapping_keycodes (const xcb_get_modifier_mapping_reply_t *R  /**< */)
14344 {
14345     return (xcb_keycode_t *) (R + 1);
14346 }
14347 
14348 
14349 /*****************************************************************************
14350  **
14351  ** int xcb_get_modifier_mapping_keycodes_length
14352  **
14353  ** @param const xcb_get_modifier_mapping_reply_t *R
14354  ** @returns int
14355  **
14356  *****************************************************************************/
14357 
14358 int
14359 xcb_get_modifier_mapping_keycodes_length (const xcb_get_modifier_mapping_reply_t *R  /**< */)
14360 {
14361     return (R->keycodes_per_modifier * 8);
14362 }
14363 
14364 
14365 /*****************************************************************************
14366  **
14367  ** xcb_generic_iterator_t xcb_get_modifier_mapping_keycodes_end
14368  **
14369  ** @param const xcb_get_modifier_mapping_reply_t *R
14370  ** @returns xcb_generic_iterator_t
14371  **
14372  *****************************************************************************/
14373 
14374 xcb_generic_iterator_t
14375 xcb_get_modifier_mapping_keycodes_end (const xcb_get_modifier_mapping_reply_t *R  /**< */)
14376 {
14377     xcb_generic_iterator_t i;
14378     i.data = ((xcb_keycode_t *) (R + 1)) + ((R->keycodes_per_modifier * 8));
14379     i.rem = 0;
14380     i.index = (char *) i.data - (char *) R;
14381     return i;
14382 }
14383 
14384 
14385 /*****************************************************************************
14386  **
14387  ** xcb_get_modifier_mapping_reply_t * xcb_get_modifier_mapping_reply
14388  **
14389  ** @param xcb_connection_t                   *c
14390  ** @param xcb_get_modifier_mapping_cookie_t   cookie
14391  ** @param xcb_generic_error_t               **e
14392  ** @returns xcb_get_modifier_mapping_reply_t *
14393  **
14394  *****************************************************************************/
14395 
14396 xcb_get_modifier_mapping_reply_t *
14397 xcb_get_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
14398                                 xcb_get_modifier_mapping_cookie_t   cookie  /**< */,
14399                                 xcb_generic_error_t               **e  /**< */)
14400 {
14401     return (xcb_get_modifier_mapping_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
14402 }
14403 
14404 
14405 /*****************************************************************************
14406  **
14407  ** xcb_void_cookie_t xcb_no_operation_checked
14408  **
14409  ** @param xcb_connection_t *c
14410  ** @returns xcb_void_cookie_t
14411  **
14412  *****************************************************************************/
14413 
14414 xcb_void_cookie_t
14415 xcb_no_operation_checked (xcb_connection_t *c  /**< */)
14416 {
14417     static const xcb_protocol_request_t xcb_req = {
14418         /* count */ 2,
14419         /* ext */ 0,
14420         /* opcode */ XCB_NO_OPERATION,
14421         /* isvoid */ 1
14422     };
14423 
14424     struct iovec xcb_parts[4];
14425     xcb_void_cookie_t xcb_ret;
14426     xcb_no_operation_request_t xcb_out;
14427 
14428     xcb_out.pad0 = 0;
14429 
14430     xcb_parts[2].iov_base = (char *) &xcb_out;
14431     xcb_parts[2].iov_len = sizeof(xcb_out);
14432     xcb_parts[3].iov_base = 0;
14433     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14434     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
14435     return xcb_ret;
14436 }
14437 
14438 
14439 /*****************************************************************************
14440  **
14441  ** xcb_void_cookie_t xcb_no_operation
14442  **
14443  ** @param xcb_connection_t *c
14444  ** @returns xcb_void_cookie_t
14445  **
14446  *****************************************************************************/
14447 
14448 xcb_void_cookie_t
14449 xcb_no_operation (xcb_connection_t *c  /**< */)
14450 {
14451     static const xcb_protocol_request_t xcb_req = {
14452         /* count */ 2,
14453         /* ext */ 0,
14454         /* opcode */ XCB_NO_OPERATION,
14455         /* isvoid */ 1
14456     };
14457 
14458     struct iovec xcb_parts[4];
14459     xcb_void_cookie_t xcb_ret;
14460     xcb_no_operation_request_t xcb_out;
14461 
14462     xcb_out.pad0 = 0;
14463 
14464     xcb_parts[2].iov_base = (char *) &xcb_out;
14465     xcb_parts[2].iov_len = sizeof(xcb_out);
14466     xcb_parts[3].iov_base = 0;
14467     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
14468     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
14469     return xcb_ret;
14470 }
14471 
14472