github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/xcb/xv.h (about)

     1  /*
     2   * This file generated automatically from xv.xml by c_client.py.
     3   * Edit at your peril.
     4   */
     5  
     6  /**
     7   * @defgroup XCB_Xv_API XCB Xv API
     8   * @brief Xv XCB Protocol Implementation.
     9   * @{
    10   **/
    11  
    12  #ifndef __XV_H
    13  #define __XV_H
    14  
    15  #include "xcb.h"
    16  #include "xproto.h"
    17  #include "shm.h"
    18  
    19  #ifdef __cplusplus
    20  extern "C" {
    21  #endif
    22  
    23  #define XCB_XV_MAJOR_VERSION 2
    24  #define XCB_XV_MINOR_VERSION 2
    25  
    26  extern xcb_extension_t xcb_xv_id;
    27  
    28  typedef uint32_t xcb_xv_port_t;
    29  
    30  /**
    31   * @brief xcb_xv_port_iterator_t
    32   **/
    33  typedef struct xcb_xv_port_iterator_t {
    34      xcb_xv_port_t *data;
    35      int            rem;
    36      int            index;
    37  } xcb_xv_port_iterator_t;
    38  
    39  typedef uint32_t xcb_xv_encoding_t;
    40  
    41  /**
    42   * @brief xcb_xv_encoding_iterator_t
    43   **/
    44  typedef struct xcb_xv_encoding_iterator_t {
    45      xcb_xv_encoding_t *data;
    46      int                rem;
    47      int                index;
    48  } xcb_xv_encoding_iterator_t;
    49  
    50  typedef enum xcb_xv_type_t {
    51      XCB_XV_TYPE_INPUT_MASK = 1,
    52      XCB_XV_TYPE_OUTPUT_MASK = 2,
    53      XCB_XV_TYPE_VIDEO_MASK = 4,
    54      XCB_XV_TYPE_STILL_MASK = 8,
    55      XCB_XV_TYPE_IMAGE_MASK = 16
    56  } xcb_xv_type_t;
    57  
    58  typedef enum xcb_xv_image_format_info_type_t {
    59      XCB_XV_IMAGE_FORMAT_INFO_TYPE_RGB = 0,
    60      XCB_XV_IMAGE_FORMAT_INFO_TYPE_YUV = 1
    61  } xcb_xv_image_format_info_type_t;
    62  
    63  typedef enum xcb_xv_image_format_info_format_t {
    64      XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PACKED = 0,
    65      XCB_XV_IMAGE_FORMAT_INFO_FORMAT_PLANAR = 1
    66  } xcb_xv_image_format_info_format_t;
    67  
    68  typedef enum xcb_xv_attribute_flag_t {
    69      XCB_XV_ATTRIBUTE_FLAG_GETTABLE = 1,
    70      XCB_XV_ATTRIBUTE_FLAG_SETTABLE = 2
    71  } xcb_xv_attribute_flag_t;
    72  
    73  typedef enum xcb_xv_video_notify_reason_t {
    74      XCB_XV_VIDEO_NOTIFY_REASON_STARTED = 0,
    75      XCB_XV_VIDEO_NOTIFY_REASON_STOPPED = 1,
    76      XCB_XV_VIDEO_NOTIFY_REASON_BUSY = 2,
    77      XCB_XV_VIDEO_NOTIFY_REASON_PREEMPTED = 3,
    78      XCB_XV_VIDEO_NOTIFY_REASON_HARD_ERROR = 4
    79  } xcb_xv_video_notify_reason_t;
    80  
    81  typedef enum xcb_xv_scanline_order_t {
    82      XCB_XV_SCANLINE_ORDER_TOP_TO_BOTTOM = 0,
    83      XCB_XV_SCANLINE_ORDER_BOTTOM_TO_TOP = 1
    84  } xcb_xv_scanline_order_t;
    85  
    86  typedef enum xcb_xv_grab_port_status_t {
    87      XCB_XV_GRAB_PORT_STATUS_SUCCESS = 0,
    88      XCB_XV_GRAB_PORT_STATUS_BAD_EXTENSION = 1,
    89      XCB_XV_GRAB_PORT_STATUS_ALREADY_GRABBED = 2,
    90      XCB_XV_GRAB_PORT_STATUS_INVALID_TIME = 3,
    91      XCB_XV_GRAB_PORT_STATUS_BAD_REPLY = 4,
    92      XCB_XV_GRAB_PORT_STATUS_BAD_ALLOC = 5
    93  } xcb_xv_grab_port_status_t;
    94  
    95  /**
    96   * @brief xcb_xv_rational_t
    97   **/
    98  typedef struct xcb_xv_rational_t {
    99      int32_t numerator;
   100      int32_t denominator;
   101  } xcb_xv_rational_t;
   102  
   103  /**
   104   * @brief xcb_xv_rational_iterator_t
   105   **/
   106  typedef struct xcb_xv_rational_iterator_t {
   107      xcb_xv_rational_t *data;
   108      int                rem;
   109      int                index;
   110  } xcb_xv_rational_iterator_t;
   111  
   112  /**
   113   * @brief xcb_xv_format_t
   114   **/
   115  typedef struct xcb_xv_format_t {
   116      xcb_visualid_t visual;
   117      uint8_t        depth;
   118      uint8_t        pad0[3];
   119  } xcb_xv_format_t;
   120  
   121  /**
   122   * @brief xcb_xv_format_iterator_t
   123   **/
   124  typedef struct xcb_xv_format_iterator_t {
   125      xcb_xv_format_t *data;
   126      int              rem;
   127      int              index;
   128  } xcb_xv_format_iterator_t;
   129  
   130  /**
   131   * @brief xcb_xv_adaptor_info_t
   132   **/
   133  typedef struct xcb_xv_adaptor_info_t {
   134      xcb_xv_port_t base_id;
   135      uint16_t      name_size;
   136      uint16_t      num_ports;
   137      uint16_t      num_formats;
   138      uint8_t       type;
   139      uint8_t       pad0;
   140  } xcb_xv_adaptor_info_t;
   141  
   142  /**
   143   * @brief xcb_xv_adaptor_info_iterator_t
   144   **/
   145  typedef struct xcb_xv_adaptor_info_iterator_t {
   146      xcb_xv_adaptor_info_t *data;
   147      int                    rem;
   148      int                    index;
   149  } xcb_xv_adaptor_info_iterator_t;
   150  
   151  /**
   152   * @brief xcb_xv_encoding_info_t
   153   **/
   154  typedef struct xcb_xv_encoding_info_t {
   155      xcb_xv_encoding_t encoding;
   156      uint16_t          name_size;
   157      uint16_t          width;
   158      uint16_t          height;
   159      uint8_t           pad0[2];
   160      xcb_xv_rational_t rate;
   161  } xcb_xv_encoding_info_t;
   162  
   163  /**
   164   * @brief xcb_xv_encoding_info_iterator_t
   165   **/
   166  typedef struct xcb_xv_encoding_info_iterator_t {
   167      xcb_xv_encoding_info_t *data;
   168      int                     rem;
   169      int                     index;
   170  } xcb_xv_encoding_info_iterator_t;
   171  
   172  /**
   173   * @brief xcb_xv_image_t
   174   **/
   175  typedef struct xcb_xv_image_t {
   176      uint32_t id;
   177      uint16_t width;
   178      uint16_t height;
   179      uint32_t data_size;
   180      uint32_t num_planes;
   181  } xcb_xv_image_t;
   182  
   183  /**
   184   * @brief xcb_xv_image_iterator_t
   185   **/
   186  typedef struct xcb_xv_image_iterator_t {
   187      xcb_xv_image_t *data;
   188      int             rem;
   189      int             index;
   190  } xcb_xv_image_iterator_t;
   191  
   192  /**
   193   * @brief xcb_xv_attribute_info_t
   194   **/
   195  typedef struct xcb_xv_attribute_info_t {
   196      uint32_t flags;
   197      int32_t  min;
   198      int32_t  max;
   199      uint32_t size;
   200  } xcb_xv_attribute_info_t;
   201  
   202  /**
   203   * @brief xcb_xv_attribute_info_iterator_t
   204   **/
   205  typedef struct xcb_xv_attribute_info_iterator_t {
   206      xcb_xv_attribute_info_t *data;
   207      int                      rem;
   208      int                      index;
   209  } xcb_xv_attribute_info_iterator_t;
   210  
   211  /**
   212   * @brief xcb_xv_image_format_info_t
   213   **/
   214  typedef struct xcb_xv_image_format_info_t {
   215      uint32_t id;
   216      uint8_t  type;
   217      uint8_t  byte_order;
   218      uint8_t  pad0[2];
   219      uint8_t  guid[16];
   220      uint8_t  bpp;
   221      uint8_t  num_planes;
   222      uint8_t  pad1[2];
   223      uint8_t  depth;
   224      uint8_t  pad2[3];
   225      uint32_t red_mask;
   226      uint32_t green_mask;
   227      uint32_t blue_mask;
   228      uint8_t  format;
   229      uint8_t  pad3[3];
   230      uint32_t y_sample_bits;
   231      uint32_t u_sample_bits;
   232      uint32_t v_sample_bits;
   233      uint32_t vhorz_y_period;
   234      uint32_t vhorz_u_period;
   235      uint32_t vhorz_v_period;
   236      uint32_t vvert_y_period;
   237      uint32_t vvert_u_period;
   238      uint32_t vvert_v_period;
   239      uint8_t  vcomp_order[32];
   240      uint8_t  vscanline_order;
   241      uint8_t  pad4[11];
   242  } xcb_xv_image_format_info_t;
   243  
   244  /**
   245   * @brief xcb_xv_image_format_info_iterator_t
   246   **/
   247  typedef struct xcb_xv_image_format_info_iterator_t {
   248      xcb_xv_image_format_info_t *data;
   249      int                         rem;
   250      int                         index;
   251  } xcb_xv_image_format_info_iterator_t;
   252  
   253  /** Opcode for xcb_xv_bad_port. */
   254  #define XCB_XV_BAD_PORT 0
   255  
   256  /**
   257   * @brief xcb_xv_bad_port_error_t
   258   **/
   259  typedef struct xcb_xv_bad_port_error_t {
   260      uint8_t  response_type;
   261      uint8_t  error_code;
   262      uint16_t sequence;
   263  } xcb_xv_bad_port_error_t;
   264  
   265  /** Opcode for xcb_xv_bad_encoding. */
   266  #define XCB_XV_BAD_ENCODING 1
   267  
   268  /**
   269   * @brief xcb_xv_bad_encoding_error_t
   270   **/
   271  typedef struct xcb_xv_bad_encoding_error_t {
   272      uint8_t  response_type;
   273      uint8_t  error_code;
   274      uint16_t sequence;
   275  } xcb_xv_bad_encoding_error_t;
   276  
   277  /** Opcode for xcb_xv_bad_control. */
   278  #define XCB_XV_BAD_CONTROL 2
   279  
   280  /**
   281   * @brief xcb_xv_bad_control_error_t
   282   **/
   283  typedef struct xcb_xv_bad_control_error_t {
   284      uint8_t  response_type;
   285      uint8_t  error_code;
   286      uint16_t sequence;
   287  } xcb_xv_bad_control_error_t;
   288  
   289  /** Opcode for xcb_xv_video_notify. */
   290  #define XCB_XV_VIDEO_NOTIFY 0
   291  
   292  /**
   293   * @brief xcb_xv_video_notify_event_t
   294   **/
   295  typedef struct xcb_xv_video_notify_event_t {
   296      uint8_t         response_type;
   297      uint8_t         reason;
   298      uint16_t        sequence;
   299      xcb_timestamp_t time;
   300      xcb_drawable_t  drawable;
   301      xcb_xv_port_t   port;
   302  } xcb_xv_video_notify_event_t;
   303  
   304  /** Opcode for xcb_xv_port_notify. */
   305  #define XCB_XV_PORT_NOTIFY 1
   306  
   307  /**
   308   * @brief xcb_xv_port_notify_event_t
   309   **/
   310  typedef struct xcb_xv_port_notify_event_t {
   311      uint8_t         response_type;
   312      uint8_t         pad0;
   313      uint16_t        sequence;
   314      xcb_timestamp_t time;
   315      xcb_xv_port_t   port;
   316      xcb_atom_t      attribute;
   317      int32_t         value;
   318  } xcb_xv_port_notify_event_t;
   319  
   320  /**
   321   * @brief xcb_xv_query_extension_cookie_t
   322   **/
   323  typedef struct xcb_xv_query_extension_cookie_t {
   324      unsigned int sequence;
   325  } xcb_xv_query_extension_cookie_t;
   326  
   327  /** Opcode for xcb_xv_query_extension. */
   328  #define XCB_XV_QUERY_EXTENSION 0
   329  
   330  /**
   331   * @brief xcb_xv_query_extension_request_t
   332   **/
   333  typedef struct xcb_xv_query_extension_request_t {
   334      uint8_t  major_opcode;
   335      uint8_t  minor_opcode;
   336      uint16_t length;
   337  } xcb_xv_query_extension_request_t;
   338  
   339  /**
   340   * @brief xcb_xv_query_extension_reply_t
   341   **/
   342  typedef struct xcb_xv_query_extension_reply_t {
   343      uint8_t  response_type;
   344      uint8_t  pad0;
   345      uint16_t sequence;
   346      uint32_t length;
   347      uint16_t major;
   348      uint16_t minor;
   349  } xcb_xv_query_extension_reply_t;
   350  
   351  /**
   352   * @brief xcb_xv_query_adaptors_cookie_t
   353   **/
   354  typedef struct xcb_xv_query_adaptors_cookie_t {
   355      unsigned int sequence;
   356  } xcb_xv_query_adaptors_cookie_t;
   357  
   358  /** Opcode for xcb_xv_query_adaptors. */
   359  #define XCB_XV_QUERY_ADAPTORS 1
   360  
   361  /**
   362   * @brief xcb_xv_query_adaptors_request_t
   363   **/
   364  typedef struct xcb_xv_query_adaptors_request_t {
   365      uint8_t      major_opcode;
   366      uint8_t      minor_opcode;
   367      uint16_t     length;
   368      xcb_window_t window;
   369  } xcb_xv_query_adaptors_request_t;
   370  
   371  /**
   372   * @brief xcb_xv_query_adaptors_reply_t
   373   **/
   374  typedef struct xcb_xv_query_adaptors_reply_t {
   375      uint8_t  response_type;
   376      uint8_t  pad0;
   377      uint16_t sequence;
   378      uint32_t length;
   379      uint16_t num_adaptors;
   380      uint8_t  pad1[22];
   381  } xcb_xv_query_adaptors_reply_t;
   382  
   383  /**
   384   * @brief xcb_xv_query_encodings_cookie_t
   385   **/
   386  typedef struct xcb_xv_query_encodings_cookie_t {
   387      unsigned int sequence;
   388  } xcb_xv_query_encodings_cookie_t;
   389  
   390  /** Opcode for xcb_xv_query_encodings. */
   391  #define XCB_XV_QUERY_ENCODINGS 2
   392  
   393  /**
   394   * @brief xcb_xv_query_encodings_request_t
   395   **/
   396  typedef struct xcb_xv_query_encodings_request_t {
   397      uint8_t       major_opcode;
   398      uint8_t       minor_opcode;
   399      uint16_t      length;
   400      xcb_xv_port_t port;
   401  } xcb_xv_query_encodings_request_t;
   402  
   403  /**
   404   * @brief xcb_xv_query_encodings_reply_t
   405   **/
   406  typedef struct xcb_xv_query_encodings_reply_t {
   407      uint8_t  response_type;
   408      uint8_t  pad0;
   409      uint16_t sequence;
   410      uint32_t length;
   411      uint16_t num_encodings;
   412      uint8_t  pad1[22];
   413  } xcb_xv_query_encodings_reply_t;
   414  
   415  /**
   416   * @brief xcb_xv_grab_port_cookie_t
   417   **/
   418  typedef struct xcb_xv_grab_port_cookie_t {
   419      unsigned int sequence;
   420  } xcb_xv_grab_port_cookie_t;
   421  
   422  /** Opcode for xcb_xv_grab_port. */
   423  #define XCB_XV_GRAB_PORT 3
   424  
   425  /**
   426   * @brief xcb_xv_grab_port_request_t
   427   **/
   428  typedef struct xcb_xv_grab_port_request_t {
   429      uint8_t         major_opcode;
   430      uint8_t         minor_opcode;
   431      uint16_t        length;
   432      xcb_xv_port_t   port;
   433      xcb_timestamp_t time;
   434  } xcb_xv_grab_port_request_t;
   435  
   436  /**
   437   * @brief xcb_xv_grab_port_reply_t
   438   **/
   439  typedef struct xcb_xv_grab_port_reply_t {
   440      uint8_t  response_type;
   441      uint8_t  result;
   442      uint16_t sequence;
   443      uint32_t length;
   444  } xcb_xv_grab_port_reply_t;
   445  
   446  /** Opcode for xcb_xv_ungrab_port. */
   447  #define XCB_XV_UNGRAB_PORT 4
   448  
   449  /**
   450   * @brief xcb_xv_ungrab_port_request_t
   451   **/
   452  typedef struct xcb_xv_ungrab_port_request_t {
   453      uint8_t         major_opcode;
   454      uint8_t         minor_opcode;
   455      uint16_t        length;
   456      xcb_xv_port_t   port;
   457      xcb_timestamp_t time;
   458  } xcb_xv_ungrab_port_request_t;
   459  
   460  /** Opcode for xcb_xv_put_video. */
   461  #define XCB_XV_PUT_VIDEO 5
   462  
   463  /**
   464   * @brief xcb_xv_put_video_request_t
   465   **/
   466  typedef struct xcb_xv_put_video_request_t {
   467      uint8_t        major_opcode;
   468      uint8_t        minor_opcode;
   469      uint16_t       length;
   470      xcb_xv_port_t  port;
   471      xcb_drawable_t drawable;
   472      xcb_gcontext_t gc;
   473      int16_t        vid_x;
   474      int16_t        vid_y;
   475      uint16_t       vid_w;
   476      uint16_t       vid_h;
   477      int16_t        drw_x;
   478      int16_t        drw_y;
   479      uint16_t       drw_w;
   480      uint16_t       drw_h;
   481  } xcb_xv_put_video_request_t;
   482  
   483  /** Opcode for xcb_xv_put_still. */
   484  #define XCB_XV_PUT_STILL 6
   485  
   486  /**
   487   * @brief xcb_xv_put_still_request_t
   488   **/
   489  typedef struct xcb_xv_put_still_request_t {
   490      uint8_t        major_opcode;
   491      uint8_t        minor_opcode;
   492      uint16_t       length;
   493      xcb_xv_port_t  port;
   494      xcb_drawable_t drawable;
   495      xcb_gcontext_t gc;
   496      int16_t        vid_x;
   497      int16_t        vid_y;
   498      uint16_t       vid_w;
   499      uint16_t       vid_h;
   500      int16_t        drw_x;
   501      int16_t        drw_y;
   502      uint16_t       drw_w;
   503      uint16_t       drw_h;
   504  } xcb_xv_put_still_request_t;
   505  
   506  /** Opcode for xcb_xv_get_video. */
   507  #define XCB_XV_GET_VIDEO 7
   508  
   509  /**
   510   * @brief xcb_xv_get_video_request_t
   511   **/
   512  typedef struct xcb_xv_get_video_request_t {
   513      uint8_t        major_opcode;
   514      uint8_t        minor_opcode;
   515      uint16_t       length;
   516      xcb_xv_port_t  port;
   517      xcb_drawable_t drawable;
   518      xcb_gcontext_t gc;
   519      int16_t        vid_x;
   520      int16_t        vid_y;
   521      uint16_t       vid_w;
   522      uint16_t       vid_h;
   523      int16_t        drw_x;
   524      int16_t        drw_y;
   525      uint16_t       drw_w;
   526      uint16_t       drw_h;
   527  } xcb_xv_get_video_request_t;
   528  
   529  /** Opcode for xcb_xv_get_still. */
   530  #define XCB_XV_GET_STILL 8
   531  
   532  /**
   533   * @brief xcb_xv_get_still_request_t
   534   **/
   535  typedef struct xcb_xv_get_still_request_t {
   536      uint8_t        major_opcode;
   537      uint8_t        minor_opcode;
   538      uint16_t       length;
   539      xcb_xv_port_t  port;
   540      xcb_drawable_t drawable;
   541      xcb_gcontext_t gc;
   542      int16_t        vid_x;
   543      int16_t        vid_y;
   544      uint16_t       vid_w;
   545      uint16_t       vid_h;
   546      int16_t        drw_x;
   547      int16_t        drw_y;
   548      uint16_t       drw_w;
   549      uint16_t       drw_h;
   550  } xcb_xv_get_still_request_t;
   551  
   552  /** Opcode for xcb_xv_stop_video. */
   553  #define XCB_XV_STOP_VIDEO 9
   554  
   555  /**
   556   * @brief xcb_xv_stop_video_request_t
   557   **/
   558  typedef struct xcb_xv_stop_video_request_t {
   559      uint8_t        major_opcode;
   560      uint8_t        minor_opcode;
   561      uint16_t       length;
   562      xcb_xv_port_t  port;
   563      xcb_drawable_t drawable;
   564  } xcb_xv_stop_video_request_t;
   565  
   566  /** Opcode for xcb_xv_select_video_notify. */
   567  #define XCB_XV_SELECT_VIDEO_NOTIFY 10
   568  
   569  /**
   570   * @brief xcb_xv_select_video_notify_request_t
   571   **/
   572  typedef struct xcb_xv_select_video_notify_request_t {
   573      uint8_t        major_opcode;
   574      uint8_t        minor_opcode;
   575      uint16_t       length;
   576      xcb_drawable_t drawable;
   577      uint8_t        onoff;
   578      uint8_t        pad0[3];
   579  } xcb_xv_select_video_notify_request_t;
   580  
   581  /** Opcode for xcb_xv_select_port_notify. */
   582  #define XCB_XV_SELECT_PORT_NOTIFY 11
   583  
   584  /**
   585   * @brief xcb_xv_select_port_notify_request_t
   586   **/
   587  typedef struct xcb_xv_select_port_notify_request_t {
   588      uint8_t       major_opcode;
   589      uint8_t       minor_opcode;
   590      uint16_t      length;
   591      xcb_xv_port_t port;
   592      uint8_t       onoff;
   593      uint8_t       pad0[3];
   594  } xcb_xv_select_port_notify_request_t;
   595  
   596  /**
   597   * @brief xcb_xv_query_best_size_cookie_t
   598   **/
   599  typedef struct xcb_xv_query_best_size_cookie_t {
   600      unsigned int sequence;
   601  } xcb_xv_query_best_size_cookie_t;
   602  
   603  /** Opcode for xcb_xv_query_best_size. */
   604  #define XCB_XV_QUERY_BEST_SIZE 12
   605  
   606  /**
   607   * @brief xcb_xv_query_best_size_request_t
   608   **/
   609  typedef struct xcb_xv_query_best_size_request_t {
   610      uint8_t       major_opcode;
   611      uint8_t       minor_opcode;
   612      uint16_t      length;
   613      xcb_xv_port_t port;
   614      uint16_t      vid_w;
   615      uint16_t      vid_h;
   616      uint16_t      drw_w;
   617      uint16_t      drw_h;
   618      uint8_t       motion;
   619      uint8_t       pad0[3];
   620  } xcb_xv_query_best_size_request_t;
   621  
   622  /**
   623   * @brief xcb_xv_query_best_size_reply_t
   624   **/
   625  typedef struct xcb_xv_query_best_size_reply_t {
   626      uint8_t  response_type;
   627      uint8_t  pad0;
   628      uint16_t sequence;
   629      uint32_t length;
   630      uint16_t actual_width;
   631      uint16_t actual_height;
   632  } xcb_xv_query_best_size_reply_t;
   633  
   634  /** Opcode for xcb_xv_set_port_attribute. */
   635  #define XCB_XV_SET_PORT_ATTRIBUTE 13
   636  
   637  /**
   638   * @brief xcb_xv_set_port_attribute_request_t
   639   **/
   640  typedef struct xcb_xv_set_port_attribute_request_t {
   641      uint8_t       major_opcode;
   642      uint8_t       minor_opcode;
   643      uint16_t      length;
   644      xcb_xv_port_t port;
   645      xcb_atom_t    attribute;
   646      int32_t       value;
   647  } xcb_xv_set_port_attribute_request_t;
   648  
   649  /**
   650   * @brief xcb_xv_get_port_attribute_cookie_t
   651   **/
   652  typedef struct xcb_xv_get_port_attribute_cookie_t {
   653      unsigned int sequence;
   654  } xcb_xv_get_port_attribute_cookie_t;
   655  
   656  /** Opcode for xcb_xv_get_port_attribute. */
   657  #define XCB_XV_GET_PORT_ATTRIBUTE 14
   658  
   659  /**
   660   * @brief xcb_xv_get_port_attribute_request_t
   661   **/
   662  typedef struct xcb_xv_get_port_attribute_request_t {
   663      uint8_t       major_opcode;
   664      uint8_t       minor_opcode;
   665      uint16_t      length;
   666      xcb_xv_port_t port;
   667      xcb_atom_t    attribute;
   668  } xcb_xv_get_port_attribute_request_t;
   669  
   670  /**
   671   * @brief xcb_xv_get_port_attribute_reply_t
   672   **/
   673  typedef struct xcb_xv_get_port_attribute_reply_t {
   674      uint8_t  response_type;
   675      uint8_t  pad0;
   676      uint16_t sequence;
   677      uint32_t length;
   678      int32_t  value;
   679  } xcb_xv_get_port_attribute_reply_t;
   680  
   681  /**
   682   * @brief xcb_xv_query_port_attributes_cookie_t
   683   **/
   684  typedef struct xcb_xv_query_port_attributes_cookie_t {
   685      unsigned int sequence;
   686  } xcb_xv_query_port_attributes_cookie_t;
   687  
   688  /** Opcode for xcb_xv_query_port_attributes. */
   689  #define XCB_XV_QUERY_PORT_ATTRIBUTES 15
   690  
   691  /**
   692   * @brief xcb_xv_query_port_attributes_request_t
   693   **/
   694  typedef struct xcb_xv_query_port_attributes_request_t {
   695      uint8_t       major_opcode;
   696      uint8_t       minor_opcode;
   697      uint16_t      length;
   698      xcb_xv_port_t port;
   699  } xcb_xv_query_port_attributes_request_t;
   700  
   701  /**
   702   * @brief xcb_xv_query_port_attributes_reply_t
   703   **/
   704  typedef struct xcb_xv_query_port_attributes_reply_t {
   705      uint8_t  response_type;
   706      uint8_t  pad0;
   707      uint16_t sequence;
   708      uint32_t length;
   709      uint32_t num_attributes;
   710      uint32_t text_size;
   711      uint8_t  pad1[16];
   712  } xcb_xv_query_port_attributes_reply_t;
   713  
   714  /**
   715   * @brief xcb_xv_list_image_formats_cookie_t
   716   **/
   717  typedef struct xcb_xv_list_image_formats_cookie_t {
   718      unsigned int sequence;
   719  } xcb_xv_list_image_formats_cookie_t;
   720  
   721  /** Opcode for xcb_xv_list_image_formats. */
   722  #define XCB_XV_LIST_IMAGE_FORMATS 16
   723  
   724  /**
   725   * @brief xcb_xv_list_image_formats_request_t
   726   **/
   727  typedef struct xcb_xv_list_image_formats_request_t {
   728      uint8_t       major_opcode;
   729      uint8_t       minor_opcode;
   730      uint16_t      length;
   731      xcb_xv_port_t port;
   732  } xcb_xv_list_image_formats_request_t;
   733  
   734  /**
   735   * @brief xcb_xv_list_image_formats_reply_t
   736   **/
   737  typedef struct xcb_xv_list_image_formats_reply_t {
   738      uint8_t  response_type;
   739      uint8_t  pad0;
   740      uint16_t sequence;
   741      uint32_t length;
   742      uint32_t num_formats;
   743      uint8_t  pad1[20];
   744  } xcb_xv_list_image_formats_reply_t;
   745  
   746  /**
   747   * @brief xcb_xv_query_image_attributes_cookie_t
   748   **/
   749  typedef struct xcb_xv_query_image_attributes_cookie_t {
   750      unsigned int sequence;
   751  } xcb_xv_query_image_attributes_cookie_t;
   752  
   753  /** Opcode for xcb_xv_query_image_attributes. */
   754  #define XCB_XV_QUERY_IMAGE_ATTRIBUTES 17
   755  
   756  /**
   757   * @brief xcb_xv_query_image_attributes_request_t
   758   **/
   759  typedef struct xcb_xv_query_image_attributes_request_t {
   760      uint8_t       major_opcode;
   761      uint8_t       minor_opcode;
   762      uint16_t      length;
   763      xcb_xv_port_t port;
   764      uint32_t      id;
   765      uint16_t      width;
   766      uint16_t      height;
   767  } xcb_xv_query_image_attributes_request_t;
   768  
   769  /**
   770   * @brief xcb_xv_query_image_attributes_reply_t
   771   **/
   772  typedef struct xcb_xv_query_image_attributes_reply_t {
   773      uint8_t  response_type;
   774      uint8_t  pad0;
   775      uint16_t sequence;
   776      uint32_t length;
   777      uint32_t num_planes;
   778      uint32_t data_size;
   779      uint16_t width;
   780      uint16_t height;
   781      uint8_t  pad1[12];
   782  } xcb_xv_query_image_attributes_reply_t;
   783  
   784  /** Opcode for xcb_xv_put_image. */
   785  #define XCB_XV_PUT_IMAGE 18
   786  
   787  /**
   788   * @brief xcb_xv_put_image_request_t
   789   **/
   790  typedef struct xcb_xv_put_image_request_t {
   791      uint8_t        major_opcode;
   792      uint8_t        minor_opcode;
   793      uint16_t       length;
   794      xcb_xv_port_t  port;
   795      xcb_drawable_t drawable;
   796      xcb_gcontext_t gc;
   797      uint32_t       id;
   798      int16_t        src_x;
   799      int16_t        src_y;
   800      uint16_t       src_w;
   801      uint16_t       src_h;
   802      int16_t        drw_x;
   803      int16_t        drw_y;
   804      uint16_t       drw_w;
   805      uint16_t       drw_h;
   806      uint16_t       width;
   807      uint16_t       height;
   808  } xcb_xv_put_image_request_t;
   809  
   810  /** Opcode for xcb_xv_shm_put_image. */
   811  #define XCB_XV_SHM_PUT_IMAGE 19
   812  
   813  /**
   814   * @brief xcb_xv_shm_put_image_request_t
   815   **/
   816  typedef struct xcb_xv_shm_put_image_request_t {
   817      uint8_t        major_opcode;
   818      uint8_t        minor_opcode;
   819      uint16_t       length;
   820      xcb_xv_port_t  port;
   821      xcb_drawable_t drawable;
   822      xcb_gcontext_t gc;
   823      xcb_shm_seg_t  shmseg;
   824      uint32_t       id;
   825      uint32_t       offset;
   826      int16_t        src_x;
   827      int16_t        src_y;
   828      uint16_t       src_w;
   829      uint16_t       src_h;
   830      int16_t        drw_x;
   831      int16_t        drw_y;
   832      uint16_t       drw_w;
   833      uint16_t       drw_h;
   834      uint16_t       width;
   835      uint16_t       height;
   836      uint8_t        send_event;
   837      uint8_t        pad0[3];
   838  } xcb_xv_shm_put_image_request_t;
   839  
   840  /**
   841   * Get the next element of the iterator
   842   * @param i Pointer to a xcb_xv_port_iterator_t
   843   *
   844   * Get the next element in the iterator. The member rem is
   845   * decreased by one. The member data points to the next
   846   * element. The member index is increased by sizeof(xcb_xv_port_t)
   847   */
   848  void
   849  xcb_xv_port_next (xcb_xv_port_iterator_t *i);
   850  
   851  /**
   852   * Return the iterator pointing to the last element
   853   * @param i An xcb_xv_port_iterator_t
   854   * @return  The iterator pointing to the last element
   855   *
   856   * Set the current element in the iterator to the last element.
   857   * The member rem is set to 0. The member data points to the
   858   * last element.
   859   */
   860  xcb_generic_iterator_t
   861  xcb_xv_port_end (xcb_xv_port_iterator_t i);
   862  
   863  /**
   864   * Get the next element of the iterator
   865   * @param i Pointer to a xcb_xv_encoding_iterator_t
   866   *
   867   * Get the next element in the iterator. The member rem is
   868   * decreased by one. The member data points to the next
   869   * element. The member index is increased by sizeof(xcb_xv_encoding_t)
   870   */
   871  void
   872  xcb_xv_encoding_next (xcb_xv_encoding_iterator_t *i);
   873  
   874  /**
   875   * Return the iterator pointing to the last element
   876   * @param i An xcb_xv_encoding_iterator_t
   877   * @return  The iterator pointing to the last element
   878   *
   879   * Set the current element in the iterator to the last element.
   880   * The member rem is set to 0. The member data points to the
   881   * last element.
   882   */
   883  xcb_generic_iterator_t
   884  xcb_xv_encoding_end (xcb_xv_encoding_iterator_t i);
   885  
   886  /**
   887   * Get the next element of the iterator
   888   * @param i Pointer to a xcb_xv_rational_iterator_t
   889   *
   890   * Get the next element in the iterator. The member rem is
   891   * decreased by one. The member data points to the next
   892   * element. The member index is increased by sizeof(xcb_xv_rational_t)
   893   */
   894  void
   895  xcb_xv_rational_next (xcb_xv_rational_iterator_t *i);
   896  
   897  /**
   898   * Return the iterator pointing to the last element
   899   * @param i An xcb_xv_rational_iterator_t
   900   * @return  The iterator pointing to the last element
   901   *
   902   * Set the current element in the iterator to the last element.
   903   * The member rem is set to 0. The member data points to the
   904   * last element.
   905   */
   906  xcb_generic_iterator_t
   907  xcb_xv_rational_end (xcb_xv_rational_iterator_t i);
   908  
   909  /**
   910   * Get the next element of the iterator
   911   * @param i Pointer to a xcb_xv_format_iterator_t
   912   *
   913   * Get the next element in the iterator. The member rem is
   914   * decreased by one. The member data points to the next
   915   * element. The member index is increased by sizeof(xcb_xv_format_t)
   916   */
   917  void
   918  xcb_xv_format_next (xcb_xv_format_iterator_t *i);
   919  
   920  /**
   921   * Return the iterator pointing to the last element
   922   * @param i An xcb_xv_format_iterator_t
   923   * @return  The iterator pointing to the last element
   924   *
   925   * Set the current element in the iterator to the last element.
   926   * The member rem is set to 0. The member data points to the
   927   * last element.
   928   */
   929  xcb_generic_iterator_t
   930  xcb_xv_format_end (xcb_xv_format_iterator_t i);
   931  
   932  int
   933  xcb_xv_adaptor_info_sizeof (const void  *_buffer);
   934  
   935  char *
   936  xcb_xv_adaptor_info_name (const xcb_xv_adaptor_info_t *R);
   937  
   938  int
   939  xcb_xv_adaptor_info_name_length (const xcb_xv_adaptor_info_t *R);
   940  
   941  xcb_generic_iterator_t
   942  xcb_xv_adaptor_info_name_end (const xcb_xv_adaptor_info_t *R);
   943  
   944  xcb_xv_format_t *
   945  xcb_xv_adaptor_info_formats (const xcb_xv_adaptor_info_t *R);
   946  
   947  int
   948  xcb_xv_adaptor_info_formats_length (const xcb_xv_adaptor_info_t *R);
   949  
   950  xcb_xv_format_iterator_t
   951  xcb_xv_adaptor_info_formats_iterator (const xcb_xv_adaptor_info_t *R);
   952  
   953  /**
   954   * Get the next element of the iterator
   955   * @param i Pointer to a xcb_xv_adaptor_info_iterator_t
   956   *
   957   * Get the next element in the iterator. The member rem is
   958   * decreased by one. The member data points to the next
   959   * element. The member index is increased by sizeof(xcb_xv_adaptor_info_t)
   960   */
   961  void
   962  xcb_xv_adaptor_info_next (xcb_xv_adaptor_info_iterator_t *i);
   963  
   964  /**
   965   * Return the iterator pointing to the last element
   966   * @param i An xcb_xv_adaptor_info_iterator_t
   967   * @return  The iterator pointing to the last element
   968   *
   969   * Set the current element in the iterator to the last element.
   970   * The member rem is set to 0. The member data points to the
   971   * last element.
   972   */
   973  xcb_generic_iterator_t
   974  xcb_xv_adaptor_info_end (xcb_xv_adaptor_info_iterator_t i);
   975  
   976  int
   977  xcb_xv_encoding_info_sizeof (const void  *_buffer);
   978  
   979  char *
   980  xcb_xv_encoding_info_name (const xcb_xv_encoding_info_t *R);
   981  
   982  int
   983  xcb_xv_encoding_info_name_length (const xcb_xv_encoding_info_t *R);
   984  
   985  xcb_generic_iterator_t
   986  xcb_xv_encoding_info_name_end (const xcb_xv_encoding_info_t *R);
   987  
   988  /**
   989   * Get the next element of the iterator
   990   * @param i Pointer to a xcb_xv_encoding_info_iterator_t
   991   *
   992   * Get the next element in the iterator. The member rem is
   993   * decreased by one. The member data points to the next
   994   * element. The member index is increased by sizeof(xcb_xv_encoding_info_t)
   995   */
   996  void
   997  xcb_xv_encoding_info_next (xcb_xv_encoding_info_iterator_t *i);
   998  
   999  /**
  1000   * Return the iterator pointing to the last element
  1001   * @param i An xcb_xv_encoding_info_iterator_t
  1002   * @return  The iterator pointing to the last element
  1003   *
  1004   * Set the current element in the iterator to the last element.
  1005   * The member rem is set to 0. The member data points to the
  1006   * last element.
  1007   */
  1008  xcb_generic_iterator_t
  1009  xcb_xv_encoding_info_end (xcb_xv_encoding_info_iterator_t i);
  1010  
  1011  int
  1012  xcb_xv_image_sizeof (const void  *_buffer);
  1013  
  1014  uint32_t *
  1015  xcb_xv_image_pitches (const xcb_xv_image_t *R);
  1016  
  1017  int
  1018  xcb_xv_image_pitches_length (const xcb_xv_image_t *R);
  1019  
  1020  xcb_generic_iterator_t
  1021  xcb_xv_image_pitches_end (const xcb_xv_image_t *R);
  1022  
  1023  uint32_t *
  1024  xcb_xv_image_offsets (const xcb_xv_image_t *R);
  1025  
  1026  int
  1027  xcb_xv_image_offsets_length (const xcb_xv_image_t *R);
  1028  
  1029  xcb_generic_iterator_t
  1030  xcb_xv_image_offsets_end (const xcb_xv_image_t *R);
  1031  
  1032  uint8_t *
  1033  xcb_xv_image_data (const xcb_xv_image_t *R);
  1034  
  1035  int
  1036  xcb_xv_image_data_length (const xcb_xv_image_t *R);
  1037  
  1038  xcb_generic_iterator_t
  1039  xcb_xv_image_data_end (const xcb_xv_image_t *R);
  1040  
  1041  /**
  1042   * Get the next element of the iterator
  1043   * @param i Pointer to a xcb_xv_image_iterator_t
  1044   *
  1045   * Get the next element in the iterator. The member rem is
  1046   * decreased by one. The member data points to the next
  1047   * element. The member index is increased by sizeof(xcb_xv_image_t)
  1048   */
  1049  void
  1050  xcb_xv_image_next (xcb_xv_image_iterator_t *i);
  1051  
  1052  /**
  1053   * Return the iterator pointing to the last element
  1054   * @param i An xcb_xv_image_iterator_t
  1055   * @return  The iterator pointing to the last element
  1056   *
  1057   * Set the current element in the iterator to the last element.
  1058   * The member rem is set to 0. The member data points to the
  1059   * last element.
  1060   */
  1061  xcb_generic_iterator_t
  1062  xcb_xv_image_end (xcb_xv_image_iterator_t i);
  1063  
  1064  int
  1065  xcb_xv_attribute_info_sizeof (const void  *_buffer);
  1066  
  1067  char *
  1068  xcb_xv_attribute_info_name (const xcb_xv_attribute_info_t *R);
  1069  
  1070  int
  1071  xcb_xv_attribute_info_name_length (const xcb_xv_attribute_info_t *R);
  1072  
  1073  xcb_generic_iterator_t
  1074  xcb_xv_attribute_info_name_end (const xcb_xv_attribute_info_t *R);
  1075  
  1076  /**
  1077   * Get the next element of the iterator
  1078   * @param i Pointer to a xcb_xv_attribute_info_iterator_t
  1079   *
  1080   * Get the next element in the iterator. The member rem is
  1081   * decreased by one. The member data points to the next
  1082   * element. The member index is increased by sizeof(xcb_xv_attribute_info_t)
  1083   */
  1084  void
  1085  xcb_xv_attribute_info_next (xcb_xv_attribute_info_iterator_t *i);
  1086  
  1087  /**
  1088   * Return the iterator pointing to the last element
  1089   * @param i An xcb_xv_attribute_info_iterator_t
  1090   * @return  The iterator pointing to the last element
  1091   *
  1092   * Set the current element in the iterator to the last element.
  1093   * The member rem is set to 0. The member data points to the
  1094   * last element.
  1095   */
  1096  xcb_generic_iterator_t
  1097  xcb_xv_attribute_info_end (xcb_xv_attribute_info_iterator_t i);
  1098  
  1099  /**
  1100   * Get the next element of the iterator
  1101   * @param i Pointer to a xcb_xv_image_format_info_iterator_t
  1102   *
  1103   * Get the next element in the iterator. The member rem is
  1104   * decreased by one. The member data points to the next
  1105   * element. The member index is increased by sizeof(xcb_xv_image_format_info_t)
  1106   */
  1107  void
  1108  xcb_xv_image_format_info_next (xcb_xv_image_format_info_iterator_t *i);
  1109  
  1110  /**
  1111   * Return the iterator pointing to the last element
  1112   * @param i An xcb_xv_image_format_info_iterator_t
  1113   * @return  The iterator pointing to the last element
  1114   *
  1115   * Set the current element in the iterator to the last element.
  1116   * The member rem is set to 0. The member data points to the
  1117   * last element.
  1118   */
  1119  xcb_generic_iterator_t
  1120  xcb_xv_image_format_info_end (xcb_xv_image_format_info_iterator_t i);
  1121  
  1122  /**
  1123   *
  1124   * @param c The connection
  1125   * @return A cookie
  1126   *
  1127   * Delivers a request to the X server.
  1128   *
  1129   */
  1130  xcb_xv_query_extension_cookie_t
  1131  xcb_xv_query_extension (xcb_connection_t *c);
  1132  
  1133  /**
  1134   *
  1135   * @param c The connection
  1136   * @return A cookie
  1137   *
  1138   * Delivers a request to the X server.
  1139   *
  1140   * This form can be used only if the request will cause
  1141   * a reply to be generated. Any returned error will be
  1142   * placed in the event queue.
  1143   */
  1144  xcb_xv_query_extension_cookie_t
  1145  xcb_xv_query_extension_unchecked (xcb_connection_t *c);
  1146  
  1147  /**
  1148   * Return the reply
  1149   * @param c      The connection
  1150   * @param cookie The cookie
  1151   * @param e      The xcb_generic_error_t supplied
  1152   *
  1153   * Returns the reply of the request asked by
  1154   *
  1155   * The parameter @p e supplied to this function must be NULL if
  1156   * xcb_xv_query_extension_unchecked(). is used.
  1157   * Otherwise, it stores the error if any.
  1158   *
  1159   * The returned value must be freed by the caller using free().
  1160   */
  1161  xcb_xv_query_extension_reply_t *
  1162  xcb_xv_query_extension_reply (xcb_connection_t                 *c,
  1163                                xcb_xv_query_extension_cookie_t   cookie  /**< */,
  1164                                xcb_generic_error_t             **e);
  1165  
  1166  int
  1167  xcb_xv_query_adaptors_sizeof (const void  *_buffer);
  1168  
  1169  /**
  1170   *
  1171   * @param c The connection
  1172   * @return A cookie
  1173   *
  1174   * Delivers a request to the X server.
  1175   *
  1176   */
  1177  xcb_xv_query_adaptors_cookie_t
  1178  xcb_xv_query_adaptors (xcb_connection_t *c,
  1179                         xcb_window_t      window);
  1180  
  1181  /**
  1182   *
  1183   * @param c The connection
  1184   * @return A cookie
  1185   *
  1186   * Delivers a request to the X server.
  1187   *
  1188   * This form can be used only if the request will cause
  1189   * a reply to be generated. Any returned error will be
  1190   * placed in the event queue.
  1191   */
  1192  xcb_xv_query_adaptors_cookie_t
  1193  xcb_xv_query_adaptors_unchecked (xcb_connection_t *c,
  1194                                   xcb_window_t      window);
  1195  
  1196  int
  1197  xcb_xv_query_adaptors_info_length (const xcb_xv_query_adaptors_reply_t *R);
  1198  
  1199  xcb_xv_adaptor_info_iterator_t
  1200  xcb_xv_query_adaptors_info_iterator (const xcb_xv_query_adaptors_reply_t *R);
  1201  
  1202  /**
  1203   * Return the reply
  1204   * @param c      The connection
  1205   * @param cookie The cookie
  1206   * @param e      The xcb_generic_error_t supplied
  1207   *
  1208   * Returns the reply of the request asked by
  1209   *
  1210   * The parameter @p e supplied to this function must be NULL if
  1211   * xcb_xv_query_adaptors_unchecked(). is used.
  1212   * Otherwise, it stores the error if any.
  1213   *
  1214   * The returned value must be freed by the caller using free().
  1215   */
  1216  xcb_xv_query_adaptors_reply_t *
  1217  xcb_xv_query_adaptors_reply (xcb_connection_t                *c,
  1218                               xcb_xv_query_adaptors_cookie_t   cookie  /**< */,
  1219                               xcb_generic_error_t            **e);
  1220  
  1221  int
  1222  xcb_xv_query_encodings_sizeof (const void  *_buffer);
  1223  
  1224  /**
  1225   *
  1226   * @param c The connection
  1227   * @return A cookie
  1228   *
  1229   * Delivers a request to the X server.
  1230   *
  1231   */
  1232  xcb_xv_query_encodings_cookie_t
  1233  xcb_xv_query_encodings (xcb_connection_t *c,
  1234                          xcb_xv_port_t     port);
  1235  
  1236  /**
  1237   *
  1238   * @param c The connection
  1239   * @return A cookie
  1240   *
  1241   * Delivers a request to the X server.
  1242   *
  1243   * This form can be used only if the request will cause
  1244   * a reply to be generated. Any returned error will be
  1245   * placed in the event queue.
  1246   */
  1247  xcb_xv_query_encodings_cookie_t
  1248  xcb_xv_query_encodings_unchecked (xcb_connection_t *c,
  1249                                    xcb_xv_port_t     port);
  1250  
  1251  int
  1252  xcb_xv_query_encodings_info_length (const xcb_xv_query_encodings_reply_t *R);
  1253  
  1254  xcb_xv_encoding_info_iterator_t
  1255  xcb_xv_query_encodings_info_iterator (const xcb_xv_query_encodings_reply_t *R);
  1256  
  1257  /**
  1258   * Return the reply
  1259   * @param c      The connection
  1260   * @param cookie The cookie
  1261   * @param e      The xcb_generic_error_t supplied
  1262   *
  1263   * Returns the reply of the request asked by
  1264   *
  1265   * The parameter @p e supplied to this function must be NULL if
  1266   * xcb_xv_query_encodings_unchecked(). is used.
  1267   * Otherwise, it stores the error if any.
  1268   *
  1269   * The returned value must be freed by the caller using free().
  1270   */
  1271  xcb_xv_query_encodings_reply_t *
  1272  xcb_xv_query_encodings_reply (xcb_connection_t                 *c,
  1273                                xcb_xv_query_encodings_cookie_t   cookie  /**< */,
  1274                                xcb_generic_error_t             **e);
  1275  
  1276  /**
  1277   *
  1278   * @param c The connection
  1279   * @return A cookie
  1280   *
  1281   * Delivers a request to the X server.
  1282   *
  1283   */
  1284  xcb_xv_grab_port_cookie_t
  1285  xcb_xv_grab_port (xcb_connection_t *c,
  1286                    xcb_xv_port_t     port,
  1287                    xcb_timestamp_t   time);
  1288  
  1289  /**
  1290   *
  1291   * @param c The connection
  1292   * @return A cookie
  1293   *
  1294   * Delivers a request to the X server.
  1295   *
  1296   * This form can be used only if the request will cause
  1297   * a reply to be generated. Any returned error will be
  1298   * placed in the event queue.
  1299   */
  1300  xcb_xv_grab_port_cookie_t
  1301  xcb_xv_grab_port_unchecked (xcb_connection_t *c,
  1302                              xcb_xv_port_t     port,
  1303                              xcb_timestamp_t   time);
  1304  
  1305  /**
  1306   * Return the reply
  1307   * @param c      The connection
  1308   * @param cookie The cookie
  1309   * @param e      The xcb_generic_error_t supplied
  1310   *
  1311   * Returns the reply of the request asked by
  1312   *
  1313   * The parameter @p e supplied to this function must be NULL if
  1314   * xcb_xv_grab_port_unchecked(). is used.
  1315   * Otherwise, it stores the error if any.
  1316   *
  1317   * The returned value must be freed by the caller using free().
  1318   */
  1319  xcb_xv_grab_port_reply_t *
  1320  xcb_xv_grab_port_reply (xcb_connection_t           *c,
  1321                          xcb_xv_grab_port_cookie_t   cookie  /**< */,
  1322                          xcb_generic_error_t       **e);
  1323  
  1324  /**
  1325   *
  1326   * @param c The connection
  1327   * @return A cookie
  1328   *
  1329   * Delivers a request to the X server.
  1330   *
  1331   * This form can be used only if the request will not cause
  1332   * a reply to be generated. Any returned error will be
  1333   * saved for handling by xcb_request_check().
  1334   */
  1335  xcb_void_cookie_t
  1336  xcb_xv_ungrab_port_checked (xcb_connection_t *c,
  1337                              xcb_xv_port_t     port,
  1338                              xcb_timestamp_t   time);
  1339  
  1340  /**
  1341   *
  1342   * @param c The connection
  1343   * @return A cookie
  1344   *
  1345   * Delivers a request to the X server.
  1346   *
  1347   */
  1348  xcb_void_cookie_t
  1349  xcb_xv_ungrab_port (xcb_connection_t *c,
  1350                      xcb_xv_port_t     port,
  1351                      xcb_timestamp_t   time);
  1352  
  1353  /**
  1354   *
  1355   * @param c The connection
  1356   * @return A cookie
  1357   *
  1358   * Delivers a request to the X server.
  1359   *
  1360   * This form can be used only if the request will not cause
  1361   * a reply to be generated. Any returned error will be
  1362   * saved for handling by xcb_request_check().
  1363   */
  1364  xcb_void_cookie_t
  1365  xcb_xv_put_video_checked (xcb_connection_t *c,
  1366                            xcb_xv_port_t     port,
  1367                            xcb_drawable_t    drawable,
  1368                            xcb_gcontext_t    gc,
  1369                            int16_t           vid_x,
  1370                            int16_t           vid_y,
  1371                            uint16_t          vid_w,
  1372                            uint16_t          vid_h,
  1373                            int16_t           drw_x,
  1374                            int16_t           drw_y,
  1375                            uint16_t          drw_w,
  1376                            uint16_t          drw_h);
  1377  
  1378  /**
  1379   *
  1380   * @param c The connection
  1381   * @return A cookie
  1382   *
  1383   * Delivers a request to the X server.
  1384   *
  1385   */
  1386  xcb_void_cookie_t
  1387  xcb_xv_put_video (xcb_connection_t *c,
  1388                    xcb_xv_port_t     port,
  1389                    xcb_drawable_t    drawable,
  1390                    xcb_gcontext_t    gc,
  1391                    int16_t           vid_x,
  1392                    int16_t           vid_y,
  1393                    uint16_t          vid_w,
  1394                    uint16_t          vid_h,
  1395                    int16_t           drw_x,
  1396                    int16_t           drw_y,
  1397                    uint16_t          drw_w,
  1398                    uint16_t          drw_h);
  1399  
  1400  /**
  1401   *
  1402   * @param c The connection
  1403   * @return A cookie
  1404   *
  1405   * Delivers a request to the X server.
  1406   *
  1407   * This form can be used only if the request will not cause
  1408   * a reply to be generated. Any returned error will be
  1409   * saved for handling by xcb_request_check().
  1410   */
  1411  xcb_void_cookie_t
  1412  xcb_xv_put_still_checked (xcb_connection_t *c,
  1413                            xcb_xv_port_t     port,
  1414                            xcb_drawable_t    drawable,
  1415                            xcb_gcontext_t    gc,
  1416                            int16_t           vid_x,
  1417                            int16_t           vid_y,
  1418                            uint16_t          vid_w,
  1419                            uint16_t          vid_h,
  1420                            int16_t           drw_x,
  1421                            int16_t           drw_y,
  1422                            uint16_t          drw_w,
  1423                            uint16_t          drw_h);
  1424  
  1425  /**
  1426   *
  1427   * @param c The connection
  1428   * @return A cookie
  1429   *
  1430   * Delivers a request to the X server.
  1431   *
  1432   */
  1433  xcb_void_cookie_t
  1434  xcb_xv_put_still (xcb_connection_t *c,
  1435                    xcb_xv_port_t     port,
  1436                    xcb_drawable_t    drawable,
  1437                    xcb_gcontext_t    gc,
  1438                    int16_t           vid_x,
  1439                    int16_t           vid_y,
  1440                    uint16_t          vid_w,
  1441                    uint16_t          vid_h,
  1442                    int16_t           drw_x,
  1443                    int16_t           drw_y,
  1444                    uint16_t          drw_w,
  1445                    uint16_t          drw_h);
  1446  
  1447  /**
  1448   *
  1449   * @param c The connection
  1450   * @return A cookie
  1451   *
  1452   * Delivers a request to the X server.
  1453   *
  1454   * This form can be used only if the request will not cause
  1455   * a reply to be generated. Any returned error will be
  1456   * saved for handling by xcb_request_check().
  1457   */
  1458  xcb_void_cookie_t
  1459  xcb_xv_get_video_checked (xcb_connection_t *c,
  1460                            xcb_xv_port_t     port,
  1461                            xcb_drawable_t    drawable,
  1462                            xcb_gcontext_t    gc,
  1463                            int16_t           vid_x,
  1464                            int16_t           vid_y,
  1465                            uint16_t          vid_w,
  1466                            uint16_t          vid_h,
  1467                            int16_t           drw_x,
  1468                            int16_t           drw_y,
  1469                            uint16_t          drw_w,
  1470                            uint16_t          drw_h);
  1471  
  1472  /**
  1473   *
  1474   * @param c The connection
  1475   * @return A cookie
  1476   *
  1477   * Delivers a request to the X server.
  1478   *
  1479   */
  1480  xcb_void_cookie_t
  1481  xcb_xv_get_video (xcb_connection_t *c,
  1482                    xcb_xv_port_t     port,
  1483                    xcb_drawable_t    drawable,
  1484                    xcb_gcontext_t    gc,
  1485                    int16_t           vid_x,
  1486                    int16_t           vid_y,
  1487                    uint16_t          vid_w,
  1488                    uint16_t          vid_h,
  1489                    int16_t           drw_x,
  1490                    int16_t           drw_y,
  1491                    uint16_t          drw_w,
  1492                    uint16_t          drw_h);
  1493  
  1494  /**
  1495   *
  1496   * @param c The connection
  1497   * @return A cookie
  1498   *
  1499   * Delivers a request to the X server.
  1500   *
  1501   * This form can be used only if the request will not cause
  1502   * a reply to be generated. Any returned error will be
  1503   * saved for handling by xcb_request_check().
  1504   */
  1505  xcb_void_cookie_t
  1506  xcb_xv_get_still_checked (xcb_connection_t *c,
  1507                            xcb_xv_port_t     port,
  1508                            xcb_drawable_t    drawable,
  1509                            xcb_gcontext_t    gc,
  1510                            int16_t           vid_x,
  1511                            int16_t           vid_y,
  1512                            uint16_t          vid_w,
  1513                            uint16_t          vid_h,
  1514                            int16_t           drw_x,
  1515                            int16_t           drw_y,
  1516                            uint16_t          drw_w,
  1517                            uint16_t          drw_h);
  1518  
  1519  /**
  1520   *
  1521   * @param c The connection
  1522   * @return A cookie
  1523   *
  1524   * Delivers a request to the X server.
  1525   *
  1526   */
  1527  xcb_void_cookie_t
  1528  xcb_xv_get_still (xcb_connection_t *c,
  1529                    xcb_xv_port_t     port,
  1530                    xcb_drawable_t    drawable,
  1531                    xcb_gcontext_t    gc,
  1532                    int16_t           vid_x,
  1533                    int16_t           vid_y,
  1534                    uint16_t          vid_w,
  1535                    uint16_t          vid_h,
  1536                    int16_t           drw_x,
  1537                    int16_t           drw_y,
  1538                    uint16_t          drw_w,
  1539                    uint16_t          drw_h);
  1540  
  1541  /**
  1542   *
  1543   * @param c The connection
  1544   * @return A cookie
  1545   *
  1546   * Delivers a request to the X server.
  1547   *
  1548   * This form can be used only if the request will not cause
  1549   * a reply to be generated. Any returned error will be
  1550   * saved for handling by xcb_request_check().
  1551   */
  1552  xcb_void_cookie_t
  1553  xcb_xv_stop_video_checked (xcb_connection_t *c,
  1554                             xcb_xv_port_t     port,
  1555                             xcb_drawable_t    drawable);
  1556  
  1557  /**
  1558   *
  1559   * @param c The connection
  1560   * @return A cookie
  1561   *
  1562   * Delivers a request to the X server.
  1563   *
  1564   */
  1565  xcb_void_cookie_t
  1566  xcb_xv_stop_video (xcb_connection_t *c,
  1567                     xcb_xv_port_t     port,
  1568                     xcb_drawable_t    drawable);
  1569  
  1570  /**
  1571   *
  1572   * @param c The connection
  1573   * @return A cookie
  1574   *
  1575   * Delivers a request to the X server.
  1576   *
  1577   * This form can be used only if the request will not cause
  1578   * a reply to be generated. Any returned error will be
  1579   * saved for handling by xcb_request_check().
  1580   */
  1581  xcb_void_cookie_t
  1582  xcb_xv_select_video_notify_checked (xcb_connection_t *c,
  1583                                      xcb_drawable_t    drawable,
  1584                                      uint8_t           onoff);
  1585  
  1586  /**
  1587   *
  1588   * @param c The connection
  1589   * @return A cookie
  1590   *
  1591   * Delivers a request to the X server.
  1592   *
  1593   */
  1594  xcb_void_cookie_t
  1595  xcb_xv_select_video_notify (xcb_connection_t *c,
  1596                              xcb_drawable_t    drawable,
  1597                              uint8_t           onoff);
  1598  
  1599  /**
  1600   *
  1601   * @param c The connection
  1602   * @return A cookie
  1603   *
  1604   * Delivers a request to the X server.
  1605   *
  1606   * This form can be used only if the request will not cause
  1607   * a reply to be generated. Any returned error will be
  1608   * saved for handling by xcb_request_check().
  1609   */
  1610  xcb_void_cookie_t
  1611  xcb_xv_select_port_notify_checked (xcb_connection_t *c,
  1612                                     xcb_xv_port_t     port,
  1613                                     uint8_t           onoff);
  1614  
  1615  /**
  1616   *
  1617   * @param c The connection
  1618   * @return A cookie
  1619   *
  1620   * Delivers a request to the X server.
  1621   *
  1622   */
  1623  xcb_void_cookie_t
  1624  xcb_xv_select_port_notify (xcb_connection_t *c,
  1625                             xcb_xv_port_t     port,
  1626                             uint8_t           onoff);
  1627  
  1628  /**
  1629   *
  1630   * @param c The connection
  1631   * @return A cookie
  1632   *
  1633   * Delivers a request to the X server.
  1634   *
  1635   */
  1636  xcb_xv_query_best_size_cookie_t
  1637  xcb_xv_query_best_size (xcb_connection_t *c,
  1638                          xcb_xv_port_t     port,
  1639                          uint16_t          vid_w,
  1640                          uint16_t          vid_h,
  1641                          uint16_t          drw_w,
  1642                          uint16_t          drw_h,
  1643                          uint8_t           motion);
  1644  
  1645  /**
  1646   *
  1647   * @param c The connection
  1648   * @return A cookie
  1649   *
  1650   * Delivers a request to the X server.
  1651   *
  1652   * This form can be used only if the request will cause
  1653   * a reply to be generated. Any returned error will be
  1654   * placed in the event queue.
  1655   */
  1656  xcb_xv_query_best_size_cookie_t
  1657  xcb_xv_query_best_size_unchecked (xcb_connection_t *c,
  1658                                    xcb_xv_port_t     port,
  1659                                    uint16_t          vid_w,
  1660                                    uint16_t          vid_h,
  1661                                    uint16_t          drw_w,
  1662                                    uint16_t          drw_h,
  1663                                    uint8_t           motion);
  1664  
  1665  /**
  1666   * Return the reply
  1667   * @param c      The connection
  1668   * @param cookie The cookie
  1669   * @param e      The xcb_generic_error_t supplied
  1670   *
  1671   * Returns the reply of the request asked by
  1672   *
  1673   * The parameter @p e supplied to this function must be NULL if
  1674   * xcb_xv_query_best_size_unchecked(). is used.
  1675   * Otherwise, it stores the error if any.
  1676   *
  1677   * The returned value must be freed by the caller using free().
  1678   */
  1679  xcb_xv_query_best_size_reply_t *
  1680  xcb_xv_query_best_size_reply (xcb_connection_t                 *c,
  1681                                xcb_xv_query_best_size_cookie_t   cookie  /**< */,
  1682                                xcb_generic_error_t             **e);
  1683  
  1684  /**
  1685   *
  1686   * @param c The connection
  1687   * @return A cookie
  1688   *
  1689   * Delivers a request to the X server.
  1690   *
  1691   * This form can be used only if the request will not cause
  1692   * a reply to be generated. Any returned error will be
  1693   * saved for handling by xcb_request_check().
  1694   */
  1695  xcb_void_cookie_t
  1696  xcb_xv_set_port_attribute_checked (xcb_connection_t *c,
  1697                                     xcb_xv_port_t     port,
  1698                                     xcb_atom_t        attribute,
  1699                                     int32_t           value);
  1700  
  1701  /**
  1702   *
  1703   * @param c The connection
  1704   * @return A cookie
  1705   *
  1706   * Delivers a request to the X server.
  1707   *
  1708   */
  1709  xcb_void_cookie_t
  1710  xcb_xv_set_port_attribute (xcb_connection_t *c,
  1711                             xcb_xv_port_t     port,
  1712                             xcb_atom_t        attribute,
  1713                             int32_t           value);
  1714  
  1715  /**
  1716   *
  1717   * @param c The connection
  1718   * @return A cookie
  1719   *
  1720   * Delivers a request to the X server.
  1721   *
  1722   */
  1723  xcb_xv_get_port_attribute_cookie_t
  1724  xcb_xv_get_port_attribute (xcb_connection_t *c,
  1725                             xcb_xv_port_t     port,
  1726                             xcb_atom_t        attribute);
  1727  
  1728  /**
  1729   *
  1730   * @param c The connection
  1731   * @return A cookie
  1732   *
  1733   * Delivers a request to the X server.
  1734   *
  1735   * This form can be used only if the request will cause
  1736   * a reply to be generated. Any returned error will be
  1737   * placed in the event queue.
  1738   */
  1739  xcb_xv_get_port_attribute_cookie_t
  1740  xcb_xv_get_port_attribute_unchecked (xcb_connection_t *c,
  1741                                       xcb_xv_port_t     port,
  1742                                       xcb_atom_t        attribute);
  1743  
  1744  /**
  1745   * Return the reply
  1746   * @param c      The connection
  1747   * @param cookie The cookie
  1748   * @param e      The xcb_generic_error_t supplied
  1749   *
  1750   * Returns the reply of the request asked by
  1751   *
  1752   * The parameter @p e supplied to this function must be NULL if
  1753   * xcb_xv_get_port_attribute_unchecked(). is used.
  1754   * Otherwise, it stores the error if any.
  1755   *
  1756   * The returned value must be freed by the caller using free().
  1757   */
  1758  xcb_xv_get_port_attribute_reply_t *
  1759  xcb_xv_get_port_attribute_reply (xcb_connection_t                    *c,
  1760                                   xcb_xv_get_port_attribute_cookie_t   cookie  /**< */,
  1761                                   xcb_generic_error_t                **e);
  1762  
  1763  int
  1764  xcb_xv_query_port_attributes_sizeof (const void  *_buffer);
  1765  
  1766  /**
  1767   *
  1768   * @param c The connection
  1769   * @return A cookie
  1770   *
  1771   * Delivers a request to the X server.
  1772   *
  1773   */
  1774  xcb_xv_query_port_attributes_cookie_t
  1775  xcb_xv_query_port_attributes (xcb_connection_t *c,
  1776                                xcb_xv_port_t     port);
  1777  
  1778  /**
  1779   *
  1780   * @param c The connection
  1781   * @return A cookie
  1782   *
  1783   * Delivers a request to the X server.
  1784   *
  1785   * This form can be used only if the request will cause
  1786   * a reply to be generated. Any returned error will be
  1787   * placed in the event queue.
  1788   */
  1789  xcb_xv_query_port_attributes_cookie_t
  1790  xcb_xv_query_port_attributes_unchecked (xcb_connection_t *c,
  1791                                          xcb_xv_port_t     port);
  1792  
  1793  int
  1794  xcb_xv_query_port_attributes_attributes_length (const xcb_xv_query_port_attributes_reply_t *R);
  1795  
  1796  xcb_xv_attribute_info_iterator_t
  1797  xcb_xv_query_port_attributes_attributes_iterator (const xcb_xv_query_port_attributes_reply_t *R);
  1798  
  1799  /**
  1800   * Return the reply
  1801   * @param c      The connection
  1802   * @param cookie The cookie
  1803   * @param e      The xcb_generic_error_t supplied
  1804   *
  1805   * Returns the reply of the request asked by
  1806   *
  1807   * The parameter @p e supplied to this function must be NULL if
  1808   * xcb_xv_query_port_attributes_unchecked(). is used.
  1809   * Otherwise, it stores the error if any.
  1810   *
  1811   * The returned value must be freed by the caller using free().
  1812   */
  1813  xcb_xv_query_port_attributes_reply_t *
  1814  xcb_xv_query_port_attributes_reply (xcb_connection_t                       *c,
  1815                                      xcb_xv_query_port_attributes_cookie_t   cookie  /**< */,
  1816                                      xcb_generic_error_t                   **e);
  1817  
  1818  int
  1819  xcb_xv_list_image_formats_sizeof (const void  *_buffer);
  1820  
  1821  /**
  1822   *
  1823   * @param c The connection
  1824   * @return A cookie
  1825   *
  1826   * Delivers a request to the X server.
  1827   *
  1828   */
  1829  xcb_xv_list_image_formats_cookie_t
  1830  xcb_xv_list_image_formats (xcb_connection_t *c,
  1831                             xcb_xv_port_t     port);
  1832  
  1833  /**
  1834   *
  1835   * @param c The connection
  1836   * @return A cookie
  1837   *
  1838   * Delivers a request to the X server.
  1839   *
  1840   * This form can be used only if the request will cause
  1841   * a reply to be generated. Any returned error will be
  1842   * placed in the event queue.
  1843   */
  1844  xcb_xv_list_image_formats_cookie_t
  1845  xcb_xv_list_image_formats_unchecked (xcb_connection_t *c,
  1846                                       xcb_xv_port_t     port);
  1847  
  1848  xcb_xv_image_format_info_t *
  1849  xcb_xv_list_image_formats_format (const xcb_xv_list_image_formats_reply_t *R);
  1850  
  1851  int
  1852  xcb_xv_list_image_formats_format_length (const xcb_xv_list_image_formats_reply_t *R);
  1853  
  1854  xcb_xv_image_format_info_iterator_t
  1855  xcb_xv_list_image_formats_format_iterator (const xcb_xv_list_image_formats_reply_t *R);
  1856  
  1857  /**
  1858   * Return the reply
  1859   * @param c      The connection
  1860   * @param cookie The cookie
  1861   * @param e      The xcb_generic_error_t supplied
  1862   *
  1863   * Returns the reply of the request asked by
  1864   *
  1865   * The parameter @p e supplied to this function must be NULL if
  1866   * xcb_xv_list_image_formats_unchecked(). is used.
  1867   * Otherwise, it stores the error if any.
  1868   *
  1869   * The returned value must be freed by the caller using free().
  1870   */
  1871  xcb_xv_list_image_formats_reply_t *
  1872  xcb_xv_list_image_formats_reply (xcb_connection_t                    *c,
  1873                                   xcb_xv_list_image_formats_cookie_t   cookie  /**< */,
  1874                                   xcb_generic_error_t                **e);
  1875  
  1876  int
  1877  xcb_xv_query_image_attributes_sizeof (const void  *_buffer);
  1878  
  1879  /**
  1880   *
  1881   * @param c The connection
  1882   * @return A cookie
  1883   *
  1884   * Delivers a request to the X server.
  1885   *
  1886   */
  1887  xcb_xv_query_image_attributes_cookie_t
  1888  xcb_xv_query_image_attributes (xcb_connection_t *c,
  1889                                 xcb_xv_port_t     port,
  1890                                 uint32_t          id,
  1891                                 uint16_t          width,
  1892                                 uint16_t          height);
  1893  
  1894  /**
  1895   *
  1896   * @param c The connection
  1897   * @return A cookie
  1898   *
  1899   * Delivers a request to the X server.
  1900   *
  1901   * This form can be used only if the request will cause
  1902   * a reply to be generated. Any returned error will be
  1903   * placed in the event queue.
  1904   */
  1905  xcb_xv_query_image_attributes_cookie_t
  1906  xcb_xv_query_image_attributes_unchecked (xcb_connection_t *c,
  1907                                           xcb_xv_port_t     port,
  1908                                           uint32_t          id,
  1909                                           uint16_t          width,
  1910                                           uint16_t          height);
  1911  
  1912  uint32_t *
  1913  xcb_xv_query_image_attributes_pitches (const xcb_xv_query_image_attributes_reply_t *R);
  1914  
  1915  int
  1916  xcb_xv_query_image_attributes_pitches_length (const xcb_xv_query_image_attributes_reply_t *R);
  1917  
  1918  xcb_generic_iterator_t
  1919  xcb_xv_query_image_attributes_pitches_end (const xcb_xv_query_image_attributes_reply_t *R);
  1920  
  1921  uint32_t *
  1922  xcb_xv_query_image_attributes_offsets (const xcb_xv_query_image_attributes_reply_t *R);
  1923  
  1924  int
  1925  xcb_xv_query_image_attributes_offsets_length (const xcb_xv_query_image_attributes_reply_t *R);
  1926  
  1927  xcb_generic_iterator_t
  1928  xcb_xv_query_image_attributes_offsets_end (const xcb_xv_query_image_attributes_reply_t *R);
  1929  
  1930  /**
  1931   * Return the reply
  1932   * @param c      The connection
  1933   * @param cookie The cookie
  1934   * @param e      The xcb_generic_error_t supplied
  1935   *
  1936   * Returns the reply of the request asked by
  1937   *
  1938   * The parameter @p e supplied to this function must be NULL if
  1939   * xcb_xv_query_image_attributes_unchecked(). is used.
  1940   * Otherwise, it stores the error if any.
  1941   *
  1942   * The returned value must be freed by the caller using free().
  1943   */
  1944  xcb_xv_query_image_attributes_reply_t *
  1945  xcb_xv_query_image_attributes_reply (xcb_connection_t                        *c,
  1946                                       xcb_xv_query_image_attributes_cookie_t   cookie  /**< */,
  1947                                       xcb_generic_error_t                    **e);
  1948  
  1949  int
  1950  xcb_xv_put_image_sizeof (const void  *_buffer,
  1951                           uint32_t     data_len);
  1952  
  1953  /**
  1954   *
  1955   * @param c The connection
  1956   * @return A cookie
  1957   *
  1958   * Delivers a request to the X server.
  1959   *
  1960   * This form can be used only if the request will not cause
  1961   * a reply to be generated. Any returned error will be
  1962   * saved for handling by xcb_request_check().
  1963   */
  1964  xcb_void_cookie_t
  1965  xcb_xv_put_image_checked (xcb_connection_t *c,
  1966                            xcb_xv_port_t     port,
  1967                            xcb_drawable_t    drawable,
  1968                            xcb_gcontext_t    gc,
  1969                            uint32_t          id,
  1970                            int16_t           src_x,
  1971                            int16_t           src_y,
  1972                            uint16_t          src_w,
  1973                            uint16_t          src_h,
  1974                            int16_t           drw_x,
  1975                            int16_t           drw_y,
  1976                            uint16_t          drw_w,
  1977                            uint16_t          drw_h,
  1978                            uint16_t          width,
  1979                            uint16_t          height,
  1980                            uint32_t          data_len,
  1981                            const uint8_t    *data);
  1982  
  1983  /**
  1984   *
  1985   * @param c The connection
  1986   * @return A cookie
  1987   *
  1988   * Delivers a request to the X server.
  1989   *
  1990   */
  1991  xcb_void_cookie_t
  1992  xcb_xv_put_image (xcb_connection_t *c,
  1993                    xcb_xv_port_t     port,
  1994                    xcb_drawable_t    drawable,
  1995                    xcb_gcontext_t    gc,
  1996                    uint32_t          id,
  1997                    int16_t           src_x,
  1998                    int16_t           src_y,
  1999                    uint16_t          src_w,
  2000                    uint16_t          src_h,
  2001                    int16_t           drw_x,
  2002                    int16_t           drw_y,
  2003                    uint16_t          drw_w,
  2004                    uint16_t          drw_h,
  2005                    uint16_t          width,
  2006                    uint16_t          height,
  2007                    uint32_t          data_len,
  2008                    const uint8_t    *data);
  2009  
  2010  uint8_t *
  2011  xcb_xv_put_image_data (const xcb_xv_put_image_request_t *R);
  2012  
  2013  int
  2014  xcb_xv_put_image_data_length (const xcb_xv_put_image_request_t *R);
  2015  
  2016  xcb_generic_iterator_t
  2017  xcb_xv_put_image_data_end (const xcb_xv_put_image_request_t *R);
  2018  
  2019  /**
  2020   *
  2021   * @param c The connection
  2022   * @return A cookie
  2023   *
  2024   * Delivers a request to the X server.
  2025   *
  2026   * This form can be used only if the request will not cause
  2027   * a reply to be generated. Any returned error will be
  2028   * saved for handling by xcb_request_check().
  2029   */
  2030  xcb_void_cookie_t
  2031  xcb_xv_shm_put_image_checked (xcb_connection_t *c,
  2032                                xcb_xv_port_t     port,
  2033                                xcb_drawable_t    drawable,
  2034                                xcb_gcontext_t    gc,
  2035                                xcb_shm_seg_t     shmseg,
  2036                                uint32_t          id,
  2037                                uint32_t          offset,
  2038                                int16_t           src_x,
  2039                                int16_t           src_y,
  2040                                uint16_t          src_w,
  2041                                uint16_t          src_h,
  2042                                int16_t           drw_x,
  2043                                int16_t           drw_y,
  2044                                uint16_t          drw_w,
  2045                                uint16_t          drw_h,
  2046                                uint16_t          width,
  2047                                uint16_t          height,
  2048                                uint8_t           send_event);
  2049  
  2050  /**
  2051   *
  2052   * @param c The connection
  2053   * @return A cookie
  2054   *
  2055   * Delivers a request to the X server.
  2056   *
  2057   */
  2058  xcb_void_cookie_t
  2059  xcb_xv_shm_put_image (xcb_connection_t *c,
  2060                        xcb_xv_port_t     port,
  2061                        xcb_drawable_t    drawable,
  2062                        xcb_gcontext_t    gc,
  2063                        xcb_shm_seg_t     shmseg,
  2064                        uint32_t          id,
  2065                        uint32_t          offset,
  2066                        int16_t           src_x,
  2067                        int16_t           src_y,
  2068                        uint16_t          src_w,
  2069                        uint16_t          src_h,
  2070                        int16_t           drw_x,
  2071                        int16_t           drw_y,
  2072                        uint16_t          drw_w,
  2073                        uint16_t          drw_h,
  2074                        uint16_t          width,
  2075                        uint16_t          height,
  2076                        uint8_t           send_event);
  2077  
  2078  
  2079  #ifdef __cplusplus
  2080  }
  2081  #endif
  2082  
  2083  #endif
  2084  
  2085  /**
  2086   * @}
  2087   */