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
13xcb_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
25void
26xcb_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
43xcb_generic_iterator_t
44xcb_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
63void
64xcb_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
81xcb_generic_iterator_t
82xcb_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
101void
102xcb_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
119xcb_generic_iterator_t
120xcb_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
139void
140xcb_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
157xcb_generic_iterator_t
158xcb_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
177char *
178xcb_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
193int
194xcb_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
209xcb_generic_iterator_t
210xcb_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
229xcb_xv_format_t *
230xcb_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
246int
247xcb_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
262xcb_xv_format_iterator_t
263xcb_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
283void
284xcb_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
303xcb_generic_iterator_t
304xcb_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
325char *
326xcb_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
341int
342xcb_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
357xcb_generic_iterator_t
358xcb_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
377void
378xcb_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
397xcb_generic_iterator_t
398xcb_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
419uint32_t *
420xcb_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
435int
436xcb_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
451xcb_generic_iterator_t
452xcb_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
471uint32_t *
472xcb_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
488int
489xcb_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
504xcb_generic_iterator_t
505xcb_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
525uint8_t *
526xcb_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
542int
543xcb_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
558xcb_generic_iterator_t
559xcb_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
579void
580xcb_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
599xcb_generic_iterator_t
600xcb_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
621char *
622xcb_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
637int
638xcb_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
653xcb_generic_iterator_t
654xcb_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
673void
674xcb_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
693xcb_generic_iterator_t
694xcb_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
715void
716xcb_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
733xcb_generic_iterator_t
734xcb_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
753xcb_xv_query_extension_cookie_t
754xcb_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
786xcb_xv_query_extension_cookie_t
787xcb_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
821xcb_xv_query_extension_reply_t *
822xcb_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
840xcb_xv_query_adaptors_cookie_t
841xcb_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
876xcb_xv_query_adaptors_cookie_t
877xcb_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
911int
912xcb_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
927xcb_xv_adaptor_info_iterator_t
928xcb_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
949xcb_xv_query_adaptors_reply_t *
950xcb_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
968xcb_xv_query_encodings_cookie_t
969xcb_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
1004xcb_xv_query_encodings_cookie_t
1005xcb_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
1039int
1040xcb_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
1055xcb_xv_encoding_info_iterator_t
1056xcb_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
1077xcb_xv_query_encodings_reply_t *
1078xcb_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
1097xcb_xv_grab_port_cookie_t
1098xcb_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
1136xcb_xv_grab_port_cookie_t
1137xcb_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
1175xcb_xv_grab_port_reply_t *
1176xcb_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
1195xcb_void_cookie_t
1196xcb_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
1234xcb_void_cookie_t
1235xcb_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
1282xcb_void_cookie_t
1283xcb_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
1348xcb_void_cookie_t
1349xcb_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
1414xcb_void_cookie_t
1415xcb_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
1480xcb_void_cookie_t
1481xcb_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
1546xcb_void_cookie_t
1547xcb_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
1612xcb_void_cookie_t
1613xcb_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
1678xcb_void_cookie_t
1679xcb_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
1744xcb_void_cookie_t
1745xcb_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
1801xcb_void_cookie_t
1802xcb_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
1840xcb_void_cookie_t
1841xcb_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
1879xcb_void_cookie_t
1880xcb_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
1919xcb_void_cookie_t
1920xcb_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
1959xcb_void_cookie_t
1960xcb_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
1999xcb_void_cookie_t
2000xcb_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
2043xcb_xv_query_best_size_cookie_t
2044xcb_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
2095xcb_xv_query_best_size_cookie_t
2096xcb_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
2143xcb_xv_query_best_size_reply_t *
2144xcb_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
2164xcb_void_cookie_t
2165xcb_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
2206xcb_void_cookie_t
2207xcb_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
2247xcb_xv_get_port_attribute_cookie_t
2248xcb_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
2286xcb_xv_get_port_attribute_cookie_t
2287xcb_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
2325xcb_xv_get_port_attribute_reply_t *
2326xcb_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
2344xcb_xv_query_port_attributes_cookie_t
2345xcb_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
2380xcb_xv_query_port_attributes_cookie_t
2381xcb_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
2415int
2416xcb_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
2431xcb_xv_attribute_info_iterator_t
2432xcb_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
2453xcb_xv_query_port_attributes_reply_t *
2454xcb_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
2472xcb_xv_list_image_formats_cookie_t
2473xcb_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
2508xcb_xv_list_image_formats_cookie_t
2509xcb_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
2543xcb_xv_image_format_info_t *
2544xcb_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
2559int
2560xcb_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
2575xcb_xv_image_format_info_iterator_t
2576xcb_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
2597xcb_xv_list_image_formats_reply_t *
2598xcb_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
2619xcb_xv_query_image_attributes_cookie_t
2620xcb_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
2664xcb_xv_query_image_attributes_cookie_t
2665xcb_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
2705uint32_t *
2706xcb_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
2721int
2722xcb_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
2737xcb_generic_iterator_t
2738xcb_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
2757uint32_t *
2758xcb_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
2774int
2775xcb_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
2790xcb_generic_iterator_t
2791xcb_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
2813xcb_xv_query_image_attributes_reply_t *
2814xcb_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
2847xcb_void_cookie_t
2848xcb_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
2930xcb_void_cookie_t
2931xcb_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
3014xcb_void_cookie_t
3015xcb_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
3099xcb_void_cookie_t
3100xcb_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