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

     1  /*
     2   * This file generated automatically from dri3.xml by c_client.py.
     3   * Edit at your peril.
     4   */
     5  
     6  /**
     7   * @defgroup XCB_DRI3_API XCB DRI3 API
     8   * @brief DRI3 XCB Protocol Implementation.
     9   * @{
    10   **/
    11  
    12  #ifndef __DRI3_H
    13  #define __DRI3_H
    14  
    15  #include "xcb.h"
    16  #include "xproto.h"
    17  
    18  #ifdef __cplusplus
    19  extern "C" {
    20  #endif
    21  
    22  #define XCB_DRI3_MAJOR_VERSION 1
    23  #define XCB_DRI3_MINOR_VERSION 2
    24  
    25  extern xcb_extension_t xcb_dri3_id;
    26  
    27  /**
    28   * @brief xcb_dri3_query_version_cookie_t
    29   **/
    30  typedef struct xcb_dri3_query_version_cookie_t {
    31      unsigned int sequence;
    32  } xcb_dri3_query_version_cookie_t;
    33  
    34  /** Opcode for xcb_dri3_query_version. */
    35  #define XCB_DRI3_QUERY_VERSION 0
    36  
    37  /**
    38   * @brief xcb_dri3_query_version_request_t
    39   **/
    40  typedef struct xcb_dri3_query_version_request_t {
    41      uint8_t  major_opcode;
    42      uint8_t  minor_opcode;
    43      uint16_t length;
    44      uint32_t major_version;
    45      uint32_t minor_version;
    46  } xcb_dri3_query_version_request_t;
    47  
    48  /**
    49   * @brief xcb_dri3_query_version_reply_t
    50   **/
    51  typedef struct xcb_dri3_query_version_reply_t {
    52      uint8_t  response_type;
    53      uint8_t  pad0;
    54      uint16_t sequence;
    55      uint32_t length;
    56      uint32_t major_version;
    57      uint32_t minor_version;
    58  } xcb_dri3_query_version_reply_t;
    59  
    60  /**
    61   * @brief xcb_dri3_open_cookie_t
    62   **/
    63  typedef struct xcb_dri3_open_cookie_t {
    64      unsigned int sequence;
    65  } xcb_dri3_open_cookie_t;
    66  
    67  /** Opcode for xcb_dri3_open. */
    68  #define XCB_DRI3_OPEN 1
    69  
    70  /**
    71   * @brief xcb_dri3_open_request_t
    72   **/
    73  typedef struct xcb_dri3_open_request_t {
    74      uint8_t        major_opcode;
    75      uint8_t        minor_opcode;
    76      uint16_t       length;
    77      xcb_drawable_t drawable;
    78      uint32_t       provider;
    79  } xcb_dri3_open_request_t;
    80  
    81  /**
    82   * @brief xcb_dri3_open_reply_t
    83   **/
    84  typedef struct xcb_dri3_open_reply_t {
    85      uint8_t  response_type;
    86      uint8_t  nfd;
    87      uint16_t sequence;
    88      uint32_t length;
    89      uint8_t  pad0[24];
    90  } xcb_dri3_open_reply_t;
    91  
    92  /** Opcode for xcb_dri3_pixmap_from_buffer. */
    93  #define XCB_DRI3_PIXMAP_FROM_BUFFER 2
    94  
    95  /**
    96   * @brief xcb_dri3_pixmap_from_buffer_request_t
    97   **/
    98  typedef struct xcb_dri3_pixmap_from_buffer_request_t {
    99      uint8_t        major_opcode;
   100      uint8_t        minor_opcode;
   101      uint16_t       length;
   102      xcb_pixmap_t   pixmap;
   103      xcb_drawable_t drawable;
   104      uint32_t       size;
   105      uint16_t       width;
   106      uint16_t       height;
   107      uint16_t       stride;
   108      uint8_t        depth;
   109      uint8_t        bpp;
   110  } xcb_dri3_pixmap_from_buffer_request_t;
   111  
   112  /**
   113   * @brief xcb_dri3_buffer_from_pixmap_cookie_t
   114   **/
   115  typedef struct xcb_dri3_buffer_from_pixmap_cookie_t {
   116      unsigned int sequence;
   117  } xcb_dri3_buffer_from_pixmap_cookie_t;
   118  
   119  /** Opcode for xcb_dri3_buffer_from_pixmap. */
   120  #define XCB_DRI3_BUFFER_FROM_PIXMAP 3
   121  
   122  /**
   123   * @brief xcb_dri3_buffer_from_pixmap_request_t
   124   **/
   125  typedef struct xcb_dri3_buffer_from_pixmap_request_t {
   126      uint8_t      major_opcode;
   127      uint8_t      minor_opcode;
   128      uint16_t     length;
   129      xcb_pixmap_t pixmap;
   130  } xcb_dri3_buffer_from_pixmap_request_t;
   131  
   132  /**
   133   * @brief xcb_dri3_buffer_from_pixmap_reply_t
   134   **/
   135  typedef struct xcb_dri3_buffer_from_pixmap_reply_t {
   136      uint8_t  response_type;
   137      uint8_t  nfd;
   138      uint16_t sequence;
   139      uint32_t length;
   140      uint32_t size;
   141      uint16_t width;
   142      uint16_t height;
   143      uint16_t stride;
   144      uint8_t  depth;
   145      uint8_t  bpp;
   146      uint8_t  pad0[12];
   147  } xcb_dri3_buffer_from_pixmap_reply_t;
   148  
   149  /** Opcode for xcb_dri3_fence_from_fd. */
   150  #define XCB_DRI3_FENCE_FROM_FD 4
   151  
   152  /**
   153   * @brief xcb_dri3_fence_from_fd_request_t
   154   **/
   155  typedef struct xcb_dri3_fence_from_fd_request_t {
   156      uint8_t        major_opcode;
   157      uint8_t        minor_opcode;
   158      uint16_t       length;
   159      xcb_drawable_t drawable;
   160      uint32_t       fence;
   161      uint8_t        initially_triggered;
   162      uint8_t        pad0[3];
   163  } xcb_dri3_fence_from_fd_request_t;
   164  
   165  /**
   166   * @brief xcb_dri3_fd_from_fence_cookie_t
   167   **/
   168  typedef struct xcb_dri3_fd_from_fence_cookie_t {
   169      unsigned int sequence;
   170  } xcb_dri3_fd_from_fence_cookie_t;
   171  
   172  /** Opcode for xcb_dri3_fd_from_fence. */
   173  #define XCB_DRI3_FD_FROM_FENCE 5
   174  
   175  /**
   176   * @brief xcb_dri3_fd_from_fence_request_t
   177   **/
   178  typedef struct xcb_dri3_fd_from_fence_request_t {
   179      uint8_t        major_opcode;
   180      uint8_t        minor_opcode;
   181      uint16_t       length;
   182      xcb_drawable_t drawable;
   183      uint32_t       fence;
   184  } xcb_dri3_fd_from_fence_request_t;
   185  
   186  /**
   187   * @brief xcb_dri3_fd_from_fence_reply_t
   188   **/
   189  typedef struct xcb_dri3_fd_from_fence_reply_t {
   190      uint8_t  response_type;
   191      uint8_t  nfd;
   192      uint16_t sequence;
   193      uint32_t length;
   194      uint8_t  pad0[24];
   195  } xcb_dri3_fd_from_fence_reply_t;
   196  
   197  /**
   198   * @brief xcb_dri3_get_supported_modifiers_cookie_t
   199   **/
   200  typedef struct xcb_dri3_get_supported_modifiers_cookie_t {
   201      unsigned int sequence;
   202  } xcb_dri3_get_supported_modifiers_cookie_t;
   203  
   204  /** Opcode for xcb_dri3_get_supported_modifiers. */
   205  #define XCB_DRI3_GET_SUPPORTED_MODIFIERS 6
   206  
   207  /**
   208   * @brief xcb_dri3_get_supported_modifiers_request_t
   209   **/
   210  typedef struct xcb_dri3_get_supported_modifiers_request_t {
   211      uint8_t  major_opcode;
   212      uint8_t  minor_opcode;
   213      uint16_t length;
   214      uint32_t window;
   215      uint8_t  depth;
   216      uint8_t  bpp;
   217      uint8_t  pad0[2];
   218  } xcb_dri3_get_supported_modifiers_request_t;
   219  
   220  /**
   221   * @brief xcb_dri3_get_supported_modifiers_reply_t
   222   **/
   223  typedef struct xcb_dri3_get_supported_modifiers_reply_t {
   224      uint8_t  response_type;
   225      uint8_t  pad0;
   226      uint16_t sequence;
   227      uint32_t length;
   228      uint32_t num_window_modifiers;
   229      uint32_t num_screen_modifiers;
   230      uint8_t  pad1[16];
   231  } xcb_dri3_get_supported_modifiers_reply_t;
   232  
   233  /** Opcode for xcb_dri3_pixmap_from_buffers. */
   234  #define XCB_DRI3_PIXMAP_FROM_BUFFERS 7
   235  
   236  /**
   237   * @brief xcb_dri3_pixmap_from_buffers_request_t
   238   **/
   239  typedef struct xcb_dri3_pixmap_from_buffers_request_t {
   240      uint8_t      major_opcode;
   241      uint8_t      minor_opcode;
   242      uint16_t     length;
   243      xcb_pixmap_t pixmap;
   244      xcb_window_t window;
   245      uint8_t      num_buffers;
   246      uint8_t      pad0[3];
   247      uint16_t     width;
   248      uint16_t     height;
   249      uint32_t     stride0;
   250      uint32_t     offset0;
   251      uint32_t     stride1;
   252      uint32_t     offset1;
   253      uint32_t     stride2;
   254      uint32_t     offset2;
   255      uint32_t     stride3;
   256      uint32_t     offset3;
   257      uint8_t      depth;
   258      uint8_t      bpp;
   259      uint8_t      pad1[2];
   260      uint64_t     modifier;
   261  } xcb_dri3_pixmap_from_buffers_request_t;
   262  
   263  /**
   264   * @brief xcb_dri3_buffers_from_pixmap_cookie_t
   265   **/
   266  typedef struct xcb_dri3_buffers_from_pixmap_cookie_t {
   267      unsigned int sequence;
   268  } xcb_dri3_buffers_from_pixmap_cookie_t;
   269  
   270  /** Opcode for xcb_dri3_buffers_from_pixmap. */
   271  #define XCB_DRI3_BUFFERS_FROM_PIXMAP 8
   272  
   273  /**
   274   * @brief xcb_dri3_buffers_from_pixmap_request_t
   275   **/
   276  typedef struct xcb_dri3_buffers_from_pixmap_request_t {
   277      uint8_t      major_opcode;
   278      uint8_t      minor_opcode;
   279      uint16_t     length;
   280      xcb_pixmap_t pixmap;
   281  } xcb_dri3_buffers_from_pixmap_request_t;
   282  
   283  /**
   284   * @brief xcb_dri3_buffers_from_pixmap_reply_t
   285   **/
   286  typedef struct xcb_dri3_buffers_from_pixmap_reply_t {
   287      uint8_t  response_type;
   288      uint8_t  nfd;
   289      uint16_t sequence;
   290      uint32_t length;
   291      uint16_t width;
   292      uint16_t height;
   293      uint8_t  pad0[4];
   294      uint64_t modifier;
   295      uint8_t  depth;
   296      uint8_t  bpp;
   297      uint8_t  pad1[6];
   298  } xcb_dri3_buffers_from_pixmap_reply_t;
   299  
   300  /**
   301   *
   302   * @param c The connection
   303   * @return A cookie
   304   *
   305   * Delivers a request to the X server.
   306   *
   307   */
   308  xcb_dri3_query_version_cookie_t
   309  xcb_dri3_query_version (xcb_connection_t *c,
   310                          uint32_t          major_version,
   311                          uint32_t          minor_version);
   312  
   313  /**
   314   *
   315   * @param c The connection
   316   * @return A cookie
   317   *
   318   * Delivers a request to the X server.
   319   *
   320   * This form can be used only if the request will cause
   321   * a reply to be generated. Any returned error will be
   322   * placed in the event queue.
   323   */
   324  xcb_dri3_query_version_cookie_t
   325  xcb_dri3_query_version_unchecked (xcb_connection_t *c,
   326                                    uint32_t          major_version,
   327                                    uint32_t          minor_version);
   328  
   329  /**
   330   * Return the reply
   331   * @param c      The connection
   332   * @param cookie The cookie
   333   * @param e      The xcb_generic_error_t supplied
   334   *
   335   * Returns the reply of the request asked by
   336   *
   337   * The parameter @p e supplied to this function must be NULL if
   338   * xcb_dri3_query_version_unchecked(). is used.
   339   * Otherwise, it stores the error if any.
   340   *
   341   * The returned value must be freed by the caller using free().
   342   */
   343  xcb_dri3_query_version_reply_t *
   344  xcb_dri3_query_version_reply (xcb_connection_t                 *c,
   345                                xcb_dri3_query_version_cookie_t   cookie  /**< */,
   346                                xcb_generic_error_t             **e);
   347  
   348  /**
   349   *
   350   * @param c The connection
   351   * @return A cookie
   352   *
   353   * Delivers a request to the X server.
   354   *
   355   */
   356  xcb_dri3_open_cookie_t
   357  xcb_dri3_open (xcb_connection_t *c,
   358                 xcb_drawable_t    drawable,
   359                 uint32_t          provider);
   360  
   361  /**
   362   *
   363   * @param c The connection
   364   * @return A cookie
   365   *
   366   * Delivers a request to the X server.
   367   *
   368   * This form can be used only if the request will cause
   369   * a reply to be generated. Any returned error will be
   370   * placed in the event queue.
   371   */
   372  xcb_dri3_open_cookie_t
   373  xcb_dri3_open_unchecked (xcb_connection_t *c,
   374                           xcb_drawable_t    drawable,
   375                           uint32_t          provider);
   376  
   377  /**
   378   * Return the reply
   379   * @param c      The connection
   380   * @param cookie The cookie
   381   * @param e      The xcb_generic_error_t supplied
   382   *
   383   * Returns the reply of the request asked by
   384   *
   385   * The parameter @p e supplied to this function must be NULL if
   386   * xcb_dri3_open_unchecked(). is used.
   387   * Otherwise, it stores the error if any.
   388   *
   389   * The returned value must be freed by the caller using free().
   390   */
   391  xcb_dri3_open_reply_t *
   392  xcb_dri3_open_reply (xcb_connection_t        *c,
   393                       xcb_dri3_open_cookie_t   cookie  /**< */,
   394                       xcb_generic_error_t    **e);
   395  
   396  /**
   397   * Return the reply fds
   398   * @param c      The connection
   399   * @param reply  The reply
   400   *
   401   * Returns the array of reply fds of the request asked by
   402   *
   403   * The returned value must be freed by the caller using free().
   404   */
   405  int *
   406  xcb_dri3_open_reply_fds (xcb_connection_t       *c  /**< */,
   407                           xcb_dri3_open_reply_t  *reply);
   408  
   409  /**
   410   *
   411   * @param c The connection
   412   * @return A cookie
   413   *
   414   * Delivers a request to the X server.
   415   *
   416   * This form can be used only if the request will not cause
   417   * a reply to be generated. Any returned error will be
   418   * saved for handling by xcb_request_check().
   419   */
   420  xcb_void_cookie_t
   421  xcb_dri3_pixmap_from_buffer_checked (xcb_connection_t *c,
   422                                       xcb_pixmap_t      pixmap,
   423                                       xcb_drawable_t    drawable,
   424                                       uint32_t          size,
   425                                       uint16_t          width,
   426                                       uint16_t          height,
   427                                       uint16_t          stride,
   428                                       uint8_t           depth,
   429                                       uint8_t           bpp,
   430                                       int32_t           pixmap_fd);
   431  
   432  /**
   433   *
   434   * @param c The connection
   435   * @return A cookie
   436   *
   437   * Delivers a request to the X server.
   438   *
   439   */
   440  xcb_void_cookie_t
   441  xcb_dri3_pixmap_from_buffer (xcb_connection_t *c,
   442                               xcb_pixmap_t      pixmap,
   443                               xcb_drawable_t    drawable,
   444                               uint32_t          size,
   445                               uint16_t          width,
   446                               uint16_t          height,
   447                               uint16_t          stride,
   448                               uint8_t           depth,
   449                               uint8_t           bpp,
   450                               int32_t           pixmap_fd);
   451  
   452  /**
   453   *
   454   * @param c The connection
   455   * @return A cookie
   456   *
   457   * Delivers a request to the X server.
   458   *
   459   */
   460  xcb_dri3_buffer_from_pixmap_cookie_t
   461  xcb_dri3_buffer_from_pixmap (xcb_connection_t *c,
   462                               xcb_pixmap_t      pixmap);
   463  
   464  /**
   465   *
   466   * @param c The connection
   467   * @return A cookie
   468   *
   469   * Delivers a request to the X server.
   470   *
   471   * This form can be used only if the request will cause
   472   * a reply to be generated. Any returned error will be
   473   * placed in the event queue.
   474   */
   475  xcb_dri3_buffer_from_pixmap_cookie_t
   476  xcb_dri3_buffer_from_pixmap_unchecked (xcb_connection_t *c,
   477                                         xcb_pixmap_t      pixmap);
   478  
   479  /**
   480   * Return the reply
   481   * @param c      The connection
   482   * @param cookie The cookie
   483   * @param e      The xcb_generic_error_t supplied
   484   *
   485   * Returns the reply of the request asked by
   486   *
   487   * The parameter @p e supplied to this function must be NULL if
   488   * xcb_dri3_buffer_from_pixmap_unchecked(). is used.
   489   * Otherwise, it stores the error if any.
   490   *
   491   * The returned value must be freed by the caller using free().
   492   */
   493  xcb_dri3_buffer_from_pixmap_reply_t *
   494  xcb_dri3_buffer_from_pixmap_reply (xcb_connection_t                      *c,
   495                                     xcb_dri3_buffer_from_pixmap_cookie_t   cookie  /**< */,
   496                                     xcb_generic_error_t                  **e);
   497  
   498  /**
   499   * Return the reply fds
   500   * @param c      The connection
   501   * @param reply  The reply
   502   *
   503   * Returns the array of reply fds of the request asked by
   504   *
   505   * The returned value must be freed by the caller using free().
   506   */
   507  int *
   508  xcb_dri3_buffer_from_pixmap_reply_fds (xcb_connection_t                     *c  /**< */,
   509                                         xcb_dri3_buffer_from_pixmap_reply_t  *reply);
   510  
   511  /**
   512   *
   513   * @param c The connection
   514   * @return A cookie
   515   *
   516   * Delivers a request to the X server.
   517   *
   518   * This form can be used only if the request will not cause
   519   * a reply to be generated. Any returned error will be
   520   * saved for handling by xcb_request_check().
   521   */
   522  xcb_void_cookie_t
   523  xcb_dri3_fence_from_fd_checked (xcb_connection_t *c,
   524                                  xcb_drawable_t    drawable,
   525                                  uint32_t          fence,
   526                                  uint8_t           initially_triggered,
   527                                  int32_t           fence_fd);
   528  
   529  /**
   530   *
   531   * @param c The connection
   532   * @return A cookie
   533   *
   534   * Delivers a request to the X server.
   535   *
   536   */
   537  xcb_void_cookie_t
   538  xcb_dri3_fence_from_fd (xcb_connection_t *c,
   539                          xcb_drawable_t    drawable,
   540                          uint32_t          fence,
   541                          uint8_t           initially_triggered,
   542                          int32_t           fence_fd);
   543  
   544  /**
   545   *
   546   * @param c The connection
   547   * @return A cookie
   548   *
   549   * Delivers a request to the X server.
   550   *
   551   */
   552  xcb_dri3_fd_from_fence_cookie_t
   553  xcb_dri3_fd_from_fence (xcb_connection_t *c,
   554                          xcb_drawable_t    drawable,
   555                          uint32_t          fence);
   556  
   557  /**
   558   *
   559   * @param c The connection
   560   * @return A cookie
   561   *
   562   * Delivers a request to the X server.
   563   *
   564   * This form can be used only if the request will cause
   565   * a reply to be generated. Any returned error will be
   566   * placed in the event queue.
   567   */
   568  xcb_dri3_fd_from_fence_cookie_t
   569  xcb_dri3_fd_from_fence_unchecked (xcb_connection_t *c,
   570                                    xcb_drawable_t    drawable,
   571                                    uint32_t          fence);
   572  
   573  /**
   574   * Return the reply
   575   * @param c      The connection
   576   * @param cookie The cookie
   577   * @param e      The xcb_generic_error_t supplied
   578   *
   579   * Returns the reply of the request asked by
   580   *
   581   * The parameter @p e supplied to this function must be NULL if
   582   * xcb_dri3_fd_from_fence_unchecked(). is used.
   583   * Otherwise, it stores the error if any.
   584   *
   585   * The returned value must be freed by the caller using free().
   586   */
   587  xcb_dri3_fd_from_fence_reply_t *
   588  xcb_dri3_fd_from_fence_reply (xcb_connection_t                 *c,
   589                                xcb_dri3_fd_from_fence_cookie_t   cookie  /**< */,
   590                                xcb_generic_error_t             **e);
   591  
   592  /**
   593   * Return the reply fds
   594   * @param c      The connection
   595   * @param reply  The reply
   596   *
   597   * Returns the array of reply fds of the request asked by
   598   *
   599   * The returned value must be freed by the caller using free().
   600   */
   601  int *
   602  xcb_dri3_fd_from_fence_reply_fds (xcb_connection_t                *c  /**< */,
   603                                    xcb_dri3_fd_from_fence_reply_t  *reply);
   604  
   605  int
   606  xcb_dri3_get_supported_modifiers_sizeof (const void  *_buffer);
   607  
   608  /**
   609   *
   610   * @param c The connection
   611   * @return A cookie
   612   *
   613   * Delivers a request to the X server.
   614   *
   615   */
   616  xcb_dri3_get_supported_modifiers_cookie_t
   617  xcb_dri3_get_supported_modifiers (xcb_connection_t *c,
   618                                    uint32_t          window,
   619                                    uint8_t           depth,
   620                                    uint8_t           bpp);
   621  
   622  /**
   623   *
   624   * @param c The connection
   625   * @return A cookie
   626   *
   627   * Delivers a request to the X server.
   628   *
   629   * This form can be used only if the request will cause
   630   * a reply to be generated. Any returned error will be
   631   * placed in the event queue.
   632   */
   633  xcb_dri3_get_supported_modifiers_cookie_t
   634  xcb_dri3_get_supported_modifiers_unchecked (xcb_connection_t *c,
   635                                              uint32_t          window,
   636                                              uint8_t           depth,
   637                                              uint8_t           bpp);
   638  
   639  uint64_t *
   640  xcb_dri3_get_supported_modifiers_window_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
   641  
   642  int
   643  xcb_dri3_get_supported_modifiers_window_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
   644  
   645  xcb_generic_iterator_t
   646  xcb_dri3_get_supported_modifiers_window_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
   647  
   648  uint64_t *
   649  xcb_dri3_get_supported_modifiers_screen_modifiers (const xcb_dri3_get_supported_modifiers_reply_t *R);
   650  
   651  int
   652  xcb_dri3_get_supported_modifiers_screen_modifiers_length (const xcb_dri3_get_supported_modifiers_reply_t *R);
   653  
   654  xcb_generic_iterator_t
   655  xcb_dri3_get_supported_modifiers_screen_modifiers_end (const xcb_dri3_get_supported_modifiers_reply_t *R);
   656  
   657  /**
   658   * Return the reply
   659   * @param c      The connection
   660   * @param cookie The cookie
   661   * @param e      The xcb_generic_error_t supplied
   662   *
   663   * Returns the reply of the request asked by
   664   *
   665   * The parameter @p e supplied to this function must be NULL if
   666   * xcb_dri3_get_supported_modifiers_unchecked(). is used.
   667   * Otherwise, it stores the error if any.
   668   *
   669   * The returned value must be freed by the caller using free().
   670   */
   671  xcb_dri3_get_supported_modifiers_reply_t *
   672  xcb_dri3_get_supported_modifiers_reply (xcb_connection_t                           *c,
   673                                          xcb_dri3_get_supported_modifiers_cookie_t   cookie  /**< */,
   674                                          xcb_generic_error_t                       **e);
   675  
   676  /**
   677   *
   678   * @param c The connection
   679   * @return A cookie
   680   *
   681   * Delivers a request to the X server.
   682   *
   683   * This form can be used only if the request will not cause
   684   * a reply to be generated. Any returned error will be
   685   * saved for handling by xcb_request_check().
   686   */
   687  xcb_void_cookie_t
   688  xcb_dri3_pixmap_from_buffers_checked (xcb_connection_t *c,
   689                                        xcb_pixmap_t      pixmap,
   690                                        xcb_window_t      window,
   691                                        uint8_t           num_buffers,
   692                                        uint16_t          width,
   693                                        uint16_t          height,
   694                                        uint32_t          stride0,
   695                                        uint32_t          offset0,
   696                                        uint32_t          stride1,
   697                                        uint32_t          offset1,
   698                                        uint32_t          stride2,
   699                                        uint32_t          offset2,
   700                                        uint32_t          stride3,
   701                                        uint32_t          offset3,
   702                                        uint8_t           depth,
   703                                        uint8_t           bpp,
   704                                        uint64_t          modifier,
   705                                        const int32_t    *buffers);
   706  
   707  /**
   708   *
   709   * @param c The connection
   710   * @return A cookie
   711   *
   712   * Delivers a request to the X server.
   713   *
   714   */
   715  xcb_void_cookie_t
   716  xcb_dri3_pixmap_from_buffers (xcb_connection_t *c,
   717                                xcb_pixmap_t      pixmap,
   718                                xcb_window_t      window,
   719                                uint8_t           num_buffers,
   720                                uint16_t          width,
   721                                uint16_t          height,
   722                                uint32_t          stride0,
   723                                uint32_t          offset0,
   724                                uint32_t          stride1,
   725                                uint32_t          offset1,
   726                                uint32_t          stride2,
   727                                uint32_t          offset2,
   728                                uint32_t          stride3,
   729                                uint32_t          offset3,
   730                                uint8_t           depth,
   731                                uint8_t           bpp,
   732                                uint64_t          modifier,
   733                                const int32_t    *buffers);
   734  
   735  int
   736  xcb_dri3_buffers_from_pixmap_sizeof (const void  *_buffer,
   737                                       int32_t      buffers);
   738  
   739  /**
   740   *
   741   * @param c The connection
   742   * @return A cookie
   743   *
   744   * Delivers a request to the X server.
   745   *
   746   */
   747  xcb_dri3_buffers_from_pixmap_cookie_t
   748  xcb_dri3_buffers_from_pixmap (xcb_connection_t *c,
   749                                xcb_pixmap_t      pixmap);
   750  
   751  /**
   752   *
   753   * @param c The connection
   754   * @return A cookie
   755   *
   756   * Delivers a request to the X server.
   757   *
   758   * This form can be used only if the request will cause
   759   * a reply to be generated. Any returned error will be
   760   * placed in the event queue.
   761   */
   762  xcb_dri3_buffers_from_pixmap_cookie_t
   763  xcb_dri3_buffers_from_pixmap_unchecked (xcb_connection_t *c,
   764                                          xcb_pixmap_t      pixmap);
   765  
   766  uint32_t *
   767  xcb_dri3_buffers_from_pixmap_strides (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   768  
   769  int
   770  xcb_dri3_buffers_from_pixmap_strides_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   771  
   772  xcb_generic_iterator_t
   773  xcb_dri3_buffers_from_pixmap_strides_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   774  
   775  uint32_t *
   776  xcb_dri3_buffers_from_pixmap_offsets (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   777  
   778  int
   779  xcb_dri3_buffers_from_pixmap_offsets_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   780  
   781  xcb_generic_iterator_t
   782  xcb_dri3_buffers_from_pixmap_offsets_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   783  
   784  int32_t *
   785  xcb_dri3_buffers_from_pixmap_buffers (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   786  
   787  int
   788  xcb_dri3_buffers_from_pixmap_buffers_length (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   789  
   790  xcb_generic_iterator_t
   791  xcb_dri3_buffers_from_pixmap_buffers_end (const xcb_dri3_buffers_from_pixmap_reply_t *R);
   792  
   793  /**
   794   * Return the reply
   795   * @param c      The connection
   796   * @param cookie The cookie
   797   * @param e      The xcb_generic_error_t supplied
   798   *
   799   * Returns the reply of the request asked by
   800   *
   801   * The parameter @p e supplied to this function must be NULL if
   802   * xcb_dri3_buffers_from_pixmap_unchecked(). is used.
   803   * Otherwise, it stores the error if any.
   804   *
   805   * The returned value must be freed by the caller using free().
   806   */
   807  xcb_dri3_buffers_from_pixmap_reply_t *
   808  xcb_dri3_buffers_from_pixmap_reply (xcb_connection_t                       *c,
   809                                      xcb_dri3_buffers_from_pixmap_cookie_t   cookie  /**< */,
   810                                      xcb_generic_error_t                   **e);
   811  
   812  /**
   813   * Return the reply fds
   814   * @param c      The connection
   815   * @param reply  The reply
   816   *
   817   * Returns the array of reply fds of the request asked by
   818   *
   819   * The returned value must be freed by the caller using free().
   820   */
   821  int *
   822  xcb_dri3_buffers_from_pixmap_reply_fds (xcb_connection_t                      *c  /**< */,
   823                                          xcb_dri3_buffers_from_pixmap_reply_t  *reply);
   824  
   825  
   826  #ifdef __cplusplus
   827  }
   828  #endif
   829  
   830  #endif
   831  
   832  /**
   833   * @}
   834   */