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