xvmc.c revision 1.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;
272
273
274 xcb_block_len += sizeof(xcb_xvmc_list_surface_types_reply_t);
275 xcb_tmp += xcb_block_len;
276 /* surfaces */
277 xcb_block_len += _aux->num * sizeof(xcb_xvmc_surface_info_t);
278 xcb_tmp += xcb_block_len;
279 xcb_align_to = ALIGNOF(xcb_xvmc_surface_info_t);
280 /* insert padding */
281 xcb_pad = -xcb_block_len & (xcb_align_to - 1);
282 xcb_buffer_len += xcb_block_len + xcb_pad;
283 if (0 != xcb_pad) {
284 xcb_tmp += xcb_pad;
285 xcb_pad = 0;
286 }
287 xcb_block_len = 0;
288
289 return xcb_buffer_len;
290 }
291
292
293 /*****************************************************************************
294 **
295 ** xcb_xvmc_list_surface_types_cookie_t xcb_xvmc_list_surface_types
296 **
297 ** @param xcb_connection_t *c
298 ** @param xcb_xv_port_t port_id
299 ** @returns xcb_xvmc_list_surface_types_cookie_t
300 **
301 *****************************************************************************/
302
303 xcb_xvmc_list_surface_types_cookie_t
304 xcb_xvmc_list_surface_types (xcb_connection_t *c /**< */,
305 xcb_xv_port_t port_id /**< */)
306 {
307 static const xcb_protocol_request_t xcb_req = {
308 /* count */ 2,
309 /* ext */ &xcb_xvmc_id,
310 /* opcode */ XCB_XVMC_LIST_SURFACE_TYPES,
311 /* isvoid */ 0
312 };
313
314 struct iovec xcb_parts[4];
315 xcb_xvmc_list_surface_types_cookie_t xcb_ret;
316 xcb_xvmc_list_surface_types_request_t xcb_out;
317
318 xcb_out.port_id = port_id;
319
320 xcb_parts[2].iov_base = (char *) &xcb_out;
321 xcb_parts[2].iov_len = sizeof(xcb_out);
322 xcb_parts[3].iov_base = 0;
323 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
324
325 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
326 return xcb_ret;
327 }
328
329
330 /*****************************************************************************
331 **
332 ** xcb_xvmc_list_surface_types_cookie_t xcb_xvmc_list_surface_types_unchecked
333 **
334 ** @param xcb_connection_t *c
335 ** @param xcb_xv_port_t port_id
336 ** @returns xcb_xvmc_list_surface_types_cookie_t
337 **
338 *****************************************************************************/
339
340 xcb_xvmc_list_surface_types_cookie_t
341 xcb_xvmc_list_surface_types_unchecked (xcb_connection_t *c /**< */,
342 xcb_xv_port_t port_id /**< */)
343 {
344 static const xcb_protocol_request_t xcb_req = {
345 /* count */ 2,
346 /* ext */ &xcb_xvmc_id,
347 /* opcode */ XCB_XVMC_LIST_SURFACE_TYPES,
348 /* isvoid */ 0
349 };
350
351 struct iovec xcb_parts[4];
352 xcb_xvmc_list_surface_types_cookie_t xcb_ret;
353 xcb_xvmc_list_surface_types_request_t xcb_out;
354
355 xcb_out.port_id = port_id;
356
357 xcb_parts[2].iov_base = (char *) &xcb_out;
358 xcb_parts[2].iov_len = sizeof(xcb_out);
359 xcb_parts[3].iov_base = 0;
360 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
361
362 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
363 return xcb_ret;
364 }
365
366
367 /*****************************************************************************
368 **
369 ** xcb_xvmc_surface_info_t * xcb_xvmc_list_surface_types_surfaces
370 **
371 ** @param const xcb_xvmc_list_surface_types_reply_t *R
372 ** @returns xcb_xvmc_surface_info_t *
373 **
374 *****************************************************************************/
375
376 xcb_xvmc_surface_info_t *
377 xcb_xvmc_list_surface_types_surfaces (const xcb_xvmc_list_surface_types_reply_t *R /**< */)
378 {
379 return (xcb_xvmc_surface_info_t *) (R + 1);
380 }
381
382
383 /*****************************************************************************
384 **
385 ** int xcb_xvmc_list_surface_types_surfaces_length
386 **
387 ** @param const xcb_xvmc_list_surface_types_reply_t *R
388 ** @returns int
389 **
390 *****************************************************************************/
391
392 int
393 xcb_xvmc_list_surface_types_surfaces_length (const xcb_xvmc_list_surface_types_reply_t *R /**< */)
394 {
395 return R->num;
396 }
397
398
399 /*****************************************************************************
400 **
401 ** xcb_xvmc_surface_info_iterator_t xcb_xvmc_list_surface_types_surfaces_iterator
402 **
403 ** @param const xcb_xvmc_list_surface_types_reply_t *R
404 ** @returns xcb_xvmc_surface_info_iterator_t
405 **
406 *****************************************************************************/
407
408 xcb_xvmc_surface_info_iterator_t
409 xcb_xvmc_list_surface_types_surfaces_iterator (const xcb_xvmc_list_surface_types_reply_t *R /**< */)
410 {
411 xcb_xvmc_surface_info_iterator_t i;
412 i.data = (xcb_xvmc_surface_info_t *) (R + 1);
413 i.rem = R->num;
414 i.index = (char *) i.data - (char *) R;
415 return i;
416 }
417
418
419 /*****************************************************************************
420 **
421 ** xcb_xvmc_list_surface_types_reply_t * xcb_xvmc_list_surface_types_reply
422 **
423 ** @param xcb_connection_t *c
424 ** @param xcb_xvmc_list_surface_types_cookie_t cookie
425 ** @param xcb_generic_error_t **e
426 ** @returns xcb_xvmc_list_surface_types_reply_t *
427 **
428 *****************************************************************************/
429
430 xcb_xvmc_list_surface_types_reply_t *
431 xcb_xvmc_list_surface_types_reply (xcb_connection_t *c /**< */,
432 xcb_xvmc_list_surface_types_cookie_t cookie /**< */,
433 xcb_generic_error_t **e /**< */)
434 {
435 return (xcb_xvmc_list_surface_types_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
436 }
437
438 int
439 xcb_xvmc_create_context_sizeof (const void *_buffer /**< */)
440 {
441 char *xcb_tmp = (char *)_buffer;
442 const xcb_xvmc_create_context_reply_t *_aux = (xcb_xvmc_create_context_reply_t *)_buffer;
443 unsigned int xcb_buffer_len = 0;
444 unsigned int xcb_block_len = 0;
445 unsigned int xcb_pad = 0;
446 unsigned int xcb_align_to;
447
448
449 xcb_block_len += sizeof(xcb_xvmc_create_context_reply_t);
450 xcb_tmp += xcb_block_len;
451 /* priv_data */
452 xcb_block_len += _aux->length * sizeof(uint32_t);
453 xcb_tmp += xcb_block_len;
454 xcb_align_to = ALIGNOF(uint32_t);
455 /* insert padding */
456 xcb_pad = -xcb_block_len & (xcb_align_to - 1);
457 xcb_buffer_len += xcb_block_len + xcb_pad;
458 if (0 != xcb_pad) {
459 xcb_tmp += xcb_pad;
460 xcb_pad = 0;
461 }
462 xcb_block_len = 0;
463
464 return xcb_buffer_len;
465 }
466
467
468 /*****************************************************************************
469 **
470 ** xcb_xvmc_create_context_cookie_t xcb_xvmc_create_context
471 **
472 ** @param xcb_connection_t *c
473 ** @param xcb_xvmc_context_t context_id
474 ** @param xcb_xv_port_t port_id
475 ** @param xcb_xvmc_surface_t surface_id
476 ** @param uint16_t width
477 ** @param uint16_t height
478 ** @param uint32_t flags
479 ** @returns xcb_xvmc_create_context_cookie_t
480 **
481 *****************************************************************************/
482
483 xcb_xvmc_create_context_cookie_t
484 xcb_xvmc_create_context (xcb_connection_t *c /**< */,
485 xcb_xvmc_context_t context_id /**< */,
486 xcb_xv_port_t port_id /**< */,
487 xcb_xvmc_surface_t surface_id /**< */,
488 uint16_t width /**< */,
489 uint16_t height /**< */,
490 uint32_t flags /**< */)
491 {
492 static const xcb_protocol_request_t xcb_req = {
493 /* count */ 2,
494 /* ext */ &xcb_xvmc_id,
495 /* opcode */ XCB_XVMC_CREATE_CONTEXT,
496 /* isvoid */ 0
497 };
498
499 struct iovec xcb_parts[4];
500 xcb_xvmc_create_context_cookie_t xcb_ret;
501 xcb_xvmc_create_context_request_t xcb_out;
502
503 xcb_out.context_id = context_id;
504 xcb_out.port_id = port_id;
505 xcb_out.surface_id = surface_id;
506 xcb_out.width = width;
507 xcb_out.height = height;
508 xcb_out.flags = flags;
509
510 xcb_parts[2].iov_base = (char *) &xcb_out;
511 xcb_parts[2].iov_len = sizeof(xcb_out);
512 xcb_parts[3].iov_base = 0;
513 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
514
515 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
516 return xcb_ret;
517 }
518
519
520 /*****************************************************************************
521 **
522 ** xcb_xvmc_create_context_cookie_t xcb_xvmc_create_context_unchecked
523 **
524 ** @param xcb_connection_t *c
525 ** @param xcb_xvmc_context_t context_id
526 ** @param xcb_xv_port_t port_id
527 ** @param xcb_xvmc_surface_t surface_id
528 ** @param uint16_t width
529 ** @param uint16_t height
530 ** @param uint32_t flags
531 ** @returns xcb_xvmc_create_context_cookie_t
532 **
533 *****************************************************************************/
534
535 xcb_xvmc_create_context_cookie_t
536 xcb_xvmc_create_context_unchecked (xcb_connection_t *c /**< */,
537 xcb_xvmc_context_t context_id /**< */,
538 xcb_xv_port_t port_id /**< */,
539 xcb_xvmc_surface_t surface_id /**< */,
540 uint16_t width /**< */,
541 uint16_t height /**< */,
542 uint32_t flags /**< */)
543 {
544 static const xcb_protocol_request_t xcb_req = {
545 /* count */ 2,
546 /* ext */ &xcb_xvmc_id,
547 /* opcode */ XCB_XVMC_CREATE_CONTEXT,
548 /* isvoid */ 0
549 };
550
551 struct iovec xcb_parts[4];
552 xcb_xvmc_create_context_cookie_t xcb_ret;
553 xcb_xvmc_create_context_request_t xcb_out;
554
555 xcb_out.context_id = context_id;
556 xcb_out.port_id = port_id;
557 xcb_out.surface_id = surface_id;
558 xcb_out.width = width;
559 xcb_out.height = height;
560 xcb_out.flags = flags;
561
562 xcb_parts[2].iov_base = (char *) &xcb_out;
563 xcb_parts[2].iov_len = sizeof(xcb_out);
564 xcb_parts[3].iov_base = 0;
565 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
566
567 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
568 return xcb_ret;
569 }
570
571
572 /*****************************************************************************
573 **
574 ** uint32_t * xcb_xvmc_create_context_priv_data
575 **
576 ** @param const xcb_xvmc_create_context_reply_t *R
577 ** @returns uint32_t *
578 **
579 *****************************************************************************/
580
581 uint32_t *
582 xcb_xvmc_create_context_priv_data (const xcb_xvmc_create_context_reply_t *R /**< */)
583 {
584 return (uint32_t *) (R + 1);
585 }
586
587
588 /*****************************************************************************
589 **
590 ** int xcb_xvmc_create_context_priv_data_length
591 **
592 ** @param const xcb_xvmc_create_context_reply_t *R
593 ** @returns int
594 **
595 *****************************************************************************/
596
597 int
598 xcb_xvmc_create_context_priv_data_length (const xcb_xvmc_create_context_reply_t *R /**< */)
599 {
600 return R->length;
601 }
602
603
604 /*****************************************************************************
605 **
606 ** xcb_generic_iterator_t xcb_xvmc_create_context_priv_data_end
607 **
608 ** @param const xcb_xvmc_create_context_reply_t *R
609 ** @returns xcb_generic_iterator_t
610 **
611 *****************************************************************************/
612
613 xcb_generic_iterator_t
614 xcb_xvmc_create_context_priv_data_end (const xcb_xvmc_create_context_reply_t *R /**< */)
615 {
616 xcb_generic_iterator_t i;
617 i.data = ((uint32_t *) (R + 1)) + (R->length);
618 i.rem = 0;
619 i.index = (char *) i.data - (char *) R;
620 return i;
621 }
622
623
624 /*****************************************************************************
625 **
626 ** xcb_xvmc_create_context_reply_t * xcb_xvmc_create_context_reply
627 **
628 ** @param xcb_connection_t *c
629 ** @param xcb_xvmc_create_context_cookie_t cookie
630 ** @param xcb_generic_error_t **e
631 ** @returns xcb_xvmc_create_context_reply_t *
632 **
633 *****************************************************************************/
634
635 xcb_xvmc_create_context_reply_t *
636 xcb_xvmc_create_context_reply (xcb_connection_t *c /**< */,
637 xcb_xvmc_create_context_cookie_t cookie /**< */,
638 xcb_generic_error_t **e /**< */)
639 {
640 return (xcb_xvmc_create_context_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
641 }
642
643
644 /*****************************************************************************
645 **
646 ** xcb_void_cookie_t xcb_xvmc_destroy_context_checked
647 **
648 ** @param xcb_connection_t *c
649 ** @param xcb_xvmc_context_t context_id
650 ** @returns xcb_void_cookie_t
651 **
652 *****************************************************************************/
653
654 xcb_void_cookie_t
655 xcb_xvmc_destroy_context_checked (xcb_connection_t *c /**< */,
656 xcb_xvmc_context_t context_id /**< */)
657 {
658 static const xcb_protocol_request_t xcb_req = {
659 /* count */ 2,
660 /* ext */ &xcb_xvmc_id,
661 /* opcode */ XCB_XVMC_DESTROY_CONTEXT,
662 /* isvoid */ 1
663 };
664
665 struct iovec xcb_parts[4];
666 xcb_void_cookie_t xcb_ret;
667 xcb_xvmc_destroy_context_request_t xcb_out;
668
669 xcb_out.context_id = context_id;
670
671 xcb_parts[2].iov_base = (char *) &xcb_out;
672 xcb_parts[2].iov_len = sizeof(xcb_out);
673 xcb_parts[3].iov_base = 0;
674 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
675
676 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
677 return xcb_ret;
678 }
679
680
681 /*****************************************************************************
682 **
683 ** xcb_void_cookie_t xcb_xvmc_destroy_context
684 **
685 ** @param xcb_connection_t *c
686 ** @param xcb_xvmc_context_t context_id
687 ** @returns xcb_void_cookie_t
688 **
689 *****************************************************************************/
690
691 xcb_void_cookie_t
692 xcb_xvmc_destroy_context (xcb_connection_t *c /**< */,
693 xcb_xvmc_context_t context_id /**< */)
694 {
695 static const xcb_protocol_request_t xcb_req = {
696 /* count */ 2,
697 /* ext */ &xcb_xvmc_id,
698 /* opcode */ XCB_XVMC_DESTROY_CONTEXT,
699 /* isvoid */ 1
700 };
701
702 struct iovec xcb_parts[4];
703 xcb_void_cookie_t xcb_ret;
704 xcb_xvmc_destroy_context_request_t xcb_out;
705
706 xcb_out.context_id = context_id;
707
708 xcb_parts[2].iov_base = (char *) &xcb_out;
709 xcb_parts[2].iov_len = sizeof(xcb_out);
710 xcb_parts[3].iov_base = 0;
711 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
712
713 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
714 return xcb_ret;
715 }
716
717 int
718 xcb_xvmc_create_surface_sizeof (const void *_buffer /**< */)
719 {
720 char *xcb_tmp = (char *)_buffer;
721 const xcb_xvmc_create_surface_reply_t *_aux = (xcb_xvmc_create_surface_reply_t *)_buffer;
722 unsigned int xcb_buffer_len = 0;
723 unsigned int xcb_block_len = 0;
724 unsigned int xcb_pad = 0;
725 unsigned int xcb_align_to;
726
727
728 xcb_block_len += sizeof(xcb_xvmc_create_surface_reply_t);
729 xcb_tmp += xcb_block_len;
730 /* priv_data */
731 xcb_block_len += _aux->length * sizeof(uint32_t);
732 xcb_tmp += xcb_block_len;
733 xcb_align_to = ALIGNOF(uint32_t);
734 /* insert padding */
735 xcb_pad = -xcb_block_len & (xcb_align_to - 1);
736 xcb_buffer_len += xcb_block_len + xcb_pad;
737 if (0 != xcb_pad) {
738 xcb_tmp += xcb_pad;
739 xcb_pad = 0;
740 }
741 xcb_block_len = 0;
742
743 return xcb_buffer_len;
744 }
745
746
747 /*****************************************************************************
748 **
749 ** xcb_xvmc_create_surface_cookie_t xcb_xvmc_create_surface
750 **
751 ** @param xcb_connection_t *c
752 ** @param xcb_xvmc_surface_t surface_id
753 ** @param xcb_xvmc_context_t context_id
754 ** @returns xcb_xvmc_create_surface_cookie_t
755 **
756 *****************************************************************************/
757
758 xcb_xvmc_create_surface_cookie_t
759 xcb_xvmc_create_surface (xcb_connection_t *c /**< */,
760 xcb_xvmc_surface_t surface_id /**< */,
761 xcb_xvmc_context_t context_id /**< */)
762 {
763 static const xcb_protocol_request_t xcb_req = {
764 /* count */ 2,
765 /* ext */ &xcb_xvmc_id,
766 /* opcode */ XCB_XVMC_CREATE_SURFACE,
767 /* isvoid */ 0
768 };
769
770 struct iovec xcb_parts[4];
771 xcb_xvmc_create_surface_cookie_t xcb_ret;
772 xcb_xvmc_create_surface_request_t xcb_out;
773
774 xcb_out.surface_id = surface_id;
775 xcb_out.context_id = context_id;
776
777 xcb_parts[2].iov_base = (char *) &xcb_out;
778 xcb_parts[2].iov_len = sizeof(xcb_out);
779 xcb_parts[3].iov_base = 0;
780 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
781
782 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
783 return xcb_ret;
784 }
785
786
787 /*****************************************************************************
788 **
789 ** xcb_xvmc_create_surface_cookie_t xcb_xvmc_create_surface_unchecked
790 **
791 ** @param xcb_connection_t *c
792 ** @param xcb_xvmc_surface_t surface_id
793 ** @param xcb_xvmc_context_t context_id
794 ** @returns xcb_xvmc_create_surface_cookie_t
795 **
796 *****************************************************************************/
797
798 xcb_xvmc_create_surface_cookie_t
799 xcb_xvmc_create_surface_unchecked (xcb_connection_t *c /**< */,
800 xcb_xvmc_surface_t surface_id /**< */,
801 xcb_xvmc_context_t context_id /**< */)
802 {
803 static const xcb_protocol_request_t xcb_req = {
804 /* count */ 2,
805 /* ext */ &xcb_xvmc_id,
806 /* opcode */ XCB_XVMC_CREATE_SURFACE,
807 /* isvoid */ 0
808 };
809
810 struct iovec xcb_parts[4];
811 xcb_xvmc_create_surface_cookie_t xcb_ret;
812 xcb_xvmc_create_surface_request_t xcb_out;
813
814 xcb_out.surface_id = surface_id;
815 xcb_out.context_id = context_id;
816
817 xcb_parts[2].iov_base = (char *) &xcb_out;
818 xcb_parts[2].iov_len = sizeof(xcb_out);
819 xcb_parts[3].iov_base = 0;
820 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
821
822 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
823 return xcb_ret;
824 }
825
826
827 /*****************************************************************************
828 **
829 ** uint32_t * xcb_xvmc_create_surface_priv_data
830 **
831 ** @param const xcb_xvmc_create_surface_reply_t *R
832 ** @returns uint32_t *
833 **
834 *****************************************************************************/
835
836 uint32_t *
837 xcb_xvmc_create_surface_priv_data (const xcb_xvmc_create_surface_reply_t *R /**< */)
838 {
839 return (uint32_t *) (R + 1);
840 }
841
842
843 /*****************************************************************************
844 **
845 ** int xcb_xvmc_create_surface_priv_data_length
846 **
847 ** @param const xcb_xvmc_create_surface_reply_t *R
848 ** @returns int
849 **
850 *****************************************************************************/
851
852 int
853 xcb_xvmc_create_surface_priv_data_length (const xcb_xvmc_create_surface_reply_t *R /**< */)
854 {
855 return R->length;
856 }
857
858
859 /*****************************************************************************
860 **
861 ** xcb_generic_iterator_t xcb_xvmc_create_surface_priv_data_end
862 **
863 ** @param const xcb_xvmc_create_surface_reply_t *R
864 ** @returns xcb_generic_iterator_t
865 **
866 *****************************************************************************/
867
868 xcb_generic_iterator_t
869 xcb_xvmc_create_surface_priv_data_end (const xcb_xvmc_create_surface_reply_t *R /**< */)
870 {
871 xcb_generic_iterator_t i;
872 i.data = ((uint32_t *) (R + 1)) + (R->length);
873 i.rem = 0;
874 i.index = (char *) i.data - (char *) R;
875 return i;
876 }
877
878
879 /*****************************************************************************
880 **
881 ** xcb_xvmc_create_surface_reply_t * xcb_xvmc_create_surface_reply
882 **
883 ** @param xcb_connection_t *c
884 ** @param xcb_xvmc_create_surface_cookie_t cookie
885 ** @param xcb_generic_error_t **e
886 ** @returns xcb_xvmc_create_surface_reply_t *
887 **
888 *****************************************************************************/
889
890 xcb_xvmc_create_surface_reply_t *
891 xcb_xvmc_create_surface_reply (xcb_connection_t *c /**< */,
892 xcb_xvmc_create_surface_cookie_t cookie /**< */,
893 xcb_generic_error_t **e /**< */)
894 {
895 return (xcb_xvmc_create_surface_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
896 }
897
898
899 /*****************************************************************************
900 **
901 ** xcb_void_cookie_t xcb_xvmc_destroy_surface_checked
902 **
903 ** @param xcb_connection_t *c
904 ** @param xcb_xvmc_surface_t surface_id
905 ** @returns xcb_void_cookie_t
906 **
907 *****************************************************************************/
908
909 xcb_void_cookie_t
910 xcb_xvmc_destroy_surface_checked (xcb_connection_t *c /**< */,
911 xcb_xvmc_surface_t surface_id /**< */)
912 {
913 static const xcb_protocol_request_t xcb_req = {
914 /* count */ 2,
915 /* ext */ &xcb_xvmc_id,
916 /* opcode */ XCB_XVMC_DESTROY_SURFACE,
917 /* isvoid */ 1
918 };
919
920 struct iovec xcb_parts[4];
921 xcb_void_cookie_t xcb_ret;
922 xcb_xvmc_destroy_surface_request_t xcb_out;
923
924 xcb_out.surface_id = surface_id;
925
926 xcb_parts[2].iov_base = (char *) &xcb_out;
927 xcb_parts[2].iov_len = sizeof(xcb_out);
928 xcb_parts[3].iov_base = 0;
929 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
930
931 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
932 return xcb_ret;
933 }
934
935
936 /*****************************************************************************
937 **
938 ** xcb_void_cookie_t xcb_xvmc_destroy_surface
939 **
940 ** @param xcb_connection_t *c
941 ** @param xcb_xvmc_surface_t surface_id
942 ** @returns xcb_void_cookie_t
943 **
944 *****************************************************************************/
945
946 xcb_void_cookie_t
947 xcb_xvmc_destroy_surface (xcb_connection_t *c /**< */,
948 xcb_xvmc_surface_t surface_id /**< */)
949 {
950 static const xcb_protocol_request_t xcb_req = {
951 /* count */ 2,
952 /* ext */ &xcb_xvmc_id,
953 /* opcode */ XCB_XVMC_DESTROY_SURFACE,
954 /* isvoid */ 1
955 };
956
957 struct iovec xcb_parts[4];
958 xcb_void_cookie_t xcb_ret;
959 xcb_xvmc_destroy_surface_request_t xcb_out;
960
961 xcb_out.surface_id = surface_id;
962
963 xcb_parts[2].iov_base = (char *) &xcb_out;
964 xcb_parts[2].iov_len = sizeof(xcb_out);
965 xcb_parts[3].iov_base = 0;
966 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
967
968 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
969 return xcb_ret;
970 }
971
972 int
973 xcb_xvmc_create_subpicture_sizeof (const void *_buffer /**< */)
974 {
975 char *xcb_tmp = (char *)_buffer;
976 const xcb_xvmc_create_subpicture_reply_t *_aux = (xcb_xvmc_create_subpicture_reply_t *)_buffer;
977 unsigned int xcb_buffer_len = 0;
978 unsigned int xcb_block_len = 0;
979 unsigned int xcb_pad = 0;
980 unsigned int xcb_align_to;
981
982
983 xcb_block_len += sizeof(xcb_xvmc_create_subpicture_reply_t);
984 xcb_tmp += xcb_block_len;
985 /* priv_data */
986 xcb_block_len += _aux->length * sizeof(uint32_t);
987 xcb_tmp += xcb_block_len;
988 xcb_align_to = ALIGNOF(uint32_t);
989 /* insert padding */
990 xcb_pad = -xcb_block_len & (xcb_align_to - 1);
991 xcb_buffer_len += xcb_block_len + xcb_pad;
992 if (0 != xcb_pad) {
993 xcb_tmp += xcb_pad;
994 xcb_pad = 0;
995 }
996 xcb_block_len = 0;
997
998 return xcb_buffer_len;
999 }
1000
1001
1002 /*****************************************************************************
1003 **
1004 ** xcb_xvmc_create_subpicture_cookie_t xcb_xvmc_create_subpicture
1005 **
1006 ** @param xcb_connection_t *c
1007 ** @param xcb_xvmc_subpicture_t subpicture_id
1008 ** @param xcb_xvmc_context_t context
1009 ** @param uint32_t xvimage_id
1010 ** @param uint16_t width
1011 ** @param uint16_t height
1012 ** @returns xcb_xvmc_create_subpicture_cookie_t
1013 **
1014 *****************************************************************************/
1015
1016 xcb_xvmc_create_subpicture_cookie_t
1017 xcb_xvmc_create_subpicture (xcb_connection_t *c /**< */,
1018 xcb_xvmc_subpicture_t subpicture_id /**< */,
1019 xcb_xvmc_context_t context /**< */,
1020 uint32_t xvimage_id /**< */,
1021 uint16_t width /**< */,
1022 uint16_t height /**< */)
1023 {
1024 static const xcb_protocol_request_t xcb_req = {
1025 /* count */ 2,
1026 /* ext */ &xcb_xvmc_id,
1027 /* opcode */ XCB_XVMC_CREATE_SUBPICTURE,
1028 /* isvoid */ 0
1029 };
1030
1031 struct iovec xcb_parts[4];
1032 xcb_xvmc_create_subpicture_cookie_t xcb_ret;
1033 xcb_xvmc_create_subpicture_request_t xcb_out;
1034
1035 xcb_out.subpicture_id = subpicture_id;
1036 xcb_out.context = context;
1037 xcb_out.xvimage_id = xvimage_id;
1038 xcb_out.width = width;
1039 xcb_out.height = height;
1040
1041 xcb_parts[2].iov_base = (char *) &xcb_out;
1042 xcb_parts[2].iov_len = sizeof(xcb_out);
1043 xcb_parts[3].iov_base = 0;
1044 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1045
1046 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1047 return xcb_ret;
1048 }
1049
1050
1051 /*****************************************************************************
1052 **
1053 ** xcb_xvmc_create_subpicture_cookie_t xcb_xvmc_create_subpicture_unchecked
1054 **
1055 ** @param xcb_connection_t *c
1056 ** @param xcb_xvmc_subpicture_t subpicture_id
1057 ** @param xcb_xvmc_context_t context
1058 ** @param uint32_t xvimage_id
1059 ** @param uint16_t width
1060 ** @param uint16_t height
1061 ** @returns xcb_xvmc_create_subpicture_cookie_t
1062 **
1063 *****************************************************************************/
1064
1065 xcb_xvmc_create_subpicture_cookie_t
1066 xcb_xvmc_create_subpicture_unchecked (xcb_connection_t *c /**< */,
1067 xcb_xvmc_subpicture_t subpicture_id /**< */,
1068 xcb_xvmc_context_t context /**< */,
1069 uint32_t xvimage_id /**< */,
1070 uint16_t width /**< */,
1071 uint16_t height /**< */)
1072 {
1073 static const xcb_protocol_request_t xcb_req = {
1074 /* count */ 2,
1075 /* ext */ &xcb_xvmc_id,
1076 /* opcode */ XCB_XVMC_CREATE_SUBPICTURE,
1077 /* isvoid */ 0
1078 };
1079
1080 struct iovec xcb_parts[4];
1081 xcb_xvmc_create_subpicture_cookie_t xcb_ret;
1082 xcb_xvmc_create_subpicture_request_t xcb_out;
1083
1084 xcb_out.subpicture_id = subpicture_id;
1085 xcb_out.context = context;
1086 xcb_out.xvimage_id = xvimage_id;
1087 xcb_out.width = width;
1088 xcb_out.height = height;
1089
1090 xcb_parts[2].iov_base = (char *) &xcb_out;
1091 xcb_parts[2].iov_len = sizeof(xcb_out);
1092 xcb_parts[3].iov_base = 0;
1093 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1094
1095 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1096 return xcb_ret;
1097 }
1098
1099
1100 /*****************************************************************************
1101 **
1102 ** uint32_t * xcb_xvmc_create_subpicture_priv_data
1103 **
1104 ** @param const xcb_xvmc_create_subpicture_reply_t *R
1105 ** @returns uint32_t *
1106 **
1107 *****************************************************************************/
1108
1109 uint32_t *
1110 xcb_xvmc_create_subpicture_priv_data (const xcb_xvmc_create_subpicture_reply_t *R /**< */)
1111 {
1112 return (uint32_t *) (R + 1);
1113 }
1114
1115
1116 /*****************************************************************************
1117 **
1118 ** int xcb_xvmc_create_subpicture_priv_data_length
1119 **
1120 ** @param const xcb_xvmc_create_subpicture_reply_t *R
1121 ** @returns int
1122 **
1123 *****************************************************************************/
1124
1125 int
1126 xcb_xvmc_create_subpicture_priv_data_length (const xcb_xvmc_create_subpicture_reply_t *R /**< */)
1127 {
1128 return R->length;
1129 }
1130
1131
1132 /*****************************************************************************
1133 **
1134 ** xcb_generic_iterator_t xcb_xvmc_create_subpicture_priv_data_end
1135 **
1136 ** @param const xcb_xvmc_create_subpicture_reply_t *R
1137 ** @returns xcb_generic_iterator_t
1138 **
1139 *****************************************************************************/
1140
1141 xcb_generic_iterator_t
1142 xcb_xvmc_create_subpicture_priv_data_end (const xcb_xvmc_create_subpicture_reply_t *R /**< */)
1143 {
1144 xcb_generic_iterator_t i;
1145 i.data = ((uint32_t *) (R + 1)) + (R->length);
1146 i.rem = 0;
1147 i.index = (char *) i.data - (char *) R;
1148 return i;
1149 }
1150
1151
1152 /*****************************************************************************
1153 **
1154 ** xcb_xvmc_create_subpicture_reply_t * xcb_xvmc_create_subpicture_reply
1155 **
1156 ** @param xcb_connection_t *c
1157 ** @param xcb_xvmc_create_subpicture_cookie_t cookie
1158 ** @param xcb_generic_error_t **e
1159 ** @returns xcb_xvmc_create_subpicture_reply_t *
1160 **
1161 *****************************************************************************/
1162
1163 xcb_xvmc_create_subpicture_reply_t *
1164 xcb_xvmc_create_subpicture_reply (xcb_connection_t *c /**< */,
1165 xcb_xvmc_create_subpicture_cookie_t cookie /**< */,
1166 xcb_generic_error_t **e /**< */)
1167 {
1168 return (xcb_xvmc_create_subpicture_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1169 }
1170
1171
1172 /*****************************************************************************
1173 **
1174 ** xcb_void_cookie_t xcb_xvmc_destroy_subpicture_checked
1175 **
1176 ** @param xcb_connection_t *c
1177 ** @param xcb_xvmc_subpicture_t subpicture_id
1178 ** @returns xcb_void_cookie_t
1179 **
1180 *****************************************************************************/
1181
1182 xcb_void_cookie_t
1183 xcb_xvmc_destroy_subpicture_checked (xcb_connection_t *c /**< */,
1184 xcb_xvmc_subpicture_t subpicture_id /**< */)
1185 {
1186 static const xcb_protocol_request_t xcb_req = {
1187 /* count */ 2,
1188 /* ext */ &xcb_xvmc_id,
1189 /* opcode */ XCB_XVMC_DESTROY_SUBPICTURE,
1190 /* isvoid */ 1
1191 };
1192
1193 struct iovec xcb_parts[4];
1194 xcb_void_cookie_t xcb_ret;
1195 xcb_xvmc_destroy_subpicture_request_t xcb_out;
1196
1197 xcb_out.subpicture_id = subpicture_id;
1198
1199 xcb_parts[2].iov_base = (char *) &xcb_out;
1200 xcb_parts[2].iov_len = sizeof(xcb_out);
1201 xcb_parts[3].iov_base = 0;
1202 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1203
1204 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1205 return xcb_ret;
1206 }
1207
1208
1209 /*****************************************************************************
1210 **
1211 ** xcb_void_cookie_t xcb_xvmc_destroy_subpicture
1212 **
1213 ** @param xcb_connection_t *c
1214 ** @param xcb_xvmc_subpicture_t subpicture_id
1215 ** @returns xcb_void_cookie_t
1216 **
1217 *****************************************************************************/
1218
1219 xcb_void_cookie_t
1220 xcb_xvmc_destroy_subpicture (xcb_connection_t *c /**< */,
1221 xcb_xvmc_subpicture_t subpicture_id /**< */)
1222 {
1223 static const xcb_protocol_request_t xcb_req = {
1224 /* count */ 2,
1225 /* ext */ &xcb_xvmc_id,
1226 /* opcode */ XCB_XVMC_DESTROY_SUBPICTURE,
1227 /* isvoid */ 1
1228 };
1229
1230 struct iovec xcb_parts[4];
1231 xcb_void_cookie_t xcb_ret;
1232 xcb_xvmc_destroy_subpicture_request_t xcb_out;
1233
1234 xcb_out.subpicture_id = subpicture_id;
1235
1236 xcb_parts[2].iov_base = (char *) &xcb_out;
1237 xcb_parts[2].iov_len = sizeof(xcb_out);
1238 xcb_parts[3].iov_base = 0;
1239 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1240
1241 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1242 return xcb_ret;
1243 }
1244
1245 int
1246 xcb_xvmc_list_subpicture_types_sizeof (const void *_buffer /**< */)
1247 {
1248 char *xcb_tmp = (char *)_buffer;
1249 const xcb_xvmc_list_subpicture_types_reply_t *_aux = (xcb_xvmc_list_subpicture_types_reply_t *)_buffer;
1250 unsigned int xcb_buffer_len = 0;
1251 unsigned int xcb_block_len = 0;
1252 unsigned int xcb_pad = 0;
1253 unsigned int xcb_align_to;
1254
1255
1256 xcb_block_len += sizeof(xcb_xvmc_list_subpicture_types_reply_t);
1257 xcb_tmp += xcb_block_len;
1258 /* types */
1259 xcb_block_len += _aux->num * sizeof(xcb_xv_image_format_info_t);
1260 xcb_tmp += xcb_block_len;
1261 xcb_align_to = ALIGNOF(xcb_xv_image_format_info_t);
1262 /* insert padding */
1263 xcb_pad = -xcb_block_len & (xcb_align_to - 1);
1264 xcb_buffer_len += xcb_block_len + xcb_pad;
1265 if (0 != xcb_pad) {
1266 xcb_tmp += xcb_pad;
1267 xcb_pad = 0;
1268 }
1269 xcb_block_len = 0;
1270
1271 return xcb_buffer_len;
1272 }
1273
1274
1275 /*****************************************************************************
1276 **
1277 ** xcb_xvmc_list_subpicture_types_cookie_t xcb_xvmc_list_subpicture_types
1278 **
1279 ** @param xcb_connection_t *c
1280 ** @param xcb_xv_port_t port_id
1281 ** @param xcb_xvmc_surface_t surface_id
1282 ** @returns xcb_xvmc_list_subpicture_types_cookie_t
1283 **
1284 *****************************************************************************/
1285
1286 xcb_xvmc_list_subpicture_types_cookie_t
1287 xcb_xvmc_list_subpicture_types (xcb_connection_t *c /**< */,
1288 xcb_xv_port_t port_id /**< */,
1289 xcb_xvmc_surface_t surface_id /**< */)
1290 {
1291 static const xcb_protocol_request_t xcb_req = {
1292 /* count */ 2,
1293 /* ext */ &xcb_xvmc_id,
1294 /* opcode */ XCB_XVMC_LIST_SUBPICTURE_TYPES,
1295 /* isvoid */ 0
1296 };
1297
1298 struct iovec xcb_parts[4];
1299 xcb_xvmc_list_subpicture_types_cookie_t xcb_ret;
1300 xcb_xvmc_list_subpicture_types_request_t xcb_out;
1301
1302 xcb_out.port_id = port_id;
1303 xcb_out.surface_id = surface_id;
1304
1305 xcb_parts[2].iov_base = (char *) &xcb_out;
1306 xcb_parts[2].iov_len = sizeof(xcb_out);
1307 xcb_parts[3].iov_base = 0;
1308 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1309
1310 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
1311 return xcb_ret;
1312 }
1313
1314
1315 /*****************************************************************************
1316 **
1317 ** xcb_xvmc_list_subpicture_types_cookie_t xcb_xvmc_list_subpicture_types_unchecked
1318 **
1319 ** @param xcb_connection_t *c
1320 ** @param xcb_xv_port_t port_id
1321 ** @param xcb_xvmc_surface_t surface_id
1322 ** @returns xcb_xvmc_list_subpicture_types_cookie_t
1323 **
1324 *****************************************************************************/
1325
1326 xcb_xvmc_list_subpicture_types_cookie_t
1327 xcb_xvmc_list_subpicture_types_unchecked (xcb_connection_t *c /**< */,
1328 xcb_xv_port_t port_id /**< */,
1329 xcb_xvmc_surface_t surface_id /**< */)
1330 {
1331 static const xcb_protocol_request_t xcb_req = {
1332 /* count */ 2,
1333 /* ext */ &xcb_xvmc_id,
1334 /* opcode */ XCB_XVMC_LIST_SUBPICTURE_TYPES,
1335 /* isvoid */ 0
1336 };
1337
1338 struct iovec xcb_parts[4];
1339 xcb_xvmc_list_subpicture_types_cookie_t xcb_ret;
1340 xcb_xvmc_list_subpicture_types_request_t xcb_out;
1341
1342 xcb_out.port_id = port_id;
1343 xcb_out.surface_id = surface_id;
1344
1345 xcb_parts[2].iov_base = (char *) &xcb_out;
1346 xcb_parts[2].iov_len = sizeof(xcb_out);
1347 xcb_parts[3].iov_base = 0;
1348 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
1349
1350 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
1351 return xcb_ret;
1352 }
1353
1354
1355 /*****************************************************************************
1356 **
1357 ** xcb_xv_image_format_info_t * xcb_xvmc_list_subpicture_types_types
1358 **
1359 ** @param const xcb_xvmc_list_subpicture_types_reply_t *R
1360 ** @returns xcb_xv_image_format_info_t *
1361 **
1362 *****************************************************************************/
1363
1364 xcb_xv_image_format_info_t *
1365 xcb_xvmc_list_subpicture_types_types (const xcb_xvmc_list_subpicture_types_reply_t *R /**< */)
1366 {
1367 return (xcb_xv_image_format_info_t *) (R + 1);
1368 }
1369
1370
1371 /*****************************************************************************
1372 **
1373 ** int xcb_xvmc_list_subpicture_types_types_length
1374 **
1375 ** @param const xcb_xvmc_list_subpicture_types_reply_t *R
1376 ** @returns int
1377 **
1378 *****************************************************************************/
1379
1380 int
1381 xcb_xvmc_list_subpicture_types_types_length (const xcb_xvmc_list_subpicture_types_reply_t *R /**< */)
1382 {
1383 return R->num;
1384 }
1385
1386
1387 /*****************************************************************************
1388 **
1389 ** xcb_xv_image_format_info_iterator_t xcb_xvmc_list_subpicture_types_types_iterator
1390 **
1391 ** @param const xcb_xvmc_list_subpicture_types_reply_t *R
1392 ** @returns xcb_xv_image_format_info_iterator_t
1393 **
1394 *****************************************************************************/
1395
1396 xcb_xv_image_format_info_iterator_t
1397 xcb_xvmc_list_subpicture_types_types_iterator (const xcb_xvmc_list_subpicture_types_reply_t *R /**< */)
1398 {
1399 xcb_xv_image_format_info_iterator_t i;
1400 i.data = (xcb_xv_image_format_info_t *) (R + 1);
1401 i.rem = R->num;
1402 i.index = (char *) i.data - (char *) R;
1403 return i;
1404 }
1405
1406
1407 /*****************************************************************************
1408 **
1409 ** xcb_xvmc_list_subpicture_types_reply_t * xcb_xvmc_list_subpicture_types_reply
1410 **
1411 ** @param xcb_connection_t *c
1412 ** @param xcb_xvmc_list_subpicture_types_cookie_t cookie
1413 ** @param xcb_generic_error_t **e
1414 ** @returns xcb_xvmc_list_subpicture_types_reply_t *
1415 **
1416 *****************************************************************************/
1417
1418 xcb_xvmc_list_subpicture_types_reply_t *
1419 xcb_xvmc_list_subpicture_types_reply (xcb_connection_t *c /**< */,
1420 xcb_xvmc_list_subpicture_types_cookie_t cookie /**< */,
1421 xcb_generic_error_t **e /**< */)
1422 {
1423 return (xcb_xvmc_list_subpicture_types_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
1424 }
1425
1426