xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xfixes.h (revision 7d62b00eb9ad855ffcd7da46b41e23feb5476fac)
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     XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_TERMINATE = 1
743 } xcb_xfixes_client_disconnect_flags_t;
744 
745 /** Opcode for xcb_xfixes_set_client_disconnect_mode. */
746 #define XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE 33
747 
748 /**
749  * @brief xcb_xfixes_set_client_disconnect_mode_request_t
750  **/
751 typedef struct xcb_xfixes_set_client_disconnect_mode_request_t {
752     uint8_t  major_opcode;
753     uint8_t  minor_opcode;
754     uint16_t length;
755     uint32_t disconnect_mode;
756 } xcb_xfixes_set_client_disconnect_mode_request_t;
757 
758 /**
759  * @brief xcb_xfixes_get_client_disconnect_mode_cookie_t
760  **/
761 typedef struct xcb_xfixes_get_client_disconnect_mode_cookie_t {
762     unsigned int sequence;
763 } xcb_xfixes_get_client_disconnect_mode_cookie_t;
764 
765 /** Opcode for xcb_xfixes_get_client_disconnect_mode. */
766 #define XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE 34
767 
768 /**
769  * @brief xcb_xfixes_get_client_disconnect_mode_request_t
770  **/
771 typedef struct xcb_xfixes_get_client_disconnect_mode_request_t {
772     uint8_t  major_opcode;
773     uint8_t  minor_opcode;
774     uint16_t length;
775 } xcb_xfixes_get_client_disconnect_mode_request_t;
776 
777 /**
778  * @brief xcb_xfixes_get_client_disconnect_mode_reply_t
779  **/
780 typedef struct xcb_xfixes_get_client_disconnect_mode_reply_t {
781     uint8_t  response_type;
782     uint8_t  pad0;
783     uint16_t sequence;
784     uint32_t length;
785     uint32_t disconnect_mode;
786     uint8_t  pad1[20];
787 } xcb_xfixes_get_client_disconnect_mode_reply_t;
788 
789 /**
790  *
791  * @param c The connection
792  * @return A cookie
793  *
794  * Delivers a request to the X server.
795  *
796  */
797 xcb_xfixes_query_version_cookie_t
798 xcb_xfixes_query_version (xcb_connection_t *c,
799                           uint32_t          client_major_version,
800                           uint32_t          client_minor_version);
801 
802 /**
803  *
804  * @param c The connection
805  * @return A cookie
806  *
807  * Delivers a request to the X server.
808  *
809  * This form can be used only if the request will cause
810  * a reply to be generated. Any returned error will be
811  * placed in the event queue.
812  */
813 xcb_xfixes_query_version_cookie_t
814 xcb_xfixes_query_version_unchecked (xcb_connection_t *c,
815                                     uint32_t          client_major_version,
816                                     uint32_t          client_minor_version);
817 
818 /**
819  * Return the reply
820  * @param c      The connection
821  * @param cookie The cookie
822  * @param e      The xcb_generic_error_t supplied
823  *
824  * Returns the reply of the request asked by
825  *
826  * The parameter @p e supplied to this function must be NULL if
827  * xcb_xfixes_query_version_unchecked(). is used.
828  * Otherwise, it stores the error if any.
829  *
830  * The returned value must be freed by the caller using free().
831  */
832 xcb_xfixes_query_version_reply_t *
833 xcb_xfixes_query_version_reply (xcb_connection_t                   *c,
834                                 xcb_xfixes_query_version_cookie_t   cookie  /**< */,
835                                 xcb_generic_error_t               **e);
836 
837 /**
838  *
839  * @param c The connection
840  * @return A cookie
841  *
842  * Delivers a request to the X server.
843  *
844  * This form can be used only if the request will not cause
845  * a reply to be generated. Any returned error will be
846  * saved for handling by xcb_request_check().
847  */
848 xcb_void_cookie_t
849 xcb_xfixes_change_save_set_checked (xcb_connection_t *c,
850                                     uint8_t           mode,
851                                     uint8_t           target,
852                                     uint8_t           map,
853                                     xcb_window_t      window);
854 
855 /**
856  *
857  * @param c The connection
858  * @return A cookie
859  *
860  * Delivers a request to the X server.
861  *
862  */
863 xcb_void_cookie_t
864 xcb_xfixes_change_save_set (xcb_connection_t *c,
865                             uint8_t           mode,
866                             uint8_t           target,
867                             uint8_t           map,
868                             xcb_window_t      window);
869 
870 /**
871  *
872  * @param c The connection
873  * @return A cookie
874  *
875  * Delivers a request to the X server.
876  *
877  * This form can be used only if the request will not cause
878  * a reply to be generated. Any returned error will be
879  * saved for handling by xcb_request_check().
880  */
881 xcb_void_cookie_t
882 xcb_xfixes_select_selection_input_checked (xcb_connection_t *c,
883                                            xcb_window_t      window,
884                                            xcb_atom_t        selection,
885                                            uint32_t          event_mask);
886 
887 /**
888  *
889  * @param c The connection
890  * @return A cookie
891  *
892  * Delivers a request to the X server.
893  *
894  */
895 xcb_void_cookie_t
896 xcb_xfixes_select_selection_input (xcb_connection_t *c,
897                                    xcb_window_t      window,
898                                    xcb_atom_t        selection,
899                                    uint32_t          event_mask);
900 
901 /**
902  *
903  * @param c The connection
904  * @return A cookie
905  *
906  * Delivers a request to the X server.
907  *
908  * This form can be used only if the request will not cause
909  * a reply to be generated. Any returned error will be
910  * saved for handling by xcb_request_check().
911  */
912 xcb_void_cookie_t
913 xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c,
914                                         xcb_window_t      window,
915                                         uint32_t          event_mask);
916 
917 /**
918  *
919  * @param c The connection
920  * @return A cookie
921  *
922  * Delivers a request to the X server.
923  *
924  */
925 xcb_void_cookie_t
926 xcb_xfixes_select_cursor_input (xcb_connection_t *c,
927                                 xcb_window_t      window,
928                                 uint32_t          event_mask);
929 
930 int
931 xcb_xfixes_get_cursor_image_sizeof (const void  *_buffer);
932 
933 /**
934  *
935  * @param c The connection
936  * @return A cookie
937  *
938  * Delivers a request to the X server.
939  *
940  */
941 xcb_xfixes_get_cursor_image_cookie_t
942 xcb_xfixes_get_cursor_image (xcb_connection_t *c);
943 
944 /**
945  *
946  * @param c The connection
947  * @return A cookie
948  *
949  * Delivers a request to the X server.
950  *
951  * This form can be used only if the request will cause
952  * a reply to be generated. Any returned error will be
953  * placed in the event queue.
954  */
955 xcb_xfixes_get_cursor_image_cookie_t
956 xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c);
957 
958 uint32_t *
959 xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R);
960 
961 int
962 xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R);
963 
964 xcb_generic_iterator_t
965 xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R);
966 
967 /**
968  * Return the reply
969  * @param c      The connection
970  * @param cookie The cookie
971  * @param e      The xcb_generic_error_t supplied
972  *
973  * Returns the reply of the request asked by
974  *
975  * The parameter @p e supplied to this function must be NULL if
976  * xcb_xfixes_get_cursor_image_unchecked(). is used.
977  * Otherwise, it stores the error if any.
978  *
979  * The returned value must be freed by the caller using free().
980  */
981 xcb_xfixes_get_cursor_image_reply_t *
982 xcb_xfixes_get_cursor_image_reply (xcb_connection_t                      *c,
983                                    xcb_xfixes_get_cursor_image_cookie_t   cookie  /**< */,
984                                    xcb_generic_error_t                  **e);
985 
986 /**
987  * Get the next element of the iterator
988  * @param i Pointer to a xcb_xfixes_region_iterator_t
989  *
990  * Get the next element in the iterator. The member rem is
991  * decreased by one. The member data points to the next
992  * element. The member index is increased by sizeof(xcb_xfixes_region_t)
993  */
994 void
995 xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i);
996 
997 /**
998  * Return the iterator pointing to the last element
999  * @param i An xcb_xfixes_region_iterator_t
1000  * @return  The iterator pointing to the last element
1001  *
1002  * Set the current element in the iterator to the last element.
1003  * The member rem is set to 0. The member data points to the
1004  * last element.
1005  */
1006 xcb_generic_iterator_t
1007 xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i);
1008 
1009 int
1010 xcb_xfixes_create_region_sizeof (const void  *_buffer,
1011                                  uint32_t     rectangles_len);
1012 
1013 /**
1014  *
1015  * @param c The connection
1016  * @return A cookie
1017  *
1018  * Delivers a request to the X server.
1019  *
1020  * This form can be used only if the request will not cause
1021  * a reply to be generated. Any returned error will be
1022  * saved for handling by xcb_request_check().
1023  */
1024 xcb_void_cookie_t
1025 xcb_xfixes_create_region_checked (xcb_connection_t      *c,
1026                                   xcb_xfixes_region_t    region,
1027                                   uint32_t               rectangles_len,
1028                                   const xcb_rectangle_t *rectangles);
1029 
1030 /**
1031  *
1032  * @param c The connection
1033  * @return A cookie
1034  *
1035  * Delivers a request to the X server.
1036  *
1037  */
1038 xcb_void_cookie_t
1039 xcb_xfixes_create_region (xcb_connection_t      *c,
1040                           xcb_xfixes_region_t    region,
1041                           uint32_t               rectangles_len,
1042                           const xcb_rectangle_t *rectangles);
1043 
1044 xcb_rectangle_t *
1045 xcb_xfixes_create_region_rectangles (const xcb_xfixes_create_region_request_t *R);
1046 
1047 int
1048 xcb_xfixes_create_region_rectangles_length (const xcb_xfixes_create_region_request_t *R);
1049 
1050 xcb_rectangle_iterator_t
1051 xcb_xfixes_create_region_rectangles_iterator (const xcb_xfixes_create_region_request_t *R);
1052 
1053 /**
1054  *
1055  * @param c The connection
1056  * @return A cookie
1057  *
1058  * Delivers a request to the X server.
1059  *
1060  * This form can be used only if the request will not cause
1061  * a reply to be generated. Any returned error will be
1062  * saved for handling by xcb_request_check().
1063  */
1064 xcb_void_cookie_t
1065 xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t    *c,
1066                                               xcb_xfixes_region_t  region,
1067                                               xcb_pixmap_t         bitmap);
1068 
1069 /**
1070  *
1071  * @param c The connection
1072  * @return A cookie
1073  *
1074  * Delivers a request to the X server.
1075  *
1076  */
1077 xcb_void_cookie_t
1078 xcb_xfixes_create_region_from_bitmap (xcb_connection_t    *c,
1079                                       xcb_xfixes_region_t  region,
1080                                       xcb_pixmap_t         bitmap);
1081 
1082 /**
1083  *
1084  * @param c The connection
1085  * @return A cookie
1086  *
1087  * Delivers a request to the X server.
1088  *
1089  * This form can be used only if the request will not cause
1090  * a reply to be generated. Any returned error will be
1091  * saved for handling by xcb_request_check().
1092  */
1093 xcb_void_cookie_t
1094 xcb_xfixes_create_region_from_window_checked (xcb_connection_t    *c,
1095                                               xcb_xfixes_region_t  region,
1096                                               xcb_window_t         window,
1097                                               xcb_shape_kind_t     kind);
1098 
1099 /**
1100  *
1101  * @param c The connection
1102  * @return A cookie
1103  *
1104  * Delivers a request to the X server.
1105  *
1106  */
1107 xcb_void_cookie_t
1108 xcb_xfixes_create_region_from_window (xcb_connection_t    *c,
1109                                       xcb_xfixes_region_t  region,
1110                                       xcb_window_t         window,
1111                                       xcb_shape_kind_t     kind);
1112 
1113 /**
1114  *
1115  * @param c The connection
1116  * @return A cookie
1117  *
1118  * Delivers a request to the X server.
1119  *
1120  * This form can be used only if the request will not cause
1121  * a reply to be generated. Any returned error will be
1122  * saved for handling by xcb_request_check().
1123  */
1124 xcb_void_cookie_t
1125 xcb_xfixes_create_region_from_gc_checked (xcb_connection_t    *c,
1126                                           xcb_xfixes_region_t  region,
1127                                           xcb_gcontext_t       gc);
1128 
1129 /**
1130  *
1131  * @param c The connection
1132  * @return A cookie
1133  *
1134  * Delivers a request to the X server.
1135  *
1136  */
1137 xcb_void_cookie_t
1138 xcb_xfixes_create_region_from_gc (xcb_connection_t    *c,
1139                                   xcb_xfixes_region_t  region,
1140                                   xcb_gcontext_t       gc);
1141 
1142 /**
1143  *
1144  * @param c The connection
1145  * @return A cookie
1146  *
1147  * Delivers a request to the X server.
1148  *
1149  * This form can be used only if the request will not cause
1150  * a reply to be generated. Any returned error will be
1151  * saved for handling by xcb_request_check().
1152  */
1153 xcb_void_cookie_t
1154 xcb_xfixes_create_region_from_picture_checked (xcb_connection_t     *c,
1155                                                xcb_xfixes_region_t   region,
1156                                                xcb_render_picture_t  picture);
1157 
1158 /**
1159  *
1160  * @param c The connection
1161  * @return A cookie
1162  *
1163  * Delivers a request to the X server.
1164  *
1165  */
1166 xcb_void_cookie_t
1167 xcb_xfixes_create_region_from_picture (xcb_connection_t     *c,
1168                                        xcb_xfixes_region_t   region,
1169                                        xcb_render_picture_t  picture);
1170 
1171 /**
1172  *
1173  * @param c The connection
1174  * @return A cookie
1175  *
1176  * Delivers a request to the X server.
1177  *
1178  * This form can be used only if the request will not cause
1179  * a reply to be generated. Any returned error will be
1180  * saved for handling by xcb_request_check().
1181  */
1182 xcb_void_cookie_t
1183 xcb_xfixes_destroy_region_checked (xcb_connection_t    *c,
1184                                    xcb_xfixes_region_t  region);
1185 
1186 /**
1187  *
1188  * @param c The connection
1189  * @return A cookie
1190  *
1191  * Delivers a request to the X server.
1192  *
1193  */
1194 xcb_void_cookie_t
1195 xcb_xfixes_destroy_region (xcb_connection_t    *c,
1196                            xcb_xfixes_region_t  region);
1197 
1198 int
1199 xcb_xfixes_set_region_sizeof (const void  *_buffer,
1200                               uint32_t     rectangles_len);
1201 
1202 /**
1203  *
1204  * @param c The connection
1205  * @return A cookie
1206  *
1207  * Delivers a request to the X server.
1208  *
1209  * This form can be used only if the request will not cause
1210  * a reply to be generated. Any returned error will be
1211  * saved for handling by xcb_request_check().
1212  */
1213 xcb_void_cookie_t
1214 xcb_xfixes_set_region_checked (xcb_connection_t      *c,
1215                                xcb_xfixes_region_t    region,
1216                                uint32_t               rectangles_len,
1217                                const xcb_rectangle_t *rectangles);
1218 
1219 /**
1220  *
1221  * @param c The connection
1222  * @return A cookie
1223  *
1224  * Delivers a request to the X server.
1225  *
1226  */
1227 xcb_void_cookie_t
1228 xcb_xfixes_set_region (xcb_connection_t      *c,
1229                        xcb_xfixes_region_t    region,
1230                        uint32_t               rectangles_len,
1231                        const xcb_rectangle_t *rectangles);
1232 
1233 xcb_rectangle_t *
1234 xcb_xfixes_set_region_rectangles (const xcb_xfixes_set_region_request_t *R);
1235 
1236 int
1237 xcb_xfixes_set_region_rectangles_length (const xcb_xfixes_set_region_request_t *R);
1238 
1239 xcb_rectangle_iterator_t
1240 xcb_xfixes_set_region_rectangles_iterator (const xcb_xfixes_set_region_request_t *R);
1241 
1242 /**
1243  *
1244  * @param c The connection
1245  * @return A cookie
1246  *
1247  * Delivers a request to the X server.
1248  *
1249  * This form can be used only if the request will not cause
1250  * a reply to be generated. Any returned error will be
1251  * saved for handling by xcb_request_check().
1252  */
1253 xcb_void_cookie_t
1254 xcb_xfixes_copy_region_checked (xcb_connection_t    *c,
1255                                 xcb_xfixes_region_t  source,
1256                                 xcb_xfixes_region_t  destination);
1257 
1258 /**
1259  *
1260  * @param c The connection
1261  * @return A cookie
1262  *
1263  * Delivers a request to the X server.
1264  *
1265  */
1266 xcb_void_cookie_t
1267 xcb_xfixes_copy_region (xcb_connection_t    *c,
1268                         xcb_xfixes_region_t  source,
1269                         xcb_xfixes_region_t  destination);
1270 
1271 /**
1272  *
1273  * @param c The connection
1274  * @return A cookie
1275  *
1276  * Delivers a request to the X server.
1277  *
1278  * This form can be used only if the request will not cause
1279  * a reply to be generated. Any returned error will be
1280  * saved for handling by xcb_request_check().
1281  */
1282 xcb_void_cookie_t
1283 xcb_xfixes_union_region_checked (xcb_connection_t    *c,
1284                                  xcb_xfixes_region_t  source1,
1285                                  xcb_xfixes_region_t  source2,
1286                                  xcb_xfixes_region_t  destination);
1287 
1288 /**
1289  *
1290  * @param c The connection
1291  * @return A cookie
1292  *
1293  * Delivers a request to the X server.
1294  *
1295  */
1296 xcb_void_cookie_t
1297 xcb_xfixes_union_region (xcb_connection_t    *c,
1298                          xcb_xfixes_region_t  source1,
1299                          xcb_xfixes_region_t  source2,
1300                          xcb_xfixes_region_t  destination);
1301 
1302 /**
1303  *
1304  * @param c The connection
1305  * @return A cookie
1306  *
1307  * Delivers a request to the X server.
1308  *
1309  * This form can be used only if the request will not cause
1310  * a reply to be generated. Any returned error will be
1311  * saved for handling by xcb_request_check().
1312  */
1313 xcb_void_cookie_t
1314 xcb_xfixes_intersect_region_checked (xcb_connection_t    *c,
1315                                      xcb_xfixes_region_t  source1,
1316                                      xcb_xfixes_region_t  source2,
1317                                      xcb_xfixes_region_t  destination);
1318 
1319 /**
1320  *
1321  * @param c The connection
1322  * @return A cookie
1323  *
1324  * Delivers a request to the X server.
1325  *
1326  */
1327 xcb_void_cookie_t
1328 xcb_xfixes_intersect_region (xcb_connection_t    *c,
1329                              xcb_xfixes_region_t  source1,
1330                              xcb_xfixes_region_t  source2,
1331                              xcb_xfixes_region_t  destination);
1332 
1333 /**
1334  *
1335  * @param c The connection
1336  * @return A cookie
1337  *
1338  * Delivers a request to the X server.
1339  *
1340  * This form can be used only if the request will not cause
1341  * a reply to be generated. Any returned error will be
1342  * saved for handling by xcb_request_check().
1343  */
1344 xcb_void_cookie_t
1345 xcb_xfixes_subtract_region_checked (xcb_connection_t    *c,
1346                                     xcb_xfixes_region_t  source1,
1347                                     xcb_xfixes_region_t  source2,
1348                                     xcb_xfixes_region_t  destination);
1349 
1350 /**
1351  *
1352  * @param c The connection
1353  * @return A cookie
1354  *
1355  * Delivers a request to the X server.
1356  *
1357  */
1358 xcb_void_cookie_t
1359 xcb_xfixes_subtract_region (xcb_connection_t    *c,
1360                             xcb_xfixes_region_t  source1,
1361                             xcb_xfixes_region_t  source2,
1362                             xcb_xfixes_region_t  destination);
1363 
1364 /**
1365  *
1366  * @param c The connection
1367  * @return A cookie
1368  *
1369  * Delivers a request to the X server.
1370  *
1371  * This form can be used only if the request will not cause
1372  * a reply to be generated. Any returned error will be
1373  * saved for handling by xcb_request_check().
1374  */
1375 xcb_void_cookie_t
1376 xcb_xfixes_invert_region_checked (xcb_connection_t    *c,
1377                                   xcb_xfixes_region_t  source,
1378                                   xcb_rectangle_t      bounds,
1379                                   xcb_xfixes_region_t  destination);
1380 
1381 /**
1382  *
1383  * @param c The connection
1384  * @return A cookie
1385  *
1386  * Delivers a request to the X server.
1387  *
1388  */
1389 xcb_void_cookie_t
1390 xcb_xfixes_invert_region (xcb_connection_t    *c,
1391                           xcb_xfixes_region_t  source,
1392                           xcb_rectangle_t      bounds,
1393                           xcb_xfixes_region_t  destination);
1394 
1395 /**
1396  *
1397  * @param c The connection
1398  * @return A cookie
1399  *
1400  * Delivers a request to the X server.
1401  *
1402  * This form can be used only if the request will not cause
1403  * a reply to be generated. Any returned error will be
1404  * saved for handling by xcb_request_check().
1405  */
1406 xcb_void_cookie_t
1407 xcb_xfixes_translate_region_checked (xcb_connection_t    *c,
1408                                      xcb_xfixes_region_t  region,
1409                                      int16_t              dx,
1410                                      int16_t              dy);
1411 
1412 /**
1413  *
1414  * @param c The connection
1415  * @return A cookie
1416  *
1417  * Delivers a request to the X server.
1418  *
1419  */
1420 xcb_void_cookie_t
1421 xcb_xfixes_translate_region (xcb_connection_t    *c,
1422                              xcb_xfixes_region_t  region,
1423                              int16_t              dx,
1424                              int16_t              dy);
1425 
1426 /**
1427  *
1428  * @param c The connection
1429  * @return A cookie
1430  *
1431  * Delivers a request to the X server.
1432  *
1433  * This form can be used only if the request will not cause
1434  * a reply to be generated. Any returned error will be
1435  * saved for handling by xcb_request_check().
1436  */
1437 xcb_void_cookie_t
1438 xcb_xfixes_region_extents_checked (xcb_connection_t    *c,
1439                                    xcb_xfixes_region_t  source,
1440                                    xcb_xfixes_region_t  destination);
1441 
1442 /**
1443  *
1444  * @param c The connection
1445  * @return A cookie
1446  *
1447  * Delivers a request to the X server.
1448  *
1449  */
1450 xcb_void_cookie_t
1451 xcb_xfixes_region_extents (xcb_connection_t    *c,
1452                            xcb_xfixes_region_t  source,
1453                            xcb_xfixes_region_t  destination);
1454 
1455 int
1456 xcb_xfixes_fetch_region_sizeof (const void  *_buffer);
1457 
1458 /**
1459  *
1460  * @param c The connection
1461  * @return A cookie
1462  *
1463  * Delivers a request to the X server.
1464  *
1465  */
1466 xcb_xfixes_fetch_region_cookie_t
1467 xcb_xfixes_fetch_region (xcb_connection_t    *c,
1468                          xcb_xfixes_region_t  region);
1469 
1470 /**
1471  *
1472  * @param c The connection
1473  * @return A cookie
1474  *
1475  * Delivers a request to the X server.
1476  *
1477  * This form can be used only if the request will cause
1478  * a reply to be generated. Any returned error will be
1479  * placed in the event queue.
1480  */
1481 xcb_xfixes_fetch_region_cookie_t
1482 xcb_xfixes_fetch_region_unchecked (xcb_connection_t    *c,
1483                                    xcb_xfixes_region_t  region);
1484 
1485 xcb_rectangle_t *
1486 xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R);
1487 
1488 int
1489 xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R);
1490 
1491 xcb_rectangle_iterator_t
1492 xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R);
1493 
1494 /**
1495  * Return the reply
1496  * @param c      The connection
1497  * @param cookie The cookie
1498  * @param e      The xcb_generic_error_t supplied
1499  *
1500  * Returns the reply of the request asked by
1501  *
1502  * The parameter @p e supplied to this function must be NULL if
1503  * xcb_xfixes_fetch_region_unchecked(). is used.
1504  * Otherwise, it stores the error if any.
1505  *
1506  * The returned value must be freed by the caller using free().
1507  */
1508 xcb_xfixes_fetch_region_reply_t *
1509 xcb_xfixes_fetch_region_reply (xcb_connection_t                  *c,
1510                                xcb_xfixes_fetch_region_cookie_t   cookie  /**< */,
1511                                xcb_generic_error_t              **e);
1512 
1513 /**
1514  *
1515  * @param c The connection
1516  * @return A cookie
1517  *
1518  * Delivers a request to the X server.
1519  *
1520  * This form can be used only if the request will not cause
1521  * a reply to be generated. Any returned error will be
1522  * saved for handling by xcb_request_check().
1523  */
1524 xcb_void_cookie_t
1525 xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t    *c,
1526                                        xcb_gcontext_t       gc,
1527                                        xcb_xfixes_region_t  region,
1528                                        int16_t              x_origin,
1529                                        int16_t              y_origin);
1530 
1531 /**
1532  *
1533  * @param c The connection
1534  * @return A cookie
1535  *
1536  * Delivers a request to the X server.
1537  *
1538  */
1539 xcb_void_cookie_t
1540 xcb_xfixes_set_gc_clip_region (xcb_connection_t    *c,
1541                                xcb_gcontext_t       gc,
1542                                xcb_xfixes_region_t  region,
1543                                int16_t              x_origin,
1544                                int16_t              y_origin);
1545 
1546 /**
1547  *
1548  * @param c The connection
1549  * @return A cookie
1550  *
1551  * Delivers a request to the X server.
1552  *
1553  * This form can be used only if the request will not cause
1554  * a reply to be generated. Any returned error will be
1555  * saved for handling by xcb_request_check().
1556  */
1557 xcb_void_cookie_t
1558 xcb_xfixes_set_window_shape_region_checked (xcb_connection_t    *c,
1559                                             xcb_window_t         dest,
1560                                             xcb_shape_kind_t     dest_kind,
1561                                             int16_t              x_offset,
1562                                             int16_t              y_offset,
1563                                             xcb_xfixes_region_t  region);
1564 
1565 /**
1566  *
1567  * @param c The connection
1568  * @return A cookie
1569  *
1570  * Delivers a request to the X server.
1571  *
1572  */
1573 xcb_void_cookie_t
1574 xcb_xfixes_set_window_shape_region (xcb_connection_t    *c,
1575                                     xcb_window_t         dest,
1576                                     xcb_shape_kind_t     dest_kind,
1577                                     int16_t              x_offset,
1578                                     int16_t              y_offset,
1579                                     xcb_xfixes_region_t  region);
1580 
1581 /**
1582  *
1583  * @param c The connection
1584  * @return A cookie
1585  *
1586  * Delivers a request to the X server.
1587  *
1588  * This form can be used only if the request will not cause
1589  * a reply to be generated. Any returned error will be
1590  * saved for handling by xcb_request_check().
1591  */
1592 xcb_void_cookie_t
1593 xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t     *c,
1594                                             xcb_render_picture_t  picture,
1595                                             xcb_xfixes_region_t   region,
1596                                             int16_t               x_origin,
1597                                             int16_t               y_origin);
1598 
1599 /**
1600  *
1601  * @param c The connection
1602  * @return A cookie
1603  *
1604  * Delivers a request to the X server.
1605  *
1606  */
1607 xcb_void_cookie_t
1608 xcb_xfixes_set_picture_clip_region (xcb_connection_t     *c,
1609                                     xcb_render_picture_t  picture,
1610                                     xcb_xfixes_region_t   region,
1611                                     int16_t               x_origin,
1612                                     int16_t               y_origin);
1613 
1614 int
1615 xcb_xfixes_set_cursor_name_sizeof (const void  *_buffer);
1616 
1617 /**
1618  *
1619  * @param c The connection
1620  * @return A cookie
1621  *
1622  * Delivers a request to the X server.
1623  *
1624  * This form can be used only if the request will not cause
1625  * a reply to be generated. Any returned error will be
1626  * saved for handling by xcb_request_check().
1627  */
1628 xcb_void_cookie_t
1629 xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c,
1630                                     xcb_cursor_t      cursor,
1631                                     uint16_t          nbytes,
1632                                     const char       *name);
1633 
1634 /**
1635  *
1636  * @param c The connection
1637  * @return A cookie
1638  *
1639  * Delivers a request to the X server.
1640  *
1641  */
1642 xcb_void_cookie_t
1643 xcb_xfixes_set_cursor_name (xcb_connection_t *c,
1644                             xcb_cursor_t      cursor,
1645                             uint16_t          nbytes,
1646                             const char       *name);
1647 
1648 char *
1649 xcb_xfixes_set_cursor_name_name (const xcb_xfixes_set_cursor_name_request_t *R);
1650 
1651 int
1652 xcb_xfixes_set_cursor_name_name_length (const xcb_xfixes_set_cursor_name_request_t *R);
1653 
1654 xcb_generic_iterator_t
1655 xcb_xfixes_set_cursor_name_name_end (const xcb_xfixes_set_cursor_name_request_t *R);
1656 
1657 int
1658 xcb_xfixes_get_cursor_name_sizeof (const void  *_buffer);
1659 
1660 /**
1661  *
1662  * @param c The connection
1663  * @return A cookie
1664  *
1665  * Delivers a request to the X server.
1666  *
1667  */
1668 xcb_xfixes_get_cursor_name_cookie_t
1669 xcb_xfixes_get_cursor_name (xcb_connection_t *c,
1670                             xcb_cursor_t      cursor);
1671 
1672 /**
1673  *
1674  * @param c The connection
1675  * @return A cookie
1676  *
1677  * Delivers a request to the X server.
1678  *
1679  * This form can be used only if the request will cause
1680  * a reply to be generated. Any returned error will be
1681  * placed in the event queue.
1682  */
1683 xcb_xfixes_get_cursor_name_cookie_t
1684 xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c,
1685                                       xcb_cursor_t      cursor);
1686 
1687 char *
1688 xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R);
1689 
1690 int
1691 xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R);
1692 
1693 xcb_generic_iterator_t
1694 xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R);
1695 
1696 /**
1697  * Return the reply
1698  * @param c      The connection
1699  * @param cookie The cookie
1700  * @param e      The xcb_generic_error_t supplied
1701  *
1702  * Returns the reply of the request asked by
1703  *
1704  * The parameter @p e supplied to this function must be NULL if
1705  * xcb_xfixes_get_cursor_name_unchecked(). is used.
1706  * Otherwise, it stores the error if any.
1707  *
1708  * The returned value must be freed by the caller using free().
1709  */
1710 xcb_xfixes_get_cursor_name_reply_t *
1711 xcb_xfixes_get_cursor_name_reply (xcb_connection_t                     *c,
1712                                   xcb_xfixes_get_cursor_name_cookie_t   cookie  /**< */,
1713                                   xcb_generic_error_t                 **e);
1714 
1715 int
1716 xcb_xfixes_get_cursor_image_and_name_sizeof (const void  *_buffer);
1717 
1718 /**
1719  *
1720  * @param c The connection
1721  * @return A cookie
1722  *
1723  * Delivers a request to the X server.
1724  *
1725  */
1726 xcb_xfixes_get_cursor_image_and_name_cookie_t
1727 xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c);
1728 
1729 /**
1730  *
1731  * @param c The connection
1732  * @return A cookie
1733  *
1734  * Delivers a request to the X server.
1735  *
1736  * This form can be used only if the request will cause
1737  * a reply to be generated. Any returned error will be
1738  * placed in the event queue.
1739  */
1740 xcb_xfixes_get_cursor_image_and_name_cookie_t
1741 xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c);
1742 
1743 uint32_t *
1744 xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1745 
1746 int
1747 xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1748 
1749 xcb_generic_iterator_t
1750 xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1751 
1752 char *
1753 xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1754 
1755 int
1756 xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1757 
1758 xcb_generic_iterator_t
1759 xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1760 
1761 /**
1762  * Return the reply
1763  * @param c      The connection
1764  * @param cookie The cookie
1765  * @param e      The xcb_generic_error_t supplied
1766  *
1767  * Returns the reply of the request asked by
1768  *
1769  * The parameter @p e supplied to this function must be NULL if
1770  * xcb_xfixes_get_cursor_image_and_name_unchecked(). is used.
1771  * Otherwise, it stores the error if any.
1772  *
1773  * The returned value must be freed by the caller using free().
1774  */
1775 xcb_xfixes_get_cursor_image_and_name_reply_t *
1776 xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t                               *c,
1777                                             xcb_xfixes_get_cursor_image_and_name_cookie_t   cookie  /**< */,
1778                                             xcb_generic_error_t                           **e);
1779 
1780 /**
1781  *
1782  * @param c The connection
1783  * @return A cookie
1784  *
1785  * Delivers a request to the X server.
1786  *
1787  * This form can be used only if the request will not cause
1788  * a reply to be generated. Any returned error will be
1789  * saved for handling by xcb_request_check().
1790  */
1791 xcb_void_cookie_t
1792 xcb_xfixes_change_cursor_checked (xcb_connection_t *c,
1793                                   xcb_cursor_t      source,
1794                                   xcb_cursor_t      destination);
1795 
1796 /**
1797  *
1798  * @param c The connection
1799  * @return A cookie
1800  *
1801  * Delivers a request to the X server.
1802  *
1803  */
1804 xcb_void_cookie_t
1805 xcb_xfixes_change_cursor (xcb_connection_t *c,
1806                           xcb_cursor_t      source,
1807                           xcb_cursor_t      destination);
1808 
1809 int
1810 xcb_xfixes_change_cursor_by_name_sizeof (const void  *_buffer);
1811 
1812 /**
1813  *
1814  * @param c The connection
1815  * @return A cookie
1816  *
1817  * Delivers a request to the X server.
1818  *
1819  * This form can be used only if the request will not cause
1820  * a reply to be generated. Any returned error will be
1821  * saved for handling by xcb_request_check().
1822  */
1823 xcb_void_cookie_t
1824 xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c,
1825                                           xcb_cursor_t      src,
1826                                           uint16_t          nbytes,
1827                                           const char       *name);
1828 
1829 /**
1830  *
1831  * @param c The connection
1832  * @return A cookie
1833  *
1834  * Delivers a request to the X server.
1835  *
1836  */
1837 xcb_void_cookie_t
1838 xcb_xfixes_change_cursor_by_name (xcb_connection_t *c,
1839                                   xcb_cursor_t      src,
1840                                   uint16_t          nbytes,
1841                                   const char       *name);
1842 
1843 char *
1844 xcb_xfixes_change_cursor_by_name_name (const xcb_xfixes_change_cursor_by_name_request_t *R);
1845 
1846 int
1847 xcb_xfixes_change_cursor_by_name_name_length (const xcb_xfixes_change_cursor_by_name_request_t *R);
1848 
1849 xcb_generic_iterator_t
1850 xcb_xfixes_change_cursor_by_name_name_end (const xcb_xfixes_change_cursor_by_name_request_t *R);
1851 
1852 /**
1853  *
1854  * @param c The connection
1855  * @return A cookie
1856  *
1857  * Delivers a request to the X server.
1858  *
1859  * This form can be used only if the request will not cause
1860  * a reply to be generated. Any returned error will be
1861  * saved for handling by xcb_request_check().
1862  */
1863 xcb_void_cookie_t
1864 xcb_xfixes_expand_region_checked (xcb_connection_t    *c,
1865                                   xcb_xfixes_region_t  source,
1866                                   xcb_xfixes_region_t  destination,
1867                                   uint16_t             left,
1868                                   uint16_t             right,
1869                                   uint16_t             top,
1870                                   uint16_t             bottom);
1871 
1872 /**
1873  *
1874  * @param c The connection
1875  * @return A cookie
1876  *
1877  * Delivers a request to the X server.
1878  *
1879  */
1880 xcb_void_cookie_t
1881 xcb_xfixes_expand_region (xcb_connection_t    *c,
1882                           xcb_xfixes_region_t  source,
1883                           xcb_xfixes_region_t  destination,
1884                           uint16_t             left,
1885                           uint16_t             right,
1886                           uint16_t             top,
1887                           uint16_t             bottom);
1888 
1889 /**
1890  *
1891  * @param c The connection
1892  * @return A cookie
1893  *
1894  * Delivers a request to the X server.
1895  *
1896  * This form can be used only if the request will not cause
1897  * a reply to be generated. Any returned error will be
1898  * saved for handling by xcb_request_check().
1899  */
1900 xcb_void_cookie_t
1901 xcb_xfixes_hide_cursor_checked (xcb_connection_t *c,
1902                                 xcb_window_t      window);
1903 
1904 /**
1905  *
1906  * @param c The connection
1907  * @return A cookie
1908  *
1909  * Delivers a request to the X server.
1910  *
1911  */
1912 xcb_void_cookie_t
1913 xcb_xfixes_hide_cursor (xcb_connection_t *c,
1914                         xcb_window_t      window);
1915 
1916 /**
1917  *
1918  * @param c The connection
1919  * @return A cookie
1920  *
1921  * Delivers a request to the X server.
1922  *
1923  * This form can be used only if the request will not cause
1924  * a reply to be generated. Any returned error will be
1925  * saved for handling by xcb_request_check().
1926  */
1927 xcb_void_cookie_t
1928 xcb_xfixes_show_cursor_checked (xcb_connection_t *c,
1929                                 xcb_window_t      window);
1930 
1931 /**
1932  *
1933  * @param c The connection
1934  * @return A cookie
1935  *
1936  * Delivers a request to the X server.
1937  *
1938  */
1939 xcb_void_cookie_t
1940 xcb_xfixes_show_cursor (xcb_connection_t *c,
1941                         xcb_window_t      window);
1942 
1943 /**
1944  * Get the next element of the iterator
1945  * @param i Pointer to a xcb_xfixes_barrier_iterator_t
1946  *
1947  * Get the next element in the iterator. The member rem is
1948  * decreased by one. The member data points to the next
1949  * element. The member index is increased by sizeof(xcb_xfixes_barrier_t)
1950  */
1951 void
1952 xcb_xfixes_barrier_next (xcb_xfixes_barrier_iterator_t *i);
1953 
1954 /**
1955  * Return the iterator pointing to the last element
1956  * @param i An xcb_xfixes_barrier_iterator_t
1957  * @return  The iterator pointing to the last element
1958  *
1959  * Set the current element in the iterator to the last element.
1960  * The member rem is set to 0. The member data points to the
1961  * last element.
1962  */
1963 xcb_generic_iterator_t
1964 xcb_xfixes_barrier_end (xcb_xfixes_barrier_iterator_t i);
1965 
1966 int
1967 xcb_xfixes_create_pointer_barrier_sizeof (const void  *_buffer);
1968 
1969 /**
1970  *
1971  * @param c The connection
1972  * @return A cookie
1973  *
1974  * Delivers a request to the X server.
1975  *
1976  * This form can be used only if the request will not cause
1977  * a reply to be generated. Any returned error will be
1978  * saved for handling by xcb_request_check().
1979  */
1980 xcb_void_cookie_t
1981 xcb_xfixes_create_pointer_barrier_checked (xcb_connection_t     *c,
1982                                            xcb_xfixes_barrier_t  barrier,
1983                                            xcb_window_t          window,
1984                                            uint16_t              x1,
1985                                            uint16_t              y1,
1986                                            uint16_t              x2,
1987                                            uint16_t              y2,
1988                                            uint32_t              directions,
1989                                            uint16_t              num_devices,
1990                                            const uint16_t       *devices);
1991 
1992 /**
1993  *
1994  * @param c The connection
1995  * @return A cookie
1996  *
1997  * Delivers a request to the X server.
1998  *
1999  */
2000 xcb_void_cookie_t
2001 xcb_xfixes_create_pointer_barrier (xcb_connection_t     *c,
2002                                    xcb_xfixes_barrier_t  barrier,
2003                                    xcb_window_t          window,
2004                                    uint16_t              x1,
2005                                    uint16_t              y1,
2006                                    uint16_t              x2,
2007                                    uint16_t              y2,
2008                                    uint32_t              directions,
2009                                    uint16_t              num_devices,
2010                                    const uint16_t       *devices);
2011 
2012 uint16_t *
2013 xcb_xfixes_create_pointer_barrier_devices (const xcb_xfixes_create_pointer_barrier_request_t *R);
2014 
2015 int
2016 xcb_xfixes_create_pointer_barrier_devices_length (const xcb_xfixes_create_pointer_barrier_request_t *R);
2017 
2018 xcb_generic_iterator_t
2019 xcb_xfixes_create_pointer_barrier_devices_end (const xcb_xfixes_create_pointer_barrier_request_t *R);
2020 
2021 /**
2022  *
2023  * @param c The connection
2024  * @return A cookie
2025  *
2026  * Delivers a request to the X server.
2027  *
2028  * This form can be used only if the request will not cause
2029  * a reply to be generated. Any returned error will be
2030  * saved for handling by xcb_request_check().
2031  */
2032 xcb_void_cookie_t
2033 xcb_xfixes_delete_pointer_barrier_checked (xcb_connection_t     *c,
2034                                            xcb_xfixes_barrier_t  barrier);
2035 
2036 /**
2037  *
2038  * @param c The connection
2039  * @return A cookie
2040  *
2041  * Delivers a request to the X server.
2042  *
2043  */
2044 xcb_void_cookie_t
2045 xcb_xfixes_delete_pointer_barrier (xcb_connection_t     *c,
2046                                    xcb_xfixes_barrier_t  barrier);
2047 
2048 /**
2049  *
2050  * @param c The connection
2051  * @return A cookie
2052  *
2053  * Delivers a request to the X server.
2054  *
2055  * This form can be used only if the request will not cause
2056  * a reply to be generated. Any returned error will be
2057  * saved for handling by xcb_request_check().
2058  */
2059 xcb_void_cookie_t
2060 xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c,
2061                                                uint32_t          disconnect_mode);
2062 
2063 /**
2064  *
2065  * @param c The connection
2066  * @return A cookie
2067  *
2068  * Delivers a request to the X server.
2069  *
2070  */
2071 xcb_void_cookie_t
2072 xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c,
2073                                        uint32_t          disconnect_mode);
2074 
2075 /**
2076  *
2077  * @param c The connection
2078  * @return A cookie
2079  *
2080  * Delivers a request to the X server.
2081  *
2082  */
2083 xcb_xfixes_get_client_disconnect_mode_cookie_t
2084 xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c);
2085 
2086 /**
2087  *
2088  * @param c The connection
2089  * @return A cookie
2090  *
2091  * Delivers a request to the X server.
2092  *
2093  * This form can be used only if the request will cause
2094  * a reply to be generated. Any returned error will be
2095  * placed in the event queue.
2096  */
2097 xcb_xfixes_get_client_disconnect_mode_cookie_t
2098 xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c);
2099 
2100 /**
2101  * Return the reply
2102  * @param c      The connection
2103  * @param cookie The cookie
2104  * @param e      The xcb_generic_error_t supplied
2105  *
2106  * Returns the reply of the request asked by
2107  *
2108  * The parameter @p e supplied to this function must be NULL if
2109  * xcb_xfixes_get_client_disconnect_mode_unchecked(). is used.
2110  * Otherwise, it stores the error if any.
2111  *
2112  * The returned value must be freed by the caller using free().
2113  */
2114 xcb_xfixes_get_client_disconnect_mode_reply_t *
2115 xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t                                *c,
2116                                              xcb_xfixes_get_client_disconnect_mode_cookie_t   cookie  /**< */,
2117                                              xcb_generic_error_t                            **e);
2118 
2119 
2120 #ifdef __cplusplus
2121 }
2122 #endif
2123 
2124 #endif
2125 
2126 /**
2127  * @}
2128  */
2129