master
ブランチ master
ShaderPlayground / deps / xlibre / include / xcb / xvmc.h
24 KB、868行 生 Blame 履歴
1/*
2 * This file generated automatically from xvmc.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_XvMC_API XCB XvMC API
8 * @brief XvMC XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XVMC_H
13#define __XVMC_H
14
15#include "xcb.h"
16#include "xv.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define XCB_XVMC_MAJOR_VERSION 1
23#define XCB_XVMC_MINOR_VERSION 1
24
25extern xcb_extension_t xcb_xvmc_id;
26
27typedef uint32_t xcb_xvmc_context_t;
28
29/**
30 * @brief xcb_xvmc_context_iterator_t
31 **/
32typedef struct xcb_xvmc_context_iterator_t {
33 xcb_xvmc_context_t *data;
34 int rem;
35 int index;
36} xcb_xvmc_context_iterator_t;
37
38typedef uint32_t xcb_xvmc_surface_t;
39
40/**
41 * @brief xcb_xvmc_surface_iterator_t
42 **/
43typedef struct xcb_xvmc_surface_iterator_t {
44 xcb_xvmc_surface_t *data;
45 int rem;
46 int index;
47} xcb_xvmc_surface_iterator_t;
48
49typedef uint32_t xcb_xvmc_subpicture_t;
50
51/**
52 * @brief xcb_xvmc_subpicture_iterator_t
53 **/
54typedef struct xcb_xvmc_subpicture_iterator_t {
55 xcb_xvmc_subpicture_t *data;
56 int rem;
57 int index;
58} xcb_xvmc_subpicture_iterator_t;
59
60/**
61 * @brief xcb_xvmc_surface_info_t
62 **/
63typedef struct xcb_xvmc_surface_info_t {
64 xcb_xvmc_surface_t id;
65 uint16_t chroma_format;
66 uint16_t pad0;
67 uint16_t max_width;
68 uint16_t max_height;
69 uint16_t subpicture_max_width;
70 uint16_t subpicture_max_height;
71 uint32_t mc_type;
72 uint32_t flags;
73} xcb_xvmc_surface_info_t;
74
75/**
76 * @brief xcb_xvmc_surface_info_iterator_t
77 **/
78typedef struct xcb_xvmc_surface_info_iterator_t {
79 xcb_xvmc_surface_info_t *data;
80 int rem;
81 int index;
82} xcb_xvmc_surface_info_iterator_t;
83
84/**
85 * @brief xcb_xvmc_query_version_cookie_t
86 **/
87typedef struct xcb_xvmc_query_version_cookie_t {
88 unsigned int sequence;
89} xcb_xvmc_query_version_cookie_t;
90
91/** Opcode for xcb_xvmc_query_version. */
92#define XCB_XVMC_QUERY_VERSION 0
93
94/**
95 * @brief xcb_xvmc_query_version_request_t
96 **/
97typedef struct xcb_xvmc_query_version_request_t {
98 uint8_t major_opcode;
99 uint8_t minor_opcode;
100 uint16_t length;
101} xcb_xvmc_query_version_request_t;
102
103/**
104 * @brief xcb_xvmc_query_version_reply_t
105 **/
106typedef struct xcb_xvmc_query_version_reply_t {
107 uint8_t response_type;
108 uint8_t pad0;
109 uint16_t sequence;
110 uint32_t length;
111 uint32_t major;
112 uint32_t minor;
113} xcb_xvmc_query_version_reply_t;
114
115/**
116 * @brief xcb_xvmc_list_surface_types_cookie_t
117 **/
118typedef struct xcb_xvmc_list_surface_types_cookie_t {
119 unsigned int sequence;
120} xcb_xvmc_list_surface_types_cookie_t;
121
122/** Opcode for xcb_xvmc_list_surface_types. */
123#define XCB_XVMC_LIST_SURFACE_TYPES 1
124
125/**
126 * @brief xcb_xvmc_list_surface_types_request_t
127 **/
128typedef struct xcb_xvmc_list_surface_types_request_t {
129 uint8_t major_opcode;
130 uint8_t minor_opcode;
131 uint16_t length;
132 xcb_xv_port_t port_id;
133} xcb_xvmc_list_surface_types_request_t;
134
135/**
136 * @brief xcb_xvmc_list_surface_types_reply_t
137 **/
138typedef struct xcb_xvmc_list_surface_types_reply_t {
139 uint8_t response_type;
140 uint8_t pad0;
141 uint16_t sequence;
142 uint32_t length;
143 uint32_t num;
144 uint8_t pad1[20];
145} xcb_xvmc_list_surface_types_reply_t;
146
147/**
148 * @brief xcb_xvmc_create_context_cookie_t
149 **/
150typedef struct xcb_xvmc_create_context_cookie_t {
151 unsigned int sequence;
152} xcb_xvmc_create_context_cookie_t;
153
154/** Opcode for xcb_xvmc_create_context. */
155#define XCB_XVMC_CREATE_CONTEXT 2
156
157/**
158 * @brief xcb_xvmc_create_context_request_t
159 **/
160typedef struct xcb_xvmc_create_context_request_t {
161 uint8_t major_opcode;
162 uint8_t minor_opcode;
163 uint16_t length;
164 xcb_xvmc_context_t context_id;
165 xcb_xv_port_t port_id;
166 xcb_xvmc_surface_t surface_id;
167 uint16_t width;
168 uint16_t height;
169 uint32_t flags;
170} xcb_xvmc_create_context_request_t;
171
172/**
173 * @brief xcb_xvmc_create_context_reply_t
174 **/
175typedef struct xcb_xvmc_create_context_reply_t {
176 uint8_t response_type;
177 uint8_t pad0;
178 uint16_t sequence;
179 uint32_t length;
180 uint16_t width_actual;
181 uint16_t height_actual;
182 uint32_t flags_return;
183 uint8_t pad1[20];
184} xcb_xvmc_create_context_reply_t;
185
186/** Opcode for xcb_xvmc_destroy_context. */
187#define XCB_XVMC_DESTROY_CONTEXT 3
188
189/**
190 * @brief xcb_xvmc_destroy_context_request_t
191 **/
192typedef struct xcb_xvmc_destroy_context_request_t {
193 uint8_t major_opcode;
194 uint8_t minor_opcode;
195 uint16_t length;
196 xcb_xvmc_context_t context_id;
197} xcb_xvmc_destroy_context_request_t;
198
199/**
200 * @brief xcb_xvmc_create_surface_cookie_t
201 **/
202typedef struct xcb_xvmc_create_surface_cookie_t {
203 unsigned int sequence;
204} xcb_xvmc_create_surface_cookie_t;
205
206/** Opcode for xcb_xvmc_create_surface. */
207#define XCB_XVMC_CREATE_SURFACE 4
208
209/**
210 * @brief xcb_xvmc_create_surface_request_t
211 **/
212typedef struct xcb_xvmc_create_surface_request_t {
213 uint8_t major_opcode;
214 uint8_t minor_opcode;
215 uint16_t length;
216 xcb_xvmc_surface_t surface_id;
217 xcb_xvmc_context_t context_id;
218} xcb_xvmc_create_surface_request_t;
219
220/**
221 * @brief xcb_xvmc_create_surface_reply_t
222 **/
223typedef struct xcb_xvmc_create_surface_reply_t {
224 uint8_t response_type;
225 uint8_t pad0;
226 uint16_t sequence;
227 uint32_t length;
228 uint8_t pad1[24];
229} xcb_xvmc_create_surface_reply_t;
230
231/** Opcode for xcb_xvmc_destroy_surface. */
232#define XCB_XVMC_DESTROY_SURFACE 5
233
234/**
235 * @brief xcb_xvmc_destroy_surface_request_t
236 **/
237typedef struct xcb_xvmc_destroy_surface_request_t {
238 uint8_t major_opcode;
239 uint8_t minor_opcode;
240 uint16_t length;
241 xcb_xvmc_surface_t surface_id;
242} xcb_xvmc_destroy_surface_request_t;
243
244/**
245 * @brief xcb_xvmc_create_subpicture_cookie_t
246 **/
247typedef struct xcb_xvmc_create_subpicture_cookie_t {
248 unsigned int sequence;
249} xcb_xvmc_create_subpicture_cookie_t;
250
251/** Opcode for xcb_xvmc_create_subpicture. */
252#define XCB_XVMC_CREATE_SUBPICTURE 6
253
254/**
255 * @brief xcb_xvmc_create_subpicture_request_t
256 **/
257typedef struct xcb_xvmc_create_subpicture_request_t {
258 uint8_t major_opcode;
259 uint8_t minor_opcode;
260 uint16_t length;
261 xcb_xvmc_subpicture_t subpicture_id;
262 xcb_xvmc_context_t context;
263 uint32_t xvimage_id;
264 uint16_t width;
265 uint16_t height;
266} xcb_xvmc_create_subpicture_request_t;
267
268/**
269 * @brief xcb_xvmc_create_subpicture_reply_t
270 **/
271typedef struct xcb_xvmc_create_subpicture_reply_t {
272 uint8_t response_type;
273 uint8_t pad0;
274 uint16_t sequence;
275 uint32_t length;
276 uint16_t width_actual;
277 uint16_t height_actual;
278 uint16_t num_palette_entries;
279 uint16_t entry_bytes;
280 uint8_t component_order[4];
281 uint8_t pad1[12];
282} xcb_xvmc_create_subpicture_reply_t;
283
284/** Opcode for xcb_xvmc_destroy_subpicture. */
285#define XCB_XVMC_DESTROY_SUBPICTURE 7
286
287/**
288 * @brief xcb_xvmc_destroy_subpicture_request_t
289 **/
290typedef struct xcb_xvmc_destroy_subpicture_request_t {
291 uint8_t major_opcode;
292 uint8_t minor_opcode;
293 uint16_t length;
294 xcb_xvmc_subpicture_t subpicture_id;
295} xcb_xvmc_destroy_subpicture_request_t;
296
297/**
298 * @brief xcb_xvmc_list_subpicture_types_cookie_t
299 **/
300typedef struct xcb_xvmc_list_subpicture_types_cookie_t {
301 unsigned int sequence;
302} xcb_xvmc_list_subpicture_types_cookie_t;
303
304/** Opcode for xcb_xvmc_list_subpicture_types. */
305#define XCB_XVMC_LIST_SUBPICTURE_TYPES 8
306
307/**
308 * @brief xcb_xvmc_list_subpicture_types_request_t
309 **/
310typedef struct xcb_xvmc_list_subpicture_types_request_t {
311 uint8_t major_opcode;
312 uint8_t minor_opcode;
313 uint16_t length;
314 xcb_xv_port_t port_id;
315 xcb_xvmc_surface_t surface_id;
316} xcb_xvmc_list_subpicture_types_request_t;
317
318/**
319 * @brief xcb_xvmc_list_subpicture_types_reply_t
320 **/
321typedef struct xcb_xvmc_list_subpicture_types_reply_t {
322 uint8_t response_type;
323 uint8_t pad0;
324 uint16_t sequence;
325 uint32_t length;
326 uint32_t num;
327 uint8_t pad1[20];
328} xcb_xvmc_list_subpicture_types_reply_t;
329
330/**
331 * Get the next element of the iterator
332 * @param i Pointer to a xcb_xvmc_context_iterator_t
333 *
334 * Get the next element in the iterator. The member rem is
335 * decreased by one. The member data points to the next
336 * element. The member index is increased by sizeof(xcb_xvmc_context_t)
337 */
338void
339xcb_xvmc_context_next (xcb_xvmc_context_iterator_t *i);
340
341/**
342 * Return the iterator pointing to the last element
343 * @param i An xcb_xvmc_context_iterator_t
344 * @return The iterator pointing to the last element
345 *
346 * Set the current element in the iterator to the last element.
347 * The member rem is set to 0. The member data points to the
348 * last element.
349 */
350xcb_generic_iterator_t
351xcb_xvmc_context_end (xcb_xvmc_context_iterator_t i);
352
353/**
354 * Get the next element of the iterator
355 * @param i Pointer to a xcb_xvmc_surface_iterator_t
356 *
357 * Get the next element in the iterator. The member rem is
358 * decreased by one. The member data points to the next
359 * element. The member index is increased by sizeof(xcb_xvmc_surface_t)
360 */
361void
362xcb_xvmc_surface_next (xcb_xvmc_surface_iterator_t *i);
363
364/**
365 * Return the iterator pointing to the last element
366 * @param i An xcb_xvmc_surface_iterator_t
367 * @return The iterator pointing to the last element
368 *
369 * Set the current element in the iterator to the last element.
370 * The member rem is set to 0. The member data points to the
371 * last element.
372 */
373xcb_generic_iterator_t
374xcb_xvmc_surface_end (xcb_xvmc_surface_iterator_t i);
375
376/**
377 * Get the next element of the iterator
378 * @param i Pointer to a xcb_xvmc_subpicture_iterator_t
379 *
380 * Get the next element in the iterator. The member rem is
381 * decreased by one. The member data points to the next
382 * element. The member index is increased by sizeof(xcb_xvmc_subpicture_t)
383 */
384void
385xcb_xvmc_subpicture_next (xcb_xvmc_subpicture_iterator_t *i);
386
387/**
388 * Return the iterator pointing to the last element
389 * @param i An xcb_xvmc_subpicture_iterator_t
390 * @return The iterator pointing to the last element
391 *
392 * Set the current element in the iterator to the last element.
393 * The member rem is set to 0. The member data points to the
394 * last element.
395 */
396xcb_generic_iterator_t
397xcb_xvmc_subpicture_end (xcb_xvmc_subpicture_iterator_t i);
398
399/**
400 * Get the next element of the iterator
401 * @param i Pointer to a xcb_xvmc_surface_info_iterator_t
402 *
403 * Get the next element in the iterator. The member rem is
404 * decreased by one. The member data points to the next
405 * element. The member index is increased by sizeof(xcb_xvmc_surface_info_t)
406 */
407void
408xcb_xvmc_surface_info_next (xcb_xvmc_surface_info_iterator_t *i);
409
410/**
411 * Return the iterator pointing to the last element
412 * @param i An xcb_xvmc_surface_info_iterator_t
413 * @return The iterator pointing to the last element
414 *
415 * Set the current element in the iterator to the last element.
416 * The member rem is set to 0. The member data points to the
417 * last element.
418 */
419xcb_generic_iterator_t
420xcb_xvmc_surface_info_end (xcb_xvmc_surface_info_iterator_t i);
421
422/**
423 *
424 * @param c The connection
425 * @return A cookie
426 *
427 * Delivers a request to the X server.
428 *
429 */
430xcb_xvmc_query_version_cookie_t
431xcb_xvmc_query_version (xcb_connection_t *c);
432
433/**
434 *
435 * @param c The connection
436 * @return A cookie
437 *
438 * Delivers a request to the X server.
439 *
440 * This form can be used only if the request will cause
441 * a reply to be generated. Any returned error will be
442 * placed in the event queue.
443 */
444xcb_xvmc_query_version_cookie_t
445xcb_xvmc_query_version_unchecked (xcb_connection_t *c);
446
447/**
448 * Return the reply
449 * @param c The connection
450 * @param cookie The cookie
451 * @param e The xcb_generic_error_t supplied
452 *
453 * Returns the reply of the request asked by
454 *
455 * The parameter @p e supplied to this function must be NULL if
456 * xcb_xvmc_query_version_unchecked(). is used.
457 * Otherwise, it stores the error if any.
458 *
459 * The returned value must be freed by the caller using free().
460 */
461xcb_xvmc_query_version_reply_t *
462xcb_xvmc_query_version_reply (xcb_connection_t *c,
463 xcb_xvmc_query_version_cookie_t cookie /**< */,
464 xcb_generic_error_t **e);
465
466int
467xcb_xvmc_list_surface_types_sizeof (const void *_buffer);
468
469/**
470 *
471 * @param c The connection
472 * @return A cookie
473 *
474 * Delivers a request to the X server.
475 *
476 */
477xcb_xvmc_list_surface_types_cookie_t
478xcb_xvmc_list_surface_types (xcb_connection_t *c,
479 xcb_xv_port_t port_id);
480
481/**
482 *
483 * @param c The connection
484 * @return A cookie
485 *
486 * Delivers a request to the X server.
487 *
488 * This form can be used only if the request will cause
489 * a reply to be generated. Any returned error will be
490 * placed in the event queue.
491 */
492xcb_xvmc_list_surface_types_cookie_t
493xcb_xvmc_list_surface_types_unchecked (xcb_connection_t *c,
494 xcb_xv_port_t port_id);
495
496xcb_xvmc_surface_info_t *
497xcb_xvmc_list_surface_types_surfaces (const xcb_xvmc_list_surface_types_reply_t *R);
498
499int
500xcb_xvmc_list_surface_types_surfaces_length (const xcb_xvmc_list_surface_types_reply_t *R);
501
502xcb_xvmc_surface_info_iterator_t
503xcb_xvmc_list_surface_types_surfaces_iterator (const xcb_xvmc_list_surface_types_reply_t *R);
504
505/**
506 * Return the reply
507 * @param c The connection
508 * @param cookie The cookie
509 * @param e The xcb_generic_error_t supplied
510 *
511 * Returns the reply of the request asked by
512 *
513 * The parameter @p e supplied to this function must be NULL if
514 * xcb_xvmc_list_surface_types_unchecked(). is used.
515 * Otherwise, it stores the error if any.
516 *
517 * The returned value must be freed by the caller using free().
518 */
519xcb_xvmc_list_surface_types_reply_t *
520xcb_xvmc_list_surface_types_reply (xcb_connection_t *c,
521 xcb_xvmc_list_surface_types_cookie_t cookie /**< */,
522 xcb_generic_error_t **e);
523
524int
525xcb_xvmc_create_context_sizeof (const void *_buffer);
526
527/**
528 *
529 * @param c The connection
530 * @return A cookie
531 *
532 * Delivers a request to the X server.
533 *
534 */
535xcb_xvmc_create_context_cookie_t
536xcb_xvmc_create_context (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/**
545 *
546 * @param c The connection
547 * @return A cookie
548 *
549 * Delivers a request to the X server.
550 *
551 * This form can be used only if the request will cause
552 * a reply to be generated. Any returned error will be
553 * placed in the event queue.
554 */
555xcb_xvmc_create_context_cookie_t
556xcb_xvmc_create_context_unchecked (xcb_connection_t *c,
557 xcb_xvmc_context_t context_id,
558 xcb_xv_port_t port_id,
559 xcb_xvmc_surface_t surface_id,
560 uint16_t width,
561 uint16_t height,
562 uint32_t flags);
563
564uint32_t *
565xcb_xvmc_create_context_priv_data (const xcb_xvmc_create_context_reply_t *R);
566
567int
568xcb_xvmc_create_context_priv_data_length (const xcb_xvmc_create_context_reply_t *R);
569
570xcb_generic_iterator_t
571xcb_xvmc_create_context_priv_data_end (const xcb_xvmc_create_context_reply_t *R);
572
573/**
574 * Return the reply
575 * @param c The connection
576 * @param cookie The cookie
577 * @param e The xcb_generic_error_t supplied
578 *
579 * Returns the reply of the request asked by
580 *
581 * The parameter @p e supplied to this function must be NULL if
582 * xcb_xvmc_create_context_unchecked(). is used.
583 * Otherwise, it stores the error if any.
584 *
585 * The returned value must be freed by the caller using free().
586 */
587xcb_xvmc_create_context_reply_t *
588xcb_xvmc_create_context_reply (xcb_connection_t *c,
589 xcb_xvmc_create_context_cookie_t cookie /**< */,
590 xcb_generic_error_t **e);
591
592/**
593 *
594 * @param c The connection
595 * @return A cookie
596 *
597 * Delivers a request to the X server.
598 *
599 * This form can be used only if the request will not cause
600 * a reply to be generated. Any returned error will be
601 * saved for handling by xcb_request_check().
602 */
603xcb_void_cookie_t
604xcb_xvmc_destroy_context_checked (xcb_connection_t *c,
605 xcb_xvmc_context_t context_id);
606
607/**
608 *
609 * @param c The connection
610 * @return A cookie
611 *
612 * Delivers a request to the X server.
613 *
614 */
615xcb_void_cookie_t
616xcb_xvmc_destroy_context (xcb_connection_t *c,
617 xcb_xvmc_context_t context_id);
618
619int
620xcb_xvmc_create_surface_sizeof (const void *_buffer);
621
622/**
623 *
624 * @param c The connection
625 * @return A cookie
626 *
627 * Delivers a request to the X server.
628 *
629 */
630xcb_xvmc_create_surface_cookie_t
631xcb_xvmc_create_surface (xcb_connection_t *c,
632 xcb_xvmc_surface_t surface_id,
633 xcb_xvmc_context_t context_id);
634
635/**
636 *
637 * @param c The connection
638 * @return A cookie
639 *
640 * Delivers a request to the X server.
641 *
642 * This form can be used only if the request will cause
643 * a reply to be generated. Any returned error will be
644 * placed in the event queue.
645 */
646xcb_xvmc_create_surface_cookie_t
647xcb_xvmc_create_surface_unchecked (xcb_connection_t *c,
648 xcb_xvmc_surface_t surface_id,
649 xcb_xvmc_context_t context_id);
650
651uint32_t *
652xcb_xvmc_create_surface_priv_data (const xcb_xvmc_create_surface_reply_t *R);
653
654int
655xcb_xvmc_create_surface_priv_data_length (const xcb_xvmc_create_surface_reply_t *R);
656
657xcb_generic_iterator_t
658xcb_xvmc_create_surface_priv_data_end (const xcb_xvmc_create_surface_reply_t *R);
659
660/**
661 * Return the reply
662 * @param c The connection
663 * @param cookie The cookie
664 * @param e The xcb_generic_error_t supplied
665 *
666 * Returns the reply of the request asked by
667 *
668 * The parameter @p e supplied to this function must be NULL if
669 * xcb_xvmc_create_surface_unchecked(). is used.
670 * Otherwise, it stores the error if any.
671 *
672 * The returned value must be freed by the caller using free().
673 */
674xcb_xvmc_create_surface_reply_t *
675xcb_xvmc_create_surface_reply (xcb_connection_t *c,
676 xcb_xvmc_create_surface_cookie_t cookie /**< */,
677 xcb_generic_error_t **e);
678
679/**
680 *
681 * @param c The connection
682 * @return A cookie
683 *
684 * Delivers a request to the X server.
685 *
686 * This form can be used only if the request will not cause
687 * a reply to be generated. Any returned error will be
688 * saved for handling by xcb_request_check().
689 */
690xcb_void_cookie_t
691xcb_xvmc_destroy_surface_checked (xcb_connection_t *c,
692 xcb_xvmc_surface_t surface_id);
693
694/**
695 *
696 * @param c The connection
697 * @return A cookie
698 *
699 * Delivers a request to the X server.
700 *
701 */
702xcb_void_cookie_t
703xcb_xvmc_destroy_surface (xcb_connection_t *c,
704 xcb_xvmc_surface_t surface_id);
705
706int
707xcb_xvmc_create_subpicture_sizeof (const void *_buffer);
708
709/**
710 *
711 * @param c The connection
712 * @return A cookie
713 *
714 * Delivers a request to the X server.
715 *
716 */
717xcb_xvmc_create_subpicture_cookie_t
718xcb_xvmc_create_subpicture (xcb_connection_t *c,
719 xcb_xvmc_subpicture_t subpicture_id,
720 xcb_xvmc_context_t context,
721 uint32_t xvimage_id,
722 uint16_t width,
723 uint16_t height);
724
725/**
726 *
727 * @param c The connection
728 * @return A cookie
729 *
730 * Delivers a request to the X server.
731 *
732 * This form can be used only if the request will cause
733 * a reply to be generated. Any returned error will be
734 * placed in the event queue.
735 */
736xcb_xvmc_create_subpicture_cookie_t
737xcb_xvmc_create_subpicture_unchecked (xcb_connection_t *c,
738 xcb_xvmc_subpicture_t subpicture_id,
739 xcb_xvmc_context_t context,
740 uint32_t xvimage_id,
741 uint16_t width,
742 uint16_t height);
743
744uint32_t *
745xcb_xvmc_create_subpicture_priv_data (const xcb_xvmc_create_subpicture_reply_t *R);
746
747int
748xcb_xvmc_create_subpicture_priv_data_length (const xcb_xvmc_create_subpicture_reply_t *R);
749
750xcb_generic_iterator_t
751xcb_xvmc_create_subpicture_priv_data_end (const xcb_xvmc_create_subpicture_reply_t *R);
752
753/**
754 * Return the reply
755 * @param c The connection
756 * @param cookie The cookie
757 * @param e The xcb_generic_error_t supplied
758 *
759 * Returns the reply of the request asked by
760 *
761 * The parameter @p e supplied to this function must be NULL if
762 * xcb_xvmc_create_subpicture_unchecked(). is used.
763 * Otherwise, it stores the error if any.
764 *
765 * The returned value must be freed by the caller using free().
766 */
767xcb_xvmc_create_subpicture_reply_t *
768xcb_xvmc_create_subpicture_reply (xcb_connection_t *c,
769 xcb_xvmc_create_subpicture_cookie_t cookie /**< */,
770 xcb_generic_error_t **e);
771
772/**
773 *
774 * @param c The connection
775 * @return A cookie
776 *
777 * Delivers a request to the X server.
778 *
779 * This form can be used only if the request will not cause
780 * a reply to be generated. Any returned error will be
781 * saved for handling by xcb_request_check().
782 */
783xcb_void_cookie_t
784xcb_xvmc_destroy_subpicture_checked (xcb_connection_t *c,
785 xcb_xvmc_subpicture_t subpicture_id);
786
787/**
788 *
789 * @param c The connection
790 * @return A cookie
791 *
792 * Delivers a request to the X server.
793 *
794 */
795xcb_void_cookie_t
796xcb_xvmc_destroy_subpicture (xcb_connection_t *c,
797 xcb_xvmc_subpicture_t subpicture_id);
798
799int
800xcb_xvmc_list_subpicture_types_sizeof (const void *_buffer);
801
802/**
803 *
804 * @param c The connection
805 * @return A cookie
806 *
807 * Delivers a request to the X server.
808 *
809 */
810xcb_xvmc_list_subpicture_types_cookie_t
811xcb_xvmc_list_subpicture_types (xcb_connection_t *c,
812 xcb_xv_port_t port_id,
813 xcb_xvmc_surface_t surface_id);
814
815/**
816 *
817 * @param c The connection
818 * @return A cookie
819 *
820 * Delivers a request to the X server.
821 *
822 * This form can be used only if the request will cause
823 * a reply to be generated. Any returned error will be
824 * placed in the event queue.
825 */
826xcb_xvmc_list_subpicture_types_cookie_t
827xcb_xvmc_list_subpicture_types_unchecked (xcb_connection_t *c,
828 xcb_xv_port_t port_id,
829 xcb_xvmc_surface_t surface_id);
830
831xcb_xv_image_format_info_t *
832xcb_xvmc_list_subpicture_types_types (const xcb_xvmc_list_subpicture_types_reply_t *R);
833
834int
835xcb_xvmc_list_subpicture_types_types_length (const xcb_xvmc_list_subpicture_types_reply_t *R);
836
837xcb_xv_image_format_info_iterator_t
838xcb_xvmc_list_subpicture_types_types_iterator (const xcb_xvmc_list_subpicture_types_reply_t *R);
839
840/**
841 * Return the reply
842 * @param c The connection
843 * @param cookie The cookie
844 * @param e The xcb_generic_error_t supplied
845 *
846 * Returns the reply of the request asked by
847 *
848 * The parameter @p e supplied to this function must be NULL if
849 * xcb_xvmc_list_subpicture_types_unchecked(). is used.
850 * Otherwise, it stores the error if any.
851 *
852 * The returned value must be freed by the caller using free().
853 */
854xcb_xvmc_list_subpicture_types_reply_t *
855xcb_xvmc_list_subpicture_types_reply (xcb_connection_t *c,
856 xcb_xvmc_list_subpicture_types_cookie_t cookie /**< */,
857 xcb_generic_error_t **e);
858
859
860#ifdef __cplusplus
861}
862#endif
863
864#endif
865
866/**
867 * @}
868 */