Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:40

0001 /*
0002  * This file generated automatically from shape.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_Shape_API XCB Shape API
0008  * @brief Shape XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __SHAPE_H
0013 #define __SHAPE_H
0014 
0015 #include "xcb.h"
0016 #include "xproto.h"
0017 
0018 #ifdef __cplusplus
0019 extern "C" {
0020 #endif
0021 
0022 #define XCB_SHAPE_MAJOR_VERSION 1
0023 #define XCB_SHAPE_MINOR_VERSION 1
0024 
0025 extern xcb_extension_t xcb_shape_id;
0026 
0027 typedef uint8_t xcb_shape_op_t;
0028 
0029 /**
0030  * @brief xcb_shape_op_iterator_t
0031  **/
0032 typedef struct xcb_shape_op_iterator_t {
0033     xcb_shape_op_t *data;
0034     int             rem;
0035     int             index;
0036 } xcb_shape_op_iterator_t;
0037 
0038 typedef uint8_t xcb_shape_kind_t;
0039 
0040 /**
0041  * @brief xcb_shape_kind_iterator_t
0042  **/
0043 typedef struct xcb_shape_kind_iterator_t {
0044     xcb_shape_kind_t *data;
0045     int               rem;
0046     int               index;
0047 } xcb_shape_kind_iterator_t;
0048 
0049 typedef enum xcb_shape_so_t {
0050     XCB_SHAPE_SO_SET = 0,
0051     XCB_SHAPE_SO_UNION = 1,
0052     XCB_SHAPE_SO_INTERSECT = 2,
0053     XCB_SHAPE_SO_SUBTRACT = 3,
0054     XCB_SHAPE_SO_INVERT = 4
0055 } xcb_shape_so_t;
0056 
0057 typedef enum xcb_shape_sk_t {
0058     XCB_SHAPE_SK_BOUNDING = 0,
0059     XCB_SHAPE_SK_CLIP = 1,
0060     XCB_SHAPE_SK_INPUT = 2
0061 } xcb_shape_sk_t;
0062 
0063 /** Opcode for xcb_shape_notify. */
0064 #define XCB_SHAPE_NOTIFY 0
0065 
0066 /**
0067  * @brief xcb_shape_notify_event_t
0068  **/
0069 typedef struct xcb_shape_notify_event_t {
0070     uint8_t          response_type;
0071     xcb_shape_kind_t shape_kind;
0072     uint16_t         sequence;
0073     xcb_window_t     affected_window;
0074     int16_t          extents_x;
0075     int16_t          extents_y;
0076     uint16_t         extents_width;
0077     uint16_t         extents_height;
0078     xcb_timestamp_t  server_time;
0079     uint8_t          shaped;
0080     uint8_t          pad0[11];
0081 } xcb_shape_notify_event_t;
0082 
0083 /**
0084  * @brief xcb_shape_query_version_cookie_t
0085  **/
0086 typedef struct xcb_shape_query_version_cookie_t {
0087     unsigned int sequence;
0088 } xcb_shape_query_version_cookie_t;
0089 
0090 /** Opcode for xcb_shape_query_version. */
0091 #define XCB_SHAPE_QUERY_VERSION 0
0092 
0093 /**
0094  * @brief xcb_shape_query_version_request_t
0095  **/
0096 typedef struct xcb_shape_query_version_request_t {
0097     uint8_t  major_opcode;
0098     uint8_t  minor_opcode;
0099     uint16_t length;
0100 } xcb_shape_query_version_request_t;
0101 
0102 /**
0103  * @brief xcb_shape_query_version_reply_t
0104  **/
0105 typedef struct xcb_shape_query_version_reply_t {
0106     uint8_t  response_type;
0107     uint8_t  pad0;
0108     uint16_t sequence;
0109     uint32_t length;
0110     uint16_t major_version;
0111     uint16_t minor_version;
0112 } xcb_shape_query_version_reply_t;
0113 
0114 /** Opcode for xcb_shape_rectangles. */
0115 #define XCB_SHAPE_RECTANGLES 1
0116 
0117 /**
0118  * @brief xcb_shape_rectangles_request_t
0119  **/
0120 typedef struct xcb_shape_rectangles_request_t {
0121     uint8_t          major_opcode;
0122     uint8_t          minor_opcode;
0123     uint16_t         length;
0124     xcb_shape_op_t   operation;
0125     xcb_shape_kind_t destination_kind;
0126     uint8_t          ordering;
0127     uint8_t          pad0;
0128     xcb_window_t     destination_window;
0129     int16_t          x_offset;
0130     int16_t          y_offset;
0131 } xcb_shape_rectangles_request_t;
0132 
0133 /** Opcode for xcb_shape_mask. */
0134 #define XCB_SHAPE_MASK 2
0135 
0136 /**
0137  * @brief xcb_shape_mask_request_t
0138  **/
0139 typedef struct xcb_shape_mask_request_t {
0140     uint8_t          major_opcode;
0141     uint8_t          minor_opcode;
0142     uint16_t         length;
0143     xcb_shape_op_t   operation;
0144     xcb_shape_kind_t destination_kind;
0145     uint8_t          pad0[2];
0146     xcb_window_t     destination_window;
0147     int16_t          x_offset;
0148     int16_t          y_offset;
0149     xcb_pixmap_t     source_bitmap;
0150 } xcb_shape_mask_request_t;
0151 
0152 /** Opcode for xcb_shape_combine. */
0153 #define XCB_SHAPE_COMBINE 3
0154 
0155 /**
0156  * @brief xcb_shape_combine_request_t
0157  **/
0158 typedef struct xcb_shape_combine_request_t {
0159     uint8_t          major_opcode;
0160     uint8_t          minor_opcode;
0161     uint16_t         length;
0162     xcb_shape_op_t   operation;
0163     xcb_shape_kind_t destination_kind;
0164     xcb_shape_kind_t source_kind;
0165     uint8_t          pad0;
0166     xcb_window_t     destination_window;
0167     int16_t          x_offset;
0168     int16_t          y_offset;
0169     xcb_window_t     source_window;
0170 } xcb_shape_combine_request_t;
0171 
0172 /** Opcode for xcb_shape_offset. */
0173 #define XCB_SHAPE_OFFSET 4
0174 
0175 /**
0176  * @brief xcb_shape_offset_request_t
0177  **/
0178 typedef struct xcb_shape_offset_request_t {
0179     uint8_t          major_opcode;
0180     uint8_t          minor_opcode;
0181     uint16_t         length;
0182     xcb_shape_kind_t destination_kind;
0183     uint8_t          pad0[3];
0184     xcb_window_t     destination_window;
0185     int16_t          x_offset;
0186     int16_t          y_offset;
0187 } xcb_shape_offset_request_t;
0188 
0189 /**
0190  * @brief xcb_shape_query_extents_cookie_t
0191  **/
0192 typedef struct xcb_shape_query_extents_cookie_t {
0193     unsigned int sequence;
0194 } xcb_shape_query_extents_cookie_t;
0195 
0196 /** Opcode for xcb_shape_query_extents. */
0197 #define XCB_SHAPE_QUERY_EXTENTS 5
0198 
0199 /**
0200  * @brief xcb_shape_query_extents_request_t
0201  **/
0202 typedef struct xcb_shape_query_extents_request_t {
0203     uint8_t      major_opcode;
0204     uint8_t      minor_opcode;
0205     uint16_t     length;
0206     xcb_window_t destination_window;
0207 } xcb_shape_query_extents_request_t;
0208 
0209 /**
0210  * @brief xcb_shape_query_extents_reply_t
0211  **/
0212 typedef struct xcb_shape_query_extents_reply_t {
0213     uint8_t  response_type;
0214     uint8_t  pad0;
0215     uint16_t sequence;
0216     uint32_t length;
0217     uint8_t  bounding_shaped;
0218     uint8_t  clip_shaped;
0219     uint8_t  pad1[2];
0220     int16_t  bounding_shape_extents_x;
0221     int16_t  bounding_shape_extents_y;
0222     uint16_t bounding_shape_extents_width;
0223     uint16_t bounding_shape_extents_height;
0224     int16_t  clip_shape_extents_x;
0225     int16_t  clip_shape_extents_y;
0226     uint16_t clip_shape_extents_width;
0227     uint16_t clip_shape_extents_height;
0228 } xcb_shape_query_extents_reply_t;
0229 
0230 /** Opcode for xcb_shape_select_input. */
0231 #define XCB_SHAPE_SELECT_INPUT 6
0232 
0233 /**
0234  * @brief xcb_shape_select_input_request_t
0235  **/
0236 typedef struct xcb_shape_select_input_request_t {
0237     uint8_t      major_opcode;
0238     uint8_t      minor_opcode;
0239     uint16_t     length;
0240     xcb_window_t destination_window;
0241     uint8_t      enable;
0242     uint8_t      pad0[3];
0243 } xcb_shape_select_input_request_t;
0244 
0245 /**
0246  * @brief xcb_shape_input_selected_cookie_t
0247  **/
0248 typedef struct xcb_shape_input_selected_cookie_t {
0249     unsigned int sequence;
0250 } xcb_shape_input_selected_cookie_t;
0251 
0252 /** Opcode for xcb_shape_input_selected. */
0253 #define XCB_SHAPE_INPUT_SELECTED 7
0254 
0255 /**
0256  * @brief xcb_shape_input_selected_request_t
0257  **/
0258 typedef struct xcb_shape_input_selected_request_t {
0259     uint8_t      major_opcode;
0260     uint8_t      minor_opcode;
0261     uint16_t     length;
0262     xcb_window_t destination_window;
0263 } xcb_shape_input_selected_request_t;
0264 
0265 /**
0266  * @brief xcb_shape_input_selected_reply_t
0267  **/
0268 typedef struct xcb_shape_input_selected_reply_t {
0269     uint8_t  response_type;
0270     uint8_t  enabled;
0271     uint16_t sequence;
0272     uint32_t length;
0273 } xcb_shape_input_selected_reply_t;
0274 
0275 /**
0276  * @brief xcb_shape_get_rectangles_cookie_t
0277  **/
0278 typedef struct xcb_shape_get_rectangles_cookie_t {
0279     unsigned int sequence;
0280 } xcb_shape_get_rectangles_cookie_t;
0281 
0282 /** Opcode for xcb_shape_get_rectangles. */
0283 #define XCB_SHAPE_GET_RECTANGLES 8
0284 
0285 /**
0286  * @brief xcb_shape_get_rectangles_request_t
0287  **/
0288 typedef struct xcb_shape_get_rectangles_request_t {
0289     uint8_t          major_opcode;
0290     uint8_t          minor_opcode;
0291     uint16_t         length;
0292     xcb_window_t     window;
0293     xcb_shape_kind_t source_kind;
0294     uint8_t          pad0[3];
0295 } xcb_shape_get_rectangles_request_t;
0296 
0297 /**
0298  * @brief xcb_shape_get_rectangles_reply_t
0299  **/
0300 typedef struct xcb_shape_get_rectangles_reply_t {
0301     uint8_t  response_type;
0302     uint8_t  ordering;
0303     uint16_t sequence;
0304     uint32_t length;
0305     uint32_t rectangles_len;
0306     uint8_t  pad0[20];
0307 } xcb_shape_get_rectangles_reply_t;
0308 
0309 /**
0310  * Get the next element of the iterator
0311  * @param i Pointer to a xcb_shape_op_iterator_t
0312  *
0313  * Get the next element in the iterator. The member rem is
0314  * decreased by one. The member data points to the next
0315  * element. The member index is increased by sizeof(xcb_shape_op_t)
0316  */
0317 void
0318 xcb_shape_op_next (xcb_shape_op_iterator_t *i);
0319 
0320 /**
0321  * Return the iterator pointing to the last element
0322  * @param i An xcb_shape_op_iterator_t
0323  * @return  The iterator pointing to the last element
0324  *
0325  * Set the current element in the iterator to the last element.
0326  * The member rem is set to 0. The member data points to the
0327  * last element.
0328  */
0329 xcb_generic_iterator_t
0330 xcb_shape_op_end (xcb_shape_op_iterator_t i);
0331 
0332 /**
0333  * Get the next element of the iterator
0334  * @param i Pointer to a xcb_shape_kind_iterator_t
0335  *
0336  * Get the next element in the iterator. The member rem is
0337  * decreased by one. The member data points to the next
0338  * element. The member index is increased by sizeof(xcb_shape_kind_t)
0339  */
0340 void
0341 xcb_shape_kind_next (xcb_shape_kind_iterator_t *i);
0342 
0343 /**
0344  * Return the iterator pointing to the last element
0345  * @param i An xcb_shape_kind_iterator_t
0346  * @return  The iterator pointing to the last element
0347  *
0348  * Set the current element in the iterator to the last element.
0349  * The member rem is set to 0. The member data points to the
0350  * last element.
0351  */
0352 xcb_generic_iterator_t
0353 xcb_shape_kind_end (xcb_shape_kind_iterator_t i);
0354 
0355 /**
0356  *
0357  * @param c The connection
0358  * @return A cookie
0359  *
0360  * Delivers a request to the X server.
0361  *
0362  */
0363 xcb_shape_query_version_cookie_t
0364 xcb_shape_query_version (xcb_connection_t *c);
0365 
0366 /**
0367  *
0368  * @param c The connection
0369  * @return A cookie
0370  *
0371  * Delivers a request to the X server.
0372  *
0373  * This form can be used only if the request will cause
0374  * a reply to be generated. Any returned error will be
0375  * placed in the event queue.
0376  */
0377 xcb_shape_query_version_cookie_t
0378 xcb_shape_query_version_unchecked (xcb_connection_t *c);
0379 
0380 /**
0381  * Return the reply
0382  * @param c      The connection
0383  * @param cookie The cookie
0384  * @param e      The xcb_generic_error_t supplied
0385  *
0386  * Returns the reply of the request asked by
0387  *
0388  * The parameter @p e supplied to this function must be NULL if
0389  * xcb_shape_query_version_unchecked(). is used.
0390  * Otherwise, it stores the error if any.
0391  *
0392  * The returned value must be freed by the caller using free().
0393  */
0394 xcb_shape_query_version_reply_t *
0395 xcb_shape_query_version_reply (xcb_connection_t                  *c,
0396                                xcb_shape_query_version_cookie_t   cookie  /**< */,
0397                                xcb_generic_error_t              **e);
0398 
0399 int
0400 xcb_shape_rectangles_sizeof (const void  *_buffer,
0401                              uint32_t     rectangles_len);
0402 
0403 /**
0404  *
0405  * @param c The connection
0406  * @return A cookie
0407  *
0408  * Delivers a request to the X server.
0409  *
0410  * This form can be used only if the request will not cause
0411  * a reply to be generated. Any returned error will be
0412  * saved for handling by xcb_request_check().
0413  */
0414 xcb_void_cookie_t
0415 xcb_shape_rectangles_checked (xcb_connection_t      *c,
0416                               xcb_shape_op_t         operation,
0417                               xcb_shape_kind_t       destination_kind,
0418                               uint8_t                ordering,
0419                               xcb_window_t           destination_window,
0420                               int16_t                x_offset,
0421                               int16_t                y_offset,
0422                               uint32_t               rectangles_len,
0423                               const xcb_rectangle_t *rectangles);
0424 
0425 /**
0426  *
0427  * @param c The connection
0428  * @return A cookie
0429  *
0430  * Delivers a request to the X server.
0431  *
0432  */
0433 xcb_void_cookie_t
0434 xcb_shape_rectangles (xcb_connection_t      *c,
0435                       xcb_shape_op_t         operation,
0436                       xcb_shape_kind_t       destination_kind,
0437                       uint8_t                ordering,
0438                       xcb_window_t           destination_window,
0439                       int16_t                x_offset,
0440                       int16_t                y_offset,
0441                       uint32_t               rectangles_len,
0442                       const xcb_rectangle_t *rectangles);
0443 
0444 xcb_rectangle_t *
0445 xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R);
0446 
0447 int
0448 xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R);
0449 
0450 xcb_rectangle_iterator_t
0451 xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R);
0452 
0453 /**
0454  *
0455  * @param c The connection
0456  * @return A cookie
0457  *
0458  * Delivers a request to the X server.
0459  *
0460  * This form can be used only if the request will not cause
0461  * a reply to be generated. Any returned error will be
0462  * saved for handling by xcb_request_check().
0463  */
0464 xcb_void_cookie_t
0465 xcb_shape_mask_checked (xcb_connection_t *c,
0466                         xcb_shape_op_t    operation,
0467                         xcb_shape_kind_t  destination_kind,
0468                         xcb_window_t      destination_window,
0469                         int16_t           x_offset,
0470                         int16_t           y_offset,
0471                         xcb_pixmap_t      source_bitmap);
0472 
0473 /**
0474  *
0475  * @param c The connection
0476  * @return A cookie
0477  *
0478  * Delivers a request to the X server.
0479  *
0480  */
0481 xcb_void_cookie_t
0482 xcb_shape_mask (xcb_connection_t *c,
0483                 xcb_shape_op_t    operation,
0484                 xcb_shape_kind_t  destination_kind,
0485                 xcb_window_t      destination_window,
0486                 int16_t           x_offset,
0487                 int16_t           y_offset,
0488                 xcb_pixmap_t      source_bitmap);
0489 
0490 /**
0491  *
0492  * @param c The connection
0493  * @return A cookie
0494  *
0495  * Delivers a request to the X server.
0496  *
0497  * This form can be used only if the request will not cause
0498  * a reply to be generated. Any returned error will be
0499  * saved for handling by xcb_request_check().
0500  */
0501 xcb_void_cookie_t
0502 xcb_shape_combine_checked (xcb_connection_t *c,
0503                            xcb_shape_op_t    operation,
0504                            xcb_shape_kind_t  destination_kind,
0505                            xcb_shape_kind_t  source_kind,
0506                            xcb_window_t      destination_window,
0507                            int16_t           x_offset,
0508                            int16_t           y_offset,
0509                            xcb_window_t      source_window);
0510 
0511 /**
0512  *
0513  * @param c The connection
0514  * @return A cookie
0515  *
0516  * Delivers a request to the X server.
0517  *
0518  */
0519 xcb_void_cookie_t
0520 xcb_shape_combine (xcb_connection_t *c,
0521                    xcb_shape_op_t    operation,
0522                    xcb_shape_kind_t  destination_kind,
0523                    xcb_shape_kind_t  source_kind,
0524                    xcb_window_t      destination_window,
0525                    int16_t           x_offset,
0526                    int16_t           y_offset,
0527                    xcb_window_t      source_window);
0528 
0529 /**
0530  *
0531  * @param c The connection
0532  * @return A cookie
0533  *
0534  * Delivers a request to the X server.
0535  *
0536  * This form can be used only if the request will not cause
0537  * a reply to be generated. Any returned error will be
0538  * saved for handling by xcb_request_check().
0539  */
0540 xcb_void_cookie_t
0541 xcb_shape_offset_checked (xcb_connection_t *c,
0542                           xcb_shape_kind_t  destination_kind,
0543                           xcb_window_t      destination_window,
0544                           int16_t           x_offset,
0545                           int16_t           y_offset);
0546 
0547 /**
0548  *
0549  * @param c The connection
0550  * @return A cookie
0551  *
0552  * Delivers a request to the X server.
0553  *
0554  */
0555 xcb_void_cookie_t
0556 xcb_shape_offset (xcb_connection_t *c,
0557                   xcb_shape_kind_t  destination_kind,
0558                   xcb_window_t      destination_window,
0559                   int16_t           x_offset,
0560                   int16_t           y_offset);
0561 
0562 /**
0563  *
0564  * @param c The connection
0565  * @return A cookie
0566  *
0567  * Delivers a request to the X server.
0568  *
0569  */
0570 xcb_shape_query_extents_cookie_t
0571 xcb_shape_query_extents (xcb_connection_t *c,
0572                          xcb_window_t      destination_window);
0573 
0574 /**
0575  *
0576  * @param c The connection
0577  * @return A cookie
0578  *
0579  * Delivers a request to the X server.
0580  *
0581  * This form can be used only if the request will cause
0582  * a reply to be generated. Any returned error will be
0583  * placed in the event queue.
0584  */
0585 xcb_shape_query_extents_cookie_t
0586 xcb_shape_query_extents_unchecked (xcb_connection_t *c,
0587                                    xcb_window_t      destination_window);
0588 
0589 /**
0590  * Return the reply
0591  * @param c      The connection
0592  * @param cookie The cookie
0593  * @param e      The xcb_generic_error_t supplied
0594  *
0595  * Returns the reply of the request asked by
0596  *
0597  * The parameter @p e supplied to this function must be NULL if
0598  * xcb_shape_query_extents_unchecked(). is used.
0599  * Otherwise, it stores the error if any.
0600  *
0601  * The returned value must be freed by the caller using free().
0602  */
0603 xcb_shape_query_extents_reply_t *
0604 xcb_shape_query_extents_reply (xcb_connection_t                  *c,
0605                                xcb_shape_query_extents_cookie_t   cookie  /**< */,
0606                                xcb_generic_error_t              **e);
0607 
0608 /**
0609  *
0610  * @param c The connection
0611  * @return A cookie
0612  *
0613  * Delivers a request to the X server.
0614  *
0615  * This form can be used only if the request will not cause
0616  * a reply to be generated. Any returned error will be
0617  * saved for handling by xcb_request_check().
0618  */
0619 xcb_void_cookie_t
0620 xcb_shape_select_input_checked (xcb_connection_t *c,
0621                                 xcb_window_t      destination_window,
0622                                 uint8_t           enable);
0623 
0624 /**
0625  *
0626  * @param c The connection
0627  * @return A cookie
0628  *
0629  * Delivers a request to the X server.
0630  *
0631  */
0632 xcb_void_cookie_t
0633 xcb_shape_select_input (xcb_connection_t *c,
0634                         xcb_window_t      destination_window,
0635                         uint8_t           enable);
0636 
0637 /**
0638  *
0639  * @param c The connection
0640  * @return A cookie
0641  *
0642  * Delivers a request to the X server.
0643  *
0644  */
0645 xcb_shape_input_selected_cookie_t
0646 xcb_shape_input_selected (xcb_connection_t *c,
0647                           xcb_window_t      destination_window);
0648 
0649 /**
0650  *
0651  * @param c The connection
0652  * @return A cookie
0653  *
0654  * Delivers a request to the X server.
0655  *
0656  * This form can be used only if the request will cause
0657  * a reply to be generated. Any returned error will be
0658  * placed in the event queue.
0659  */
0660 xcb_shape_input_selected_cookie_t
0661 xcb_shape_input_selected_unchecked (xcb_connection_t *c,
0662                                     xcb_window_t      destination_window);
0663 
0664 /**
0665  * Return the reply
0666  * @param c      The connection
0667  * @param cookie The cookie
0668  * @param e      The xcb_generic_error_t supplied
0669  *
0670  * Returns the reply of the request asked by
0671  *
0672  * The parameter @p e supplied to this function must be NULL if
0673  * xcb_shape_input_selected_unchecked(). is used.
0674  * Otherwise, it stores the error if any.
0675  *
0676  * The returned value must be freed by the caller using free().
0677  */
0678 xcb_shape_input_selected_reply_t *
0679 xcb_shape_input_selected_reply (xcb_connection_t                   *c,
0680                                 xcb_shape_input_selected_cookie_t   cookie  /**< */,
0681                                 xcb_generic_error_t               **e);
0682 
0683 int
0684 xcb_shape_get_rectangles_sizeof (const void  *_buffer);
0685 
0686 /**
0687  *
0688  * @param c The connection
0689  * @return A cookie
0690  *
0691  * Delivers a request to the X server.
0692  *
0693  */
0694 xcb_shape_get_rectangles_cookie_t
0695 xcb_shape_get_rectangles (xcb_connection_t *c,
0696                           xcb_window_t      window,
0697                           xcb_shape_kind_t  source_kind);
0698 
0699 /**
0700  *
0701  * @param c The connection
0702  * @return A cookie
0703  *
0704  * Delivers a request to the X server.
0705  *
0706  * This form can be used only if the request will cause
0707  * a reply to be generated. Any returned error will be
0708  * placed in the event queue.
0709  */
0710 xcb_shape_get_rectangles_cookie_t
0711 xcb_shape_get_rectangles_unchecked (xcb_connection_t *c,
0712                                     xcb_window_t      window,
0713                                     xcb_shape_kind_t  source_kind);
0714 
0715 xcb_rectangle_t *
0716 xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R);
0717 
0718 int
0719 xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R);
0720 
0721 xcb_rectangle_iterator_t
0722 xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R);
0723 
0724 /**
0725  * Return the reply
0726  * @param c      The connection
0727  * @param cookie The cookie
0728  * @param e      The xcb_generic_error_t supplied
0729  *
0730  * Returns the reply of the request asked by
0731  *
0732  * The parameter @p e supplied to this function must be NULL if
0733  * xcb_shape_get_rectangles_unchecked(). is used.
0734  * Otherwise, it stores the error if any.
0735  *
0736  * The returned value must be freed by the caller using free().
0737  */
0738 xcb_shape_get_rectangles_reply_t *
0739 xcb_shape_get_rectangles_reply (xcb_connection_t                   *c,
0740                                 xcb_shape_get_rectangles_cookie_t   cookie  /**< */,
0741                                 xcb_generic_error_t               **e);
0742 
0743 
0744 #ifdef __cplusplus
0745 }
0746 #endif
0747 
0748 #endif
0749 
0750 /**
0751  * @}
0752  */