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

     1  /*
     2   * This file generated automatically from shape.xml by c_client.py.
     3   * Edit at your peril.
     4   */
     5  
     6  /**
     7   * @defgroup XCB_Shape_API XCB Shape API
     8   * @brief Shape XCB Protocol Implementation.
     9   * @{
    10   **/
    11  
    12  #ifndef __SHAPE_H
    13  #define __SHAPE_H
    14  
    15  #include "xcb.h"
    16  #include "xproto.h"
    17  
    18  #ifdef __cplusplus
    19  extern "C" {
    20  #endif
    21  
    22  #define XCB_SHAPE_MAJOR_VERSION 1
    23  #define XCB_SHAPE_MINOR_VERSION 1
    24  
    25  extern xcb_extension_t xcb_shape_id;
    26  
    27  typedef uint8_t xcb_shape_op_t;
    28  
    29  /**
    30   * @brief xcb_shape_op_iterator_t
    31   **/
    32  typedef struct xcb_shape_op_iterator_t {
    33      xcb_shape_op_t *data;
    34      int             rem;
    35      int             index;
    36  } xcb_shape_op_iterator_t;
    37  
    38  typedef uint8_t xcb_shape_kind_t;
    39  
    40  /**
    41   * @brief xcb_shape_kind_iterator_t
    42   **/
    43  typedef struct xcb_shape_kind_iterator_t {
    44      xcb_shape_kind_t *data;
    45      int               rem;
    46      int               index;
    47  } xcb_shape_kind_iterator_t;
    48  
    49  typedef enum xcb_shape_so_t {
    50      XCB_SHAPE_SO_SET = 0,
    51      XCB_SHAPE_SO_UNION = 1,
    52      XCB_SHAPE_SO_INTERSECT = 2,
    53      XCB_SHAPE_SO_SUBTRACT = 3,
    54      XCB_SHAPE_SO_INVERT = 4
    55  } xcb_shape_so_t;
    56  
    57  typedef enum xcb_shape_sk_t {
    58      XCB_SHAPE_SK_BOUNDING = 0,
    59      XCB_SHAPE_SK_CLIP = 1,
    60      XCB_SHAPE_SK_INPUT = 2
    61  } xcb_shape_sk_t;
    62  
    63  /** Opcode for xcb_shape_notify. */
    64  #define XCB_SHAPE_NOTIFY 0
    65  
    66  /**
    67   * @brief xcb_shape_notify_event_t
    68   **/
    69  typedef struct xcb_shape_notify_event_t {
    70      uint8_t          response_type;
    71      xcb_shape_kind_t shape_kind;
    72      uint16_t         sequence;
    73      xcb_window_t     affected_window;
    74      int16_t          extents_x;
    75      int16_t          extents_y;
    76      uint16_t         extents_width;
    77      uint16_t         extents_height;
    78      xcb_timestamp_t  server_time;
    79      uint8_t          shaped;
    80      uint8_t          pad0[11];
    81  } xcb_shape_notify_event_t;
    82  
    83  /**
    84   * @brief xcb_shape_query_version_cookie_t
    85   **/
    86  typedef struct xcb_shape_query_version_cookie_t {
    87      unsigned int sequence;
    88  } xcb_shape_query_version_cookie_t;
    89  
    90  /** Opcode for xcb_shape_query_version. */
    91  #define XCB_SHAPE_QUERY_VERSION 0
    92  
    93  /**
    94   * @brief xcb_shape_query_version_request_t
    95   **/
    96  typedef struct xcb_shape_query_version_request_t {
    97      uint8_t  major_opcode;
    98      uint8_t  minor_opcode;
    99      uint16_t length;
   100  } xcb_shape_query_version_request_t;
   101  
   102  /**
   103   * @brief xcb_shape_query_version_reply_t
   104   **/
   105  typedef struct xcb_shape_query_version_reply_t {
   106      uint8_t  response_type;
   107      uint8_t  pad0;
   108      uint16_t sequence;
   109      uint32_t length;
   110      uint16_t major_version;
   111      uint16_t minor_version;
   112  } xcb_shape_query_version_reply_t;
   113  
   114  /** Opcode for xcb_shape_rectangles. */
   115  #define XCB_SHAPE_RECTANGLES 1
   116  
   117  /**
   118   * @brief xcb_shape_rectangles_request_t
   119   **/
   120  typedef struct xcb_shape_rectangles_request_t {
   121      uint8_t          major_opcode;
   122      uint8_t          minor_opcode;
   123      uint16_t         length;
   124      xcb_shape_op_t   operation;
   125      xcb_shape_kind_t destination_kind;
   126      uint8_t          ordering;
   127      uint8_t          pad0;
   128      xcb_window_t     destination_window;
   129      int16_t          x_offset;
   130      int16_t          y_offset;
   131  } xcb_shape_rectangles_request_t;
   132  
   133  /** Opcode for xcb_shape_mask. */
   134  #define XCB_SHAPE_MASK 2
   135  
   136  /**
   137   * @brief xcb_shape_mask_request_t
   138   **/
   139  typedef struct xcb_shape_mask_request_t {
   140      uint8_t          major_opcode;
   141      uint8_t          minor_opcode;
   142      uint16_t         length;
   143      xcb_shape_op_t   operation;
   144      xcb_shape_kind_t destination_kind;
   145      uint8_t          pad0[2];
   146      xcb_window_t     destination_window;
   147      int16_t          x_offset;
   148      int16_t          y_offset;
   149      xcb_pixmap_t     source_bitmap;
   150  } xcb_shape_mask_request_t;
   151  
   152  /** Opcode for xcb_shape_combine. */
   153  #define XCB_SHAPE_COMBINE 3
   154  
   155  /**
   156   * @brief xcb_shape_combine_request_t
   157   **/
   158  typedef struct xcb_shape_combine_request_t {
   159      uint8_t          major_opcode;
   160      uint8_t          minor_opcode;
   161      uint16_t         length;
   162      xcb_shape_op_t   operation;
   163      xcb_shape_kind_t destination_kind;
   164      xcb_shape_kind_t source_kind;
   165      uint8_t          pad0;
   166      xcb_window_t     destination_window;
   167      int16_t          x_offset;
   168      int16_t          y_offset;
   169      xcb_window_t     source_window;
   170  } xcb_shape_combine_request_t;
   171  
   172  /** Opcode for xcb_shape_offset. */
   173  #define XCB_SHAPE_OFFSET 4
   174  
   175  /**
   176   * @brief xcb_shape_offset_request_t
   177   **/
   178  typedef struct xcb_shape_offset_request_t {
   179      uint8_t          major_opcode;
   180      uint8_t          minor_opcode;
   181      uint16_t         length;
   182      xcb_shape_kind_t destination_kind;
   183      uint8_t          pad0[3];
   184      xcb_window_t     destination_window;
   185      int16_t          x_offset;
   186      int16_t          y_offset;
   187  } xcb_shape_offset_request_t;
   188  
   189  /**
   190   * @brief xcb_shape_query_extents_cookie_t
   191   **/
   192  typedef struct xcb_shape_query_extents_cookie_t {
   193      unsigned int sequence;
   194  } xcb_shape_query_extents_cookie_t;
   195  
   196  /** Opcode for xcb_shape_query_extents. */
   197  #define XCB_SHAPE_QUERY_EXTENTS 5
   198  
   199  /**
   200   * @brief xcb_shape_query_extents_request_t
   201   **/
   202  typedef struct xcb_shape_query_extents_request_t {
   203      uint8_t      major_opcode;
   204      uint8_t      minor_opcode;
   205      uint16_t     length;
   206      xcb_window_t destination_window;
   207  } xcb_shape_query_extents_request_t;
   208  
   209  /**
   210   * @brief xcb_shape_query_extents_reply_t
   211   **/
   212  typedef struct xcb_shape_query_extents_reply_t {
   213      uint8_t  response_type;
   214      uint8_t  pad0;
   215      uint16_t sequence;
   216      uint32_t length;
   217      uint8_t  bounding_shaped;
   218      uint8_t  clip_shaped;
   219      uint8_t  pad1[2];
   220      int16_t  bounding_shape_extents_x;
   221      int16_t  bounding_shape_extents_y;
   222      uint16_t bounding_shape_extents_width;
   223      uint16_t bounding_shape_extents_height;
   224      int16_t  clip_shape_extents_x;
   225      int16_t  clip_shape_extents_y;
   226      uint16_t clip_shape_extents_width;
   227      uint16_t clip_shape_extents_height;
   228  } xcb_shape_query_extents_reply_t;
   229  
   230  /** Opcode for xcb_shape_select_input. */
   231  #define XCB_SHAPE_SELECT_INPUT 6
   232  
   233  /**
   234   * @brief xcb_shape_select_input_request_t
   235   **/
   236  typedef struct xcb_shape_select_input_request_t {
   237      uint8_t      major_opcode;
   238      uint8_t      minor_opcode;
   239      uint16_t     length;
   240      xcb_window_t destination_window;
   241      uint8_t      enable;
   242      uint8_t      pad0[3];
   243  } xcb_shape_select_input_request_t;
   244  
   245  /**
   246   * @brief xcb_shape_input_selected_cookie_t
   247   **/
   248  typedef struct xcb_shape_input_selected_cookie_t {
   249      unsigned int sequence;
   250  } xcb_shape_input_selected_cookie_t;
   251  
   252  /** Opcode for xcb_shape_input_selected. */
   253  #define XCB_SHAPE_INPUT_SELECTED 7
   254  
   255  /**
   256   * @brief xcb_shape_input_selected_request_t
   257   **/
   258  typedef struct xcb_shape_input_selected_request_t {
   259      uint8_t      major_opcode;
   260      uint8_t      minor_opcode;
   261      uint16_t     length;
   262      xcb_window_t destination_window;
   263  } xcb_shape_input_selected_request_t;
   264  
   265  /**
   266   * @brief xcb_shape_input_selected_reply_t
   267   **/
   268  typedef struct xcb_shape_input_selected_reply_t {
   269      uint8_t  response_type;
   270      uint8_t  enabled;
   271      uint16_t sequence;
   272      uint32_t length;
   273  } xcb_shape_input_selected_reply_t;
   274  
   275  /**
   276   * @brief xcb_shape_get_rectangles_cookie_t
   277   **/
   278  typedef struct xcb_shape_get_rectangles_cookie_t {
   279      unsigned int sequence;
   280  } xcb_shape_get_rectangles_cookie_t;
   281  
   282  /** Opcode for xcb_shape_get_rectangles. */
   283  #define XCB_SHAPE_GET_RECTANGLES 8
   284  
   285  /**
   286   * @brief xcb_shape_get_rectangles_request_t
   287   **/
   288  typedef struct xcb_shape_get_rectangles_request_t {
   289      uint8_t          major_opcode;
   290      uint8_t          minor_opcode;
   291      uint16_t         length;
   292      xcb_window_t     window;
   293      xcb_shape_kind_t source_kind;
   294      uint8_t          pad0[3];
   295  } xcb_shape_get_rectangles_request_t;
   296  
   297  /**
   298   * @brief xcb_shape_get_rectangles_reply_t
   299   **/
   300  typedef struct xcb_shape_get_rectangles_reply_t {
   301      uint8_t  response_type;
   302      uint8_t  ordering;
   303      uint16_t sequence;
   304      uint32_t length;
   305      uint32_t rectangles_len;
   306      uint8_t  pad0[20];
   307  } xcb_shape_get_rectangles_reply_t;
   308  
   309  /**
   310   * Get the next element of the iterator
   311   * @param i Pointer to a xcb_shape_op_iterator_t
   312   *
   313   * Get the next element in the iterator. The member rem is
   314   * decreased by one. The member data points to the next
   315   * element. The member index is increased by sizeof(xcb_shape_op_t)
   316   */
   317  void
   318  xcb_shape_op_next (xcb_shape_op_iterator_t *i);
   319  
   320  /**
   321   * Return the iterator pointing to the last element
   322   * @param i An xcb_shape_op_iterator_t
   323   * @return  The iterator pointing to the last element
   324   *
   325   * Set the current element in the iterator to the last element.
   326   * The member rem is set to 0. The member data points to the
   327   * last element.
   328   */
   329  xcb_generic_iterator_t
   330  xcb_shape_op_end (xcb_shape_op_iterator_t i);
   331  
   332  /**
   333   * Get the next element of the iterator
   334   * @param i Pointer to a xcb_shape_kind_iterator_t
   335   *
   336   * Get the next element in the iterator. The member rem is
   337   * decreased by one. The member data points to the next
   338   * element. The member index is increased by sizeof(xcb_shape_kind_t)
   339   */
   340  void
   341  xcb_shape_kind_next (xcb_shape_kind_iterator_t *i);
   342  
   343  /**
   344   * Return the iterator pointing to the last element
   345   * @param i An xcb_shape_kind_iterator_t
   346   * @return  The iterator pointing to the last element
   347   *
   348   * Set the current element in the iterator to the last element.
   349   * The member rem is set to 0. The member data points to the
   350   * last element.
   351   */
   352  xcb_generic_iterator_t
   353  xcb_shape_kind_end (xcb_shape_kind_iterator_t i);
   354  
   355  /**
   356   *
   357   * @param c The connection
   358   * @return A cookie
   359   *
   360   * Delivers a request to the X server.
   361   *
   362   */
   363  xcb_shape_query_version_cookie_t
   364  xcb_shape_query_version (xcb_connection_t *c);
   365  
   366  /**
   367   *
   368   * @param c The connection
   369   * @return A cookie
   370   *
   371   * Delivers a request to the X server.
   372   *
   373   * This form can be used only if the request will cause
   374   * a reply to be generated. Any returned error will be
   375   * placed in the event queue.
   376   */
   377  xcb_shape_query_version_cookie_t
   378  xcb_shape_query_version_unchecked (xcb_connection_t *c);
   379  
   380  /**
   381   * Return the reply
   382   * @param c      The connection
   383   * @param cookie The cookie
   384   * @param e      The xcb_generic_error_t supplied
   385   *
   386   * Returns the reply of the request asked by
   387   *
   388   * The parameter @p e supplied to this function must be NULL if
   389   * xcb_shape_query_version_unchecked(). is used.
   390   * Otherwise, it stores the error if any.
   391   *
   392   * The returned value must be freed by the caller using free().
   393   */
   394  xcb_shape_query_version_reply_t *
   395  xcb_shape_query_version_reply (xcb_connection_t                  *c,
   396                                 xcb_shape_query_version_cookie_t   cookie  /**< */,
   397                                 xcb_generic_error_t              **e);
   398  
   399  int
   400  xcb_shape_rectangles_sizeof (const void  *_buffer,
   401                               uint32_t     rectangles_len);
   402  
   403  /**
   404   *
   405   * @param c The connection
   406   * @return A cookie
   407   *
   408   * Delivers a request to the X server.
   409   *
   410   * This form can be used only if the request will not cause
   411   * a reply to be generated. Any returned error will be
   412   * saved for handling by xcb_request_check().
   413   */
   414  xcb_void_cookie_t
   415  xcb_shape_rectangles_checked (xcb_connection_t      *c,
   416                                xcb_shape_op_t         operation,
   417                                xcb_shape_kind_t       destination_kind,
   418                                uint8_t                ordering,
   419                                xcb_window_t           destination_window,
   420                                int16_t                x_offset,
   421                                int16_t                y_offset,
   422                                uint32_t               rectangles_len,
   423                                const xcb_rectangle_t *rectangles);
   424  
   425  /**
   426   *
   427   * @param c The connection
   428   * @return A cookie
   429   *
   430   * Delivers a request to the X server.
   431   *
   432   */
   433  xcb_void_cookie_t
   434  xcb_shape_rectangles (xcb_connection_t      *c,
   435                        xcb_shape_op_t         operation,
   436                        xcb_shape_kind_t       destination_kind,
   437                        uint8_t                ordering,
   438                        xcb_window_t           destination_window,
   439                        int16_t                x_offset,
   440                        int16_t                y_offset,
   441                        uint32_t               rectangles_len,
   442                        const xcb_rectangle_t *rectangles);
   443  
   444  xcb_rectangle_t *
   445  xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R);
   446  
   447  int
   448  xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R);
   449  
   450  xcb_rectangle_iterator_t
   451  xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R);
   452  
   453  /**
   454   *
   455   * @param c The connection
   456   * @return A cookie
   457   *
   458   * Delivers a request to the X server.
   459   *
   460   * This form can be used only if the request will not cause
   461   * a reply to be generated. Any returned error will be
   462   * saved for handling by xcb_request_check().
   463   */
   464  xcb_void_cookie_t
   465  xcb_shape_mask_checked (xcb_connection_t *c,
   466                          xcb_shape_op_t    operation,
   467                          xcb_shape_kind_t  destination_kind,
   468                          xcb_window_t      destination_window,
   469                          int16_t           x_offset,
   470                          int16_t           y_offset,
   471                          xcb_pixmap_t      source_bitmap);
   472  
   473  /**
   474   *
   475   * @param c The connection
   476   * @return A cookie
   477   *
   478   * Delivers a request to the X server.
   479   *
   480   */
   481  xcb_void_cookie_t
   482  xcb_shape_mask (xcb_connection_t *c,
   483                  xcb_shape_op_t    operation,
   484                  xcb_shape_kind_t  destination_kind,
   485                  xcb_window_t      destination_window,
   486                  int16_t           x_offset,
   487                  int16_t           y_offset,
   488                  xcb_pixmap_t      source_bitmap);
   489  
   490  /**
   491   *
   492   * @param c The connection
   493   * @return A cookie
   494   *
   495   * Delivers a request to the X server.
   496   *
   497   * This form can be used only if the request will not cause
   498   * a reply to be generated. Any returned error will be
   499   * saved for handling by xcb_request_check().
   500   */
   501  xcb_void_cookie_t
   502  xcb_shape_combine_checked (xcb_connection_t *c,
   503                             xcb_shape_op_t    operation,
   504                             xcb_shape_kind_t  destination_kind,
   505                             xcb_shape_kind_t  source_kind,
   506                             xcb_window_t      destination_window,
   507                             int16_t           x_offset,
   508                             int16_t           y_offset,
   509                             xcb_window_t      source_window);
   510  
   511  /**
   512   *
   513   * @param c The connection
   514   * @return A cookie
   515   *
   516   * Delivers a request to the X server.
   517   *
   518   */
   519  xcb_void_cookie_t
   520  xcb_shape_combine (xcb_connection_t *c,
   521                     xcb_shape_op_t    operation,
   522                     xcb_shape_kind_t  destination_kind,
   523                     xcb_shape_kind_t  source_kind,
   524                     xcb_window_t      destination_window,
   525                     int16_t           x_offset,
   526                     int16_t           y_offset,
   527                     xcb_window_t      source_window);
   528  
   529  /**
   530   *
   531   * @param c The connection
   532   * @return A cookie
   533   *
   534   * Delivers a request to the X server.
   535   *
   536   * This form can be used only if the request will not cause
   537   * a reply to be generated. Any returned error will be
   538   * saved for handling by xcb_request_check().
   539   */
   540  xcb_void_cookie_t
   541  xcb_shape_offset_checked (xcb_connection_t *c,
   542                            xcb_shape_kind_t  destination_kind,
   543                            xcb_window_t      destination_window,
   544                            int16_t           x_offset,
   545                            int16_t           y_offset);
   546  
   547  /**
   548   *
   549   * @param c The connection
   550   * @return A cookie
   551   *
   552   * Delivers a request to the X server.
   553   *
   554   */
   555  xcb_void_cookie_t
   556  xcb_shape_offset (xcb_connection_t *c,
   557                    xcb_shape_kind_t  destination_kind,
   558                    xcb_window_t      destination_window,
   559                    int16_t           x_offset,
   560                    int16_t           y_offset);
   561  
   562  /**
   563   *
   564   * @param c The connection
   565   * @return A cookie
   566   *
   567   * Delivers a request to the X server.
   568   *
   569   */
   570  xcb_shape_query_extents_cookie_t
   571  xcb_shape_query_extents (xcb_connection_t *c,
   572                           xcb_window_t      destination_window);
   573  
   574  /**
   575   *
   576   * @param c The connection
   577   * @return A cookie
   578   *
   579   * Delivers a request to the X server.
   580   *
   581   * This form can be used only if the request will cause
   582   * a reply to be generated. Any returned error will be
   583   * placed in the event queue.
   584   */
   585  xcb_shape_query_extents_cookie_t
   586  xcb_shape_query_extents_unchecked (xcb_connection_t *c,
   587                                     xcb_window_t      destination_window);
   588  
   589  /**
   590   * Return the reply
   591   * @param c      The connection
   592   * @param cookie The cookie
   593   * @param e      The xcb_generic_error_t supplied
   594   *
   595   * Returns the reply of the request asked by
   596   *
   597   * The parameter @p e supplied to this function must be NULL if
   598   * xcb_shape_query_extents_unchecked(). is used.
   599   * Otherwise, it stores the error if any.
   600   *
   601   * The returned value must be freed by the caller using free().
   602   */
   603  xcb_shape_query_extents_reply_t *
   604  xcb_shape_query_extents_reply (xcb_connection_t                  *c,
   605                                 xcb_shape_query_extents_cookie_t   cookie  /**< */,
   606                                 xcb_generic_error_t              **e);
   607  
   608  /**
   609   *
   610   * @param c The connection
   611   * @return A cookie
   612   *
   613   * Delivers a request to the X server.
   614   *
   615   * This form can be used only if the request will not cause
   616   * a reply to be generated. Any returned error will be
   617   * saved for handling by xcb_request_check().
   618   */
   619  xcb_void_cookie_t
   620  xcb_shape_select_input_checked (xcb_connection_t *c,
   621                                  xcb_window_t      destination_window,
   622                                  uint8_t           enable);
   623  
   624  /**
   625   *
   626   * @param c The connection
   627   * @return A cookie
   628   *
   629   * Delivers a request to the X server.
   630   *
   631   */
   632  xcb_void_cookie_t
   633  xcb_shape_select_input (xcb_connection_t *c,
   634                          xcb_window_t      destination_window,
   635                          uint8_t           enable);
   636  
   637  /**
   638   *
   639   * @param c The connection
   640   * @return A cookie
   641   *
   642   * Delivers a request to the X server.
   643   *
   644   */
   645  xcb_shape_input_selected_cookie_t
   646  xcb_shape_input_selected (xcb_connection_t *c,
   647                            xcb_window_t      destination_window);
   648  
   649  /**
   650   *
   651   * @param c The connection
   652   * @return A cookie
   653   *
   654   * Delivers a request to the X server.
   655   *
   656   * This form can be used only if the request will cause
   657   * a reply to be generated. Any returned error will be
   658   * placed in the event queue.
   659   */
   660  xcb_shape_input_selected_cookie_t
   661  xcb_shape_input_selected_unchecked (xcb_connection_t *c,
   662                                      xcb_window_t      destination_window);
   663  
   664  /**
   665   * Return the reply
   666   * @param c      The connection
   667   * @param cookie The cookie
   668   * @param e      The xcb_generic_error_t supplied
   669   *
   670   * Returns the reply of the request asked by
   671   *
   672   * The parameter @p e supplied to this function must be NULL if
   673   * xcb_shape_input_selected_unchecked(). is used.
   674   * Otherwise, it stores the error if any.
   675   *
   676   * The returned value must be freed by the caller using free().
   677   */
   678  xcb_shape_input_selected_reply_t *
   679  xcb_shape_input_selected_reply (xcb_connection_t                   *c,
   680                                  xcb_shape_input_selected_cookie_t   cookie  /**< */,
   681                                  xcb_generic_error_t               **e);
   682  
   683  int
   684  xcb_shape_get_rectangles_sizeof (const void  *_buffer);
   685  
   686  /**
   687   *
   688   * @param c The connection
   689   * @return A cookie
   690   *
   691   * Delivers a request to the X server.
   692   *
   693   */
   694  xcb_shape_get_rectangles_cookie_t
   695  xcb_shape_get_rectangles (xcb_connection_t *c,
   696                            xcb_window_t      window,
   697                            xcb_shape_kind_t  source_kind);
   698  
   699  /**
   700   *
   701   * @param c The connection
   702   * @return A cookie
   703   *
   704   * Delivers a request to the X server.
   705   *
   706   * This form can be used only if the request will cause
   707   * a reply to be generated. Any returned error will be
   708   * placed in the event queue.
   709   */
   710  xcb_shape_get_rectangles_cookie_t
   711  xcb_shape_get_rectangles_unchecked (xcb_connection_t *c,
   712                                      xcb_window_t      window,
   713                                      xcb_shape_kind_t  source_kind);
   714  
   715  xcb_rectangle_t *
   716  xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R);
   717  
   718  int
   719  xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R);
   720  
   721  xcb_rectangle_iterator_t
   722  xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R);
   723  
   724  /**
   725   * Return the reply
   726   * @param c      The connection
   727   * @param cookie The cookie
   728   * @param e      The xcb_generic_error_t supplied
   729   *
   730   * Returns the reply of the request asked by
   731   *
   732   * The parameter @p e supplied to this function must be NULL if
   733   * xcb_shape_get_rectangles_unchecked(). is used.
   734   * Otherwise, it stores the error if any.
   735   *
   736   * The returned value must be freed by the caller using free().
   737   */
   738  xcb_shape_get_rectangles_reply_t *
   739  xcb_shape_get_rectangles_reply (xcb_connection_t                   *c,
   740                                  xcb_shape_get_rectangles_cookie_t   cookie  /**< */,
   741                                  xcb_generic_error_t               **e);
   742  
   743  
   744  #ifdef __cplusplus
   745  }
   746  #endif
   747  
   748  #endif
   749  
   750  /**
   751   * @}
   752   */