xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xfixes.h (revision fea83ee4938f6f630ec4626dba8d28098c73f0cc)
1 /*
2  * This file generated automatically from xfixes.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_XFixes_API XCB XFixes API
8  * @brief XFixes XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __XFIXES_H
13 #define __XFIXES_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 #include "render.h"
18 #include "shape.h"
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #define XCB_XFIXES_MAJOR_VERSION 6
25 #define XCB_XFIXES_MINOR_VERSION 0
26 
27 extern xcb_extension_t xcb_xfixes_id;
28 
29 /**
30  * @brief xcb_xfixes_query_version_cookie_t
31  **/
32 typedef struct xcb_xfixes_query_version_cookie_t {
33     unsigned int sequence;
34 } xcb_xfixes_query_version_cookie_t;
35 
36 /** Opcode for xcb_xfixes_query_version. */
37 #define XCB_XFIXES_QUERY_VERSION 0
38 
39 /**
40  * @brief xcb_xfixes_query_version_request_t
41  **/
42 typedef struct xcb_xfixes_query_version_request_t {
43     uint8_t  major_opcode;
44     uint8_t  minor_opcode;
45     uint16_t length;
46     uint32_t client_major_version;
47     uint32_t client_minor_version;
48 } xcb_xfixes_query_version_request_t;
49 
50 /**
51  * @brief xcb_xfixes_query_version_reply_t
52  **/
53 typedef struct xcb_xfixes_query_version_reply_t {
54     uint8_t  response_type;
55     uint8_t  pad0;
56     uint16_t sequence;
57     uint32_t length;
58     uint32_t major_version;
59     uint32_t minor_version;
60     uint8_t  pad1[16];
61 } xcb_xfixes_query_version_reply_t;
62 
63 typedef enum xcb_xfixes_save_set_mode_t {
64     XCB_XFIXES_SAVE_SET_MODE_INSERT = 0,
65     XCB_XFIXES_SAVE_SET_MODE_DELETE = 1
66 } xcb_xfixes_save_set_mode_t;
67 
68 typedef enum xcb_xfixes_save_set_target_t {
69     XCB_XFIXES_SAVE_SET_TARGET_NEAREST = 0,
70     XCB_XFIXES_SAVE_SET_TARGET_ROOT = 1
71 } xcb_xfixes_save_set_target_t;
72 
73 typedef enum xcb_xfixes_save_set_mapping_t {
74     XCB_XFIXES_SAVE_SET_MAPPING_MAP = 0,
75     XCB_XFIXES_SAVE_SET_MAPPING_UNMAP = 1
76 } xcb_xfixes_save_set_mapping_t;
77 
78 /** Opcode for xcb_xfixes_change_save_set. */
79 #define XCB_XFIXES_CHANGE_SAVE_SET 1
80 
81 /**
82  * @brief xcb_xfixes_change_save_set_request_t
83  **/
84 typedef struct xcb_xfixes_change_save_set_request_t {
85     uint8_t      major_opcode;
86     uint8_t      minor_opcode;
87     uint16_t     length;
88     uint8_t      mode;
89     uint8_t      target;
90     uint8_t      map;
91     uint8_t      pad0;
92     xcb_window_t window;
93 } xcb_xfixes_change_save_set_request_t;
94 
95 typedef enum xcb_xfixes_selection_event_t {
96     XCB_XFIXES_SELECTION_EVENT_SET_SELECTION_OWNER = 0,
97     XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY = 1,
98     XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE = 2
99 } xcb_xfixes_selection_event_t;
100 
101 typedef enum xcb_xfixes_selection_event_mask_t {
102     XCB_XFIXES_SELECTION_EVENT_MASK_SET_SELECTION_OWNER = 1,
103     XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_WINDOW_DESTROY = 2,
104     XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_CLIENT_CLOSE = 4
105 } xcb_xfixes_selection_event_mask_t;
106 
107 /** Opcode for xcb_xfixes_selection_notify. */
108 #define XCB_XFIXES_SELECTION_NOTIFY 0
109 
110 /**
111  * @brief xcb_xfixes_selection_notify_event_t
112  **/
113 typedef struct xcb_xfixes_selection_notify_event_t {
114     uint8_t         response_type;
115     uint8_t         subtype;
116     uint16_t        sequence;
117     xcb_window_t    window;
118     xcb_window_t    owner;
119     xcb_atom_t      selection;
120     xcb_timestamp_t timestamp;
121     xcb_timestamp_t selection_timestamp;
122     uint8_t         pad0[8];
123 } xcb_xfixes_selection_notify_event_t;
124 
125 /** Opcode for xcb_xfixes_select_selection_input. */
126 #define XCB_XFIXES_SELECT_SELECTION_INPUT 2
127 
128 /**
129  * @brief xcb_xfixes_select_selection_input_request_t
130  **/
131 typedef struct xcb_xfixes_select_selection_input_request_t {
132     uint8_t      major_opcode;
133     uint8_t      minor_opcode;
134     uint16_t     length;
135     xcb_window_t window;
136     xcb_atom_t   selection;
137     uint32_t     event_mask;
138 } xcb_xfixes_select_selection_input_request_t;
139 
140 typedef enum xcb_xfixes_cursor_notify_t {
141     XCB_XFIXES_CURSOR_NOTIFY_DISPLAY_CURSOR = 0
142 } xcb_xfixes_cursor_notify_t;
143 
144 typedef enum xcb_xfixes_cursor_notify_mask_t {
145     XCB_XFIXES_CURSOR_NOTIFY_MASK_DISPLAY_CURSOR = 1
146 } xcb_xfixes_cursor_notify_mask_t;
147 
148 /** Opcode for xcb_xfixes_cursor_notify. */
149 #define XCB_XFIXES_CURSOR_NOTIFY 1
150 
151 /**
152  * @brief xcb_xfixes_cursor_notify_event_t
153  **/
154 typedef struct xcb_xfixes_cursor_notify_event_t {
155     uint8_t         response_type;
156     uint8_t         subtype;
157     uint16_t        sequence;
158     xcb_window_t    window;
159     uint32_t        cursor_serial;
160     xcb_timestamp_t timestamp;
161     xcb_atom_t      name;
162     uint8_t         pad0[12];
163 } xcb_xfixes_cursor_notify_event_t;
164 
165 /** Opcode for xcb_xfixes_select_cursor_input. */
166 #define XCB_XFIXES_SELECT_CURSOR_INPUT 3
167 
168 /**
169  * @brief xcb_xfixes_select_cursor_input_request_t
170  **/
171 typedef struct xcb_xfixes_select_cursor_input_request_t {
172     uint8_t      major_opcode;
173     uint8_t      minor_opcode;
174     uint16_t     length;
175     xcb_window_t window;
176     uint32_t     event_mask;
177 } xcb_xfixes_select_cursor_input_request_t;
178 
179 /**
180  * @brief xcb_xfixes_get_cursor_image_cookie_t
181  **/
182 typedef struct xcb_xfixes_get_cursor_image_cookie_t {
183     unsigned int sequence;
184 } xcb_xfixes_get_cursor_image_cookie_t;
185 
186 /** Opcode for xcb_xfixes_get_cursor_image. */
187 #define XCB_XFIXES_GET_CURSOR_IMAGE 4
188 
189 /**
190  * @brief xcb_xfixes_get_cursor_image_request_t
191  **/
192 typedef struct xcb_xfixes_get_cursor_image_request_t {
193     uint8_t  major_opcode;
194     uint8_t  minor_opcode;
195     uint16_t length;
196 } xcb_xfixes_get_cursor_image_request_t;
197 
198 /**
199  * @brief xcb_xfixes_get_cursor_image_reply_t
200  **/
201 typedef struct xcb_xfixes_get_cursor_image_reply_t {
202     uint8_t  response_type;
203     uint8_t  pad0;
204     uint16_t sequence;
205     uint32_t length;
206     int16_t  x;
207     int16_t  y;
208     uint16_t width;
209     uint16_t height;
210     uint16_t xhot;
211     uint16_t yhot;
212     uint32_t cursor_serial;
213     uint8_t  pad1[8];
214 } xcb_xfixes_get_cursor_image_reply_t;
215 
216 typedef uint32_t xcb_xfixes_region_t;
217 
218 /**
219  * @brief xcb_xfixes_region_iterator_t
220  **/
221 typedef struct xcb_xfixes_region_iterator_t {
222     xcb_xfixes_region_t *data;
223     int                  rem;
224     int                  index;
225 } xcb_xfixes_region_iterator_t;
226 
227 /** Opcode for xcb_xfixes_bad_region. */
228 #define XCB_XFIXES_BAD_REGION 0
229 
230 /**
231  * @brief xcb_xfixes_bad_region_error_t
232  **/
233 typedef struct xcb_xfixes_bad_region_error_t {
234     uint8_t  response_type;
235     uint8_t  error_code;
236     uint16_t sequence;
237     uint32_t bad_value;
238     uint16_t minor_opcode;
239     uint8_t  major_opcode;
240 } xcb_xfixes_bad_region_error_t;
241 
242 typedef enum xcb_xfixes_region_enum_t {
243     XCB_XFIXES_REGION_NONE = 0
244 } xcb_xfixes_region_enum_t;
245 
246 /** Opcode for xcb_xfixes_create_region. */
247 #define XCB_XFIXES_CREATE_REGION 5
248 
249 /**
250  * @brief xcb_xfixes_create_region_request_t
251  **/
252 typedef struct xcb_xfixes_create_region_request_t {
253     uint8_t             major_opcode;
254     uint8_t             minor_opcode;
255     uint16_t            length;
256     xcb_xfixes_region_t region;
257 } xcb_xfixes_create_region_request_t;
258 
259 /** Opcode for xcb_xfixes_create_region_from_bitmap. */
260 #define XCB_XFIXES_CREATE_REGION_FROM_BITMAP 6
261 
262 /**
263  * @brief xcb_xfixes_create_region_from_bitmap_request_t
264  **/
265 typedef struct xcb_xfixes_create_region_from_bitmap_request_t {
266     uint8_t             major_opcode;
267     uint8_t             minor_opcode;
268     uint16_t            length;
269     xcb_xfixes_region_t region;
270     xcb_pixmap_t        bitmap;
271 } xcb_xfixes_create_region_from_bitmap_request_t;
272 
273 /** Opcode for xcb_xfixes_create_region_from_window. */
274 #define XCB_XFIXES_CREATE_REGION_FROM_WINDOW 7
275 
276 /**
277  * @brief xcb_xfixes_create_region_from_window_request_t
278  **/
279 typedef struct xcb_xfixes_create_region_from_window_request_t {
280     uint8_t             major_opcode;
281     uint8_t             minor_opcode;
282     uint16_t            length;
283     xcb_xfixes_region_t region;
284     xcb_window_t        window;
285     xcb_shape_kind_t    kind;
286     uint8_t             pad0[3];
287 } xcb_xfixes_create_region_from_window_request_t;
288 
289 /** Opcode for xcb_xfixes_create_region_from_gc. */
290 #define XCB_XFIXES_CREATE_REGION_FROM_GC 8
291 
292 /**
293  * @brief xcb_xfixes_create_region_from_gc_request_t
294  **/
295 typedef struct xcb_xfixes_create_region_from_gc_request_t {
296     uint8_t             major_opcode;
297     uint8_t             minor_opcode;
298     uint16_t            length;
299     xcb_xfixes_region_t region;
300     xcb_gcontext_t      gc;
301 } xcb_xfixes_create_region_from_gc_request_t;
302 
303 /** Opcode for xcb_xfixes_create_region_from_picture. */
304 #define XCB_XFIXES_CREATE_REGION_FROM_PICTURE 9
305 
306 /**
307  * @brief xcb_xfixes_create_region_from_picture_request_t
308  **/
309 typedef struct xcb_xfixes_create_region_from_picture_request_t {
310     uint8_t              major_opcode;
311     uint8_t              minor_opcode;
312     uint16_t             length;
313     xcb_xfixes_region_t  region;
314     xcb_render_picture_t picture;
315 } xcb_xfixes_create_region_from_picture_request_t;
316 
317 /** Opcode for xcb_xfixes_destroy_region. */
318 #define XCB_XFIXES_DESTROY_REGION 10
319 
320 /**
321  * @brief xcb_xfixes_destroy_region_request_t
322  **/
323 typedef struct xcb_xfixes_destroy_region_request_t {
324     uint8_t             major_opcode;
325     uint8_t             minor_opcode;
326     uint16_t            length;
327     xcb_xfixes_region_t region;
328 } xcb_xfixes_destroy_region_request_t;
329 
330 /** Opcode for xcb_xfixes_set_region. */
331 #define XCB_XFIXES_SET_REGION 11
332 
333 /**
334  * @brief xcb_xfixes_set_region_request_t
335  **/
336 typedef struct xcb_xfixes_set_region_request_t {
337     uint8_t             major_opcode;
338     uint8_t             minor_opcode;
339     uint16_t            length;
340     xcb_xfixes_region_t region;
341 } xcb_xfixes_set_region_request_t;
342 
343 /** Opcode for xcb_xfixes_copy_region. */
344 #define XCB_XFIXES_COPY_REGION 12
345 
346 /**
347  * @brief xcb_xfixes_copy_region_request_t
348  **/
349 typedef struct xcb_xfixes_copy_region_request_t {
350     uint8_t             major_opcode;
351     uint8_t             minor_opcode;
352     uint16_t            length;
353     xcb_xfixes_region_t source;
354     xcb_xfixes_region_t destination;
355 } xcb_xfixes_copy_region_request_t;
356 
357 /** Opcode for xcb_xfixes_union_region. */
358 #define XCB_XFIXES_UNION_REGION 13
359 
360 /**
361  * @brief xcb_xfixes_union_region_request_t
362  **/
363 typedef struct xcb_xfixes_union_region_request_t {
364     uint8_t             major_opcode;
365     uint8_t             minor_opcode;
366     uint16_t            length;
367     xcb_xfixes_region_t source1;
368     xcb_xfixes_region_t source2;
369     xcb_xfixes_region_t destination;
370 } xcb_xfixes_union_region_request_t;
371 
372 /** Opcode for xcb_xfixes_intersect_region. */
373 #define XCB_XFIXES_INTERSECT_REGION 14
374 
375 /**
376  * @brief xcb_xfixes_intersect_region_request_t
377  **/
378 typedef struct xcb_xfixes_intersect_region_request_t {
379     uint8_t             major_opcode;
380     uint8_t             minor_opcode;
381     uint16_t            length;
382     xcb_xfixes_region_t source1;
383     xcb_xfixes_region_t source2;
384     xcb_xfixes_region_t destination;
385 } xcb_xfixes_intersect_region_request_t;
386 
387 /** Opcode for xcb_xfixes_subtract_region. */
388 #define XCB_XFIXES_SUBTRACT_REGION 15
389 
390 /**
391  * @brief xcb_xfixes_subtract_region_request_t
392  **/
393 typedef struct xcb_xfixes_subtract_region_request_t {
394     uint8_t             major_opcode;
395     uint8_t             minor_opcode;
396     uint16_t            length;
397     xcb_xfixes_region_t source1;
398     xcb_xfixes_region_t source2;
399     xcb_xfixes_region_t destination;
400 } xcb_xfixes_subtract_region_request_t;
401 
402 /** Opcode for xcb_xfixes_invert_region. */
403 #define XCB_XFIXES_INVERT_REGION 16
404 
405 /**
406  * @brief xcb_xfixes_invert_region_request_t
407  **/
408 typedef struct xcb_xfixes_invert_region_request_t {
409     uint8_t             major_opcode;
410     uint8_t             minor_opcode;
411     uint16_t            length;
412     xcb_xfixes_region_t source;
413     xcb_rectangle_t     bounds;
414     xcb_xfixes_region_t destination;
415 } xcb_xfixes_invert_region_request_t;
416 
417 /** Opcode for xcb_xfixes_translate_region. */
418 #define XCB_XFIXES_TRANSLATE_REGION 17
419 
420 /**
421  * @brief xcb_xfixes_translate_region_request_t
422  **/
423 typedef struct xcb_xfixes_translate_region_request_t {
424     uint8_t             major_opcode;
425     uint8_t             minor_opcode;
426     uint16_t            length;
427     xcb_xfixes_region_t region;
428     int16_t             dx;
429     int16_t             dy;
430 } xcb_xfixes_translate_region_request_t;
431 
432 /** Opcode for xcb_xfixes_region_extents. */
433 #define XCB_XFIXES_REGION_EXTENTS 18
434 
435 /**
436  * @brief xcb_xfixes_region_extents_request_t
437  **/
438 typedef struct xcb_xfixes_region_extents_request_t {
439     uint8_t             major_opcode;
440     uint8_t             minor_opcode;
441     uint16_t            length;
442     xcb_xfixes_region_t source;
443     xcb_xfixes_region_t destination;
444 } xcb_xfixes_region_extents_request_t;
445 
446 /**
447  * @brief xcb_xfixes_fetch_region_cookie_t
448  **/
449 typedef struct xcb_xfixes_fetch_region_cookie_t {
450     unsigned int sequence;
451 } xcb_xfixes_fetch_region_cookie_t;
452 
453 /** Opcode for xcb_xfixes_fetch_region. */
454 #define XCB_XFIXES_FETCH_REGION 19
455 
456 /**
457  * @brief xcb_xfixes_fetch_region_request_t
458  **/
459 typedef struct xcb_xfixes_fetch_region_request_t {
460     uint8_t             major_opcode;
461     uint8_t             minor_opcode;
462     uint16_t            length;
463     xcb_xfixes_region_t region;
464 } xcb_xfixes_fetch_region_request_t;
465 
466 /**
467  * @brief xcb_xfixes_fetch_region_reply_t
468  **/
469 typedef struct xcb_xfixes_fetch_region_reply_t {
470     uint8_t         response_type;
471     uint8_t         pad0;
472     uint16_t        sequence;
473     uint32_t        length;
474     xcb_rectangle_t extents;
475     uint8_t         pad1[16];
476 } xcb_xfixes_fetch_region_reply_t;
477 
478 /** Opcode for xcb_xfixes_set_gc_clip_region. */
479 #define XCB_XFIXES_SET_GC_CLIP_REGION 20
480 
481 /**
482  * @brief xcb_xfixes_set_gc_clip_region_request_t
483  **/
484 typedef struct xcb_xfixes_set_gc_clip_region_request_t {
485     uint8_t             major_opcode;
486     uint8_t             minor_opcode;
487     uint16_t            length;
488     xcb_gcontext_t      gc;
489     xcb_xfixes_region_t region;
490     int16_t             x_origin;
491     int16_t             y_origin;
492 } xcb_xfixes_set_gc_clip_region_request_t;
493 
494 /** Opcode for xcb_xfixes_set_window_shape_region. */
495 #define XCB_XFIXES_SET_WINDOW_SHAPE_REGION 21
496 
497 /**
498  * @brief xcb_xfixes_set_window_shape_region_request_t
499  **/
500 typedef struct xcb_xfixes_set_window_shape_region_request_t {
501     uint8_t             major_opcode;
502     uint8_t             minor_opcode;
503     uint16_t            length;
504     xcb_window_t        dest;
505     xcb_shape_kind_t    dest_kind;
506     uint8_t             pad0[3];
507     int16_t             x_offset;
508     int16_t             y_offset;
509     xcb_xfixes_region_t region;
510 } xcb_xfixes_set_window_shape_region_request_t;
511 
512 /** Opcode for xcb_xfixes_set_picture_clip_region. */
513 #define XCB_XFIXES_SET_PICTURE_CLIP_REGION 22
514 
515 /**
516  * @brief xcb_xfixes_set_picture_clip_region_request_t
517  **/
518 typedef struct xcb_xfixes_set_picture_clip_region_request_t {
519     uint8_t              major_opcode;
520     uint8_t              minor_opcode;
521     uint16_t             length;
522     xcb_render_picture_t picture;
523     xcb_xfixes_region_t  region;
524     int16_t              x_origin;
525     int16_t              y_origin;
526 } xcb_xfixes_set_picture_clip_region_request_t;
527 
528 /** Opcode for xcb_xfixes_set_cursor_name. */
529 #define XCB_XFIXES_SET_CURSOR_NAME 23
530 
531 /**
532  * @brief xcb_xfixes_set_cursor_name_request_t
533  **/
534 typedef struct xcb_xfixes_set_cursor_name_request_t {
535     uint8_t      major_opcode;
536     uint8_t      minor_opcode;
537     uint16_t     length;
538     xcb_cursor_t cursor;
539     uint16_t     nbytes;
540     uint8_t      pad0[2];
541 } xcb_xfixes_set_cursor_name_request_t;
542 
543 /**
544  * @brief xcb_xfixes_get_cursor_name_cookie_t
545  **/
546 typedef struct xcb_xfixes_get_cursor_name_cookie_t {
547     unsigned int sequence;
548 } xcb_xfixes_get_cursor_name_cookie_t;
549 
550 /** Opcode for xcb_xfixes_get_cursor_name. */
551 #define XCB_XFIXES_GET_CURSOR_NAME 24
552 
553 /**
554  * @brief xcb_xfixes_get_cursor_name_request_t
555  **/
556 typedef struct xcb_xfixes_get_cursor_name_request_t {
557     uint8_t      major_opcode;
558     uint8_t      minor_opcode;
559     uint16_t     length;
560     xcb_cursor_t cursor;
561 } xcb_xfixes_get_cursor_name_request_t;
562 
563 /**
564  * @brief xcb_xfixes_get_cursor_name_reply_t
565  **/
566 typedef struct xcb_xfixes_get_cursor_name_reply_t {
567     uint8_t    response_type;
568     uint8_t    pad0;
569     uint16_t   sequence;
570     uint32_t   length;
571     xcb_atom_t atom;
572     uint16_t   nbytes;
573     uint8_t    pad1[18];
574 } xcb_xfixes_get_cursor_name_reply_t;
575 
576 /**
577  * @brief xcb_xfixes_get_cursor_image_and_name_cookie_t
578  **/
579 typedef struct xcb_xfixes_get_cursor_image_and_name_cookie_t {
580     unsigned int sequence;
581 } xcb_xfixes_get_cursor_image_and_name_cookie_t;
582 
583 /** Opcode for xcb_xfixes_get_cursor_image_and_name. */
584 #define XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME 25
585 
586 /**
587  * @brief xcb_xfixes_get_cursor_image_and_name_request_t
588  **/
589 typedef struct xcb_xfixes_get_cursor_image_and_name_request_t {
590     uint8_t  major_opcode;
591     uint8_t  minor_opcode;
592     uint16_t length;
593 } xcb_xfixes_get_cursor_image_and_name_request_t;
594 
595 /**
596  * @brief xcb_xfixes_get_cursor_image_and_name_reply_t
597  **/
598 typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
599     uint8_t    response_type;
600     uint8_t    pad0;
601     uint16_t   sequence;
602     uint32_t   length;
603     int16_t    x;
604     int16_t    y;
605     uint16_t   width;
606     uint16_t   height;
607     uint16_t   xhot;
608     uint16_t   yhot;
609     uint32_t   cursor_serial;
610     xcb_atom_t cursor_atom;
611     uint16_t   nbytes;
612     uint8_t    pad1[2];
613 } xcb_xfixes_get_cursor_image_and_name_reply_t;
614 
615 /** Opcode for xcb_xfixes_change_cursor. */
616 #define XCB_XFIXES_CHANGE_CURSOR 26
617 
618 /**
619  * @brief xcb_xfixes_change_cursor_request_t
620  **/
621 typedef struct xcb_xfixes_change_cursor_request_t {
622     uint8_t      major_opcode;
623     uint8_t      minor_opcode;
624     uint16_t     length;
625     xcb_cursor_t source;
626     xcb_cursor_t destination;
627 } xcb_xfixes_change_cursor_request_t;
628 
629 /** Opcode for xcb_xfixes_change_cursor_by_name. */
630 #define XCB_XFIXES_CHANGE_CURSOR_BY_NAME 27
631 
632 /**
633  * @brief xcb_xfixes_change_cursor_by_name_request_t
634  **/
635 typedef struct xcb_xfixes_change_cursor_by_name_request_t {
636     uint8_t      major_opcode;
637     uint8_t      minor_opcode;
638     uint16_t     length;
639     xcb_cursor_t src;
640     uint16_t     nbytes;
641     uint8_t      pad0[2];
642 } xcb_xfixes_change_cursor_by_name_request_t;
643 
644 /** Opcode for xcb_xfixes_expand_region. */
645 #define XCB_XFIXES_EXPAND_REGION 28
646 
647 /**
648  * @brief xcb_xfixes_expand_region_request_t
649  **/
650 typedef struct xcb_xfixes_expand_region_request_t {
651     uint8_t             major_opcode;
652     uint8_t             minor_opcode;
653     uint16_t            length;
654     xcb_xfixes_region_t source;
655     xcb_xfixes_region_t destination;
656     uint16_t            left;
657     uint16_t            right;
658     uint16_t            top;
659     uint16_t            bottom;
660 } xcb_xfixes_expand_region_request_t;
661 
662 /** Opcode for xcb_xfixes_hide_cursor. */
663 #define XCB_XFIXES_HIDE_CURSOR 29
664 
665 /**
666  * @brief xcb_xfixes_hide_cursor_request_t
667  **/
668 typedef struct xcb_xfixes_hide_cursor_request_t {
669     uint8_t      major_opcode;
670     uint8_t      minor_opcode;
671     uint16_t     length;
672     xcb_window_t window;
673 } xcb_xfixes_hide_cursor_request_t;
674 
675 /** Opcode for xcb_xfixes_show_cursor. */
676 #define XCB_XFIXES_SHOW_CURSOR 30
677 
678 /**
679  * @brief xcb_xfixes_show_cursor_request_t
680  **/
681 typedef struct xcb_xfixes_show_cursor_request_t {
682     uint8_t      major_opcode;
683     uint8_t      minor_opcode;
684     uint16_t     length;
685     xcb_window_t window;
686 } xcb_xfixes_show_cursor_request_t;
687 
688 typedef uint32_t xcb_xfixes_barrier_t;
689 
690 /**
691  * @brief xcb_xfixes_barrier_iterator_t
692  **/
693 typedef struct xcb_xfixes_barrier_iterator_t {
694     xcb_xfixes_barrier_t *data;
695     int                   rem;
696     int                   index;
697 } xcb_xfixes_barrier_iterator_t;
698 
699 typedef enum xcb_xfixes_barrier_directions_t {
700     XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_X = 1,
701     XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_Y = 2,
702     XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_X = 4,
703     XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_Y = 8
704 } xcb_xfixes_barrier_directions_t;
705 
706 /** Opcode for xcb_xfixes_create_pointer_barrier. */
707 #define XCB_XFIXES_CREATE_POINTER_BARRIER 31
708 
709 /**
710  * @brief xcb_xfixes_create_pointer_barrier_request_t
711  **/
712 typedef struct xcb_xfixes_create_pointer_barrier_request_t {
713     uint8_t              major_opcode;
714     uint8_t              minor_opcode;
715     uint16_t             length;
716     xcb_xfixes_barrier_t barrier;
717     xcb_window_t         window;
718     uint16_t             x1;
719     uint16_t             y1;
720     uint16_t             x2;
721     uint16_t             y2;
722     uint32_t             directions;
723     uint8_t              pad0[2];
724     uint16_t             num_devices;
725 } xcb_xfixes_create_pointer_barrier_request_t;
726 
727 /** Opcode for xcb_xfixes_delete_pointer_barrier. */
728 #define XCB_XFIXES_DELETE_POINTER_BARRIER 32
729 
730 /**
731  * @brief xcb_xfixes_delete_pointer_barrier_request_t
732  **/
733 typedef struct xcb_xfixes_delete_pointer_barrier_request_t {
734     uint8_t              major_opcode;
735     uint8_t              minor_opcode;
736     uint16_t             length;
737     xcb_xfixes_barrier_t barrier;
738 } xcb_xfixes_delete_pointer_barrier_request_t;
739 
740 typedef enum xcb_xfixes_client_disconnect_flags_t {
741     XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_DEFAULT = 0,
742 /**< The default behavior for regular clients: the X11 server won't terminate as long
743 as such clients are still connected, and should this client disconnect, the
744 server will continue running so long as other clients (that have not set
745 XFixesClientDisconnectFlagTerminate) are connected. */
746 
747     XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_TERMINATE = 1
748 /**< Indicates to the X11 server that it can ignore the client and terminate itself
749 even though the client is still connected to the X11 server. */
750 
751 } xcb_xfixes_client_disconnect_flags_t;
752 
753 /** Opcode for xcb_xfixes_set_client_disconnect_mode. */
754 #define XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE 33
755 
756 /**
757  * @brief xcb_xfixes_set_client_disconnect_mode_request_t
758  **/
759 typedef struct xcb_xfixes_set_client_disconnect_mode_request_t {
760     uint8_t  major_opcode;
761     uint8_t  minor_opcode;
762     uint16_t length;
763     uint32_t disconnect_mode;
764 } xcb_xfixes_set_client_disconnect_mode_request_t;
765 
766 /**
767  * @brief xcb_xfixes_get_client_disconnect_mode_cookie_t
768  **/
769 typedef struct xcb_xfixes_get_client_disconnect_mode_cookie_t {
770     unsigned int sequence;
771 } xcb_xfixes_get_client_disconnect_mode_cookie_t;
772 
773 /** Opcode for xcb_xfixes_get_client_disconnect_mode. */
774 #define XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE 34
775 
776 /**
777  * @brief xcb_xfixes_get_client_disconnect_mode_request_t
778  **/
779 typedef struct xcb_xfixes_get_client_disconnect_mode_request_t {
780     uint8_t  major_opcode;
781     uint8_t  minor_opcode;
782     uint16_t length;
783 } xcb_xfixes_get_client_disconnect_mode_request_t;
784 
785 /**
786  * @brief xcb_xfixes_get_client_disconnect_mode_reply_t
787  **/
788 typedef struct xcb_xfixes_get_client_disconnect_mode_reply_t {
789     uint8_t  response_type;
790     uint8_t  pad0;
791     uint16_t sequence;
792     uint32_t length;
793     uint32_t disconnect_mode;
794     uint8_t  pad1[20];
795 } xcb_xfixes_get_client_disconnect_mode_reply_t;
796 
797 /**
798  *
799  * @param c The connection
800  * @return A cookie
801  *
802  * Delivers a request to the X server.
803  *
804  */
805 xcb_xfixes_query_version_cookie_t
806 xcb_xfixes_query_version (xcb_connection_t *c,
807                           uint32_t          client_major_version,
808                           uint32_t          client_minor_version);
809 
810 /**
811  *
812  * @param c The connection
813  * @return A cookie
814  *
815  * Delivers a request to the X server.
816  *
817  * This form can be used only if the request will cause
818  * a reply to be generated. Any returned error will be
819  * placed in the event queue.
820  */
821 xcb_xfixes_query_version_cookie_t
822 xcb_xfixes_query_version_unchecked (xcb_connection_t *c,
823                                     uint32_t          client_major_version,
824                                     uint32_t          client_minor_version);
825 
826 /**
827  * Return the reply
828  * @param c      The connection
829  * @param cookie The cookie
830  * @param e      The xcb_generic_error_t supplied
831  *
832  * Returns the reply of the request asked by
833  *
834  * The parameter @p e supplied to this function must be NULL if
835  * xcb_xfixes_query_version_unchecked(). is used.
836  * Otherwise, it stores the error if any.
837  *
838  * The returned value must be freed by the caller using free().
839  */
840 xcb_xfixes_query_version_reply_t *
841 xcb_xfixes_query_version_reply (xcb_connection_t                   *c,
842                                 xcb_xfixes_query_version_cookie_t   cookie  /**< */,
843                                 xcb_generic_error_t               **e);
844 
845 /**
846  *
847  * @param c The connection
848  * @return A cookie
849  *
850  * Delivers a request to the X server.
851  *
852  * This form can be used only if the request will not cause
853  * a reply to be generated. Any returned error will be
854  * saved for handling by xcb_request_check().
855  */
856 xcb_void_cookie_t
857 xcb_xfixes_change_save_set_checked (xcb_connection_t *c,
858                                     uint8_t           mode,
859                                     uint8_t           target,
860                                     uint8_t           map,
861                                     xcb_window_t      window);
862 
863 /**
864  *
865  * @param c The connection
866  * @return A cookie
867  *
868  * Delivers a request to the X server.
869  *
870  */
871 xcb_void_cookie_t
872 xcb_xfixes_change_save_set (xcb_connection_t *c,
873                             uint8_t           mode,
874                             uint8_t           target,
875                             uint8_t           map,
876                             xcb_window_t      window);
877 
878 /**
879  *
880  * @param c The connection
881  * @return A cookie
882  *
883  * Delivers a request to the X server.
884  *
885  * This form can be used only if the request will not cause
886  * a reply to be generated. Any returned error will be
887  * saved for handling by xcb_request_check().
888  */
889 xcb_void_cookie_t
890 xcb_xfixes_select_selection_input_checked (xcb_connection_t *c,
891                                            xcb_window_t      window,
892                                            xcb_atom_t        selection,
893                                            uint32_t          event_mask);
894 
895 /**
896  *
897  * @param c The connection
898  * @return A cookie
899  *
900  * Delivers a request to the X server.
901  *
902  */
903 xcb_void_cookie_t
904 xcb_xfixes_select_selection_input (xcb_connection_t *c,
905                                    xcb_window_t      window,
906                                    xcb_atom_t        selection,
907                                    uint32_t          event_mask);
908 
909 /**
910  *
911  * @param c The connection
912  * @return A cookie
913  *
914  * Delivers a request to the X server.
915  *
916  * This form can be used only if the request will not cause
917  * a reply to be generated. Any returned error will be
918  * saved for handling by xcb_request_check().
919  */
920 xcb_void_cookie_t
921 xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c,
922                                         xcb_window_t      window,
923                                         uint32_t          event_mask);
924 
925 /**
926  *
927  * @param c The connection
928  * @return A cookie
929  *
930  * Delivers a request to the X server.
931  *
932  */
933 xcb_void_cookie_t
934 xcb_xfixes_select_cursor_input (xcb_connection_t *c,
935                                 xcb_window_t      window,
936                                 uint32_t          event_mask);
937 
938 int
939 xcb_xfixes_get_cursor_image_sizeof (const void  *_buffer);
940 
941 /**
942  *
943  * @param c The connection
944  * @return A cookie
945  *
946  * Delivers a request to the X server.
947  *
948  */
949 xcb_xfixes_get_cursor_image_cookie_t
950 xcb_xfixes_get_cursor_image (xcb_connection_t *c);
951 
952 /**
953  *
954  * @param c The connection
955  * @return A cookie
956  *
957  * Delivers a request to the X server.
958  *
959  * This form can be used only if the request will cause
960  * a reply to be generated. Any returned error will be
961  * placed in the event queue.
962  */
963 xcb_xfixes_get_cursor_image_cookie_t
964 xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c);
965 
966 uint32_t *
967 xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R);
968 
969 int
970 xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R);
971 
972 xcb_generic_iterator_t
973 xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R);
974 
975 /**
976  * Return the reply
977  * @param c      The connection
978  * @param cookie The cookie
979  * @param e      The xcb_generic_error_t supplied
980  *
981  * Returns the reply of the request asked by
982  *
983  * The parameter @p e supplied to this function must be NULL if
984  * xcb_xfixes_get_cursor_image_unchecked(). is used.
985  * Otherwise, it stores the error if any.
986  *
987  * The returned value must be freed by the caller using free().
988  */
989 xcb_xfixes_get_cursor_image_reply_t *
990 xcb_xfixes_get_cursor_image_reply (xcb_connection_t                      *c,
991                                    xcb_xfixes_get_cursor_image_cookie_t   cookie  /**< */,
992                                    xcb_generic_error_t                  **e);
993 
994 /**
995  * Get the next element of the iterator
996  * @param i Pointer to a xcb_xfixes_region_iterator_t
997  *
998  * Get the next element in the iterator. The member rem is
999  * 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  */
2141