xref: /netbsd/external/mit/xorg/lib/libxcb/files/xv.c (revision 6550d01e)
1 /*
2  * This file generated automatically from xv.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 "xv.h"
10 #include "xproto.h"
11 #include "shm.h"
12 
13 xcb_extension_t xcb_xv_id = { "XVideo", 0 };
14 
15 
16 /*****************************************************************************
17  **
18  ** void xcb_xv_port_next
19  **
20  ** @param xcb_xv_port_iterator_t *i
21  ** @returns void
22  **
23  *****************************************************************************/
24 
25 void
26 xcb_xv_port_next (xcb_xv_port_iterator_t *i  /**< */)
27 {
28     --i->rem;
29     ++i->data;
30     i->index += sizeof(xcb_xv_port_t);
31 }
32 
33 
34 /*****************************************************************************
35  **
36  ** xcb_generic_iterator_t xcb_xv_port_end
37  **
38  ** @param xcb_xv_port_iterator_t i
39  ** @returns xcb_generic_iterator_t
40  **
41  *****************************************************************************/
42 
43 xcb_generic_iterator_t
44 xcb_xv_port_end (xcb_xv_port_iterator_t i  /**< */)
45 {
46     xcb_generic_iterator_t ret;
47     ret.data = i.data + i.rem;
48     ret.index = i.index + ((char *) ret.data - (char *) i.data);
49     ret.rem = 0;
50     return ret;
51 }
52 
53 
54 /*****************************************************************************
55  **
56  ** void xcb_xv_encoding_next
57  **
58  ** @param xcb_xv_encoding_iterator_t *i
59  ** @returns void
60  **
61  *****************************************************************************/
62 
63 void
64 xcb_xv_encoding_next (xcb_xv_encoding_iterator_t *i  /**< */)
65 {
66     --i->rem;
67     ++i->data;
68     i->index += sizeof(xcb_xv_encoding_t);
69 }
70 
71 
72 /*****************************************************************************
73  **
74  ** xcb_generic_iterator_t xcb_xv_encoding_end
75  **
76  ** @param xcb_xv_encoding_iterator_t i
77  ** @returns xcb_generic_iterator_t
78  **
79  *****************************************************************************/
80 
81 xcb_generic_iterator_t
82 xcb_xv_encoding_end (xcb_xv_encoding_iterator_t i  /**< */)
83 {
84     xcb_generic_iterator_t ret;
85     ret.data = i.data + i.rem;
86     ret.index = i.index + ((char *) ret.data - (char *) i.data);
87     ret.rem = 0;
88     return ret;
89 }
90 
91 
92 /*****************************************************************************
93  **
94  ** void xcb_xv_rational_next
95  **
96  ** @param xcb_xv_rational_iterator_t *i
97  ** @returns void
98  **
99  *****************************************************************************/
100 
101 void
102 xcb_xv_rational_next (xcb_xv_rational_iterator_t *i  /**< */)
103 {
104     --i->rem;
105     ++i->data;
106     i->index += sizeof(xcb_xv_rational_t);
107 }
108 
109 
110 /*****************************************************************************
111  **
112  ** xcb_generic_iterator_t xcb_xv_rational_end
113  **
114  ** @param xcb_xv_rational_iterator_t i
115  ** @returns xcb_generic_iterator_t
116  **
117  *****************************************************************************/
118 
119 xcb_generic_iterator_t
120 xcb_xv_rational_end (xcb_xv_rational_iterator_t i  /**< */)
121 {
122     xcb_generic_iterator_t ret;
123     ret.data = i.data + i.rem;
124     ret.index = i.index + ((char *) ret.data - (char *) i.data);
125     ret.rem = 0;
126     return ret;
127 }
128 
129 
130 /*****************************************************************************
131  **
132  ** void xcb_xv_format_next
133  **
134  ** @param xcb_xv_format_iterator_t *i
135  ** @returns void
136  **
137  *****************************************************************************/
138 
139 void
140 xcb_xv_format_next (xcb_xv_format_iterator_t *i  /**< */)
141 {
142     --i->rem;
143     ++i->data;
144     i->index += sizeof(xcb_xv_format_t);
145 }
146 
147 
148 /*****************************************************************************
149  **
150  ** xcb_generic_iterator_t xcb_xv_format_end
151  **
152  ** @param xcb_xv_format_iterator_t i
153  ** @returns xcb_generic_iterator_t
154  **
155  *****************************************************************************/
156 
157 xcb_generic_iterator_t
158 xcb_xv_format_end (xcb_xv_format_iterator_t i  /**< */)
159 {
160     xcb_generic_iterator_t ret;
161     ret.data = i.data + i.rem;
162     ret.index = i.index + ((char *) ret.data - (char *) i.data);
163     ret.rem = 0;
164     return ret;
165 }
166 
167 
168 /*****************************************************************************
169  **
170  ** char * xcb_xv_adaptor_info_name
171  **
172  ** @param const xcb_xv_adaptor_info_t *R
173  ** @returns char *
174  **
175  *****************************************************************************/
176 
177 char *
178 xcb_xv_adaptor_info_name (const xcb_xv_adaptor_info_t *R  /**< */)
179 {
180     return (char *) (R + 1);
181 }
182 
183 
184 /*****************************************************************************
185  **
186  ** int xcb_xv_adaptor_info_name_length
187  **
188  ** @param const xcb_xv_adaptor_info_t *R
189  ** @returns int
190  **
191  *****************************************************************************/
192 
193 int
194 xcb_xv_adaptor_info_name_length (const xcb_xv_adaptor_info_t *R  /**< */)
195 {
196     return R->name_size;
197 }
198 
199 
200 /*****************************************************************************
201  **
202  ** xcb_generic_iterator_t xcb_xv_adaptor_info_name_end
203  **
204  ** @param const xcb_xv_adaptor_info_t *R
205  ** @returns xcb_generic_iterator_t
206  **
207  *****************************************************************************/
208 
209 xcb_generic_iterator_t
210 xcb_xv_adaptor_info_name_end (const xcb_xv_adaptor_info_t *R  /**< */)
211 {
212     xcb_generic_iterator_t i;
213     i.data = ((char *) (R + 1)) + (R->name_size);
214     i.rem = 0;
215     i.index = (char *) i.data - (char *) R;
216     return i;
217 }
218 
219 
220 /*****************************************************************************
221  **
222  ** xcb_xv_format_t * xcb_xv_adaptor_info_formats
223  **
224  ** @param const xcb_xv_adaptor_info_t *R
225  ** @returns xcb_xv_format_t *
226  **
227  *****************************************************************************/
228 
229 xcb_xv_format_t *
230 xcb_xv_adaptor_info_formats (const xcb_xv_adaptor_info_t *R  /**< */)
231 {
232     xcb_generic_iterator_t prev = xcb_xv_adaptor_info_name_end(R);
233     return (xcb_xv_format_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xv_format_t, prev.index) + 0);
234 }
235 
236 
237 /*****************************************************************************
238  **
239  ** int xcb_xv_adaptor_info_formats_length
240  **
241  ** @param const xcb_xv_adaptor_info_t *R
242  ** @returns int
243  **
244  *****************************************************************************/
245 
246 int
247 xcb_xv_adaptor_info_formats_length (const xcb_xv_adaptor_info_t *R  /**< */)
248 {
249     return R->num_formats;
250 }
251 
252 
253 /*****************************************************************************
254  **
255  ** xcb_xv_format_iterator_t xcb_xv_adaptor_info_formats_iterator
256  **
257  ** @param const xcb_xv_adaptor_info_t *R
258  ** @returns xcb_xv_format_iterator_t
259  **
260  *****************************************************************************/
261 
262 xcb_xv_format_iterator_t
263 xcb_xv_adaptor_info_formats_iterator (const xcb_xv_adaptor_info_t *R  /**< */)
264 {
265     xcb_xv_format_iterator_t i;
266     xcb_generic_iterator_t prev = xcb_xv_adaptor_info_name_end(R);
267     i.data = (xcb_xv_format_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xv_format_t, prev.index));
268     i.rem = R->num_formats;
269     i.index = (char *) i.data - (char *) R;
270     return i;
271 }
272 
273 
274 /*****************************************************************************
275  **
276  ** void xcb_xv_adaptor_info_next
277  **
278  ** @param xcb_xv_adaptor_info_iterator_t *i
279  ** @returns void
280  **
281  *****************************************************************************/
282 
283 void
284 xcb_xv_adaptor_info_next (xcb_xv_adaptor_info_iterator_t *i  /**< */)
285 {
286     xcb_xv_adaptor_info_t *R = i->data;
287     xcb_generic_iterator_t child = xcb_xv_format_end(xcb_xv_adaptor_info_formats_iterator(R));
288     --i->rem;
289     i->data = (xcb_xv_adaptor_info_t *) child.data;
290     i->index = child.index;
291 }
292 
293 
294 /*****************************************************************************
295  **
296  ** xcb_generic_iterator_t xcb_xv_adaptor_info_end
297  **
298  ** @param xcb_xv_adaptor_info_iterator_t i
299  ** @returns xcb_generic_iterator_t
300  **
301  *****************************************************************************/
302 
303 xcb_generic_iterator_t
304 xcb_xv_adaptor_info_end (xcb_xv_adaptor_info_iterator_t i  /**< */)
305 {
306     xcb_generic_iterator_t ret;
307     while(i.rem > 0)
308         xcb_xv_adaptor_info_next(&i);
309     ret.data = i.data;
310     ret.rem = i.rem;
311     ret.index = i.index;
312     return ret;
313 }
314 
315 
316 /*****************************************************************************
317  **
318  ** char * xcb_xv_encoding_info_name
319  **
320  ** @param const xcb_xv_encoding_info_t *R
321  ** @returns char *
322  **
323  *****************************************************************************/
324 
325 char *
326 xcb_xv_encoding_info_name (const xcb_xv_encoding_info_t *R  /**< */)
327 {
328     return (char *) (R + 1);
329 }
330 
331 
332 /*****************************************************************************
333  **
334  ** int xcb_xv_encoding_info_name_length
335  **
336  ** @param const xcb_xv_encoding_info_t *R
337  ** @returns int
338  **
339  *****************************************************************************/
340 
341 int
342 xcb_xv_encoding_info_name_length (const xcb_xv_encoding_info_t *R  /**< */)
343 {
344     return R->name_size;
345 }
346 
347 
348 /*****************************************************************************
349  **
350  ** xcb_generic_iterator_t xcb_xv_encoding_info_name_end
351  **
352  ** @param const xcb_xv_encoding_info_t *R
353  ** @returns xcb_generic_iterator_t
354  **
355  *****************************************************************************/
356 
357 xcb_generic_iterator_t
358 xcb_xv_encoding_info_name_end (const xcb_xv_encoding_info_t *R  /**< */)
359 {
360     xcb_generic_iterator_t i;
361     i.data = ((char *) (R + 1)) + (R->name_size);
362     i.rem = 0;
363     i.index = (char *) i.data - (char *) R;
364     return i;
365 }
366 
367 
368 /*****************************************************************************
369  **
370  ** void xcb_xv_encoding_info_next
371  **
372  ** @param xcb_xv_encoding_info_iterator_t *i
373  ** @returns void
374  **
375  *****************************************************************************/
376 
377 void
378 xcb_xv_encoding_info_next (xcb_xv_encoding_info_iterator_t *i  /**< */)
379 {
380     xcb_xv_encoding_info_t *R = i->data;
381     xcb_generic_iterator_t child = xcb_xv_encoding_info_name_end(R);
382     --i->rem;
383     i->data = (xcb_xv_encoding_info_t *) child.data;
384     i->index = child.index;
385 }
386 
387 
388 /*****************************************************************************
389  **
390  ** xcb_generic_iterator_t xcb_xv_encoding_info_end
391  **
392  ** @param xcb_xv_encoding_info_iterator_t i
393  ** @returns xcb_generic_iterator_t
394  **
395  *****************************************************************************/
396 
397 xcb_generic_iterator_t
398 xcb_xv_encoding_info_end (xcb_xv_encoding_info_iterator_t i  /**< */)
399 {
400     xcb_generic_iterator_t ret;
401     while(i.rem > 0)
402         xcb_xv_encoding_info_next(&i);
403     ret.data = i.data;
404     ret.rem = i.rem;
405     ret.index = i.index;
406     return ret;
407 }
408 
409 
410 /*****************************************************************************
411  **
412  ** uint32_t * xcb_xv_image_pitches
413  **
414  ** @param const xcb_xv_image_t *R
415  ** @returns uint32_t *
416  **
417  *****************************************************************************/
418 
419 uint32_t *
420 xcb_xv_image_pitches (const xcb_xv_image_t *R  /**< */)
421 {
422     return (uint32_t *) (R + 1);
423 }
424 
425 
426 /*****************************************************************************
427  **
428  ** int xcb_xv_image_pitches_length
429  **
430  ** @param const xcb_xv_image_t *R
431  ** @returns int
432  **
433  *****************************************************************************/
434 
435 int
436 xcb_xv_image_pitches_length (const xcb_xv_image_t *R  /**< */)
437 {
438     return R->num_planes;
439 }
440 
441 
442 /*****************************************************************************
443  **
444  ** xcb_generic_iterator_t xcb_xv_image_pitches_end
445  **
446  ** @param const xcb_xv_image_t *R
447  ** @returns xcb_generic_iterator_t
448  **
449  *****************************************************************************/
450 
451 xcb_generic_iterator_t
452 xcb_xv_image_pitches_end (const xcb_xv_image_t *R  /**< */)
453 {
454     xcb_generic_iterator_t i;
455     i.data = ((uint32_t *) (R + 1)) + (R->num_planes);
456     i.rem = 0;
457     i.index = (char *) i.data - (char *) R;
458     return i;
459 }
460 
461 
462 /*****************************************************************************
463  **
464  ** uint32_t * xcb_xv_image_offsets
465  **
466  ** @param const xcb_xv_image_t *R
467  ** @returns uint32_t *
468  **
469  *****************************************************************************/
470 
471 uint32_t *
472 xcb_xv_image_offsets (const xcb_xv_image_t *R  /**< */)
473 {
474     xcb_generic_iterator_t prev = xcb_xv_image_pitches_end(R);
475     return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
476 }
477 
478 
479 /*****************************************************************************
480  **
481  ** int xcb_xv_image_offsets_length
482  **
483  ** @param const xcb_xv_image_t *R
484  ** @returns int
485  **
486  *****************************************************************************/
487 
488 int
489 xcb_xv_image_offsets_length (const xcb_xv_image_t *R  /**< */)
490 {
491     return R->num_planes;
492 }
493 
494 
495 /*****************************************************************************
496  **
497  ** xcb_generic_iterator_t xcb_xv_image_offsets_end
498  **
499  ** @param const xcb_xv_image_t *R
500  ** @returns xcb_generic_iterator_t
501  **
502  *****************************************************************************/
503 
504 xcb_generic_iterator_t
505 xcb_xv_image_offsets_end (const xcb_xv_image_t *R  /**< */)
506 {
507     xcb_generic_iterator_t i;
508     xcb_generic_iterator_t child = xcb_xv_image_pitches_end(R);
509     i.data = ((uint32_t *) child.data) + (R->num_planes);
510     i.rem = 0;
511     i.index = (char *) i.data - (char *) R;
512     return i;
513 }
514 
515 
516 /*****************************************************************************
517  **
518  ** uint8_t * xcb_xv_image_data
519  **
520  ** @param const xcb_xv_image_t *R
521  ** @returns uint8_t *
522  **
523  *****************************************************************************/
524 
525 uint8_t *
526 xcb_xv_image_data (const xcb_xv_image_t *R  /**< */)
527 {
528     xcb_generic_iterator_t prev = xcb_xv_image_offsets_end(R);
529     return (uint8_t *) ((char *) prev.data + XCB_TYPE_PAD(uint8_t, prev.index) + 0);
530 }
531 
532 
533 /*****************************************************************************
534  **
535  ** int xcb_xv_image_data_length
536  **
537  ** @param const xcb_xv_image_t *R
538  ** @returns int
539  **
540  *****************************************************************************/
541 
542 int
543 xcb_xv_image_data_length (const xcb_xv_image_t *R  /**< */)
544 {
545     return R->data_size;
546 }
547 
548 
549 /*****************************************************************************
550  **
551  ** xcb_generic_iterator_t xcb_xv_image_data_end
552  **
553  ** @param const xcb_xv_image_t *R
554  ** @returns xcb_generic_iterator_t
555  **
556  *****************************************************************************/
557 
558 xcb_generic_iterator_t
559 xcb_xv_image_data_end (const xcb_xv_image_t *R  /**< */)
560 {
561     xcb_generic_iterator_t i;
562     xcb_generic_iterator_t child = xcb_xv_image_offsets_end(R);
563     i.data = ((uint8_t *) child.data) + (R->data_size);
564     i.rem = 0;
565     i.index = (char *) i.data - (char *) R;
566     return i;
567 }
568 
569 
570 /*****************************************************************************
571  **
572  ** void xcb_xv_image_next
573  **
574  ** @param xcb_xv_image_iterator_t *i
575  ** @returns void
576  **
577  *****************************************************************************/
578 
579 void
580 xcb_xv_image_next (xcb_xv_image_iterator_t *i  /**< */)
581 {
582     xcb_xv_image_t *R = i->data;
583     xcb_generic_iterator_t child = xcb_xv_image_data_end(R);
584     --i->rem;
585     i->data = (xcb_xv_image_t *) child.data;
586     i->index = child.index;
587 }
588 
589 
590 /*****************************************************************************
591  **
592  ** xcb_generic_iterator_t xcb_xv_image_end
593  **
594  ** @param xcb_xv_image_iterator_t i
595  ** @returns xcb_generic_iterator_t
596  **
597  *****************************************************************************/
598 
599 xcb_generic_iterator_t
600 xcb_xv_image_end (xcb_xv_image_iterator_t i  /**< */)
601 {
602     xcb_generic_iterator_t ret;
603     while(i.rem > 0)
604         xcb_xv_image_next(&i);
605     ret.data = i.data;
606     ret.rem = i.rem;
607     ret.index = i.index;
608     return ret;
609 }
610 
611 
612 /*****************************************************************************
613  **
614  ** char * xcb_xv_attribute_info_name
615  **
616  ** @param const xcb_xv_attribute_info_t *R
617  ** @returns char *
618  **
619  *****************************************************************************/
620 
621 char *
622 xcb_xv_attribute_info_name (const xcb_xv_attribute_info_t *R  /**< */)
623 {
624     return (char *) (R + 1);
625 }
626 
627 
628 /*****************************************************************************
629  **
630  ** int xcb_xv_attribute_info_name_length
631  **
632  ** @param const xcb_xv_attribute_info_t *R
633  ** @returns int
634  **
635  *****************************************************************************/
636 
637 int
638 xcb_xv_attribute_info_name_length (const xcb_xv_attribute_info_t *R  /**< */)
639 {
640     return R->size;
641 }
642 
643 
644 /*****************************************************************************
645  **
646  ** xcb_generic_iterator_t xcb_xv_attribute_info_name_end
647  **
648  ** @param const xcb_xv_attribute_info_t *R
649  ** @returns xcb_generic_iterator_t
650  **
651  *****************************************************************************/
652 
653 xcb_generic_iterator_t
654 xcb_xv_attribute_info_name_end (const xcb_xv_attribute_info_t *R  /**< */)
655 {
656     xcb_generic_iterator_t i;
657     i.data = ((char *) (R + 1)) + (R->size);
658     i.rem = 0;
659     i.index = (char *) i.data - (char *) R;
660     return i;
661 }
662 
663 
664 /*****************************************************************************
665  **
666  ** void xcb_xv_attribute_info_next
667  **
668  ** @param xcb_xv_attribute_info_iterator_t *i
669  ** @returns void
670  **
671  *****************************************************************************/
672 
673 void
674 xcb_xv_attribute_info_next (xcb_xv_attribute_info_iterator_t *i  /**< */)
675 {
676     xcb_xv_attribute_info_t *R = i->data;
677     xcb_generic_iterator_t child = xcb_xv_attribute_info_name_end(R);
678     --i->rem;
679     i->data = (xcb_xv_attribute_info_t *) child.data;
680     i->index = child.index;
681 }
682 
683 
684 /*****************************************************************************
685  **
686  ** xcb_generic_iterator_t xcb_xv_attribute_info_end
687  **
688  ** @param xcb_xv_attribute_info_iterator_t i
689  ** @returns xcb_generic_iterator_t
690  **
691  *****************************************************************************/
692 
693 xcb_generic_iterator_t
694 xcb_xv_attribute_info_end (xcb_xv_attribute_info_iterator_t i  /**< */)
695 {
696     xcb_generic_iterator_t ret;
697     while(i.rem > 0)
698         xcb_xv_attribute_info_next(&i);
699     ret.data = i.data;
700     ret.rem = i.rem;
701     ret.index = i.index;
702     return ret;
703 }
704 
705 
706 /*****************************************************************************
707  **
708  ** void xcb_xv_image_format_info_next
709  **
710  ** @param xcb_xv_image_format_info_iterator_t *i
711  ** @returns void
712  **
713  *****************************************************************************/
714 
715 void
716 xcb_xv_image_format_info_next (xcb_xv_image_format_info_iterator_t *i  /**< */)
717 {
718     --i->rem;
719     ++i->data;
720     i->index += sizeof(xcb_xv_image_format_info_t);
721 }
722 
723 
724 /*****************************************************************************
725  **
726  ** xcb_generic_iterator_t xcb_xv_image_format_info_end
727  **
728  ** @param xcb_xv_image_format_info_iterator_t i
729  ** @returns xcb_generic_iterator_t
730  **
731  *****************************************************************************/
732 
733 xcb_generic_iterator_t
734 xcb_xv_image_format_info_end (xcb_xv_image_format_info_iterator_t i  /**< */)
735 {
736     xcb_generic_iterator_t ret;
737     ret.data = i.data + i.rem;
738     ret.index = i.index + ((char *) ret.data - (char *) i.data);
739     ret.rem = 0;
740     return ret;
741 }
742 
743 
744 /*****************************************************************************
745  **
746  ** xcb_xv_query_extension_cookie_t xcb_xv_query_extension
747  **
748  ** @param xcb_connection_t *c
749  ** @returns xcb_xv_query_extension_cookie_t
750  **
751  *****************************************************************************/
752 
753 xcb_xv_query_extension_cookie_t
754 xcb_xv_query_extension (xcb_connection_t *c  /**< */)
755 {
756     static const xcb_protocol_request_t xcb_req = {
757         /* count */ 2,
758         /* ext */ &xcb_xv_id,
759         /* opcode */ XCB_XV_QUERY_EXTENSION,
760         /* isvoid */ 0
761     };
762 
763     struct iovec xcb_parts[4];
764     xcb_xv_query_extension_cookie_t xcb_ret;
765     xcb_xv_query_extension_request_t xcb_out;
766 
767 
768     xcb_parts[2].iov_base = (char *) &xcb_out;
769     xcb_parts[2].iov_len = sizeof(xcb_out);
770     xcb_parts[3].iov_base = 0;
771     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
772     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
773     return xcb_ret;
774 }
775 
776 
777 /*****************************************************************************
778  **
779  ** xcb_xv_query_extension_cookie_t xcb_xv_query_extension_unchecked
780  **
781  ** @param xcb_connection_t *c
782  ** @returns xcb_xv_query_extension_cookie_t
783  **
784  *****************************************************************************/
785 
786 xcb_xv_query_extension_cookie_t
787 xcb_xv_query_extension_unchecked (xcb_connection_t *c  /**< */)
788 {
789     static const xcb_protocol_request_t xcb_req = {
790         /* count */ 2,
791         /* ext */ &xcb_xv_id,
792         /* opcode */ XCB_XV_QUERY_EXTENSION,
793         /* isvoid */ 0
794     };
795 
796     struct iovec xcb_parts[4];
797     xcb_xv_query_extension_cookie_t xcb_ret;
798     xcb_xv_query_extension_request_t xcb_out;
799 
800 
801     xcb_parts[2].iov_base = (char *) &xcb_out;
802     xcb_parts[2].iov_len = sizeof(xcb_out);
803     xcb_parts[3].iov_base = 0;
804     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
805     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
806     return xcb_ret;
807 }
808 
809 
810 /*****************************************************************************
811  **
812  ** xcb_xv_query_extension_reply_t * xcb_xv_query_extension_reply
813  **
814  ** @param xcb_connection_t                 *c
815  ** @param xcb_xv_query_extension_cookie_t   cookie
816  ** @param xcb_generic_error_t             **e
817  ** @returns xcb_xv_query_extension_reply_t *
818  **
819  *****************************************************************************/
820 
821 xcb_xv_query_extension_reply_t *
822 xcb_xv_query_extension_reply (xcb_connection_t                 *c  /**< */,
823                               xcb_xv_query_extension_cookie_t   cookie  /**< */,
824                               xcb_generic_error_t             **e  /**< */)
825 {
826     return (xcb_xv_query_extension_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
827 }
828 
829 
830 /*****************************************************************************
831  **
832  ** xcb_xv_query_adaptors_cookie_t xcb_xv_query_adaptors
833  **
834  ** @param xcb_connection_t *c
835  ** @param xcb_window_t      window
836  ** @returns xcb_xv_query_adaptors_cookie_t
837  **
838  *****************************************************************************/
839 
840 xcb_xv_query_adaptors_cookie_t
841 xcb_xv_query_adaptors (xcb_connection_t *c  /**< */,
842                        xcb_window_t      window  /**< */)
843 {
844     static const xcb_protocol_request_t xcb_req = {
845         /* count */ 2,
846         /* ext */ &xcb_xv_id,
847         /* opcode */ XCB_XV_QUERY_ADAPTORS,
848         /* isvoid */ 0
849     };
850 
851     struct iovec xcb_parts[4];
852     xcb_xv_query_adaptors_cookie_t xcb_ret;
853     xcb_xv_query_adaptors_request_t xcb_out;
854 
855     xcb_out.window = window;
856 
857     xcb_parts[2].iov_base = (char *) &xcb_out;
858     xcb_parts[2].iov_len = sizeof(xcb_out);
859     xcb_parts[3].iov_base = 0;
860     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
861     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
862     return xcb_ret;
863 }
864 
865 
866 /*****************************************************************************
867  **
868  ** xcb_xv_query_adaptors_cookie_t xcb_xv_query_adaptors_unchecked
869  **
870  ** @param xcb_connection_t *c
871  ** @param xcb_window_t      window
872  ** @returns xcb_xv_query_adaptors_cookie_t
873  **
874  *****************************************************************************/
875 
876 xcb_xv_query_adaptors_cookie_t
877 xcb_xv_query_adaptors_unchecked (xcb_connection_t *c  /**< */,
878                                  xcb_window_t      window  /**< */)
879 {
880     static const xcb_protocol_request_t xcb_req = {
881         /* count */ 2,
882         /* ext */ &xcb_xv_id,
883         /* opcode */ XCB_XV_QUERY_ADAPTORS,
884         /* isvoid */ 0
885     };
886 
887     struct iovec xcb_parts[4];
888     xcb_xv_query_adaptors_cookie_t xcb_ret;
889     xcb_xv_query_adaptors_request_t xcb_out;
890 
891     xcb_out.window = window;
892 
893     xcb_parts[2].iov_base = (char *) &xcb_out;
894     xcb_parts[2].iov_len = sizeof(xcb_out);
895     xcb_parts[3].iov_base = 0;
896     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
897     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
898     return xcb_ret;
899 }
900 
901 
902 /*****************************************************************************
903  **
904  ** int xcb_xv_query_adaptors_info_length
905  **
906  ** @param const xcb_xv_query_adaptors_reply_t *R
907  ** @returns int
908  **
909  *****************************************************************************/
910 
911 int
912 xcb_xv_query_adaptors_info_length (const xcb_xv_query_adaptors_reply_t *R  /**< */)
913 {
914     return R->num_adaptors;
915 }
916 
917 
918 /*****************************************************************************
919  **
920  ** xcb_xv_adaptor_info_iterator_t xcb_xv_query_adaptors_info_iterator
921  **
922  ** @param const xcb_xv_query_adaptors_reply_t *R
923  ** @returns xcb_xv_adaptor_info_iterator_t
924  **
925  *****************************************************************************/
926 
927 xcb_xv_adaptor_info_iterator_t
928 xcb_xv_query_adaptors_info_iterator (const xcb_xv_query_adaptors_reply_t *R  /**< */)
929 {
930     xcb_xv_adaptor_info_iterator_t i;
931     i.data = (xcb_xv_adaptor_info_t *) (R + 1);
932     i.rem = R->num_adaptors;
933     i.index = (char *) i.data - (char *) R;
934     return i;
935 }
936 
937 
938 /*****************************************************************************
939  **
940  ** xcb_xv_query_adaptors_reply_t * xcb_xv_query_adaptors_reply
941  **
942  ** @param xcb_connection_t                *c
943  ** @param xcb_xv_query_adaptors_cookie_t   cookie
944  ** @param xcb_generic_error_t            **e
945  ** @returns xcb_xv_query_adaptors_reply_t *
946  **
947  *****************************************************************************/
948 
949 xcb_xv_query_adaptors_reply_t *
950 xcb_xv_query_adaptors_reply (xcb_connection_t                *c  /**< */,
951                              xcb_xv_query_adaptors_cookie_t   cookie  /**< */,
952                              xcb_generic_error_t            **e  /**< */)
953 {
954     return (xcb_xv_query_adaptors_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
955 }
956 
957 
958 /*****************************************************************************
959  **
960  ** xcb_xv_query_encodings_cookie_t xcb_xv_query_encodings
961  **
962  ** @param xcb_connection_t *c
963  ** @param xcb_xv_port_t     port
964  ** @returns xcb_xv_query_encodings_cookie_t
965  **
966  *****************************************************************************/
967 
968 xcb_xv_query_encodings_cookie_t
969 xcb_xv_query_encodings (xcb_connection_t *c  /**< */,
970                         xcb_xv_port_t     port  /**< */)
971 {
972     static const xcb_protocol_request_t xcb_req = {
973         /* count */ 2,
974         /* ext */ &xcb_xv_id,
975         /* opcode */ XCB_XV_QUERY_ENCODINGS,
976         /* isvoid */ 0
977     };
978 
979     struct iovec xcb_parts[4];
980     xcb_xv_query_encodings_cookie_t xcb_ret;
981     xcb_xv_query_encodings_request_t xcb_out;
982 
983     xcb_out.port = port;
984 
985     xcb_parts[2].iov_base = (char *) &xcb_out;
986     xcb_parts[2].iov_len = sizeof(xcb_out);
987     xcb_parts[3].iov_base = 0;
988     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
989     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
990     return xcb_ret;
991 }
992 
993 
994 /*****************************************************************************
995  **
996  ** xcb_xv_query_encodings_cookie_t xcb_xv_query_encodings_unchecked
997  **
998  ** @param xcb_connection_t *c
999  ** @param xcb_xv_port_t     port
1000  ** @returns xcb_xv_query_encodings_cookie_t
1001  **
1002  *****************************************************************************/
1003 
1004 xcb_xv_query_encodings_cookie_t
1005 xcb_xv_query_encodings_unchecked (xcb_connection_t *c  /**< */,
1006                                   xcb_xv_port_t     port  /**< */)
1007 {
1008     static const xcb_protocol_request_t xcb_req = {
1009         /* count */ 2,
1010         /* ext */ &xcb_xv_id,
1011         /* opcode */ XCB_XV_QUERY_ENCODINGS,
1012         /* isvoid */ 0
1013     };
1014 
1015     struct iovec xcb_parts[4];
1016     xcb_xv_query_encodings_cookie_t xcb_ret;
1017     xcb_xv_query_encodings_request_t xcb_out;
1018 
1019     xcb_out.port = port;
1020 
1021     xcb_parts[2].iov_base = (char *) &xcb_out;
1022     xcb_parts[2].iov_len = sizeof(xcb_out);
1023     xcb_parts[3].iov_base = 0;
1024     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1025     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1026     return xcb_ret;
1027 }
1028 
1029 
1030 /*****************************************************************************
1031  **
1032  ** int xcb_xv_query_encodings_info_length
1033  **
1034  ** @param const xcb_xv_query_encodings_reply_t *R
1035  ** @returns int
1036  **
1037  *****************************************************************************/
1038 
1039 int
1040 xcb_xv_query_encodings_info_length (const xcb_xv_query_encodings_reply_t *R  /**< */)
1041 {
1042     return R->num_encodings;
1043 }
1044 
1045 
1046 /*****************************************************************************
1047  **
1048  ** xcb_xv_encoding_info_iterator_t xcb_xv_query_encodings_info_iterator
1049  **
1050  ** @param const xcb_xv_query_encodings_reply_t *R
1051  ** @returns xcb_xv_encoding_info_iterator_t
1052  **
1053  *****************************************************************************/
1054 
1055 xcb_xv_encoding_info_iterator_t
1056 xcb_xv_query_encodings_info_iterator (const xcb_xv_query_encodings_reply_t *R  /**< */)
1057 {
1058     xcb_xv_encoding_info_iterator_t i;
1059     i.data = (xcb_xv_encoding_info_t *) (R + 1);
1060     i.rem = R->num_encodings;
1061     i.index = (char *) i.data - (char *) R;
1062     return i;
1063 }
1064 
1065 
1066 /*****************************************************************************
1067  **
1068  ** xcb_xv_query_encodings_reply_t * xcb_xv_query_encodings_reply
1069  **
1070  ** @param xcb_connection_t                 *c
1071  ** @param xcb_xv_query_encodings_cookie_t   cookie
1072  ** @param xcb_generic_error_t             **e
1073  ** @returns xcb_xv_query_encodings_reply_t *
1074  **
1075  *****************************************************************************/
1076 
1077 xcb_xv_query_encodings_reply_t *
1078 xcb_xv_query_encodings_reply (xcb_connection_t                 *c  /**< */,
1079                               xcb_xv_query_encodings_cookie_t   cookie  /**< */,
1080                               xcb_generic_error_t             **e  /**< */)
1081 {
1082     return (xcb_xv_query_encodings_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1083 }
1084 
1085 
1086 /*****************************************************************************
1087  **
1088  ** xcb_xv_grab_port_cookie_t xcb_xv_grab_port
1089  **
1090  ** @param xcb_connection_t *c
1091  ** @param xcb_xv_port_t     port
1092  ** @param xcb_timestamp_t   time
1093  ** @returns xcb_xv_grab_port_cookie_t
1094  **
1095  *****************************************************************************/
1096 
1097 xcb_xv_grab_port_cookie_t
1098 xcb_xv_grab_port (xcb_connection_t *c  /**< */,
1099                   xcb_xv_port_t     port  /**< */,
1100                   xcb_timestamp_t   time  /**< */)
1101 {
1102     static const xcb_protocol_request_t xcb_req = {
1103         /* count */ 2,
1104         /* ext */ &xcb_xv_id,
1105         /* opcode */ XCB_XV_GRAB_PORT,
1106         /* isvoid */ 0
1107     };
1108 
1109     struct iovec xcb_parts[4];
1110     xcb_xv_grab_port_cookie_t xcb_ret;
1111     xcb_xv_grab_port_request_t xcb_out;
1112 
1113     xcb_out.port = port;
1114     xcb_out.time = time;
1115 
1116     xcb_parts[2].iov_base = (char *) &xcb_out;
1117     xcb_parts[2].iov_len = sizeof(xcb_out);
1118     xcb_parts[3].iov_base = 0;
1119     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1120     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1121     return xcb_ret;
1122 }
1123 
1124 
1125 /*****************************************************************************
1126  **
1127  ** xcb_xv_grab_port_cookie_t xcb_xv_grab_port_unchecked
1128  **
1129  ** @param xcb_connection_t *c
1130  ** @param xcb_xv_port_t     port
1131  ** @param xcb_timestamp_t   time
1132  ** @returns xcb_xv_grab_port_cookie_t
1133  **
1134  *****************************************************************************/
1135 
1136 xcb_xv_grab_port_cookie_t
1137 xcb_xv_grab_port_unchecked (xcb_connection_t *c  /**< */,
1138                             xcb_xv_port_t     port  /**< */,
1139                             xcb_timestamp_t   time  /**< */)
1140 {
1141     static const xcb_protocol_request_t xcb_req = {
1142         /* count */ 2,
1143         /* ext */ &xcb_xv_id,
1144         /* opcode */ XCB_XV_GRAB_PORT,
1145         /* isvoid */ 0
1146     };
1147 
1148     struct iovec xcb_parts[4];
1149     xcb_xv_grab_port_cookie_t xcb_ret;
1150     xcb_xv_grab_port_request_t xcb_out;
1151 
1152     xcb_out.port = port;
1153     xcb_out.time = time;
1154 
1155     xcb_parts[2].iov_base = (char *) &xcb_out;
1156     xcb_parts[2].iov_len = sizeof(xcb_out);
1157     xcb_parts[3].iov_base = 0;
1158     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1159     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1160     return xcb_ret;
1161 }
1162 
1163 
1164 /*****************************************************************************
1165  **
1166  ** xcb_xv_grab_port_reply_t * xcb_xv_grab_port_reply
1167  **
1168  ** @param xcb_connection_t           *c
1169  ** @param xcb_xv_grab_port_cookie_t   cookie
1170  ** @param xcb_generic_error_t       **e
1171  ** @returns xcb_xv_grab_port_reply_t *
1172  **
1173  *****************************************************************************/
1174 
1175 xcb_xv_grab_port_reply_t *
1176 xcb_xv_grab_port_reply (xcb_connection_t           *c  /**< */,
1177                         xcb_xv_grab_port_cookie_t   cookie  /**< */,
1178                         xcb_generic_error_t       **e  /**< */)
1179 {
1180     return (xcb_xv_grab_port_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1181 }
1182 
1183 
1184 /*****************************************************************************
1185  **
1186  ** xcb_void_cookie_t xcb_xv_ungrab_port_checked
1187  **
1188  ** @param xcb_connection_t *c
1189  ** @param xcb_xv_port_t     port
1190  ** @param xcb_timestamp_t   time
1191  ** @returns xcb_void_cookie_t
1192  **
1193  *****************************************************************************/
1194 
1195 xcb_void_cookie_t
1196 xcb_xv_ungrab_port_checked (xcb_connection_t *c  /**< */,
1197                             xcb_xv_port_t     port  /**< */,
1198                             xcb_timestamp_t   time  /**< */)
1199 {
1200     static const xcb_protocol_request_t xcb_req = {
1201         /* count */ 2,
1202         /* ext */ &xcb_xv_id,
1203         /* opcode */ XCB_XV_UNGRAB_PORT,
1204         /* isvoid */ 1
1205     };
1206 
1207     struct iovec xcb_parts[4];
1208     xcb_void_cookie_t xcb_ret;
1209     xcb_xv_ungrab_port_request_t xcb_out;
1210 
1211     xcb_out.port = port;
1212     xcb_out.time = time;
1213 
1214     xcb_parts[2].iov_base = (char *) &xcb_out;
1215     xcb_parts[2].iov_len = sizeof(xcb_out);
1216     xcb_parts[3].iov_base = 0;
1217     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1218     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1219     return xcb_ret;
1220 }
1221 
1222 
1223 /*****************************************************************************
1224  **
1225  ** xcb_void_cookie_t xcb_xv_ungrab_port
1226  **
1227  ** @param xcb_connection_t *c
1228  ** @param xcb_xv_port_t     port
1229  ** @param xcb_timestamp_t   time
1230  ** @returns xcb_void_cookie_t
1231  **
1232  *****************************************************************************/
1233 
1234 xcb_void_cookie_t
1235 xcb_xv_ungrab_port (xcb_connection_t *c  /**< */,
1236                     xcb_xv_port_t     port  /**< */,
1237                     xcb_timestamp_t   time  /**< */)
1238 {
1239     static const xcb_protocol_request_t xcb_req = {
1240         /* count */ 2,
1241         /* ext */ &xcb_xv_id,
1242         /* opcode */ XCB_XV_UNGRAB_PORT,
1243         /* isvoid */ 1
1244     };
1245 
1246     struct iovec xcb_parts[4];
1247     xcb_void_cookie_t xcb_ret;
1248     xcb_xv_ungrab_port_request_t xcb_out;
1249 
1250     xcb_out.port = port;
1251     xcb_out.time = time;
1252 
1253     xcb_parts[2].iov_base = (char *) &xcb_out;
1254     xcb_parts[2].iov_len = sizeof(xcb_out);
1255     xcb_parts[3].iov_base = 0;
1256     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1257     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1258     return xcb_ret;
1259 }
1260 
1261 
1262 /*****************************************************************************
1263  **
1264  ** xcb_void_cookie_t xcb_xv_put_video_checked
1265  **
1266  ** @param xcb_connection_t *c
1267  ** @param xcb_xv_port_t     port
1268  ** @param xcb_drawable_t    drawable
1269  ** @param xcb_gcontext_t    gc
1270  ** @param int16_t           vid_x
1271  ** @param int16_t           vid_y
1272  ** @param uint16_t          vid_w
1273  ** @param uint16_t          vid_h
1274  ** @param int16_t           drw_x
1275  ** @param int16_t           drw_y
1276  ** @param uint16_t          drw_w
1277  ** @param uint16_t          drw_h
1278  ** @returns xcb_void_cookie_t
1279  **
1280  *****************************************************************************/
1281 
1282 xcb_void_cookie_t
1283 xcb_xv_put_video_checked (xcb_connection_t *c  /**< */,
1284                           xcb_xv_port_t     port  /**< */,
1285                           xcb_drawable_t    drawable  /**< */,
1286                           xcb_gcontext_t    gc  /**< */,
1287                           int16_t           vid_x  /**< */,
1288                           int16_t           vid_y  /**< */,
1289                           uint16_t          vid_w  /**< */,
1290                           uint16_t          vid_h  /**< */,
1291                           int16_t           drw_x  /**< */,
1292                           int16_t           drw_y  /**< */,
1293                           uint16_t          drw_w  /**< */,
1294                           uint16_t          drw_h  /**< */)
1295 {
1296     static const xcb_protocol_request_t xcb_req = {
1297         /* count */ 2,
1298         /* ext */ &xcb_xv_id,
1299         /* opcode */ XCB_XV_PUT_VIDEO,
1300         /* isvoid */ 1
1301     };
1302 
1303     struct iovec xcb_parts[4];
1304     xcb_void_cookie_t xcb_ret;
1305     xcb_xv_put_video_request_t xcb_out;
1306 
1307     xcb_out.port = port;
1308     xcb_out.drawable = drawable;
1309     xcb_out.gc = gc;
1310     xcb_out.vid_x = vid_x;
1311     xcb_out.vid_y = vid_y;
1312     xcb_out.vid_w = vid_w;
1313     xcb_out.vid_h = vid_h;
1314     xcb_out.drw_x = drw_x;
1315     xcb_out.drw_y = drw_y;
1316     xcb_out.drw_w = drw_w;
1317     xcb_out.drw_h = drw_h;
1318 
1319     xcb_parts[2].iov_base = (char *) &xcb_out;
1320     xcb_parts[2].iov_len = sizeof(xcb_out);
1321     xcb_parts[3].iov_base = 0;
1322     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1323     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1324     return xcb_ret;
1325 }
1326 
1327 
1328 /*****************************************************************************
1329  **
1330  ** xcb_void_cookie_t xcb_xv_put_video
1331  **
1332  ** @param xcb_connection_t *c
1333  ** @param xcb_xv_port_t     port
1334  ** @param xcb_drawable_t    drawable
1335  ** @param xcb_gcontext_t    gc
1336  ** @param int16_t           vid_x
1337  ** @param int16_t           vid_y
1338  ** @param uint16_t          vid_w
1339  ** @param uint16_t          vid_h
1340  ** @param int16_t           drw_x
1341  ** @param int16_t           drw_y
1342  ** @param uint16_t          drw_w
1343  ** @param uint16_t          drw_h
1344  ** @returns xcb_void_cookie_t
1345  **
1346  *****************************************************************************/
1347 
1348 xcb_void_cookie_t
1349 xcb_xv_put_video (xcb_connection_t *c  /**< */,
1350                   xcb_xv_port_t     port  /**< */,
1351                   xcb_drawable_t    drawable  /**< */,
1352                   xcb_gcontext_t    gc  /**< */,
1353                   int16_t           vid_x  /**< */,
1354                   int16_t           vid_y  /**< */,
1355                   uint16_t          vid_w  /**< */,
1356                   uint16_t          vid_h  /**< */,
1357                   int16_t           drw_x  /**< */,
1358                   int16_t           drw_y  /**< */,
1359                   uint16_t          drw_w  /**< */,
1360                   uint16_t          drw_h  /**< */)
1361 {
1362     static const xcb_protocol_request_t xcb_req = {
1363         /* count */ 2,
1364         /* ext */ &xcb_xv_id,
1365         /* opcode */ XCB_XV_PUT_VIDEO,
1366         /* isvoid */ 1
1367     };
1368 
1369     struct iovec xcb_parts[4];
1370     xcb_void_cookie_t xcb_ret;
1371     xcb_xv_put_video_request_t xcb_out;
1372 
1373     xcb_out.port = port;
1374     xcb_out.drawable = drawable;
1375     xcb_out.gc = gc;
1376     xcb_out.vid_x = vid_x;
1377     xcb_out.vid_y = vid_y;
1378     xcb_out.vid_w = vid_w;
1379     xcb_out.vid_h = vid_h;
1380     xcb_out.drw_x = drw_x;
1381     xcb_out.drw_y = drw_y;
1382     xcb_out.drw_w = drw_w;
1383     xcb_out.drw_h = drw_h;
1384 
1385     xcb_parts[2].iov_base = (char *) &xcb_out;
1386     xcb_parts[2].iov_len = sizeof(xcb_out);
1387     xcb_parts[3].iov_base = 0;
1388     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1389     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1390     return xcb_ret;
1391 }
1392 
1393 
1394 /*****************************************************************************
1395  **
1396  ** xcb_void_cookie_t xcb_xv_put_still_checked
1397  **
1398  ** @param xcb_connection_t *c
1399  ** @param xcb_xv_port_t     port
1400  ** @param xcb_drawable_t    drawable
1401  ** @param xcb_gcontext_t    gc
1402  ** @param int16_t           vid_x
1403  ** @param int16_t           vid_y
1404  ** @param uint16_t          vid_w
1405  ** @param uint16_t          vid_h
1406  ** @param int16_t           drw_x
1407  ** @param int16_t           drw_y
1408  ** @param uint16_t          drw_w
1409  ** @param uint16_t          drw_h
1410  ** @returns xcb_void_cookie_t
1411  **
1412  *****************************************************************************/
1413 
1414 xcb_void_cookie_t
1415 xcb_xv_put_still_checked (xcb_connection_t *c  /**< */,
1416                           xcb_xv_port_t     port  /**< */,
1417                           xcb_drawable_t    drawable  /**< */,
1418                           xcb_gcontext_t    gc  /**< */,
1419                           int16_t           vid_x  /**< */,
1420                           int16_t           vid_y  /**< */,
1421                           uint16_t          vid_w  /**< */,
1422                           uint16_t          vid_h  /**< */,
1423                           int16_t           drw_x  /**< */,
1424                           int16_t           drw_y  /**< */,
1425                           uint16_t          drw_w  /**< */,
1426                           uint16_t          drw_h  /**< */)
1427 {
1428     static const xcb_protocol_request_t xcb_req = {
1429         /* count */ 2,
1430         /* ext */ &xcb_xv_id,
1431         /* opcode */ XCB_XV_PUT_STILL,
1432         /* isvoid */ 1
1433     };
1434 
1435     struct iovec xcb_parts[4];
1436     xcb_void_cookie_t xcb_ret;
1437     xcb_xv_put_still_request_t xcb_out;
1438 
1439     xcb_out.port = port;
1440     xcb_out.drawable = drawable;
1441     xcb_out.gc = gc;
1442     xcb_out.vid_x = vid_x;
1443     xcb_out.vid_y = vid_y;
1444     xcb_out.vid_w = vid_w;
1445     xcb_out.vid_h = vid_h;
1446     xcb_out.drw_x = drw_x;
1447     xcb_out.drw_y = drw_y;
1448     xcb_out.drw_w = drw_w;
1449     xcb_out.drw_h = drw_h;
1450 
1451     xcb_parts[2].iov_base = (char *) &xcb_out;
1452     xcb_parts[2].iov_len = sizeof(xcb_out);
1453     xcb_parts[3].iov_base = 0;
1454     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1455     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1456     return xcb_ret;
1457 }
1458 
1459 
1460 /*****************************************************************************
1461  **
1462  ** xcb_void_cookie_t xcb_xv_put_still
1463  **
1464  ** @param xcb_connection_t *c
1465  ** @param xcb_xv_port_t     port
1466  ** @param xcb_drawable_t    drawable
1467  ** @param xcb_gcontext_t    gc
1468  ** @param int16_t           vid_x
1469  ** @param int16_t           vid_y
1470  ** @param uint16_t          vid_w
1471  ** @param uint16_t          vid_h
1472  ** @param int16_t           drw_x
1473  ** @param int16_t           drw_y
1474  ** @param uint16_t          drw_w
1475  ** @param uint16_t          drw_h
1476  ** @returns xcb_void_cookie_t
1477  **
1478  *****************************************************************************/
1479 
1480 xcb_void_cookie_t
1481 xcb_xv_put_still (xcb_connection_t *c  /**< */,
1482                   xcb_xv_port_t     port  /**< */,
1483                   xcb_drawable_t    drawable  /**< */,
1484                   xcb_gcontext_t    gc  /**< */,
1485                   int16_t           vid_x  /**< */,
1486                   int16_t           vid_y  /**< */,
1487                   uint16_t          vid_w  /**< */,
1488                   uint16_t          vid_h  /**< */,
1489                   int16_t           drw_x  /**< */,
1490                   int16_t           drw_y  /**< */,
1491                   uint16_t          drw_w  /**< */,
1492                   uint16_t          drw_h  /**< */)
1493 {
1494     static const xcb_protocol_request_t xcb_req = {
1495         /* count */ 2,
1496         /* ext */ &xcb_xv_id,
1497         /* opcode */ XCB_XV_PUT_STILL,
1498         /* isvoid */ 1
1499     };
1500 
1501     struct iovec xcb_parts[4];
1502     xcb_void_cookie_t xcb_ret;
1503     xcb_xv_put_still_request_t xcb_out;
1504 
1505     xcb_out.port = port;
1506     xcb_out.drawable = drawable;
1507     xcb_out.gc = gc;
1508     xcb_out.vid_x = vid_x;
1509     xcb_out.vid_y = vid_y;
1510     xcb_out.vid_w = vid_w;
1511     xcb_out.vid_h = vid_h;
1512     xcb_out.drw_x = drw_x;
1513     xcb_out.drw_y = drw_y;
1514     xcb_out.drw_w = drw_w;
1515     xcb_out.drw_h = drw_h;
1516 
1517     xcb_parts[2].iov_base = (char *) &xcb_out;
1518     xcb_parts[2].iov_len = sizeof(xcb_out);
1519     xcb_parts[3].iov_base = 0;
1520     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1521     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1522     return xcb_ret;
1523 }
1524 
1525 
1526 /*****************************************************************************
1527  **
1528  ** xcb_void_cookie_t xcb_xv_get_video_checked
1529  **
1530  ** @param xcb_connection_t *c
1531  ** @param xcb_xv_port_t     port
1532  ** @param xcb_drawable_t    drawable
1533  ** @param xcb_gcontext_t    gc
1534  ** @param int16_t           vid_x
1535  ** @param int16_t           vid_y
1536  ** @param uint16_t          vid_w
1537  ** @param uint16_t          vid_h
1538  ** @param int16_t           drw_x
1539  ** @param int16_t           drw_y
1540  ** @param uint16_t          drw_w
1541  ** @param uint16_t          drw_h
1542  ** @returns xcb_void_cookie_t
1543  **
1544  *****************************************************************************/
1545 
1546 xcb_void_cookie_t
1547 xcb_xv_get_video_checked (xcb_connection_t *c  /**< */,
1548                           xcb_xv_port_t     port  /**< */,
1549                           xcb_drawable_t    drawable  /**< */,
1550                           xcb_gcontext_t    gc  /**< */,
1551                           int16_t           vid_x  /**< */,
1552                           int16_t           vid_y  /**< */,
1553                           uint16_t          vid_w  /**< */,
1554                           uint16_t          vid_h  /**< */,
1555                           int16_t           drw_x  /**< */,
1556                           int16_t           drw_y  /**< */,
1557                           uint16_t          drw_w  /**< */,
1558                           uint16_t          drw_h  /**< */)
1559 {
1560     static const xcb_protocol_request_t xcb_req = {
1561         /* count */ 2,
1562         /* ext */ &xcb_xv_id,
1563         /* opcode */ XCB_XV_GET_VIDEO,
1564         /* isvoid */ 1
1565     };
1566 
1567     struct iovec xcb_parts[4];
1568     xcb_void_cookie_t xcb_ret;
1569     xcb_xv_get_video_request_t xcb_out;
1570 
1571     xcb_out.port = port;
1572     xcb_out.drawable = drawable;
1573     xcb_out.gc = gc;
1574     xcb_out.vid_x = vid_x;
1575     xcb_out.vid_y = vid_y;
1576     xcb_out.vid_w = vid_w;
1577     xcb_out.vid_h = vid_h;
1578     xcb_out.drw_x = drw_x;
1579     xcb_out.drw_y = drw_y;
1580     xcb_out.drw_w = drw_w;
1581     xcb_out.drw_h = drw_h;
1582 
1583     xcb_parts[2].iov_base = (char *) &xcb_out;
1584     xcb_parts[2].iov_len = sizeof(xcb_out);
1585     xcb_parts[3].iov_base = 0;
1586     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1587     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1588     return xcb_ret;
1589 }
1590 
1591 
1592 /*****************************************************************************
1593  **
1594  ** xcb_void_cookie_t xcb_xv_get_video
1595  **
1596  ** @param xcb_connection_t *c
1597  ** @param xcb_xv_port_t     port
1598  ** @param xcb_drawable_t    drawable
1599  ** @param xcb_gcontext_t    gc
1600  ** @param int16_t           vid_x
1601  ** @param int16_t           vid_y
1602  ** @param uint16_t          vid_w
1603  ** @param uint16_t          vid_h
1604  ** @param int16_t           drw_x
1605  ** @param int16_t           drw_y
1606  ** @param uint16_t          drw_w
1607  ** @param uint16_t          drw_h
1608  ** @returns xcb_void_cookie_t
1609  **
1610  *****************************************************************************/
1611 
1612 xcb_void_cookie_t
1613 xcb_xv_get_video (xcb_connection_t *c  /**< */,
1614                   xcb_xv_port_t     port  /**< */,
1615                   xcb_drawable_t    drawable  /**< */,
1616                   xcb_gcontext_t    gc  /**< */,
1617                   int16_t           vid_x  /**< */,
1618                   int16_t           vid_y  /**< */,
1619                   uint16_t          vid_w  /**< */,
1620                   uint16_t          vid_h  /**< */,
1621                   int16_t           drw_x  /**< */,
1622                   int16_t           drw_y  /**< */,
1623                   uint16_t          drw_w  /**< */,
1624                   uint16_t          drw_h  /**< */)
1625 {
1626     static const xcb_protocol_request_t xcb_req = {
1627         /* count */ 2,
1628         /* ext */ &xcb_xv_id,
1629         /* opcode */ XCB_XV_GET_VIDEO,
1630         /* isvoid */ 1
1631     };
1632 
1633     struct iovec xcb_parts[4];
1634     xcb_void_cookie_t xcb_ret;
1635     xcb_xv_get_video_request_t xcb_out;
1636 
1637     xcb_out.port = port;
1638     xcb_out.drawable = drawable;
1639     xcb_out.gc = gc;
1640     xcb_out.vid_x = vid_x;
1641     xcb_out.vid_y = vid_y;
1642     xcb_out.vid_w = vid_w;
1643     xcb_out.vid_h = vid_h;
1644     xcb_out.drw_x = drw_x;
1645     xcb_out.drw_y = drw_y;
1646     xcb_out.drw_w = drw_w;
1647     xcb_out.drw_h = drw_h;
1648 
1649     xcb_parts[2].iov_base = (char *) &xcb_out;
1650     xcb_parts[2].iov_len = sizeof(xcb_out);
1651     xcb_parts[3].iov_base = 0;
1652     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1653     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1654     return xcb_ret;
1655 }
1656 
1657 
1658 /*****************************************************************************
1659  **
1660  ** xcb_void_cookie_t xcb_xv_get_still_checked
1661  **
1662  ** @param xcb_connection_t *c
1663  ** @param xcb_xv_port_t     port
1664  ** @param xcb_drawable_t    drawable
1665  ** @param xcb_gcontext_t    gc
1666  ** @param int16_t           vid_x
1667  ** @param int16_t           vid_y
1668  ** @param uint16_t          vid_w
1669  ** @param uint16_t          vid_h
1670  ** @param int16_t           drw_x
1671  ** @param int16_t           drw_y
1672  ** @param uint16_t          drw_w
1673  ** @param uint16_t          drw_h
1674  ** @returns xcb_void_cookie_t
1675  **
1676  *****************************************************************************/
1677 
1678 xcb_void_cookie_t
1679 xcb_xv_get_still_checked (xcb_connection_t *c  /**< */,
1680                           xcb_xv_port_t     port  /**< */,
1681                           xcb_drawable_t    drawable  /**< */,
1682                           xcb_gcontext_t    gc  /**< */,
1683                           int16_t           vid_x  /**< */,
1684                           int16_t           vid_y  /**< */,
1685                           uint16_t          vid_w  /**< */,
1686                           uint16_t          vid_h  /**< */,
1687                           int16_t           drw_x  /**< */,
1688                           int16_t           drw_y  /**< */,
1689                           uint16_t          drw_w  /**< */,
1690                           uint16_t          drw_h  /**< */)
1691 {
1692     static const xcb_protocol_request_t xcb_req = {
1693         /* count */ 2,
1694         /* ext */ &xcb_xv_id,
1695         /* opcode */ XCB_XV_GET_STILL,
1696         /* isvoid */ 1
1697     };
1698 
1699     struct iovec xcb_parts[4];
1700     xcb_void_cookie_t xcb_ret;
1701     xcb_xv_get_still_request_t xcb_out;
1702 
1703     xcb_out.port = port;
1704     xcb_out.drawable = drawable;
1705     xcb_out.gc = gc;
1706     xcb_out.vid_x = vid_x;
1707     xcb_out.vid_y = vid_y;
1708     xcb_out.vid_w = vid_w;
1709     xcb_out.vid_h = vid_h;
1710     xcb_out.drw_x = drw_x;
1711     xcb_out.drw_y = drw_y;
1712     xcb_out.drw_w = drw_w;
1713     xcb_out.drw_h = drw_h;
1714 
1715     xcb_parts[2].iov_base = (char *) &xcb_out;
1716     xcb_parts[2].iov_len = sizeof(xcb_out);
1717     xcb_parts[3].iov_base = 0;
1718     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1719     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1720     return xcb_ret;
1721 }
1722 
1723 
1724 /*****************************************************************************
1725  **
1726  ** xcb_void_cookie_t xcb_xv_get_still
1727  **
1728  ** @param xcb_connection_t *c
1729  ** @param xcb_xv_port_t     port
1730  ** @param xcb_drawable_t    drawable
1731  ** @param xcb_gcontext_t    gc
1732  ** @param int16_t           vid_x
1733  ** @param int16_t           vid_y
1734  ** @param uint16_t          vid_w
1735  ** @param uint16_t          vid_h
1736  ** @param int16_t           drw_x
1737  ** @param int16_t           drw_y
1738  ** @param uint16_t          drw_w
1739  ** @param uint16_t          drw_h
1740  ** @returns xcb_void_cookie_t
1741  **
1742  *****************************************************************************/
1743 
1744 xcb_void_cookie_t
1745 xcb_xv_get_still (xcb_connection_t *c  /**< */,
1746                   xcb_xv_port_t     port  /**< */,
1747                   xcb_drawable_t    drawable  /**< */,
1748                   xcb_gcontext_t    gc  /**< */,
1749                   int16_t           vid_x  /**< */,
1750                   int16_t           vid_y  /**< */,
1751                   uint16_t          vid_w  /**< */,
1752                   uint16_t          vid_h  /**< */,
1753                   int16_t           drw_x  /**< */,
1754                   int16_t           drw_y  /**< */,
1755                   uint16_t          drw_w  /**< */,
1756                   uint16_t          drw_h  /**< */)
1757 {
1758     static const xcb_protocol_request_t xcb_req = {
1759         /* count */ 2,
1760         /* ext */ &xcb_xv_id,
1761         /* opcode */ XCB_XV_GET_STILL,
1762         /* isvoid */ 1
1763     };
1764 
1765     struct iovec xcb_parts[4];
1766     xcb_void_cookie_t xcb_ret;
1767     xcb_xv_get_still_request_t xcb_out;
1768 
1769     xcb_out.port = port;
1770     xcb_out.drawable = drawable;
1771     xcb_out.gc = gc;
1772     xcb_out.vid_x = vid_x;
1773     xcb_out.vid_y = vid_y;
1774     xcb_out.vid_w = vid_w;
1775     xcb_out.vid_h = vid_h;
1776     xcb_out.drw_x = drw_x;
1777     xcb_out.drw_y = drw_y;
1778     xcb_out.drw_w = drw_w;
1779     xcb_out.drw_h = drw_h;
1780 
1781     xcb_parts[2].iov_base = (char *) &xcb_out;
1782     xcb_parts[2].iov_len = sizeof(xcb_out);
1783     xcb_parts[3].iov_base = 0;
1784     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1785     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1786     return xcb_ret;
1787 }
1788 
1789 
1790 /*****************************************************************************
1791  **
1792  ** xcb_void_cookie_t xcb_xv_stop_video_checked
1793  **
1794  ** @param xcb_connection_t *c
1795  ** @param xcb_xv_port_t     port
1796  ** @param xcb_drawable_t    drawable
1797  ** @returns xcb_void_cookie_t
1798  **
1799  *****************************************************************************/
1800 
1801 xcb_void_cookie_t
1802 xcb_xv_stop_video_checked (xcb_connection_t *c  /**< */,
1803                            xcb_xv_port_t     port  /**< */,
1804                            xcb_drawable_t    drawable  /**< */)
1805 {
1806     static const xcb_protocol_request_t xcb_req = {
1807         /* count */ 2,
1808         /* ext */ &xcb_xv_id,
1809         /* opcode */ XCB_XV_STOP_VIDEO,
1810         /* isvoid */ 1
1811     };
1812 
1813     struct iovec xcb_parts[4];
1814     xcb_void_cookie_t xcb_ret;
1815     xcb_xv_stop_video_request_t xcb_out;
1816 
1817     xcb_out.port = port;
1818     xcb_out.drawable = drawable;
1819 
1820     xcb_parts[2].iov_base = (char *) &xcb_out;
1821     xcb_parts[2].iov_len = sizeof(xcb_out);
1822     xcb_parts[3].iov_base = 0;
1823     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1824     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1825     return xcb_ret;
1826 }
1827 
1828 
1829 /*****************************************************************************
1830  **
1831  ** xcb_void_cookie_t xcb_xv_stop_video
1832  **
1833  ** @param xcb_connection_t *c
1834  ** @param xcb_xv_port_t     port
1835  ** @param xcb_drawable_t    drawable
1836  ** @returns xcb_void_cookie_t
1837  **
1838  *****************************************************************************/
1839 
1840 xcb_void_cookie_t
1841 xcb_xv_stop_video (xcb_connection_t *c  /**< */,
1842                    xcb_xv_port_t     port  /**< */,
1843                    xcb_drawable_t    drawable  /**< */)
1844 {
1845     static const xcb_protocol_request_t xcb_req = {
1846         /* count */ 2,
1847         /* ext */ &xcb_xv_id,
1848         /* opcode */ XCB_XV_STOP_VIDEO,
1849         /* isvoid */ 1
1850     };
1851 
1852     struct iovec xcb_parts[4];
1853     xcb_void_cookie_t xcb_ret;
1854     xcb_xv_stop_video_request_t xcb_out;
1855 
1856     xcb_out.port = port;
1857     xcb_out.drawable = drawable;
1858 
1859     xcb_parts[2].iov_base = (char *) &xcb_out;
1860     xcb_parts[2].iov_len = sizeof(xcb_out);
1861     xcb_parts[3].iov_base = 0;
1862     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1863     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1864     return xcb_ret;
1865 }
1866 
1867 
1868 /*****************************************************************************
1869  **
1870  ** xcb_void_cookie_t xcb_xv_select_video_notify_checked
1871  **
1872  ** @param xcb_connection_t *c
1873  ** @param xcb_drawable_t    drawable
1874  ** @param uint8_t           onoff
1875  ** @returns xcb_void_cookie_t
1876  **
1877  *****************************************************************************/
1878 
1879 xcb_void_cookie_t
1880 xcb_xv_select_video_notify_checked (xcb_connection_t *c  /**< */,
1881                                     xcb_drawable_t    drawable  /**< */,
1882                                     uint8_t           onoff  /**< */)
1883 {
1884     static const xcb_protocol_request_t xcb_req = {
1885         /* count */ 2,
1886         /* ext */ &xcb_xv_id,
1887         /* opcode */ XCB_XV_SELECT_VIDEO_NOTIFY,
1888         /* isvoid */ 1
1889     };
1890 
1891     struct iovec xcb_parts[4];
1892     xcb_void_cookie_t xcb_ret;
1893     xcb_xv_select_video_notify_request_t xcb_out;
1894 
1895     xcb_out.drawable = drawable;
1896     xcb_out.onoff = onoff;
1897     memset(xcb_out.pad0, 0, 3);
1898 
1899     xcb_parts[2].iov_base = (char *) &xcb_out;
1900     xcb_parts[2].iov_len = sizeof(xcb_out);
1901     xcb_parts[3].iov_base = 0;
1902     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1903     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1904     return xcb_ret;
1905 }
1906 
1907 
1908 /*****************************************************************************
1909  **
1910  ** xcb_void_cookie_t xcb_xv_select_video_notify
1911  **
1912  ** @param xcb_connection_t *c
1913  ** @param xcb_drawable_t    drawable
1914  ** @param uint8_t           onoff
1915  ** @returns xcb_void_cookie_t
1916  **
1917  *****************************************************************************/
1918 
1919 xcb_void_cookie_t
1920 xcb_xv_select_video_notify (xcb_connection_t *c  /**< */,
1921                             xcb_drawable_t    drawable  /**< */,
1922                             uint8_t           onoff  /**< */)
1923 {
1924     static const xcb_protocol_request_t xcb_req = {
1925         /* count */ 2,
1926         /* ext */ &xcb_xv_id,
1927         /* opcode */ XCB_XV_SELECT_VIDEO_NOTIFY,
1928         /* isvoid */ 1
1929     };
1930 
1931     struct iovec xcb_parts[4];
1932     xcb_void_cookie_t xcb_ret;
1933     xcb_xv_select_video_notify_request_t xcb_out;
1934 
1935     xcb_out.drawable = drawable;
1936     xcb_out.onoff = onoff;
1937     memset(xcb_out.pad0, 0, 3);
1938 
1939     xcb_parts[2].iov_base = (char *) &xcb_out;
1940     xcb_parts[2].iov_len = sizeof(xcb_out);
1941     xcb_parts[3].iov_base = 0;
1942     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1943     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1944     return xcb_ret;
1945 }
1946 
1947 
1948 /*****************************************************************************
1949  **
1950  ** xcb_void_cookie_t xcb_xv_select_port_notify_checked
1951  **
1952  ** @param xcb_connection_t *c
1953  ** @param xcb_xv_port_t     port
1954  ** @param uint8_t           onoff
1955  ** @returns xcb_void_cookie_t
1956  **
1957  *****************************************************************************/
1958 
1959 xcb_void_cookie_t
1960 xcb_xv_select_port_notify_checked (xcb_connection_t *c  /**< */,
1961                                    xcb_xv_port_t     port  /**< */,
1962                                    uint8_t           onoff  /**< */)
1963 {
1964     static const xcb_protocol_request_t xcb_req = {
1965         /* count */ 2,
1966         /* ext */ &xcb_xv_id,
1967         /* opcode */ XCB_XV_SELECT_PORT_NOTIFY,
1968         /* isvoid */ 1
1969     };
1970 
1971     struct iovec xcb_parts[4];
1972     xcb_void_cookie_t xcb_ret;
1973     xcb_xv_select_port_notify_request_t xcb_out;
1974 
1975     xcb_out.port = port;
1976     xcb_out.onoff = onoff;
1977     memset(xcb_out.pad0, 0, 3);
1978 
1979     xcb_parts[2].iov_base = (char *) &xcb_out;
1980     xcb_parts[2].iov_len = sizeof(xcb_out);
1981     xcb_parts[3].iov_base = 0;
1982     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1983     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1984     return xcb_ret;
1985 }
1986 
1987 
1988 /*****************************************************************************
1989  **
1990  ** xcb_void_cookie_t xcb_xv_select_port_notify
1991  **
1992  ** @param xcb_connection_t *c
1993  ** @param xcb_xv_port_t     port
1994  ** @param uint8_t           onoff
1995  ** @returns xcb_void_cookie_t
1996  **
1997  *****************************************************************************/
1998 
1999 xcb_void_cookie_t
2000 xcb_xv_select_port_notify (xcb_connection_t *c  /**< */,
2001                            xcb_xv_port_t     port  /**< */,
2002                            uint8_t           onoff  /**< */)
2003 {
2004     static const xcb_protocol_request_t xcb_req = {
2005         /* count */ 2,
2006         /* ext */ &xcb_xv_id,
2007         /* opcode */ XCB_XV_SELECT_PORT_NOTIFY,
2008         /* isvoid */ 1
2009     };
2010 
2011     struct iovec xcb_parts[4];
2012     xcb_void_cookie_t xcb_ret;
2013     xcb_xv_select_port_notify_request_t xcb_out;
2014 
2015     xcb_out.port = port;
2016     xcb_out.onoff = onoff;
2017     memset(xcb_out.pad0, 0, 3);
2018 
2019     xcb_parts[2].iov_base = (char *) &xcb_out;
2020     xcb_parts[2].iov_len = sizeof(xcb_out);
2021     xcb_parts[3].iov_base = 0;
2022     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2023     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2024     return xcb_ret;
2025 }
2026 
2027 
2028 /*****************************************************************************
2029  **
2030  ** xcb_xv_query_best_size_cookie_t xcb_xv_query_best_size
2031  **
2032  ** @param xcb_connection_t *c
2033  ** @param xcb_xv_port_t     port
2034  ** @param uint16_t          vid_w
2035  ** @param uint16_t          vid_h
2036  ** @param uint16_t          drw_w
2037  ** @param uint16_t          drw_h
2038  ** @param uint8_t           motion
2039  ** @returns xcb_xv_query_best_size_cookie_t
2040  **
2041  *****************************************************************************/
2042 
2043 xcb_xv_query_best_size_cookie_t
2044 xcb_xv_query_best_size (xcb_connection_t *c  /**< */,
2045                         xcb_xv_port_t     port  /**< */,
2046                         uint16_t          vid_w  /**< */,
2047                         uint16_t          vid_h  /**< */,
2048                         uint16_t          drw_w  /**< */,
2049                         uint16_t          drw_h  /**< */,
2050                         uint8_t           motion  /**< */)
2051 {
2052     static const xcb_protocol_request_t xcb_req = {
2053         /* count */ 2,
2054         /* ext */ &xcb_xv_id,
2055         /* opcode */ XCB_XV_QUERY_BEST_SIZE,
2056         /* isvoid */ 0
2057     };
2058 
2059     struct iovec xcb_parts[4];
2060     xcb_xv_query_best_size_cookie_t xcb_ret;
2061     xcb_xv_query_best_size_request_t xcb_out;
2062 
2063     xcb_out.port = port;
2064     xcb_out.vid_w = vid_w;
2065     xcb_out.vid_h = vid_h;
2066     xcb_out.drw_w = drw_w;
2067     xcb_out.drw_h = drw_h;
2068     xcb_out.motion = motion;
2069     memset(xcb_out.pad0, 0, 3);
2070 
2071     xcb_parts[2].iov_base = (char *) &xcb_out;
2072     xcb_parts[2].iov_len = sizeof(xcb_out);
2073     xcb_parts[3].iov_base = 0;
2074     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2075     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2076     return xcb_ret;
2077 }
2078 
2079 
2080 /*****************************************************************************
2081  **
2082  ** xcb_xv_query_best_size_cookie_t xcb_xv_query_best_size_unchecked
2083  **
2084  ** @param xcb_connection_t *c
2085  ** @param xcb_xv_port_t     port
2086  ** @param uint16_t          vid_w
2087  ** @param uint16_t          vid_h
2088  ** @param uint16_t          drw_w
2089  ** @param uint16_t          drw_h
2090  ** @param uint8_t           motion
2091  ** @returns xcb_xv_query_best_size_cookie_t
2092  **
2093  *****************************************************************************/
2094 
2095 xcb_xv_query_best_size_cookie_t
2096 xcb_xv_query_best_size_unchecked (xcb_connection_t *c  /**< */,
2097                                   xcb_xv_port_t     port  /**< */,
2098                                   uint16_t          vid_w  /**< */,
2099                                   uint16_t          vid_h  /**< */,
2100                                   uint16_t          drw_w  /**< */,
2101                                   uint16_t          drw_h  /**< */,
2102                                   uint8_t           motion  /**< */)
2103 {
2104     static const xcb_protocol_request_t xcb_req = {
2105         /* count */ 2,
2106         /* ext */ &xcb_xv_id,
2107         /* opcode */ XCB_XV_QUERY_BEST_SIZE,
2108         /* isvoid */ 0
2109     };
2110 
2111     struct iovec xcb_parts[4];
2112     xcb_xv_query_best_size_cookie_t xcb_ret;
2113     xcb_xv_query_best_size_request_t xcb_out;
2114 
2115     xcb_out.port = port;
2116     xcb_out.vid_w = vid_w;
2117     xcb_out.vid_h = vid_h;
2118     xcb_out.drw_w = drw_w;
2119     xcb_out.drw_h = drw_h;
2120     xcb_out.motion = motion;
2121     memset(xcb_out.pad0, 0, 3);
2122 
2123     xcb_parts[2].iov_base = (char *) &xcb_out;
2124     xcb_parts[2].iov_len = sizeof(xcb_out);
2125     xcb_parts[3].iov_base = 0;
2126     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2127     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2128     return xcb_ret;
2129 }
2130 
2131 
2132 /*****************************************************************************
2133  **
2134  ** xcb_xv_query_best_size_reply_t * xcb_xv_query_best_size_reply
2135  **
2136  ** @param xcb_connection_t                 *c
2137  ** @param xcb_xv_query_best_size_cookie_t   cookie
2138  ** @param xcb_generic_error_t             **e
2139  ** @returns xcb_xv_query_best_size_reply_t *
2140  **
2141  *****************************************************************************/
2142 
2143 xcb_xv_query_best_size_reply_t *
2144 xcb_xv_query_best_size_reply (xcb_connection_t                 *c  /**< */,
2145                               xcb_xv_query_best_size_cookie_t   cookie  /**< */,
2146                               xcb_generic_error_t             **e  /**< */)
2147 {
2148     return (xcb_xv_query_best_size_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2149 }
2150 
2151 
2152 /*****************************************************************************
2153  **
2154  ** xcb_void_cookie_t xcb_xv_set_port_attribute_checked
2155  **
2156  ** @param xcb_connection_t *c
2157  ** @param xcb_xv_port_t     port
2158  ** @param xcb_atom_t        attribute
2159  ** @param int32_t           value
2160  ** @returns xcb_void_cookie_t
2161  **
2162  *****************************************************************************/
2163 
2164 xcb_void_cookie_t
2165 xcb_xv_set_port_attribute_checked (xcb_connection_t *c  /**< */,
2166                                    xcb_xv_port_t     port  /**< */,
2167                                    xcb_atom_t        attribute  /**< */,
2168                                    int32_t           value  /**< */)
2169 {
2170     static const xcb_protocol_request_t xcb_req = {
2171         /* count */ 2,
2172         /* ext */ &xcb_xv_id,
2173         /* opcode */ XCB_XV_SET_PORT_ATTRIBUTE,
2174         /* isvoid */ 1
2175     };
2176 
2177     struct iovec xcb_parts[4];
2178     xcb_void_cookie_t xcb_ret;
2179     xcb_xv_set_port_attribute_request_t xcb_out;
2180 
2181     xcb_out.port = port;
2182     xcb_out.attribute = attribute;
2183     xcb_out.value = value;
2184 
2185     xcb_parts[2].iov_base = (char *) &xcb_out;
2186     xcb_parts[2].iov_len = sizeof(xcb_out);
2187     xcb_parts[3].iov_base = 0;
2188     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2189     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2190     return xcb_ret;
2191 }
2192 
2193 
2194 /*****************************************************************************
2195  **
2196  ** xcb_void_cookie_t xcb_xv_set_port_attribute
2197  **
2198  ** @param xcb_connection_t *c
2199  ** @param xcb_xv_port_t     port
2200  ** @param xcb_atom_t        attribute
2201  ** @param int32_t           value
2202  ** @returns xcb_void_cookie_t
2203  **
2204  *****************************************************************************/
2205 
2206 xcb_void_cookie_t
2207 xcb_xv_set_port_attribute (xcb_connection_t *c  /**< */,
2208                            xcb_xv_port_t     port  /**< */,
2209                            xcb_atom_t        attribute  /**< */,
2210                            int32_t           value  /**< */)
2211 {
2212     static const xcb_protocol_request_t xcb_req = {
2213         /* count */ 2,
2214         /* ext */ &xcb_xv_id,
2215         /* opcode */ XCB_XV_SET_PORT_ATTRIBUTE,
2216         /* isvoid */ 1
2217     };
2218 
2219     struct iovec xcb_parts[4];
2220     xcb_void_cookie_t xcb_ret;
2221     xcb_xv_set_port_attribute_request_t xcb_out;
2222 
2223     xcb_out.port = port;
2224     xcb_out.attribute = attribute;
2225     xcb_out.value = value;
2226 
2227     xcb_parts[2].iov_base = (char *) &xcb_out;
2228     xcb_parts[2].iov_len = sizeof(xcb_out);
2229     xcb_parts[3].iov_base = 0;
2230     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2231     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2232     return xcb_ret;
2233 }
2234 
2235 
2236 /*****************************************************************************
2237  **
2238  ** xcb_xv_get_port_attribute_cookie_t xcb_xv_get_port_attribute
2239  **
2240  ** @param xcb_connection_t *c
2241  ** @param xcb_xv_port_t     port
2242  ** @param xcb_atom_t        attribute
2243  ** @returns xcb_xv_get_port_attribute_cookie_t
2244  **
2245  *****************************************************************************/
2246 
2247 xcb_xv_get_port_attribute_cookie_t
2248 xcb_xv_get_port_attribute (xcb_connection_t *c  /**< */,
2249                            xcb_xv_port_t     port  /**< */,
2250                            xcb_atom_t        attribute  /**< */)
2251 {
2252     static const xcb_protocol_request_t xcb_req = {
2253         /* count */ 2,
2254         /* ext */ &xcb_xv_id,
2255         /* opcode */ XCB_XV_GET_PORT_ATTRIBUTE,
2256         /* isvoid */ 0
2257     };
2258 
2259     struct iovec xcb_parts[4];
2260     xcb_xv_get_port_attribute_cookie_t xcb_ret;
2261     xcb_xv_get_port_attribute_request_t xcb_out;
2262 
2263     xcb_out.port = port;
2264     xcb_out.attribute = attribute;
2265 
2266     xcb_parts[2].iov_base = (char *) &xcb_out;
2267     xcb_parts[2].iov_len = sizeof(xcb_out);
2268     xcb_parts[3].iov_base = 0;
2269     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2270     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2271     return xcb_ret;
2272 }
2273 
2274 
2275 /*****************************************************************************
2276  **
2277  ** xcb_xv_get_port_attribute_cookie_t xcb_xv_get_port_attribute_unchecked
2278  **
2279  ** @param xcb_connection_t *c
2280  ** @param xcb_xv_port_t     port
2281  ** @param xcb_atom_t        attribute
2282  ** @returns xcb_xv_get_port_attribute_cookie_t
2283  **
2284  *****************************************************************************/
2285 
2286 xcb_xv_get_port_attribute_cookie_t
2287 xcb_xv_get_port_attribute_unchecked (xcb_connection_t *c  /**< */,
2288                                      xcb_xv_port_t     port  /**< */,
2289                                      xcb_atom_t        attribute  /**< */)
2290 {
2291     static const xcb_protocol_request_t xcb_req = {
2292         /* count */ 2,
2293         /* ext */ &xcb_xv_id,
2294         /* opcode */ XCB_XV_GET_PORT_ATTRIBUTE,
2295         /* isvoid */ 0
2296     };
2297 
2298     struct iovec xcb_parts[4];
2299     xcb_xv_get_port_attribute_cookie_t xcb_ret;
2300     xcb_xv_get_port_attribute_request_t xcb_out;
2301 
2302     xcb_out.port = port;
2303     xcb_out.attribute = attribute;
2304 
2305     xcb_parts[2].iov_base = (char *) &xcb_out;
2306     xcb_parts[2].iov_len = sizeof(xcb_out);
2307     xcb_parts[3].iov_base = 0;
2308     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2309     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2310     return xcb_ret;
2311 }
2312 
2313 
2314 /*****************************************************************************
2315  **
2316  ** xcb_xv_get_port_attribute_reply_t * xcb_xv_get_port_attribute_reply
2317  **
2318  ** @param xcb_connection_t                    *c
2319  ** @param xcb_xv_get_port_attribute_cookie_t   cookie
2320  ** @param xcb_generic_error_t                **e
2321  ** @returns xcb_xv_get_port_attribute_reply_t *
2322  **
2323  *****************************************************************************/
2324 
2325 xcb_xv_get_port_attribute_reply_t *
2326 xcb_xv_get_port_attribute_reply (xcb_connection_t                    *c  /**< */,
2327                                  xcb_xv_get_port_attribute_cookie_t   cookie  /**< */,
2328                                  xcb_generic_error_t                **e  /**< */)
2329 {
2330     return (xcb_xv_get_port_attribute_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2331 }
2332 
2333 
2334 /*****************************************************************************
2335  **
2336  ** xcb_xv_query_port_attributes_cookie_t xcb_xv_query_port_attributes
2337  **
2338  ** @param xcb_connection_t *c
2339  ** @param xcb_xv_port_t     port
2340  ** @returns xcb_xv_query_port_attributes_cookie_t
2341  **
2342  *****************************************************************************/
2343 
2344 xcb_xv_query_port_attributes_cookie_t
2345 xcb_xv_query_port_attributes (xcb_connection_t *c  /**< */,
2346                               xcb_xv_port_t     port  /**< */)
2347 {
2348     static const xcb_protocol_request_t xcb_req = {
2349         /* count */ 2,
2350         /* ext */ &xcb_xv_id,
2351         /* opcode */ XCB_XV_QUERY_PORT_ATTRIBUTES,
2352         /* isvoid */ 0
2353     };
2354 
2355     struct iovec xcb_parts[4];
2356     xcb_xv_query_port_attributes_cookie_t xcb_ret;
2357     xcb_xv_query_port_attributes_request_t xcb_out;
2358 
2359     xcb_out.port = port;
2360 
2361     xcb_parts[2].iov_base = (char *) &xcb_out;
2362     xcb_parts[2].iov_len = sizeof(xcb_out);
2363     xcb_parts[3].iov_base = 0;
2364     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2365     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2366     return xcb_ret;
2367 }
2368 
2369 
2370 /*****************************************************************************
2371  **
2372  ** xcb_xv_query_port_attributes_cookie_t xcb_xv_query_port_attributes_unchecked
2373  **
2374  ** @param xcb_connection_t *c
2375  ** @param xcb_xv_port_t     port
2376  ** @returns xcb_xv_query_port_attributes_cookie_t
2377  **
2378  *****************************************************************************/
2379 
2380 xcb_xv_query_port_attributes_cookie_t
2381 xcb_xv_query_port_attributes_unchecked (xcb_connection_t *c  /**< */,
2382                                         xcb_xv_port_t     port  /**< */)
2383 {
2384     static const xcb_protocol_request_t xcb_req = {
2385         /* count */ 2,
2386         /* ext */ &xcb_xv_id,
2387         /* opcode */ XCB_XV_QUERY_PORT_ATTRIBUTES,
2388         /* isvoid */ 0
2389     };
2390 
2391     struct iovec xcb_parts[4];
2392     xcb_xv_query_port_attributes_cookie_t xcb_ret;
2393     xcb_xv_query_port_attributes_request_t xcb_out;
2394 
2395     xcb_out.port = port;
2396 
2397     xcb_parts[2].iov_base = (char *) &xcb_out;
2398     xcb_parts[2].iov_len = sizeof(xcb_out);
2399     xcb_parts[3].iov_base = 0;
2400     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2401     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2402     return xcb_ret;
2403 }
2404 
2405 
2406 /*****************************************************************************
2407  **
2408  ** int xcb_xv_query_port_attributes_attributes_length
2409  **
2410  ** @param const xcb_xv_query_port_attributes_reply_t *R
2411  ** @returns int
2412  **
2413  *****************************************************************************/
2414 
2415 int
2416 xcb_xv_query_port_attributes_attributes_length (const xcb_xv_query_port_attributes_reply_t *R  /**< */)
2417 {
2418     return R->num_attributes;
2419 }
2420 
2421 
2422 /*****************************************************************************
2423  **
2424  ** xcb_xv_attribute_info_iterator_t xcb_xv_query_port_attributes_attributes_iterator
2425  **
2426  ** @param const xcb_xv_query_port_attributes_reply_t *R
2427  ** @returns xcb_xv_attribute_info_iterator_t
2428  **
2429  *****************************************************************************/
2430 
2431 xcb_xv_attribute_info_iterator_t
2432 xcb_xv_query_port_attributes_attributes_iterator (const xcb_xv_query_port_attributes_reply_t *R  /**< */)
2433 {
2434     xcb_xv_attribute_info_iterator_t i;
2435     i.data = (xcb_xv_attribute_info_t *) (R + 1);
2436     i.rem = R->num_attributes;
2437     i.index = (char *) i.data - (char *) R;
2438     return i;
2439 }
2440 
2441 
2442 /*****************************************************************************
2443  **
2444  ** xcb_xv_query_port_attributes_reply_t * xcb_xv_query_port_attributes_reply
2445  **
2446  ** @param xcb_connection_t                       *c
2447  ** @param xcb_xv_query_port_attributes_cookie_t   cookie
2448  ** @param xcb_generic_error_t                   **e
2449  ** @returns xcb_xv_query_port_attributes_reply_t *
2450  **
2451  *****************************************************************************/
2452 
2453 xcb_xv_query_port_attributes_reply_t *
2454 xcb_xv_query_port_attributes_reply (xcb_connection_t                       *c  /**< */,
2455                                     xcb_xv_query_port_attributes_cookie_t   cookie  /**< */,
2456                                     xcb_generic_error_t                   **e  /**< */)
2457 {
2458     return (xcb_xv_query_port_attributes_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2459 }
2460 
2461 
2462 /*****************************************************************************
2463  **
2464  ** xcb_xv_list_image_formats_cookie_t xcb_xv_list_image_formats
2465  **
2466  ** @param xcb_connection_t *c
2467  ** @param xcb_xv_port_t     port
2468  ** @returns xcb_xv_list_image_formats_cookie_t
2469  **
2470  *****************************************************************************/
2471 
2472 xcb_xv_list_image_formats_cookie_t
2473 xcb_xv_list_image_formats (xcb_connection_t *c  /**< */,
2474                            xcb_xv_port_t     port  /**< */)
2475 {
2476     static const xcb_protocol_request_t xcb_req = {
2477         /* count */ 2,
2478         /* ext */ &xcb_xv_id,
2479         /* opcode */ XCB_XV_LIST_IMAGE_FORMATS,
2480         /* isvoid */ 0
2481     };
2482 
2483     struct iovec xcb_parts[4];
2484     xcb_xv_list_image_formats_cookie_t xcb_ret;
2485     xcb_xv_list_image_formats_request_t xcb_out;
2486 
2487     xcb_out.port = port;
2488 
2489     xcb_parts[2].iov_base = (char *) &xcb_out;
2490     xcb_parts[2].iov_len = sizeof(xcb_out);
2491     xcb_parts[3].iov_base = 0;
2492     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2493     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2494     return xcb_ret;
2495 }
2496 
2497 
2498 /*****************************************************************************
2499  **
2500  ** xcb_xv_list_image_formats_cookie_t xcb_xv_list_image_formats_unchecked
2501  **
2502  ** @param xcb_connection_t *c
2503  ** @param xcb_xv_port_t     port
2504  ** @returns xcb_xv_list_image_formats_cookie_t
2505  **
2506  *****************************************************************************/
2507 
2508 xcb_xv_list_image_formats_cookie_t
2509 xcb_xv_list_image_formats_unchecked (xcb_connection_t *c  /**< */,
2510                                      xcb_xv_port_t     port  /**< */)
2511 {
2512     static const xcb_protocol_request_t xcb_req = {
2513         /* count */ 2,
2514         /* ext */ &xcb_xv_id,
2515         /* opcode */ XCB_XV_LIST_IMAGE_FORMATS,
2516         /* isvoid */ 0
2517     };
2518 
2519     struct iovec xcb_parts[4];
2520     xcb_xv_list_image_formats_cookie_t xcb_ret;
2521     xcb_xv_list_image_formats_request_t xcb_out;
2522 
2523     xcb_out.port = port;
2524 
2525     xcb_parts[2].iov_base = (char *) &xcb_out;
2526     xcb_parts[2].iov_len = sizeof(xcb_out);
2527     xcb_parts[3].iov_base = 0;
2528     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2529     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2530     return xcb_ret;
2531 }
2532 
2533 
2534 /*****************************************************************************
2535  **
2536  ** xcb_xv_image_format_info_t * xcb_xv_list_image_formats_format
2537  **
2538  ** @param const xcb_xv_list_image_formats_reply_t *R
2539  ** @returns xcb_xv_image_format_info_t *
2540  **
2541  *****************************************************************************/
2542 
2543 xcb_xv_image_format_info_t *
2544 xcb_xv_list_image_formats_format (const xcb_xv_list_image_formats_reply_t *R  /**< */)
2545 {
2546     return (xcb_xv_image_format_info_t *) (R + 1);
2547 }
2548 
2549 
2550 /*****************************************************************************
2551  **
2552  ** int xcb_xv_list_image_formats_format_length
2553  **
2554  ** @param const xcb_xv_list_image_formats_reply_t *R
2555  ** @returns int
2556  **
2557  *****************************************************************************/
2558 
2559 int
2560 xcb_xv_list_image_formats_format_length (const xcb_xv_list_image_formats_reply_t *R  /**< */)
2561 {
2562     return R->num_formats;
2563 }
2564 
2565 
2566 /*****************************************************************************
2567  **
2568  ** xcb_xv_image_format_info_iterator_t xcb_xv_list_image_formats_format_iterator
2569  **
2570  ** @param const xcb_xv_list_image_formats_reply_t *R
2571  ** @returns xcb_xv_image_format_info_iterator_t
2572  **
2573  *****************************************************************************/
2574 
2575 xcb_xv_image_format_info_iterator_t
2576 xcb_xv_list_image_formats_format_iterator (const xcb_xv_list_image_formats_reply_t *R  /**< */)
2577 {
2578     xcb_xv_image_format_info_iterator_t i;
2579     i.data = (xcb_xv_image_format_info_t *) (R + 1);
2580     i.rem = R->num_formats;
2581     i.index = (char *) i.data - (char *) R;
2582     return i;
2583 }
2584 
2585 
2586 /*****************************************************************************
2587  **
2588  ** xcb_xv_list_image_formats_reply_t * xcb_xv_list_image_formats_reply
2589  **
2590  ** @param xcb_connection_t                    *c
2591  ** @param xcb_xv_list_image_formats_cookie_t   cookie
2592  ** @param xcb_generic_error_t                **e
2593  ** @returns xcb_xv_list_image_formats_reply_t *
2594  **
2595  *****************************************************************************/
2596 
2597 xcb_xv_list_image_formats_reply_t *
2598 xcb_xv_list_image_formats_reply (xcb_connection_t                    *c  /**< */,
2599                                  xcb_xv_list_image_formats_cookie_t   cookie  /**< */,
2600                                  xcb_generic_error_t                **e  /**< */)
2601 {
2602     return (xcb_xv_list_image_formats_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2603 }
2604 
2605 
2606 /*****************************************************************************
2607  **
2608  ** xcb_xv_query_image_attributes_cookie_t xcb_xv_query_image_attributes
2609  **
2610  ** @param xcb_connection_t *c
2611  ** @param xcb_xv_port_t     port
2612  ** @param uint32_t          id
2613  ** @param uint16_t          width
2614  ** @param uint16_t          height
2615  ** @returns xcb_xv_query_image_attributes_cookie_t
2616  **
2617  *****************************************************************************/
2618 
2619 xcb_xv_query_image_attributes_cookie_t
2620 xcb_xv_query_image_attributes (xcb_connection_t *c  /**< */,
2621                                xcb_xv_port_t     port  /**< */,
2622                                uint32_t          id  /**< */,
2623                                uint16_t          width  /**< */,
2624                                uint16_t          height  /**< */)
2625 {
2626     static const xcb_protocol_request_t xcb_req = {
2627         /* count */ 2,
2628         /* ext */ &xcb_xv_id,
2629         /* opcode */ XCB_XV_QUERY_IMAGE_ATTRIBUTES,
2630         /* isvoid */ 0
2631     };
2632 
2633     struct iovec xcb_parts[4];
2634     xcb_xv_query_image_attributes_cookie_t xcb_ret;
2635     xcb_xv_query_image_attributes_request_t xcb_out;
2636 
2637     xcb_out.port = port;
2638     xcb_out.id = id;
2639     xcb_out.width = width;
2640     xcb_out.height = height;
2641 
2642     xcb_parts[2].iov_base = (char *) &xcb_out;
2643     xcb_parts[2].iov_len = sizeof(xcb_out);
2644     xcb_parts[3].iov_base = 0;
2645     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2646     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
2647     return xcb_ret;
2648 }
2649 
2650 
2651 /*****************************************************************************
2652  **
2653  ** xcb_xv_query_image_attributes_cookie_t xcb_xv_query_image_attributes_unchecked
2654  **
2655  ** @param xcb_connection_t *c
2656  ** @param xcb_xv_port_t     port
2657  ** @param uint32_t          id
2658  ** @param uint16_t          width
2659  ** @param uint16_t          height
2660  ** @returns xcb_xv_query_image_attributes_cookie_t
2661  **
2662  *****************************************************************************/
2663 
2664 xcb_xv_query_image_attributes_cookie_t
2665 xcb_xv_query_image_attributes_unchecked (xcb_connection_t *c  /**< */,
2666                                          xcb_xv_port_t     port  /**< */,
2667                                          uint32_t          id  /**< */,
2668                                          uint16_t          width  /**< */,
2669                                          uint16_t          height  /**< */)
2670 {
2671     static const xcb_protocol_request_t xcb_req = {
2672         /* count */ 2,
2673         /* ext */ &xcb_xv_id,
2674         /* opcode */ XCB_XV_QUERY_IMAGE_ATTRIBUTES,
2675         /* isvoid */ 0
2676     };
2677 
2678     struct iovec xcb_parts[4];
2679     xcb_xv_query_image_attributes_cookie_t xcb_ret;
2680     xcb_xv_query_image_attributes_request_t xcb_out;
2681 
2682     xcb_out.port = port;
2683     xcb_out.id = id;
2684     xcb_out.width = width;
2685     xcb_out.height = height;
2686 
2687     xcb_parts[2].iov_base = (char *) &xcb_out;
2688     xcb_parts[2].iov_len = sizeof(xcb_out);
2689     xcb_parts[3].iov_base = 0;
2690     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2691     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2692     return xcb_ret;
2693 }
2694 
2695 
2696 /*****************************************************************************
2697  **
2698  ** uint32_t * xcb_xv_query_image_attributes_pitches
2699  **
2700  ** @param const xcb_xv_query_image_attributes_reply_t *R
2701  ** @returns uint32_t *
2702  **
2703  *****************************************************************************/
2704 
2705 uint32_t *
2706 xcb_xv_query_image_attributes_pitches (const xcb_xv_query_image_attributes_reply_t *R  /**< */)
2707 {
2708     return (uint32_t *) (R + 1);
2709 }
2710 
2711 
2712 /*****************************************************************************
2713  **
2714  ** int xcb_xv_query_image_attributes_pitches_length
2715  **
2716  ** @param const xcb_xv_query_image_attributes_reply_t *R
2717  ** @returns int
2718  **
2719  *****************************************************************************/
2720 
2721 int
2722 xcb_xv_query_image_attributes_pitches_length (const xcb_xv_query_image_attributes_reply_t *R  /**< */)
2723 {
2724     return R->num_planes;
2725 }
2726 
2727 
2728 /*****************************************************************************
2729  **
2730  ** xcb_generic_iterator_t xcb_xv_query_image_attributes_pitches_end
2731  **
2732  ** @param const xcb_xv_query_image_attributes_reply_t *R
2733  ** @returns xcb_generic_iterator_t
2734  **
2735  *****************************************************************************/
2736 
2737 xcb_generic_iterator_t
2738 xcb_xv_query_image_attributes_pitches_end (const xcb_xv_query_image_attributes_reply_t *R  /**< */)
2739 {
2740     xcb_generic_iterator_t i;
2741     i.data = ((uint32_t *) (R + 1)) + (R->num_planes);
2742     i.rem = 0;
2743     i.index = (char *) i.data - (char *) R;
2744     return i;
2745 }
2746 
2747 
2748 /*****************************************************************************
2749  **
2750  ** uint32_t * xcb_xv_query_image_attributes_offsets
2751  **
2752  ** @param const xcb_xv_query_image_attributes_reply_t *R
2753  ** @returns uint32_t *
2754  **
2755  *****************************************************************************/
2756 
2757 uint32_t *
2758 xcb_xv_query_image_attributes_offsets (const xcb_xv_query_image_attributes_reply_t *R  /**< */)
2759 {
2760     xcb_generic_iterator_t prev = xcb_xv_query_image_attributes_pitches_end(R);
2761     return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0);
2762 }
2763 
2764 
2765 /*****************************************************************************
2766  **
2767  ** int xcb_xv_query_image_attributes_offsets_length
2768  **
2769  ** @param const xcb_xv_query_image_attributes_reply_t *R
2770  ** @returns int
2771  **
2772  *****************************************************************************/
2773 
2774 int
2775 xcb_xv_query_image_attributes_offsets_length (const xcb_xv_query_image_attributes_reply_t *R  /**< */)
2776 {
2777     return R->num_planes;
2778 }
2779 
2780 
2781 /*****************************************************************************
2782  **
2783  ** xcb_generic_iterator_t xcb_xv_query_image_attributes_offsets_end
2784  **
2785  ** @param const xcb_xv_query_image_attributes_reply_t *R
2786  ** @returns xcb_generic_iterator_t
2787  **
2788  *****************************************************************************/
2789 
2790 xcb_generic_iterator_t
2791 xcb_xv_query_image_attributes_offsets_end (const xcb_xv_query_image_attributes_reply_t *R  /**< */)
2792 {
2793     xcb_generic_iterator_t i;
2794     xcb_generic_iterator_t child = xcb_xv_query_image_attributes_pitches_end(R);
2795     i.data = ((uint32_t *) child.data) + (R->num_planes);
2796     i.rem = 0;
2797     i.index = (char *) i.data - (char *) R;
2798     return i;
2799 }
2800 
2801 
2802 /*****************************************************************************
2803  **
2804  ** xcb_xv_query_image_attributes_reply_t * xcb_xv_query_image_attributes_reply
2805  **
2806  ** @param xcb_connection_t                        *c
2807  ** @param xcb_xv_query_image_attributes_cookie_t   cookie
2808  ** @param xcb_generic_error_t                    **e
2809  ** @returns xcb_xv_query_image_attributes_reply_t *
2810  **
2811  *****************************************************************************/
2812 
2813 xcb_xv_query_image_attributes_reply_t *
2814 xcb_xv_query_image_attributes_reply (xcb_connection_t                        *c  /**< */,
2815                                      xcb_xv_query_image_attributes_cookie_t   cookie  /**< */,
2816                                      xcb_generic_error_t                    **e  /**< */)
2817 {
2818     return (xcb_xv_query_image_attributes_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
2819 }
2820 
2821 
2822 /*****************************************************************************
2823  **
2824  ** xcb_void_cookie_t xcb_xv_put_image_checked
2825  **
2826  ** @param xcb_connection_t *c
2827  ** @param xcb_xv_port_t     port
2828  ** @param xcb_drawable_t    drawable
2829  ** @param xcb_gcontext_t    gc
2830  ** @param uint32_t          id
2831  ** @param int16_t           src_x
2832  ** @param int16_t           src_y
2833  ** @param uint16_t          src_w
2834  ** @param uint16_t          src_h
2835  ** @param int16_t           drw_x
2836  ** @param int16_t           drw_y
2837  ** @param uint16_t          drw_w
2838  ** @param uint16_t          drw_h
2839  ** @param uint16_t          width
2840  ** @param uint16_t          height
2841  ** @param uint32_t          data_len
2842  ** @param const uint8_t    *data
2843  ** @returns xcb_void_cookie_t
2844  **
2845  *****************************************************************************/
2846 
2847 xcb_void_cookie_t
2848 xcb_xv_put_image_checked (xcb_connection_t *c  /**< */,
2849                           xcb_xv_port_t     port  /**< */,
2850                           xcb_drawable_t    drawable  /**< */,
2851                           xcb_gcontext_t    gc  /**< */,
2852                           uint32_t          id  /**< */,
2853                           int16_t           src_x  /**< */,
2854                           int16_t           src_y  /**< */,
2855                           uint16_t          src_w  /**< */,
2856                           uint16_t          src_h  /**< */,
2857                           int16_t           drw_x  /**< */,
2858                           int16_t           drw_y  /**< */,
2859                           uint16_t          drw_w  /**< */,
2860                           uint16_t          drw_h  /**< */,
2861                           uint16_t          width  /**< */,
2862                           uint16_t          height  /**< */,
2863                           uint32_t          data_len  /**< */,
2864                           const uint8_t    *data  /**< */)
2865 {
2866     static const xcb_protocol_request_t xcb_req = {
2867         /* count */ 4,
2868         /* ext */ &xcb_xv_id,
2869         /* opcode */ XCB_XV_PUT_IMAGE,
2870         /* isvoid */ 1
2871     };
2872 
2873     struct iovec xcb_parts[6];
2874     xcb_void_cookie_t xcb_ret;
2875     xcb_xv_put_image_request_t xcb_out;
2876 
2877     xcb_out.port = port;
2878     xcb_out.drawable = drawable;
2879     xcb_out.gc = gc;
2880     xcb_out.id = id;
2881     xcb_out.src_x = src_x;
2882     xcb_out.src_y = src_y;
2883     xcb_out.src_w = src_w;
2884     xcb_out.src_h = src_h;
2885     xcb_out.drw_x = drw_x;
2886     xcb_out.drw_y = drw_y;
2887     xcb_out.drw_w = drw_w;
2888     xcb_out.drw_h = drw_h;
2889     xcb_out.width = width;
2890     xcb_out.height = height;
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 *) data;
2897     xcb_parts[4].iov_len = data_len * sizeof(uint8_t);
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_void_cookie_t xcb_xv_put_image
2908  **
2909  ** @param xcb_connection_t *c
2910  ** @param xcb_xv_port_t     port
2911  ** @param xcb_drawable_t    drawable
2912  ** @param xcb_gcontext_t    gc
2913  ** @param uint32_t          id
2914  ** @param int16_t           src_x
2915  ** @param int16_t           src_y
2916  ** @param uint16_t          src_w
2917  ** @param uint16_t          src_h
2918  ** @param int16_t           drw_x
2919  ** @param int16_t           drw_y
2920  ** @param uint16_t          drw_w
2921  ** @param uint16_t          drw_h
2922  ** @param uint16_t          width
2923  ** @param uint16_t          height
2924  ** @param uint32_t          data_len
2925  ** @param const uint8_t    *data
2926  ** @returns xcb_void_cookie_t
2927  **
2928  *****************************************************************************/
2929 
2930 xcb_void_cookie_t
2931 xcb_xv_put_image (xcb_connection_t *c  /**< */,
2932                   xcb_xv_port_t     port  /**< */,
2933                   xcb_drawable_t    drawable  /**< */,
2934                   xcb_gcontext_t    gc  /**< */,
2935                   uint32_t          id  /**< */,
2936                   int16_t           src_x  /**< */,
2937                   int16_t           src_y  /**< */,
2938                   uint16_t          src_w  /**< */,
2939                   uint16_t          src_h  /**< */,
2940                   int16_t           drw_x  /**< */,
2941                   int16_t           drw_y  /**< */,
2942                   uint16_t          drw_w  /**< */,
2943                   uint16_t          drw_h  /**< */,
2944                   uint16_t          width  /**< */,
2945                   uint16_t          height  /**< */,
2946                   uint32_t          data_len  /**< */,
2947                   const uint8_t    *data  /**< */)
2948 {
2949     static const xcb_protocol_request_t xcb_req = {
2950         /* count */ 4,
2951         /* ext */ &xcb_xv_id,
2952         /* opcode */ XCB_XV_PUT_IMAGE,
2953         /* isvoid */ 1
2954     };
2955 
2956     struct iovec xcb_parts[6];
2957     xcb_void_cookie_t xcb_ret;
2958     xcb_xv_put_image_request_t xcb_out;
2959 
2960     xcb_out.port = port;
2961     xcb_out.drawable = drawable;
2962     xcb_out.gc = gc;
2963     xcb_out.id = id;
2964     xcb_out.src_x = src_x;
2965     xcb_out.src_y = src_y;
2966     xcb_out.src_w = src_w;
2967     xcb_out.src_h = src_h;
2968     xcb_out.drw_x = drw_x;
2969     xcb_out.drw_y = drw_y;
2970     xcb_out.drw_w = drw_w;
2971     xcb_out.drw_h = drw_h;
2972     xcb_out.width = width;
2973     xcb_out.height = height;
2974 
2975     xcb_parts[2].iov_base = (char *) &xcb_out;
2976     xcb_parts[2].iov_len = sizeof(xcb_out);
2977     xcb_parts[3].iov_base = 0;
2978     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
2979     xcb_parts[4].iov_base = (char *) data;
2980     xcb_parts[4].iov_len = data_len * sizeof(uint8_t);
2981     xcb_parts[5].iov_base = 0;
2982     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
2983     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
2984     return xcb_ret;
2985 }
2986 
2987 
2988 /*****************************************************************************
2989  **
2990  ** xcb_void_cookie_t xcb_xv_shm_put_image_checked
2991  **
2992  ** @param xcb_connection_t *c
2993  ** @param xcb_xv_port_t     port
2994  ** @param xcb_drawable_t    drawable
2995  ** @param xcb_gcontext_t    gc
2996  ** @param xcb_shm_seg_t     shmseg
2997  ** @param uint32_t          id
2998  ** @param uint32_t          offset
2999  ** @param int16_t           src_x
3000  ** @param int16_t           src_y
3001  ** @param uint16_t          src_w
3002  ** @param uint16_t          src_h
3003  ** @param int16_t           drw_x
3004  ** @param int16_t           drw_y
3005  ** @param uint16_t          drw_w
3006  ** @param uint16_t          drw_h
3007  ** @param uint16_t          width
3008  ** @param uint16_t          height
3009  ** @param uint8_t           send_event
3010  ** @returns xcb_void_cookie_t
3011  **
3012  *****************************************************************************/
3013 
3014 xcb_void_cookie_t
3015 xcb_xv_shm_put_image_checked (xcb_connection_t *c  /**< */,
3016                               xcb_xv_port_t     port  /**< */,
3017                               xcb_drawable_t    drawable  /**< */,
3018                               xcb_gcontext_t    gc  /**< */,
3019                               xcb_shm_seg_t     shmseg  /**< */,
3020                               uint32_t          id  /**< */,
3021                               uint32_t          offset  /**< */,
3022                               int16_t           src_x  /**< */,
3023                               int16_t           src_y  /**< */,
3024                               uint16_t          src_w  /**< */,
3025                               uint16_t          src_h  /**< */,
3026                               int16_t           drw_x  /**< */,
3027                               int16_t           drw_y  /**< */,
3028                               uint16_t          drw_w  /**< */,
3029                               uint16_t          drw_h  /**< */,
3030                               uint16_t          width  /**< */,
3031                               uint16_t          height  /**< */,
3032                               uint8_t           send_event  /**< */)
3033 {
3034     static const xcb_protocol_request_t xcb_req = {
3035         /* count */ 2,
3036         /* ext */ &xcb_xv_id,
3037         /* opcode */ XCB_XV_SHM_PUT_IMAGE,
3038         /* isvoid */ 1
3039     };
3040 
3041     struct iovec xcb_parts[4];
3042     xcb_void_cookie_t xcb_ret;
3043     xcb_xv_shm_put_image_request_t xcb_out;
3044 
3045     xcb_out.port = port;
3046     xcb_out.drawable = drawable;
3047     xcb_out.gc = gc;
3048     xcb_out.shmseg = shmseg;
3049     xcb_out.id = id;
3050     xcb_out.offset = offset;
3051     xcb_out.src_x = src_x;
3052     xcb_out.src_y = src_y;
3053     xcb_out.src_w = src_w;
3054     xcb_out.src_h = src_h;
3055     xcb_out.drw_x = drw_x;
3056     xcb_out.drw_y = drw_y;
3057     xcb_out.drw_w = drw_w;
3058     xcb_out.drw_h = drw_h;
3059     xcb_out.width = width;
3060     xcb_out.height = height;
3061     xcb_out.send_event = send_event;
3062     memset(xcb_out.pad0, 0, 3);
3063 
3064     xcb_parts[2].iov_base = (char *) &xcb_out;
3065     xcb_parts[2].iov_len = sizeof(xcb_out);
3066     xcb_parts[3].iov_base = 0;
3067     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3068     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
3069     return xcb_ret;
3070 }
3071 
3072 
3073 /*****************************************************************************
3074  **
3075  ** xcb_void_cookie_t xcb_xv_shm_put_image
3076  **
3077  ** @param xcb_connection_t *c
3078  ** @param xcb_xv_port_t     port
3079  ** @param xcb_drawable_t    drawable
3080  ** @param xcb_gcontext_t    gc
3081  ** @param xcb_shm_seg_t     shmseg
3082  ** @param uint32_t          id
3083  ** @param uint32_t          offset
3084  ** @param int16_t           src_x
3085  ** @param int16_t           src_y
3086  ** @param uint16_t          src_w
3087  ** @param uint16_t          src_h
3088  ** @param int16_t           drw_x
3089  ** @param int16_t           drw_y
3090  ** @param uint16_t          drw_w
3091  ** @param uint16_t          drw_h
3092  ** @param uint16_t          width
3093  ** @param uint16_t          height
3094  ** @param uint8_t           send_event
3095  ** @returns xcb_void_cookie_t
3096  **
3097  *****************************************************************************/
3098 
3099 xcb_void_cookie_t
3100 xcb_xv_shm_put_image (xcb_connection_t *c  /**< */,
3101                       xcb_xv_port_t     port  /**< */,
3102                       xcb_drawable_t    drawable  /**< */,
3103                       xcb_gcontext_t    gc  /**< */,
3104                       xcb_shm_seg_t     shmseg  /**< */,
3105                       uint32_t          id  /**< */,
3106                       uint32_t          offset  /**< */,
3107                       int16_t           src_x  /**< */,
3108                       int16_t           src_y  /**< */,
3109                       uint16_t          src_w  /**< */,
3110                       uint16_t          src_h  /**< */,
3111                       int16_t           drw_x  /**< */,
3112                       int16_t           drw_y  /**< */,
3113                       uint16_t          drw_w  /**< */,
3114                       uint16_t          drw_h  /**< */,
3115                       uint16_t          width  /**< */,
3116                       uint16_t          height  /**< */,
3117                       uint8_t           send_event  /**< */)
3118 {
3119     static const xcb_protocol_request_t xcb_req = {
3120         /* count */ 2,
3121         /* ext */ &xcb_xv_id,
3122         /* opcode */ XCB_XV_SHM_PUT_IMAGE,
3123         /* isvoid */ 1
3124     };
3125 
3126     struct iovec xcb_parts[4];
3127     xcb_void_cookie_t xcb_ret;
3128     xcb_xv_shm_put_image_request_t xcb_out;
3129 
3130     xcb_out.port = port;
3131     xcb_out.drawable = drawable;
3132     xcb_out.gc = gc;
3133     xcb_out.shmseg = shmseg;
3134     xcb_out.id = id;
3135     xcb_out.offset = offset;
3136     xcb_out.src_x = src_x;
3137     xcb_out.src_y = src_y;
3138     xcb_out.src_w = src_w;
3139     xcb_out.src_h = src_h;
3140     xcb_out.drw_x = drw_x;
3141     xcb_out.drw_y = drw_y;
3142     xcb_out.drw_w = drw_w;
3143     xcb_out.drw_h = drw_h;
3144     xcb_out.width = width;
3145     xcb_out.height = height;
3146     xcb_out.send_event = send_event;
3147     memset(xcb_out.pad0, 0, 3);
3148 
3149     xcb_parts[2].iov_base = (char *) &xcb_out;
3150     xcb_parts[2].iov_len = sizeof(xcb_out);
3151     xcb_parts[3].iov_base = 0;
3152     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
3153     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
3154     return xcb_ret;
3155 }
3156 
3157