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