Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /*
0002  * This file generated automatically from xfixes.xml by c_client.py.
0003  * Edit at your peril.
0004  */
0005 
0006 /**
0007  * @defgroup XCB_XFixes_API XCB XFixes API
0008  * @brief XFixes XCB Protocol Implementation.
0009  * @{
0010  **/
0011 
0012 #ifndef __XFIXES_H
0013 #define __XFIXES_H
0014 
0015 #include "xcb.h"
0016 #include "xproto.h"
0017 #include "render.h"
0018 #include "shape.h"
0019 
0020 #ifdef __cplusplus
0021 extern "C" {
0022 #endif
0023 
0024 #define XCB_XFIXES_MAJOR_VERSION 6
0025 #define XCB_XFIXES_MINOR_VERSION 0
0026 
0027 extern xcb_extension_t xcb_xfixes_id;
0028 
0029 /**
0030  * @brief xcb_xfixes_query_version_cookie_t
0031  **/
0032 typedef struct xcb_xfixes_query_version_cookie_t {
0033     unsigned int sequence;
0034 } xcb_xfixes_query_version_cookie_t;
0035 
0036 /** Opcode for xcb_xfixes_query_version. */
0037 #define XCB_XFIXES_QUERY_VERSION 0
0038 
0039 /**
0040  * @brief xcb_xfixes_query_version_request_t
0041  **/
0042 typedef struct xcb_xfixes_query_version_request_t {
0043     uint8_t  major_opcode;
0044     uint8_t  minor_opcode;
0045     uint16_t length;
0046     uint32_t client_major_version;
0047     uint32_t client_minor_version;
0048 } xcb_xfixes_query_version_request_t;
0049 
0050 /**
0051  * @brief xcb_xfixes_query_version_reply_t
0052  **/
0053 typedef struct xcb_xfixes_query_version_reply_t {
0054     uint8_t  response_type;
0055     uint8_t  pad0;
0056     uint16_t sequence;
0057     uint32_t length;
0058     uint32_t major_version;
0059     uint32_t minor_version;
0060     uint8_t  pad1[16];
0061 } xcb_xfixes_query_version_reply_t;
0062 
0063 typedef enum xcb_xfixes_save_set_mode_t {
0064     XCB_XFIXES_SAVE_SET_MODE_INSERT = 0,
0065     XCB_XFIXES_SAVE_SET_MODE_DELETE = 1
0066 } xcb_xfixes_save_set_mode_t;
0067 
0068 typedef enum xcb_xfixes_save_set_target_t {
0069     XCB_XFIXES_SAVE_SET_TARGET_NEAREST = 0,
0070     XCB_XFIXES_SAVE_SET_TARGET_ROOT = 1
0071 } xcb_xfixes_save_set_target_t;
0072 
0073 typedef enum xcb_xfixes_save_set_mapping_t {
0074     XCB_XFIXES_SAVE_SET_MAPPING_MAP = 0,
0075     XCB_XFIXES_SAVE_SET_MAPPING_UNMAP = 1
0076 } xcb_xfixes_save_set_mapping_t;
0077 
0078 /** Opcode for xcb_xfixes_change_save_set. */
0079 #define XCB_XFIXES_CHANGE_SAVE_SET 1
0080 
0081 /**
0082  * @brief xcb_xfixes_change_save_set_request_t
0083  **/
0084 typedef struct xcb_xfixes_change_save_set_request_t {
0085     uint8_t      major_opcode;
0086     uint8_t      minor_opcode;
0087     uint16_t     length;
0088     uint8_t      mode;
0089     uint8_t      target;
0090     uint8_t      map;
0091     uint8_t      pad0;
0092     xcb_window_t window;
0093 } xcb_xfixes_change_save_set_request_t;
0094 
0095 typedef enum xcb_xfixes_selection_event_t {
0096     XCB_XFIXES_SELECTION_EVENT_SET_SELECTION_OWNER = 0,
0097     XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY = 1,
0098     XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE = 2
0099 } xcb_xfixes_selection_event_t;
0100 
0101 typedef enum xcb_xfixes_selection_event_mask_t {
0102     XCB_XFIXES_SELECTION_EVENT_MASK_SET_SELECTION_OWNER = 1,
0103     XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_WINDOW_DESTROY = 2,
0104     XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_CLIENT_CLOSE = 4
0105 } xcb_xfixes_selection_event_mask_t;
0106 
0107 /** Opcode for xcb_xfixes_selection_notify. */
0108 #define XCB_XFIXES_SELECTION_NOTIFY 0
0109 
0110 /**
0111  * @brief xcb_xfixes_selection_notify_event_t
0112  **/
0113 typedef struct xcb_xfixes_selection_notify_event_t {
0114     uint8_t         response_type;
0115     uint8_t         subtype;
0116     uint16_t        sequence;
0117     xcb_window_t    window;
0118     xcb_window_t    owner;
0119     xcb_atom_t      selection;
0120     xcb_timestamp_t timestamp;
0121     xcb_timestamp_t selection_timestamp;
0122     uint8_t         pad0[8];
0123 } xcb_xfixes_selection_notify_event_t;
0124 
0125 /** Opcode for xcb_xfixes_select_selection_input. */
0126 #define XCB_XFIXES_SELECT_SELECTION_INPUT 2
0127 
0128 /**
0129  * @brief xcb_xfixes_select_selection_input_request_t
0130  **/
0131 typedef struct xcb_xfixes_select_selection_input_request_t {
0132     uint8_t      major_opcode;
0133     uint8_t      minor_opcode;
0134     uint16_t     length;
0135     xcb_window_t window;
0136     xcb_atom_t   selection;
0137     uint32_t     event_mask;
0138 } xcb_xfixes_select_selection_input_request_t;
0139 
0140 typedef enum xcb_xfixes_cursor_notify_t {
0141     XCB_XFIXES_CURSOR_NOTIFY_DISPLAY_CURSOR = 0
0142 } xcb_xfixes_cursor_notify_t;
0143 
0144 typedef enum xcb_xfixes_cursor_notify_mask_t {
0145     XCB_XFIXES_CURSOR_NOTIFY_MASK_DISPLAY_CURSOR = 1
0146 } xcb_xfixes_cursor_notify_mask_t;
0147 
0148 /** Opcode for xcb_xfixes_cursor_notify. */
0149 #define XCB_XFIXES_CURSOR_NOTIFY 1
0150 
0151 /**
0152  * @brief xcb_xfixes_cursor_notify_event_t
0153  **/
0154 typedef struct xcb_xfixes_cursor_notify_event_t {
0155     uint8_t         response_type;
0156     uint8_t         subtype;
0157     uint16_t        sequence;
0158     xcb_window_t    window;
0159     uint32_t        cursor_serial;
0160     xcb_timestamp_t timestamp;
0161     xcb_atom_t      name;
0162     uint8_t         pad0[12];
0163 } xcb_xfixes_cursor_notify_event_t;
0164 
0165 /** Opcode for xcb_xfixes_select_cursor_input. */
0166 #define XCB_XFIXES_SELECT_CURSOR_INPUT 3
0167 
0168 /**
0169  * @brief xcb_xfixes_select_cursor_input_request_t
0170  **/
0171 typedef struct xcb_xfixes_select_cursor_input_request_t {
0172     uint8_t      major_opcode;
0173     uint8_t      minor_opcode;
0174     uint16_t     length;
0175     xcb_window_t window;
0176     uint32_t     event_mask;
0177 } xcb_xfixes_select_cursor_input_request_t;
0178 
0179 /**
0180  * @brief xcb_xfixes_get_cursor_image_cookie_t
0181  **/
0182 typedef struct xcb_xfixes_get_cursor_image_cookie_t {
0183     unsigned int sequence;
0184 } xcb_xfixes_get_cursor_image_cookie_t;
0185 
0186 /** Opcode for xcb_xfixes_get_cursor_image. */
0187 #define XCB_XFIXES_GET_CURSOR_IMAGE 4
0188 
0189 /**
0190  * @brief xcb_xfixes_get_cursor_image_request_t
0191  **/
0192 typedef struct xcb_xfixes_get_cursor_image_request_t {
0193     uint8_t  major_opcode;
0194     uint8_t  minor_opcode;
0195     uint16_t length;
0196 } xcb_xfixes_get_cursor_image_request_t;
0197 
0198 /**
0199  * @brief xcb_xfixes_get_cursor_image_reply_t
0200  **/
0201 typedef struct xcb_xfixes_get_cursor_image_reply_t {
0202     uint8_t  response_type;
0203     uint8_t  pad0;
0204     uint16_t sequence;
0205     uint32_t length;
0206     int16_t  x;
0207     int16_t  y;
0208     uint16_t width;
0209     uint16_t height;
0210     uint16_t xhot;
0211     uint16_t yhot;
0212     uint32_t cursor_serial;
0213     uint8_t  pad1[8];
0214 } xcb_xfixes_get_cursor_image_reply_t;
0215 
0216 typedef uint32_t xcb_xfixes_region_t;
0217 
0218 /**
0219  * @brief xcb_xfixes_region_iterator_t
0220  **/
0221 typedef struct xcb_xfixes_region_iterator_t {
0222     xcb_xfixes_region_t *data;
0223     int                  rem;
0224     int                  index;
0225 } xcb_xfixes_region_iterator_t;
0226 
0227 /** Opcode for xcb_xfixes_bad_region. */
0228 #define XCB_XFIXES_BAD_REGION 0
0229 
0230 /**
0231  * @brief xcb_xfixes_bad_region_error_t
0232  **/
0233 typedef struct xcb_xfixes_bad_region_error_t {
0234     uint8_t  response_type;
0235     uint8_t  error_code;
0236     uint16_t sequence;
0237     uint32_t bad_value;
0238     uint16_t minor_opcode;
0239     uint8_t  major_opcode;
0240 } xcb_xfixes_bad_region_error_t;
0241 
0242 typedef enum xcb_xfixes_region_enum_t {
0243     XCB_XFIXES_REGION_NONE = 0
0244 } xcb_xfixes_region_enum_t;
0245 
0246 /** Opcode for xcb_xfixes_create_region. */
0247 #define XCB_XFIXES_CREATE_REGION 5
0248 
0249 /**
0250  * @brief xcb_xfixes_create_region_request_t
0251  **/
0252 typedef struct xcb_xfixes_create_region_request_t {
0253     uint8_t             major_opcode;
0254     uint8_t             minor_opcode;
0255     uint16_t            length;
0256     xcb_xfixes_region_t region;
0257 } xcb_xfixes_create_region_request_t;
0258 
0259 /** Opcode for xcb_xfixes_create_region_from_bitmap. */
0260 #define XCB_XFIXES_CREATE_REGION_FROM_BITMAP 6
0261 
0262 /**
0263  * @brief xcb_xfixes_create_region_from_bitmap_request_t
0264  **/
0265 typedef struct xcb_xfixes_create_region_from_bitmap_request_t {
0266     uint8_t             major_opcode;
0267     uint8_t             minor_opcode;
0268     uint16_t            length;
0269     xcb_xfixes_region_t region;
0270     xcb_pixmap_t        bitmap;
0271 } xcb_xfixes_create_region_from_bitmap_request_t;
0272 
0273 /** Opcode for xcb_xfixes_create_region_from_window. */
0274 #define XCB_XFIXES_CREATE_REGION_FROM_WINDOW 7
0275 
0276 /**
0277  * @brief xcb_xfixes_create_region_from_window_request_t
0278  **/
0279 typedef struct xcb_xfixes_create_region_from_window_request_t {
0280     uint8_t             major_opcode;
0281     uint8_t             minor_opcode;
0282     uint16_t            length;
0283     xcb_xfixes_region_t region;
0284     xcb_window_t        window;
0285     xcb_shape_kind_t    kind;
0286     uint8_t             pad0[3];
0287 } xcb_xfixes_create_region_from_window_request_t;
0288 
0289 /** Opcode for xcb_xfixes_create_region_from_gc. */
0290 #define XCB_XFIXES_CREATE_REGION_FROM_GC 8
0291 
0292 /**
0293  * @brief xcb_xfixes_create_region_from_gc_request_t
0294  **/
0295 typedef struct xcb_xfixes_create_region_from_gc_request_t {
0296     uint8_t             major_opcode;
0297     uint8_t             minor_opcode;
0298     uint16_t            length;
0299     xcb_xfixes_region_t region;
0300     xcb_gcontext_t      gc;
0301 } xcb_xfixes_create_region_from_gc_request_t;
0302 
0303 /** Opcode for xcb_xfixes_create_region_from_picture. */
0304 #define XCB_XFIXES_CREATE_REGION_FROM_PICTURE 9
0305 
0306 /**
0307  * @brief xcb_xfixes_create_region_from_picture_request_t
0308  **/
0309 typedef struct xcb_xfixes_create_region_from_picture_request_t {
0310     uint8_t              major_opcode;
0311     uint8_t              minor_opcode;
0312     uint16_t             length;
0313     xcb_xfixes_region_t  region;
0314     xcb_render_picture_t picture;
0315 } xcb_xfixes_create_region_from_picture_request_t;
0316 
0317 /** Opcode for xcb_xfixes_destroy_region. */
0318 #define XCB_XFIXES_DESTROY_REGION 10
0319 
0320 /**
0321  * @brief xcb_xfixes_destroy_region_request_t
0322  **/
0323 typedef struct xcb_xfixes_destroy_region_request_t {
0324     uint8_t             major_opcode;
0325     uint8_t             minor_opcode;
0326     uint16_t            length;
0327     xcb_xfixes_region_t region;
0328 } xcb_xfixes_destroy_region_request_t;
0329 
0330 /** Opcode for xcb_xfixes_set_region. */
0331 #define XCB_XFIXES_SET_REGION 11
0332 
0333 /**
0334  * @brief xcb_xfixes_set_region_request_t
0335  **/
0336 typedef struct xcb_xfixes_set_region_request_t {
0337     uint8_t             major_opcode;
0338     uint8_t             minor_opcode;
0339     uint16_t            length;
0340     xcb_xfixes_region_t region;
0341 } xcb_xfixes_set_region_request_t;
0342 
0343 /** Opcode for xcb_xfixes_copy_region. */
0344 #define XCB_XFIXES_COPY_REGION 12
0345 
0346 /**
0347  * @brief xcb_xfixes_copy_region_request_t
0348  **/
0349 typedef struct xcb_xfixes_copy_region_request_t {
0350     uint8_t             major_opcode;
0351     uint8_t             minor_opcode;
0352     uint16_t            length;
0353     xcb_xfixes_region_t source;
0354     xcb_xfixes_region_t destination;
0355 } xcb_xfixes_copy_region_request_t;
0356 
0357 /** Opcode for xcb_xfixes_union_region. */
0358 #define XCB_XFIXES_UNION_REGION 13
0359 
0360 /**
0361  * @brief xcb_xfixes_union_region_request_t
0362  **/
0363 typedef struct xcb_xfixes_union_region_request_t {
0364     uint8_t             major_opcode;
0365     uint8_t             minor_opcode;
0366     uint16_t            length;
0367     xcb_xfixes_region_t source1;
0368     xcb_xfixes_region_t source2;
0369     xcb_xfixes_region_t destination;
0370 } xcb_xfixes_union_region_request_t;
0371 
0372 /** Opcode for xcb_xfixes_intersect_region. */
0373 #define XCB_XFIXES_INTERSECT_REGION 14
0374 
0375 /**
0376  * @brief xcb_xfixes_intersect_region_request_t
0377  **/
0378 typedef struct xcb_xfixes_intersect_region_request_t {
0379     uint8_t             major_opcode;
0380     uint8_t             minor_opcode;
0381     uint16_t            length;
0382     xcb_xfixes_region_t source1;
0383     xcb_xfixes_region_t source2;
0384     xcb_xfixes_region_t destination;
0385 } xcb_xfixes_intersect_region_request_t;
0386 
0387 /** Opcode for xcb_xfixes_subtract_region. */
0388 #define XCB_XFIXES_SUBTRACT_REGION 15
0389 
0390 /**
0391  * @brief xcb_xfixes_subtract_region_request_t
0392  **/
0393 typedef struct xcb_xfixes_subtract_region_request_t {
0394     uint8_t             major_opcode;
0395     uint8_t             minor_opcode;
0396     uint16_t            length;
0397     xcb_xfixes_region_t source1;
0398     xcb_xfixes_region_t source2;
0399     xcb_xfixes_region_t destination;
0400 } xcb_xfixes_subtract_region_request_t;
0401 
0402 /** Opcode for xcb_xfixes_invert_region. */
0403 #define XCB_XFIXES_INVERT_REGION 16
0404 
0405 /**
0406  * @brief xcb_xfixes_invert_region_request_t
0407  **/
0408 typedef struct xcb_xfixes_invert_region_request_t {
0409     uint8_t             major_opcode;
0410     uint8_t             minor_opcode;
0411     uint16_t            length;
0412     xcb_xfixes_region_t source;
0413     xcb_rectangle_t     bounds;
0414     xcb_xfixes_region_t destination;
0415 } xcb_xfixes_invert_region_request_t;
0416 
0417 /** Opcode for xcb_xfixes_translate_region. */
0418 #define XCB_XFIXES_TRANSLATE_REGION 17
0419 
0420 /**
0421  * @brief xcb_xfixes_translate_region_request_t
0422  **/
0423 typedef struct xcb_xfixes_translate_region_request_t {
0424     uint8_t             major_opcode;
0425     uint8_t             minor_opcode;
0426     uint16_t            length;
0427     xcb_xfixes_region_t region;
0428     int16_t             dx;
0429     int16_t             dy;
0430 } xcb_xfixes_translate_region_request_t;
0431 
0432 /** Opcode for xcb_xfixes_region_extents. */
0433 #define XCB_XFIXES_REGION_EXTENTS 18
0434 
0435 /**
0436  * @brief xcb_xfixes_region_extents_request_t
0437  **/
0438 typedef struct xcb_xfixes_region_extents_request_t {
0439     uint8_t             major_opcode;
0440     uint8_t             minor_opcode;
0441     uint16_t            length;
0442     xcb_xfixes_region_t source;
0443     xcb_xfixes_region_t destination;
0444 } xcb_xfixes_region_extents_request_t;
0445 
0446 /**
0447  * @brief xcb_xfixes_fetch_region_cookie_t
0448  **/
0449 typedef struct xcb_xfixes_fetch_region_cookie_t {
0450     unsigned int sequence;
0451 } xcb_xfixes_fetch_region_cookie_t;
0452 
0453 /** Opcode for xcb_xfixes_fetch_region. */
0454 #define XCB_XFIXES_FETCH_REGION 19
0455 
0456 /**
0457  * @brief xcb_xfixes_fetch_region_request_t
0458  **/
0459 typedef struct xcb_xfixes_fetch_region_request_t {
0460     uint8_t             major_opcode;
0461     uint8_t             minor_opcode;
0462     uint16_t            length;
0463     xcb_xfixes_region_t region;
0464 } xcb_xfixes_fetch_region_request_t;
0465 
0466 /**
0467  * @brief xcb_xfixes_fetch_region_reply_t
0468  **/
0469 typedef struct xcb_xfixes_fetch_region_reply_t {
0470     uint8_t         response_type;
0471     uint8_t         pad0;
0472     uint16_t        sequence;
0473     uint32_t        length;
0474     xcb_rectangle_t extents;
0475     uint8_t         pad1[16];
0476 } xcb_xfixes_fetch_region_reply_t;
0477 
0478 /** Opcode for xcb_xfixes_set_gc_clip_region. */
0479 #define XCB_XFIXES_SET_GC_CLIP_REGION 20
0480 
0481 /**
0482  * @brief xcb_xfixes_set_gc_clip_region_request_t
0483  **/
0484 typedef struct xcb_xfixes_set_gc_clip_region_request_t {
0485     uint8_t             major_opcode;
0486     uint8_t             minor_opcode;
0487     uint16_t            length;
0488     xcb_gcontext_t      gc;
0489     xcb_xfixes_region_t region;
0490     int16_t             x_origin;
0491     int16_t             y_origin;
0492 } xcb_xfixes_set_gc_clip_region_request_t;
0493 
0494 /** Opcode for xcb_xfixes_set_window_shape_region. */
0495 #define XCB_XFIXES_SET_WINDOW_SHAPE_REGION 21
0496 
0497 /**
0498  * @brief xcb_xfixes_set_window_shape_region_request_t
0499  **/
0500 typedef struct xcb_xfixes_set_window_shape_region_request_t {
0501     uint8_t             major_opcode;
0502     uint8_t             minor_opcode;
0503     uint16_t            length;
0504     xcb_window_t        dest;
0505     xcb_shape_kind_t    dest_kind;
0506     uint8_t             pad0[3];
0507     int16_t             x_offset;
0508     int16_t             y_offset;
0509     xcb_xfixes_region_t region;
0510 } xcb_xfixes_set_window_shape_region_request_t;
0511 
0512 /** Opcode for xcb_xfixes_set_picture_clip_region. */
0513 #define XCB_XFIXES_SET_PICTURE_CLIP_REGION 22
0514 
0515 /**
0516  * @brief xcb_xfixes_set_picture_clip_region_request_t
0517  **/
0518 typedef struct xcb_xfixes_set_picture_clip_region_request_t {
0519     uint8_t              major_opcode;
0520     uint8_t              minor_opcode;
0521     uint16_t             length;
0522     xcb_render_picture_t picture;
0523     xcb_xfixes_region_t  region;
0524     int16_t              x_origin;
0525     int16_t              y_origin;
0526 } xcb_xfixes_set_picture_clip_region_request_t;
0527 
0528 /** Opcode for xcb_xfixes_set_cursor_name. */
0529 #define XCB_XFIXES_SET_CURSOR_NAME 23
0530 
0531 /**
0532  * @brief xcb_xfixes_set_cursor_name_request_t
0533  **/
0534 typedef struct xcb_xfixes_set_cursor_name_request_t {
0535     uint8_t      major_opcode;
0536     uint8_t      minor_opcode;
0537     uint16_t     length;
0538     xcb_cursor_t cursor;
0539     uint16_t     nbytes;
0540     uint8_t      pad0[2];
0541 } xcb_xfixes_set_cursor_name_request_t;
0542 
0543 /**
0544  * @brief xcb_xfixes_get_cursor_name_cookie_t
0545  **/
0546 typedef struct xcb_xfixes_get_cursor_name_cookie_t {
0547     unsigned int sequence;
0548 } xcb_xfixes_get_cursor_name_cookie_t;
0549 
0550 /** Opcode for xcb_xfixes_get_cursor_name. */
0551 #define XCB_XFIXES_GET_CURSOR_NAME 24
0552 
0553 /**
0554  * @brief xcb_xfixes_get_cursor_name_request_t
0555  **/
0556 typedef struct xcb_xfixes_get_cursor_name_request_t {
0557     uint8_t      major_opcode;
0558     uint8_t      minor_opcode;
0559     uint16_t     length;
0560     xcb_cursor_t cursor;
0561 } xcb_xfixes_get_cursor_name_request_t;
0562 
0563 /**
0564  * @brief xcb_xfixes_get_cursor_name_reply_t
0565  **/
0566 typedef struct xcb_xfixes_get_cursor_name_reply_t {
0567     uint8_t    response_type;
0568     uint8_t    pad0;
0569     uint16_t   sequence;
0570     uint32_t   length;
0571     xcb_atom_t atom;
0572     uint16_t   nbytes;
0573     uint8_t    pad1[18];
0574 } xcb_xfixes_get_cursor_name_reply_t;
0575 
0576 /**
0577  * @brief xcb_xfixes_get_cursor_image_and_name_cookie_t
0578  **/
0579 typedef struct xcb_xfixes_get_cursor_image_and_name_cookie_t {
0580     unsigned int sequence;
0581 } xcb_xfixes_get_cursor_image_and_name_cookie_t;
0582 
0583 /** Opcode for xcb_xfixes_get_cursor_image_and_name. */
0584 #define XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME 25
0585 
0586 /**
0587  * @brief xcb_xfixes_get_cursor_image_and_name_request_t
0588  **/
0589 typedef struct xcb_xfixes_get_cursor_image_and_name_request_t {
0590     uint8_t  major_opcode;
0591     uint8_t  minor_opcode;
0592     uint16_t length;
0593 } xcb_xfixes_get_cursor_image_and_name_request_t;
0594 
0595 /**
0596  * @brief xcb_xfixes_get_cursor_image_and_name_reply_t
0597  **/
0598 typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
0599     uint8_t    response_type;
0600     uint8_t    pad0;
0601     uint16_t   sequence;
0602     uint32_t   length;
0603     int16_t    x;
0604     int16_t    y;
0605     uint16_t   width;
0606     uint16_t   height;
0607     uint16_t   xhot;
0608     uint16_t   yhot;
0609     uint32_t   cursor_serial;
0610     xcb_atom_t cursor_atom;
0611     uint16_t   nbytes;
0612     uint8_t    pad1[2];
0613 } xcb_xfixes_get_cursor_image_and_name_reply_t;
0614 
0615 /** Opcode for xcb_xfixes_change_cursor. */
0616 #define XCB_XFIXES_CHANGE_CURSOR 26
0617 
0618 /**
0619  * @brief xcb_xfixes_change_cursor_request_t
0620  **/
0621 typedef struct xcb_xfixes_change_cursor_request_t {
0622     uint8_t      major_opcode;
0623     uint8_t      minor_opcode;
0624     uint16_t     length;
0625     xcb_cursor_t source;
0626     xcb_cursor_t destination;
0627 } xcb_xfixes_change_cursor_request_t;
0628 
0629 /** Opcode for xcb_xfixes_change_cursor_by_name. */
0630 #define XCB_XFIXES_CHANGE_CURSOR_BY_NAME 27
0631 
0632 /**
0633  * @brief xcb_xfixes_change_cursor_by_name_request_t
0634  **/
0635 typedef struct xcb_xfixes_change_cursor_by_name_request_t {
0636     uint8_t      major_opcode;
0637     uint8_t      minor_opcode;
0638     uint16_t     length;
0639     xcb_cursor_t src;
0640     uint16_t     nbytes;
0641     uint8_t      pad0[2];
0642 } xcb_xfixes_change_cursor_by_name_request_t;
0643 
0644 /** Opcode for xcb_xfixes_expand_region. */
0645 #define XCB_XFIXES_EXPAND_REGION 28
0646 
0647 /**
0648  * @brief xcb_xfixes_expand_region_request_t
0649  **/
0650 typedef struct xcb_xfixes_expand_region_request_t {
0651     uint8_t             major_opcode;
0652     uint8_t             minor_opcode;
0653     uint16_t            length;
0654     xcb_xfixes_region_t source;
0655     xcb_xfixes_region_t destination;
0656     uint16_t            left;
0657     uint16_t            right;
0658     uint16_t            top;
0659     uint16_t            bottom;
0660 } xcb_xfixes_expand_region_request_t;
0661 
0662 /** Opcode for xcb_xfixes_hide_cursor. */
0663 #define XCB_XFIXES_HIDE_CURSOR 29
0664 
0665 /**
0666  * @brief xcb_xfixes_hide_cursor_request_t
0667  **/
0668 typedef struct xcb_xfixes_hide_cursor_request_t {
0669     uint8_t      major_opcode;
0670     uint8_t      minor_opcode;
0671     uint16_t     length;
0672     xcb_window_t window;
0673 } xcb_xfixes_hide_cursor_request_t;
0674 
0675 /** Opcode for xcb_xfixes_show_cursor. */
0676 #define XCB_XFIXES_SHOW_CURSOR 30
0677 
0678 /**
0679  * @brief xcb_xfixes_show_cursor_request_t
0680  **/
0681 typedef struct xcb_xfixes_show_cursor_request_t {
0682     uint8_t      major_opcode;
0683     uint8_t      minor_opcode;
0684     uint16_t     length;
0685     xcb_window_t window;
0686 } xcb_xfixes_show_cursor_request_t;
0687 
0688 typedef uint32_t xcb_xfixes_barrier_t;
0689 
0690 /**
0691  * @brief xcb_xfixes_barrier_iterator_t
0692  **/
0693 typedef struct xcb_xfixes_barrier_iterator_t {
0694     xcb_xfixes_barrier_t *data;
0695     int                   rem;
0696     int                   index;
0697 } xcb_xfixes_barrier_iterator_t;
0698 
0699 typedef enum xcb_xfixes_barrier_directions_t {
0700     XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_X = 1,
0701     XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_Y = 2,
0702     XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_X = 4,
0703     XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_Y = 8
0704 } xcb_xfixes_barrier_directions_t;
0705 
0706 /** Opcode for xcb_xfixes_create_pointer_barrier. */
0707 #define XCB_XFIXES_CREATE_POINTER_BARRIER 31
0708 
0709 /**
0710  * @brief xcb_xfixes_create_pointer_barrier_request_t
0711  **/
0712 typedef struct xcb_xfixes_create_pointer_barrier_request_t {
0713     uint8_t              major_opcode;
0714     uint8_t              minor_opcode;
0715     uint16_t             length;
0716     xcb_xfixes_barrier_t barrier;
0717     xcb_window_t         window;
0718     uint16_t             x1;
0719     uint16_t             y1;
0720     uint16_t             x2;
0721     uint16_t             y2;
0722     uint32_t             directions;
0723     uint8_t              pad0[2];
0724     uint16_t             num_devices;
0725 } xcb_xfixes_create_pointer_barrier_request_t;
0726 
0727 /** Opcode for xcb_xfixes_delete_pointer_barrier. */
0728 #define XCB_XFIXES_DELETE_POINTER_BARRIER 32
0729 
0730 /**
0731  * @brief xcb_xfixes_delete_pointer_barrier_request_t
0732  **/
0733 typedef struct xcb_xfixes_delete_pointer_barrier_request_t {
0734     uint8_t              major_opcode;
0735     uint8_t              minor_opcode;
0736     uint16_t             length;
0737     xcb_xfixes_barrier_t barrier;
0738 } xcb_xfixes_delete_pointer_barrier_request_t;
0739 
0740 typedef enum xcb_xfixes_client_disconnect_flags_t {
0741     XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_DEFAULT = 0,
0742 /**< The default behavior for regular clients: the X11 server won't terminate as long
0743 as such clients are still connected, and should this client disconnect, the
0744 server will continue running so long as other clients (that have not set
0745 XFixesClientDisconnectFlagTerminate) are connected. */
0746 
0747     XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_TERMINATE = 1
0748 /**< Indicates to the X11 server that it can ignore the client and terminate itself
0749 even though the client is still connected to the X11 server. */
0750 
0751 } xcb_xfixes_client_disconnect_flags_t;
0752 
0753 /** Opcode for xcb_xfixes_set_client_disconnect_mode. */
0754 #define XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE 33
0755 
0756 /**
0757  * @brief xcb_xfixes_set_client_disconnect_mode_request_t
0758  **/
0759 typedef struct xcb_xfixes_set_client_disconnect_mode_request_t {
0760     uint8_t  major_opcode;
0761     uint8_t  minor_opcode;
0762     uint16_t length;
0763     uint32_t disconnect_mode;
0764 } xcb_xfixes_set_client_disconnect_mode_request_t;
0765 
0766 /**
0767  * @brief xcb_xfixes_get_client_disconnect_mode_cookie_t
0768  **/
0769 typedef struct xcb_xfixes_get_client_disconnect_mode_cookie_t {
0770     unsigned int sequence;
0771 } xcb_xfixes_get_client_disconnect_mode_cookie_t;
0772 
0773 /** Opcode for xcb_xfixes_get_client_disconnect_mode. */
0774 #define XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE 34
0775 
0776 /**
0777  * @brief xcb_xfixes_get_client_disconnect_mode_request_t
0778  **/
0779 typedef struct xcb_xfixes_get_client_disconnect_mode_request_t {
0780     uint8_t  major_opcode;
0781     uint8_t  minor_opcode;
0782     uint16_t length;
0783 } xcb_xfixes_get_client_disconnect_mode_request_t;
0784 
0785 /**
0786  * @brief xcb_xfixes_get_client_disconnect_mode_reply_t
0787  **/
0788 typedef struct xcb_xfixes_get_client_disconnect_mode_reply_t {
0789     uint8_t  response_type;
0790     uint8_t  pad0;
0791     uint16_t sequence;
0792     uint32_t length;
0793     uint32_t disconnect_mode;
0794     uint8_t  pad1[20];
0795 } xcb_xfixes_get_client_disconnect_mode_reply_t;
0796 
0797 /**
0798  *
0799  * @param c The connection
0800  * @return A cookie
0801  *
0802  * Delivers a request to the X server.
0803  *
0804  */
0805 xcb_xfixes_query_version_cookie_t
0806 xcb_xfixes_query_version (xcb_connection_t *c,
0807                           uint32_t          client_major_version,
0808                           uint32_t          client_minor_version);
0809 
0810 /**
0811  *
0812  * @param c The connection
0813  * @return A cookie
0814  *
0815  * Delivers a request to the X server.
0816  *
0817  * This form can be used only if the request will cause
0818  * a reply to be generated. Any returned error will be
0819  * placed in the event queue.
0820  */
0821 xcb_xfixes_query_version_cookie_t
0822 xcb_xfixes_query_version_unchecked (xcb_connection_t *c,
0823                                     uint32_t          client_major_version,
0824                                     uint32_t          client_minor_version);
0825 
0826 /**
0827  * Return the reply
0828  * @param c      The connection
0829  * @param cookie The cookie
0830  * @param e      The xcb_generic_error_t supplied
0831  *
0832  * Returns the reply of the request asked by
0833  *
0834  * The parameter @p e supplied to this function must be NULL if
0835  * xcb_xfixes_query_version_unchecked(). is used.
0836  * Otherwise, it stores the error if any.
0837  *
0838  * The returned value must be freed by the caller using free().
0839  */
0840 xcb_xfixes_query_version_reply_t *
0841 xcb_xfixes_query_version_reply (xcb_connection_t                   *c,
0842                                 xcb_xfixes_query_version_cookie_t   cookie  /**< */,
0843                                 xcb_generic_error_t               **e);
0844 
0845 /**
0846  *
0847  * @param c The connection
0848  * @return A cookie
0849  *
0850  * Delivers a request to the X server.
0851  *
0852  * This form can be used only if the request will not cause
0853  * a reply to be generated. Any returned error will be
0854  * saved for handling by xcb_request_check().
0855  */
0856 xcb_void_cookie_t
0857 xcb_xfixes_change_save_set_checked (xcb_connection_t *c,
0858                                     uint8_t           mode,
0859                                     uint8_t           target,
0860                                     uint8_t           map,
0861                                     xcb_window_t      window);
0862 
0863 /**
0864  *
0865  * @param c The connection
0866  * @return A cookie
0867  *
0868  * Delivers a request to the X server.
0869  *
0870  */
0871 xcb_void_cookie_t
0872 xcb_xfixes_change_save_set (xcb_connection_t *c,
0873                             uint8_t           mode,
0874                             uint8_t           target,
0875                             uint8_t           map,
0876                             xcb_window_t      window);
0877 
0878 /**
0879  *
0880  * @param c The connection
0881  * @return A cookie
0882  *
0883  * Delivers a request to the X server.
0884  *
0885  * This form can be used only if the request will not cause
0886  * a reply to be generated. Any returned error will be
0887  * saved for handling by xcb_request_check().
0888  */
0889 xcb_void_cookie_t
0890 xcb_xfixes_select_selection_input_checked (xcb_connection_t *c,
0891                                            xcb_window_t      window,
0892                                            xcb_atom_t        selection,
0893                                            uint32_t          event_mask);
0894 
0895 /**
0896  *
0897  * @param c The connection
0898  * @return A cookie
0899  *
0900  * Delivers a request to the X server.
0901  *
0902  */
0903 xcb_void_cookie_t
0904 xcb_xfixes_select_selection_input (xcb_connection_t *c,
0905                                    xcb_window_t      window,
0906                                    xcb_atom_t        selection,
0907                                    uint32_t          event_mask);
0908 
0909 /**
0910  *
0911  * @param c The connection
0912  * @return A cookie
0913  *
0914  * Delivers a request to the X server.
0915  *
0916  * This form can be used only if the request will not cause
0917  * a reply to be generated. Any returned error will be
0918  * saved for handling by xcb_request_check().
0919  */
0920 xcb_void_cookie_t
0921 xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c,
0922                                         xcb_window_t      window,
0923                                         uint32_t          event_mask);
0924 
0925 /**
0926  *
0927  * @param c The connection
0928  * @return A cookie
0929  *
0930  * Delivers a request to the X server.
0931  *
0932  */
0933 xcb_void_cookie_t
0934 xcb_xfixes_select_cursor_input (xcb_connection_t *c,
0935                                 xcb_window_t      window,
0936                                 uint32_t          event_mask);
0937 
0938 int
0939 xcb_xfixes_get_cursor_image_sizeof (const void  *_buffer);
0940 
0941 /**
0942  *
0943  * @param c The connection
0944  * @return A cookie
0945  *
0946  * Delivers a request to the X server.
0947  *
0948  */
0949 xcb_xfixes_get_cursor_image_cookie_t
0950 xcb_xfixes_get_cursor_image (xcb_connection_t *c);
0951 
0952 /**
0953  *
0954  * @param c The connection
0955  * @return A cookie
0956  *
0957  * Delivers a request to the X server.
0958  *
0959  * This form can be used only if the request will cause
0960  * a reply to be generated. Any returned error will be
0961  * placed in the event queue.
0962  */
0963 xcb_xfixes_get_cursor_image_cookie_t
0964 xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c);
0965 
0966 uint32_t *
0967 xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R);
0968 
0969 int
0970 xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R);
0971 
0972 xcb_generic_iterator_t
0973 xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R);
0974 
0975 /**
0976  * Return the reply
0977  * @param c      The connection
0978  * @param cookie The cookie
0979  * @param e      The xcb_generic_error_t supplied
0980  *
0981  * Returns the reply of the request asked by
0982  *
0983  * The parameter @p e supplied to this function must be NULL if
0984  * xcb_xfixes_get_cursor_image_unchecked(). is used.
0985  * Otherwise, it stores the error if any.
0986  *
0987  * The returned value must be freed by the caller using free().
0988  */
0989 xcb_xfixes_get_cursor_image_reply_t *
0990 xcb_xfixes_get_cursor_image_reply (xcb_connection_t                      *c,
0991                                    xcb_xfixes_get_cursor_image_cookie_t   cookie  /**< */,
0992                                    xcb_generic_error_t                  **e);
0993 
0994 /**
0995  * Get the next element of the iterator
0996  * @param i Pointer to a xcb_xfixes_region_iterator_t
0997  *
0998  * Get the next element in the iterator. The member rem is
0999  * decreased by one. The member data points to the next
1000  * element. The member index is increased by sizeof(xcb_xfixes_region_t)
1001  */
1002 void
1003 xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i);
1004 
1005 /**
1006  * Return the iterator pointing to the last element
1007  * @param i An xcb_xfixes_region_iterator_t
1008  * @return  The iterator pointing to the last element
1009  *
1010  * Set the current element in the iterator to the last element.
1011  * The member rem is set to 0. The member data points to the
1012  * last element.
1013  */
1014 xcb_generic_iterator_t
1015 xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i);
1016 
1017 int
1018 xcb_xfixes_create_region_sizeof (const void  *_buffer,
1019                                  uint32_t     rectangles_len);
1020 
1021 /**
1022  *
1023  * @param c The connection
1024  * @return A cookie
1025  *
1026  * Delivers a request to the X server.
1027  *
1028  * This form can be used only if the request will not cause
1029  * a reply to be generated. Any returned error will be
1030  * saved for handling by xcb_request_check().
1031  */
1032 xcb_void_cookie_t
1033 xcb_xfixes_create_region_checked (xcb_connection_t      *c,
1034                                   xcb_xfixes_region_t    region,
1035                                   uint32_t               rectangles_len,
1036                                   const xcb_rectangle_t *rectangles);
1037 
1038 /**
1039  *
1040  * @param c The connection
1041  * @return A cookie
1042  *
1043  * Delivers a request to the X server.
1044  *
1045  */
1046 xcb_void_cookie_t
1047 xcb_xfixes_create_region (xcb_connection_t      *c,
1048                           xcb_xfixes_region_t    region,
1049                           uint32_t               rectangles_len,
1050                           const xcb_rectangle_t *rectangles);
1051 
1052 xcb_rectangle_t *
1053 xcb_xfixes_create_region_rectangles (const xcb_xfixes_create_region_request_t *R);
1054 
1055 int
1056 xcb_xfixes_create_region_rectangles_length (const xcb_xfixes_create_region_request_t *R);
1057 
1058 xcb_rectangle_iterator_t
1059 xcb_xfixes_create_region_rectangles_iterator (const xcb_xfixes_create_region_request_t *R);
1060 
1061 /**
1062  *
1063  * @param c The connection
1064  * @return A cookie
1065  *
1066  * Delivers a request to the X server.
1067  *
1068  * This form can be used only if the request will not cause
1069  * a reply to be generated. Any returned error will be
1070  * saved for handling by xcb_request_check().
1071  */
1072 xcb_void_cookie_t
1073 xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t    *c,
1074                                               xcb_xfixes_region_t  region,
1075                                               xcb_pixmap_t         bitmap);
1076 
1077 /**
1078  *
1079  * @param c The connection
1080  * @return A cookie
1081  *
1082  * Delivers a request to the X server.
1083  *
1084  */
1085 xcb_void_cookie_t
1086 xcb_xfixes_create_region_from_bitmap (xcb_connection_t    *c,
1087                                       xcb_xfixes_region_t  region,
1088                                       xcb_pixmap_t         bitmap);
1089 
1090 /**
1091  *
1092  * @param c The connection
1093  * @return A cookie
1094  *
1095  * Delivers a request to the X server.
1096  *
1097  * This form can be used only if the request will not cause
1098  * a reply to be generated. Any returned error will be
1099  * saved for handling by xcb_request_check().
1100  */
1101 xcb_void_cookie_t
1102 xcb_xfixes_create_region_from_window_checked (xcb_connection_t    *c,
1103                                               xcb_xfixes_region_t  region,
1104                                               xcb_window_t         window,
1105                                               xcb_shape_kind_t     kind);
1106 
1107 /**
1108  *
1109  * @param c The connection
1110  * @return A cookie
1111  *
1112  * Delivers a request to the X server.
1113  *
1114  */
1115 xcb_void_cookie_t
1116 xcb_xfixes_create_region_from_window (xcb_connection_t    *c,
1117                                       xcb_xfixes_region_t  region,
1118                                       xcb_window_t         window,
1119                                       xcb_shape_kind_t     kind);
1120 
1121 /**
1122  *
1123  * @param c The connection
1124  * @return A cookie
1125  *
1126  * Delivers a request to the X server.
1127  *
1128  * This form can be used only if the request will not cause
1129  * a reply to be generated. Any returned error will be
1130  * saved for handling by xcb_request_check().
1131  */
1132 xcb_void_cookie_t
1133 xcb_xfixes_create_region_from_gc_checked (xcb_connection_t    *c,
1134                                           xcb_xfixes_region_t  region,
1135                                           xcb_gcontext_t       gc);
1136 
1137 /**
1138  *
1139  * @param c The connection
1140  * @return A cookie
1141  *
1142  * Delivers a request to the X server.
1143  *
1144  */
1145 xcb_void_cookie_t
1146 xcb_xfixes_create_region_from_gc (xcb_connection_t    *c,
1147                                   xcb_xfixes_region_t  region,
1148                                   xcb_gcontext_t       gc);
1149 
1150 /**
1151  *
1152  * @param c The connection
1153  * @return A cookie
1154  *
1155  * Delivers a request to the X server.
1156  *
1157  * This form can be used only if the request will not cause
1158  * a reply to be generated. Any returned error will be
1159  * saved for handling by xcb_request_check().
1160  */
1161 xcb_void_cookie_t
1162 xcb_xfixes_create_region_from_picture_checked (xcb_connection_t     *c,
1163                                                xcb_xfixes_region_t   region,
1164                                                xcb_render_picture_t  picture);
1165 
1166 /**
1167  *
1168  * @param c The connection
1169  * @return A cookie
1170  *
1171  * Delivers a request to the X server.
1172  *
1173  */
1174 xcb_void_cookie_t
1175 xcb_xfixes_create_region_from_picture (xcb_connection_t     *c,
1176                                        xcb_xfixes_region_t   region,
1177                                        xcb_render_picture_t  picture);
1178 
1179 /**
1180  *
1181  * @param c The connection
1182  * @return A cookie
1183  *
1184  * Delivers a request to the X server.
1185  *
1186  * This form can be used only if the request will not cause
1187  * a reply to be generated. Any returned error will be
1188  * saved for handling by xcb_request_check().
1189  */
1190 xcb_void_cookie_t
1191 xcb_xfixes_destroy_region_checked (xcb_connection_t    *c,
1192                                    xcb_xfixes_region_t  region);
1193 
1194 /**
1195  *
1196  * @param c The connection
1197  * @return A cookie
1198  *
1199  * Delivers a request to the X server.
1200  *
1201  */
1202 xcb_void_cookie_t
1203 xcb_xfixes_destroy_region (xcb_connection_t    *c,
1204                            xcb_xfixes_region_t  region);
1205 
1206 int
1207 xcb_xfixes_set_region_sizeof (const void  *_buffer,
1208                               uint32_t     rectangles_len);
1209 
1210 /**
1211  *
1212  * @param c The connection
1213  * @return A cookie
1214  *
1215  * Delivers a request to the X server.
1216  *
1217  * This form can be used only if the request will not cause
1218  * a reply to be generated. Any returned error will be
1219  * saved for handling by xcb_request_check().
1220  */
1221 xcb_void_cookie_t
1222 xcb_xfixes_set_region_checked (xcb_connection_t      *c,
1223                                xcb_xfixes_region_t    region,
1224                                uint32_t               rectangles_len,
1225                                const xcb_rectangle_t *rectangles);
1226 
1227 /**
1228  *
1229  * @param c The connection
1230  * @return A cookie
1231  *
1232  * Delivers a request to the X server.
1233  *
1234  */
1235 xcb_void_cookie_t
1236 xcb_xfixes_set_region (xcb_connection_t      *c,
1237                        xcb_xfixes_region_t    region,
1238                        uint32_t               rectangles_len,
1239                        const xcb_rectangle_t *rectangles);
1240 
1241 xcb_rectangle_t *
1242 xcb_xfixes_set_region_rectangles (const xcb_xfixes_set_region_request_t *R);
1243 
1244 int
1245 xcb_xfixes_set_region_rectangles_length (const xcb_xfixes_set_region_request_t *R);
1246 
1247 xcb_rectangle_iterator_t
1248 xcb_xfixes_set_region_rectangles_iterator (const xcb_xfixes_set_region_request_t *R);
1249 
1250 /**
1251  *
1252  * @param c The connection
1253  * @return A cookie
1254  *
1255  * Delivers a request to the X server.
1256  *
1257  * This form can be used only if the request will not cause
1258  * a reply to be generated. Any returned error will be
1259  * saved for handling by xcb_request_check().
1260  */
1261 xcb_void_cookie_t
1262 xcb_xfixes_copy_region_checked (xcb_connection_t    *c,
1263                                 xcb_xfixes_region_t  source,
1264                                 xcb_xfixes_region_t  destination);
1265 
1266 /**
1267  *
1268  * @param c The connection
1269  * @return A cookie
1270  *
1271  * Delivers a request to the X server.
1272  *
1273  */
1274 xcb_void_cookie_t
1275 xcb_xfixes_copy_region (xcb_connection_t    *c,
1276                         xcb_xfixes_region_t  source,
1277                         xcb_xfixes_region_t  destination);
1278 
1279 /**
1280  *
1281  * @param c The connection
1282  * @return A cookie
1283  *
1284  * Delivers a request to the X server.
1285  *
1286  * This form can be used only if the request will not cause
1287  * a reply to be generated. Any returned error will be
1288  * saved for handling by xcb_request_check().
1289  */
1290 xcb_void_cookie_t
1291 xcb_xfixes_union_region_checked (xcb_connection_t    *c,
1292                                  xcb_xfixes_region_t  source1,
1293                                  xcb_xfixes_region_t  source2,
1294                                  xcb_xfixes_region_t  destination);
1295 
1296 /**
1297  *
1298  * @param c The connection
1299  * @return A cookie
1300  *
1301  * Delivers a request to the X server.
1302  *
1303  */
1304 xcb_void_cookie_t
1305 xcb_xfixes_union_region (xcb_connection_t    *c,
1306                          xcb_xfixes_region_t  source1,
1307                          xcb_xfixes_region_t  source2,
1308                          xcb_xfixes_region_t  destination);
1309 
1310 /**
1311  *
1312  * @param c The connection
1313  * @return A cookie
1314  *
1315  * Delivers a request to the X server.
1316  *
1317  * This form can be used only if the request will not cause
1318  * a reply to be generated. Any returned error will be
1319  * saved for handling by xcb_request_check().
1320  */
1321 xcb_void_cookie_t
1322 xcb_xfixes_intersect_region_checked (xcb_connection_t    *c,
1323                                      xcb_xfixes_region_t  source1,
1324                                      xcb_xfixes_region_t  source2,
1325                                      xcb_xfixes_region_t  destination);
1326 
1327 /**
1328  *
1329  * @param c The connection
1330  * @return A cookie
1331  *
1332  * Delivers a request to the X server.
1333  *
1334  */
1335 xcb_void_cookie_t
1336 xcb_xfixes_intersect_region (xcb_connection_t    *c,
1337                              xcb_xfixes_region_t  source1,
1338                              xcb_xfixes_region_t  source2,
1339                              xcb_xfixes_region_t  destination);
1340 
1341 /**
1342  *
1343  * @param c The connection
1344  * @return A cookie
1345  *
1346  * Delivers a request to the X server.
1347  *
1348  * This form can be used only if the request will not cause
1349  * a reply to be generated. Any returned error will be
1350  * saved for handling by xcb_request_check().
1351  */
1352 xcb_void_cookie_t
1353 xcb_xfixes_subtract_region_checked (xcb_connection_t    *c,
1354                                     xcb_xfixes_region_t  source1,
1355                                     xcb_xfixes_region_t  source2,
1356                                     xcb_xfixes_region_t  destination);
1357 
1358 /**
1359  *
1360  * @param c The connection
1361  * @return A cookie
1362  *
1363  * Delivers a request to the X server.
1364  *
1365  */
1366 xcb_void_cookie_t
1367 xcb_xfixes_subtract_region (xcb_connection_t    *c,
1368                             xcb_xfixes_region_t  source1,
1369                             xcb_xfixes_region_t  source2,
1370                             xcb_xfixes_region_t  destination);
1371 
1372 /**
1373  *
1374  * @param c The connection
1375  * @return A cookie
1376  *
1377  * Delivers a request to the X server.
1378  *
1379  * This form can be used only if the request will not cause
1380  * a reply to be generated. Any returned error will be
1381  * saved for handling by xcb_request_check().
1382  */
1383 xcb_void_cookie_t
1384 xcb_xfixes_invert_region_checked (xcb_connection_t    *c,
1385                                   xcb_xfixes_region_t  source,
1386                                   xcb_rectangle_t      bounds,
1387                                   xcb_xfixes_region_t  destination);
1388 
1389 /**
1390  *
1391  * @param c The connection
1392  * @return A cookie
1393  *
1394  * Delivers a request to the X server.
1395  *
1396  */
1397 xcb_void_cookie_t
1398 xcb_xfixes_invert_region (xcb_connection_t    *c,
1399                           xcb_xfixes_region_t  source,
1400                           xcb_rectangle_t      bounds,
1401                           xcb_xfixes_region_t  destination);
1402 
1403 /**
1404  *
1405  * @param c The connection
1406  * @return A cookie
1407  *
1408  * Delivers a request to the X server.
1409  *
1410  * This form can be used only if the request will not cause
1411  * a reply to be generated. Any returned error will be
1412  * saved for handling by xcb_request_check().
1413  */
1414 xcb_void_cookie_t
1415 xcb_xfixes_translate_region_checked (xcb_connection_t    *c,
1416                                      xcb_xfixes_region_t  region,
1417                                      int16_t              dx,
1418                                      int16_t              dy);
1419 
1420 /**
1421  *
1422  * @param c The connection
1423  * @return A cookie
1424  *
1425  * Delivers a request to the X server.
1426  *
1427  */
1428 xcb_void_cookie_t
1429 xcb_xfixes_translate_region (xcb_connection_t    *c,
1430                              xcb_xfixes_region_t  region,
1431                              int16_t              dx,
1432                              int16_t              dy);
1433 
1434 /**
1435  *
1436  * @param c The connection
1437  * @return A cookie
1438  *
1439  * Delivers a request to the X server.
1440  *
1441  * This form can be used only if the request will not cause
1442  * a reply to be generated. Any returned error will be
1443  * saved for handling by xcb_request_check().
1444  */
1445 xcb_void_cookie_t
1446 xcb_xfixes_region_extents_checked (xcb_connection_t    *c,
1447                                    xcb_xfixes_region_t  source,
1448                                    xcb_xfixes_region_t  destination);
1449 
1450 /**
1451  *
1452  * @param c The connection
1453  * @return A cookie
1454  *
1455  * Delivers a request to the X server.
1456  *
1457  */
1458 xcb_void_cookie_t
1459 xcb_xfixes_region_extents (xcb_connection_t    *c,
1460                            xcb_xfixes_region_t  source,
1461                            xcb_xfixes_region_t  destination);
1462 
1463 int
1464 xcb_xfixes_fetch_region_sizeof (const void  *_buffer);
1465 
1466 /**
1467  *
1468  * @param c The connection
1469  * @return A cookie
1470  *
1471  * Delivers a request to the X server.
1472  *
1473  */
1474 xcb_xfixes_fetch_region_cookie_t
1475 xcb_xfixes_fetch_region (xcb_connection_t    *c,
1476                          xcb_xfixes_region_t  region);
1477 
1478 /**
1479  *
1480  * @param c The connection
1481  * @return A cookie
1482  *
1483  * Delivers a request to the X server.
1484  *
1485  * This form can be used only if the request will cause
1486  * a reply to be generated. Any returned error will be
1487  * placed in the event queue.
1488  */
1489 xcb_xfixes_fetch_region_cookie_t
1490 xcb_xfixes_fetch_region_unchecked (xcb_connection_t    *c,
1491                                    xcb_xfixes_region_t  region);
1492 
1493 xcb_rectangle_t *
1494 xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R);
1495 
1496 int
1497 xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R);
1498 
1499 xcb_rectangle_iterator_t
1500 xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R);
1501 
1502 /**
1503  * Return the reply
1504  * @param c      The connection
1505  * @param cookie The cookie
1506  * @param e      The xcb_generic_error_t supplied
1507  *
1508  * Returns the reply of the request asked by
1509  *
1510  * The parameter @p e supplied to this function must be NULL if
1511  * xcb_xfixes_fetch_region_unchecked(). is used.
1512  * Otherwise, it stores the error if any.
1513  *
1514  * The returned value must be freed by the caller using free().
1515  */
1516 xcb_xfixes_fetch_region_reply_t *
1517 xcb_xfixes_fetch_region_reply (xcb_connection_t                  *c,
1518                                xcb_xfixes_fetch_region_cookie_t   cookie  /**< */,
1519                                xcb_generic_error_t              **e);
1520 
1521 /**
1522  *
1523  * @param c The connection
1524  * @return A cookie
1525  *
1526  * Delivers a request to the X server.
1527  *
1528  * This form can be used only if the request will not cause
1529  * a reply to be generated. Any returned error will be
1530  * saved for handling by xcb_request_check().
1531  */
1532 xcb_void_cookie_t
1533 xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t    *c,
1534                                        xcb_gcontext_t       gc,
1535                                        xcb_xfixes_region_t  region,
1536                                        int16_t              x_origin,
1537                                        int16_t              y_origin);
1538 
1539 /**
1540  *
1541  * @param c The connection
1542  * @return A cookie
1543  *
1544  * Delivers a request to the X server.
1545  *
1546  */
1547 xcb_void_cookie_t
1548 xcb_xfixes_set_gc_clip_region (xcb_connection_t    *c,
1549                                xcb_gcontext_t       gc,
1550                                xcb_xfixes_region_t  region,
1551                                int16_t              x_origin,
1552                                int16_t              y_origin);
1553 
1554 /**
1555  *
1556  * @param c The connection
1557  * @return A cookie
1558  *
1559  * Delivers a request to the X server.
1560  *
1561  * This form can be used only if the request will not cause
1562  * a reply to be generated. Any returned error will be
1563  * saved for handling by xcb_request_check().
1564  */
1565 xcb_void_cookie_t
1566 xcb_xfixes_set_window_shape_region_checked (xcb_connection_t    *c,
1567                                             xcb_window_t         dest,
1568                                             xcb_shape_kind_t     dest_kind,
1569                                             int16_t              x_offset,
1570                                             int16_t              y_offset,
1571                                             xcb_xfixes_region_t  region);
1572 
1573 /**
1574  *
1575  * @param c The connection
1576  * @return A cookie
1577  *
1578  * Delivers a request to the X server.
1579  *
1580  */
1581 xcb_void_cookie_t
1582 xcb_xfixes_set_window_shape_region (xcb_connection_t    *c,
1583                                     xcb_window_t         dest,
1584                                     xcb_shape_kind_t     dest_kind,
1585                                     int16_t              x_offset,
1586                                     int16_t              y_offset,
1587                                     xcb_xfixes_region_t  region);
1588 
1589 /**
1590  *
1591  * @param c The connection
1592  * @return A cookie
1593  *
1594  * Delivers a request to the X server.
1595  *
1596  * This form can be used only if the request will not cause
1597  * a reply to be generated. Any returned error will be
1598  * saved for handling by xcb_request_check().
1599  */
1600 xcb_void_cookie_t
1601 xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t     *c,
1602                                             xcb_render_picture_t  picture,
1603                                             xcb_xfixes_region_t   region,
1604                                             int16_t               x_origin,
1605                                             int16_t               y_origin);
1606 
1607 /**
1608  *
1609  * @param c The connection
1610  * @return A cookie
1611  *
1612  * Delivers a request to the X server.
1613  *
1614  */
1615 xcb_void_cookie_t
1616 xcb_xfixes_set_picture_clip_region (xcb_connection_t     *c,
1617                                     xcb_render_picture_t  picture,
1618                                     xcb_xfixes_region_t   region,
1619                                     int16_t               x_origin,
1620                                     int16_t               y_origin);
1621 
1622 int
1623 xcb_xfixes_set_cursor_name_sizeof (const void  *_buffer);
1624 
1625 /**
1626  *
1627  * @param c The connection
1628  * @return A cookie
1629  *
1630  * Delivers a request to the X server.
1631  *
1632  * This form can be used only if the request will not cause
1633  * a reply to be generated. Any returned error will be
1634  * saved for handling by xcb_request_check().
1635  */
1636 xcb_void_cookie_t
1637 xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c,
1638                                     xcb_cursor_t      cursor,
1639                                     uint16_t          nbytes,
1640                                     const char       *name);
1641 
1642 /**
1643  *
1644  * @param c The connection
1645  * @return A cookie
1646  *
1647  * Delivers a request to the X server.
1648  *
1649  */
1650 xcb_void_cookie_t
1651 xcb_xfixes_set_cursor_name (xcb_connection_t *c,
1652                             xcb_cursor_t      cursor,
1653                             uint16_t          nbytes,
1654                             const char       *name);
1655 
1656 char *
1657 xcb_xfixes_set_cursor_name_name (const xcb_xfixes_set_cursor_name_request_t *R);
1658 
1659 int
1660 xcb_xfixes_set_cursor_name_name_length (const xcb_xfixes_set_cursor_name_request_t *R);
1661 
1662 xcb_generic_iterator_t
1663 xcb_xfixes_set_cursor_name_name_end (const xcb_xfixes_set_cursor_name_request_t *R);
1664 
1665 int
1666 xcb_xfixes_get_cursor_name_sizeof (const void  *_buffer);
1667 
1668 /**
1669  *
1670  * @param c The connection
1671  * @return A cookie
1672  *
1673  * Delivers a request to the X server.
1674  *
1675  */
1676 xcb_xfixes_get_cursor_name_cookie_t
1677 xcb_xfixes_get_cursor_name (xcb_connection_t *c,
1678                             xcb_cursor_t      cursor);
1679 
1680 /**
1681  *
1682  * @param c The connection
1683  * @return A cookie
1684  *
1685  * Delivers a request to the X server.
1686  *
1687  * This form can be used only if the request will cause
1688  * a reply to be generated. Any returned error will be
1689  * placed in the event queue.
1690  */
1691 xcb_xfixes_get_cursor_name_cookie_t
1692 xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c,
1693                                       xcb_cursor_t      cursor);
1694 
1695 char *
1696 xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R);
1697 
1698 int
1699 xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R);
1700 
1701 xcb_generic_iterator_t
1702 xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R);
1703 
1704 /**
1705  * Return the reply
1706  * @param c      The connection
1707  * @param cookie The cookie
1708  * @param e      The xcb_generic_error_t supplied
1709  *
1710  * Returns the reply of the request asked by
1711  *
1712  * The parameter @p e supplied to this function must be NULL if
1713  * xcb_xfixes_get_cursor_name_unchecked(). is used.
1714  * Otherwise, it stores the error if any.
1715  *
1716  * The returned value must be freed by the caller using free().
1717  */
1718 xcb_xfixes_get_cursor_name_reply_t *
1719 xcb_xfixes_get_cursor_name_reply (xcb_connection_t                     *c,
1720                                   xcb_xfixes_get_cursor_name_cookie_t   cookie  /**< */,
1721                                   xcb_generic_error_t                 **e);
1722 
1723 int
1724 xcb_xfixes_get_cursor_image_and_name_sizeof (const void  *_buffer);
1725 
1726 /**
1727  *
1728  * @param c The connection
1729  * @return A cookie
1730  *
1731  * Delivers a request to the X server.
1732  *
1733  */
1734 xcb_xfixes_get_cursor_image_and_name_cookie_t
1735 xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c);
1736 
1737 /**
1738  *
1739  * @param c The connection
1740  * @return A cookie
1741  *
1742  * Delivers a request to the X server.
1743  *
1744  * This form can be used only if the request will cause
1745  * a reply to be generated. Any returned error will be
1746  * placed in the event queue.
1747  */
1748 xcb_xfixes_get_cursor_image_and_name_cookie_t
1749 xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c);
1750 
1751 uint32_t *
1752 xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1753 
1754 int
1755 xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1756 
1757 xcb_generic_iterator_t
1758 xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1759 
1760 char *
1761 xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1762 
1763 int
1764 xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1765 
1766 xcb_generic_iterator_t
1767 xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1768 
1769 /**
1770  * Return the reply
1771  * @param c      The connection
1772  * @param cookie The cookie
1773  * @param e      The xcb_generic_error_t supplied
1774  *
1775  * Returns the reply of the request asked by
1776  *
1777  * The parameter @p e supplied to this function must be NULL if
1778  * xcb_xfixes_get_cursor_image_and_name_unchecked(). is used.
1779  * Otherwise, it stores the error if any.
1780  *
1781  * The returned value must be freed by the caller using free().
1782  */
1783 xcb_xfixes_get_cursor_image_and_name_reply_t *
1784 xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t                               *c,
1785                                             xcb_xfixes_get_cursor_image_and_name_cookie_t   cookie  /**< */,
1786                                             xcb_generic_error_t                           **e);
1787 
1788 /**
1789  *
1790  * @param c The connection
1791  * @return A cookie
1792  *
1793  * Delivers a request to the X server.
1794  *
1795  * This form can be used only if the request will not cause
1796  * a reply to be generated. Any returned error will be
1797  * saved for handling by xcb_request_check().
1798  */
1799 xcb_void_cookie_t
1800 xcb_xfixes_change_cursor_checked (xcb_connection_t *c,
1801                                   xcb_cursor_t      source,
1802                                   xcb_cursor_t      destination);
1803 
1804 /**
1805  *
1806  * @param c The connection
1807  * @return A cookie
1808  *
1809  * Delivers a request to the X server.
1810  *
1811  */
1812 xcb_void_cookie_t
1813 xcb_xfixes_change_cursor (xcb_connection_t *c,
1814                           xcb_cursor_t      source,
1815                           xcb_cursor_t      destination);
1816 
1817 int
1818 xcb_xfixes_change_cursor_by_name_sizeof (const void  *_buffer);
1819 
1820 /**
1821  *
1822  * @param c The connection
1823  * @return A cookie
1824  *
1825  * Delivers a request to the X server.
1826  *
1827  * This form can be used only if the request will not cause
1828  * a reply to be generated. Any returned error will be
1829  * saved for handling by xcb_request_check().
1830  */
1831 xcb_void_cookie_t
1832 xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c,
1833                                           xcb_cursor_t      src,
1834                                           uint16_t          nbytes,
1835                                           const char       *name);
1836 
1837 /**
1838  *
1839  * @param c The connection
1840  * @return A cookie
1841  *
1842  * Delivers a request to the X server.
1843  *
1844  */
1845 xcb_void_cookie_t
1846 xcb_xfixes_change_cursor_by_name (xcb_connection_t *c,
1847                                   xcb_cursor_t      src,
1848                                   uint16_t          nbytes,
1849                                   const char       *name);
1850 
1851 char *
1852 xcb_xfixes_change_cursor_by_name_name (const xcb_xfixes_change_cursor_by_name_request_t *R);
1853 
1854 int
1855 xcb_xfixes_change_cursor_by_name_name_length (const xcb_xfixes_change_cursor_by_name_request_t *R);
1856 
1857 xcb_generic_iterator_t
1858 xcb_xfixes_change_cursor_by_name_name_end (const xcb_xfixes_change_cursor_by_name_request_t *R);
1859 
1860 /**
1861  *
1862  * @param c The connection
1863  * @return A cookie
1864  *
1865  * Delivers a request to the X server.
1866  *
1867  * This form can be used only if the request will not cause
1868  * a reply to be generated. Any returned error will be
1869  * saved for handling by xcb_request_check().
1870  */
1871 xcb_void_cookie_t
1872 xcb_xfixes_expand_region_checked (xcb_connection_t    *c,
1873                                   xcb_xfixes_region_t  source,
1874                                   xcb_xfixes_region_t  destination,
1875                                   uint16_t             left,
1876                                   uint16_t             right,
1877                                   uint16_t             top,
1878                                   uint16_t             bottom);
1879 
1880 /**
1881  *
1882  * @param c The connection
1883  * @return A cookie
1884  *
1885  * Delivers a request to the X server.
1886  *
1887  */
1888 xcb_void_cookie_t
1889 xcb_xfixes_expand_region (xcb_connection_t    *c,
1890                           xcb_xfixes_region_t  source,
1891                           xcb_xfixes_region_t  destination,
1892                           uint16_t             left,
1893                           uint16_t             right,
1894                           uint16_t             top,
1895                           uint16_t             bottom);
1896 
1897 /**
1898  *
1899  * @param c The connection
1900  * @return A cookie
1901  *
1902  * Delivers a request to the X server.
1903  *
1904  * This form can be used only if the request will not cause
1905  * a reply to be generated. Any returned error will be
1906  * saved for handling by xcb_request_check().
1907  */
1908 xcb_void_cookie_t
1909 xcb_xfixes_hide_cursor_checked (xcb_connection_t *c,
1910                                 xcb_window_t      window);
1911 
1912 /**
1913  *
1914  * @param c The connection
1915  * @return A cookie
1916  *
1917  * Delivers a request to the X server.
1918  *
1919  */
1920 xcb_void_cookie_t
1921 xcb_xfixes_hide_cursor (xcb_connection_t *c,
1922                         xcb_window_t      window);
1923 
1924 /**
1925  *
1926  * @param c The connection
1927  * @return A cookie
1928  *
1929  * Delivers a request to the X server.
1930  *
1931  * This form can be used only if the request will not cause
1932  * a reply to be generated. Any returned error will be
1933  * saved for handling by xcb_request_check().
1934  */
1935 xcb_void_cookie_t
1936 xcb_xfixes_show_cursor_checked (xcb_connection_t *c,
1937                                 xcb_window_t      window);
1938 
1939 /**
1940  *
1941  * @param c The connection
1942  * @return A cookie
1943  *
1944  * Delivers a request to the X server.
1945  *
1946  */
1947 xcb_void_cookie_t
1948 xcb_xfixes_show_cursor (xcb_connection_t *c,
1949                         xcb_window_t      window);
1950 
1951 /**
1952  * Get the next element of the iterator
1953  * @param i Pointer to a xcb_xfixes_barrier_iterator_t
1954  *
1955  * Get the next element in the iterator. The member rem is
1956  * decreased by one. The member data points to the next
1957  * element. The member index is increased by sizeof(xcb_xfixes_barrier_t)
1958  */
1959 void
1960 xcb_xfixes_barrier_next (xcb_xfixes_barrier_iterator_t *i);
1961 
1962 /**
1963  * Return the iterator pointing to the last element
1964  * @param i An xcb_xfixes_barrier_iterator_t
1965  * @return  The iterator pointing to the last element
1966  *
1967  * Set the current element in the iterator to the last element.
1968  * The member rem is set to 0. The member data points to the
1969  * last element.
1970  */
1971 xcb_generic_iterator_t
1972 xcb_xfixes_barrier_end (xcb_xfixes_barrier_iterator_t i);
1973 
1974 int
1975 xcb_xfixes_create_pointer_barrier_sizeof (const void  *_buffer);
1976 
1977 /**
1978  *
1979  * @param c The connection
1980  * @return A cookie
1981  *
1982  * Delivers a request to the X server.
1983  *
1984  * This form can be used only if the request will not cause
1985  * a reply to be generated. Any returned error will be
1986  * saved for handling by xcb_request_check().
1987  */
1988 xcb_void_cookie_t
1989 xcb_xfixes_create_pointer_barrier_checked (xcb_connection_t     *c,
1990                                            xcb_xfixes_barrier_t  barrier,
1991                                            xcb_window_t          window,
1992                                            uint16_t              x1,
1993                                            uint16_t              y1,
1994                                            uint16_t              x2,
1995                                            uint16_t              y2,
1996                                            uint32_t              directions,
1997                                            uint16_t              num_devices,
1998                                            const uint16_t       *devices);
1999 
2000 /**
2001  *
2002  * @param c The connection
2003  * @return A cookie
2004  *
2005  * Delivers a request to the X server.
2006  *
2007  */
2008 xcb_void_cookie_t
2009 xcb_xfixes_create_pointer_barrier (xcb_connection_t     *c,
2010                                    xcb_xfixes_barrier_t  barrier,
2011                                    xcb_window_t          window,
2012                                    uint16_t              x1,
2013                                    uint16_t              y1,
2014                                    uint16_t              x2,
2015                                    uint16_t              y2,
2016                                    uint32_t              directions,
2017                                    uint16_t              num_devices,
2018                                    const uint16_t       *devices);
2019 
2020 uint16_t *
2021 xcb_xfixes_create_pointer_barrier_devices (const xcb_xfixes_create_pointer_barrier_request_t *R);
2022 
2023 int
2024 xcb_xfixes_create_pointer_barrier_devices_length (const xcb_xfixes_create_pointer_barrier_request_t *R);
2025 
2026 xcb_generic_iterator_t
2027 xcb_xfixes_create_pointer_barrier_devices_end (const xcb_xfixes_create_pointer_barrier_request_t *R);
2028 
2029 /**
2030  *
2031  * @param c The connection
2032  * @return A cookie
2033  *
2034  * Delivers a request to the X server.
2035  *
2036  * This form can be used only if the request will not cause
2037  * a reply to be generated. Any returned error will be
2038  * saved for handling by xcb_request_check().
2039  */
2040 xcb_void_cookie_t
2041 xcb_xfixes_delete_pointer_barrier_checked (xcb_connection_t     *c,
2042                                            xcb_xfixes_barrier_t  barrier);
2043 
2044 /**
2045  *
2046  * @param c The connection
2047  * @return A cookie
2048  *
2049  * Delivers a request to the X server.
2050  *
2051  */
2052 xcb_void_cookie_t
2053 xcb_xfixes_delete_pointer_barrier (xcb_connection_t     *c,
2054                                    xcb_xfixes_barrier_t  barrier);
2055 
2056 /**
2057  * @brief Sets the disconnect mode for the client.
2058  *
2059  * @param c The connection
2060  * @param disconnect_mode The new disconnect mode.
2061  * @return A cookie
2062  *
2063  * No description yet
2064  *
2065  * This form can be used only if the request will not cause
2066  * a reply to be generated. Any returned error will be
2067  * saved for handling by xcb_request_check().
2068  */
2069 xcb_void_cookie_t
2070 xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c,
2071                                                uint32_t          disconnect_mode);
2072 
2073 /**
2074  * @brief Sets the disconnect mode for the client.
2075  *
2076  * @param c The connection
2077  * @param disconnect_mode The new disconnect mode.
2078  * @return A cookie
2079  *
2080  * No description yet
2081  *
2082  */
2083 xcb_void_cookie_t
2084 xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c,
2085                                        uint32_t          disconnect_mode);
2086 
2087 /**
2088  *
2089  * @param c The connection
2090  * @return A cookie
2091  *
2092  * Delivers a request to the X server.
2093  *
2094  */
2095 xcb_xfixes_get_client_disconnect_mode_cookie_t
2096 xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c);
2097 
2098 /**
2099  *
2100  * @param c The connection
2101  * @return A cookie
2102  *
2103  * Delivers a request to the X server.
2104  *
2105  * This form can be used only if the request will cause
2106  * a reply to be generated. Any returned error will be
2107  * placed in the event queue.
2108  */
2109 xcb_xfixes_get_client_disconnect_mode_cookie_t
2110 xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c);
2111 
2112 /**
2113  * Return the reply
2114  * @param c      The connection
2115  * @param cookie The cookie
2116  * @param e      The xcb_generic_error_t supplied
2117  *
2118  * Returns the reply of the request asked by
2119  *
2120  * The parameter @p e supplied to this function must be NULL if
2121  * xcb_xfixes_get_client_disconnect_mode_unchecked(). is used.
2122  * Otherwise, it stores the error if any.
2123  *
2124  * The returned value must be freed by the caller using free().
2125  */
2126 xcb_xfixes_get_client_disconnect_mode_reply_t *
2127 xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t                                *c,
2128                                              xcb_xfixes_get_client_disconnect_mode_cookie_t   cookie  /**< */,
2129                                              xcb_generic_error_t                            **e);
2130 
2131 
2132 #ifdef __cplusplus
2133 }
2134 #endif
2135 
2136 #endif
2137 
2138 /**
2139  * @}
2140  */