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