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

     1  /*
     2   * This file generated automatically from xf86dri.xml by c_client.py.
     3   * Edit at your peril.
     4   */
     5  
     6  /**
     7   * @defgroup XCB_XF86Dri_API XCB XF86Dri API
     8   * @brief XF86Dri XCB Protocol Implementation.
     9   * @{
    10   **/
    11  
    12  #ifndef __XF86DRI_H
    13  #define __XF86DRI_H
    14  
    15  #include "xcb.h"
    16  
    17  #ifdef __cplusplus
    18  extern "C" {
    19  #endif
    20  
    21  #define XCB_XF86DRI_MAJOR_VERSION 4
    22  #define XCB_XF86DRI_MINOR_VERSION 1
    23  
    24  extern xcb_extension_t xcb_xf86dri_id;
    25  
    26  /**
    27   * @brief xcb_xf86dri_drm_clip_rect_t
    28   **/
    29  typedef struct xcb_xf86dri_drm_clip_rect_t {
    30      int16_t x1;
    31      int16_t y1;
    32      int16_t x2;
    33      int16_t x3;
    34  } xcb_xf86dri_drm_clip_rect_t;
    35  
    36  /**
    37   * @brief xcb_xf86dri_drm_clip_rect_iterator_t
    38   **/
    39  typedef struct xcb_xf86dri_drm_clip_rect_iterator_t {
    40      xcb_xf86dri_drm_clip_rect_t *data;
    41      int                          rem;
    42      int                          index;
    43  } xcb_xf86dri_drm_clip_rect_iterator_t;
    44  
    45  /**
    46   * @brief xcb_xf86dri_query_version_cookie_t
    47   **/
    48  typedef struct xcb_xf86dri_query_version_cookie_t {
    49      unsigned int sequence;
    50  } xcb_xf86dri_query_version_cookie_t;
    51  
    52  /** Opcode for xcb_xf86dri_query_version. */
    53  #define XCB_XF86DRI_QUERY_VERSION 0
    54  
    55  /**
    56   * @brief xcb_xf86dri_query_version_request_t
    57   **/
    58  typedef struct xcb_xf86dri_query_version_request_t {
    59      uint8_t  major_opcode;
    60      uint8_t  minor_opcode;
    61      uint16_t length;
    62  } xcb_xf86dri_query_version_request_t;
    63  
    64  /**
    65   * @brief xcb_xf86dri_query_version_reply_t
    66   **/
    67  typedef struct xcb_xf86dri_query_version_reply_t {
    68      uint8_t  response_type;
    69      uint8_t  pad0;
    70      uint16_t sequence;
    71      uint32_t length;
    72      uint16_t dri_major_version;
    73      uint16_t dri_minor_version;
    74      uint32_t dri_minor_patch;
    75  } xcb_xf86dri_query_version_reply_t;
    76  
    77  /**
    78   * @brief xcb_xf86dri_query_direct_rendering_capable_cookie_t
    79   **/
    80  typedef struct xcb_xf86dri_query_direct_rendering_capable_cookie_t {
    81      unsigned int sequence;
    82  } xcb_xf86dri_query_direct_rendering_capable_cookie_t;
    83  
    84  /** Opcode for xcb_xf86dri_query_direct_rendering_capable. */
    85  #define XCB_XF86DRI_QUERY_DIRECT_RENDERING_CAPABLE 1
    86  
    87  /**
    88   * @brief xcb_xf86dri_query_direct_rendering_capable_request_t
    89   **/
    90  typedef struct xcb_xf86dri_query_direct_rendering_capable_request_t {
    91      uint8_t  major_opcode;
    92      uint8_t  minor_opcode;
    93      uint16_t length;
    94      uint32_t screen;
    95  } xcb_xf86dri_query_direct_rendering_capable_request_t;
    96  
    97  /**
    98   * @brief xcb_xf86dri_query_direct_rendering_capable_reply_t
    99   **/
   100  typedef struct xcb_xf86dri_query_direct_rendering_capable_reply_t {
   101      uint8_t  response_type;
   102      uint8_t  pad0;
   103      uint16_t sequence;
   104      uint32_t length;
   105      uint8_t  is_capable;
   106  } xcb_xf86dri_query_direct_rendering_capable_reply_t;
   107  
   108  /**
   109   * @brief xcb_xf86dri_open_connection_cookie_t
   110   **/
   111  typedef struct xcb_xf86dri_open_connection_cookie_t {
   112      unsigned int sequence;
   113  } xcb_xf86dri_open_connection_cookie_t;
   114  
   115  /** Opcode for xcb_xf86dri_open_connection. */
   116  #define XCB_XF86DRI_OPEN_CONNECTION 2
   117  
   118  /**
   119   * @brief xcb_xf86dri_open_connection_request_t
   120   **/
   121  typedef struct xcb_xf86dri_open_connection_request_t {
   122      uint8_t  major_opcode;
   123      uint8_t  minor_opcode;
   124      uint16_t length;
   125      uint32_t screen;
   126  } xcb_xf86dri_open_connection_request_t;
   127  
   128  /**
   129   * @brief xcb_xf86dri_open_connection_reply_t
   130   **/
   131  typedef struct xcb_xf86dri_open_connection_reply_t {
   132      uint8_t  response_type;
   133      uint8_t  pad0;
   134      uint16_t sequence;
   135      uint32_t length;
   136      uint32_t sarea_handle_low;
   137      uint32_t sarea_handle_high;
   138      uint32_t bus_id_len;
   139      uint8_t  pad1[12];
   140  } xcb_xf86dri_open_connection_reply_t;
   141  
   142  /** Opcode for xcb_xf86dri_close_connection. */
   143  #define XCB_XF86DRI_CLOSE_CONNECTION 3
   144  
   145  /**
   146   * @brief xcb_xf86dri_close_connection_request_t
   147   **/
   148  typedef struct xcb_xf86dri_close_connection_request_t {
   149      uint8_t  major_opcode;
   150      uint8_t  minor_opcode;
   151      uint16_t length;
   152      uint32_t screen;
   153  } xcb_xf86dri_close_connection_request_t;
   154  
   155  /**
   156   * @brief xcb_xf86dri_get_client_driver_name_cookie_t
   157   **/
   158  typedef struct xcb_xf86dri_get_client_driver_name_cookie_t {
   159      unsigned int sequence;
   160  } xcb_xf86dri_get_client_driver_name_cookie_t;
   161  
   162  /** Opcode for xcb_xf86dri_get_client_driver_name. */
   163  #define XCB_XF86DRI_GET_CLIENT_DRIVER_NAME 4
   164  
   165  /**
   166   * @brief xcb_xf86dri_get_client_driver_name_request_t
   167   **/
   168  typedef struct xcb_xf86dri_get_client_driver_name_request_t {
   169      uint8_t  major_opcode;
   170      uint8_t  minor_opcode;
   171      uint16_t length;
   172      uint32_t screen;
   173  } xcb_xf86dri_get_client_driver_name_request_t;
   174  
   175  /**
   176   * @brief xcb_xf86dri_get_client_driver_name_reply_t
   177   **/
   178  typedef struct xcb_xf86dri_get_client_driver_name_reply_t {
   179      uint8_t  response_type;
   180      uint8_t  pad0;
   181      uint16_t sequence;
   182      uint32_t length;
   183      uint32_t client_driver_major_version;
   184      uint32_t client_driver_minor_version;
   185      uint32_t client_driver_patch_version;
   186      uint32_t client_driver_name_len;
   187      uint8_t  pad1[8];
   188  } xcb_xf86dri_get_client_driver_name_reply_t;
   189  
   190  /**
   191   * @brief xcb_xf86dri_create_context_cookie_t
   192   **/
   193  typedef struct xcb_xf86dri_create_context_cookie_t {
   194      unsigned int sequence;
   195  } xcb_xf86dri_create_context_cookie_t;
   196  
   197  /** Opcode for xcb_xf86dri_create_context. */
   198  #define XCB_XF86DRI_CREATE_CONTEXT 5
   199  
   200  /**
   201   * @brief xcb_xf86dri_create_context_request_t
   202   **/
   203  typedef struct xcb_xf86dri_create_context_request_t {
   204      uint8_t  major_opcode;
   205      uint8_t  minor_opcode;
   206      uint16_t length;
   207      uint32_t screen;
   208      uint32_t visual;
   209      uint32_t context;
   210  } xcb_xf86dri_create_context_request_t;
   211  
   212  /**
   213   * @brief xcb_xf86dri_create_context_reply_t
   214   **/
   215  typedef struct xcb_xf86dri_create_context_reply_t {
   216      uint8_t  response_type;
   217      uint8_t  pad0;
   218      uint16_t sequence;
   219      uint32_t length;
   220      uint32_t hw_context;
   221  } xcb_xf86dri_create_context_reply_t;
   222  
   223  /** Opcode for xcb_xf86dri_destroy_context. */
   224  #define XCB_XF86DRI_DESTROY_CONTEXT 6
   225  
   226  /**
   227   * @brief xcb_xf86dri_destroy_context_request_t
   228   **/
   229  typedef struct xcb_xf86dri_destroy_context_request_t {
   230      uint8_t  major_opcode;
   231      uint8_t  minor_opcode;
   232      uint16_t length;
   233      uint32_t screen;
   234      uint32_t context;
   235  } xcb_xf86dri_destroy_context_request_t;
   236  
   237  /**
   238   * @brief xcb_xf86dri_create_drawable_cookie_t
   239   **/
   240  typedef struct xcb_xf86dri_create_drawable_cookie_t {
   241      unsigned int sequence;
   242  } xcb_xf86dri_create_drawable_cookie_t;
   243  
   244  /** Opcode for xcb_xf86dri_create_drawable. */
   245  #define XCB_XF86DRI_CREATE_DRAWABLE 7
   246  
   247  /**
   248   * @brief xcb_xf86dri_create_drawable_request_t
   249   **/
   250  typedef struct xcb_xf86dri_create_drawable_request_t {
   251      uint8_t  major_opcode;
   252      uint8_t  minor_opcode;
   253      uint16_t length;
   254      uint32_t screen;
   255      uint32_t drawable;
   256  } xcb_xf86dri_create_drawable_request_t;
   257  
   258  /**
   259   * @brief xcb_xf86dri_create_drawable_reply_t
   260   **/
   261  typedef struct xcb_xf86dri_create_drawable_reply_t {
   262      uint8_t  response_type;
   263      uint8_t  pad0;
   264      uint16_t sequence;
   265      uint32_t length;
   266      uint32_t hw_drawable_handle;
   267  } xcb_xf86dri_create_drawable_reply_t;
   268  
   269  /** Opcode for xcb_xf86dri_destroy_drawable. */
   270  #define XCB_XF86DRI_DESTROY_DRAWABLE 8
   271  
   272  /**
   273   * @brief xcb_xf86dri_destroy_drawable_request_t
   274   **/
   275  typedef struct xcb_xf86dri_destroy_drawable_request_t {
   276      uint8_t  major_opcode;
   277      uint8_t  minor_opcode;
   278      uint16_t length;
   279      uint32_t screen;
   280      uint32_t drawable;
   281  } xcb_xf86dri_destroy_drawable_request_t;
   282  
   283  /**
   284   * @brief xcb_xf86dri_get_drawable_info_cookie_t
   285   **/
   286  typedef struct xcb_xf86dri_get_drawable_info_cookie_t {
   287      unsigned int sequence;
   288  } xcb_xf86dri_get_drawable_info_cookie_t;
   289  
   290  /** Opcode for xcb_xf86dri_get_drawable_info. */
   291  #define XCB_XF86DRI_GET_DRAWABLE_INFO 9
   292  
   293  /**
   294   * @brief xcb_xf86dri_get_drawable_info_request_t
   295   **/
   296  typedef struct xcb_xf86dri_get_drawable_info_request_t {
   297      uint8_t  major_opcode;
   298      uint8_t  minor_opcode;
   299      uint16_t length;
   300      uint32_t screen;
   301      uint32_t drawable;
   302  } xcb_xf86dri_get_drawable_info_request_t;
   303  
   304  /**
   305   * @brief xcb_xf86dri_get_drawable_info_reply_t
   306   **/
   307  typedef struct xcb_xf86dri_get_drawable_info_reply_t {
   308      uint8_t  response_type;
   309      uint8_t  pad0;
   310      uint16_t sequence;
   311      uint32_t length;
   312      uint32_t drawable_table_index;
   313      uint32_t drawable_table_stamp;
   314      int16_t  drawable_origin_X;
   315      int16_t  drawable_origin_Y;
   316      int16_t  drawable_size_W;
   317      int16_t  drawable_size_H;
   318      uint32_t num_clip_rects;
   319      int16_t  back_x;
   320      int16_t  back_y;
   321      uint32_t num_back_clip_rects;
   322  } xcb_xf86dri_get_drawable_info_reply_t;
   323  
   324  /**
   325   * @brief xcb_xf86dri_get_device_info_cookie_t
   326   **/
   327  typedef struct xcb_xf86dri_get_device_info_cookie_t {
   328      unsigned int sequence;
   329  } xcb_xf86dri_get_device_info_cookie_t;
   330  
   331  /** Opcode for xcb_xf86dri_get_device_info. */
   332  #define XCB_XF86DRI_GET_DEVICE_INFO 10
   333  
   334  /**
   335   * @brief xcb_xf86dri_get_device_info_request_t
   336   **/
   337  typedef struct xcb_xf86dri_get_device_info_request_t {
   338      uint8_t  major_opcode;
   339      uint8_t  minor_opcode;
   340      uint16_t length;
   341      uint32_t screen;
   342  } xcb_xf86dri_get_device_info_request_t;
   343  
   344  /**
   345   * @brief xcb_xf86dri_get_device_info_reply_t
   346   **/
   347  typedef struct xcb_xf86dri_get_device_info_reply_t {
   348      uint8_t  response_type;
   349      uint8_t  pad0;
   350      uint16_t sequence;
   351      uint32_t length;
   352      uint32_t framebuffer_handle_low;
   353      uint32_t framebuffer_handle_high;
   354      uint32_t framebuffer_origin_offset;
   355      uint32_t framebuffer_size;
   356      uint32_t framebuffer_stride;
   357      uint32_t device_private_size;
   358  } xcb_xf86dri_get_device_info_reply_t;
   359  
   360  /**
   361   * @brief xcb_xf86dri_auth_connection_cookie_t
   362   **/
   363  typedef struct xcb_xf86dri_auth_connection_cookie_t {
   364      unsigned int sequence;
   365  } xcb_xf86dri_auth_connection_cookie_t;
   366  
   367  /** Opcode for xcb_xf86dri_auth_connection. */
   368  #define XCB_XF86DRI_AUTH_CONNECTION 11
   369  
   370  /**
   371   * @brief xcb_xf86dri_auth_connection_request_t
   372   **/
   373  typedef struct xcb_xf86dri_auth_connection_request_t {
   374      uint8_t  major_opcode;
   375      uint8_t  minor_opcode;
   376      uint16_t length;
   377      uint32_t screen;
   378      uint32_t magic;
   379  } xcb_xf86dri_auth_connection_request_t;
   380  
   381  /**
   382   * @brief xcb_xf86dri_auth_connection_reply_t
   383   **/
   384  typedef struct xcb_xf86dri_auth_connection_reply_t {
   385      uint8_t  response_type;
   386      uint8_t  pad0;
   387      uint16_t sequence;
   388      uint32_t length;
   389      uint32_t authenticated;
   390  } xcb_xf86dri_auth_connection_reply_t;
   391  
   392  /**
   393   * Get the next element of the iterator
   394   * @param i Pointer to a xcb_xf86dri_drm_clip_rect_iterator_t
   395   *
   396   * Get the next element in the iterator. The member rem is
   397   * decreased by one. The member data points to the next
   398   * element. The member index is increased by sizeof(xcb_xf86dri_drm_clip_rect_t)
   399   */
   400  void
   401  xcb_xf86dri_drm_clip_rect_next (xcb_xf86dri_drm_clip_rect_iterator_t *i);
   402  
   403  /**
   404   * Return the iterator pointing to the last element
   405   * @param i An xcb_xf86dri_drm_clip_rect_iterator_t
   406   * @return  The iterator pointing to the last element
   407   *
   408   * Set the current element in the iterator to the last element.
   409   * The member rem is set to 0. The member data points to the
   410   * last element.
   411   */
   412  xcb_generic_iterator_t
   413  xcb_xf86dri_drm_clip_rect_end (xcb_xf86dri_drm_clip_rect_iterator_t i);
   414  
   415  /**
   416   *
   417   * @param c The connection
   418   * @return A cookie
   419   *
   420   * Delivers a request to the X server.
   421   *
   422   */
   423  xcb_xf86dri_query_version_cookie_t
   424  xcb_xf86dri_query_version (xcb_connection_t *c);
   425  
   426  /**
   427   *
   428   * @param c The connection
   429   * @return A cookie
   430   *
   431   * Delivers a request to the X server.
   432   *
   433   * This form can be used only if the request will cause
   434   * a reply to be generated. Any returned error will be
   435   * placed in the event queue.
   436   */
   437  xcb_xf86dri_query_version_cookie_t
   438  xcb_xf86dri_query_version_unchecked (xcb_connection_t *c);
   439  
   440  /**
   441   * Return the reply
   442   * @param c      The connection
   443   * @param cookie The cookie
   444   * @param e      The xcb_generic_error_t supplied
   445   *
   446   * Returns the reply of the request asked by
   447   *
   448   * The parameter @p e supplied to this function must be NULL if
   449   * xcb_xf86dri_query_version_unchecked(). is used.
   450   * Otherwise, it stores the error if any.
   451   *
   452   * The returned value must be freed by the caller using free().
   453   */
   454  xcb_xf86dri_query_version_reply_t *
   455  xcb_xf86dri_query_version_reply (xcb_connection_t                    *c,
   456                                   xcb_xf86dri_query_version_cookie_t   cookie  /**< */,
   457                                   xcb_generic_error_t                **e);
   458  
   459  /**
   460   *
   461   * @param c The connection
   462   * @return A cookie
   463   *
   464   * Delivers a request to the X server.
   465   *
   466   */
   467  xcb_xf86dri_query_direct_rendering_capable_cookie_t
   468  xcb_xf86dri_query_direct_rendering_capable (xcb_connection_t *c,
   469                                              uint32_t          screen);
   470  
   471  /**
   472   *
   473   * @param c The connection
   474   * @return A cookie
   475   *
   476   * Delivers a request to the X server.
   477   *
   478   * This form can be used only if the request will cause
   479   * a reply to be generated. Any returned error will be
   480   * placed in the event queue.
   481   */
   482  xcb_xf86dri_query_direct_rendering_capable_cookie_t
   483  xcb_xf86dri_query_direct_rendering_capable_unchecked (xcb_connection_t *c,
   484                                                        uint32_t          screen);
   485  
   486  /**
   487   * Return the reply
   488   * @param c      The connection
   489   * @param cookie The cookie
   490   * @param e      The xcb_generic_error_t supplied
   491   *
   492   * Returns the reply of the request asked by
   493   *
   494   * The parameter @p e supplied to this function must be NULL if
   495   * xcb_xf86dri_query_direct_rendering_capable_unchecked(). is used.
   496   * Otherwise, it stores the error if any.
   497   *
   498   * The returned value must be freed by the caller using free().
   499   */
   500  xcb_xf86dri_query_direct_rendering_capable_reply_t *
   501  xcb_xf86dri_query_direct_rendering_capable_reply (xcb_connection_t                                     *c,
   502                                                    xcb_xf86dri_query_direct_rendering_capable_cookie_t   cookie  /**< */,
   503                                                    xcb_generic_error_t                                 **e);
   504  
   505  int
   506  xcb_xf86dri_open_connection_sizeof (const void  *_buffer);
   507  
   508  /**
   509   *
   510   * @param c The connection
   511   * @return A cookie
   512   *
   513   * Delivers a request to the X server.
   514   *
   515   */
   516  xcb_xf86dri_open_connection_cookie_t
   517  xcb_xf86dri_open_connection (xcb_connection_t *c,
   518                               uint32_t          screen);
   519  
   520  /**
   521   *
   522   * @param c The connection
   523   * @return A cookie
   524   *
   525   * Delivers a request to the X server.
   526   *
   527   * This form can be used only if the request will cause
   528   * a reply to be generated. Any returned error will be
   529   * placed in the event queue.
   530   */
   531  xcb_xf86dri_open_connection_cookie_t
   532  xcb_xf86dri_open_connection_unchecked (xcb_connection_t *c,
   533                                         uint32_t          screen);
   534  
   535  char *
   536  xcb_xf86dri_open_connection_bus_id (const xcb_xf86dri_open_connection_reply_t *R);
   537  
   538  int
   539  xcb_xf86dri_open_connection_bus_id_length (const xcb_xf86dri_open_connection_reply_t *R);
   540  
   541  xcb_generic_iterator_t
   542  xcb_xf86dri_open_connection_bus_id_end (const xcb_xf86dri_open_connection_reply_t *R);
   543  
   544  /**
   545   * Return the reply
   546   * @param c      The connection
   547   * @param cookie The cookie
   548   * @param e      The xcb_generic_error_t supplied
   549   *
   550   * Returns the reply of the request asked by
   551   *
   552   * The parameter @p e supplied to this function must be NULL if
   553   * xcb_xf86dri_open_connection_unchecked(). is used.
   554   * Otherwise, it stores the error if any.
   555   *
   556   * The returned value must be freed by the caller using free().
   557   */
   558  xcb_xf86dri_open_connection_reply_t *
   559  xcb_xf86dri_open_connection_reply (xcb_connection_t                      *c,
   560                                     xcb_xf86dri_open_connection_cookie_t   cookie  /**< */,
   561                                     xcb_generic_error_t                  **e);
   562  
   563  /**
   564   *
   565   * @param c The connection
   566   * @return A cookie
   567   *
   568   * Delivers a request to the X server.
   569   *
   570   * This form can be used only if the request will not cause
   571   * a reply to be generated. Any returned error will be
   572   * saved for handling by xcb_request_check().
   573   */
   574  xcb_void_cookie_t
   575  xcb_xf86dri_close_connection_checked (xcb_connection_t *c,
   576                                        uint32_t          screen);
   577  
   578  /**
   579   *
   580   * @param c The connection
   581   * @return A cookie
   582   *
   583   * Delivers a request to the X server.
   584   *
   585   */
   586  xcb_void_cookie_t
   587  xcb_xf86dri_close_connection (xcb_connection_t *c,
   588                                uint32_t          screen);
   589  
   590  int
   591  xcb_xf86dri_get_client_driver_name_sizeof (const void  *_buffer);
   592  
   593  /**
   594   *
   595   * @param c The connection
   596   * @return A cookie
   597   *
   598   * Delivers a request to the X server.
   599   *
   600   */
   601  xcb_xf86dri_get_client_driver_name_cookie_t
   602  xcb_xf86dri_get_client_driver_name (xcb_connection_t *c,
   603                                      uint32_t          screen);
   604  
   605  /**
   606   *
   607   * @param c The connection
   608   * @return A cookie
   609   *
   610   * Delivers a request to the X server.
   611   *
   612   * This form can be used only if the request will cause
   613   * a reply to be generated. Any returned error will be
   614   * placed in the event queue.
   615   */
   616  xcb_xf86dri_get_client_driver_name_cookie_t
   617  xcb_xf86dri_get_client_driver_name_unchecked (xcb_connection_t *c,
   618                                                uint32_t          screen);
   619  
   620  char *
   621  xcb_xf86dri_get_client_driver_name_client_driver_name (const xcb_xf86dri_get_client_driver_name_reply_t *R);
   622  
   623  int
   624  xcb_xf86dri_get_client_driver_name_client_driver_name_length (const xcb_xf86dri_get_client_driver_name_reply_t *R);
   625  
   626  xcb_generic_iterator_t
   627  xcb_xf86dri_get_client_driver_name_client_driver_name_end (const xcb_xf86dri_get_client_driver_name_reply_t *R);
   628  
   629  /**
   630   * Return the reply
   631   * @param c      The connection
   632   * @param cookie The cookie
   633   * @param e      The xcb_generic_error_t supplied
   634   *
   635   * Returns the reply of the request asked by
   636   *
   637   * The parameter @p e supplied to this function must be NULL if
   638   * xcb_xf86dri_get_client_driver_name_unchecked(). is used.
   639   * Otherwise, it stores the error if any.
   640   *
   641   * The returned value must be freed by the caller using free().
   642   */
   643  xcb_xf86dri_get_client_driver_name_reply_t *
   644  xcb_xf86dri_get_client_driver_name_reply (xcb_connection_t                             *c,
   645                                            xcb_xf86dri_get_client_driver_name_cookie_t   cookie  /**< */,
   646                                            xcb_generic_error_t                         **e);
   647  
   648  /**
   649   *
   650   * @param c The connection
   651   * @return A cookie
   652   *
   653   * Delivers a request to the X server.
   654   *
   655   */
   656  xcb_xf86dri_create_context_cookie_t
   657  xcb_xf86dri_create_context (xcb_connection_t *c,
   658                              uint32_t          screen,
   659                              uint32_t          visual,
   660                              uint32_t          context);
   661  
   662  /**
   663   *
   664   * @param c The connection
   665   * @return A cookie
   666   *
   667   * Delivers a request to the X server.
   668   *
   669   * This form can be used only if the request will cause
   670   * a reply to be generated. Any returned error will be
   671   * placed in the event queue.
   672   */
   673  xcb_xf86dri_create_context_cookie_t
   674  xcb_xf86dri_create_context_unchecked (xcb_connection_t *c,
   675                                        uint32_t          screen,
   676                                        uint32_t          visual,
   677                                        uint32_t          context);
   678  
   679  /**
   680   * Return the reply
   681   * @param c      The connection
   682   * @param cookie The cookie
   683   * @param e      The xcb_generic_error_t supplied
   684   *
   685   * Returns the reply of the request asked by
   686   *
   687   * The parameter @p e supplied to this function must be NULL if
   688   * xcb_xf86dri_create_context_unchecked(). is used.
   689   * Otherwise, it stores the error if any.
   690   *
   691   * The returned value must be freed by the caller using free().
   692   */
   693  xcb_xf86dri_create_context_reply_t *
   694  xcb_xf86dri_create_context_reply (xcb_connection_t                     *c,
   695                                    xcb_xf86dri_create_context_cookie_t   cookie  /**< */,
   696                                    xcb_generic_error_t                 **e);
   697  
   698  /**
   699   *
   700   * @param c The connection
   701   * @return A cookie
   702   *
   703   * Delivers a request to the X server.
   704   *
   705   * This form can be used only if the request will not cause
   706   * a reply to be generated. Any returned error will be
   707   * saved for handling by xcb_request_check().
   708   */
   709  xcb_void_cookie_t
   710  xcb_xf86dri_destroy_context_checked (xcb_connection_t *c,
   711                                       uint32_t          screen,
   712                                       uint32_t          context);
   713  
   714  /**
   715   *
   716   * @param c The connection
   717   * @return A cookie
   718   *
   719   * Delivers a request to the X server.
   720   *
   721   */
   722  xcb_void_cookie_t
   723  xcb_xf86dri_destroy_context (xcb_connection_t *c,
   724                               uint32_t          screen,
   725                               uint32_t          context);
   726  
   727  /**
   728   *
   729   * @param c The connection
   730   * @return A cookie
   731   *
   732   * Delivers a request to the X server.
   733   *
   734   */
   735  xcb_xf86dri_create_drawable_cookie_t
   736  xcb_xf86dri_create_drawable (xcb_connection_t *c,
   737                               uint32_t          screen,
   738                               uint32_t          drawable);
   739  
   740  /**
   741   *
   742   * @param c The connection
   743   * @return A cookie
   744   *
   745   * Delivers a request to the X server.
   746   *
   747   * This form can be used only if the request will cause
   748   * a reply to be generated. Any returned error will be
   749   * placed in the event queue.
   750   */
   751  xcb_xf86dri_create_drawable_cookie_t
   752  xcb_xf86dri_create_drawable_unchecked (xcb_connection_t *c,
   753                                         uint32_t          screen,
   754                                         uint32_t          drawable);
   755  
   756  /**
   757   * Return the reply
   758   * @param c      The connection
   759   * @param cookie The cookie
   760   * @param e      The xcb_generic_error_t supplied
   761   *
   762   * Returns the reply of the request asked by
   763   *
   764   * The parameter @p e supplied to this function must be NULL if
   765   * xcb_xf86dri_create_drawable_unchecked(). is used.
   766   * Otherwise, it stores the error if any.
   767   *
   768   * The returned value must be freed by the caller using free().
   769   */
   770  xcb_xf86dri_create_drawable_reply_t *
   771  xcb_xf86dri_create_drawable_reply (xcb_connection_t                      *c,
   772                                     xcb_xf86dri_create_drawable_cookie_t   cookie  /**< */,
   773                                     xcb_generic_error_t                  **e);
   774  
   775  /**
   776   *
   777   * @param c The connection
   778   * @return A cookie
   779   *
   780   * Delivers a request to the X server.
   781   *
   782   * This form can be used only if the request will not cause
   783   * a reply to be generated. Any returned error will be
   784   * saved for handling by xcb_request_check().
   785   */
   786  xcb_void_cookie_t
   787  xcb_xf86dri_destroy_drawable_checked (xcb_connection_t *c,
   788                                        uint32_t          screen,
   789                                        uint32_t          drawable);
   790  
   791  /**
   792   *
   793   * @param c The connection
   794   * @return A cookie
   795   *
   796   * Delivers a request to the X server.
   797   *
   798   */
   799  xcb_void_cookie_t
   800  xcb_xf86dri_destroy_drawable (xcb_connection_t *c,
   801                                uint32_t          screen,
   802                                uint32_t          drawable);
   803  
   804  int
   805  xcb_xf86dri_get_drawable_info_sizeof (const void  *_buffer);
   806  
   807  /**
   808   *
   809   * @param c The connection
   810   * @return A cookie
   811   *
   812   * Delivers a request to the X server.
   813   *
   814   */
   815  xcb_xf86dri_get_drawable_info_cookie_t
   816  xcb_xf86dri_get_drawable_info (xcb_connection_t *c,
   817                                 uint32_t          screen,
   818                                 uint32_t          drawable);
   819  
   820  /**
   821   *
   822   * @param c The connection
   823   * @return A cookie
   824   *
   825   * Delivers a request to the X server.
   826   *
   827   * This form can be used only if the request will cause
   828   * a reply to be generated. Any returned error will be
   829   * placed in the event queue.
   830   */
   831  xcb_xf86dri_get_drawable_info_cookie_t
   832  xcb_xf86dri_get_drawable_info_unchecked (xcb_connection_t *c,
   833                                           uint32_t          screen,
   834                                           uint32_t          drawable);
   835  
   836  xcb_xf86dri_drm_clip_rect_t *
   837  xcb_xf86dri_get_drawable_info_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R);
   838  
   839  int
   840  xcb_xf86dri_get_drawable_info_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R);
   841  
   842  xcb_xf86dri_drm_clip_rect_iterator_t
   843  xcb_xf86dri_get_drawable_info_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R);
   844  
   845  xcb_xf86dri_drm_clip_rect_t *
   846  xcb_xf86dri_get_drawable_info_back_clip_rects (const xcb_xf86dri_get_drawable_info_reply_t *R);
   847  
   848  int
   849  xcb_xf86dri_get_drawable_info_back_clip_rects_length (const xcb_xf86dri_get_drawable_info_reply_t *R);
   850  
   851  xcb_xf86dri_drm_clip_rect_iterator_t
   852  xcb_xf86dri_get_drawable_info_back_clip_rects_iterator (const xcb_xf86dri_get_drawable_info_reply_t *R);
   853  
   854  /**
   855   * Return the reply
   856   * @param c      The connection
   857   * @param cookie The cookie
   858   * @param e      The xcb_generic_error_t supplied
   859   *
   860   * Returns the reply of the request asked by
   861   *
   862   * The parameter @p e supplied to this function must be NULL if
   863   * xcb_xf86dri_get_drawable_info_unchecked(). is used.
   864   * Otherwise, it stores the error if any.
   865   *
   866   * The returned value must be freed by the caller using free().
   867   */
   868  xcb_xf86dri_get_drawable_info_reply_t *
   869  xcb_xf86dri_get_drawable_info_reply (xcb_connection_t                        *c,
   870                                       xcb_xf86dri_get_drawable_info_cookie_t   cookie  /**< */,
   871                                       xcb_generic_error_t                    **e);
   872  
   873  int
   874  xcb_xf86dri_get_device_info_sizeof (const void  *_buffer);
   875  
   876  /**
   877   *
   878   * @param c The connection
   879   * @return A cookie
   880   *
   881   * Delivers a request to the X server.
   882   *
   883   */
   884  xcb_xf86dri_get_device_info_cookie_t
   885  xcb_xf86dri_get_device_info (xcb_connection_t *c,
   886                               uint32_t          screen);
   887  
   888  /**
   889   *
   890   * @param c The connection
   891   * @return A cookie
   892   *
   893   * Delivers a request to the X server.
   894   *
   895   * This form can be used only if the request will cause
   896   * a reply to be generated. Any returned error will be
   897   * placed in the event queue.
   898   */
   899  xcb_xf86dri_get_device_info_cookie_t
   900  xcb_xf86dri_get_device_info_unchecked (xcb_connection_t *c,
   901                                         uint32_t          screen);
   902  
   903  uint32_t *
   904  xcb_xf86dri_get_device_info_device_private (const xcb_xf86dri_get_device_info_reply_t *R);
   905  
   906  int
   907  xcb_xf86dri_get_device_info_device_private_length (const xcb_xf86dri_get_device_info_reply_t *R);
   908  
   909  xcb_generic_iterator_t
   910  xcb_xf86dri_get_device_info_device_private_end (const xcb_xf86dri_get_device_info_reply_t *R);
   911  
   912  /**
   913   * Return the reply
   914   * @param c      The connection
   915   * @param cookie The cookie
   916   * @param e      The xcb_generic_error_t supplied
   917   *
   918   * Returns the reply of the request asked by
   919   *
   920   * The parameter @p e supplied to this function must be NULL if
   921   * xcb_xf86dri_get_device_info_unchecked(). is used.
   922   * Otherwise, it stores the error if any.
   923   *
   924   * The returned value must be freed by the caller using free().
   925   */
   926  xcb_xf86dri_get_device_info_reply_t *
   927  xcb_xf86dri_get_device_info_reply (xcb_connection_t                      *c,
   928                                     xcb_xf86dri_get_device_info_cookie_t   cookie  /**< */,
   929                                     xcb_generic_error_t                  **e);
   930  
   931  /**
   932   *
   933   * @param c The connection
   934   * @return A cookie
   935   *
   936   * Delivers a request to the X server.
   937   *
   938   */
   939  xcb_xf86dri_auth_connection_cookie_t
   940  xcb_xf86dri_auth_connection (xcb_connection_t *c,
   941                               uint32_t          screen,
   942                               uint32_t          magic);
   943  
   944  /**
   945   *
   946   * @param c The connection
   947   * @return A cookie
   948   *
   949   * Delivers a request to the X server.
   950   *
   951   * This form can be used only if the request will cause
   952   * a reply to be generated. Any returned error will be
   953   * placed in the event queue.
   954   */
   955  xcb_xf86dri_auth_connection_cookie_t
   956  xcb_xf86dri_auth_connection_unchecked (xcb_connection_t *c,
   957                                         uint32_t          screen,
   958                                         uint32_t          magic);
   959  
   960  /**
   961   * Return the reply
   962   * @param c      The connection
   963   * @param cookie The cookie
   964   * @param e      The xcb_generic_error_t supplied
   965   *
   966   * Returns the reply of the request asked by
   967   *
   968   * The parameter @p e supplied to this function must be NULL if
   969   * xcb_xf86dri_auth_connection_unchecked(). is used.
   970   * Otherwise, it stores the error if any.
   971   *
   972   * The returned value must be freed by the caller using free().
   973   */
   974  xcb_xf86dri_auth_connection_reply_t *
   975  xcb_xf86dri_auth_connection_reply (xcb_connection_t                      *c,
   976                                     xcb_xf86dri_auth_connection_cookie_t   cookie  /**< */,
   977                                     xcb_generic_error_t                  **e);
   978  
   979  
   980  #ifdef __cplusplus
   981  }
   982  #endif
   983  
   984  #endif
   985  
   986  /**
   987   * @}
   988   */