xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xproto.h (revision 49d8c9ecf4abd21261269266ef64939f71b3cd09)
1 /*
2  * This file generated automatically from xproto.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB__API XCB  API
8  * @brief  XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __XPROTO_H
13 #define __XPROTO_H
14 
15 #include "xcb.h"
16 
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20 
21 /**
22  * @brief xcb_char2b_t
23  **/
24 typedef struct xcb_char2b_t {
25     uint8_t byte1; /**<  */
26     uint8_t byte2; /**<  */
27 } xcb_char2b_t;
28 
29 /**
30  * @brief xcb_char2b_iterator_t
31  **/
32 typedef struct xcb_char2b_iterator_t {
33     xcb_char2b_t *data; /**<  */
34     int           rem; /**<  */
35     int           index; /**<  */
36 } xcb_char2b_iterator_t;
37 
38 typedef uint32_t xcb_window_t;
39 
40 /**
41  * @brief xcb_window_iterator_t
42  **/
43 typedef struct xcb_window_iterator_t {
44     xcb_window_t *data; /**<  */
45     int           rem; /**<  */
46     int           index; /**<  */
47 } xcb_window_iterator_t;
48 
49 typedef uint32_t xcb_pixmap_t;
50 
51 /**
52  * @brief xcb_pixmap_iterator_t
53  **/
54 typedef struct xcb_pixmap_iterator_t {
55     xcb_pixmap_t *data; /**<  */
56     int           rem; /**<  */
57     int           index; /**<  */
58 } xcb_pixmap_iterator_t;
59 
60 typedef uint32_t xcb_cursor_t;
61 
62 /**
63  * @brief xcb_cursor_iterator_t
64  **/
65 typedef struct xcb_cursor_iterator_t {
66     xcb_cursor_t *data; /**<  */
67     int           rem; /**<  */
68     int           index; /**<  */
69 } xcb_cursor_iterator_t;
70 
71 typedef uint32_t xcb_font_t;
72 
73 /**
74  * @brief xcb_font_iterator_t
75  **/
76 typedef struct xcb_font_iterator_t {
77     xcb_font_t *data; /**<  */
78     int         rem; /**<  */
79     int         index; /**<  */
80 } xcb_font_iterator_t;
81 
82 typedef uint32_t xcb_gcontext_t;
83 
84 /**
85  * @brief xcb_gcontext_iterator_t
86  **/
87 typedef struct xcb_gcontext_iterator_t {
88     xcb_gcontext_t *data; /**<  */
89     int             rem; /**<  */
90     int             index; /**<  */
91 } xcb_gcontext_iterator_t;
92 
93 typedef uint32_t xcb_colormap_t;
94 
95 /**
96  * @brief xcb_colormap_iterator_t
97  **/
98 typedef struct xcb_colormap_iterator_t {
99     xcb_colormap_t *data; /**<  */
100     int             rem; /**<  */
101     int             index; /**<  */
102 } xcb_colormap_iterator_t;
103 
104 typedef uint32_t xcb_atom_t;
105 
106 /**
107  * @brief xcb_atom_iterator_t
108  **/
109 typedef struct xcb_atom_iterator_t {
110     xcb_atom_t *data; /**<  */
111     int         rem; /**<  */
112     int         index; /**<  */
113 } xcb_atom_iterator_t;
114 
115 typedef uint32_t xcb_drawable_t;
116 
117 /**
118  * @brief xcb_drawable_iterator_t
119  **/
120 typedef struct xcb_drawable_iterator_t {
121     xcb_drawable_t *data; /**<  */
122     int             rem; /**<  */
123     int             index; /**<  */
124 } xcb_drawable_iterator_t;
125 
126 typedef uint32_t xcb_fontable_t;
127 
128 /**
129  * @brief xcb_fontable_iterator_t
130  **/
131 typedef struct xcb_fontable_iterator_t {
132     xcb_fontable_t *data; /**<  */
133     int             rem; /**<  */
134     int             index; /**<  */
135 } xcb_fontable_iterator_t;
136 
137 typedef uint32_t xcb_visualid_t;
138 
139 /**
140  * @brief xcb_visualid_iterator_t
141  **/
142 typedef struct xcb_visualid_iterator_t {
143     xcb_visualid_t *data; /**<  */
144     int             rem; /**<  */
145     int             index; /**<  */
146 } xcb_visualid_iterator_t;
147 
148 typedef uint32_t xcb_timestamp_t;
149 
150 /**
151  * @brief xcb_timestamp_iterator_t
152  **/
153 typedef struct xcb_timestamp_iterator_t {
154     xcb_timestamp_t *data; /**<  */
155     int              rem; /**<  */
156     int              index; /**<  */
157 } xcb_timestamp_iterator_t;
158 
159 typedef uint32_t xcb_keysym_t;
160 
161 /**
162  * @brief xcb_keysym_iterator_t
163  **/
164 typedef struct xcb_keysym_iterator_t {
165     xcb_keysym_t *data; /**<  */
166     int           rem; /**<  */
167     int           index; /**<  */
168 } xcb_keysym_iterator_t;
169 
170 typedef uint8_t xcb_keycode_t;
171 
172 /**
173  * @brief xcb_keycode_iterator_t
174  **/
175 typedef struct xcb_keycode_iterator_t {
176     xcb_keycode_t *data; /**<  */
177     int            rem; /**<  */
178     int            index; /**<  */
179 } xcb_keycode_iterator_t;
180 
181 typedef uint8_t xcb_button_t;
182 
183 /**
184  * @brief xcb_button_iterator_t
185  **/
186 typedef struct xcb_button_iterator_t {
187     xcb_button_t *data; /**<  */
188     int           rem; /**<  */
189     int           index; /**<  */
190 } xcb_button_iterator_t;
191 
192 /**
193  * @brief xcb_point_t
194  **/
195 typedef struct xcb_point_t {
196     int16_t x; /**<  */
197     int16_t y; /**<  */
198 } xcb_point_t;
199 
200 /**
201  * @brief xcb_point_iterator_t
202  **/
203 typedef struct xcb_point_iterator_t {
204     xcb_point_t *data; /**<  */
205     int          rem; /**<  */
206     int          index; /**<  */
207 } xcb_point_iterator_t;
208 
209 /**
210  * @brief xcb_rectangle_t
211  **/
212 typedef struct xcb_rectangle_t {
213     int16_t  x; /**<  */
214     int16_t  y; /**<  */
215     uint16_t width; /**<  */
216     uint16_t height; /**<  */
217 } xcb_rectangle_t;
218 
219 /**
220  * @brief xcb_rectangle_iterator_t
221  **/
222 typedef struct xcb_rectangle_iterator_t {
223     xcb_rectangle_t *data; /**<  */
224     int              rem; /**<  */
225     int              index; /**<  */
226 } xcb_rectangle_iterator_t;
227 
228 /**
229  * @brief xcb_arc_t
230  **/
231 typedef struct xcb_arc_t {
232     int16_t  x; /**<  */
233     int16_t  y; /**<  */
234     uint16_t width; /**<  */
235     uint16_t height; /**<  */
236     int16_t  angle1; /**<  */
237     int16_t  angle2; /**<  */
238 } xcb_arc_t;
239 
240 /**
241  * @brief xcb_arc_iterator_t
242  **/
243 typedef struct xcb_arc_iterator_t {
244     xcb_arc_t *data; /**<  */
245     int        rem; /**<  */
246     int        index; /**<  */
247 } xcb_arc_iterator_t;
248 
249 /**
250  * @brief xcb_format_t
251  **/
252 typedef struct xcb_format_t {
253     uint8_t depth; /**<  */
254     uint8_t bits_per_pixel; /**<  */
255     uint8_t scanline_pad; /**<  */
256     uint8_t pad0[5]; /**<  */
257 } xcb_format_t;
258 
259 /**
260  * @brief xcb_format_iterator_t
261  **/
262 typedef struct xcb_format_iterator_t {
263     xcb_format_t *data; /**<  */
264     int           rem; /**<  */
265     int           index; /**<  */
266 } xcb_format_iterator_t;
267 
268 typedef enum xcb_visual_class_t {
269     XCB_VISUAL_CLASS_STATIC_GRAY = 0,
270     XCB_VISUAL_CLASS_GRAY_SCALE = 1,
271     XCB_VISUAL_CLASS_STATIC_COLOR = 2,
272     XCB_VISUAL_CLASS_PSEUDO_COLOR = 3,
273     XCB_VISUAL_CLASS_TRUE_COLOR = 4,
274     XCB_VISUAL_CLASS_DIRECT_COLOR = 5
275 } xcb_visual_class_t;
276 
277 /**
278  * @brief xcb_visualtype_t
279  **/
280 typedef struct xcb_visualtype_t {
281     xcb_visualid_t visual_id; /**<  */
282     uint8_t        _class; /**<  */
283     uint8_t        bits_per_rgb_value; /**<  */
284     uint16_t       colormap_entries; /**<  */
285     uint32_t       red_mask; /**<  */
286     uint32_t       green_mask; /**<  */
287     uint32_t       blue_mask; /**<  */
288     uint8_t        pad0[4]; /**<  */
289 } xcb_visualtype_t;
290 
291 /**
292  * @brief xcb_visualtype_iterator_t
293  **/
294 typedef struct xcb_visualtype_iterator_t {
295     xcb_visualtype_t *data; /**<  */
296     int               rem; /**<  */
297     int               index; /**<  */
298 } xcb_visualtype_iterator_t;
299 
300 /**
301  * @brief xcb_depth_t
302  **/
303 typedef struct xcb_depth_t {
304     uint8_t  depth; /**<  */
305     uint8_t  pad0; /**<  */
306     uint16_t visuals_len; /**<  */
307     uint8_t  pad1[4]; /**<  */
308 } xcb_depth_t;
309 
310 /**
311  * @brief xcb_depth_iterator_t
312  **/
313 typedef struct xcb_depth_iterator_t {
314     xcb_depth_t *data; /**<  */
315     int          rem; /**<  */
316     int          index; /**<  */
317 } xcb_depth_iterator_t;
318 
319 typedef enum xcb_event_mask_t {
320     XCB_EVENT_MASK_NO_EVENT = 0,
321     XCB_EVENT_MASK_KEY_PRESS = 1,
322     XCB_EVENT_MASK_KEY_RELEASE = 2,
323     XCB_EVENT_MASK_BUTTON_PRESS = 4,
324     XCB_EVENT_MASK_BUTTON_RELEASE = 8,
325     XCB_EVENT_MASK_ENTER_WINDOW = 16,
326     XCB_EVENT_MASK_LEAVE_WINDOW = 32,
327     XCB_EVENT_MASK_POINTER_MOTION = 64,
328     XCB_EVENT_MASK_POINTER_MOTION_HINT = 128,
329     XCB_EVENT_MASK_BUTTON_1_MOTION = 256,
330     XCB_EVENT_MASK_BUTTON_2_MOTION = 512,
331     XCB_EVENT_MASK_BUTTON_3_MOTION = 1024,
332     XCB_EVENT_MASK_BUTTON_4_MOTION = 2048,
333     XCB_EVENT_MASK_BUTTON_5_MOTION = 4096,
334     XCB_EVENT_MASK_BUTTON_MOTION = 8192,
335     XCB_EVENT_MASK_KEYMAP_STATE = 16384,
336     XCB_EVENT_MASK_EXPOSURE = 32768,
337     XCB_EVENT_MASK_VISIBILITY_CHANGE = 65536,
338     XCB_EVENT_MASK_STRUCTURE_NOTIFY = 131072,
339     XCB_EVENT_MASK_RESIZE_REDIRECT = 262144,
340     XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY = 524288,
341     XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT = 1048576,
342     XCB_EVENT_MASK_FOCUS_CHANGE = 2097152,
343     XCB_EVENT_MASK_PROPERTY_CHANGE = 4194304,
344     XCB_EVENT_MASK_COLOR_MAP_CHANGE = 8388608,
345     XCB_EVENT_MASK_OWNER_GRAB_BUTTON = 16777216
346 } xcb_event_mask_t;
347 
348 typedef enum xcb_backing_store_t {
349     XCB_BACKING_STORE_NOT_USEFUL = 0,
350     XCB_BACKING_STORE_WHEN_MAPPED = 1,
351     XCB_BACKING_STORE_ALWAYS = 2
352 } xcb_backing_store_t;
353 
354 /**
355  * @brief xcb_screen_t
356  **/
357 typedef struct xcb_screen_t {
358     xcb_window_t   root; /**<  */
359     xcb_colormap_t default_colormap; /**<  */
360     uint32_t       white_pixel; /**<  */
361     uint32_t       black_pixel; /**<  */
362     uint32_t       current_input_masks; /**<  */
363     uint16_t       width_in_pixels; /**<  */
364     uint16_t       height_in_pixels; /**<  */
365     uint16_t       width_in_millimeters; /**<  */
366     uint16_t       height_in_millimeters; /**<  */
367     uint16_t       min_installed_maps; /**<  */
368     uint16_t       max_installed_maps; /**<  */
369     xcb_visualid_t root_visual; /**<  */
370     uint8_t        backing_stores; /**<  */
371     uint8_t        save_unders; /**<  */
372     uint8_t        root_depth; /**<  */
373     uint8_t        allowed_depths_len; /**<  */
374 } xcb_screen_t;
375 
376 /**
377  * @brief xcb_screen_iterator_t
378  **/
379 typedef struct xcb_screen_iterator_t {
380     xcb_screen_t *data; /**<  */
381     int           rem; /**<  */
382     int           index; /**<  */
383 } xcb_screen_iterator_t;
384 
385 /**
386  * @brief xcb_setup_request_t
387  **/
388 typedef struct xcb_setup_request_t {
389     uint8_t  byte_order; /**<  */
390     uint8_t  pad0; /**<  */
391     uint16_t protocol_major_version; /**<  */
392     uint16_t protocol_minor_version; /**<  */
393     uint16_t authorization_protocol_name_len; /**<  */
394     uint16_t authorization_protocol_data_len; /**<  */
395     uint8_t  pad1[2]; /**<  */
396 } xcb_setup_request_t;
397 
398 /**
399  * @brief xcb_setup_request_iterator_t
400  **/
401 typedef struct xcb_setup_request_iterator_t {
402     xcb_setup_request_t *data; /**<  */
403     int                  rem; /**<  */
404     int                  index; /**<  */
405 } xcb_setup_request_iterator_t;
406 
407 /**
408  * @brief xcb_setup_failed_t
409  **/
410 typedef struct xcb_setup_failed_t {
411     uint8_t  status; /**<  */
412     uint8_t  reason_len; /**<  */
413     uint16_t protocol_major_version; /**<  */
414     uint16_t protocol_minor_version; /**<  */
415     uint16_t length; /**<  */
416 } xcb_setup_failed_t;
417 
418 /**
419  * @brief xcb_setup_failed_iterator_t
420  **/
421 typedef struct xcb_setup_failed_iterator_t {
422     xcb_setup_failed_t *data; /**<  */
423     int                 rem; /**<  */
424     int                 index; /**<  */
425 } xcb_setup_failed_iterator_t;
426 
427 /**
428  * @brief xcb_setup_authenticate_t
429  **/
430 typedef struct xcb_setup_authenticate_t {
431     uint8_t  status; /**<  */
432     uint8_t  pad0[5]; /**<  */
433     uint16_t length; /**<  */
434 } xcb_setup_authenticate_t;
435 
436 /**
437  * @brief xcb_setup_authenticate_iterator_t
438  **/
439 typedef struct xcb_setup_authenticate_iterator_t {
440     xcb_setup_authenticate_t *data; /**<  */
441     int                       rem; /**<  */
442     int                       index; /**<  */
443 } xcb_setup_authenticate_iterator_t;
444 
445 typedef enum xcb_image_order_t {
446     XCB_IMAGE_ORDER_LSB_FIRST = 0,
447     XCB_IMAGE_ORDER_MSB_FIRST = 1
448 } xcb_image_order_t;
449 
450 /**
451  * @brief xcb_setup_t
452  **/
453 typedef struct xcb_setup_t {
454     uint8_t       status; /**<  */
455     uint8_t       pad0; /**<  */
456     uint16_t      protocol_major_version; /**<  */
457     uint16_t      protocol_minor_version; /**<  */
458     uint16_t      length; /**<  */
459     uint32_t      release_number; /**<  */
460     uint32_t      resource_id_base; /**<  */
461     uint32_t      resource_id_mask; /**<  */
462     uint32_t      motion_buffer_size; /**<  */
463     uint16_t      vendor_len; /**<  */
464     uint16_t      maximum_request_length; /**<  */
465     uint8_t       roots_len; /**<  */
466     uint8_t       pixmap_formats_len; /**<  */
467     uint8_t       image_byte_order; /**<  */
468     uint8_t       bitmap_format_bit_order; /**<  */
469     uint8_t       bitmap_format_scanline_unit; /**<  */
470     uint8_t       bitmap_format_scanline_pad; /**<  */
471     xcb_keycode_t min_keycode; /**<  */
472     xcb_keycode_t max_keycode; /**<  */
473     uint8_t       pad1[4]; /**<  */
474 } xcb_setup_t;
475 
476 /**
477  * @brief xcb_setup_iterator_t
478  **/
479 typedef struct xcb_setup_iterator_t {
480     xcb_setup_t *data; /**<  */
481     int          rem; /**<  */
482     int          index; /**<  */
483 } xcb_setup_iterator_t;
484 
485 typedef enum xcb_mod_mask_t {
486     XCB_MOD_MASK_SHIFT = 1,
487     XCB_MOD_MASK_LOCK = 2,
488     XCB_MOD_MASK_CONTROL = 4,
489     XCB_MOD_MASK_1 = 8,
490     XCB_MOD_MASK_2 = 16,
491     XCB_MOD_MASK_3 = 32,
492     XCB_MOD_MASK_4 = 64,
493     XCB_MOD_MASK_5 = 128,
494     XCB_MOD_MASK_ANY = 32768
495 } xcb_mod_mask_t;
496 
497 typedef enum xcb_key_but_mask_t {
498     XCB_KEY_BUT_MASK_SHIFT = 1,
499     XCB_KEY_BUT_MASK_LOCK = 2,
500     XCB_KEY_BUT_MASK_CONTROL = 4,
501     XCB_KEY_BUT_MASK_MOD_1 = 8,
502     XCB_KEY_BUT_MASK_MOD_2 = 16,
503     XCB_KEY_BUT_MASK_MOD_3 = 32,
504     XCB_KEY_BUT_MASK_MOD_4 = 64,
505     XCB_KEY_BUT_MASK_MOD_5 = 128,
506     XCB_KEY_BUT_MASK_BUTTON_1 = 256,
507     XCB_KEY_BUT_MASK_BUTTON_2 = 512,
508     XCB_KEY_BUT_MASK_BUTTON_3 = 1024,
509     XCB_KEY_BUT_MASK_BUTTON_4 = 2048,
510     XCB_KEY_BUT_MASK_BUTTON_5 = 4096
511 } xcb_key_but_mask_t;
512 
513 typedef enum xcb_window_enum_t {
514     XCB_WINDOW_NONE = 0
515 } xcb_window_enum_t;
516 
517 /** Opcode for xcb_key_press. */
518 #define XCB_KEY_PRESS 2
519 
520 /**
521  * @brief xcb_key_press_event_t
522  **/
523 typedef struct xcb_key_press_event_t {
524     uint8_t         response_type; /**<  */
525     xcb_keycode_t   detail; /**<  */
526     uint16_t        sequence; /**<  */
527     xcb_timestamp_t time; /**<  */
528     xcb_window_t    root; /**<  */
529     xcb_window_t    event; /**<  */
530     xcb_window_t    child; /**<  */
531     int16_t         root_x; /**<  */
532     int16_t         root_y; /**<  */
533     int16_t         event_x; /**<  */
534     int16_t         event_y; /**<  */
535     uint16_t        state; /**<  */
536     uint8_t         same_screen; /**<  */
537     uint8_t         pad0; /**<  */
538 } xcb_key_press_event_t;
539 
540 /** Opcode for xcb_key_release. */
541 #define XCB_KEY_RELEASE 3
542 
543 typedef xcb_key_press_event_t xcb_key_release_event_t;
544 
545 typedef enum xcb_button_mask_t {
546     XCB_BUTTON_MASK_1 = 256,
547     XCB_BUTTON_MASK_2 = 512,
548     XCB_BUTTON_MASK_3 = 1024,
549     XCB_BUTTON_MASK_4 = 2048,
550     XCB_BUTTON_MASK_5 = 4096,
551     XCB_BUTTON_MASK_ANY = 32768
552 } xcb_button_mask_t;
553 
554 /** Opcode for xcb_button_press. */
555 #define XCB_BUTTON_PRESS 4
556 
557 /**
558  * @brief xcb_button_press_event_t
559  **/
560 typedef struct xcb_button_press_event_t {
561     uint8_t         response_type; /**<  */
562     xcb_button_t    detail; /**<  */
563     uint16_t        sequence; /**<  */
564     xcb_timestamp_t time; /**<  */
565     xcb_window_t    root; /**<  */
566     xcb_window_t    event; /**<  */
567     xcb_window_t    child; /**<  */
568     int16_t         root_x; /**<  */
569     int16_t         root_y; /**<  */
570     int16_t         event_x; /**<  */
571     int16_t         event_y; /**<  */
572     uint16_t        state; /**<  */
573     uint8_t         same_screen; /**<  */
574     uint8_t         pad0; /**<  */
575 } xcb_button_press_event_t;
576 
577 /** Opcode for xcb_button_release. */
578 #define XCB_BUTTON_RELEASE 5
579 
580 typedef xcb_button_press_event_t xcb_button_release_event_t;
581 
582 typedef enum xcb_motion_t {
583     XCB_MOTION_NORMAL = 0,
584     XCB_MOTION_HINT = 1
585 } xcb_motion_t;
586 
587 /** Opcode for xcb_motion_notify. */
588 #define XCB_MOTION_NOTIFY 6
589 
590 /**
591  * @brief xcb_motion_notify_event_t
592  **/
593 typedef struct xcb_motion_notify_event_t {
594     uint8_t         response_type; /**<  */
595     uint8_t         detail; /**<  */
596     uint16_t        sequence; /**<  */
597     xcb_timestamp_t time; /**<  */
598     xcb_window_t    root; /**<  */
599     xcb_window_t    event; /**<  */
600     xcb_window_t    child; /**<  */
601     int16_t         root_x; /**<  */
602     int16_t         root_y; /**<  */
603     int16_t         event_x; /**<  */
604     int16_t         event_y; /**<  */
605     uint16_t        state; /**<  */
606     uint8_t         same_screen; /**<  */
607     uint8_t         pad0; /**<  */
608 } xcb_motion_notify_event_t;
609 
610 typedef enum xcb_notify_detail_t {
611     XCB_NOTIFY_DETAIL_ANCESTOR = 0,
612     XCB_NOTIFY_DETAIL_VIRTUAL = 1,
613     XCB_NOTIFY_DETAIL_INFERIOR = 2,
614     XCB_NOTIFY_DETAIL_NONLINEAR = 3,
615     XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
616     XCB_NOTIFY_DETAIL_POINTER = 5,
617     XCB_NOTIFY_DETAIL_POINTER_ROOT = 6,
618     XCB_NOTIFY_DETAIL_NONE = 7
619 } xcb_notify_detail_t;
620 
621 typedef enum xcb_notify_mode_t {
622     XCB_NOTIFY_MODE_NORMAL = 0,
623     XCB_NOTIFY_MODE_GRAB = 1,
624     XCB_NOTIFY_MODE_UNGRAB = 2,
625     XCB_NOTIFY_MODE_WHILE_GRABBED = 3
626 } xcb_notify_mode_t;
627 
628 /** Opcode for xcb_enter_notify. */
629 #define XCB_ENTER_NOTIFY 7
630 
631 /**
632  * @brief xcb_enter_notify_event_t
633  **/
634 typedef struct xcb_enter_notify_event_t {
635     uint8_t         response_type; /**<  */
636     uint8_t         detail; /**<  */
637     uint16_t        sequence; /**<  */
638     xcb_timestamp_t time; /**<  */
639     xcb_window_t    root; /**<  */
640     xcb_window_t    event; /**<  */
641     xcb_window_t    child; /**<  */
642     int16_t         root_x; /**<  */
643     int16_t         root_y; /**<  */
644     int16_t         event_x; /**<  */
645     int16_t         event_y; /**<  */
646     uint16_t        state; /**<  */
647     uint8_t         mode; /**<  */
648     uint8_t         same_screen_focus; /**<  */
649 } xcb_enter_notify_event_t;
650 
651 /** Opcode for xcb_leave_notify. */
652 #define XCB_LEAVE_NOTIFY 8
653 
654 typedef xcb_enter_notify_event_t xcb_leave_notify_event_t;
655 
656 /** Opcode for xcb_focus_in. */
657 #define XCB_FOCUS_IN 9
658 
659 /**
660  * @brief xcb_focus_in_event_t
661  **/
662 typedef struct xcb_focus_in_event_t {
663     uint8_t      response_type; /**<  */
664     uint8_t      detail; /**<  */
665     uint16_t     sequence; /**<  */
666     xcb_window_t event; /**<  */
667     uint8_t      mode; /**<  */
668     uint8_t      pad0[3]; /**<  */
669 } xcb_focus_in_event_t;
670 
671 /** Opcode for xcb_focus_out. */
672 #define XCB_FOCUS_OUT 10
673 
674 typedef xcb_focus_in_event_t xcb_focus_out_event_t;
675 
676 /** Opcode for xcb_keymap_notify. */
677 #define XCB_KEYMAP_NOTIFY 11
678 
679 /**
680  * @brief xcb_keymap_notify_event_t
681  **/
682 typedef struct xcb_keymap_notify_event_t {
683     uint8_t response_type; /**<  */
684     uint8_t keys[31]; /**<  */
685 } xcb_keymap_notify_event_t;
686 
687 /** Opcode for xcb_expose. */
688 #define XCB_EXPOSE 12
689 
690 /**
691  * @brief xcb_expose_event_t
692  **/
693 typedef struct xcb_expose_event_t {
694     uint8_t      response_type; /**<  */
695     uint8_t      pad0; /**<  */
696     uint16_t     sequence; /**<  */
697     xcb_window_t window; /**<  */
698     uint16_t     x; /**<  */
699     uint16_t     y; /**<  */
700     uint16_t     width; /**<  */
701     uint16_t     height; /**<  */
702     uint16_t     count; /**<  */
703     uint8_t      pad1[2]; /**<  */
704 } xcb_expose_event_t;
705 
706 /** Opcode for xcb_graphics_exposure. */
707 #define XCB_GRAPHICS_EXPOSURE 13
708 
709 /**
710  * @brief xcb_graphics_exposure_event_t
711  **/
712 typedef struct xcb_graphics_exposure_event_t {
713     uint8_t        response_type; /**<  */
714     uint8_t        pad0; /**<  */
715     uint16_t       sequence; /**<  */
716     xcb_drawable_t drawable; /**<  */
717     uint16_t       x; /**<  */
718     uint16_t       y; /**<  */
719     uint16_t       width; /**<  */
720     uint16_t       height; /**<  */
721     uint16_t       minor_opcode; /**<  */
722     uint16_t       count; /**<  */
723     uint8_t        major_opcode; /**<  */
724     uint8_t        pad1[3]; /**<  */
725 } xcb_graphics_exposure_event_t;
726 
727 /** Opcode for xcb_no_exposure. */
728 #define XCB_NO_EXPOSURE 14
729 
730 /**
731  * @brief xcb_no_exposure_event_t
732  **/
733 typedef struct xcb_no_exposure_event_t {
734     uint8_t        response_type; /**<  */
735     uint8_t        pad0; /**<  */
736     uint16_t       sequence; /**<  */
737     xcb_drawable_t drawable; /**<  */
738     uint16_t       minor_opcode; /**<  */
739     uint8_t        major_opcode; /**<  */
740     uint8_t        pad1; /**<  */
741 } xcb_no_exposure_event_t;
742 
743 typedef enum xcb_visibility_t {
744     XCB_VISIBILITY_UNOBSCURED = 0,
745     XCB_VISIBILITY_PARTIALLY_OBSCURED = 1,
746     XCB_VISIBILITY_FULLY_OBSCURED = 2
747 } xcb_visibility_t;
748 
749 /** Opcode for xcb_visibility_notify. */
750 #define XCB_VISIBILITY_NOTIFY 15
751 
752 /**
753  * @brief xcb_visibility_notify_event_t
754  **/
755 typedef struct xcb_visibility_notify_event_t {
756     uint8_t      response_type; /**<  */
757     uint8_t      pad0; /**<  */
758     uint16_t     sequence; /**<  */
759     xcb_window_t window; /**<  */
760     uint8_t      state; /**<  */
761     uint8_t      pad1[3]; /**<  */
762 } xcb_visibility_notify_event_t;
763 
764 /** Opcode for xcb_create_notify. */
765 #define XCB_CREATE_NOTIFY 16
766 
767 /**
768  * @brief xcb_create_notify_event_t
769  **/
770 typedef struct xcb_create_notify_event_t {
771     uint8_t      response_type; /**<  */
772     uint8_t      pad0; /**<  */
773     uint16_t     sequence; /**<  */
774     xcb_window_t parent; /**<  */
775     xcb_window_t window; /**<  */
776     int16_t      x; /**<  */
777     int16_t      y; /**<  */
778     uint16_t     width; /**<  */
779     uint16_t     height; /**<  */
780     uint16_t     border_width; /**<  */
781     uint8_t      override_redirect; /**<  */
782     uint8_t      pad1; /**<  */
783 } xcb_create_notify_event_t;
784 
785 /** Opcode for xcb_destroy_notify. */
786 #define XCB_DESTROY_NOTIFY 17
787 
788 /**
789  * @brief xcb_destroy_notify_event_t
790  **/
791 typedef struct xcb_destroy_notify_event_t {
792     uint8_t      response_type; /**<  */
793     uint8_t      pad0; /**<  */
794     uint16_t     sequence; /**<  */
795     xcb_window_t event; /**<  */
796     xcb_window_t window; /**<  */
797 } xcb_destroy_notify_event_t;
798 
799 /** Opcode for xcb_unmap_notify. */
800 #define XCB_UNMAP_NOTIFY 18
801 
802 /**
803  * @brief xcb_unmap_notify_event_t
804  **/
805 typedef struct xcb_unmap_notify_event_t {
806     uint8_t      response_type; /**<  */
807     uint8_t      pad0; /**<  */
808     uint16_t     sequence; /**<  */
809     xcb_window_t event; /**<  */
810     xcb_window_t window; /**<  */
811     uint8_t      from_configure; /**<  */
812     uint8_t      pad1[3]; /**<  */
813 } xcb_unmap_notify_event_t;
814 
815 /** Opcode for xcb_map_notify. */
816 #define XCB_MAP_NOTIFY 19
817 
818 /**
819  * @brief xcb_map_notify_event_t
820  **/
821 typedef struct xcb_map_notify_event_t {
822     uint8_t      response_type; /**<  */
823     uint8_t      pad0; /**<  */
824     uint16_t     sequence; /**<  */
825     xcb_window_t event; /**<  */
826     xcb_window_t window; /**<  */
827     uint8_t      override_redirect; /**<  */
828     uint8_t      pad1[3]; /**<  */
829 } xcb_map_notify_event_t;
830 
831 /** Opcode for xcb_map_request. */
832 #define XCB_MAP_REQUEST 20
833 
834 /**
835  * @brief xcb_map_request_event_t
836  **/
837 typedef struct xcb_map_request_event_t {
838     uint8_t      response_type; /**<  */
839     uint8_t      pad0; /**<  */
840     uint16_t     sequence; /**<  */
841     xcb_window_t parent; /**<  */
842     xcb_window_t window; /**<  */
843 } xcb_map_request_event_t;
844 
845 /** Opcode for xcb_reparent_notify. */
846 #define XCB_REPARENT_NOTIFY 21
847 
848 /**
849  * @brief xcb_reparent_notify_event_t
850  **/
851 typedef struct xcb_reparent_notify_event_t {
852     uint8_t      response_type; /**<  */
853     uint8_t      pad0; /**<  */
854     uint16_t     sequence; /**<  */
855     xcb_window_t event; /**<  */
856     xcb_window_t window; /**<  */
857     xcb_window_t parent; /**<  */
858     int16_t      x; /**<  */
859     int16_t      y; /**<  */
860     uint8_t      override_redirect; /**<  */
861     uint8_t      pad1[3]; /**<  */
862 } xcb_reparent_notify_event_t;
863 
864 /** Opcode for xcb_configure_notify. */
865 #define XCB_CONFIGURE_NOTIFY 22
866 
867 /**
868  * @brief xcb_configure_notify_event_t
869  **/
870 typedef struct xcb_configure_notify_event_t {
871     uint8_t      response_type; /**<  */
872     uint8_t      pad0; /**<  */
873     uint16_t     sequence; /**<  */
874     xcb_window_t event; /**<  */
875     xcb_window_t window; /**<  */
876     xcb_window_t above_sibling; /**<  */
877     int16_t      x; /**<  */
878     int16_t      y; /**<  */
879     uint16_t     width; /**<  */
880     uint16_t     height; /**<  */
881     uint16_t     border_width; /**<  */
882     uint8_t      override_redirect; /**<  */
883     uint8_t      pad1; /**<  */
884 } xcb_configure_notify_event_t;
885 
886 /** Opcode for xcb_configure_request. */
887 #define XCB_CONFIGURE_REQUEST 23
888 
889 /**
890  * @brief xcb_configure_request_event_t
891  **/
892 typedef struct xcb_configure_request_event_t {
893     uint8_t      response_type; /**<  */
894     uint8_t      stack_mode; /**<  */
895     uint16_t     sequence; /**<  */
896     xcb_window_t parent; /**<  */
897     xcb_window_t window; /**<  */
898     xcb_window_t sibling; /**<  */
899     int16_t      x; /**<  */
900     int16_t      y; /**<  */
901     uint16_t     width; /**<  */
902     uint16_t     height; /**<  */
903     uint16_t     border_width; /**<  */
904     uint16_t     value_mask; /**<  */
905 } xcb_configure_request_event_t;
906 
907 /** Opcode for xcb_gravity_notify. */
908 #define XCB_GRAVITY_NOTIFY 24
909 
910 /**
911  * @brief xcb_gravity_notify_event_t
912  **/
913 typedef struct xcb_gravity_notify_event_t {
914     uint8_t      response_type; /**<  */
915     uint8_t      pad0; /**<  */
916     uint16_t     sequence; /**<  */
917     xcb_window_t event; /**<  */
918     xcb_window_t window; /**<  */
919     int16_t      x; /**<  */
920     int16_t      y; /**<  */
921 } xcb_gravity_notify_event_t;
922 
923 /** Opcode for xcb_resize_request. */
924 #define XCB_RESIZE_REQUEST 25
925 
926 /**
927  * @brief xcb_resize_request_event_t
928  **/
929 typedef struct xcb_resize_request_event_t {
930     uint8_t      response_type; /**<  */
931     uint8_t      pad0; /**<  */
932     uint16_t     sequence; /**<  */
933     xcb_window_t window; /**<  */
934     uint16_t     width; /**<  */
935     uint16_t     height; /**<  */
936 } xcb_resize_request_event_t;
937 
938 typedef enum xcb_place_t {
939     XCB_PLACE_ON_TOP = 0,
940 /**< The window is now on top of all siblings. */
941 
942     XCB_PLACE_ON_BOTTOM = 1
943 /**< The window is now below all siblings. */
944 
945 } xcb_place_t;
946 
947 /** Opcode for xcb_circulate_notify. */
948 #define XCB_CIRCULATE_NOTIFY 26
949 
950 /**
951  * @brief xcb_circulate_notify_event_t
952  **/
953 typedef struct xcb_circulate_notify_event_t {
954     uint8_t      response_type; /**<  */
955     uint8_t      pad0; /**<  */
956     uint16_t     sequence; /**<  */
957     xcb_window_t event; /**<  */
958     xcb_window_t window; /**<  */
959     uint8_t      pad1[4]; /**<  */
960     uint8_t      place; /**<  */
961     uint8_t      pad2[3]; /**<  */
962 } xcb_circulate_notify_event_t;
963 
964 /** Opcode for xcb_circulate_request. */
965 #define XCB_CIRCULATE_REQUEST 27
966 
967 typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t;
968 
969 typedef enum xcb_property_t {
970     XCB_PROPERTY_NEW_VALUE = 0,
971     XCB_PROPERTY_DELETE = 1
972 } xcb_property_t;
973 
974 /** Opcode for xcb_property_notify. */
975 #define XCB_PROPERTY_NOTIFY 28
976 
977 /**
978  * @brief xcb_property_notify_event_t
979  **/
980 typedef struct xcb_property_notify_event_t {
981     uint8_t         response_type; /**<  */
982     uint8_t         pad0; /**<  */
983     uint16_t        sequence; /**<  */
984     xcb_window_t    window; /**<  */
985     xcb_atom_t      atom; /**<  */
986     xcb_timestamp_t time; /**<  */
987     uint8_t         state; /**<  */
988     uint8_t         pad1[3]; /**<  */
989 } xcb_property_notify_event_t;
990 
991 /** Opcode for xcb_selection_clear. */
992 #define XCB_SELECTION_CLEAR 29
993 
994 /**
995  * @brief xcb_selection_clear_event_t
996  **/
997 typedef struct xcb_selection_clear_event_t {
998     uint8_t         response_type; /**<  */
999     uint8_t         pad0; /**<  */
1000     uint16_t        sequence; /**<  */
1001     xcb_timestamp_t time; /**<  */
1002     xcb_window_t    owner; /**<  */
1003     xcb_atom_t      selection; /**<  */
1004 } xcb_selection_clear_event_t;
1005 
1006 typedef enum xcb_time_t {
1007     XCB_TIME_CURRENT_TIME = 0
1008 } xcb_time_t;
1009 
1010 typedef enum xcb_atom_enum_t {
1011     XCB_ATOM_NONE = 0,
1012     XCB_ATOM_ANY = 0,
1013     XCB_ATOM_PRIMARY,
1014     XCB_ATOM_SECONDARY,
1015     XCB_ATOM_ARC,
1016     XCB_ATOM_ATOM,
1017     XCB_ATOM_BITMAP,
1018     XCB_ATOM_CARDINAL,
1019     XCB_ATOM_COLORMAP,
1020     XCB_ATOM_CURSOR,
1021     XCB_ATOM_CUT_BUFFER0,
1022     XCB_ATOM_CUT_BUFFER1,
1023     XCB_ATOM_CUT_BUFFER2,
1024     XCB_ATOM_CUT_BUFFER3,
1025     XCB_ATOM_CUT_BUFFER4,
1026     XCB_ATOM_CUT_BUFFER5,
1027     XCB_ATOM_CUT_BUFFER6,
1028     XCB_ATOM_CUT_BUFFER7,
1029     XCB_ATOM_DRAWABLE,
1030     XCB_ATOM_FONT,
1031     XCB_ATOM_INTEGER,
1032     XCB_ATOM_PIXMAP,
1033     XCB_ATOM_POINT,
1034     XCB_ATOM_RECTANGLE,
1035     XCB_ATOM_RESOURCE_MANAGER,
1036     XCB_ATOM_RGB_COLOR_MAP,
1037     XCB_ATOM_RGB_BEST_MAP,
1038     XCB_ATOM_RGB_BLUE_MAP,
1039     XCB_ATOM_RGB_DEFAULT_MAP,
1040     XCB_ATOM_RGB_GRAY_MAP,
1041     XCB_ATOM_RGB_GREEN_MAP,
1042     XCB_ATOM_RGB_RED_MAP,
1043     XCB_ATOM_STRING,
1044     XCB_ATOM_VISUALID,
1045     XCB_ATOM_WINDOW,
1046     XCB_ATOM_WM_COMMAND,
1047     XCB_ATOM_WM_HINTS,
1048     XCB_ATOM_WM_CLIENT_MACHINE,
1049     XCB_ATOM_WM_ICON_NAME,
1050     XCB_ATOM_WM_ICON_SIZE,
1051     XCB_ATOM_WM_NAME,
1052     XCB_ATOM_WM_NORMAL_HINTS,
1053     XCB_ATOM_WM_SIZE_HINTS,
1054     XCB_ATOM_WM_ZOOM_HINTS,
1055     XCB_ATOM_MIN_SPACE,
1056     XCB_ATOM_NORM_SPACE,
1057     XCB_ATOM_MAX_SPACE,
1058     XCB_ATOM_END_SPACE,
1059     XCB_ATOM_SUPERSCRIPT_X,
1060     XCB_ATOM_SUPERSCRIPT_Y,
1061     XCB_ATOM_SUBSCRIPT_X,
1062     XCB_ATOM_SUBSCRIPT_Y,
1063     XCB_ATOM_UNDERLINE_POSITION,
1064     XCB_ATOM_UNDERLINE_THICKNESS,
1065     XCB_ATOM_STRIKEOUT_ASCENT,
1066     XCB_ATOM_STRIKEOUT_DESCENT,
1067     XCB_ATOM_ITALIC_ANGLE,
1068     XCB_ATOM_X_HEIGHT,
1069     XCB_ATOM_QUAD_WIDTH,
1070     XCB_ATOM_WEIGHT,
1071     XCB_ATOM_POINT_SIZE,
1072     XCB_ATOM_RESOLUTION,
1073     XCB_ATOM_COPYRIGHT,
1074     XCB_ATOM_NOTICE,
1075     XCB_ATOM_FONT_NAME,
1076     XCB_ATOM_FAMILY_NAME,
1077     XCB_ATOM_FULL_NAME,
1078     XCB_ATOM_CAP_HEIGHT,
1079     XCB_ATOM_WM_CLASS,
1080     XCB_ATOM_WM_TRANSIENT_FOR
1081 } xcb_atom_enum_t;
1082 
1083 /** Opcode for xcb_selection_request. */
1084 #define XCB_SELECTION_REQUEST 30
1085 
1086 /**
1087  * @brief xcb_selection_request_event_t
1088  **/
1089 typedef struct xcb_selection_request_event_t {
1090     uint8_t         response_type; /**<  */
1091     uint8_t         pad0; /**<  */
1092     uint16_t        sequence; /**<  */
1093     xcb_timestamp_t time; /**<  */
1094     xcb_window_t    owner; /**<  */
1095     xcb_window_t    requestor; /**<  */
1096     xcb_atom_t      selection; /**<  */
1097     xcb_atom_t      target; /**<  */
1098     xcb_atom_t      property; /**<  */
1099 } xcb_selection_request_event_t;
1100 
1101 /** Opcode for xcb_selection_notify. */
1102 #define XCB_SELECTION_NOTIFY 31
1103 
1104 /**
1105  * @brief xcb_selection_notify_event_t
1106  **/
1107 typedef struct xcb_selection_notify_event_t {
1108     uint8_t         response_type; /**<  */
1109     uint8_t         pad0; /**<  */
1110     uint16_t        sequence; /**<  */
1111     xcb_timestamp_t time; /**<  */
1112     xcb_window_t    requestor; /**<  */
1113     xcb_atom_t      selection; /**<  */
1114     xcb_atom_t      target; /**<  */
1115     xcb_atom_t      property; /**<  */
1116 } xcb_selection_notify_event_t;
1117 
1118 typedef enum xcb_colormap_state_t {
1119     XCB_COLORMAP_STATE_UNINSTALLED = 0,
1120 /**< The colormap was uninstalled. */
1121 
1122     XCB_COLORMAP_STATE_INSTALLED = 1
1123 /**< The colormap was installed. */
1124 
1125 } xcb_colormap_state_t;
1126 
1127 typedef enum xcb_colormap_enum_t {
1128     XCB_COLORMAP_NONE = 0
1129 } xcb_colormap_enum_t;
1130 
1131 /** Opcode for xcb_colormap_notify. */
1132 #define XCB_COLORMAP_NOTIFY 32
1133 
1134 /**
1135  * @brief xcb_colormap_notify_event_t
1136  **/
1137 typedef struct xcb_colormap_notify_event_t {
1138     uint8_t        response_type; /**<  */
1139     uint8_t        pad0; /**<  */
1140     uint16_t       sequence; /**<  */
1141     xcb_window_t   window; /**<  */
1142     xcb_colormap_t colormap; /**<  */
1143     uint8_t        _new; /**<  */
1144     uint8_t        state; /**<  */
1145     uint8_t        pad1[2]; /**<  */
1146 } xcb_colormap_notify_event_t;
1147 
1148 /**
1149  * @brief xcb_client_message_data_t
1150  **/
1151 typedef union xcb_client_message_data_t {
1152     uint8_t  data8[20]; /**<  */
1153     uint16_t data16[10]; /**<  */
1154     uint32_t data32[5]; /**<  */
1155 } xcb_client_message_data_t;
1156 
1157 /**
1158  * @brief xcb_client_message_data_iterator_t
1159  **/
1160 typedef struct xcb_client_message_data_iterator_t {
1161     xcb_client_message_data_t *data; /**<  */
1162     int                        rem; /**<  */
1163     int                        index; /**<  */
1164 } xcb_client_message_data_iterator_t;
1165 
1166 /** Opcode for xcb_client_message. */
1167 #define XCB_CLIENT_MESSAGE 33
1168 
1169 /**
1170  * @brief xcb_client_message_event_t
1171  **/
1172 typedef struct xcb_client_message_event_t {
1173     uint8_t                   response_type; /**<  */
1174     uint8_t                   format; /**<  */
1175     uint16_t                  sequence; /**<  */
1176     xcb_window_t              window; /**<  */
1177     xcb_atom_t                type; /**<  */
1178     xcb_client_message_data_t data; /**<  */
1179 } xcb_client_message_event_t;
1180 
1181 typedef enum xcb_mapping_t {
1182     XCB_MAPPING_MODIFIER = 0,
1183     XCB_MAPPING_KEYBOARD = 1,
1184     XCB_MAPPING_POINTER = 2
1185 } xcb_mapping_t;
1186 
1187 /** Opcode for xcb_mapping_notify. */
1188 #define XCB_MAPPING_NOTIFY 34
1189 
1190 /**
1191  * @brief xcb_mapping_notify_event_t
1192  **/
1193 typedef struct xcb_mapping_notify_event_t {
1194     uint8_t       response_type; /**<  */
1195     uint8_t       pad0; /**<  */
1196     uint16_t      sequence; /**<  */
1197     uint8_t       request; /**<  */
1198     xcb_keycode_t first_keycode; /**<  */
1199     uint8_t       count; /**<  */
1200     uint8_t       pad1; /**<  */
1201 } xcb_mapping_notify_event_t;
1202 
1203 /** Opcode for xcb_request. */
1204 #define XCB_REQUEST 1
1205 
1206 /**
1207  * @brief xcb_request_error_t
1208  **/
1209 typedef struct xcb_request_error_t {
1210     uint8_t  response_type; /**<  */
1211     uint8_t  error_code; /**<  */
1212     uint16_t sequence; /**<  */
1213     uint32_t bad_value; /**<  */
1214     uint16_t minor_opcode; /**<  */
1215     uint8_t  major_opcode; /**<  */
1216     uint8_t  pad0; /**<  */
1217 } xcb_request_error_t;
1218 
1219 /** Opcode for xcb_value. */
1220 #define XCB_VALUE 2
1221 
1222 /**
1223  * @brief xcb_value_error_t
1224  **/
1225 typedef struct xcb_value_error_t {
1226     uint8_t  response_type; /**<  */
1227     uint8_t  error_code; /**<  */
1228     uint16_t sequence; /**<  */
1229     uint32_t bad_value; /**<  */
1230     uint16_t minor_opcode; /**<  */
1231     uint8_t  major_opcode; /**<  */
1232     uint8_t  pad0; /**<  */
1233 } xcb_value_error_t;
1234 
1235 /** Opcode for xcb_window. */
1236 #define XCB_WINDOW 3
1237 
1238 typedef xcb_value_error_t xcb_window_error_t;
1239 
1240 /** Opcode for xcb_pixmap. */
1241 #define XCB_PIXMAP 4
1242 
1243 typedef xcb_value_error_t xcb_pixmap_error_t;
1244 
1245 /** Opcode for xcb_atom. */
1246 #define XCB_ATOM 5
1247 
1248 typedef xcb_value_error_t xcb_atom_error_t;
1249 
1250 /** Opcode for xcb_cursor. */
1251 #define XCB_CURSOR 6
1252 
1253 typedef xcb_value_error_t xcb_cursor_error_t;
1254 
1255 /** Opcode for xcb_font. */
1256 #define XCB_FONT 7
1257 
1258 typedef xcb_value_error_t xcb_font_error_t;
1259 
1260 /** Opcode for xcb_match. */
1261 #define XCB_MATCH 8
1262 
1263 typedef xcb_request_error_t xcb_match_error_t;
1264 
1265 /** Opcode for xcb_drawable. */
1266 #define XCB_DRAWABLE 9
1267 
1268 typedef xcb_value_error_t xcb_drawable_error_t;
1269 
1270 /** Opcode for xcb_access. */
1271 #define XCB_ACCESS 10
1272 
1273 typedef xcb_request_error_t xcb_access_error_t;
1274 
1275 /** Opcode for xcb_alloc. */
1276 #define XCB_ALLOC 11
1277 
1278 typedef xcb_request_error_t xcb_alloc_error_t;
1279 
1280 /** Opcode for xcb_colormap. */
1281 #define XCB_COLORMAP 12
1282 
1283 typedef xcb_value_error_t xcb_colormap_error_t;
1284 
1285 /** Opcode for xcb_g_context. */
1286 #define XCB_G_CONTEXT 13
1287 
1288 typedef xcb_value_error_t xcb_g_context_error_t;
1289 
1290 /** Opcode for xcb_id_choice. */
1291 #define XCB_ID_CHOICE 14
1292 
1293 typedef xcb_value_error_t xcb_id_choice_error_t;
1294 
1295 /** Opcode for xcb_name. */
1296 #define XCB_NAME 15
1297 
1298 typedef xcb_request_error_t xcb_name_error_t;
1299 
1300 /** Opcode for xcb_length. */
1301 #define XCB_LENGTH 16
1302 
1303 typedef xcb_request_error_t xcb_length_error_t;
1304 
1305 /** Opcode for xcb_implementation. */
1306 #define XCB_IMPLEMENTATION 17
1307 
1308 typedef xcb_request_error_t xcb_implementation_error_t;
1309 
1310 typedef enum xcb_window_class_t {
1311     XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0,
1312     XCB_WINDOW_CLASS_INPUT_OUTPUT = 1,
1313     XCB_WINDOW_CLASS_INPUT_ONLY = 2
1314 } xcb_window_class_t;
1315 
1316 typedef enum xcb_cw_t {
1317     XCB_CW_BACK_PIXMAP = 1,
1318 /**< Overrides the default background-pixmap. The background pixmap and window must
1319 have the same root and same depth. Any size pixmap can be used, although some
1320 sizes may be faster than others.
1321 
1322 If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background.
1323 The server may fill the contents with the previous screen contents or with
1324 contents of its own choosing.
1325 
1326 If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is
1327 used, but the window must have the same depth as the parent (or a Match error
1328 results).   The parent's background is tracked, and the current version is
1329 used each time the window background is required. */
1330 
1331     XCB_CW_BACK_PIXEL = 2,
1332 /**< Overrides `BackPixmap`. A pixmap of undefined size filled with the specified
1333 background pixel is used for the background. Range-checking is not performed,
1334 the background pixel is truncated to the appropriate number of bits. */
1335 
1336     XCB_CW_BORDER_PIXMAP = 4,
1337 /**< Overrides the default border-pixmap. The border pixmap and window must have the
1338 same root and the same depth. Any size pixmap can be used, although some sizes
1339 may be faster than others.
1340 
1341 The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is
1342 copied (subsequent changes to the parent's border attribute do not affect the
1343 child), but the window must have the same depth as the parent. */
1344 
1345     XCB_CW_BORDER_PIXEL = 8,
1346 /**< Overrides `BorderPixmap`. A pixmap of undefined size filled with the specified
1347 border pixel is used for the border. Range checking is not performed on the
1348 border-pixel value, it is truncated to the appropriate number of bits. */
1349 
1350     XCB_CW_BIT_GRAVITY = 16,
1351 /**< Defines which region of the window should be retained if the window is resized. */
1352 
1353     XCB_CW_WIN_GRAVITY = 32,
1354 /**< Defines how the window should be repositioned if the parent is resized (see
1355 `ConfigureWindow`). */
1356 
1357     XCB_CW_BACKING_STORE = 64,
1358 /**< A backing-store of `WhenMapped` advises the server that maintaining contents of
1359 obscured regions when the window is mapped would be beneficial. A backing-store
1360 of `Always` advises the server that maintaining contents even when the window
1361 is unmapped would be beneficial. In this case, the server may generate an
1362 exposure event when the window is created. A value of `NotUseful` advises the
1363 server that maintaining contents is unnecessary, although a server may still
1364 choose to maintain contents while the window is mapped. Note that if the server
1365 maintains contents, then the server should maintain complete contents not just
1366 the region within the parent boundaries, even if the window is larger than its
1367 parent. While the server maintains contents, exposure events will not normally
1368 be generated, but the server may stop maintaining contents at any time. */
1369 
1370     XCB_CW_BACKING_PLANES = 128,
1371 /**< The backing-planes indicates (with bits set to 1) which bit planes of the
1372 window hold dynamic data that must be preserved in backing-stores and during
1373 save-unders. */
1374 
1375     XCB_CW_BACKING_PIXEL = 256,
1376 /**< The backing-pixel specifies what value to use in planes not covered by
1377 backing-planes. The server is free to save only the specified bit planes in the
1378 backing-store or save-under and regenerate the remaining planes with the
1379 specified pixel value. Any bits beyond the specified depth of the window in
1380 these values are simply ignored. */
1381 
1382     XCB_CW_OVERRIDE_REDIRECT = 512,
1383 /**< The override-redirect specifies whether map and configure requests on this
1384 window should override a SubstructureRedirect on the parent, typically to
1385 inform a window manager not to tamper with the window. */
1386 
1387     XCB_CW_SAVE_UNDER = 1024,
1388 /**< If 1, the server is advised that when this window is mapped, saving the
1389 contents of windows it obscures would be beneficial. */
1390 
1391     XCB_CW_EVENT_MASK = 2048,
1392 /**< The event-mask defines which events the client is interested in for this window
1393 (or for some event types, inferiors of the window). */
1394 
1395     XCB_CW_DONT_PROPAGATE = 4096,
1396 /**< The do-not-propagate-mask defines which events should not be propagated to
1397 ancestor windows when no client has the event type selected in this window. */
1398 
1399     XCB_CW_COLORMAP = 8192,
1400 /**< The colormap specifies the colormap that best reflects the true colors of the window. Servers
1401 capable of supporting multiple hardware colormaps may use this information, and window man-
1402 agers may use it for InstallColormap requests. The colormap must have the same visual type
1403 and root as the window (or a Match error results). If CopyFromParent is specified, the parent's
1404 colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child).
1405 However, the window must have the same visual type as the parent (or a Match error results),
1406 and the parent must not have a colormap of None (or a Match error results). For an explanation
1407 of None, see FreeColormap request. The colormap is copied by sharing the colormap object
1408 between the child and the parent, not by making a complete copy of the colormap contents. */
1409 
1410     XCB_CW_CURSOR = 16384
1411 /**< If a cursor is specified, it will be used whenever the pointer is in the window. If None is speci-
1412 fied, the parent's cursor will be used when the pointer is in the window, and any change in the
1413 parent's cursor will cause an immediate change in the displayed cursor. */
1414 
1415 } xcb_cw_t;
1416 
1417 typedef enum xcb_back_pixmap_t {
1418     XCB_BACK_PIXMAP_NONE = 0,
1419     XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
1420 } xcb_back_pixmap_t;
1421 
1422 typedef enum xcb_gravity_t {
1423     XCB_GRAVITY_BIT_FORGET = 0,
1424     XCB_GRAVITY_WIN_UNMAP = 0,
1425     XCB_GRAVITY_NORTH_WEST = 1,
1426     XCB_GRAVITY_NORTH = 2,
1427     XCB_GRAVITY_NORTH_EAST = 3,
1428     XCB_GRAVITY_WEST = 4,
1429     XCB_GRAVITY_CENTER = 5,
1430     XCB_GRAVITY_EAST = 6,
1431     XCB_GRAVITY_SOUTH_WEST = 7,
1432     XCB_GRAVITY_SOUTH = 8,
1433     XCB_GRAVITY_SOUTH_EAST = 9,
1434     XCB_GRAVITY_STATIC = 10
1435 } xcb_gravity_t;
1436 
1437 /** Opcode for xcb_create_window. */
1438 #define XCB_CREATE_WINDOW 1
1439 
1440 /**
1441  * @brief xcb_create_window_request_t
1442  **/
1443 typedef struct xcb_create_window_request_t {
1444     uint8_t        major_opcode; /**<  */
1445     uint8_t        depth; /**<  */
1446     uint16_t       length; /**<  */
1447     xcb_window_t   wid; /**<  */
1448     xcb_window_t   parent; /**<  */
1449     int16_t        x; /**<  */
1450     int16_t        y; /**<  */
1451     uint16_t       width; /**<  */
1452     uint16_t       height; /**<  */
1453     uint16_t       border_width; /**<  */
1454     uint16_t       _class; /**<  */
1455     xcb_visualid_t visual; /**<  */
1456     uint32_t       value_mask; /**<  */
1457 } xcb_create_window_request_t;
1458 
1459 /** Opcode for xcb_change_window_attributes. */
1460 #define XCB_CHANGE_WINDOW_ATTRIBUTES 2
1461 
1462 /**
1463  * @brief xcb_change_window_attributes_request_t
1464  **/
1465 typedef struct xcb_change_window_attributes_request_t {
1466     uint8_t      major_opcode; /**<  */
1467     uint8_t      pad0; /**<  */
1468     uint16_t     length; /**<  */
1469     xcb_window_t window; /**<  */
1470     uint32_t     value_mask; /**<  */
1471 } xcb_change_window_attributes_request_t;
1472 
1473 typedef enum xcb_map_state_t {
1474     XCB_MAP_STATE_UNMAPPED = 0,
1475     XCB_MAP_STATE_UNVIEWABLE = 1,
1476     XCB_MAP_STATE_VIEWABLE = 2
1477 } xcb_map_state_t;
1478 
1479 /**
1480  * @brief xcb_get_window_attributes_cookie_t
1481  **/
1482 typedef struct xcb_get_window_attributes_cookie_t {
1483     unsigned int sequence; /**<  */
1484 } xcb_get_window_attributes_cookie_t;
1485 
1486 /** Opcode for xcb_get_window_attributes. */
1487 #define XCB_GET_WINDOW_ATTRIBUTES 3
1488 
1489 /**
1490  * @brief xcb_get_window_attributes_request_t
1491  **/
1492 typedef struct xcb_get_window_attributes_request_t {
1493     uint8_t      major_opcode; /**<  */
1494     uint8_t      pad0; /**<  */
1495     uint16_t     length; /**<  */
1496     xcb_window_t window; /**<  */
1497 } xcb_get_window_attributes_request_t;
1498 
1499 /**
1500  * @brief xcb_get_window_attributes_reply_t
1501  **/
1502 typedef struct xcb_get_window_attributes_reply_t {
1503     uint8_t        response_type; /**<  */
1504     uint8_t        backing_store; /**<  */
1505     uint16_t       sequence; /**<  */
1506     uint32_t       length; /**<  */
1507     xcb_visualid_t visual; /**<  */
1508     uint16_t       _class; /**<  */
1509     uint8_t        bit_gravity; /**<  */
1510     uint8_t        win_gravity; /**<  */
1511     uint32_t       backing_planes; /**<  */
1512     uint32_t       backing_pixel; /**<  */
1513     uint8_t        save_under; /**<  */
1514     uint8_t        map_is_installed; /**<  */
1515     uint8_t        map_state; /**<  */
1516     uint8_t        override_redirect; /**<  */
1517     xcb_colormap_t colormap; /**<  */
1518     uint32_t       all_event_masks; /**<  */
1519     uint32_t       your_event_mask; /**<  */
1520     uint16_t       do_not_propagate_mask; /**<  */
1521     uint8_t        pad0[2]; /**<  */
1522 } xcb_get_window_attributes_reply_t;
1523 
1524 /** Opcode for xcb_destroy_window. */
1525 #define XCB_DESTROY_WINDOW 4
1526 
1527 /**
1528  * @brief xcb_destroy_window_request_t
1529  **/
1530 typedef struct xcb_destroy_window_request_t {
1531     uint8_t      major_opcode; /**<  */
1532     uint8_t      pad0; /**<  */
1533     uint16_t     length; /**<  */
1534     xcb_window_t window; /**<  */
1535 } xcb_destroy_window_request_t;
1536 
1537 /** Opcode for xcb_destroy_subwindows. */
1538 #define XCB_DESTROY_SUBWINDOWS 5
1539 
1540 /**
1541  * @brief xcb_destroy_subwindows_request_t
1542  **/
1543 typedef struct xcb_destroy_subwindows_request_t {
1544     uint8_t      major_opcode; /**<  */
1545     uint8_t      pad0; /**<  */
1546     uint16_t     length; /**<  */
1547     xcb_window_t window; /**<  */
1548 } xcb_destroy_subwindows_request_t;
1549 
1550 typedef enum xcb_set_mode_t {
1551     XCB_SET_MODE_INSERT = 0,
1552     XCB_SET_MODE_DELETE = 1
1553 } xcb_set_mode_t;
1554 
1555 /** Opcode for xcb_change_save_set. */
1556 #define XCB_CHANGE_SAVE_SET 6
1557 
1558 /**
1559  * @brief xcb_change_save_set_request_t
1560  **/
1561 typedef struct xcb_change_save_set_request_t {
1562     uint8_t      major_opcode; /**<  */
1563     uint8_t      mode; /**<  */
1564     uint16_t     length; /**<  */
1565     xcb_window_t window; /**<  */
1566 } xcb_change_save_set_request_t;
1567 
1568 /** Opcode for xcb_reparent_window. */
1569 #define XCB_REPARENT_WINDOW 7
1570 
1571 /**
1572  * @brief xcb_reparent_window_request_t
1573  **/
1574 typedef struct xcb_reparent_window_request_t {
1575     uint8_t      major_opcode; /**<  */
1576     uint8_t      pad0; /**<  */
1577     uint16_t     length; /**<  */
1578     xcb_window_t window; /**<  */
1579     xcb_window_t parent; /**<  */
1580     int16_t      x; /**<  */
1581     int16_t      y; /**<  */
1582 } xcb_reparent_window_request_t;
1583 
1584 /** Opcode for xcb_map_window. */
1585 #define XCB_MAP_WINDOW 8
1586 
1587 /**
1588  * @brief xcb_map_window_request_t
1589  **/
1590 typedef struct xcb_map_window_request_t {
1591     uint8_t      major_opcode; /**<  */
1592     uint8_t      pad0; /**<  */
1593     uint16_t     length; /**<  */
1594     xcb_window_t window; /**<  */
1595 } xcb_map_window_request_t;
1596 
1597 /** Opcode for xcb_map_subwindows. */
1598 #define XCB_MAP_SUBWINDOWS 9
1599 
1600 /**
1601  * @brief xcb_map_subwindows_request_t
1602  **/
1603 typedef struct xcb_map_subwindows_request_t {
1604     uint8_t      major_opcode; /**<  */
1605     uint8_t      pad0; /**<  */
1606     uint16_t     length; /**<  */
1607     xcb_window_t window; /**<  */
1608 } xcb_map_subwindows_request_t;
1609 
1610 /** Opcode for xcb_unmap_window. */
1611 #define XCB_UNMAP_WINDOW 10
1612 
1613 /**
1614  * @brief xcb_unmap_window_request_t
1615  **/
1616 typedef struct xcb_unmap_window_request_t {
1617     uint8_t      major_opcode; /**<  */
1618     uint8_t      pad0; /**<  */
1619     uint16_t     length; /**<  */
1620     xcb_window_t window; /**<  */
1621 } xcb_unmap_window_request_t;
1622 
1623 /** Opcode for xcb_unmap_subwindows. */
1624 #define XCB_UNMAP_SUBWINDOWS 11
1625 
1626 /**
1627  * @brief xcb_unmap_subwindows_request_t
1628  **/
1629 typedef struct xcb_unmap_subwindows_request_t {
1630     uint8_t      major_opcode; /**<  */
1631     uint8_t      pad0; /**<  */
1632     uint16_t     length; /**<  */
1633     xcb_window_t window; /**<  */
1634 } xcb_unmap_subwindows_request_t;
1635 
1636 typedef enum xcb_config_window_t {
1637     XCB_CONFIG_WINDOW_X = 1,
1638     XCB_CONFIG_WINDOW_Y = 2,
1639     XCB_CONFIG_WINDOW_WIDTH = 4,
1640     XCB_CONFIG_WINDOW_HEIGHT = 8,
1641     XCB_CONFIG_WINDOW_BORDER_WIDTH = 16,
1642     XCB_CONFIG_WINDOW_SIBLING = 32,
1643     XCB_CONFIG_WINDOW_STACK_MODE = 64
1644 } xcb_config_window_t;
1645 
1646 typedef enum xcb_stack_mode_t {
1647     XCB_STACK_MODE_ABOVE = 0,
1648     XCB_STACK_MODE_BELOW = 1,
1649     XCB_STACK_MODE_TOP_IF = 2,
1650     XCB_STACK_MODE_BOTTOM_IF = 3,
1651     XCB_STACK_MODE_OPPOSITE = 4
1652 } xcb_stack_mode_t;
1653 
1654 /** Opcode for xcb_configure_window. */
1655 #define XCB_CONFIGURE_WINDOW 12
1656 
1657 /**
1658  * @brief xcb_configure_window_request_t
1659  **/
1660 typedef struct xcb_configure_window_request_t {
1661     uint8_t      major_opcode; /**<  */
1662     uint8_t      pad0; /**<  */
1663     uint16_t     length; /**<  */
1664     xcb_window_t window; /**<  */
1665     uint16_t     value_mask; /**<  */
1666     uint8_t      pad1[2]; /**<  */
1667 } xcb_configure_window_request_t;
1668 
1669 typedef enum xcb_circulate_t {
1670     XCB_CIRCULATE_RAISE_LOWEST = 0,
1671     XCB_CIRCULATE_LOWER_HIGHEST = 1
1672 } xcb_circulate_t;
1673 
1674 /** Opcode for xcb_circulate_window. */
1675 #define XCB_CIRCULATE_WINDOW 13
1676 
1677 /**
1678  * @brief xcb_circulate_window_request_t
1679  **/
1680 typedef struct xcb_circulate_window_request_t {
1681     uint8_t      major_opcode; /**<  */
1682     uint8_t      direction; /**<  */
1683     uint16_t     length; /**<  */
1684     xcb_window_t window; /**<  */
1685 } xcb_circulate_window_request_t;
1686 
1687 /**
1688  * @brief xcb_get_geometry_cookie_t
1689  **/
1690 typedef struct xcb_get_geometry_cookie_t {
1691     unsigned int sequence; /**<  */
1692 } xcb_get_geometry_cookie_t;
1693 
1694 /** Opcode for xcb_get_geometry. */
1695 #define XCB_GET_GEOMETRY 14
1696 
1697 /**
1698  * @brief xcb_get_geometry_request_t
1699  **/
1700 typedef struct xcb_get_geometry_request_t {
1701     uint8_t        major_opcode; /**<  */
1702     uint8_t        pad0; /**<  */
1703     uint16_t       length; /**<  */
1704     xcb_drawable_t drawable; /**<  */
1705 } xcb_get_geometry_request_t;
1706 
1707 /**
1708  * @brief xcb_get_geometry_reply_t
1709  **/
1710 typedef struct xcb_get_geometry_reply_t {
1711     uint8_t      response_type; /**<  */
1712     uint8_t      depth; /**<  */
1713     uint16_t     sequence; /**<  */
1714     uint32_t     length; /**<  */
1715     xcb_window_t root; /**<  */
1716     int16_t      x; /**<  */
1717     int16_t      y; /**<  */
1718     uint16_t     width; /**<  */
1719     uint16_t     height; /**<  */
1720     uint16_t     border_width; /**<  */
1721     uint8_t      pad0[2]; /**<  */
1722 } xcb_get_geometry_reply_t;
1723 
1724 /**
1725  * @brief xcb_query_tree_cookie_t
1726  **/
1727 typedef struct xcb_query_tree_cookie_t {
1728     unsigned int sequence; /**<  */
1729 } xcb_query_tree_cookie_t;
1730 
1731 /** Opcode for xcb_query_tree. */
1732 #define XCB_QUERY_TREE 15
1733 
1734 /**
1735  * @brief xcb_query_tree_request_t
1736  **/
1737 typedef struct xcb_query_tree_request_t {
1738     uint8_t      major_opcode; /**<  */
1739     uint8_t      pad0; /**<  */
1740     uint16_t     length; /**<  */
1741     xcb_window_t window; /**<  */
1742 } xcb_query_tree_request_t;
1743 
1744 /**
1745  * @brief xcb_query_tree_reply_t
1746  **/
1747 typedef struct xcb_query_tree_reply_t {
1748     uint8_t      response_type; /**<  */
1749     uint8_t      pad0; /**<  */
1750     uint16_t     sequence; /**<  */
1751     uint32_t     length; /**<  */
1752     xcb_window_t root; /**<  */
1753     xcb_window_t parent; /**<  */
1754     uint16_t     children_len; /**<  */
1755     uint8_t      pad1[14]; /**<  */
1756 } xcb_query_tree_reply_t;
1757 
1758 /**
1759  * @brief xcb_intern_atom_cookie_t
1760  **/
1761 typedef struct xcb_intern_atom_cookie_t {
1762     unsigned int sequence; /**<  */
1763 } xcb_intern_atom_cookie_t;
1764 
1765 /** Opcode for xcb_intern_atom. */
1766 #define XCB_INTERN_ATOM 16
1767 
1768 /**
1769  * @brief xcb_intern_atom_request_t
1770  **/
1771 typedef struct xcb_intern_atom_request_t {
1772     uint8_t  major_opcode; /**<  */
1773     uint8_t  only_if_exists; /**<  */
1774     uint16_t length; /**<  */
1775     uint16_t name_len; /**<  */
1776     uint8_t  pad0[2]; /**<  */
1777 } xcb_intern_atom_request_t;
1778 
1779 /**
1780  * @brief xcb_intern_atom_reply_t
1781  **/
1782 typedef struct xcb_intern_atom_reply_t {
1783     uint8_t    response_type; /**<  */
1784     uint8_t    pad0; /**<  */
1785     uint16_t   sequence; /**<  */
1786     uint32_t   length; /**<  */
1787     xcb_atom_t atom; /**<  */
1788 } xcb_intern_atom_reply_t;
1789 
1790 /**
1791  * @brief xcb_get_atom_name_cookie_t
1792  **/
1793 typedef struct xcb_get_atom_name_cookie_t {
1794     unsigned int sequence; /**<  */
1795 } xcb_get_atom_name_cookie_t;
1796 
1797 /** Opcode for xcb_get_atom_name. */
1798 #define XCB_GET_ATOM_NAME 17
1799 
1800 /**
1801  * @brief xcb_get_atom_name_request_t
1802  **/
1803 typedef struct xcb_get_atom_name_request_t {
1804     uint8_t    major_opcode; /**<  */
1805     uint8_t    pad0; /**<  */
1806     uint16_t   length; /**<  */
1807     xcb_atom_t atom; /**<  */
1808 } xcb_get_atom_name_request_t;
1809 
1810 /**
1811  * @brief xcb_get_atom_name_reply_t
1812  **/
1813 typedef struct xcb_get_atom_name_reply_t {
1814     uint8_t  response_type; /**<  */
1815     uint8_t  pad0; /**<  */
1816     uint16_t sequence; /**<  */
1817     uint32_t length; /**<  */
1818     uint16_t name_len; /**<  */
1819     uint8_t  pad1[22]; /**<  */
1820 } xcb_get_atom_name_reply_t;
1821 
1822 typedef enum xcb_prop_mode_t {
1823     XCB_PROP_MODE_REPLACE = 0,
1824 /**< Discard the previous property value and store the new data. */
1825 
1826     XCB_PROP_MODE_PREPEND = 1,
1827 /**< Insert the new data before the beginning of existing data. The `format` must
1828 match existing property value. If the property is undefined, it is treated as
1829 defined with the correct type and format with zero-length data. */
1830 
1831     XCB_PROP_MODE_APPEND = 2
1832 /**< Insert the new data after the beginning of existing data. The `format` must
1833 match existing property value. If the property is undefined, it is treated as
1834 defined with the correct type and format with zero-length data. */
1835 
1836 } xcb_prop_mode_t;
1837 
1838 /** Opcode for xcb_change_property. */
1839 #define XCB_CHANGE_PROPERTY 18
1840 
1841 /**
1842  * @brief xcb_change_property_request_t
1843  **/
1844 typedef struct xcb_change_property_request_t {
1845     uint8_t      major_opcode; /**<  */
1846     uint8_t      mode; /**<  */
1847     uint16_t     length; /**<  */
1848     xcb_window_t window; /**<  */
1849     xcb_atom_t   property; /**<  */
1850     xcb_atom_t   type; /**<  */
1851     uint8_t      format; /**<  */
1852     uint8_t      pad0[3]; /**<  */
1853     uint32_t     data_len; /**<  */
1854 } xcb_change_property_request_t;
1855 
1856 /** Opcode for xcb_delete_property. */
1857 #define XCB_DELETE_PROPERTY 19
1858 
1859 /**
1860  * @brief xcb_delete_property_request_t
1861  **/
1862 typedef struct xcb_delete_property_request_t {
1863     uint8_t      major_opcode; /**<  */
1864     uint8_t      pad0; /**<  */
1865     uint16_t     length; /**<  */
1866     xcb_window_t window; /**<  */
1867     xcb_atom_t   property; /**<  */
1868 } xcb_delete_property_request_t;
1869 
1870 typedef enum xcb_get_property_type_t {
1871     XCB_GET_PROPERTY_TYPE_ANY = 0
1872 } xcb_get_property_type_t;
1873 
1874 /**
1875  * @brief xcb_get_property_cookie_t
1876  **/
1877 typedef struct xcb_get_property_cookie_t {
1878     unsigned int sequence; /**<  */
1879 } xcb_get_property_cookie_t;
1880 
1881 /** Opcode for xcb_get_property. */
1882 #define XCB_GET_PROPERTY 20
1883 
1884 /**
1885  * @brief xcb_get_property_request_t
1886  **/
1887 typedef struct xcb_get_property_request_t {
1888     uint8_t      major_opcode; /**<  */
1889     uint8_t      _delete; /**<  */
1890     uint16_t     length; /**<  */
1891     xcb_window_t window; /**<  */
1892     xcb_atom_t   property; /**<  */
1893     xcb_atom_t   type; /**<  */
1894     uint32_t     long_offset; /**<  */
1895     uint32_t     long_length; /**<  */
1896 } xcb_get_property_request_t;
1897 
1898 /**
1899  * @brief xcb_get_property_reply_t
1900  **/
1901 typedef struct xcb_get_property_reply_t {
1902     uint8_t    response_type; /**<  */
1903     uint8_t    format; /**<  */
1904     uint16_t   sequence; /**<  */
1905     uint32_t   length; /**<  */
1906     xcb_atom_t type; /**<  */
1907     uint32_t   bytes_after; /**<  */
1908     uint32_t   value_len; /**<  */
1909     uint8_t    pad0[12]; /**<  */
1910 } xcb_get_property_reply_t;
1911 
1912 /**
1913  * @brief xcb_list_properties_cookie_t
1914  **/
1915 typedef struct xcb_list_properties_cookie_t {
1916     unsigned int sequence; /**<  */
1917 } xcb_list_properties_cookie_t;
1918 
1919 /** Opcode for xcb_list_properties. */
1920 #define XCB_LIST_PROPERTIES 21
1921 
1922 /**
1923  * @brief xcb_list_properties_request_t
1924  **/
1925 typedef struct xcb_list_properties_request_t {
1926     uint8_t      major_opcode; /**<  */
1927     uint8_t      pad0; /**<  */
1928     uint16_t     length; /**<  */
1929     xcb_window_t window; /**<  */
1930 } xcb_list_properties_request_t;
1931 
1932 /**
1933  * @brief xcb_list_properties_reply_t
1934  **/
1935 typedef struct xcb_list_properties_reply_t {
1936     uint8_t  response_type; /**<  */
1937     uint8_t  pad0; /**<  */
1938     uint16_t sequence; /**<  */
1939     uint32_t length; /**<  */
1940     uint16_t atoms_len; /**<  */
1941     uint8_t  pad1[22]; /**<  */
1942 } xcb_list_properties_reply_t;
1943 
1944 /** Opcode for xcb_set_selection_owner. */
1945 #define XCB_SET_SELECTION_OWNER 22
1946 
1947 /**
1948  * @brief xcb_set_selection_owner_request_t
1949  **/
1950 typedef struct xcb_set_selection_owner_request_t {
1951     uint8_t         major_opcode; /**<  */
1952     uint8_t         pad0; /**<  */
1953     uint16_t        length; /**<  */
1954     xcb_window_t    owner; /**<  */
1955     xcb_atom_t      selection; /**<  */
1956     xcb_timestamp_t time; /**<  */
1957 } xcb_set_selection_owner_request_t;
1958 
1959 /**
1960  * @brief xcb_get_selection_owner_cookie_t
1961  **/
1962 typedef struct xcb_get_selection_owner_cookie_t {
1963     unsigned int sequence; /**<  */
1964 } xcb_get_selection_owner_cookie_t;
1965 
1966 /** Opcode for xcb_get_selection_owner. */
1967 #define XCB_GET_SELECTION_OWNER 23
1968 
1969 /**
1970  * @brief xcb_get_selection_owner_request_t
1971  **/
1972 typedef struct xcb_get_selection_owner_request_t {
1973     uint8_t    major_opcode; /**<  */
1974     uint8_t    pad0; /**<  */
1975     uint16_t   length; /**<  */
1976     xcb_atom_t selection; /**<  */
1977 } xcb_get_selection_owner_request_t;
1978 
1979 /**
1980  * @brief xcb_get_selection_owner_reply_t
1981  **/
1982 typedef struct xcb_get_selection_owner_reply_t {
1983     uint8_t      response_type; /**<  */
1984     uint8_t      pad0; /**<  */
1985     uint16_t     sequence; /**<  */
1986     uint32_t     length; /**<  */
1987     xcb_window_t owner; /**<  */
1988 } xcb_get_selection_owner_reply_t;
1989 
1990 /** Opcode for xcb_convert_selection. */
1991 #define XCB_CONVERT_SELECTION 24
1992 
1993 /**
1994  * @brief xcb_convert_selection_request_t
1995  **/
1996 typedef struct xcb_convert_selection_request_t {
1997     uint8_t         major_opcode; /**<  */
1998     uint8_t         pad0; /**<  */
1999     uint16_t        length; /**<  */
2000     xcb_window_t    requestor; /**<  */
2001     xcb_atom_t      selection; /**<  */
2002     xcb_atom_t      target; /**<  */
2003     xcb_atom_t      property; /**<  */
2004     xcb_timestamp_t time; /**<  */
2005 } xcb_convert_selection_request_t;
2006 
2007 typedef enum xcb_send_event_dest_t {
2008     XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0,
2009     XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1
2010 } xcb_send_event_dest_t;
2011 
2012 /** Opcode for xcb_send_event. */
2013 #define XCB_SEND_EVENT 25
2014 
2015 /**
2016  * @brief xcb_send_event_request_t
2017  **/
2018 typedef struct xcb_send_event_request_t {
2019     uint8_t      major_opcode; /**<  */
2020     uint8_t      propagate; /**<  */
2021     uint16_t     length; /**<  */
2022     xcb_window_t destination; /**<  */
2023     uint32_t     event_mask; /**<  */
2024     char         event[32]; /**<  */
2025 } xcb_send_event_request_t;
2026 
2027 typedef enum xcb_grab_mode_t {
2028     XCB_GRAB_MODE_SYNC = 0,
2029 /**< The state of the keyboard appears to freeze: No further keyboard events are
2030 generated by the server until the grabbing client issues a releasing
2031 `AllowEvents` request or until the keyboard grab is released. */
2032 
2033     XCB_GRAB_MODE_ASYNC = 1
2034 /**< Keyboard event processing continues normally. */
2035 
2036 } xcb_grab_mode_t;
2037 
2038 typedef enum xcb_grab_status_t {
2039     XCB_GRAB_STATUS_SUCCESS = 0,
2040     XCB_GRAB_STATUS_ALREADY_GRABBED = 1,
2041     XCB_GRAB_STATUS_INVALID_TIME = 2,
2042     XCB_GRAB_STATUS_NOT_VIEWABLE = 3,
2043     XCB_GRAB_STATUS_FROZEN = 4
2044 } xcb_grab_status_t;
2045 
2046 typedef enum xcb_cursor_enum_t {
2047     XCB_CURSOR_NONE = 0
2048 } xcb_cursor_enum_t;
2049 
2050 /**
2051  * @brief xcb_grab_pointer_cookie_t
2052  **/
2053 typedef struct xcb_grab_pointer_cookie_t {
2054     unsigned int sequence; /**<  */
2055 } xcb_grab_pointer_cookie_t;
2056 
2057 /** Opcode for xcb_grab_pointer. */
2058 #define XCB_GRAB_POINTER 26
2059 
2060 /**
2061  * @brief xcb_grab_pointer_request_t
2062  **/
2063 typedef struct xcb_grab_pointer_request_t {
2064     uint8_t         major_opcode; /**<  */
2065     uint8_t         owner_events; /**<  */
2066     uint16_t        length; /**<  */
2067     xcb_window_t    grab_window; /**<  */
2068     uint16_t        event_mask; /**<  */
2069     uint8_t         pointer_mode; /**<  */
2070     uint8_t         keyboard_mode; /**<  */
2071     xcb_window_t    confine_to; /**<  */
2072     xcb_cursor_t    cursor; /**<  */
2073     xcb_timestamp_t time; /**<  */
2074 } xcb_grab_pointer_request_t;
2075 
2076 /**
2077  * @brief xcb_grab_pointer_reply_t
2078  **/
2079 typedef struct xcb_grab_pointer_reply_t {
2080     uint8_t  response_type; /**<  */
2081     uint8_t  status; /**<  */
2082     uint16_t sequence; /**<  */
2083     uint32_t length; /**<  */
2084 } xcb_grab_pointer_reply_t;
2085 
2086 /** Opcode for xcb_ungrab_pointer. */
2087 #define XCB_UNGRAB_POINTER 27
2088 
2089 /**
2090  * @brief xcb_ungrab_pointer_request_t
2091  **/
2092 typedef struct xcb_ungrab_pointer_request_t {
2093     uint8_t         major_opcode; /**<  */
2094     uint8_t         pad0; /**<  */
2095     uint16_t        length; /**<  */
2096     xcb_timestamp_t time; /**<  */
2097 } xcb_ungrab_pointer_request_t;
2098 
2099 typedef enum xcb_button_index_t {
2100     XCB_BUTTON_INDEX_ANY = 0,
2101 /**< Any of the following (or none): */
2102 
2103     XCB_BUTTON_INDEX_1 = 1,
2104 /**< The left mouse button. */
2105 
2106     XCB_BUTTON_INDEX_2 = 2,
2107 /**< The right mouse button. */
2108 
2109     XCB_BUTTON_INDEX_3 = 3,
2110 /**< The middle mouse button. */
2111 
2112     XCB_BUTTON_INDEX_4 = 4,
2113 /**< Scroll wheel. TODO: direction? */
2114 
2115     XCB_BUTTON_INDEX_5 = 5
2116 /**< Scroll wheel. TODO: direction? */
2117 
2118 } xcb_button_index_t;
2119 
2120 /** Opcode for xcb_grab_button. */
2121 #define XCB_GRAB_BUTTON 28
2122 
2123 /**
2124  * @brief xcb_grab_button_request_t
2125  **/
2126 typedef struct xcb_grab_button_request_t {
2127     uint8_t      major_opcode; /**<  */
2128     uint8_t      owner_events; /**<  */
2129     uint16_t     length; /**<  */
2130     xcb_window_t grab_window; /**<  */
2131     uint16_t     event_mask; /**<  */
2132     uint8_t      pointer_mode; /**<  */
2133     uint8_t      keyboard_mode; /**<  */
2134     xcb_window_t confine_to; /**<  */
2135     xcb_cursor_t cursor; /**<  */
2136     uint8_t      button; /**<  */
2137     uint8_t      pad0; /**<  */
2138     uint16_t     modifiers; /**<  */
2139 } xcb_grab_button_request_t;
2140 
2141 /** Opcode for xcb_ungrab_button. */
2142 #define XCB_UNGRAB_BUTTON 29
2143 
2144 /**
2145  * @brief xcb_ungrab_button_request_t
2146  **/
2147 typedef struct xcb_ungrab_button_request_t {
2148     uint8_t      major_opcode; /**<  */
2149     uint8_t      button; /**<  */
2150     uint16_t     length; /**<  */
2151     xcb_window_t grab_window; /**<  */
2152     uint16_t     modifiers; /**<  */
2153     uint8_t      pad0[2]; /**<  */
2154 } xcb_ungrab_button_request_t;
2155 
2156 /** Opcode for xcb_change_active_pointer_grab. */
2157 #define XCB_CHANGE_ACTIVE_POINTER_GRAB 30
2158 
2159 /**
2160  * @brief xcb_change_active_pointer_grab_request_t
2161  **/
2162 typedef struct xcb_change_active_pointer_grab_request_t {
2163     uint8_t         major_opcode; /**<  */
2164     uint8_t         pad0; /**<  */
2165     uint16_t        length; /**<  */
2166     xcb_cursor_t    cursor; /**<  */
2167     xcb_timestamp_t time; /**<  */
2168     uint16_t        event_mask; /**<  */
2169     uint8_t         pad1[2]; /**<  */
2170 } xcb_change_active_pointer_grab_request_t;
2171 
2172 /**
2173  * @brief xcb_grab_keyboard_cookie_t
2174  **/
2175 typedef struct xcb_grab_keyboard_cookie_t {
2176     unsigned int sequence; /**<  */
2177 } xcb_grab_keyboard_cookie_t;
2178 
2179 /** Opcode for xcb_grab_keyboard. */
2180 #define XCB_GRAB_KEYBOARD 31
2181 
2182 /**
2183  * @brief xcb_grab_keyboard_request_t
2184  **/
2185 typedef struct xcb_grab_keyboard_request_t {
2186     uint8_t         major_opcode; /**<  */
2187     uint8_t         owner_events; /**<  */
2188     uint16_t        length; /**<  */
2189     xcb_window_t    grab_window; /**<  */
2190     xcb_timestamp_t time; /**<  */
2191     uint8_t         pointer_mode; /**<  */
2192     uint8_t         keyboard_mode; /**<  */
2193     uint8_t         pad0[2]; /**<  */
2194 } xcb_grab_keyboard_request_t;
2195 
2196 /**
2197  * @brief xcb_grab_keyboard_reply_t
2198  **/
2199 typedef struct xcb_grab_keyboard_reply_t {
2200     uint8_t  response_type; /**<  */
2201     uint8_t  status; /**<  */
2202     uint16_t sequence; /**<  */
2203     uint32_t length; /**<  */
2204 } xcb_grab_keyboard_reply_t;
2205 
2206 /** Opcode for xcb_ungrab_keyboard. */
2207 #define XCB_UNGRAB_KEYBOARD 32
2208 
2209 /**
2210  * @brief xcb_ungrab_keyboard_request_t
2211  **/
2212 typedef struct xcb_ungrab_keyboard_request_t {
2213     uint8_t         major_opcode; /**<  */
2214     uint8_t         pad0; /**<  */
2215     uint16_t        length; /**<  */
2216     xcb_timestamp_t time; /**<  */
2217 } xcb_ungrab_keyboard_request_t;
2218 
2219 typedef enum xcb_grab_t {
2220     XCB_GRAB_ANY = 0
2221 } xcb_grab_t;
2222 
2223 /** Opcode for xcb_grab_key. */
2224 #define XCB_GRAB_KEY 33
2225 
2226 /**
2227  * @brief xcb_grab_key_request_t
2228  **/
2229 typedef struct xcb_grab_key_request_t {
2230     uint8_t       major_opcode; /**<  */
2231     uint8_t       owner_events; /**<  */
2232     uint16_t      length; /**<  */
2233     xcb_window_t  grab_window; /**<  */
2234     uint16_t      modifiers; /**<  */
2235     xcb_keycode_t key; /**<  */
2236     uint8_t       pointer_mode; /**<  */
2237     uint8_t       keyboard_mode; /**<  */
2238     uint8_t       pad0[3]; /**<  */
2239 } xcb_grab_key_request_t;
2240 
2241 /** Opcode for xcb_ungrab_key. */
2242 #define XCB_UNGRAB_KEY 34
2243 
2244 /**
2245  * @brief xcb_ungrab_key_request_t
2246  **/
2247 typedef struct xcb_ungrab_key_request_t {
2248     uint8_t       major_opcode; /**<  */
2249     xcb_keycode_t key; /**<  */
2250     uint16_t      length; /**<  */
2251     xcb_window_t  grab_window; /**<  */
2252     uint16_t      modifiers; /**<  */
2253     uint8_t       pad0[2]; /**<  */
2254 } xcb_ungrab_key_request_t;
2255 
2256 typedef enum xcb_allow_t {
2257     XCB_ALLOW_ASYNC_POINTER = 0,
2258 /**< For AsyncPointer, if the pointer is frozen by the client, pointer event
2259 processing continues normally. If the pointer is frozen twice by the client on
2260 behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no
2261 effect if the pointer is not frozen by the client, but the pointer need not be
2262 grabbed by the client.
2263 
2264 TODO: rewrite this in more understandable terms. */
2265 
2266     XCB_ALLOW_SYNC_POINTER = 1,
2267 /**< For SyncPointer, if the pointer is frozen and actively grabbed by the client,
2268 pointer event processing continues normally until the next ButtonPress or
2269 ButtonRelease event is reported to the client, at which time the pointer again
2270 appears to freeze. However, if the reported event causes the pointer grab to be
2271 released, then the pointer does not freeze. SyncPointer has no effect if the
2272 pointer is not frozen by the client or if the pointer is not grabbed by the
2273 client. */
2274 
2275     XCB_ALLOW_REPLAY_POINTER = 2,
2276 /**< For ReplayPointer, if the pointer is actively grabbed by the client and is
2277 frozen as the result of an event having been sent to the client (either from
2278 the activation of a GrabButton or from a previous AllowEvents with mode
2279 SyncPointer but not from a GrabPointer), then the pointer grab is released and
2280 that event is completely reprocessed, this time ignoring any passive grabs at
2281 or above (towards the root) the grab-window of the grab just released. The
2282 request has no effect if the pointer is not grabbed by the client or if the
2283 pointer is not frozen as the result of an event. */
2284 
2285     XCB_ALLOW_ASYNC_KEYBOARD = 3,
2286 /**< For AsyncKeyboard, if the keyboard is frozen by the client, keyboard event
2287 processing continues normally. If the keyboard is frozen twice by the client on
2288 behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has
2289 no effect if the keyboard is not frozen by the client, but the keyboard need
2290 not be grabbed by the client. */
2291 
2292     XCB_ALLOW_SYNC_KEYBOARD = 4,
2293 /**< For SyncKeyboard, if the keyboard is frozen and actively grabbed by the client,
2294 keyboard event processing continues normally until the next KeyPress or
2295 KeyRelease event is reported to the client, at which time the keyboard again
2296 appears to freeze. However, if the reported event causes the keyboard grab to
2297 be released, then the keyboard does not freeze. SyncKeyboard has no effect if
2298 the keyboard is not frozen by the client or if the keyboard is not grabbed by
2299 the client. */
2300 
2301     XCB_ALLOW_REPLAY_KEYBOARD = 5,
2302 /**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is
2303 frozen as the result of an event having been sent to the client (either from
2304 the activation of a GrabKey or from a previous AllowEvents with mode
2305 SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released
2306 and that event is completely reprocessed, this time ignoring any passive grabs
2307 at or above (towards the root) the grab-window of the grab just released. The
2308 request has no effect if the keyboard is not grabbed by the client or if the
2309 keyboard is not frozen as the result of an event. */
2310 
2311     XCB_ALLOW_ASYNC_BOTH = 6,
2312 /**< For AsyncBoth, if the pointer and the keyboard are frozen by the client, event
2313 processing for both devices continues normally. If a device is frozen twice by
2314 the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth
2315 has no effect unless both pointer and keyboard are frozen by the client. */
2316 
2317     XCB_ALLOW_SYNC_BOTH = 7
2318 /**< For SyncBoth, if both pointer and keyboard are frozen by the client, event
2319 processing (for both devices) continues normally until the next ButtonPress,
2320 ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a
2321 grabbed device (button event for the pointer, key event for the keyboard), at
2322 which time the devices again appear to freeze. However, if the reported event
2323 causes the grab to be released, then the devices do not freeze (but if the
2324 other device is still grabbed, then a subsequent event for it will still cause
2325 both devices to freeze). SyncBoth has no effect unless both pointer and
2326 keyboard are frozen by the client. If the pointer or keyboard is frozen twice
2327 by the client on behalf of two separate grabs, SyncBoth thaws for both (but a
2328 subsequent freeze for SyncBoth will only freeze each device once). */
2329 
2330 } xcb_allow_t;
2331 
2332 /** Opcode for xcb_allow_events. */
2333 #define XCB_ALLOW_EVENTS 35
2334 
2335 /**
2336  * @brief xcb_allow_events_request_t
2337  **/
2338 typedef struct xcb_allow_events_request_t {
2339     uint8_t         major_opcode; /**<  */
2340     uint8_t         mode; /**<  */
2341     uint16_t        length; /**<  */
2342     xcb_timestamp_t time; /**<  */
2343 } xcb_allow_events_request_t;
2344 
2345 /** Opcode for xcb_grab_server. */
2346 #define XCB_GRAB_SERVER 36
2347 
2348 /**
2349  * @brief xcb_grab_server_request_t
2350  **/
2351 typedef struct xcb_grab_server_request_t {
2352     uint8_t  major_opcode; /**<  */
2353     uint8_t  pad0; /**<  */
2354     uint16_t length; /**<  */
2355 } xcb_grab_server_request_t;
2356 
2357 /** Opcode for xcb_ungrab_server. */
2358 #define XCB_UNGRAB_SERVER 37
2359 
2360 /**
2361  * @brief xcb_ungrab_server_request_t
2362  **/
2363 typedef struct xcb_ungrab_server_request_t {
2364     uint8_t  major_opcode; /**<  */
2365     uint8_t  pad0; /**<  */
2366     uint16_t length; /**<  */
2367 } xcb_ungrab_server_request_t;
2368 
2369 /**
2370  * @brief xcb_query_pointer_cookie_t
2371  **/
2372 typedef struct xcb_query_pointer_cookie_t {
2373     unsigned int sequence; /**<  */
2374 } xcb_query_pointer_cookie_t;
2375 
2376 /** Opcode for xcb_query_pointer. */
2377 #define XCB_QUERY_POINTER 38
2378 
2379 /**
2380  * @brief xcb_query_pointer_request_t
2381  **/
2382 typedef struct xcb_query_pointer_request_t {
2383     uint8_t      major_opcode; /**<  */
2384     uint8_t      pad0; /**<  */
2385     uint16_t     length; /**<  */
2386     xcb_window_t window; /**<  */
2387 } xcb_query_pointer_request_t;
2388 
2389 /**
2390  * @brief xcb_query_pointer_reply_t
2391  **/
2392 typedef struct xcb_query_pointer_reply_t {
2393     uint8_t      response_type; /**<  */
2394     uint8_t      same_screen; /**<  */
2395     uint16_t     sequence; /**<  */
2396     uint32_t     length; /**<  */
2397     xcb_window_t root; /**<  */
2398     xcb_window_t child; /**<  */
2399     int16_t      root_x; /**<  */
2400     int16_t      root_y; /**<  */
2401     int16_t      win_x; /**<  */
2402     int16_t      win_y; /**<  */
2403     uint16_t     mask; /**<  */
2404     uint8_t      pad0[2]; /**<  */
2405 } xcb_query_pointer_reply_t;
2406 
2407 /**
2408  * @brief xcb_timecoord_t
2409  **/
2410 typedef struct xcb_timecoord_t {
2411     xcb_timestamp_t time; /**<  */
2412     int16_t         x; /**<  */
2413     int16_t         y; /**<  */
2414 } xcb_timecoord_t;
2415 
2416 /**
2417  * @brief xcb_timecoord_iterator_t
2418  **/
2419 typedef struct xcb_timecoord_iterator_t {
2420     xcb_timecoord_t *data; /**<  */
2421     int              rem; /**<  */
2422     int              index; /**<  */
2423 } xcb_timecoord_iterator_t;
2424 
2425 /**
2426  * @brief xcb_get_motion_events_cookie_t
2427  **/
2428 typedef struct xcb_get_motion_events_cookie_t {
2429     unsigned int sequence; /**<  */
2430 } xcb_get_motion_events_cookie_t;
2431 
2432 /** Opcode for xcb_get_motion_events. */
2433 #define XCB_GET_MOTION_EVENTS 39
2434 
2435 /**
2436  * @brief xcb_get_motion_events_request_t
2437  **/
2438 typedef struct xcb_get_motion_events_request_t {
2439     uint8_t         major_opcode; /**<  */
2440     uint8_t         pad0; /**<  */
2441     uint16_t        length; /**<  */
2442     xcb_window_t    window; /**<  */
2443     xcb_timestamp_t start; /**<  */
2444     xcb_timestamp_t stop; /**<  */
2445 } xcb_get_motion_events_request_t;
2446 
2447 /**
2448  * @brief xcb_get_motion_events_reply_t
2449  **/
2450 typedef struct xcb_get_motion_events_reply_t {
2451     uint8_t  response_type; /**<  */
2452     uint8_t  pad0; /**<  */
2453     uint16_t sequence; /**<  */
2454     uint32_t length; /**<  */
2455     uint32_t events_len; /**<  */
2456     uint8_t  pad1[20]; /**<  */
2457 } xcb_get_motion_events_reply_t;
2458 
2459 /**
2460  * @brief xcb_translate_coordinates_cookie_t
2461  **/
2462 typedef struct xcb_translate_coordinates_cookie_t {
2463     unsigned int sequence; /**<  */
2464 } xcb_translate_coordinates_cookie_t;
2465 
2466 /** Opcode for xcb_translate_coordinates. */
2467 #define XCB_TRANSLATE_COORDINATES 40
2468 
2469 /**
2470  * @brief xcb_translate_coordinates_request_t
2471  **/
2472 typedef struct xcb_translate_coordinates_request_t {
2473     uint8_t      major_opcode; /**<  */
2474     uint8_t      pad0; /**<  */
2475     uint16_t     length; /**<  */
2476     xcb_window_t src_window; /**<  */
2477     xcb_window_t dst_window; /**<  */
2478     int16_t      src_x; /**<  */
2479     int16_t      src_y; /**<  */
2480 } xcb_translate_coordinates_request_t;
2481 
2482 /**
2483  * @brief xcb_translate_coordinates_reply_t
2484  **/
2485 typedef struct xcb_translate_coordinates_reply_t {
2486     uint8_t      response_type; /**<  */
2487     uint8_t      same_screen; /**<  */
2488     uint16_t     sequence; /**<  */
2489     uint32_t     length; /**<  */
2490     xcb_window_t child; /**<  */
2491     int16_t      dst_x; /**<  */
2492     int16_t      dst_y; /**<  */
2493 } xcb_translate_coordinates_reply_t;
2494 
2495 /** Opcode for xcb_warp_pointer. */
2496 #define XCB_WARP_POINTER 41
2497 
2498 /**
2499  * @brief xcb_warp_pointer_request_t
2500  **/
2501 typedef struct xcb_warp_pointer_request_t {
2502     uint8_t      major_opcode; /**<  */
2503     uint8_t      pad0; /**<  */
2504     uint16_t     length; /**<  */
2505     xcb_window_t src_window; /**<  */
2506     xcb_window_t dst_window; /**<  */
2507     int16_t      src_x; /**<  */
2508     int16_t      src_y; /**<  */
2509     uint16_t     src_width; /**<  */
2510     uint16_t     src_height; /**<  */
2511     int16_t      dst_x; /**<  */
2512     int16_t      dst_y; /**<  */
2513 } xcb_warp_pointer_request_t;
2514 
2515 typedef enum xcb_input_focus_t {
2516     XCB_INPUT_FOCUS_NONE = 0,
2517 /**< The focus reverts to `XCB_NONE`, so no window will have the input focus. */
2518 
2519     XCB_INPUT_FOCUS_POINTER_ROOT = 1,
2520 /**< The focus reverts to `XCB_POINTER_ROOT` respectively. When the focus reverts,
2521 FocusIn and FocusOut events are generated, but the last-focus-change time is
2522 not changed. */
2523 
2524     XCB_INPUT_FOCUS_PARENT = 2,
2525 /**< The focus reverts to the parent (or closest viewable ancestor) and the new
2526 revert_to value is `XCB_INPUT_FOCUS_NONE`. */
2527 
2528     XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3
2529 /**< NOT YET DOCUMENTED. Only relevant for the xinput extension. */
2530 
2531 } xcb_input_focus_t;
2532 
2533 /** Opcode for xcb_set_input_focus. */
2534 #define XCB_SET_INPUT_FOCUS 42
2535 
2536 /**
2537  * @brief xcb_set_input_focus_request_t
2538  **/
2539 typedef struct xcb_set_input_focus_request_t {
2540     uint8_t         major_opcode; /**<  */
2541     uint8_t         revert_to; /**<  */
2542     uint16_t        length; /**<  */
2543     xcb_window_t    focus; /**<  */
2544     xcb_timestamp_t time; /**<  */
2545 } xcb_set_input_focus_request_t;
2546 
2547 /**
2548  * @brief xcb_get_input_focus_cookie_t
2549  **/
2550 typedef struct xcb_get_input_focus_cookie_t {
2551     unsigned int sequence; /**<  */
2552 } xcb_get_input_focus_cookie_t;
2553 
2554 /** Opcode for xcb_get_input_focus. */
2555 #define XCB_GET_INPUT_FOCUS 43
2556 
2557 /**
2558  * @brief xcb_get_input_focus_request_t
2559  **/
2560 typedef struct xcb_get_input_focus_request_t {
2561     uint8_t  major_opcode; /**<  */
2562     uint8_t  pad0; /**<  */
2563     uint16_t length; /**<  */
2564 } xcb_get_input_focus_request_t;
2565 
2566 /**
2567  * @brief xcb_get_input_focus_reply_t
2568  **/
2569 typedef struct xcb_get_input_focus_reply_t {
2570     uint8_t      response_type; /**<  */
2571     uint8_t      revert_to; /**<  */
2572     uint16_t     sequence; /**<  */
2573     uint32_t     length; /**<  */
2574     xcb_window_t focus; /**<  */
2575 } xcb_get_input_focus_reply_t;
2576 
2577 /**
2578  * @brief xcb_query_keymap_cookie_t
2579  **/
2580 typedef struct xcb_query_keymap_cookie_t {
2581     unsigned int sequence; /**<  */
2582 } xcb_query_keymap_cookie_t;
2583 
2584 /** Opcode for xcb_query_keymap. */
2585 #define XCB_QUERY_KEYMAP 44
2586 
2587 /**
2588  * @brief xcb_query_keymap_request_t
2589  **/
2590 typedef struct xcb_query_keymap_request_t {
2591     uint8_t  major_opcode; /**<  */
2592     uint8_t  pad0; /**<  */
2593     uint16_t length; /**<  */
2594 } xcb_query_keymap_request_t;
2595 
2596 /**
2597  * @brief xcb_query_keymap_reply_t
2598  **/
2599 typedef struct xcb_query_keymap_reply_t {
2600     uint8_t  response_type; /**<  */
2601     uint8_t  pad0; /**<  */
2602     uint16_t sequence; /**<  */
2603     uint32_t length; /**<  */
2604     uint8_t  keys[32]; /**<  */
2605 } xcb_query_keymap_reply_t;
2606 
2607 /** Opcode for xcb_open_font. */
2608 #define XCB_OPEN_FONT 45
2609 
2610 /**
2611  * @brief xcb_open_font_request_t
2612  **/
2613 typedef struct xcb_open_font_request_t {
2614     uint8_t    major_opcode; /**<  */
2615     uint8_t    pad0; /**<  */
2616     uint16_t   length; /**<  */
2617     xcb_font_t fid; /**<  */
2618     uint16_t   name_len; /**<  */
2619     uint8_t    pad1[2]; /**<  */
2620 } xcb_open_font_request_t;
2621 
2622 /** Opcode for xcb_close_font. */
2623 #define XCB_CLOSE_FONT 46
2624 
2625 /**
2626  * @brief xcb_close_font_request_t
2627  **/
2628 typedef struct xcb_close_font_request_t {
2629     uint8_t    major_opcode; /**<  */
2630     uint8_t    pad0; /**<  */
2631     uint16_t   length; /**<  */
2632     xcb_font_t font; /**<  */
2633 } xcb_close_font_request_t;
2634 
2635 typedef enum xcb_font_draw_t {
2636     XCB_FONT_DRAW_LEFT_TO_RIGHT = 0,
2637     XCB_FONT_DRAW_RIGHT_TO_LEFT = 1
2638 } xcb_font_draw_t;
2639 
2640 /**
2641  * @brief xcb_fontprop_t
2642  **/
2643 typedef struct xcb_fontprop_t {
2644     xcb_atom_t name; /**<  */
2645     uint32_t   value; /**<  */
2646 } xcb_fontprop_t;
2647 
2648 /**
2649  * @brief xcb_fontprop_iterator_t
2650  **/
2651 typedef struct xcb_fontprop_iterator_t {
2652     xcb_fontprop_t *data; /**<  */
2653     int             rem; /**<  */
2654     int             index; /**<  */
2655 } xcb_fontprop_iterator_t;
2656 
2657 /**
2658  * @brief xcb_charinfo_t
2659  **/
2660 typedef struct xcb_charinfo_t {
2661     int16_t  left_side_bearing; /**<  */
2662     int16_t  right_side_bearing; /**<  */
2663     int16_t  character_width; /**<  */
2664     int16_t  ascent; /**<  */
2665     int16_t  descent; /**<  */
2666     uint16_t attributes; /**<  */
2667 } xcb_charinfo_t;
2668 
2669 /**
2670  * @brief xcb_charinfo_iterator_t
2671  **/
2672 typedef struct xcb_charinfo_iterator_t {
2673     xcb_charinfo_t *data; /**<  */
2674     int             rem; /**<  */
2675     int             index; /**<  */
2676 } xcb_charinfo_iterator_t;
2677 
2678 /**
2679  * @brief xcb_query_font_cookie_t
2680  **/
2681 typedef struct xcb_query_font_cookie_t {
2682     unsigned int sequence; /**<  */
2683 } xcb_query_font_cookie_t;
2684 
2685 /** Opcode for xcb_query_font. */
2686 #define XCB_QUERY_FONT 47
2687 
2688 /**
2689  * @brief xcb_query_font_request_t
2690  **/
2691 typedef struct xcb_query_font_request_t {
2692     uint8_t        major_opcode; /**<  */
2693     uint8_t        pad0; /**<  */
2694     uint16_t       length; /**<  */
2695     xcb_fontable_t font; /**<  */
2696 } xcb_query_font_request_t;
2697 
2698 /**
2699  * @brief xcb_query_font_reply_t
2700  **/
2701 typedef struct xcb_query_font_reply_t {
2702     uint8_t        response_type; /**<  */
2703     uint8_t        pad0; /**<  */
2704     uint16_t       sequence; /**<  */
2705     uint32_t       length; /**<  */
2706     xcb_charinfo_t min_bounds; /**<  */
2707     uint8_t        pad1[4]; /**<  */
2708     xcb_charinfo_t max_bounds; /**<  */
2709     uint8_t        pad2[4]; /**<  */
2710     uint16_t       min_char_or_byte2; /**<  */
2711     uint16_t       max_char_or_byte2; /**<  */
2712     uint16_t       default_char; /**<  */
2713     uint16_t       properties_len; /**<  */
2714     uint8_t        draw_direction; /**<  */
2715     uint8_t        min_byte1; /**<  */
2716     uint8_t        max_byte1; /**<  */
2717     uint8_t        all_chars_exist; /**<  */
2718     int16_t        font_ascent; /**<  */
2719     int16_t        font_descent; /**<  */
2720     uint32_t       char_infos_len; /**<  */
2721 } xcb_query_font_reply_t;
2722 
2723 /**
2724  * @brief xcb_query_text_extents_cookie_t
2725  **/
2726 typedef struct xcb_query_text_extents_cookie_t {
2727     unsigned int sequence; /**<  */
2728 } xcb_query_text_extents_cookie_t;
2729 
2730 /** Opcode for xcb_query_text_extents. */
2731 #define XCB_QUERY_TEXT_EXTENTS 48
2732 
2733 /**
2734  * @brief xcb_query_text_extents_request_t
2735  **/
2736 typedef struct xcb_query_text_extents_request_t {
2737     uint8_t        major_opcode; /**<  */
2738     uint8_t        odd_length; /**<  */
2739     uint16_t       length; /**<  */
2740     xcb_fontable_t font; /**<  */
2741 } xcb_query_text_extents_request_t;
2742 
2743 /**
2744  * @brief xcb_query_text_extents_reply_t
2745  **/
2746 typedef struct xcb_query_text_extents_reply_t {
2747     uint8_t  response_type; /**<  */
2748     uint8_t  draw_direction; /**<  */
2749     uint16_t sequence; /**<  */
2750     uint32_t length; /**<  */
2751     int16_t  font_ascent; /**<  */
2752     int16_t  font_descent; /**<  */
2753     int16_t  overall_ascent; /**<  */
2754     int16_t  overall_descent; /**<  */
2755     int32_t  overall_width; /**<  */
2756     int32_t  overall_left; /**<  */
2757     int32_t  overall_right; /**<  */
2758 } xcb_query_text_extents_reply_t;
2759 
2760 /**
2761  * @brief xcb_str_t
2762  **/
2763 typedef struct xcb_str_t {
2764     uint8_t name_len; /**<  */
2765 } xcb_str_t;
2766 
2767 /**
2768  * @brief xcb_str_iterator_t
2769  **/
2770 typedef struct xcb_str_iterator_t {
2771     xcb_str_t *data; /**<  */
2772     int        rem; /**<  */
2773     int        index; /**<  */
2774 } xcb_str_iterator_t;
2775 
2776 /**
2777  * @brief xcb_list_fonts_cookie_t
2778  **/
2779 typedef struct xcb_list_fonts_cookie_t {
2780     unsigned int sequence; /**<  */
2781 } xcb_list_fonts_cookie_t;
2782 
2783 /** Opcode for xcb_list_fonts. */
2784 #define XCB_LIST_FONTS 49
2785 
2786 /**
2787  * @brief xcb_list_fonts_request_t
2788  **/
2789 typedef struct xcb_list_fonts_request_t {
2790     uint8_t  major_opcode; /**<  */
2791     uint8_t  pad0; /**<  */
2792     uint16_t length; /**<  */
2793     uint16_t max_names; /**<  */
2794     uint16_t pattern_len; /**<  */
2795 } xcb_list_fonts_request_t;
2796 
2797 /**
2798  * @brief xcb_list_fonts_reply_t
2799  **/
2800 typedef struct xcb_list_fonts_reply_t {
2801     uint8_t  response_type; /**<  */
2802     uint8_t  pad0; /**<  */
2803     uint16_t sequence; /**<  */
2804     uint32_t length; /**<  */
2805     uint16_t names_len; /**<  */
2806     uint8_t  pad1[22]; /**<  */
2807 } xcb_list_fonts_reply_t;
2808 
2809 /**
2810  * @brief xcb_list_fonts_with_info_cookie_t
2811  **/
2812 typedef struct xcb_list_fonts_with_info_cookie_t {
2813     unsigned int sequence; /**<  */
2814 } xcb_list_fonts_with_info_cookie_t;
2815 
2816 /** Opcode for xcb_list_fonts_with_info. */
2817 #define XCB_LIST_FONTS_WITH_INFO 50
2818 
2819 /**
2820  * @brief xcb_list_fonts_with_info_request_t
2821  **/
2822 typedef struct xcb_list_fonts_with_info_request_t {
2823     uint8_t  major_opcode; /**<  */
2824     uint8_t  pad0; /**<  */
2825     uint16_t length; /**<  */
2826     uint16_t max_names; /**<  */
2827     uint16_t pattern_len; /**<  */
2828 } xcb_list_fonts_with_info_request_t;
2829 
2830 /**
2831  * @brief xcb_list_fonts_with_info_reply_t
2832  **/
2833 typedef struct xcb_list_fonts_with_info_reply_t {
2834     uint8_t        response_type; /**<  */
2835     uint8_t        name_len; /**<  */
2836     uint16_t       sequence; /**<  */
2837     uint32_t       length; /**<  */
2838     xcb_charinfo_t min_bounds; /**<  */
2839     uint8_t        pad0[4]; /**<  */
2840     xcb_charinfo_t max_bounds; /**<  */
2841     uint8_t        pad1[4]; /**<  */
2842     uint16_t       min_char_or_byte2; /**<  */
2843     uint16_t       max_char_or_byte2; /**<  */
2844     uint16_t       default_char; /**<  */
2845     uint16_t       properties_len; /**<  */
2846     uint8_t        draw_direction; /**<  */
2847     uint8_t        min_byte1; /**<  */
2848     uint8_t        max_byte1; /**<  */
2849     uint8_t        all_chars_exist; /**<  */
2850     int16_t        font_ascent; /**<  */
2851     int16_t        font_descent; /**<  */
2852     uint32_t       replies_hint; /**<  */
2853 } xcb_list_fonts_with_info_reply_t;
2854 
2855 /** Opcode for xcb_set_font_path. */
2856 #define XCB_SET_FONT_PATH 51
2857 
2858 /**
2859  * @brief xcb_set_font_path_request_t
2860  **/
2861 typedef struct xcb_set_font_path_request_t {
2862     uint8_t  major_opcode; /**<  */
2863     uint8_t  pad0; /**<  */
2864     uint16_t length; /**<  */
2865     uint16_t font_qty; /**<  */
2866     uint8_t  pad1[2]; /**<  */
2867 } xcb_set_font_path_request_t;
2868 
2869 /**
2870  * @brief xcb_get_font_path_cookie_t
2871  **/
2872 typedef struct xcb_get_font_path_cookie_t {
2873     unsigned int sequence; /**<  */
2874 } xcb_get_font_path_cookie_t;
2875 
2876 /** Opcode for xcb_get_font_path. */
2877 #define XCB_GET_FONT_PATH 52
2878 
2879 /**
2880  * @brief xcb_get_font_path_request_t
2881  **/
2882 typedef struct xcb_get_font_path_request_t {
2883     uint8_t  major_opcode; /**<  */
2884     uint8_t  pad0; /**<  */
2885     uint16_t length; /**<  */
2886 } xcb_get_font_path_request_t;
2887 
2888 /**
2889  * @brief xcb_get_font_path_reply_t
2890  **/
2891 typedef struct xcb_get_font_path_reply_t {
2892     uint8_t  response_type; /**<  */
2893     uint8_t  pad0; /**<  */
2894     uint16_t sequence; /**<  */
2895     uint32_t length; /**<  */
2896     uint16_t path_len; /**<  */
2897     uint8_t  pad1[22]; /**<  */
2898 } xcb_get_font_path_reply_t;
2899 
2900 /** Opcode for xcb_create_pixmap. */
2901 #define XCB_CREATE_PIXMAP 53
2902 
2903 /**
2904  * @brief xcb_create_pixmap_request_t
2905  **/
2906 typedef struct xcb_create_pixmap_request_t {
2907     uint8_t        major_opcode; /**<  */
2908     uint8_t        depth; /**<  */
2909     uint16_t       length; /**<  */
2910     xcb_pixmap_t   pid; /**<  */
2911     xcb_drawable_t drawable; /**<  */
2912     uint16_t       width; /**<  */
2913     uint16_t       height; /**<  */
2914 } xcb_create_pixmap_request_t;
2915 
2916 /** Opcode for xcb_free_pixmap. */
2917 #define XCB_FREE_PIXMAP 54
2918 
2919 /**
2920  * @brief xcb_free_pixmap_request_t
2921  **/
2922 typedef struct xcb_free_pixmap_request_t {
2923     uint8_t      major_opcode; /**<  */
2924     uint8_t      pad0; /**<  */
2925     uint16_t     length; /**<  */
2926     xcb_pixmap_t pixmap; /**<  */
2927 } xcb_free_pixmap_request_t;
2928 
2929 typedef enum xcb_gc_t {
2930     XCB_GC_FUNCTION = 1,
2931 /**< TODO: Refer to GX */
2932 
2933     XCB_GC_PLANE_MASK = 2,
2934 /**< In graphics operations, given a source and destination pixel, the result is
2935 computed bitwise on corresponding bits of the pixels; that is, a Boolean
2936 operation is performed in each bit plane. The plane-mask restricts the
2937 operation to a subset of planes, so the result is:
2938 
2939         ((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask)) */
2940 
2941     XCB_GC_FOREGROUND = 4,
2942 /**< Foreground colorpixel. */
2943 
2944     XCB_GC_BACKGROUND = 8,
2945 /**< Background colorpixel. */
2946 
2947     XCB_GC_LINE_WIDTH = 16,
2948 /**< The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the
2949 special value zero, a thin line. */
2950 
2951     XCB_GC_LINE_STYLE = 32,
2952 /**< The line-style defines which sections of a line are drawn:
2953 Solid                The full path of the line is drawn.
2954 DoubleDash           The full path of the line is drawn, but the even dashes are filled differently
2955                      than the odd dashes (see fill-style), with Butt cap-style used where even and
2956                      odd dashes meet.
2957 OnOffDash            Only the even dashes are drawn, and cap-style applies to all internal ends of
2958                      the individual dashes (except NotLast is treated as Butt). */
2959 
2960     XCB_GC_CAP_STYLE = 64,
2961 /**< The cap-style defines how the endpoints of a path are drawn:
2962 NotLast    The result is equivalent to Butt, except that for a line-width of zero the final
2963            endpoint is not drawn.
2964 Butt       The result is square at the endpoint (perpendicular to the slope of the line)
2965            with no projection beyond.
2966 Round      The result is a circular arc with its diameter equal to the line-width, centered
2967            on the endpoint; it is equivalent to Butt for line-width zero.
2968 Projecting The result is square at the end, but the path continues beyond the endpoint for
2969            a distance equal to half the line-width; it is equivalent to Butt for line-width
2970            zero. */
2971 
2972     XCB_GC_JOIN_STYLE = 128,
2973 /**< The join-style defines how corners are drawn for wide lines:
2974 Miter               The outer edges of the two lines extend to meet at an angle. However, if the
2975                     angle is less than 11 degrees, a Bevel join-style is used instead.
2976 Round               The result is a circular arc with a diameter equal to the line-width, centered
2977                     on the joinpoint.
2978 Bevel               The result is Butt endpoint styles, and then the triangular notch is filled. */
2979 
2980     XCB_GC_FILL_STYLE = 256,
2981 /**< The fill-style defines the contents of the source for line, text, and fill requests. For all text and fill
2982 requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc)
2983 as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment,
2984 PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash
2985 or DoubleDash:
2986 Solid                     Foreground
2987 Tiled                     Tile
2988 OpaqueStippled            A tile with the same width and height as stipple but with background
2989                           everywhere stipple has a zero and with foreground everywhere stipple
2990                           has a one
2991 Stippled                  Foreground masked by stipple
2992 For the odd dashes for line requests with line-style DoubleDash:
2993 Solid                     Background
2994 Tiled                     Same as for even dashes
2995 OpaqueStippled            Same as for even dashes
2996 Stippled                  Background masked by stipple */
2997 
2998     XCB_GC_FILL_RULE = 512,
2999 /**<  */
3000 
3001     XCB_GC_TILE = 1024,
3002 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
3003 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
3004 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
3005 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
3006 origin of whatever destination drawable is specified in a graphics request.
3007 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
3008 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
3009 Match error results). For fill-style Stippled (but not fill-style
3010 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
3011 additional clip mask to be ANDed with the clip-mask.
3012 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
3013 others. */
3014 
3015     XCB_GC_STIPPLE = 2048,
3016 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
3017 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
3018 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
3019 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
3020 origin of whatever destination drawable is specified in a graphics request.
3021 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
3022 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
3023 Match error results). For fill-style Stippled (but not fill-style
3024 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
3025 additional clip mask to be ANDed with the clip-mask.
3026 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
3027 others. */
3028 
3029     XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096,
3030 /**< TODO */
3031 
3032     XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192,
3033 /**< TODO */
3034 
3035     XCB_GC_FONT = 16384,
3036 /**< Which font to use for the `ImageText8` and `ImageText16` requests. */
3037 
3038     XCB_GC_SUBWINDOW_MODE = 32768,
3039 /**< For ClipByChildren, both source and destination windows are additionally
3040 clipped by all viewable InputOutput children. For IncludeInferiors, neither
3041 source nor destination window is
3042 clipped by inferiors. This will result in including subwindow contents in the source and drawing
3043 through subwindow boundaries of the destination. The use of IncludeInferiors with a source or
3044 destination window of one depth with mapped inferiors of differing depth is not illegal, but the
3045 semantics is undefined by the core protocol. */
3046 
3047     XCB_GC_GRAPHICS_EXPOSURES = 65536,
3048 /**< Whether ExposureEvents should be generated (1) or not (0).
3049 
3050 The default is 1. */
3051 
3052     XCB_GC_CLIP_ORIGIN_X = 131072,
3053 /**< TODO */
3054 
3055     XCB_GC_CLIP_ORIGIN_Y = 262144,
3056 /**< TODO */
3057 
3058     XCB_GC_CLIP_MASK = 524288,
3059 /**< The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has
3060 bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where
3061 the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip
3062 sources. The clip-mask origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. If a pixmap is specified as the clip-mask, it must have
3063 depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None,
3064 then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the
3065 SetClipRectangles request. */
3066 
3067     XCB_GC_DASH_OFFSET = 1048576,
3068 /**< TODO */
3069 
3070     XCB_GC_DASH_LIST = 2097152,
3071 /**< TODO */
3072 
3073     XCB_GC_ARC_MODE = 4194304
3074 /**< TODO */
3075 
3076 } xcb_gc_t;
3077 
3078 typedef enum xcb_gx_t {
3079     XCB_GX_CLEAR = 0,
3080     XCB_GX_AND = 1,
3081     XCB_GX_AND_REVERSE = 2,
3082     XCB_GX_COPY = 3,
3083     XCB_GX_AND_INVERTED = 4,
3084     XCB_GX_NOOP = 5,
3085     XCB_GX_XOR = 6,
3086     XCB_GX_OR = 7,
3087     XCB_GX_NOR = 8,
3088     XCB_GX_EQUIV = 9,
3089     XCB_GX_INVERT = 10,
3090     XCB_GX_OR_REVERSE = 11,
3091     XCB_GX_COPY_INVERTED = 12,
3092     XCB_GX_OR_INVERTED = 13,
3093     XCB_GX_NAND = 14,
3094     XCB_GX_SET = 15
3095 } xcb_gx_t;
3096 
3097 typedef enum xcb_line_style_t {
3098     XCB_LINE_STYLE_SOLID = 0,
3099     XCB_LINE_STYLE_ON_OFF_DASH = 1,
3100     XCB_LINE_STYLE_DOUBLE_DASH = 2
3101 } xcb_line_style_t;
3102 
3103 typedef enum xcb_cap_style_t {
3104     XCB_CAP_STYLE_NOT_LAST = 0,
3105     XCB_CAP_STYLE_BUTT = 1,
3106     XCB_CAP_STYLE_ROUND = 2,
3107     XCB_CAP_STYLE_PROJECTING = 3
3108 } xcb_cap_style_t;
3109 
3110 typedef enum xcb_join_style_t {
3111     XCB_JOIN_STYLE_MITER = 0,
3112     XCB_JOIN_STYLE_ROUND = 1,
3113     XCB_JOIN_STYLE_BEVEL = 2
3114 } xcb_join_style_t;
3115 
3116 typedef enum xcb_fill_style_t {
3117     XCB_FILL_STYLE_SOLID = 0,
3118     XCB_FILL_STYLE_TILED = 1,
3119     XCB_FILL_STYLE_STIPPLED = 2,
3120     XCB_FILL_STYLE_OPAQUE_STIPPLED = 3
3121 } xcb_fill_style_t;
3122 
3123 typedef enum xcb_fill_rule_t {
3124     XCB_FILL_RULE_EVEN_ODD = 0,
3125     XCB_FILL_RULE_WINDING = 1
3126 } xcb_fill_rule_t;
3127 
3128 typedef enum xcb_subwindow_mode_t {
3129     XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0,
3130     XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1
3131 } xcb_subwindow_mode_t;
3132 
3133 typedef enum xcb_arc_mode_t {
3134     XCB_ARC_MODE_CHORD = 0,
3135     XCB_ARC_MODE_PIE_SLICE = 1
3136 } xcb_arc_mode_t;
3137 
3138 /** Opcode for xcb_create_gc. */
3139 #define XCB_CREATE_GC 55
3140 
3141 /**
3142  * @brief xcb_create_gc_request_t
3143  **/
3144 typedef struct xcb_create_gc_request_t {
3145     uint8_t        major_opcode; /**<  */
3146     uint8_t        pad0; /**<  */
3147     uint16_t       length; /**<  */
3148     xcb_gcontext_t cid; /**<  */
3149     xcb_drawable_t drawable; /**<  */
3150     uint32_t       value_mask; /**<  */
3151 } xcb_create_gc_request_t;
3152 
3153 /** Opcode for xcb_change_gc. */
3154 #define XCB_CHANGE_GC 56
3155 
3156 /**
3157  * @brief xcb_change_gc_request_t
3158  **/
3159 typedef struct xcb_change_gc_request_t {
3160     uint8_t        major_opcode; /**<  */
3161     uint8_t        pad0; /**<  */
3162     uint16_t       length; /**<  */
3163     xcb_gcontext_t gc; /**<  */
3164     uint32_t       value_mask; /**<  */
3165 } xcb_change_gc_request_t;
3166 
3167 /** Opcode for xcb_copy_gc. */
3168 #define XCB_COPY_GC 57
3169 
3170 /**
3171  * @brief xcb_copy_gc_request_t
3172  **/
3173 typedef struct xcb_copy_gc_request_t {
3174     uint8_t        major_opcode; /**<  */
3175     uint8_t        pad0; /**<  */
3176     uint16_t       length; /**<  */
3177     xcb_gcontext_t src_gc; /**<  */
3178     xcb_gcontext_t dst_gc; /**<  */
3179     uint32_t       value_mask; /**<  */
3180 } xcb_copy_gc_request_t;
3181 
3182 /** Opcode for xcb_set_dashes. */
3183 #define XCB_SET_DASHES 58
3184 
3185 /**
3186  * @brief xcb_set_dashes_request_t
3187  **/
3188 typedef struct xcb_set_dashes_request_t {
3189     uint8_t        major_opcode; /**<  */
3190     uint8_t        pad0; /**<  */
3191     uint16_t       length; /**<  */
3192     xcb_gcontext_t gc; /**<  */
3193     uint16_t       dash_offset; /**<  */
3194     uint16_t       dashes_len; /**<  */
3195 } xcb_set_dashes_request_t;
3196 
3197 typedef enum xcb_clip_ordering_t {
3198     XCB_CLIP_ORDERING_UNSORTED = 0,
3199     XCB_CLIP_ORDERING_Y_SORTED = 1,
3200     XCB_CLIP_ORDERING_YX_SORTED = 2,
3201     XCB_CLIP_ORDERING_YX_BANDED = 3
3202 } xcb_clip_ordering_t;
3203 
3204 /** Opcode for xcb_set_clip_rectangles. */
3205 #define XCB_SET_CLIP_RECTANGLES 59
3206 
3207 /**
3208  * @brief xcb_set_clip_rectangles_request_t
3209  **/
3210 typedef struct xcb_set_clip_rectangles_request_t {
3211     uint8_t        major_opcode; /**<  */
3212     uint8_t        ordering; /**<  */
3213     uint16_t       length; /**<  */
3214     xcb_gcontext_t gc; /**<  */
3215     int16_t        clip_x_origin; /**<  */
3216     int16_t        clip_y_origin; /**<  */
3217 } xcb_set_clip_rectangles_request_t;
3218 
3219 /** Opcode for xcb_free_gc. */
3220 #define XCB_FREE_GC 60
3221 
3222 /**
3223  * @brief xcb_free_gc_request_t
3224  **/
3225 typedef struct xcb_free_gc_request_t {
3226     uint8_t        major_opcode; /**<  */
3227     uint8_t        pad0; /**<  */
3228     uint16_t       length; /**<  */
3229     xcb_gcontext_t gc; /**<  */
3230 } xcb_free_gc_request_t;
3231 
3232 /** Opcode for xcb_clear_area. */
3233 #define XCB_CLEAR_AREA 61
3234 
3235 /**
3236  * @brief xcb_clear_area_request_t
3237  **/
3238 typedef struct xcb_clear_area_request_t {
3239     uint8_t      major_opcode; /**<  */
3240     uint8_t      exposures; /**<  */
3241     uint16_t     length; /**<  */
3242     xcb_window_t window; /**<  */
3243     int16_t      x; /**<  */
3244     int16_t      y; /**<  */
3245     uint16_t     width; /**<  */
3246     uint16_t     height; /**<  */
3247 } xcb_clear_area_request_t;
3248 
3249 /** Opcode for xcb_copy_area. */
3250 #define XCB_COPY_AREA 62
3251 
3252 /**
3253  * @brief xcb_copy_area_request_t
3254  **/
3255 typedef struct xcb_copy_area_request_t {
3256     uint8_t        major_opcode; /**<  */
3257     uint8_t        pad0; /**<  */
3258     uint16_t       length; /**<  */
3259     xcb_drawable_t src_drawable; /**<  */
3260     xcb_drawable_t dst_drawable; /**<  */
3261     xcb_gcontext_t gc; /**<  */
3262     int16_t        src_x; /**<  */
3263     int16_t        src_y; /**<  */
3264     int16_t        dst_x; /**<  */
3265     int16_t        dst_y; /**<  */
3266     uint16_t       width; /**<  */
3267     uint16_t       height; /**<  */
3268 } xcb_copy_area_request_t;
3269 
3270 /** Opcode for xcb_copy_plane. */
3271 #define XCB_COPY_PLANE 63
3272 
3273 /**
3274  * @brief xcb_copy_plane_request_t
3275  **/
3276 typedef struct xcb_copy_plane_request_t {
3277     uint8_t        major_opcode; /**<  */
3278     uint8_t        pad0; /**<  */
3279     uint16_t       length; /**<  */
3280     xcb_drawable_t src_drawable; /**<  */
3281     xcb_drawable_t dst_drawable; /**<  */
3282     xcb_gcontext_t gc; /**<  */
3283     int16_t        src_x; /**<  */
3284     int16_t        src_y; /**<  */
3285     int16_t        dst_x; /**<  */
3286     int16_t        dst_y; /**<  */
3287     uint16_t       width; /**<  */
3288     uint16_t       height; /**<  */
3289     uint32_t       bit_plane; /**<  */
3290 } xcb_copy_plane_request_t;
3291 
3292 typedef enum xcb_coord_mode_t {
3293     XCB_COORD_MODE_ORIGIN = 0,
3294 /**< Treats all coordinates as relative to the origin. */
3295 
3296     XCB_COORD_MODE_PREVIOUS = 1
3297 /**< Treats all coordinates after the first as relative to the previous coordinate. */
3298 
3299 } xcb_coord_mode_t;
3300 
3301 /** Opcode for xcb_poly_point. */
3302 #define XCB_POLY_POINT 64
3303 
3304 /**
3305  * @brief xcb_poly_point_request_t
3306  **/
3307 typedef struct xcb_poly_point_request_t {
3308     uint8_t        major_opcode; /**<  */
3309     uint8_t        coordinate_mode; /**<  */
3310     uint16_t       length; /**<  */
3311     xcb_drawable_t drawable; /**<  */
3312     xcb_gcontext_t gc; /**<  */
3313 } xcb_poly_point_request_t;
3314 
3315 /** Opcode for xcb_poly_line. */
3316 #define XCB_POLY_LINE 65
3317 
3318 /**
3319  * @brief xcb_poly_line_request_t
3320  **/
3321 typedef struct xcb_poly_line_request_t {
3322     uint8_t        major_opcode; /**<  */
3323     uint8_t        coordinate_mode; /**<  */
3324     uint16_t       length; /**<  */
3325     xcb_drawable_t drawable; /**<  */
3326     xcb_gcontext_t gc; /**<  */
3327 } xcb_poly_line_request_t;
3328 
3329 /**
3330  * @brief xcb_segment_t
3331  **/
3332 typedef struct xcb_segment_t {
3333     int16_t x1; /**<  */
3334     int16_t y1; /**<  */
3335     int16_t x2; /**<  */
3336     int16_t y2; /**<  */
3337 } xcb_segment_t;
3338 
3339 /**
3340  * @brief xcb_segment_iterator_t
3341  **/
3342 typedef struct xcb_segment_iterator_t {
3343     xcb_segment_t *data; /**<  */
3344     int            rem; /**<  */
3345     int            index; /**<  */
3346 } xcb_segment_iterator_t;
3347 
3348 /** Opcode for xcb_poly_segment. */
3349 #define XCB_POLY_SEGMENT 66
3350 
3351 /**
3352  * @brief xcb_poly_segment_request_t
3353  **/
3354 typedef struct xcb_poly_segment_request_t {
3355     uint8_t        major_opcode; /**<  */
3356     uint8_t        pad0; /**<  */
3357     uint16_t       length; /**<  */
3358     xcb_drawable_t drawable; /**<  */
3359     xcb_gcontext_t gc; /**<  */
3360 } xcb_poly_segment_request_t;
3361 
3362 /** Opcode for xcb_poly_rectangle. */
3363 #define XCB_POLY_RECTANGLE 67
3364 
3365 /**
3366  * @brief xcb_poly_rectangle_request_t
3367  **/
3368 typedef struct xcb_poly_rectangle_request_t {
3369     uint8_t        major_opcode; /**<  */
3370     uint8_t        pad0; /**<  */
3371     uint16_t       length; /**<  */
3372     xcb_drawable_t drawable; /**<  */
3373     xcb_gcontext_t gc; /**<  */
3374 } xcb_poly_rectangle_request_t;
3375 
3376 /** Opcode for xcb_poly_arc. */
3377 #define XCB_POLY_ARC 68
3378 
3379 /**
3380  * @brief xcb_poly_arc_request_t
3381  **/
3382 typedef struct xcb_poly_arc_request_t {
3383     uint8_t        major_opcode; /**<  */
3384     uint8_t        pad0; /**<  */
3385     uint16_t       length; /**<  */
3386     xcb_drawable_t drawable; /**<  */
3387     xcb_gcontext_t gc; /**<  */
3388 } xcb_poly_arc_request_t;
3389 
3390 typedef enum xcb_poly_shape_t {
3391     XCB_POLY_SHAPE_COMPLEX = 0,
3392     XCB_POLY_SHAPE_NONCONVEX = 1,
3393     XCB_POLY_SHAPE_CONVEX = 2
3394 } xcb_poly_shape_t;
3395 
3396 /** Opcode for xcb_fill_poly. */
3397 #define XCB_FILL_POLY 69
3398 
3399 /**
3400  * @brief xcb_fill_poly_request_t
3401  **/
3402 typedef struct xcb_fill_poly_request_t {
3403     uint8_t        major_opcode; /**<  */
3404     uint8_t        pad0; /**<  */
3405     uint16_t       length; /**<  */
3406     xcb_drawable_t drawable; /**<  */
3407     xcb_gcontext_t gc; /**<  */
3408     uint8_t        shape; /**<  */
3409     uint8_t        coordinate_mode; /**<  */
3410     uint8_t        pad1[2]; /**<  */
3411 } xcb_fill_poly_request_t;
3412 
3413 /** Opcode for xcb_poly_fill_rectangle. */
3414 #define XCB_POLY_FILL_RECTANGLE 70
3415 
3416 /**
3417  * @brief xcb_poly_fill_rectangle_request_t
3418  **/
3419 typedef struct xcb_poly_fill_rectangle_request_t {
3420     uint8_t        major_opcode; /**<  */
3421     uint8_t        pad0; /**<  */
3422     uint16_t       length; /**<  */
3423     xcb_drawable_t drawable; /**<  */
3424     xcb_gcontext_t gc; /**<  */
3425 } xcb_poly_fill_rectangle_request_t;
3426 
3427 /** Opcode for xcb_poly_fill_arc. */
3428 #define XCB_POLY_FILL_ARC 71
3429 
3430 /**
3431  * @brief xcb_poly_fill_arc_request_t
3432  **/
3433 typedef struct xcb_poly_fill_arc_request_t {
3434     uint8_t        major_opcode; /**<  */
3435     uint8_t        pad0; /**<  */
3436     uint16_t       length; /**<  */
3437     xcb_drawable_t drawable; /**<  */
3438     xcb_gcontext_t gc; /**<  */
3439 } xcb_poly_fill_arc_request_t;
3440 
3441 typedef enum xcb_image_format_t {
3442     XCB_IMAGE_FORMAT_XY_BITMAP = 0,
3443     XCB_IMAGE_FORMAT_XY_PIXMAP = 1,
3444     XCB_IMAGE_FORMAT_Z_PIXMAP = 2
3445 } xcb_image_format_t;
3446 
3447 /** Opcode for xcb_put_image. */
3448 #define XCB_PUT_IMAGE 72
3449 
3450 /**
3451  * @brief xcb_put_image_request_t
3452  **/
3453 typedef struct xcb_put_image_request_t {
3454     uint8_t        major_opcode; /**<  */
3455     uint8_t        format; /**<  */
3456     uint16_t       length; /**<  */
3457     xcb_drawable_t drawable; /**<  */
3458     xcb_gcontext_t gc; /**<  */
3459     uint16_t       width; /**<  */
3460     uint16_t       height; /**<  */
3461     int16_t        dst_x; /**<  */
3462     int16_t        dst_y; /**<  */
3463     uint8_t        left_pad; /**<  */
3464     uint8_t        depth; /**<  */
3465     uint8_t        pad0[2]; /**<  */
3466 } xcb_put_image_request_t;
3467 
3468 /**
3469  * @brief xcb_get_image_cookie_t
3470  **/
3471 typedef struct xcb_get_image_cookie_t {
3472     unsigned int sequence; /**<  */
3473 } xcb_get_image_cookie_t;
3474 
3475 /** Opcode for xcb_get_image. */
3476 #define XCB_GET_IMAGE 73
3477 
3478 /**
3479  * @brief xcb_get_image_request_t
3480  **/
3481 typedef struct xcb_get_image_request_t {
3482     uint8_t        major_opcode; /**<  */
3483     uint8_t        format; /**<  */
3484     uint16_t       length; /**<  */
3485     xcb_drawable_t drawable; /**<  */
3486     int16_t        x; /**<  */
3487     int16_t        y; /**<  */
3488     uint16_t       width; /**<  */
3489     uint16_t       height; /**<  */
3490     uint32_t       plane_mask; /**<  */
3491 } xcb_get_image_request_t;
3492 
3493 /**
3494  * @brief xcb_get_image_reply_t
3495  **/
3496 typedef struct xcb_get_image_reply_t {
3497     uint8_t        response_type; /**<  */
3498     uint8_t        depth; /**<  */
3499     uint16_t       sequence; /**<  */
3500     uint32_t       length; /**<  */
3501     xcb_visualid_t visual; /**<  */
3502     uint8_t        pad0[20]; /**<  */
3503 } xcb_get_image_reply_t;
3504 
3505 /** Opcode for xcb_poly_text_8. */
3506 #define XCB_POLY_TEXT_8 74
3507 
3508 /**
3509  * @brief xcb_poly_text_8_request_t
3510  **/
3511 typedef struct xcb_poly_text_8_request_t {
3512     uint8_t        major_opcode; /**<  */
3513     uint8_t        pad0; /**<  */
3514     uint16_t       length; /**<  */
3515     xcb_drawable_t drawable; /**<  */
3516     xcb_gcontext_t gc; /**<  */
3517     int16_t        x; /**<  */
3518     int16_t        y; /**<  */
3519 } xcb_poly_text_8_request_t;
3520 
3521 /** Opcode for xcb_poly_text_16. */
3522 #define XCB_POLY_TEXT_16 75
3523 
3524 /**
3525  * @brief xcb_poly_text_16_request_t
3526  **/
3527 typedef struct xcb_poly_text_16_request_t {
3528     uint8_t        major_opcode; /**<  */
3529     uint8_t        pad0; /**<  */
3530     uint16_t       length; /**<  */
3531     xcb_drawable_t drawable; /**<  */
3532     xcb_gcontext_t gc; /**<  */
3533     int16_t        x; /**<  */
3534     int16_t        y; /**<  */
3535 } xcb_poly_text_16_request_t;
3536 
3537 /** Opcode for xcb_image_text_8. */
3538 #define XCB_IMAGE_TEXT_8 76
3539 
3540 /**
3541  * @brief xcb_image_text_8_request_t
3542  **/
3543 typedef struct xcb_image_text_8_request_t {
3544     uint8_t        major_opcode; /**<  */
3545     uint8_t        string_len; /**<  */
3546     uint16_t       length; /**<  */
3547     xcb_drawable_t drawable; /**<  */
3548     xcb_gcontext_t gc; /**<  */
3549     int16_t        x; /**<  */
3550     int16_t        y; /**<  */
3551 } xcb_image_text_8_request_t;
3552 
3553 /** Opcode for xcb_image_text_16. */
3554 #define XCB_IMAGE_TEXT_16 77
3555 
3556 /**
3557  * @brief xcb_image_text_16_request_t
3558  **/
3559 typedef struct xcb_image_text_16_request_t {
3560     uint8_t        major_opcode; /**<  */
3561     uint8_t        string_len; /**<  */
3562     uint16_t       length; /**<  */
3563     xcb_drawable_t drawable; /**<  */
3564     xcb_gcontext_t gc; /**<  */
3565     int16_t        x; /**<  */
3566     int16_t        y; /**<  */
3567 } xcb_image_text_16_request_t;
3568 
3569 typedef enum xcb_colormap_alloc_t {
3570     XCB_COLORMAP_ALLOC_NONE = 0,
3571     XCB_COLORMAP_ALLOC_ALL = 1
3572 } xcb_colormap_alloc_t;
3573 
3574 /** Opcode for xcb_create_colormap. */
3575 #define XCB_CREATE_COLORMAP 78
3576 
3577 /**
3578  * @brief xcb_create_colormap_request_t
3579  **/
3580 typedef struct xcb_create_colormap_request_t {
3581     uint8_t        major_opcode; /**<  */
3582     uint8_t        alloc; /**<  */
3583     uint16_t       length; /**<  */
3584     xcb_colormap_t mid; /**<  */
3585     xcb_window_t   window; /**<  */
3586     xcb_visualid_t visual; /**<  */
3587 } xcb_create_colormap_request_t;
3588 
3589 /** Opcode for xcb_free_colormap. */
3590 #define XCB_FREE_COLORMAP 79
3591 
3592 /**
3593  * @brief xcb_free_colormap_request_t
3594  **/
3595 typedef struct xcb_free_colormap_request_t {
3596     uint8_t        major_opcode; /**<  */
3597     uint8_t        pad0; /**<  */
3598     uint16_t       length; /**<  */
3599     xcb_colormap_t cmap; /**<  */
3600 } xcb_free_colormap_request_t;
3601 
3602 /** Opcode for xcb_copy_colormap_and_free. */
3603 #define XCB_COPY_COLORMAP_AND_FREE 80
3604 
3605 /**
3606  * @brief xcb_copy_colormap_and_free_request_t
3607  **/
3608 typedef struct xcb_copy_colormap_and_free_request_t {
3609     uint8_t        major_opcode; /**<  */
3610     uint8_t        pad0; /**<  */
3611     uint16_t       length; /**<  */
3612     xcb_colormap_t mid; /**<  */
3613     xcb_colormap_t src_cmap; /**<  */
3614 } xcb_copy_colormap_and_free_request_t;
3615 
3616 /** Opcode for xcb_install_colormap. */
3617 #define XCB_INSTALL_COLORMAP 81
3618 
3619 /**
3620  * @brief xcb_install_colormap_request_t
3621  **/
3622 typedef struct xcb_install_colormap_request_t {
3623     uint8_t        major_opcode; /**<  */
3624     uint8_t        pad0; /**<  */
3625     uint16_t       length; /**<  */
3626     xcb_colormap_t cmap; /**<  */
3627 } xcb_install_colormap_request_t;
3628 
3629 /** Opcode for xcb_uninstall_colormap. */
3630 #define XCB_UNINSTALL_COLORMAP 82
3631 
3632 /**
3633  * @brief xcb_uninstall_colormap_request_t
3634  **/
3635 typedef struct xcb_uninstall_colormap_request_t {
3636     uint8_t        major_opcode; /**<  */
3637     uint8_t        pad0; /**<  */
3638     uint16_t       length; /**<  */
3639     xcb_colormap_t cmap; /**<  */
3640 } xcb_uninstall_colormap_request_t;
3641 
3642 /**
3643  * @brief xcb_list_installed_colormaps_cookie_t
3644  **/
3645 typedef struct xcb_list_installed_colormaps_cookie_t {
3646     unsigned int sequence; /**<  */
3647 } xcb_list_installed_colormaps_cookie_t;
3648 
3649 /** Opcode for xcb_list_installed_colormaps. */
3650 #define XCB_LIST_INSTALLED_COLORMAPS 83
3651 
3652 /**
3653  * @brief xcb_list_installed_colormaps_request_t
3654  **/
3655 typedef struct xcb_list_installed_colormaps_request_t {
3656     uint8_t      major_opcode; /**<  */
3657     uint8_t      pad0; /**<  */
3658     uint16_t     length; /**<  */
3659     xcb_window_t window; /**<  */
3660 } xcb_list_installed_colormaps_request_t;
3661 
3662 /**
3663  * @brief xcb_list_installed_colormaps_reply_t
3664  **/
3665 typedef struct xcb_list_installed_colormaps_reply_t {
3666     uint8_t  response_type; /**<  */
3667     uint8_t  pad0; /**<  */
3668     uint16_t sequence; /**<  */
3669     uint32_t length; /**<  */
3670     uint16_t cmaps_len; /**<  */
3671     uint8_t  pad1[22]; /**<  */
3672 } xcb_list_installed_colormaps_reply_t;
3673 
3674 /**
3675  * @brief xcb_alloc_color_cookie_t
3676  **/
3677 typedef struct xcb_alloc_color_cookie_t {
3678     unsigned int sequence; /**<  */
3679 } xcb_alloc_color_cookie_t;
3680 
3681 /** Opcode for xcb_alloc_color. */
3682 #define XCB_ALLOC_COLOR 84
3683 
3684 /**
3685  * @brief xcb_alloc_color_request_t
3686  **/
3687 typedef struct xcb_alloc_color_request_t {
3688     uint8_t        major_opcode; /**<  */
3689     uint8_t        pad0; /**<  */
3690     uint16_t       length; /**<  */
3691     xcb_colormap_t cmap; /**<  */
3692     uint16_t       red; /**<  */
3693     uint16_t       green; /**<  */
3694     uint16_t       blue; /**<  */
3695     uint8_t        pad1[2]; /**<  */
3696 } xcb_alloc_color_request_t;
3697 
3698 /**
3699  * @brief xcb_alloc_color_reply_t
3700  **/
3701 typedef struct xcb_alloc_color_reply_t {
3702     uint8_t  response_type; /**<  */
3703     uint8_t  pad0; /**<  */
3704     uint16_t sequence; /**<  */
3705     uint32_t length; /**<  */
3706     uint16_t red; /**<  */
3707     uint16_t green; /**<  */
3708     uint16_t blue; /**<  */
3709     uint8_t  pad1[2]; /**<  */
3710     uint32_t pixel; /**<  */
3711 } xcb_alloc_color_reply_t;
3712 
3713 /**
3714  * @brief xcb_alloc_named_color_cookie_t
3715  **/
3716 typedef struct xcb_alloc_named_color_cookie_t {
3717     unsigned int sequence; /**<  */
3718 } xcb_alloc_named_color_cookie_t;
3719 
3720 /** Opcode for xcb_alloc_named_color. */
3721 #define XCB_ALLOC_NAMED_COLOR 85
3722 
3723 /**
3724  * @brief xcb_alloc_named_color_request_t
3725  **/
3726 typedef struct xcb_alloc_named_color_request_t {
3727     uint8_t        major_opcode; /**<  */
3728     uint8_t        pad0; /**<  */
3729     uint16_t       length; /**<  */
3730     xcb_colormap_t cmap; /**<  */
3731     uint16_t       name_len; /**<  */
3732     uint8_t        pad1[2]; /**<  */
3733 } xcb_alloc_named_color_request_t;
3734 
3735 /**
3736  * @brief xcb_alloc_named_color_reply_t
3737  **/
3738 typedef struct xcb_alloc_named_color_reply_t {
3739     uint8_t  response_type; /**<  */
3740     uint8_t  pad0; /**<  */
3741     uint16_t sequence; /**<  */
3742     uint32_t length; /**<  */
3743     uint32_t pixel; /**<  */
3744     uint16_t exact_red; /**<  */
3745     uint16_t exact_green; /**<  */
3746     uint16_t exact_blue; /**<  */
3747     uint16_t visual_red; /**<  */
3748     uint16_t visual_green; /**<  */
3749     uint16_t visual_blue; /**<  */
3750 } xcb_alloc_named_color_reply_t;
3751 
3752 /**
3753  * @brief xcb_alloc_color_cells_cookie_t
3754  **/
3755 typedef struct xcb_alloc_color_cells_cookie_t {
3756     unsigned int sequence; /**<  */
3757 } xcb_alloc_color_cells_cookie_t;
3758 
3759 /** Opcode for xcb_alloc_color_cells. */
3760 #define XCB_ALLOC_COLOR_CELLS 86
3761 
3762 /**
3763  * @brief xcb_alloc_color_cells_request_t
3764  **/
3765 typedef struct xcb_alloc_color_cells_request_t {
3766     uint8_t        major_opcode; /**<  */
3767     uint8_t        contiguous; /**<  */
3768     uint16_t       length; /**<  */
3769     xcb_colormap_t cmap; /**<  */
3770     uint16_t       colors; /**<  */
3771     uint16_t       planes; /**<  */
3772 } xcb_alloc_color_cells_request_t;
3773 
3774 /**
3775  * @brief xcb_alloc_color_cells_reply_t
3776  **/
3777 typedef struct xcb_alloc_color_cells_reply_t {
3778     uint8_t  response_type; /**<  */
3779     uint8_t  pad0; /**<  */
3780     uint16_t sequence; /**<  */
3781     uint32_t length; /**<  */
3782     uint16_t pixels_len; /**<  */
3783     uint16_t masks_len; /**<  */
3784     uint8_t  pad1[20]; /**<  */
3785 } xcb_alloc_color_cells_reply_t;
3786 
3787 /**
3788  * @brief xcb_alloc_color_planes_cookie_t
3789  **/
3790 typedef struct xcb_alloc_color_planes_cookie_t {
3791     unsigned int sequence; /**<  */
3792 } xcb_alloc_color_planes_cookie_t;
3793 
3794 /** Opcode for xcb_alloc_color_planes. */
3795 #define XCB_ALLOC_COLOR_PLANES 87
3796 
3797 /**
3798  * @brief xcb_alloc_color_planes_request_t
3799  **/
3800 typedef struct xcb_alloc_color_planes_request_t {
3801     uint8_t        major_opcode; /**<  */
3802     uint8_t        contiguous; /**<  */
3803     uint16_t       length; /**<  */
3804     xcb_colormap_t cmap; /**<  */
3805     uint16_t       colors; /**<  */
3806     uint16_t       reds; /**<  */
3807     uint16_t       greens; /**<  */
3808     uint16_t       blues; /**<  */
3809 } xcb_alloc_color_planes_request_t;
3810 
3811 /**
3812  * @brief xcb_alloc_color_planes_reply_t
3813  **/
3814 typedef struct xcb_alloc_color_planes_reply_t {
3815     uint8_t  response_type; /**<  */
3816     uint8_t  pad0; /**<  */
3817     uint16_t sequence; /**<  */
3818     uint32_t length; /**<  */
3819     uint16_t pixels_len; /**<  */
3820     uint8_t  pad1[2]; /**<  */
3821     uint32_t red_mask; /**<  */
3822     uint32_t green_mask; /**<  */
3823     uint32_t blue_mask; /**<  */
3824     uint8_t  pad2[8]; /**<  */
3825 } xcb_alloc_color_planes_reply_t;
3826 
3827 /** Opcode for xcb_free_colors. */
3828 #define XCB_FREE_COLORS 88
3829 
3830 /**
3831  * @brief xcb_free_colors_request_t
3832  **/
3833 typedef struct xcb_free_colors_request_t {
3834     uint8_t        major_opcode; /**<  */
3835     uint8_t        pad0; /**<  */
3836     uint16_t       length; /**<  */
3837     xcb_colormap_t cmap; /**<  */
3838     uint32_t       plane_mask; /**<  */
3839 } xcb_free_colors_request_t;
3840 
3841 typedef enum xcb_color_flag_t {
3842     XCB_COLOR_FLAG_RED = 1,
3843     XCB_COLOR_FLAG_GREEN = 2,
3844     XCB_COLOR_FLAG_BLUE = 4
3845 } xcb_color_flag_t;
3846 
3847 /**
3848  * @brief xcb_coloritem_t
3849  **/
3850 typedef struct xcb_coloritem_t {
3851     uint32_t pixel; /**<  */
3852     uint16_t red; /**<  */
3853     uint16_t green; /**<  */
3854     uint16_t blue; /**<  */
3855     uint8_t  flags; /**<  */
3856     uint8_t  pad0; /**<  */
3857 } xcb_coloritem_t;
3858 
3859 /**
3860  * @brief xcb_coloritem_iterator_t
3861  **/
3862 typedef struct xcb_coloritem_iterator_t {
3863     xcb_coloritem_t *data; /**<  */
3864     int              rem; /**<  */
3865     int              index; /**<  */
3866 } xcb_coloritem_iterator_t;
3867 
3868 /** Opcode for xcb_store_colors. */
3869 #define XCB_STORE_COLORS 89
3870 
3871 /**
3872  * @brief xcb_store_colors_request_t
3873  **/
3874 typedef struct xcb_store_colors_request_t {
3875     uint8_t        major_opcode; /**<  */
3876     uint8_t        pad0; /**<  */
3877     uint16_t       length; /**<  */
3878     xcb_colormap_t cmap; /**<  */
3879 } xcb_store_colors_request_t;
3880 
3881 /** Opcode for xcb_store_named_color. */
3882 #define XCB_STORE_NAMED_COLOR 90
3883 
3884 /**
3885  * @brief xcb_store_named_color_request_t
3886  **/
3887 typedef struct xcb_store_named_color_request_t {
3888     uint8_t        major_opcode; /**<  */
3889     uint8_t        flags; /**<  */
3890     uint16_t       length; /**<  */
3891     xcb_colormap_t cmap; /**<  */
3892     uint32_t       pixel; /**<  */
3893     uint16_t       name_len; /**<  */
3894     uint8_t        pad0[2]; /**<  */
3895 } xcb_store_named_color_request_t;
3896 
3897 /**
3898  * @brief xcb_rgb_t
3899  **/
3900 typedef struct xcb_rgb_t {
3901     uint16_t red; /**<  */
3902     uint16_t green; /**<  */
3903     uint16_t blue; /**<  */
3904     uint8_t  pad0[2]; /**<  */
3905 } xcb_rgb_t;
3906 
3907 /**
3908  * @brief xcb_rgb_iterator_t
3909  **/
3910 typedef struct xcb_rgb_iterator_t {
3911     xcb_rgb_t *data; /**<  */
3912     int        rem; /**<  */
3913     int        index; /**<  */
3914 } xcb_rgb_iterator_t;
3915 
3916 /**
3917  * @brief xcb_query_colors_cookie_t
3918  **/
3919 typedef struct xcb_query_colors_cookie_t {
3920     unsigned int sequence; /**<  */
3921 } xcb_query_colors_cookie_t;
3922 
3923 /** Opcode for xcb_query_colors. */
3924 #define XCB_QUERY_COLORS 91
3925 
3926 /**
3927  * @brief xcb_query_colors_request_t
3928  **/
3929 typedef struct xcb_query_colors_request_t {
3930     uint8_t        major_opcode; /**<  */
3931     uint8_t        pad0; /**<  */
3932     uint16_t       length; /**<  */
3933     xcb_colormap_t cmap; /**<  */
3934 } xcb_query_colors_request_t;
3935 
3936 /**
3937  * @brief xcb_query_colors_reply_t
3938  **/
3939 typedef struct xcb_query_colors_reply_t {
3940     uint8_t  response_type; /**<  */
3941     uint8_t  pad0; /**<  */
3942     uint16_t sequence; /**<  */
3943     uint32_t length; /**<  */
3944     uint16_t colors_len; /**<  */
3945     uint8_t  pad1[22]; /**<  */
3946 } xcb_query_colors_reply_t;
3947 
3948 /**
3949  * @brief xcb_lookup_color_cookie_t
3950  **/
3951 typedef struct xcb_lookup_color_cookie_t {
3952     unsigned int sequence; /**<  */
3953 } xcb_lookup_color_cookie_t;
3954 
3955 /** Opcode for xcb_lookup_color. */
3956 #define XCB_LOOKUP_COLOR 92
3957 
3958 /**
3959  * @brief xcb_lookup_color_request_t
3960  **/
3961 typedef struct xcb_lookup_color_request_t {
3962     uint8_t        major_opcode; /**<  */
3963     uint8_t        pad0; /**<  */
3964     uint16_t       length; /**<  */
3965     xcb_colormap_t cmap; /**<  */
3966     uint16_t       name_len; /**<  */
3967     uint8_t        pad1[2]; /**<  */
3968 } xcb_lookup_color_request_t;
3969 
3970 /**
3971  * @brief xcb_lookup_color_reply_t
3972  **/
3973 typedef struct xcb_lookup_color_reply_t {
3974     uint8_t  response_type; /**<  */
3975     uint8_t  pad0; /**<  */
3976     uint16_t sequence; /**<  */
3977     uint32_t length; /**<  */
3978     uint16_t exact_red; /**<  */
3979     uint16_t exact_green; /**<  */
3980     uint16_t exact_blue; /**<  */
3981     uint16_t visual_red; /**<  */
3982     uint16_t visual_green; /**<  */
3983     uint16_t visual_blue; /**<  */
3984 } xcb_lookup_color_reply_t;
3985 
3986 typedef enum xcb_pixmap_enum_t {
3987     XCB_PIXMAP_NONE = 0
3988 } xcb_pixmap_enum_t;
3989 
3990 /** Opcode for xcb_create_cursor. */
3991 #define XCB_CREATE_CURSOR 93
3992 
3993 /**
3994  * @brief xcb_create_cursor_request_t
3995  **/
3996 typedef struct xcb_create_cursor_request_t {
3997     uint8_t      major_opcode; /**<  */
3998     uint8_t      pad0; /**<  */
3999     uint16_t     length; /**<  */
4000     xcb_cursor_t cid; /**<  */
4001     xcb_pixmap_t source; /**<  */
4002     xcb_pixmap_t mask; /**<  */
4003     uint16_t     fore_red; /**<  */
4004     uint16_t     fore_green; /**<  */
4005     uint16_t     fore_blue; /**<  */
4006     uint16_t     back_red; /**<  */
4007     uint16_t     back_green; /**<  */
4008     uint16_t     back_blue; /**<  */
4009     uint16_t     x; /**<  */
4010     uint16_t     y; /**<  */
4011 } xcb_create_cursor_request_t;
4012 
4013 typedef enum xcb_font_enum_t {
4014     XCB_FONT_NONE = 0
4015 } xcb_font_enum_t;
4016 
4017 /** Opcode for xcb_create_glyph_cursor. */
4018 #define XCB_CREATE_GLYPH_CURSOR 94
4019 
4020 /**
4021  * @brief xcb_create_glyph_cursor_request_t
4022  **/
4023 typedef struct xcb_create_glyph_cursor_request_t {
4024     uint8_t      major_opcode; /**<  */
4025     uint8_t      pad0; /**<  */
4026     uint16_t     length; /**<  */
4027     xcb_cursor_t cid; /**<  */
4028     xcb_font_t   source_font; /**<  */
4029     xcb_font_t   mask_font; /**<  */
4030     uint16_t     source_char; /**<  */
4031     uint16_t     mask_char; /**<  */
4032     uint16_t     fore_red; /**<  */
4033     uint16_t     fore_green; /**<  */
4034     uint16_t     fore_blue; /**<  */
4035     uint16_t     back_red; /**<  */
4036     uint16_t     back_green; /**<  */
4037     uint16_t     back_blue; /**<  */
4038 } xcb_create_glyph_cursor_request_t;
4039 
4040 /** Opcode for xcb_free_cursor. */
4041 #define XCB_FREE_CURSOR 95
4042 
4043 /**
4044  * @brief xcb_free_cursor_request_t
4045  **/
4046 typedef struct xcb_free_cursor_request_t {
4047     uint8_t      major_opcode; /**<  */
4048     uint8_t      pad0; /**<  */
4049     uint16_t     length; /**<  */
4050     xcb_cursor_t cursor; /**<  */
4051 } xcb_free_cursor_request_t;
4052 
4053 /** Opcode for xcb_recolor_cursor. */
4054 #define XCB_RECOLOR_CURSOR 96
4055 
4056 /**
4057  * @brief xcb_recolor_cursor_request_t
4058  **/
4059 typedef struct xcb_recolor_cursor_request_t {
4060     uint8_t      major_opcode; /**<  */
4061     uint8_t      pad0; /**<  */
4062     uint16_t     length; /**<  */
4063     xcb_cursor_t cursor; /**<  */
4064     uint16_t     fore_red; /**<  */
4065     uint16_t     fore_green; /**<  */
4066     uint16_t     fore_blue; /**<  */
4067     uint16_t     back_red; /**<  */
4068     uint16_t     back_green; /**<  */
4069     uint16_t     back_blue; /**<  */
4070 } xcb_recolor_cursor_request_t;
4071 
4072 typedef enum xcb_query_shape_of_t {
4073     XCB_QUERY_SHAPE_OF_LARGEST_CURSOR = 0,
4074     XCB_QUERY_SHAPE_OF_FASTEST_TILE = 1,
4075     XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE = 2
4076 } xcb_query_shape_of_t;
4077 
4078 /**
4079  * @brief xcb_query_best_size_cookie_t
4080  **/
4081 typedef struct xcb_query_best_size_cookie_t {
4082     unsigned int sequence; /**<  */
4083 } xcb_query_best_size_cookie_t;
4084 
4085 /** Opcode for xcb_query_best_size. */
4086 #define XCB_QUERY_BEST_SIZE 97
4087 
4088 /**
4089  * @brief xcb_query_best_size_request_t
4090  **/
4091 typedef struct xcb_query_best_size_request_t {
4092     uint8_t        major_opcode; /**<  */
4093     uint8_t        _class; /**<  */
4094     uint16_t       length; /**<  */
4095     xcb_drawable_t drawable; /**<  */
4096     uint16_t       width; /**<  */
4097     uint16_t       height; /**<  */
4098 } xcb_query_best_size_request_t;
4099 
4100 /**
4101  * @brief xcb_query_best_size_reply_t
4102  **/
4103 typedef struct xcb_query_best_size_reply_t {
4104     uint8_t  response_type; /**<  */
4105     uint8_t  pad0; /**<  */
4106     uint16_t sequence; /**<  */
4107     uint32_t length; /**<  */
4108     uint16_t width; /**<  */
4109     uint16_t height; /**<  */
4110 } xcb_query_best_size_reply_t;
4111 
4112 /**
4113  * @brief xcb_query_extension_cookie_t
4114  **/
4115 typedef struct xcb_query_extension_cookie_t {
4116     unsigned int sequence; /**<  */
4117 } xcb_query_extension_cookie_t;
4118 
4119 /** Opcode for xcb_query_extension. */
4120 #define XCB_QUERY_EXTENSION 98
4121 
4122 /**
4123  * @brief xcb_query_extension_request_t
4124  **/
4125 typedef struct xcb_query_extension_request_t {
4126     uint8_t  major_opcode; /**<  */
4127     uint8_t  pad0; /**<  */
4128     uint16_t length; /**<  */
4129     uint16_t name_len; /**<  */
4130     uint8_t  pad1[2]; /**<  */
4131 } xcb_query_extension_request_t;
4132 
4133 /**
4134  * @brief xcb_query_extension_reply_t
4135  **/
4136 typedef struct xcb_query_extension_reply_t {
4137     uint8_t  response_type; /**<  */
4138     uint8_t  pad0; /**<  */
4139     uint16_t sequence; /**<  */
4140     uint32_t length; /**<  */
4141     uint8_t  present; /**<  */
4142     uint8_t  major_opcode; /**<  */
4143     uint8_t  first_event; /**<  */
4144     uint8_t  first_error; /**<  */
4145 } xcb_query_extension_reply_t;
4146 
4147 /**
4148  * @brief xcb_list_extensions_cookie_t
4149  **/
4150 typedef struct xcb_list_extensions_cookie_t {
4151     unsigned int sequence; /**<  */
4152 } xcb_list_extensions_cookie_t;
4153 
4154 /** Opcode for xcb_list_extensions. */
4155 #define XCB_LIST_EXTENSIONS 99
4156 
4157 /**
4158  * @brief xcb_list_extensions_request_t
4159  **/
4160 typedef struct xcb_list_extensions_request_t {
4161     uint8_t  major_opcode; /**<  */
4162     uint8_t  pad0; /**<  */
4163     uint16_t length; /**<  */
4164 } xcb_list_extensions_request_t;
4165 
4166 /**
4167  * @brief xcb_list_extensions_reply_t
4168  **/
4169 typedef struct xcb_list_extensions_reply_t {
4170     uint8_t  response_type; /**<  */
4171     uint8_t  names_len; /**<  */
4172     uint16_t sequence; /**<  */
4173     uint32_t length; /**<  */
4174     uint8_t  pad0[24]; /**<  */
4175 } xcb_list_extensions_reply_t;
4176 
4177 /** Opcode for xcb_change_keyboard_mapping. */
4178 #define XCB_CHANGE_KEYBOARD_MAPPING 100
4179 
4180 /**
4181  * @brief xcb_change_keyboard_mapping_request_t
4182  **/
4183 typedef struct xcb_change_keyboard_mapping_request_t {
4184     uint8_t       major_opcode; /**<  */
4185     uint8_t       keycode_count; /**<  */
4186     uint16_t      length; /**<  */
4187     xcb_keycode_t first_keycode; /**<  */
4188     uint8_t       keysyms_per_keycode; /**<  */
4189     uint8_t       pad0[2]; /**<  */
4190 } xcb_change_keyboard_mapping_request_t;
4191 
4192 /**
4193  * @brief xcb_get_keyboard_mapping_cookie_t
4194  **/
4195 typedef struct xcb_get_keyboard_mapping_cookie_t {
4196     unsigned int sequence; /**<  */
4197 } xcb_get_keyboard_mapping_cookie_t;
4198 
4199 /** Opcode for xcb_get_keyboard_mapping. */
4200 #define XCB_GET_KEYBOARD_MAPPING 101
4201 
4202 /**
4203  * @brief xcb_get_keyboard_mapping_request_t
4204  **/
4205 typedef struct xcb_get_keyboard_mapping_request_t {
4206     uint8_t       major_opcode; /**<  */
4207     uint8_t       pad0; /**<  */
4208     uint16_t      length; /**<  */
4209     xcb_keycode_t first_keycode; /**<  */
4210     uint8_t       count; /**<  */
4211 } xcb_get_keyboard_mapping_request_t;
4212 
4213 /**
4214  * @brief xcb_get_keyboard_mapping_reply_t
4215  **/
4216 typedef struct xcb_get_keyboard_mapping_reply_t {
4217     uint8_t  response_type; /**<  */
4218     uint8_t  keysyms_per_keycode; /**<  */
4219     uint16_t sequence; /**<  */
4220     uint32_t length; /**<  */
4221     uint8_t  pad0[24]; /**<  */
4222 } xcb_get_keyboard_mapping_reply_t;
4223 
4224 typedef enum xcb_kb_t {
4225     XCB_KB_KEY_CLICK_PERCENT = 1,
4226     XCB_KB_BELL_PERCENT = 2,
4227     XCB_KB_BELL_PITCH = 4,
4228     XCB_KB_BELL_DURATION = 8,
4229     XCB_KB_LED = 16,
4230     XCB_KB_LED_MODE = 32,
4231     XCB_KB_KEY = 64,
4232     XCB_KB_AUTO_REPEAT_MODE = 128
4233 } xcb_kb_t;
4234 
4235 typedef enum xcb_led_mode_t {
4236     XCB_LED_MODE_OFF = 0,
4237     XCB_LED_MODE_ON = 1
4238 } xcb_led_mode_t;
4239 
4240 typedef enum xcb_auto_repeat_mode_t {
4241     XCB_AUTO_REPEAT_MODE_OFF = 0,
4242     XCB_AUTO_REPEAT_MODE_ON = 1,
4243     XCB_AUTO_REPEAT_MODE_DEFAULT = 2
4244 } xcb_auto_repeat_mode_t;
4245 
4246 /** Opcode for xcb_change_keyboard_control. */
4247 #define XCB_CHANGE_KEYBOARD_CONTROL 102
4248 
4249 /**
4250  * @brief xcb_change_keyboard_control_request_t
4251  **/
4252 typedef struct xcb_change_keyboard_control_request_t {
4253     uint8_t  major_opcode; /**<  */
4254     uint8_t  pad0; /**<  */
4255     uint16_t length; /**<  */
4256     uint32_t value_mask; /**<  */
4257 } xcb_change_keyboard_control_request_t;
4258 
4259 /**
4260  * @brief xcb_get_keyboard_control_cookie_t
4261  **/
4262 typedef struct xcb_get_keyboard_control_cookie_t {
4263     unsigned int sequence; /**<  */
4264 } xcb_get_keyboard_control_cookie_t;
4265 
4266 /** Opcode for xcb_get_keyboard_control. */
4267 #define XCB_GET_KEYBOARD_CONTROL 103
4268 
4269 /**
4270  * @brief xcb_get_keyboard_control_request_t
4271  **/
4272 typedef struct xcb_get_keyboard_control_request_t {
4273     uint8_t  major_opcode; /**<  */
4274     uint8_t  pad0; /**<  */
4275     uint16_t length; /**<  */
4276 } xcb_get_keyboard_control_request_t;
4277 
4278 /**
4279  * @brief xcb_get_keyboard_control_reply_t
4280  **/
4281 typedef struct xcb_get_keyboard_control_reply_t {
4282     uint8_t  response_type; /**<  */
4283     uint8_t  global_auto_repeat; /**<  */
4284     uint16_t sequence; /**<  */
4285     uint32_t length; /**<  */
4286     uint32_t led_mask; /**<  */
4287     uint8_t  key_click_percent; /**<  */
4288     uint8_t  bell_percent; /**<  */
4289     uint16_t bell_pitch; /**<  */
4290     uint16_t bell_duration; /**<  */
4291     uint8_t  pad0[2]; /**<  */
4292     uint8_t  auto_repeats[32]; /**<  */
4293 } xcb_get_keyboard_control_reply_t;
4294 
4295 /** Opcode for xcb_bell. */
4296 #define XCB_BELL 104
4297 
4298 /**
4299  * @brief xcb_bell_request_t
4300  **/
4301 typedef struct xcb_bell_request_t {
4302     uint8_t  major_opcode; /**<  */
4303     int8_t   percent; /**<  */
4304     uint16_t length; /**<  */
4305 } xcb_bell_request_t;
4306 
4307 /** Opcode for xcb_change_pointer_control. */
4308 #define XCB_CHANGE_POINTER_CONTROL 105
4309 
4310 /**
4311  * @brief xcb_change_pointer_control_request_t
4312  **/
4313 typedef struct xcb_change_pointer_control_request_t {
4314     uint8_t  major_opcode; /**<  */
4315     uint8_t  pad0; /**<  */
4316     uint16_t length; /**<  */
4317     int16_t  acceleration_numerator; /**<  */
4318     int16_t  acceleration_denominator; /**<  */
4319     int16_t  threshold; /**<  */
4320     uint8_t  do_acceleration; /**<  */
4321     uint8_t  do_threshold; /**<  */
4322 } xcb_change_pointer_control_request_t;
4323 
4324 /**
4325  * @brief xcb_get_pointer_control_cookie_t
4326  **/
4327 typedef struct xcb_get_pointer_control_cookie_t {
4328     unsigned int sequence; /**<  */
4329 } xcb_get_pointer_control_cookie_t;
4330 
4331 /** Opcode for xcb_get_pointer_control. */
4332 #define XCB_GET_POINTER_CONTROL 106
4333 
4334 /**
4335  * @brief xcb_get_pointer_control_request_t
4336  **/
4337 typedef struct xcb_get_pointer_control_request_t {
4338     uint8_t  major_opcode; /**<  */
4339     uint8_t  pad0; /**<  */
4340     uint16_t length; /**<  */
4341 } xcb_get_pointer_control_request_t;
4342 
4343 /**
4344  * @brief xcb_get_pointer_control_reply_t
4345  **/
4346 typedef struct xcb_get_pointer_control_reply_t {
4347     uint8_t  response_type; /**<  */
4348     uint8_t  pad0; /**<  */
4349     uint16_t sequence; /**<  */
4350     uint32_t length; /**<  */
4351     uint16_t acceleration_numerator; /**<  */
4352     uint16_t acceleration_denominator; /**<  */
4353     uint16_t threshold; /**<  */
4354     uint8_t  pad1[18]; /**<  */
4355 } xcb_get_pointer_control_reply_t;
4356 
4357 typedef enum xcb_blanking_t {
4358     XCB_BLANKING_NOT_PREFERRED = 0,
4359     XCB_BLANKING_PREFERRED = 1,
4360     XCB_BLANKING_DEFAULT = 2
4361 } xcb_blanking_t;
4362 
4363 typedef enum xcb_exposures_t {
4364     XCB_EXPOSURES_NOT_ALLOWED = 0,
4365     XCB_EXPOSURES_ALLOWED = 1,
4366     XCB_EXPOSURES_DEFAULT = 2
4367 } xcb_exposures_t;
4368 
4369 /** Opcode for xcb_set_screen_saver. */
4370 #define XCB_SET_SCREEN_SAVER 107
4371 
4372 /**
4373  * @brief xcb_set_screen_saver_request_t
4374  **/
4375 typedef struct xcb_set_screen_saver_request_t {
4376     uint8_t  major_opcode; /**<  */
4377     uint8_t  pad0; /**<  */
4378     uint16_t length; /**<  */
4379     int16_t  timeout; /**<  */
4380     int16_t  interval; /**<  */
4381     uint8_t  prefer_blanking; /**<  */
4382     uint8_t  allow_exposures; /**<  */
4383 } xcb_set_screen_saver_request_t;
4384 
4385 /**
4386  * @brief xcb_get_screen_saver_cookie_t
4387  **/
4388 typedef struct xcb_get_screen_saver_cookie_t {
4389     unsigned int sequence; /**<  */
4390 } xcb_get_screen_saver_cookie_t;
4391 
4392 /** Opcode for xcb_get_screen_saver. */
4393 #define XCB_GET_SCREEN_SAVER 108
4394 
4395 /**
4396  * @brief xcb_get_screen_saver_request_t
4397  **/
4398 typedef struct xcb_get_screen_saver_request_t {
4399     uint8_t  major_opcode; /**<  */
4400     uint8_t  pad0; /**<  */
4401     uint16_t length; /**<  */
4402 } xcb_get_screen_saver_request_t;
4403 
4404 /**
4405  * @brief xcb_get_screen_saver_reply_t
4406  **/
4407 typedef struct xcb_get_screen_saver_reply_t {
4408     uint8_t  response_type; /**<  */
4409     uint8_t  pad0; /**<  */
4410     uint16_t sequence; /**<  */
4411     uint32_t length; /**<  */
4412     uint16_t timeout; /**<  */
4413     uint16_t interval; /**<  */
4414     uint8_t  prefer_blanking; /**<  */
4415     uint8_t  allow_exposures; /**<  */
4416     uint8_t  pad1[18]; /**<  */
4417 } xcb_get_screen_saver_reply_t;
4418 
4419 typedef enum xcb_host_mode_t {
4420     XCB_HOST_MODE_INSERT = 0,
4421     XCB_HOST_MODE_DELETE = 1
4422 } xcb_host_mode_t;
4423 
4424 typedef enum xcb_family_t {
4425     XCB_FAMILY_INTERNET = 0,
4426     XCB_FAMILY_DECNET = 1,
4427     XCB_FAMILY_CHAOS = 2,
4428     XCB_FAMILY_SERVER_INTERPRETED = 5,
4429     XCB_FAMILY_INTERNET_6 = 6
4430 } xcb_family_t;
4431 
4432 /** Opcode for xcb_change_hosts. */
4433 #define XCB_CHANGE_HOSTS 109
4434 
4435 /**
4436  * @brief xcb_change_hosts_request_t
4437  **/
4438 typedef struct xcb_change_hosts_request_t {
4439     uint8_t  major_opcode; /**<  */
4440     uint8_t  mode; /**<  */
4441     uint16_t length; /**<  */
4442     uint8_t  family; /**<  */
4443     uint8_t  pad0; /**<  */
4444     uint16_t address_len; /**<  */
4445 } xcb_change_hosts_request_t;
4446 
4447 /**
4448  * @brief xcb_host_t
4449  **/
4450 typedef struct xcb_host_t {
4451     uint8_t  family; /**<  */
4452     uint8_t  pad0; /**<  */
4453     uint16_t address_len; /**<  */
4454 } xcb_host_t;
4455 
4456 /**
4457  * @brief xcb_host_iterator_t
4458  **/
4459 typedef struct xcb_host_iterator_t {
4460     xcb_host_t *data; /**<  */
4461     int         rem; /**<  */
4462     int         index; /**<  */
4463 } xcb_host_iterator_t;
4464 
4465 /**
4466  * @brief xcb_list_hosts_cookie_t
4467  **/
4468 typedef struct xcb_list_hosts_cookie_t {
4469     unsigned int sequence; /**<  */
4470 } xcb_list_hosts_cookie_t;
4471 
4472 /** Opcode for xcb_list_hosts. */
4473 #define XCB_LIST_HOSTS 110
4474 
4475 /**
4476  * @brief xcb_list_hosts_request_t
4477  **/
4478 typedef struct xcb_list_hosts_request_t {
4479     uint8_t  major_opcode; /**<  */
4480     uint8_t  pad0; /**<  */
4481     uint16_t length; /**<  */
4482 } xcb_list_hosts_request_t;
4483 
4484 /**
4485  * @brief xcb_list_hosts_reply_t
4486  **/
4487 typedef struct xcb_list_hosts_reply_t {
4488     uint8_t  response_type; /**<  */
4489     uint8_t  mode; /**<  */
4490     uint16_t sequence; /**<  */
4491     uint32_t length; /**<  */
4492     uint16_t hosts_len; /**<  */
4493     uint8_t  pad0[22]; /**<  */
4494 } xcb_list_hosts_reply_t;
4495 
4496 typedef enum xcb_access_control_t {
4497     XCB_ACCESS_CONTROL_DISABLE = 0,
4498     XCB_ACCESS_CONTROL_ENABLE = 1
4499 } xcb_access_control_t;
4500 
4501 /** Opcode for xcb_set_access_control. */
4502 #define XCB_SET_ACCESS_CONTROL 111
4503 
4504 /**
4505  * @brief xcb_set_access_control_request_t
4506  **/
4507 typedef struct xcb_set_access_control_request_t {
4508     uint8_t  major_opcode; /**<  */
4509     uint8_t  mode; /**<  */
4510     uint16_t length; /**<  */
4511 } xcb_set_access_control_request_t;
4512 
4513 typedef enum xcb_close_down_t {
4514     XCB_CLOSE_DOWN_DESTROY_ALL = 0,
4515     XCB_CLOSE_DOWN_RETAIN_PERMANENT = 1,
4516     XCB_CLOSE_DOWN_RETAIN_TEMPORARY = 2
4517 } xcb_close_down_t;
4518 
4519 /** Opcode for xcb_set_close_down_mode. */
4520 #define XCB_SET_CLOSE_DOWN_MODE 112
4521 
4522 /**
4523  * @brief xcb_set_close_down_mode_request_t
4524  **/
4525 typedef struct xcb_set_close_down_mode_request_t {
4526     uint8_t  major_opcode; /**<  */
4527     uint8_t  mode; /**<  */
4528     uint16_t length; /**<  */
4529 } xcb_set_close_down_mode_request_t;
4530 
4531 typedef enum xcb_kill_t {
4532     XCB_KILL_ALL_TEMPORARY = 0
4533 } xcb_kill_t;
4534 
4535 /** Opcode for xcb_kill_client. */
4536 #define XCB_KILL_CLIENT 113
4537 
4538 /**
4539  * @brief xcb_kill_client_request_t
4540  **/
4541 typedef struct xcb_kill_client_request_t {
4542     uint8_t  major_opcode; /**<  */
4543     uint8_t  pad0; /**<  */
4544     uint16_t length; /**<  */
4545     uint32_t resource; /**<  */
4546 } xcb_kill_client_request_t;
4547 
4548 /** Opcode for xcb_rotate_properties. */
4549 #define XCB_ROTATE_PROPERTIES 114
4550 
4551 /**
4552  * @brief xcb_rotate_properties_request_t
4553  **/
4554 typedef struct xcb_rotate_properties_request_t {
4555     uint8_t      major_opcode; /**<  */
4556     uint8_t      pad0; /**<  */
4557     uint16_t     length; /**<  */
4558     xcb_window_t window; /**<  */
4559     uint16_t     atoms_len; /**<  */
4560     int16_t      delta; /**<  */
4561 } xcb_rotate_properties_request_t;
4562 
4563 typedef enum xcb_screen_saver_t {
4564     XCB_SCREEN_SAVER_RESET = 0,
4565     XCB_SCREEN_SAVER_ACTIVE = 1
4566 } xcb_screen_saver_t;
4567 
4568 /** Opcode for xcb_force_screen_saver. */
4569 #define XCB_FORCE_SCREEN_SAVER 115
4570 
4571 /**
4572  * @brief xcb_force_screen_saver_request_t
4573  **/
4574 typedef struct xcb_force_screen_saver_request_t {
4575     uint8_t  major_opcode; /**<  */
4576     uint8_t  mode; /**<  */
4577     uint16_t length; /**<  */
4578 } xcb_force_screen_saver_request_t;
4579 
4580 typedef enum xcb_mapping_status_t {
4581     XCB_MAPPING_STATUS_SUCCESS = 0,
4582     XCB_MAPPING_STATUS_BUSY = 1,
4583     XCB_MAPPING_STATUS_FAILURE = 2
4584 } xcb_mapping_status_t;
4585 
4586 /**
4587  * @brief xcb_set_pointer_mapping_cookie_t
4588  **/
4589 typedef struct xcb_set_pointer_mapping_cookie_t {
4590     unsigned int sequence; /**<  */
4591 } xcb_set_pointer_mapping_cookie_t;
4592 
4593 /** Opcode for xcb_set_pointer_mapping. */
4594 #define XCB_SET_POINTER_MAPPING 116
4595 
4596 /**
4597  * @brief xcb_set_pointer_mapping_request_t
4598  **/
4599 typedef struct xcb_set_pointer_mapping_request_t {
4600     uint8_t  major_opcode; /**<  */
4601     uint8_t  map_len; /**<  */
4602     uint16_t length; /**<  */
4603 } xcb_set_pointer_mapping_request_t;
4604 
4605 /**
4606  * @brief xcb_set_pointer_mapping_reply_t
4607  **/
4608 typedef struct xcb_set_pointer_mapping_reply_t {
4609     uint8_t  response_type; /**<  */
4610     uint8_t  status; /**<  */
4611     uint16_t sequence; /**<  */
4612     uint32_t length; /**<  */
4613 } xcb_set_pointer_mapping_reply_t;
4614 
4615 /**
4616  * @brief xcb_get_pointer_mapping_cookie_t
4617  **/
4618 typedef struct xcb_get_pointer_mapping_cookie_t {
4619     unsigned int sequence; /**<  */
4620 } xcb_get_pointer_mapping_cookie_t;
4621 
4622 /** Opcode for xcb_get_pointer_mapping. */
4623 #define XCB_GET_POINTER_MAPPING 117
4624 
4625 /**
4626  * @brief xcb_get_pointer_mapping_request_t
4627  **/
4628 typedef struct xcb_get_pointer_mapping_request_t {
4629     uint8_t  major_opcode; /**<  */
4630     uint8_t  pad0; /**<  */
4631     uint16_t length; /**<  */
4632 } xcb_get_pointer_mapping_request_t;
4633 
4634 /**
4635  * @brief xcb_get_pointer_mapping_reply_t
4636  **/
4637 typedef struct xcb_get_pointer_mapping_reply_t {
4638     uint8_t  response_type; /**<  */
4639     uint8_t  map_len; /**<  */
4640     uint16_t sequence; /**<  */
4641     uint32_t length; /**<  */
4642     uint8_t  pad0[24]; /**<  */
4643 } xcb_get_pointer_mapping_reply_t;
4644 
4645 typedef enum xcb_map_index_t {
4646     XCB_MAP_INDEX_SHIFT = 0,
4647     XCB_MAP_INDEX_LOCK = 1,
4648     XCB_MAP_INDEX_CONTROL = 2,
4649     XCB_MAP_INDEX_1 = 3,
4650     XCB_MAP_INDEX_2 = 4,
4651     XCB_MAP_INDEX_3 = 5,
4652     XCB_MAP_INDEX_4 = 6,
4653     XCB_MAP_INDEX_5 = 7
4654 } xcb_map_index_t;
4655 
4656 /**
4657  * @brief xcb_set_modifier_mapping_cookie_t
4658  **/
4659 typedef struct xcb_set_modifier_mapping_cookie_t {
4660     unsigned int sequence; /**<  */
4661 } xcb_set_modifier_mapping_cookie_t;
4662 
4663 /** Opcode for xcb_set_modifier_mapping. */
4664 #define XCB_SET_MODIFIER_MAPPING 118
4665 
4666 /**
4667  * @brief xcb_set_modifier_mapping_request_t
4668  **/
4669 typedef struct xcb_set_modifier_mapping_request_t {
4670     uint8_t  major_opcode; /**<  */
4671     uint8_t  keycodes_per_modifier; /**<  */
4672     uint16_t length; /**<  */
4673 } xcb_set_modifier_mapping_request_t;
4674 
4675 /**
4676  * @brief xcb_set_modifier_mapping_reply_t
4677  **/
4678 typedef struct xcb_set_modifier_mapping_reply_t {
4679     uint8_t  response_type; /**<  */
4680     uint8_t  status; /**<  */
4681     uint16_t sequence; /**<  */
4682     uint32_t length; /**<  */
4683 } xcb_set_modifier_mapping_reply_t;
4684 
4685 /**
4686  * @brief xcb_get_modifier_mapping_cookie_t
4687  **/
4688 typedef struct xcb_get_modifier_mapping_cookie_t {
4689     unsigned int sequence; /**<  */
4690 } xcb_get_modifier_mapping_cookie_t;
4691 
4692 /** Opcode for xcb_get_modifier_mapping. */
4693 #define XCB_GET_MODIFIER_MAPPING 119
4694 
4695 /**
4696  * @brief xcb_get_modifier_mapping_request_t
4697  **/
4698 typedef struct xcb_get_modifier_mapping_request_t {
4699     uint8_t  major_opcode; /**<  */
4700     uint8_t  pad0; /**<  */
4701     uint16_t length; /**<  */
4702 } xcb_get_modifier_mapping_request_t;
4703 
4704 /**
4705  * @brief xcb_get_modifier_mapping_reply_t
4706  **/
4707 typedef struct xcb_get_modifier_mapping_reply_t {
4708     uint8_t  response_type; /**<  */
4709     uint8_t  keycodes_per_modifier; /**<  */
4710     uint16_t sequence; /**<  */
4711     uint32_t length; /**<  */
4712     uint8_t  pad0[24]; /**<  */
4713 } xcb_get_modifier_mapping_reply_t;
4714 
4715 /** Opcode for xcb_no_operation. */
4716 #define XCB_NO_OPERATION 127
4717 
4718 /**
4719  * @brief xcb_no_operation_request_t
4720  **/
4721 typedef struct xcb_no_operation_request_t {
4722     uint8_t  major_opcode; /**<  */
4723     uint8_t  pad0; /**<  */
4724     uint16_t length; /**<  */
4725 } xcb_no_operation_request_t;
4726 
4727 /**
4728  * Get the next element of the iterator
4729  * @param i Pointer to a xcb_char2b_iterator_t
4730  *
4731  * Get the next element in the iterator. The member rem is
4732  * decreased by one. The member data points to the next
4733  * element. The member index is increased by sizeof(xcb_char2b_t)
4734  */
4735 
4736 /*****************************************************************************
4737  **
4738  ** void xcb_char2b_next
4739  **
4740  ** @param xcb_char2b_iterator_t *i
4741  ** @returns void
4742  **
4743  *****************************************************************************/
4744 
4745 void
4746 xcb_char2b_next (xcb_char2b_iterator_t *i  /**< */);
4747 
4748 /**
4749  * Return the iterator pointing to the last element
4750  * @param i An xcb_char2b_iterator_t
4751  * @return  The iterator pointing to the last element
4752  *
4753  * Set the current element in the iterator to the last element.
4754  * The member rem is set to 0. The member data points to the
4755  * last element.
4756  */
4757 
4758 /*****************************************************************************
4759  **
4760  ** xcb_generic_iterator_t xcb_char2b_end
4761  **
4762  ** @param xcb_char2b_iterator_t i
4763  ** @returns xcb_generic_iterator_t
4764  **
4765  *****************************************************************************/
4766 
4767 xcb_generic_iterator_t
4768 xcb_char2b_end (xcb_char2b_iterator_t i  /**< */);
4769 
4770 /**
4771  * Get the next element of the iterator
4772  * @param i Pointer to a xcb_window_iterator_t
4773  *
4774  * Get the next element in the iterator. The member rem is
4775  * decreased by one. The member data points to the next
4776  * element. The member index is increased by sizeof(xcb_window_t)
4777  */
4778 
4779 /*****************************************************************************
4780  **
4781  ** void xcb_window_next
4782  **
4783  ** @param xcb_window_iterator_t *i
4784  ** @returns void
4785  **
4786  *****************************************************************************/
4787 
4788 void
4789 xcb_window_next (xcb_window_iterator_t *i  /**< */);
4790 
4791 /**
4792  * Return the iterator pointing to the last element
4793  * @param i An xcb_window_iterator_t
4794  * @return  The iterator pointing to the last element
4795  *
4796  * Set the current element in the iterator to the last element.
4797  * The member rem is set to 0. The member data points to the
4798  * last element.
4799  */
4800 
4801 /*****************************************************************************
4802  **
4803  ** xcb_generic_iterator_t xcb_window_end
4804  **
4805  ** @param xcb_window_iterator_t i
4806  ** @returns xcb_generic_iterator_t
4807  **
4808  *****************************************************************************/
4809 
4810 xcb_generic_iterator_t
4811 xcb_window_end (xcb_window_iterator_t i  /**< */);
4812 
4813 /**
4814  * Get the next element of the iterator
4815  * @param i Pointer to a xcb_pixmap_iterator_t
4816  *
4817  * Get the next element in the iterator. The member rem is
4818  * decreased by one. The member data points to the next
4819  * element. The member index is increased by sizeof(xcb_pixmap_t)
4820  */
4821 
4822 /*****************************************************************************
4823  **
4824  ** void xcb_pixmap_next
4825  **
4826  ** @param xcb_pixmap_iterator_t *i
4827  ** @returns void
4828  **
4829  *****************************************************************************/
4830 
4831 void
4832 xcb_pixmap_next (xcb_pixmap_iterator_t *i  /**< */);
4833 
4834 /**
4835  * Return the iterator pointing to the last element
4836  * @param i An xcb_pixmap_iterator_t
4837  * @return  The iterator pointing to the last element
4838  *
4839  * Set the current element in the iterator to the last element.
4840  * The member rem is set to 0. The member data points to the
4841  * last element.
4842  */
4843 
4844 /*****************************************************************************
4845  **
4846  ** xcb_generic_iterator_t xcb_pixmap_end
4847  **
4848  ** @param xcb_pixmap_iterator_t i
4849  ** @returns xcb_generic_iterator_t
4850  **
4851  *****************************************************************************/
4852 
4853 xcb_generic_iterator_t
4854 xcb_pixmap_end (xcb_pixmap_iterator_t i  /**< */);
4855 
4856 /**
4857  * Get the next element of the iterator
4858  * @param i Pointer to a xcb_cursor_iterator_t
4859  *
4860  * Get the next element in the iterator. The member rem is
4861  * decreased by one. The member data points to the next
4862  * element. The member index is increased by sizeof(xcb_cursor_t)
4863  */
4864 
4865 /*****************************************************************************
4866  **
4867  ** void xcb_cursor_next
4868  **
4869  ** @param xcb_cursor_iterator_t *i
4870  ** @returns void
4871  **
4872  *****************************************************************************/
4873 
4874 void
4875 xcb_cursor_next (xcb_cursor_iterator_t *i  /**< */);
4876 
4877 /**
4878  * Return the iterator pointing to the last element
4879  * @param i An xcb_cursor_iterator_t
4880  * @return  The iterator pointing to the last element
4881  *
4882  * Set the current element in the iterator to the last element.
4883  * The member rem is set to 0. The member data points to the
4884  * last element.
4885  */
4886 
4887 /*****************************************************************************
4888  **
4889  ** xcb_generic_iterator_t xcb_cursor_end
4890  **
4891  ** @param xcb_cursor_iterator_t i
4892  ** @returns xcb_generic_iterator_t
4893  **
4894  *****************************************************************************/
4895 
4896 xcb_generic_iterator_t
4897 xcb_cursor_end (xcb_cursor_iterator_t i  /**< */);
4898 
4899 /**
4900  * Get the next element of the iterator
4901  * @param i Pointer to a xcb_font_iterator_t
4902  *
4903  * Get the next element in the iterator. The member rem is
4904  * decreased by one. The member data points to the next
4905  * element. The member index is increased by sizeof(xcb_font_t)
4906  */
4907 
4908 /*****************************************************************************
4909  **
4910  ** void xcb_font_next
4911  **
4912  ** @param xcb_font_iterator_t *i
4913  ** @returns void
4914  **
4915  *****************************************************************************/
4916 
4917 void
4918 xcb_font_next (xcb_font_iterator_t *i  /**< */);
4919 
4920 /**
4921  * Return the iterator pointing to the last element
4922  * @param i An xcb_font_iterator_t
4923  * @return  The iterator pointing to the last element
4924  *
4925  * Set the current element in the iterator to the last element.
4926  * The member rem is set to 0. The member data points to the
4927  * last element.
4928  */
4929 
4930 /*****************************************************************************
4931  **
4932  ** xcb_generic_iterator_t xcb_font_end
4933  **
4934  ** @param xcb_font_iterator_t i
4935  ** @returns xcb_generic_iterator_t
4936  **
4937  *****************************************************************************/
4938 
4939 xcb_generic_iterator_t
4940 xcb_font_end (xcb_font_iterator_t i  /**< */);
4941 
4942 /**
4943  * Get the next element of the iterator
4944  * @param i Pointer to a xcb_gcontext_iterator_t
4945  *
4946  * Get the next element in the iterator. The member rem is
4947  * decreased by one. The member data points to the next
4948  * element. The member index is increased by sizeof(xcb_gcontext_t)
4949  */
4950 
4951 /*****************************************************************************
4952  **
4953  ** void xcb_gcontext_next
4954  **
4955  ** @param xcb_gcontext_iterator_t *i
4956  ** @returns void
4957  **
4958  *****************************************************************************/
4959 
4960 void
4961 xcb_gcontext_next (xcb_gcontext_iterator_t *i  /**< */);
4962 
4963 /**
4964  * Return the iterator pointing to the last element
4965  * @param i An xcb_gcontext_iterator_t
4966  * @return  The iterator pointing to the last element
4967  *
4968  * Set the current element in the iterator to the last element.
4969  * The member rem is set to 0. The member data points to the
4970  * last element.
4971  */
4972 
4973 /*****************************************************************************
4974  **
4975  ** xcb_generic_iterator_t xcb_gcontext_end
4976  **
4977  ** @param xcb_gcontext_iterator_t i
4978  ** @returns xcb_generic_iterator_t
4979  **
4980  *****************************************************************************/
4981 
4982 xcb_generic_iterator_t
4983 xcb_gcontext_end (xcb_gcontext_iterator_t i  /**< */);
4984 
4985 /**
4986  * Get the next element of the iterator
4987  * @param i Pointer to a xcb_colormap_iterator_t
4988  *
4989  * Get the next element in the iterator. The member rem is
4990  * decreased by one. The member data points to the next
4991  * element. The member index is increased by sizeof(xcb_colormap_t)
4992  */
4993 
4994 /*****************************************************************************
4995  **
4996  ** void xcb_colormap_next
4997  **
4998  ** @param xcb_colormap_iterator_t *i
4999  ** @returns void
5000  **
5001  *****************************************************************************/
5002 
5003 void
5004 xcb_colormap_next (xcb_colormap_iterator_t *i  /**< */);
5005 
5006 /**
5007  * Return the iterator pointing to the last element
5008  * @param i An xcb_colormap_iterator_t
5009  * @return  The iterator pointing to the last element
5010  *
5011  * Set the current element in the iterator to the last element.
5012  * The member rem is set to 0. The member data points to the
5013  * last element.
5014  */
5015 
5016 /*****************************************************************************
5017  **
5018  ** xcb_generic_iterator_t xcb_colormap_end
5019  **
5020  ** @param xcb_colormap_iterator_t i
5021  ** @returns xcb_generic_iterator_t
5022  **
5023  *****************************************************************************/
5024 
5025 xcb_generic_iterator_t
5026 xcb_colormap_end (xcb_colormap_iterator_t i  /**< */);
5027 
5028 /**
5029  * Get the next element of the iterator
5030  * @param i Pointer to a xcb_atom_iterator_t
5031  *
5032  * Get the next element in the iterator. The member rem is
5033  * decreased by one. The member data points to the next
5034  * element. The member index is increased by sizeof(xcb_atom_t)
5035  */
5036 
5037 /*****************************************************************************
5038  **
5039  ** void xcb_atom_next
5040  **
5041  ** @param xcb_atom_iterator_t *i
5042  ** @returns void
5043  **
5044  *****************************************************************************/
5045 
5046 void
5047 xcb_atom_next (xcb_atom_iterator_t *i  /**< */);
5048 
5049 /**
5050  * Return the iterator pointing to the last element
5051  * @param i An xcb_atom_iterator_t
5052  * @return  The iterator pointing to the last element
5053  *
5054  * Set the current element in the iterator to the last element.
5055  * The member rem is set to 0. The member data points to the
5056  * last element.
5057  */
5058 
5059 /*****************************************************************************
5060  **
5061  ** xcb_generic_iterator_t xcb_atom_end
5062  **
5063  ** @param xcb_atom_iterator_t i
5064  ** @returns xcb_generic_iterator_t
5065  **
5066  *****************************************************************************/
5067 
5068 xcb_generic_iterator_t
5069 xcb_atom_end (xcb_atom_iterator_t i  /**< */);
5070 
5071 /**
5072  * Get the next element of the iterator
5073  * @param i Pointer to a xcb_drawable_iterator_t
5074  *
5075  * Get the next element in the iterator. The member rem is
5076  * decreased by one. The member data points to the next
5077  * element. The member index is increased by sizeof(xcb_drawable_t)
5078  */
5079 
5080 /*****************************************************************************
5081  **
5082  ** void xcb_drawable_next
5083  **
5084  ** @param xcb_drawable_iterator_t *i
5085  ** @returns void
5086  **
5087  *****************************************************************************/
5088 
5089 void
5090 xcb_drawable_next (xcb_drawable_iterator_t *i  /**< */);
5091 
5092 /**
5093  * Return the iterator pointing to the last element
5094  * @param i An xcb_drawable_iterator_t
5095  * @return  The iterator pointing to the last element
5096  *
5097  * Set the current element in the iterator to the last element.
5098  * The member rem is set to 0. The member data points to the
5099  * last element.
5100  */
5101 
5102 /*****************************************************************************
5103  **
5104  ** xcb_generic_iterator_t xcb_drawable_end
5105  **
5106  ** @param xcb_drawable_iterator_t i
5107  ** @returns xcb_generic_iterator_t
5108  **
5109  *****************************************************************************/
5110 
5111 xcb_generic_iterator_t
5112 xcb_drawable_end (xcb_drawable_iterator_t i  /**< */);
5113 
5114 /**
5115  * Get the next element of the iterator
5116  * @param i Pointer to a xcb_fontable_iterator_t
5117  *
5118  * Get the next element in the iterator. The member rem is
5119  * decreased by one. The member data points to the next
5120  * element. The member index is increased by sizeof(xcb_fontable_t)
5121  */
5122 
5123 /*****************************************************************************
5124  **
5125  ** void xcb_fontable_next
5126  **
5127  ** @param xcb_fontable_iterator_t *i
5128  ** @returns void
5129  **
5130  *****************************************************************************/
5131 
5132 void
5133 xcb_fontable_next (xcb_fontable_iterator_t *i  /**< */);
5134 
5135 /**
5136  * Return the iterator pointing to the last element
5137  * @param i An xcb_fontable_iterator_t
5138  * @return  The iterator pointing to the last element
5139  *
5140  * Set the current element in the iterator to the last element.
5141  * The member rem is set to 0. The member data points to the
5142  * last element.
5143  */
5144 
5145 /*****************************************************************************
5146  **
5147  ** xcb_generic_iterator_t xcb_fontable_end
5148  **
5149  ** @param xcb_fontable_iterator_t i
5150  ** @returns xcb_generic_iterator_t
5151  **
5152  *****************************************************************************/
5153 
5154 xcb_generic_iterator_t
5155 xcb_fontable_end (xcb_fontable_iterator_t i  /**< */);
5156 
5157 /**
5158  * Get the next element of the iterator
5159  * @param i Pointer to a xcb_visualid_iterator_t
5160  *
5161  * Get the next element in the iterator. The member rem is
5162  * decreased by one. The member data points to the next
5163  * element. The member index is increased by sizeof(xcb_visualid_t)
5164  */
5165 
5166 /*****************************************************************************
5167  **
5168  ** void xcb_visualid_next
5169  **
5170  ** @param xcb_visualid_iterator_t *i
5171  ** @returns void
5172  **
5173  *****************************************************************************/
5174 
5175 void
5176 xcb_visualid_next (xcb_visualid_iterator_t *i  /**< */);
5177 
5178 /**
5179  * Return the iterator pointing to the last element
5180  * @param i An xcb_visualid_iterator_t
5181  * @return  The iterator pointing to the last element
5182  *
5183  * Set the current element in the iterator to the last element.
5184  * The member rem is set to 0. The member data points to the
5185  * last element.
5186  */
5187 
5188 /*****************************************************************************
5189  **
5190  ** xcb_generic_iterator_t xcb_visualid_end
5191  **
5192  ** @param xcb_visualid_iterator_t i
5193  ** @returns xcb_generic_iterator_t
5194  **
5195  *****************************************************************************/
5196 
5197 xcb_generic_iterator_t
5198 xcb_visualid_end (xcb_visualid_iterator_t i  /**< */);
5199 
5200 /**
5201  * Get the next element of the iterator
5202  * @param i Pointer to a xcb_timestamp_iterator_t
5203  *
5204  * Get the next element in the iterator. The member rem is
5205  * decreased by one. The member data points to the next
5206  * element. The member index is increased by sizeof(xcb_timestamp_t)
5207  */
5208 
5209 /*****************************************************************************
5210  **
5211  ** void xcb_timestamp_next
5212  **
5213  ** @param xcb_timestamp_iterator_t *i
5214  ** @returns void
5215  **
5216  *****************************************************************************/
5217 
5218 void
5219 xcb_timestamp_next (xcb_timestamp_iterator_t *i  /**< */);
5220 
5221 /**
5222  * Return the iterator pointing to the last element
5223  * @param i An xcb_timestamp_iterator_t
5224  * @return  The iterator pointing to the last element
5225  *
5226  * Set the current element in the iterator to the last element.
5227  * The member rem is set to 0. The member data points to the
5228  * last element.
5229  */
5230 
5231 /*****************************************************************************
5232  **
5233  ** xcb_generic_iterator_t xcb_timestamp_end
5234  **
5235  ** @param xcb_timestamp_iterator_t i
5236  ** @returns xcb_generic_iterator_t
5237  **
5238  *****************************************************************************/
5239 
5240 xcb_generic_iterator_t
5241 xcb_timestamp_end (xcb_timestamp_iterator_t i  /**< */);
5242 
5243 /**
5244  * Get the next element of the iterator
5245  * @param i Pointer to a xcb_keysym_iterator_t
5246  *
5247  * Get the next element in the iterator. The member rem is
5248  * decreased by one. The member data points to the next
5249  * element. The member index is increased by sizeof(xcb_keysym_t)
5250  */
5251 
5252 /*****************************************************************************
5253  **
5254  ** void xcb_keysym_next
5255  **
5256  ** @param xcb_keysym_iterator_t *i
5257  ** @returns void
5258  **
5259  *****************************************************************************/
5260 
5261 void
5262 xcb_keysym_next (xcb_keysym_iterator_t *i  /**< */);
5263 
5264 /**
5265  * Return the iterator pointing to the last element
5266  * @param i An xcb_keysym_iterator_t
5267  * @return  The iterator pointing to the last element
5268  *
5269  * Set the current element in the iterator to the last element.
5270  * The member rem is set to 0. The member data points to the
5271  * last element.
5272  */
5273 
5274 /*****************************************************************************
5275  **
5276  ** xcb_generic_iterator_t xcb_keysym_end
5277  **
5278  ** @param xcb_keysym_iterator_t i
5279  ** @returns xcb_generic_iterator_t
5280  **
5281  *****************************************************************************/
5282 
5283 xcb_generic_iterator_t
5284 xcb_keysym_end (xcb_keysym_iterator_t i  /**< */);
5285 
5286 /**
5287  * Get the next element of the iterator
5288  * @param i Pointer to a xcb_keycode_iterator_t
5289  *
5290  * Get the next element in the iterator. The member rem is
5291  * decreased by one. The member data points to the next
5292  * element. The member index is increased by sizeof(xcb_keycode_t)
5293  */
5294 
5295 /*****************************************************************************
5296  **
5297  ** void xcb_keycode_next
5298  **
5299  ** @param xcb_keycode_iterator_t *i
5300  ** @returns void
5301  **
5302  *****************************************************************************/
5303 
5304 void
5305 xcb_keycode_next (xcb_keycode_iterator_t *i  /**< */);
5306 
5307 /**
5308  * Return the iterator pointing to the last element
5309  * @param i An xcb_keycode_iterator_t
5310  * @return  The iterator pointing to the last element
5311  *
5312  * Set the current element in the iterator to the last element.
5313  * The member rem is set to 0. The member data points to the
5314  * last element.
5315  */
5316 
5317 /*****************************************************************************
5318  **
5319  ** xcb_generic_iterator_t xcb_keycode_end
5320  **
5321  ** @param xcb_keycode_iterator_t i
5322  ** @returns xcb_generic_iterator_t
5323  **
5324  *****************************************************************************/
5325 
5326 xcb_generic_iterator_t
5327 xcb_keycode_end (xcb_keycode_iterator_t i  /**< */);
5328 
5329 /**
5330  * Get the next element of the iterator
5331  * @param i Pointer to a xcb_button_iterator_t
5332  *
5333  * Get the next element in the iterator. The member rem is
5334  * decreased by one. The member data points to the next
5335  * element. The member index is increased by sizeof(xcb_button_t)
5336  */
5337 
5338 /*****************************************************************************
5339  **
5340  ** void xcb_button_next
5341  **
5342  ** @param xcb_button_iterator_t *i
5343  ** @returns void
5344  **
5345  *****************************************************************************/
5346 
5347 void
5348 xcb_button_next (xcb_button_iterator_t *i  /**< */);
5349 
5350 /**
5351  * Return the iterator pointing to the last element
5352  * @param i An xcb_button_iterator_t
5353  * @return  The iterator pointing to the last element
5354  *
5355  * Set the current element in the iterator to the last element.
5356  * The member rem is set to 0. The member data points to the
5357  * last element.
5358  */
5359 
5360 /*****************************************************************************
5361  **
5362  ** xcb_generic_iterator_t xcb_button_end
5363  **
5364  ** @param xcb_button_iterator_t i
5365  ** @returns xcb_generic_iterator_t
5366  **
5367  *****************************************************************************/
5368 
5369 xcb_generic_iterator_t
5370 xcb_button_end (xcb_button_iterator_t i  /**< */);
5371 
5372 /**
5373  * Get the next element of the iterator
5374  * @param i Pointer to a xcb_point_iterator_t
5375  *
5376  * Get the next element in the iterator. The member rem is
5377  * decreased by one. The member data points to the next
5378  * element. The member index is increased by sizeof(xcb_point_t)
5379  */
5380 
5381 /*****************************************************************************
5382  **
5383  ** void xcb_point_next
5384  **
5385  ** @param xcb_point_iterator_t *i
5386  ** @returns void
5387  **
5388  *****************************************************************************/
5389 
5390 void
5391 xcb_point_next (xcb_point_iterator_t *i  /**< */);
5392 
5393 /**
5394  * Return the iterator pointing to the last element
5395  * @param i An xcb_point_iterator_t
5396  * @return  The iterator pointing to the last element
5397  *
5398  * Set the current element in the iterator to the last element.
5399  * The member rem is set to 0. The member data points to the
5400  * last element.
5401  */
5402 
5403 /*****************************************************************************
5404  **
5405  ** xcb_generic_iterator_t xcb_point_end
5406  **
5407  ** @param xcb_point_iterator_t i
5408  ** @returns xcb_generic_iterator_t
5409  **
5410  *****************************************************************************/
5411 
5412 xcb_generic_iterator_t
5413 xcb_point_end (xcb_point_iterator_t i  /**< */);
5414 
5415 /**
5416  * Get the next element of the iterator
5417  * @param i Pointer to a xcb_rectangle_iterator_t
5418  *
5419  * Get the next element in the iterator. The member rem is
5420  * decreased by one. The member data points to the next
5421  * element. The member index is increased by sizeof(xcb_rectangle_t)
5422  */
5423 
5424 /*****************************************************************************
5425  **
5426  ** void xcb_rectangle_next
5427  **
5428  ** @param xcb_rectangle_iterator_t *i
5429  ** @returns void
5430  **
5431  *****************************************************************************/
5432 
5433 void
5434 xcb_rectangle_next (xcb_rectangle_iterator_t *i  /**< */);
5435 
5436 /**
5437  * Return the iterator pointing to the last element
5438  * @param i An xcb_rectangle_iterator_t
5439  * @return  The iterator pointing to the last element
5440  *
5441  * Set the current element in the iterator to the last element.
5442  * The member rem is set to 0. The member data points to the
5443  * last element.
5444  */
5445 
5446 /*****************************************************************************
5447  **
5448  ** xcb_generic_iterator_t xcb_rectangle_end
5449  **
5450  ** @param xcb_rectangle_iterator_t i
5451  ** @returns xcb_generic_iterator_t
5452  **
5453  *****************************************************************************/
5454 
5455 xcb_generic_iterator_t
5456 xcb_rectangle_end (xcb_rectangle_iterator_t i  /**< */);
5457 
5458 /**
5459  * Get the next element of the iterator
5460  * @param i Pointer to a xcb_arc_iterator_t
5461  *
5462  * Get the next element in the iterator. The member rem is
5463  * decreased by one. The member data points to the next
5464  * element. The member index is increased by sizeof(xcb_arc_t)
5465  */
5466 
5467 /*****************************************************************************
5468  **
5469  ** void xcb_arc_next
5470  **
5471  ** @param xcb_arc_iterator_t *i
5472  ** @returns void
5473  **
5474  *****************************************************************************/
5475 
5476 void
5477 xcb_arc_next (xcb_arc_iterator_t *i  /**< */);
5478 
5479 /**
5480  * Return the iterator pointing to the last element
5481  * @param i An xcb_arc_iterator_t
5482  * @return  The iterator pointing to the last element
5483  *
5484  * Set the current element in the iterator to the last element.
5485  * The member rem is set to 0. The member data points to the
5486  * last element.
5487  */
5488 
5489 /*****************************************************************************
5490  **
5491  ** xcb_generic_iterator_t xcb_arc_end
5492  **
5493  ** @param xcb_arc_iterator_t i
5494  ** @returns xcb_generic_iterator_t
5495  **
5496  *****************************************************************************/
5497 
5498 xcb_generic_iterator_t
5499 xcb_arc_end (xcb_arc_iterator_t i  /**< */);
5500 
5501 /**
5502  * Get the next element of the iterator
5503  * @param i Pointer to a xcb_format_iterator_t
5504  *
5505  * Get the next element in the iterator. The member rem is
5506  * decreased by one. The member data points to the next
5507  * element. The member index is increased by sizeof(xcb_format_t)
5508  */
5509 
5510 /*****************************************************************************
5511  **
5512  ** void xcb_format_next
5513  **
5514  ** @param xcb_format_iterator_t *i
5515  ** @returns void
5516  **
5517  *****************************************************************************/
5518 
5519 void
5520 xcb_format_next (xcb_format_iterator_t *i  /**< */);
5521 
5522 /**
5523  * Return the iterator pointing to the last element
5524  * @param i An xcb_format_iterator_t
5525  * @return  The iterator pointing to the last element
5526  *
5527  * Set the current element in the iterator to the last element.
5528  * The member rem is set to 0. The member data points to the
5529  * last element.
5530  */
5531 
5532 /*****************************************************************************
5533  **
5534  ** xcb_generic_iterator_t xcb_format_end
5535  **
5536  ** @param xcb_format_iterator_t i
5537  ** @returns xcb_generic_iterator_t
5538  **
5539  *****************************************************************************/
5540 
5541 xcb_generic_iterator_t
5542 xcb_format_end (xcb_format_iterator_t i  /**< */);
5543 
5544 /**
5545  * Get the next element of the iterator
5546  * @param i Pointer to a xcb_visualtype_iterator_t
5547  *
5548  * Get the next element in the iterator. The member rem is
5549  * decreased by one. The member data points to the next
5550  * element. The member index is increased by sizeof(xcb_visualtype_t)
5551  */
5552 
5553 /*****************************************************************************
5554  **
5555  ** void xcb_visualtype_next
5556  **
5557  ** @param xcb_visualtype_iterator_t *i
5558  ** @returns void
5559  **
5560  *****************************************************************************/
5561 
5562 void
5563 xcb_visualtype_next (xcb_visualtype_iterator_t *i  /**< */);
5564 
5565 /**
5566  * Return the iterator pointing to the last element
5567  * @param i An xcb_visualtype_iterator_t
5568  * @return  The iterator pointing to the last element
5569  *
5570  * Set the current element in the iterator to the last element.
5571  * The member rem is set to 0. The member data points to the
5572  * last element.
5573  */
5574 
5575 /*****************************************************************************
5576  **
5577  ** xcb_generic_iterator_t xcb_visualtype_end
5578  **
5579  ** @param xcb_visualtype_iterator_t i
5580  ** @returns xcb_generic_iterator_t
5581  **
5582  *****************************************************************************/
5583 
5584 xcb_generic_iterator_t
5585 xcb_visualtype_end (xcb_visualtype_iterator_t i  /**< */);
5586 
5587 int
5588 xcb_depth_sizeof (const void  *_buffer  /**< */);
5589 
5590 
5591 /*****************************************************************************
5592  **
5593  ** xcb_visualtype_t * xcb_depth_visuals
5594  **
5595  ** @param const xcb_depth_t *R
5596  ** @returns xcb_visualtype_t *
5597  **
5598  *****************************************************************************/
5599 
5600 xcb_visualtype_t *
5601 xcb_depth_visuals (const xcb_depth_t *R  /**< */);
5602 
5603 
5604 /*****************************************************************************
5605  **
5606  ** int xcb_depth_visuals_length
5607  **
5608  ** @param const xcb_depth_t *R
5609  ** @returns int
5610  **
5611  *****************************************************************************/
5612 
5613 int
5614 xcb_depth_visuals_length (const xcb_depth_t *R  /**< */);
5615 
5616 
5617 /*****************************************************************************
5618  **
5619  ** xcb_visualtype_iterator_t xcb_depth_visuals_iterator
5620  **
5621  ** @param const xcb_depth_t *R
5622  ** @returns xcb_visualtype_iterator_t
5623  **
5624  *****************************************************************************/
5625 
5626 xcb_visualtype_iterator_t
5627 xcb_depth_visuals_iterator (const xcb_depth_t *R  /**< */);
5628 
5629 /**
5630  * Get the next element of the iterator
5631  * @param i Pointer to a xcb_depth_iterator_t
5632  *
5633  * Get the next element in the iterator. The member rem is
5634  * decreased by one. The member data points to the next
5635  * element. The member index is increased by sizeof(xcb_depth_t)
5636  */
5637 
5638 /*****************************************************************************
5639  **
5640  ** void xcb_depth_next
5641  **
5642  ** @param xcb_depth_iterator_t *i
5643  ** @returns void
5644  **
5645  *****************************************************************************/
5646 
5647 void
5648 xcb_depth_next (xcb_depth_iterator_t *i  /**< */);
5649 
5650 /**
5651  * Return the iterator pointing to the last element
5652  * @param i An xcb_depth_iterator_t
5653  * @return  The iterator pointing to the last element
5654  *
5655  * Set the current element in the iterator to the last element.
5656  * The member rem is set to 0. The member data points to the
5657  * last element.
5658  */
5659 
5660 /*****************************************************************************
5661  **
5662  ** xcb_generic_iterator_t xcb_depth_end
5663  **
5664  ** @param xcb_depth_iterator_t i
5665  ** @returns xcb_generic_iterator_t
5666  **
5667  *****************************************************************************/
5668 
5669 xcb_generic_iterator_t
5670 xcb_depth_end (xcb_depth_iterator_t i  /**< */);
5671 
5672 int
5673 xcb_screen_sizeof (const void  *_buffer  /**< */);
5674 
5675 
5676 /*****************************************************************************
5677  **
5678  ** int xcb_screen_allowed_depths_length
5679  **
5680  ** @param const xcb_screen_t *R
5681  ** @returns int
5682  **
5683  *****************************************************************************/
5684 
5685 int
5686 xcb_screen_allowed_depths_length (const xcb_screen_t *R  /**< */);
5687 
5688 
5689 /*****************************************************************************
5690  **
5691  ** xcb_depth_iterator_t xcb_screen_allowed_depths_iterator
5692  **
5693  ** @param const xcb_screen_t *R
5694  ** @returns xcb_depth_iterator_t
5695  **
5696  *****************************************************************************/
5697 
5698 xcb_depth_iterator_t
5699 xcb_screen_allowed_depths_iterator (const xcb_screen_t *R  /**< */);
5700 
5701 /**
5702  * Get the next element of the iterator
5703  * @param i Pointer to a xcb_screen_iterator_t
5704  *
5705  * Get the next element in the iterator. The member rem is
5706  * decreased by one. The member data points to the next
5707  * element. The member index is increased by sizeof(xcb_screen_t)
5708  */
5709 
5710 /*****************************************************************************
5711  **
5712  ** void xcb_screen_next
5713  **
5714  ** @param xcb_screen_iterator_t *i
5715  ** @returns void
5716  **
5717  *****************************************************************************/
5718 
5719 void
5720 xcb_screen_next (xcb_screen_iterator_t *i  /**< */);
5721 
5722 /**
5723  * Return the iterator pointing to the last element
5724  * @param i An xcb_screen_iterator_t
5725  * @return  The iterator pointing to the last element
5726  *
5727  * Set the current element in the iterator to the last element.
5728  * The member rem is set to 0. The member data points to the
5729  * last element.
5730  */
5731 
5732 /*****************************************************************************
5733  **
5734  ** xcb_generic_iterator_t xcb_screen_end
5735  **
5736  ** @param xcb_screen_iterator_t i
5737  ** @returns xcb_generic_iterator_t
5738  **
5739  *****************************************************************************/
5740 
5741 xcb_generic_iterator_t
5742 xcb_screen_end (xcb_screen_iterator_t i  /**< */);
5743 
5744 int
5745 xcb_setup_request_sizeof (const void  *_buffer  /**< */);
5746 
5747 
5748 /*****************************************************************************
5749  **
5750  ** char * xcb_setup_request_authorization_protocol_name
5751  **
5752  ** @param const xcb_setup_request_t *R
5753  ** @returns char *
5754  **
5755  *****************************************************************************/
5756 
5757 char *
5758 xcb_setup_request_authorization_protocol_name (const xcb_setup_request_t *R  /**< */);
5759 
5760 
5761 /*****************************************************************************
5762  **
5763  ** int xcb_setup_request_authorization_protocol_name_length
5764  **
5765  ** @param const xcb_setup_request_t *R
5766  ** @returns int
5767  **
5768  *****************************************************************************/
5769 
5770 int
5771 xcb_setup_request_authorization_protocol_name_length (const xcb_setup_request_t *R  /**< */);
5772 
5773 
5774 /*****************************************************************************
5775  **
5776  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_name_end
5777  **
5778  ** @param const xcb_setup_request_t *R
5779  ** @returns xcb_generic_iterator_t
5780  **
5781  *****************************************************************************/
5782 
5783 xcb_generic_iterator_t
5784 xcb_setup_request_authorization_protocol_name_end (const xcb_setup_request_t *R  /**< */);
5785 
5786 
5787 /*****************************************************************************
5788  **
5789  ** char * xcb_setup_request_authorization_protocol_data
5790  **
5791  ** @param const xcb_setup_request_t *R
5792  ** @returns char *
5793  **
5794  *****************************************************************************/
5795 
5796 char *
5797 xcb_setup_request_authorization_protocol_data (const xcb_setup_request_t *R  /**< */);
5798 
5799 
5800 /*****************************************************************************
5801  **
5802  ** int xcb_setup_request_authorization_protocol_data_length
5803  **
5804  ** @param const xcb_setup_request_t *R
5805  ** @returns int
5806  **
5807  *****************************************************************************/
5808 
5809 int
5810 xcb_setup_request_authorization_protocol_data_length (const xcb_setup_request_t *R  /**< */);
5811 
5812 
5813 /*****************************************************************************
5814  **
5815  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_data_end
5816  **
5817  ** @param const xcb_setup_request_t *R
5818  ** @returns xcb_generic_iterator_t
5819  **
5820  *****************************************************************************/
5821 
5822 xcb_generic_iterator_t
5823 xcb_setup_request_authorization_protocol_data_end (const xcb_setup_request_t *R  /**< */);
5824 
5825 /**
5826  * Get the next element of the iterator
5827  * @param i Pointer to a xcb_setup_request_iterator_t
5828  *
5829  * Get the next element in the iterator. The member rem is
5830  * decreased by one. The member data points to the next
5831  * element. The member index is increased by sizeof(xcb_setup_request_t)
5832  */
5833 
5834 /*****************************************************************************
5835  **
5836  ** void xcb_setup_request_next
5837  **
5838  ** @param xcb_setup_request_iterator_t *i
5839  ** @returns void
5840  **
5841  *****************************************************************************/
5842 
5843 void
5844 xcb_setup_request_next (xcb_setup_request_iterator_t *i  /**< */);
5845 
5846 /**
5847  * Return the iterator pointing to the last element
5848  * @param i An xcb_setup_request_iterator_t
5849  * @return  The iterator pointing to the last element
5850  *
5851  * Set the current element in the iterator to the last element.
5852  * The member rem is set to 0. The member data points to the
5853  * last element.
5854  */
5855 
5856 /*****************************************************************************
5857  **
5858  ** xcb_generic_iterator_t xcb_setup_request_end
5859  **
5860  ** @param xcb_setup_request_iterator_t i
5861  ** @returns xcb_generic_iterator_t
5862  **
5863  *****************************************************************************/
5864 
5865 xcb_generic_iterator_t
5866 xcb_setup_request_end (xcb_setup_request_iterator_t i  /**< */);
5867 
5868 int
5869 xcb_setup_failed_sizeof (const void  *_buffer  /**< */);
5870 
5871 
5872 /*****************************************************************************
5873  **
5874  ** char * xcb_setup_failed_reason
5875  **
5876  ** @param const xcb_setup_failed_t *R
5877  ** @returns char *
5878  **
5879  *****************************************************************************/
5880 
5881 char *
5882 xcb_setup_failed_reason (const xcb_setup_failed_t *R  /**< */);
5883 
5884 
5885 /*****************************************************************************
5886  **
5887  ** int xcb_setup_failed_reason_length
5888  **
5889  ** @param const xcb_setup_failed_t *R
5890  ** @returns int
5891  **
5892  *****************************************************************************/
5893 
5894 int
5895 xcb_setup_failed_reason_length (const xcb_setup_failed_t *R  /**< */);
5896 
5897 
5898 /*****************************************************************************
5899  **
5900  ** xcb_generic_iterator_t xcb_setup_failed_reason_end
5901  **
5902  ** @param const xcb_setup_failed_t *R
5903  ** @returns xcb_generic_iterator_t
5904  **
5905  *****************************************************************************/
5906 
5907 xcb_generic_iterator_t
5908 xcb_setup_failed_reason_end (const xcb_setup_failed_t *R  /**< */);
5909 
5910 /**
5911  * Get the next element of the iterator
5912  * @param i Pointer to a xcb_setup_failed_iterator_t
5913  *
5914  * Get the next element in the iterator. The member rem is
5915  * decreased by one. The member data points to the next
5916  * element. The member index is increased by sizeof(xcb_setup_failed_t)
5917  */
5918 
5919 /*****************************************************************************
5920  **
5921  ** void xcb_setup_failed_next
5922  **
5923  ** @param xcb_setup_failed_iterator_t *i
5924  ** @returns void
5925  **
5926  *****************************************************************************/
5927 
5928 void
5929 xcb_setup_failed_next (xcb_setup_failed_iterator_t *i  /**< */);
5930 
5931 /**
5932  * Return the iterator pointing to the last element
5933  * @param i An xcb_setup_failed_iterator_t
5934  * @return  The iterator pointing to the last element
5935  *
5936  * Set the current element in the iterator to the last element.
5937  * The member rem is set to 0. The member data points to the
5938  * last element.
5939  */
5940 
5941 /*****************************************************************************
5942  **
5943  ** xcb_generic_iterator_t xcb_setup_failed_end
5944  **
5945  ** @param xcb_setup_failed_iterator_t i
5946  ** @returns xcb_generic_iterator_t
5947  **
5948  *****************************************************************************/
5949 
5950 xcb_generic_iterator_t
5951 xcb_setup_failed_end (xcb_setup_failed_iterator_t i  /**< */);
5952 
5953 int
5954 xcb_setup_authenticate_sizeof (const void  *_buffer  /**< */);
5955 
5956 
5957 /*****************************************************************************
5958  **
5959  ** char * xcb_setup_authenticate_reason
5960  **
5961  ** @param const xcb_setup_authenticate_t *R
5962  ** @returns char *
5963  **
5964  *****************************************************************************/
5965 
5966 char *
5967 xcb_setup_authenticate_reason (const xcb_setup_authenticate_t *R  /**< */);
5968 
5969 
5970 /*****************************************************************************
5971  **
5972  ** int xcb_setup_authenticate_reason_length
5973  **
5974  ** @param const xcb_setup_authenticate_t *R
5975  ** @returns int
5976  **
5977  *****************************************************************************/
5978 
5979 int
5980 xcb_setup_authenticate_reason_length (const xcb_setup_authenticate_t *R  /**< */);
5981 
5982 
5983 /*****************************************************************************
5984  **
5985  ** xcb_generic_iterator_t xcb_setup_authenticate_reason_end
5986  **
5987  ** @param const xcb_setup_authenticate_t *R
5988  ** @returns xcb_generic_iterator_t
5989  **
5990  *****************************************************************************/
5991 
5992 xcb_generic_iterator_t
5993 xcb_setup_authenticate_reason_end (const xcb_setup_authenticate_t *R  /**< */);
5994 
5995 /**
5996  * Get the next element of the iterator
5997  * @param i Pointer to a xcb_setup_authenticate_iterator_t
5998  *
5999  * Get the next element in the iterator. The member rem is
6000  * decreased by one. The member data points to the next
6001  * element. The member index is increased by sizeof(xcb_setup_authenticate_t)
6002  */
6003 
6004 /*****************************************************************************
6005  **
6006  ** void xcb_setup_authenticate_next
6007  **
6008  ** @param xcb_setup_authenticate_iterator_t *i
6009  ** @returns void
6010  **
6011  *****************************************************************************/
6012 
6013 void
6014 xcb_setup_authenticate_next (xcb_setup_authenticate_iterator_t *i  /**< */);
6015 
6016 /**
6017  * Return the iterator pointing to the last element
6018  * @param i An xcb_setup_authenticate_iterator_t
6019  * @return  The iterator pointing to the last element
6020  *
6021  * Set the current element in the iterator to the last element.
6022  * The member rem is set to 0. The member data points to the
6023  * last element.
6024  */
6025 
6026 /*****************************************************************************
6027  **
6028  ** xcb_generic_iterator_t xcb_setup_authenticate_end
6029  **
6030  ** @param xcb_setup_authenticate_iterator_t i
6031  ** @returns xcb_generic_iterator_t
6032  **
6033  *****************************************************************************/
6034 
6035 xcb_generic_iterator_t
6036 xcb_setup_authenticate_end (xcb_setup_authenticate_iterator_t i  /**< */);
6037 
6038 int
6039 xcb_setup_sizeof (const void  *_buffer  /**< */);
6040 
6041 
6042 /*****************************************************************************
6043  **
6044  ** char * xcb_setup_vendor
6045  **
6046  ** @param const xcb_setup_t *R
6047  ** @returns char *
6048  **
6049  *****************************************************************************/
6050 
6051 char *
6052 xcb_setup_vendor (const xcb_setup_t *R  /**< */);
6053 
6054 
6055 /*****************************************************************************
6056  **
6057  ** int xcb_setup_vendor_length
6058  **
6059  ** @param const xcb_setup_t *R
6060  ** @returns int
6061  **
6062  *****************************************************************************/
6063 
6064 int
6065 xcb_setup_vendor_length (const xcb_setup_t *R  /**< */);
6066 
6067 
6068 /*****************************************************************************
6069  **
6070  ** xcb_generic_iterator_t xcb_setup_vendor_end
6071  **
6072  ** @param const xcb_setup_t *R
6073  ** @returns xcb_generic_iterator_t
6074  **
6075  *****************************************************************************/
6076 
6077 xcb_generic_iterator_t
6078 xcb_setup_vendor_end (const xcb_setup_t *R  /**< */);
6079 
6080 
6081 /*****************************************************************************
6082  **
6083  ** xcb_format_t * xcb_setup_pixmap_formats
6084  **
6085  ** @param const xcb_setup_t *R
6086  ** @returns xcb_format_t *
6087  **
6088  *****************************************************************************/
6089 
6090 xcb_format_t *
6091 xcb_setup_pixmap_formats (const xcb_setup_t *R  /**< */);
6092 
6093 
6094 /*****************************************************************************
6095  **
6096  ** int xcb_setup_pixmap_formats_length
6097  **
6098  ** @param const xcb_setup_t *R
6099  ** @returns int
6100  **
6101  *****************************************************************************/
6102 
6103 int
6104 xcb_setup_pixmap_formats_length (const xcb_setup_t *R  /**< */);
6105 
6106 
6107 /*****************************************************************************
6108  **
6109  ** xcb_format_iterator_t xcb_setup_pixmap_formats_iterator
6110  **
6111  ** @param const xcb_setup_t *R
6112  ** @returns xcb_format_iterator_t
6113  **
6114  *****************************************************************************/
6115 
6116 xcb_format_iterator_t
6117 xcb_setup_pixmap_formats_iterator (const xcb_setup_t *R  /**< */);
6118 
6119 
6120 /*****************************************************************************
6121  **
6122  ** int xcb_setup_roots_length
6123  **
6124  ** @param const xcb_setup_t *R
6125  ** @returns int
6126  **
6127  *****************************************************************************/
6128 
6129 int
6130 xcb_setup_roots_length (const xcb_setup_t *R  /**< */);
6131 
6132 
6133 /*****************************************************************************
6134  **
6135  ** xcb_screen_iterator_t xcb_setup_roots_iterator
6136  **
6137  ** @param const xcb_setup_t *R
6138  ** @returns xcb_screen_iterator_t
6139  **
6140  *****************************************************************************/
6141 
6142 xcb_screen_iterator_t
6143 xcb_setup_roots_iterator (const xcb_setup_t *R  /**< */);
6144 
6145 /**
6146  * Get the next element of the iterator
6147  * @param i Pointer to a xcb_setup_iterator_t
6148  *
6149  * Get the next element in the iterator. The member rem is
6150  * decreased by one. The member data points to the next
6151  * element. The member index is increased by sizeof(xcb_setup_t)
6152  */
6153 
6154 /*****************************************************************************
6155  **
6156  ** void xcb_setup_next
6157  **
6158  ** @param xcb_setup_iterator_t *i
6159  ** @returns void
6160  **
6161  *****************************************************************************/
6162 
6163 void
6164 xcb_setup_next (xcb_setup_iterator_t *i  /**< */);
6165 
6166 /**
6167  * Return the iterator pointing to the last element
6168  * @param i An xcb_setup_iterator_t
6169  * @return  The iterator pointing to the last element
6170  *
6171  * Set the current element in the iterator to the last element.
6172  * The member rem is set to 0. The member data points to the
6173  * last element.
6174  */
6175 
6176 /*****************************************************************************
6177  **
6178  ** xcb_generic_iterator_t xcb_setup_end
6179  **
6180  ** @param xcb_setup_iterator_t i
6181  ** @returns xcb_generic_iterator_t
6182  **
6183  *****************************************************************************/
6184 
6185 xcb_generic_iterator_t
6186 xcb_setup_end (xcb_setup_iterator_t i  /**< */);
6187 
6188 /**
6189  * Get the next element of the iterator
6190  * @param i Pointer to a xcb_client_message_data_iterator_t
6191  *
6192  * Get the next element in the iterator. The member rem is
6193  * decreased by one. The member data points to the next
6194  * element. The member index is increased by sizeof(xcb_client_message_data_t)
6195  */
6196 
6197 /*****************************************************************************
6198  **
6199  ** void xcb_client_message_data_next
6200  **
6201  ** @param xcb_client_message_data_iterator_t *i
6202  ** @returns void
6203  **
6204  *****************************************************************************/
6205 
6206 void
6207 xcb_client_message_data_next (xcb_client_message_data_iterator_t *i  /**< */);
6208 
6209 /**
6210  * Return the iterator pointing to the last element
6211  * @param i An xcb_client_message_data_iterator_t
6212  * @return  The iterator pointing to the last element
6213  *
6214  * Set the current element in the iterator to the last element.
6215  * The member rem is set to 0. The member data points to the
6216  * last element.
6217  */
6218 
6219 /*****************************************************************************
6220  **
6221  ** xcb_generic_iterator_t xcb_client_message_data_end
6222  **
6223  ** @param xcb_client_message_data_iterator_t i
6224  ** @returns xcb_generic_iterator_t
6225  **
6226  *****************************************************************************/
6227 
6228 xcb_generic_iterator_t
6229 xcb_client_message_data_end (xcb_client_message_data_iterator_t i  /**< */);
6230 
6231 int
6232 xcb_create_window_sizeof (const void  *_buffer  /**< */);
6233 
6234 /**
6235  * @brief Creates a window
6236  *
6237  * @param c The connection
6238  * @param depth Specifies the new window's depth (TODO: what unit?).
6239  * \n
6240  * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
6241  * \a parent window.
6242  * @param wid The ID with which you will refer to the new window, created by
6243  * `xcb_generate_id`.
6244  * @param parent The parent window of the new window.
6245  * @param x The X coordinate of the new window.
6246  * @param y The Y coordinate of the new window.
6247  * @param width The width of the new window.
6248  * @param height The height of the new window.
6249  * @param border_width TODO:
6250  * \n
6251  * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
6252  * @param _class A bitmask of #xcb_window_class_t values.
6253  * @param _class \n
6254  * @param visual Specifies the id for the new window's visual.
6255  * \n
6256  * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
6257  * \a parent window.
6258  * @param value_mask A bitmask of #xcb_cw_t values.
6259  * @return A cookie
6260  *
6261  * Creates an unmapped window as child of the specified \a parent window. A
6262  * CreateNotify event will be generated. The new window is placed on top in the
6263  * stacking order with respect to siblings.
6264  *
6265  * The coordinate system has the X axis horizontal and the Y axis vertical with
6266  * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
6267  * of pixels, and coincide with pixel centers. Each window and pixmap has its own
6268  * coordinate system. For a window, the origin is inside the border at the inside,
6269  * upper-left corner.
6270  *
6271  * The created window is not yet displayed (mapped), call `xcb_map_window` to
6272  * display it.
6273  *
6274  * The created window will initially use the same cursor as its parent.
6275  *
6276  * This form can be used only if the request will not cause
6277  * a reply to be generated. Any returned error will be
6278  * saved for handling by xcb_request_check().
6279  */
6280 
6281 /*****************************************************************************
6282  **
6283  ** xcb_void_cookie_t xcb_create_window_checked
6284  **
6285  ** @param xcb_connection_t *c
6286  ** @param uint8_t           depth
6287  ** @param xcb_window_t      wid
6288  ** @param xcb_window_t      parent
6289  ** @param int16_t           x
6290  ** @param int16_t           y
6291  ** @param uint16_t          width
6292  ** @param uint16_t          height
6293  ** @param uint16_t          border_width
6294  ** @param uint16_t          _class
6295  ** @param xcb_visualid_t    visual
6296  ** @param uint32_t          value_mask
6297  ** @param const uint32_t   *value_list
6298  ** @returns xcb_void_cookie_t
6299  **
6300  *****************************************************************************/
6301 
6302 xcb_void_cookie_t
6303 xcb_create_window_checked (xcb_connection_t *c  /**< */,
6304                            uint8_t           depth  /**< */,
6305                            xcb_window_t      wid  /**< */,
6306                            xcb_window_t      parent  /**< */,
6307                            int16_t           x  /**< */,
6308                            int16_t           y  /**< */,
6309                            uint16_t          width  /**< */,
6310                            uint16_t          height  /**< */,
6311                            uint16_t          border_width  /**< */,
6312                            uint16_t          _class  /**< */,
6313                            xcb_visualid_t    visual  /**< */,
6314                            uint32_t          value_mask  /**< */,
6315                            const uint32_t   *value_list  /**< */);
6316 
6317 /**
6318  * @brief Creates a window
6319  *
6320  * @param c The connection
6321  * @param depth Specifies the new window's depth (TODO: what unit?).
6322  * \n
6323  * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
6324  * \a parent window.
6325  * @param wid The ID with which you will refer to the new window, created by
6326  * `xcb_generate_id`.
6327  * @param parent The parent window of the new window.
6328  * @param x The X coordinate of the new window.
6329  * @param y The Y coordinate of the new window.
6330  * @param width The width of the new window.
6331  * @param height The height of the new window.
6332  * @param border_width TODO:
6333  * \n
6334  * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
6335  * @param _class A bitmask of #xcb_window_class_t values.
6336  * @param _class \n
6337  * @param visual Specifies the id for the new window's visual.
6338  * \n
6339  * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
6340  * \a parent window.
6341  * @param value_mask A bitmask of #xcb_cw_t values.
6342  * @return A cookie
6343  *
6344  * Creates an unmapped window as child of the specified \a parent window. A
6345  * CreateNotify event will be generated. The new window is placed on top in the
6346  * stacking order with respect to siblings.
6347  *
6348  * The coordinate system has the X axis horizontal and the Y axis vertical with
6349  * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
6350  * of pixels, and coincide with pixel centers. Each window and pixmap has its own
6351  * coordinate system. For a window, the origin is inside the border at the inside,
6352  * upper-left corner.
6353  *
6354  * The created window is not yet displayed (mapped), call `xcb_map_window` to
6355  * display it.
6356  *
6357  * The created window will initially use the same cursor as its parent.
6358  *
6359  */
6360 
6361 /*****************************************************************************
6362  **
6363  ** xcb_void_cookie_t xcb_create_window
6364  **
6365  ** @param xcb_connection_t *c
6366  ** @param uint8_t           depth
6367  ** @param xcb_window_t      wid
6368  ** @param xcb_window_t      parent
6369  ** @param int16_t           x
6370  ** @param int16_t           y
6371  ** @param uint16_t          width
6372  ** @param uint16_t          height
6373  ** @param uint16_t          border_width
6374  ** @param uint16_t          _class
6375  ** @param xcb_visualid_t    visual
6376  ** @param uint32_t          value_mask
6377  ** @param const uint32_t   *value_list
6378  ** @returns xcb_void_cookie_t
6379  **
6380  *****************************************************************************/
6381 
6382 xcb_void_cookie_t
6383 xcb_create_window (xcb_connection_t *c  /**< */,
6384                    uint8_t           depth  /**< */,
6385                    xcb_window_t      wid  /**< */,
6386                    xcb_window_t      parent  /**< */,
6387                    int16_t           x  /**< */,
6388                    int16_t           y  /**< */,
6389                    uint16_t          width  /**< */,
6390                    uint16_t          height  /**< */,
6391                    uint16_t          border_width  /**< */,
6392                    uint16_t          _class  /**< */,
6393                    xcb_visualid_t    visual  /**< */,
6394                    uint32_t          value_mask  /**< */,
6395                    const uint32_t   *value_list  /**< */);
6396 
6397 int
6398 xcb_change_window_attributes_sizeof (const void  *_buffer  /**< */);
6399 
6400 /**
6401  * @brief change window attributes
6402  *
6403  * @param c The connection
6404  * @param window The window to change.
6405  * @param value_mask A bitmask of #xcb_cw_t values.
6406  * @param value_mask \n
6407  * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
6408  * order has to correspond to the order of possible \a value_mask bits. See the
6409  * example.
6410  * @return A cookie
6411  *
6412  * Changes the attributes specified by \a value_mask for the specified \a window.
6413  *
6414  * This form can be used only if the request will not cause
6415  * a reply to be generated. Any returned error will be
6416  * saved for handling by xcb_request_check().
6417  */
6418 
6419 /*****************************************************************************
6420  **
6421  ** xcb_void_cookie_t xcb_change_window_attributes_checked
6422  **
6423  ** @param xcb_connection_t *c
6424  ** @param xcb_window_t      window
6425  ** @param uint32_t          value_mask
6426  ** @param const uint32_t   *value_list
6427  ** @returns xcb_void_cookie_t
6428  **
6429  *****************************************************************************/
6430 
6431 xcb_void_cookie_t
6432 xcb_change_window_attributes_checked (xcb_connection_t *c  /**< */,
6433                                       xcb_window_t      window  /**< */,
6434                                       uint32_t          value_mask  /**< */,
6435                                       const uint32_t   *value_list  /**< */);
6436 
6437 /**
6438  * @brief change window attributes
6439  *
6440  * @param c The connection
6441  * @param window The window to change.
6442  * @param value_mask A bitmask of #xcb_cw_t values.
6443  * @param value_mask \n
6444  * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
6445  * order has to correspond to the order of possible \a value_mask bits. See the
6446  * example.
6447  * @return A cookie
6448  *
6449  * Changes the attributes specified by \a value_mask for the specified \a window.
6450  *
6451  */
6452 
6453 /*****************************************************************************
6454  **
6455  ** xcb_void_cookie_t xcb_change_window_attributes
6456  **
6457  ** @param xcb_connection_t *c
6458  ** @param xcb_window_t      window
6459  ** @param uint32_t          value_mask
6460  ** @param const uint32_t   *value_list
6461  ** @returns xcb_void_cookie_t
6462  **
6463  *****************************************************************************/
6464 
6465 xcb_void_cookie_t
6466 xcb_change_window_attributes (xcb_connection_t *c  /**< */,
6467                               xcb_window_t      window  /**< */,
6468                               uint32_t          value_mask  /**< */,
6469                               const uint32_t   *value_list  /**< */);
6470 
6471 /**
6472  * @brief Gets window attributes
6473  *
6474  * @param c The connection
6475  * @param window The window to get the attributes from.
6476  * @return A cookie
6477  *
6478  * Gets the current attributes for the specified \a window.
6479  *
6480  */
6481 
6482 /*****************************************************************************
6483  **
6484  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes
6485  **
6486  ** @param xcb_connection_t *c
6487  ** @param xcb_window_t      window
6488  ** @returns xcb_get_window_attributes_cookie_t
6489  **
6490  *****************************************************************************/
6491 
6492 xcb_get_window_attributes_cookie_t
6493 xcb_get_window_attributes (xcb_connection_t *c  /**< */,
6494                            xcb_window_t      window  /**< */);
6495 
6496 /**
6497  * @brief Gets window attributes
6498  *
6499  * @param c The connection
6500  * @param window The window to get the attributes from.
6501  * @return A cookie
6502  *
6503  * Gets the current attributes for the specified \a window.
6504  *
6505  * This form can be used only if the request will cause
6506  * a reply to be generated. Any returned error will be
6507  * placed in the event queue.
6508  */
6509 
6510 /*****************************************************************************
6511  **
6512  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes_unchecked
6513  **
6514  ** @param xcb_connection_t *c
6515  ** @param xcb_window_t      window
6516  ** @returns xcb_get_window_attributes_cookie_t
6517  **
6518  *****************************************************************************/
6519 
6520 xcb_get_window_attributes_cookie_t
6521 xcb_get_window_attributes_unchecked (xcb_connection_t *c  /**< */,
6522                                      xcb_window_t      window  /**< */);
6523 
6524 /**
6525  * Return the reply
6526  * @param c      The connection
6527  * @param cookie The cookie
6528  * @param e      The xcb_generic_error_t supplied
6529  *
6530  * Returns the reply of the request asked by
6531  *
6532  * The parameter @p e supplied to this function must be NULL if
6533  * xcb_get_window_attributes_unchecked(). is used.
6534  * Otherwise, it stores the error if any.
6535  *
6536  * The returned value must be freed by the caller using free().
6537  */
6538 
6539 /*****************************************************************************
6540  **
6541  ** xcb_get_window_attributes_reply_t * xcb_get_window_attributes_reply
6542  **
6543  ** @param xcb_connection_t                    *c
6544  ** @param xcb_get_window_attributes_cookie_t   cookie
6545  ** @param xcb_generic_error_t                **e
6546  ** @returns xcb_get_window_attributes_reply_t *
6547  **
6548  *****************************************************************************/
6549 
6550 xcb_get_window_attributes_reply_t *
6551 xcb_get_window_attributes_reply (xcb_connection_t                    *c  /**< */,
6552                                  xcb_get_window_attributes_cookie_t   cookie  /**< */,
6553                                  xcb_generic_error_t                **e  /**< */);
6554 
6555 /**
6556  * @brief Destroys a window
6557  *
6558  * @param c The connection
6559  * @param window The window to destroy.
6560  * @return A cookie
6561  *
6562  * Destroys the specified window and all of its subwindows. A DestroyNotify event
6563  * is generated for each destroyed window (a DestroyNotify event is first generated
6564  * for any given window's inferiors). If the window was mapped, it will be
6565  * automatically unmapped before destroying.
6566  *
6567  * Calling DestroyWindow on the root window will do nothing.
6568  *
6569  * This form can be used only if the request will not cause
6570  * a reply to be generated. Any returned error will be
6571  * saved for handling by xcb_request_check().
6572  */
6573 
6574 /*****************************************************************************
6575  **
6576  ** xcb_void_cookie_t xcb_destroy_window_checked
6577  **
6578  ** @param xcb_connection_t *c
6579  ** @param xcb_window_t      window
6580  ** @returns xcb_void_cookie_t
6581  **
6582  *****************************************************************************/
6583 
6584 xcb_void_cookie_t
6585 xcb_destroy_window_checked (xcb_connection_t *c  /**< */,
6586                             xcb_window_t      window  /**< */);
6587 
6588 /**
6589  * @brief Destroys a window
6590  *
6591  * @param c The connection
6592  * @param window The window to destroy.
6593  * @return A cookie
6594  *
6595  * Destroys the specified window and all of its subwindows. A DestroyNotify event
6596  * is generated for each destroyed window (a DestroyNotify event is first generated
6597  * for any given window's inferiors). If the window was mapped, it will be
6598  * automatically unmapped before destroying.
6599  *
6600  * Calling DestroyWindow on the root window will do nothing.
6601  *
6602  */
6603 
6604 /*****************************************************************************
6605  **
6606  ** xcb_void_cookie_t xcb_destroy_window
6607  **
6608  ** @param xcb_connection_t *c
6609  ** @param xcb_window_t      window
6610  ** @returns xcb_void_cookie_t
6611  **
6612  *****************************************************************************/
6613 
6614 xcb_void_cookie_t
6615 xcb_destroy_window (xcb_connection_t *c  /**< */,
6616                     xcb_window_t      window  /**< */);
6617 
6618 /**
6619  *
6620  * @param c The connection
6621  * @return A cookie
6622  *
6623  * Delivers a request to the X server.
6624  *
6625  * This form can be used only if the request will not cause
6626  * a reply to be generated. Any returned error will be
6627  * saved for handling by xcb_request_check().
6628  */
6629 
6630 /*****************************************************************************
6631  **
6632  ** xcb_void_cookie_t xcb_destroy_subwindows_checked
6633  **
6634  ** @param xcb_connection_t *c
6635  ** @param xcb_window_t      window
6636  ** @returns xcb_void_cookie_t
6637  **
6638  *****************************************************************************/
6639 
6640 xcb_void_cookie_t
6641 xcb_destroy_subwindows_checked (xcb_connection_t *c  /**< */,
6642                                 xcb_window_t      window  /**< */);
6643 
6644 /**
6645  *
6646  * @param c The connection
6647  * @return A cookie
6648  *
6649  * Delivers a request to the X server.
6650  *
6651  */
6652 
6653 /*****************************************************************************
6654  **
6655  ** xcb_void_cookie_t xcb_destroy_subwindows
6656  **
6657  ** @param xcb_connection_t *c
6658  ** @param xcb_window_t      window
6659  ** @returns xcb_void_cookie_t
6660  **
6661  *****************************************************************************/
6662 
6663 xcb_void_cookie_t
6664 xcb_destroy_subwindows (xcb_connection_t *c  /**< */,
6665                         xcb_window_t      window  /**< */);
6666 
6667 /**
6668  * @brief Changes a client's save set
6669  *
6670  * @param c The connection
6671  * @param mode A bitmask of #xcb_set_mode_t values.
6672  * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
6673  * @param window The window to add or delete to/from your save set.
6674  * @return A cookie
6675  *
6676  * TODO: explain what the save set is for.
6677  *
6678  * This function either adds or removes the specified window to the client's (your
6679  * application's) save set.
6680  *
6681  * This form can be used only if the request will not cause
6682  * a reply to be generated. Any returned error will be
6683  * saved for handling by xcb_request_check().
6684  */
6685 
6686 /*****************************************************************************
6687  **
6688  ** xcb_void_cookie_t xcb_change_save_set_checked
6689  **
6690  ** @param xcb_connection_t *c
6691  ** @param uint8_t           mode
6692  ** @param xcb_window_t      window
6693  ** @returns xcb_void_cookie_t
6694  **
6695  *****************************************************************************/
6696 
6697 xcb_void_cookie_t
6698 xcb_change_save_set_checked (xcb_connection_t *c  /**< */,
6699                              uint8_t           mode  /**< */,
6700                              xcb_window_t      window  /**< */);
6701 
6702 /**
6703  * @brief Changes a client's save set
6704  *
6705  * @param c The connection
6706  * @param mode A bitmask of #xcb_set_mode_t values.
6707  * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
6708  * @param window The window to add or delete to/from your save set.
6709  * @return A cookie
6710  *
6711  * TODO: explain what the save set is for.
6712  *
6713  * This function either adds or removes the specified window to the client's (your
6714  * application's) save set.
6715  *
6716  */
6717 
6718 /*****************************************************************************
6719  **
6720  ** xcb_void_cookie_t xcb_change_save_set
6721  **
6722  ** @param xcb_connection_t *c
6723  ** @param uint8_t           mode
6724  ** @param xcb_window_t      window
6725  ** @returns xcb_void_cookie_t
6726  **
6727  *****************************************************************************/
6728 
6729 xcb_void_cookie_t
6730 xcb_change_save_set (xcb_connection_t *c  /**< */,
6731                      uint8_t           mode  /**< */,
6732                      xcb_window_t      window  /**< */);
6733 
6734 /**
6735  * @brief Reparents a window
6736  *
6737  * @param c The connection
6738  * @param window The window to reparent.
6739  * @param parent The new parent of the window.
6740  * @param x The X position of the window within its new parent.
6741  * @param y The Y position of the window within its new parent.
6742  * @return A cookie
6743  *
6744  * Makes the specified window a child of the specified parent window. If the
6745  * window is mapped, it will automatically be unmapped before reparenting and
6746  * re-mapped after reparenting. The window is placed in the stacking order on top
6747  * with respect to sibling windows.
6748  *
6749  * After reparenting, a ReparentNotify event is generated.
6750  *
6751  * This form can be used only if the request will not cause
6752  * a reply to be generated. Any returned error will be
6753  * saved for handling by xcb_request_check().
6754  */
6755 
6756 /*****************************************************************************
6757  **
6758  ** xcb_void_cookie_t xcb_reparent_window_checked
6759  **
6760  ** @param xcb_connection_t *c
6761  ** @param xcb_window_t      window
6762  ** @param xcb_window_t      parent
6763  ** @param int16_t           x
6764  ** @param int16_t           y
6765  ** @returns xcb_void_cookie_t
6766  **
6767  *****************************************************************************/
6768 
6769 xcb_void_cookie_t
6770 xcb_reparent_window_checked (xcb_connection_t *c  /**< */,
6771                              xcb_window_t      window  /**< */,
6772                              xcb_window_t      parent  /**< */,
6773                              int16_t           x  /**< */,
6774                              int16_t           y  /**< */);
6775 
6776 /**
6777  * @brief Reparents a window
6778  *
6779  * @param c The connection
6780  * @param window The window to reparent.
6781  * @param parent The new parent of the window.
6782  * @param x The X position of the window within its new parent.
6783  * @param y The Y position of the window within its new parent.
6784  * @return A cookie
6785  *
6786  * Makes the specified window a child of the specified parent window. If the
6787  * window is mapped, it will automatically be unmapped before reparenting and
6788  * re-mapped after reparenting. The window is placed in the stacking order on top
6789  * with respect to sibling windows.
6790  *
6791  * After reparenting, a ReparentNotify event is generated.
6792  *
6793  */
6794 
6795 /*****************************************************************************
6796  **
6797  ** xcb_void_cookie_t xcb_reparent_window
6798  **
6799  ** @param xcb_connection_t *c
6800  ** @param xcb_window_t      window
6801  ** @param xcb_window_t      parent
6802  ** @param int16_t           x
6803  ** @param int16_t           y
6804  ** @returns xcb_void_cookie_t
6805  **
6806  *****************************************************************************/
6807 
6808 xcb_void_cookie_t
6809 xcb_reparent_window (xcb_connection_t *c  /**< */,
6810                      xcb_window_t      window  /**< */,
6811                      xcb_window_t      parent  /**< */,
6812                      int16_t           x  /**< */,
6813                      int16_t           y  /**< */);
6814 
6815 /**
6816  * @brief Makes a window visible
6817  *
6818  * @param c The connection
6819  * @param window The window to make visible.
6820  * @return A cookie
6821  *
6822  * Maps the specified window. This means making the window visible (as long as its
6823  * parent is visible).
6824  *
6825  * This MapWindow request will be translated to a MapRequest request if a window
6826  * manager is running. The window manager then decides to either map the window or
6827  * not. Set the override-redirect window attribute to true if you want to bypass
6828  * this mechanism.
6829  *
6830  * If the window manager decides to map the window (or if no window manager is
6831  * running), a MapNotify event is generated.
6832  *
6833  * If the window becomes viewable and no earlier contents for it are remembered,
6834  * the X server tiles the window with its background. If the window's background
6835  * is undefined, the existing screen contents are not altered, and the X server
6836  * generates zero or more Expose events.
6837  *
6838  * If the window type is InputOutput, an Expose event will be generated when the
6839  * window becomes visible. The normal response to an Expose event should be to
6840  * repaint the window.
6841  *
6842  * This form can be used only if the request will not cause
6843  * a reply to be generated. Any returned error will be
6844  * saved for handling by xcb_request_check().
6845  */
6846 
6847 /*****************************************************************************
6848  **
6849  ** xcb_void_cookie_t xcb_map_window_checked
6850  **
6851  ** @param xcb_connection_t *c
6852  ** @param xcb_window_t      window
6853  ** @returns xcb_void_cookie_t
6854  **
6855  *****************************************************************************/
6856 
6857 xcb_void_cookie_t
6858 xcb_map_window_checked (xcb_connection_t *c  /**< */,
6859                         xcb_window_t      window  /**< */);
6860 
6861 /**
6862  * @brief Makes a window visible
6863  *
6864  * @param c The connection
6865  * @param window The window to make visible.
6866  * @return A cookie
6867  *
6868  * Maps the specified window. This means making the window visible (as long as its
6869  * parent is visible).
6870  *
6871  * This MapWindow request will be translated to a MapRequest request if a window
6872  * manager is running. The window manager then decides to either map the window or
6873  * not. Set the override-redirect window attribute to true if you want to bypass
6874  * this mechanism.
6875  *
6876  * If the window manager decides to map the window (or if no window manager is
6877  * running), a MapNotify event is generated.
6878  *
6879  * If the window becomes viewable and no earlier contents for it are remembered,
6880  * the X server tiles the window with its background. If the window's background
6881  * is undefined, the existing screen contents are not altered, and the X server
6882  * generates zero or more Expose events.
6883  *
6884  * If the window type is InputOutput, an Expose event will be generated when the
6885  * window becomes visible. The normal response to an Expose event should be to
6886  * repaint the window.
6887  *
6888  */
6889 
6890 /*****************************************************************************
6891  **
6892  ** xcb_void_cookie_t xcb_map_window
6893  **
6894  ** @param xcb_connection_t *c
6895  ** @param xcb_window_t      window
6896  ** @returns xcb_void_cookie_t
6897  **
6898  *****************************************************************************/
6899 
6900 xcb_void_cookie_t
6901 xcb_map_window (xcb_connection_t *c  /**< */,
6902                 xcb_window_t      window  /**< */);
6903 
6904 /**
6905  *
6906  * @param c The connection
6907  * @return A cookie
6908  *
6909  * Delivers a request to the X server.
6910  *
6911  * This form can be used only if the request will not cause
6912  * a reply to be generated. Any returned error will be
6913  * saved for handling by xcb_request_check().
6914  */
6915 
6916 /*****************************************************************************
6917  **
6918  ** xcb_void_cookie_t xcb_map_subwindows_checked
6919  **
6920  ** @param xcb_connection_t *c
6921  ** @param xcb_window_t      window
6922  ** @returns xcb_void_cookie_t
6923  **
6924  *****************************************************************************/
6925 
6926 xcb_void_cookie_t
6927 xcb_map_subwindows_checked (xcb_connection_t *c  /**< */,
6928                             xcb_window_t      window  /**< */);
6929 
6930 /**
6931  *
6932  * @param c The connection
6933  * @return A cookie
6934  *
6935  * Delivers a request to the X server.
6936  *
6937  */
6938 
6939 /*****************************************************************************
6940  **
6941  ** xcb_void_cookie_t xcb_map_subwindows
6942  **
6943  ** @param xcb_connection_t *c
6944  ** @param xcb_window_t      window
6945  ** @returns xcb_void_cookie_t
6946  **
6947  *****************************************************************************/
6948 
6949 xcb_void_cookie_t
6950 xcb_map_subwindows (xcb_connection_t *c  /**< */,
6951                     xcb_window_t      window  /**< */);
6952 
6953 /**
6954  * @brief Makes a window invisible
6955  *
6956  * @param c The connection
6957  * @param window The window to make invisible.
6958  * @return A cookie
6959  *
6960  * Unmaps the specified window. This means making the window invisible (and all
6961  * its child windows).
6962  *
6963  * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
6964  * `Expose` events are generated for formerly obscured windows.
6965  *
6966  * This form can be used only if the request will not cause
6967  * a reply to be generated. Any returned error will be
6968  * saved for handling by xcb_request_check().
6969  */
6970 
6971 /*****************************************************************************
6972  **
6973  ** xcb_void_cookie_t xcb_unmap_window_checked
6974  **
6975  ** @param xcb_connection_t *c
6976  ** @param xcb_window_t      window
6977  ** @returns xcb_void_cookie_t
6978  **
6979  *****************************************************************************/
6980 
6981 xcb_void_cookie_t
6982 xcb_unmap_window_checked (xcb_connection_t *c  /**< */,
6983                           xcb_window_t      window  /**< */);
6984 
6985 /**
6986  * @brief Makes a window invisible
6987  *
6988  * @param c The connection
6989  * @param window The window to make invisible.
6990  * @return A cookie
6991  *
6992  * Unmaps the specified window. This means making the window invisible (and all
6993  * its child windows).
6994  *
6995  * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
6996  * `Expose` events are generated for formerly obscured windows.
6997  *
6998  */
6999 
7000 /*****************************************************************************
7001  **
7002  ** xcb_void_cookie_t xcb_unmap_window
7003  **
7004  ** @param xcb_connection_t *c
7005  ** @param xcb_window_t      window
7006  ** @returns xcb_void_cookie_t
7007  **
7008  *****************************************************************************/
7009 
7010 xcb_void_cookie_t
7011 xcb_unmap_window (xcb_connection_t *c  /**< */,
7012                   xcb_window_t      window  /**< */);
7013 
7014 /**
7015  *
7016  * @param c The connection
7017  * @return A cookie
7018  *
7019  * Delivers a request to the X server.
7020  *
7021  * This form can be used only if the request will not cause
7022  * a reply to be generated. Any returned error will be
7023  * saved for handling by xcb_request_check().
7024  */
7025 
7026 /*****************************************************************************
7027  **
7028  ** xcb_void_cookie_t xcb_unmap_subwindows_checked
7029  **
7030  ** @param xcb_connection_t *c
7031  ** @param xcb_window_t      window
7032  ** @returns xcb_void_cookie_t
7033  **
7034  *****************************************************************************/
7035 
7036 xcb_void_cookie_t
7037 xcb_unmap_subwindows_checked (xcb_connection_t *c  /**< */,
7038                               xcb_window_t      window  /**< */);
7039 
7040 /**
7041  *
7042  * @param c The connection
7043  * @return A cookie
7044  *
7045  * Delivers a request to the X server.
7046  *
7047  */
7048 
7049 /*****************************************************************************
7050  **
7051  ** xcb_void_cookie_t xcb_unmap_subwindows
7052  **
7053  ** @param xcb_connection_t *c
7054  ** @param xcb_window_t      window
7055  ** @returns xcb_void_cookie_t
7056  **
7057  *****************************************************************************/
7058 
7059 xcb_void_cookie_t
7060 xcb_unmap_subwindows (xcb_connection_t *c  /**< */,
7061                       xcb_window_t      window  /**< */);
7062 
7063 int
7064 xcb_configure_window_sizeof (const void  *_buffer  /**< */);
7065 
7066 /**
7067  * @brief Configures window attributes
7068  *
7069  * @param c The connection
7070  * @param window The window to configure.
7071  * @param value_mask Bitmask of attributes to change.
7072  * @param value_list New values, corresponding to the attributes in value_mask. The order has to
7073  * correspond to the order of possible \a value_mask bits. See the example.
7074  * @return A cookie
7075  *
7076  * Configures a window's size, position, border width and stacking order.
7077  *
7078  * This form can be used only if the request will not cause
7079  * a reply to be generated. Any returned error will be
7080  * saved for handling by xcb_request_check().
7081  */
7082 
7083 /*****************************************************************************
7084  **
7085  ** xcb_void_cookie_t xcb_configure_window_checked
7086  **
7087  ** @param xcb_connection_t *c
7088  ** @param xcb_window_t      window
7089  ** @param uint16_t          value_mask
7090  ** @param const uint32_t   *value_list
7091  ** @returns xcb_void_cookie_t
7092  **
7093  *****************************************************************************/
7094 
7095 xcb_void_cookie_t
7096 xcb_configure_window_checked (xcb_connection_t *c  /**< */,
7097                               xcb_window_t      window  /**< */,
7098                               uint16_t          value_mask  /**< */,
7099                               const uint32_t   *value_list  /**< */);
7100 
7101 /**
7102  * @brief Configures window attributes
7103  *
7104  * @param c The connection
7105  * @param window The window to configure.
7106  * @param value_mask Bitmask of attributes to change.
7107  * @param value_list New values, corresponding to the attributes in value_mask. The order has to
7108  * correspond to the order of possible \a value_mask bits. See the example.
7109  * @return A cookie
7110  *
7111  * Configures a window's size, position, border width and stacking order.
7112  *
7113  */
7114 
7115 /*****************************************************************************
7116  **
7117  ** xcb_void_cookie_t xcb_configure_window
7118  **
7119  ** @param xcb_connection_t *c
7120  ** @param xcb_window_t      window
7121  ** @param uint16_t          value_mask
7122  ** @param const uint32_t   *value_list
7123  ** @returns xcb_void_cookie_t
7124  **
7125  *****************************************************************************/
7126 
7127 xcb_void_cookie_t
7128 xcb_configure_window (xcb_connection_t *c  /**< */,
7129                       xcb_window_t      window  /**< */,
7130                       uint16_t          value_mask  /**< */,
7131                       const uint32_t   *value_list  /**< */);
7132 
7133 /**
7134  * @brief Change window stacking order
7135  *
7136  * @param c The connection
7137  * @param direction A bitmask of #xcb_circulate_t values.
7138  * @param direction \n
7139  * @param window The window to raise/lower (depending on \a direction).
7140  * @return A cookie
7141  *
7142  * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
7143  * any) will be raised to the top of the stack.
7144  *
7145  * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
7146  * be lowered to the bottom of the stack.
7147  *
7148  * This form can be used only if the request will not cause
7149  * a reply to be generated. Any returned error will be
7150  * saved for handling by xcb_request_check().
7151  */
7152 
7153 /*****************************************************************************
7154  **
7155  ** xcb_void_cookie_t xcb_circulate_window_checked
7156  **
7157  ** @param xcb_connection_t *c
7158  ** @param uint8_t           direction
7159  ** @param xcb_window_t      window
7160  ** @returns xcb_void_cookie_t
7161  **
7162  *****************************************************************************/
7163 
7164 xcb_void_cookie_t
7165 xcb_circulate_window_checked (xcb_connection_t *c  /**< */,
7166                               uint8_t           direction  /**< */,
7167                               xcb_window_t      window  /**< */);
7168 
7169 /**
7170  * @brief Change window stacking order
7171  *
7172  * @param c The connection
7173  * @param direction A bitmask of #xcb_circulate_t values.
7174  * @param direction \n
7175  * @param window The window to raise/lower (depending on \a direction).
7176  * @return A cookie
7177  *
7178  * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
7179  * any) will be raised to the top of the stack.
7180  *
7181  * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
7182  * be lowered to the bottom of the stack.
7183  *
7184  */
7185 
7186 /*****************************************************************************
7187  **
7188  ** xcb_void_cookie_t xcb_circulate_window
7189  **
7190  ** @param xcb_connection_t *c
7191  ** @param uint8_t           direction
7192  ** @param xcb_window_t      window
7193  ** @returns xcb_void_cookie_t
7194  **
7195  *****************************************************************************/
7196 
7197 xcb_void_cookie_t
7198 xcb_circulate_window (xcb_connection_t *c  /**< */,
7199                       uint8_t           direction  /**< */,
7200                       xcb_window_t      window  /**< */);
7201 
7202 /**
7203  * @brief Get current window geometry
7204  *
7205  * @param c The connection
7206  * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
7207  * @return A cookie
7208  *
7209  * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
7210  *
7211  */
7212 
7213 /*****************************************************************************
7214  **
7215  ** xcb_get_geometry_cookie_t xcb_get_geometry
7216  **
7217  ** @param xcb_connection_t *c
7218  ** @param xcb_drawable_t    drawable
7219  ** @returns xcb_get_geometry_cookie_t
7220  **
7221  *****************************************************************************/
7222 
7223 xcb_get_geometry_cookie_t
7224 xcb_get_geometry (xcb_connection_t *c  /**< */,
7225                   xcb_drawable_t    drawable  /**< */);
7226 
7227 /**
7228  * @brief Get current window geometry
7229  *
7230  * @param c The connection
7231  * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
7232  * @return A cookie
7233  *
7234  * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
7235  *
7236  * This form can be used only if the request will cause
7237  * a reply to be generated. Any returned error will be
7238  * placed in the event queue.
7239  */
7240 
7241 /*****************************************************************************
7242  **
7243  ** xcb_get_geometry_cookie_t xcb_get_geometry_unchecked
7244  **
7245  ** @param xcb_connection_t *c
7246  ** @param xcb_drawable_t    drawable
7247  ** @returns xcb_get_geometry_cookie_t
7248  **
7249  *****************************************************************************/
7250 
7251 xcb_get_geometry_cookie_t
7252 xcb_get_geometry_unchecked (xcb_connection_t *c  /**< */,
7253                             xcb_drawable_t    drawable  /**< */);
7254 
7255 /**
7256  * Return the reply
7257  * @param c      The connection
7258  * @param cookie The cookie
7259  * @param e      The xcb_generic_error_t supplied
7260  *
7261  * Returns the reply of the request asked by
7262  *
7263  * The parameter @p e supplied to this function must be NULL if
7264  * xcb_get_geometry_unchecked(). is used.
7265  * Otherwise, it stores the error if any.
7266  *
7267  * The returned value must be freed by the caller using free().
7268  */
7269 
7270 /*****************************************************************************
7271  **
7272  ** xcb_get_geometry_reply_t * xcb_get_geometry_reply
7273  **
7274  ** @param xcb_connection_t           *c
7275  ** @param xcb_get_geometry_cookie_t   cookie
7276  ** @param xcb_generic_error_t       **e
7277  ** @returns xcb_get_geometry_reply_t *
7278  **
7279  *****************************************************************************/
7280 
7281 xcb_get_geometry_reply_t *
7282 xcb_get_geometry_reply (xcb_connection_t           *c  /**< */,
7283                         xcb_get_geometry_cookie_t   cookie  /**< */,
7284                         xcb_generic_error_t       **e  /**< */);
7285 
7286 int
7287 xcb_query_tree_sizeof (const void  *_buffer  /**< */);
7288 
7289 /**
7290  * @brief query the window tree
7291  *
7292  * @param c The connection
7293  * @param window The \a window to query.
7294  * @return A cookie
7295  *
7296  * Gets the root window ID, parent window ID and list of children windows for the
7297  * specified \a window. The children are listed in bottom-to-top stacking order.
7298  *
7299  */
7300 
7301 /*****************************************************************************
7302  **
7303  ** xcb_query_tree_cookie_t xcb_query_tree
7304  **
7305  ** @param xcb_connection_t *c
7306  ** @param xcb_window_t      window
7307  ** @returns xcb_query_tree_cookie_t
7308  **
7309  *****************************************************************************/
7310 
7311 xcb_query_tree_cookie_t
7312 xcb_query_tree (xcb_connection_t *c  /**< */,
7313                 xcb_window_t      window  /**< */);
7314 
7315 /**
7316  * @brief query the window tree
7317  *
7318  * @param c The connection
7319  * @param window The \a window to query.
7320  * @return A cookie
7321  *
7322  * Gets the root window ID, parent window ID and list of children windows for the
7323  * specified \a window. The children are listed in bottom-to-top stacking order.
7324  *
7325  * This form can be used only if the request will cause
7326  * a reply to be generated. Any returned error will be
7327  * placed in the event queue.
7328  */
7329 
7330 /*****************************************************************************
7331  **
7332  ** xcb_query_tree_cookie_t xcb_query_tree_unchecked
7333  **
7334  ** @param xcb_connection_t *c
7335  ** @param xcb_window_t      window
7336  ** @returns xcb_query_tree_cookie_t
7337  **
7338  *****************************************************************************/
7339 
7340 xcb_query_tree_cookie_t
7341 xcb_query_tree_unchecked (xcb_connection_t *c  /**< */,
7342                           xcb_window_t      window  /**< */);
7343 
7344 
7345 /*****************************************************************************
7346  **
7347  ** xcb_window_t * xcb_query_tree_children
7348  **
7349  ** @param const xcb_query_tree_reply_t *R
7350  ** @returns xcb_window_t *
7351  **
7352  *****************************************************************************/
7353 
7354 xcb_window_t *
7355 xcb_query_tree_children (const xcb_query_tree_reply_t *R  /**< */);
7356 
7357 
7358 /*****************************************************************************
7359  **
7360  ** int xcb_query_tree_children_length
7361  **
7362  ** @param const xcb_query_tree_reply_t *R
7363  ** @returns int
7364  **
7365  *****************************************************************************/
7366 
7367 int
7368 xcb_query_tree_children_length (const xcb_query_tree_reply_t *R  /**< */);
7369 
7370 
7371 /*****************************************************************************
7372  **
7373  ** xcb_generic_iterator_t xcb_query_tree_children_end
7374  **
7375  ** @param const xcb_query_tree_reply_t *R
7376  ** @returns xcb_generic_iterator_t
7377  **
7378  *****************************************************************************/
7379 
7380 xcb_generic_iterator_t
7381 xcb_query_tree_children_end (const xcb_query_tree_reply_t *R  /**< */);
7382 
7383 /**
7384  * Return the reply
7385  * @param c      The connection
7386  * @param cookie The cookie
7387  * @param e      The xcb_generic_error_t supplied
7388  *
7389  * Returns the reply of the request asked by
7390  *
7391  * The parameter @p e supplied to this function must be NULL if
7392  * xcb_query_tree_unchecked(). is used.
7393  * Otherwise, it stores the error if any.
7394  *
7395  * The returned value must be freed by the caller using free().
7396  */
7397 
7398 /*****************************************************************************
7399  **
7400  ** xcb_query_tree_reply_t * xcb_query_tree_reply
7401  **
7402  ** @param xcb_connection_t         *c
7403  ** @param xcb_query_tree_cookie_t   cookie
7404  ** @param xcb_generic_error_t     **e
7405  ** @returns xcb_query_tree_reply_t *
7406  **
7407  *****************************************************************************/
7408 
7409 xcb_query_tree_reply_t *
7410 xcb_query_tree_reply (xcb_connection_t         *c  /**< */,
7411                       xcb_query_tree_cookie_t   cookie  /**< */,
7412                       xcb_generic_error_t     **e  /**< */);
7413 
7414 int
7415 xcb_intern_atom_sizeof (const void  *_buffer  /**< */);
7416 
7417 /**
7418  * @brief Get atom identifier by name
7419  *
7420  * @param c The connection
7421  * @param only_if_exists Return a valid atom id only if the atom already exists.
7422  * @param name_len The length of the following \a name.
7423  * @param name The name of the atom.
7424  * @return A cookie
7425  *
7426  * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
7427  * name. Atoms are used in protocols like EWMH, for example to store window titles
7428  * (`_NET_WM_NAME` atom) as property of a window.
7429  *
7430  * If \a only_if_exists is 0, the atom will be created if it does not already exist.
7431  * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
7432  * not yet exist.
7433  *
7434  */
7435 
7436 /*****************************************************************************
7437  **
7438  ** xcb_intern_atom_cookie_t xcb_intern_atom
7439  **
7440  ** @param xcb_connection_t *c
7441  ** @param uint8_t           only_if_exists
7442  ** @param uint16_t          name_len
7443  ** @param const char       *name
7444  ** @returns xcb_intern_atom_cookie_t
7445  **
7446  *****************************************************************************/
7447 
7448 xcb_intern_atom_cookie_t
7449 xcb_intern_atom (xcb_connection_t *c  /**< */,
7450                  uint8_t           only_if_exists  /**< */,
7451                  uint16_t          name_len  /**< */,
7452                  const char       *name  /**< */);
7453 
7454 /**
7455  * @brief Get atom identifier by name
7456  *
7457  * @param c The connection
7458  * @param only_if_exists Return a valid atom id only if the atom already exists.
7459  * @param name_len The length of the following \a name.
7460  * @param name The name of the atom.
7461  * @return A cookie
7462  *
7463  * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
7464  * name. Atoms are used in protocols like EWMH, for example to store window titles
7465  * (`_NET_WM_NAME` atom) as property of a window.
7466  *
7467  * If \a only_if_exists is 0, the atom will be created if it does not already exist.
7468  * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
7469  * not yet exist.
7470  *
7471  * This form can be used only if the request will cause
7472  * a reply to be generated. Any returned error will be
7473  * placed in the event queue.
7474  */
7475 
7476 /*****************************************************************************
7477  **
7478  ** xcb_intern_atom_cookie_t xcb_intern_atom_unchecked
7479  **
7480  ** @param xcb_connection_t *c
7481  ** @param uint8_t           only_if_exists
7482  ** @param uint16_t          name_len
7483  ** @param const char       *name
7484  ** @returns xcb_intern_atom_cookie_t
7485  **
7486  *****************************************************************************/
7487 
7488 xcb_intern_atom_cookie_t
7489 xcb_intern_atom_unchecked (xcb_connection_t *c  /**< */,
7490                            uint8_t           only_if_exists  /**< */,
7491                            uint16_t          name_len  /**< */,
7492                            const char       *name  /**< */);
7493 
7494 /**
7495  * Return the reply
7496  * @param c      The connection
7497  * @param cookie The cookie
7498  * @param e      The xcb_generic_error_t supplied
7499  *
7500  * Returns the reply of the request asked by
7501  *
7502  * The parameter @p e supplied to this function must be NULL if
7503  * xcb_intern_atom_unchecked(). is used.
7504  * Otherwise, it stores the error if any.
7505  *
7506  * The returned value must be freed by the caller using free().
7507  */
7508 
7509 /*****************************************************************************
7510  **
7511  ** xcb_intern_atom_reply_t * xcb_intern_atom_reply
7512  **
7513  ** @param xcb_connection_t          *c
7514  ** @param xcb_intern_atom_cookie_t   cookie
7515  ** @param xcb_generic_error_t      **e
7516  ** @returns xcb_intern_atom_reply_t *
7517  **
7518  *****************************************************************************/
7519 
7520 xcb_intern_atom_reply_t *
7521 xcb_intern_atom_reply (xcb_connection_t          *c  /**< */,
7522                        xcb_intern_atom_cookie_t   cookie  /**< */,
7523                        xcb_generic_error_t      **e  /**< */);
7524 
7525 int
7526 xcb_get_atom_name_sizeof (const void  *_buffer  /**< */);
7527 
7528 /**
7529  *
7530  * @param c The connection
7531  * @return A cookie
7532  *
7533  * Delivers a request to the X server.
7534  *
7535  */
7536 
7537 /*****************************************************************************
7538  **
7539  ** xcb_get_atom_name_cookie_t xcb_get_atom_name
7540  **
7541  ** @param xcb_connection_t *c
7542  ** @param xcb_atom_t        atom
7543  ** @returns xcb_get_atom_name_cookie_t
7544  **
7545  *****************************************************************************/
7546 
7547 xcb_get_atom_name_cookie_t
7548 xcb_get_atom_name (xcb_connection_t *c  /**< */,
7549                    xcb_atom_t        atom  /**< */);
7550 
7551 /**
7552  *
7553  * @param c The connection
7554  * @return A cookie
7555  *
7556  * Delivers a request to the X server.
7557  *
7558  * This form can be used only if the request will cause
7559  * a reply to be generated. Any returned error will be
7560  * placed in the event queue.
7561  */
7562 
7563 /*****************************************************************************
7564  **
7565  ** xcb_get_atom_name_cookie_t xcb_get_atom_name_unchecked
7566  **
7567  ** @param xcb_connection_t *c
7568  ** @param xcb_atom_t        atom
7569  ** @returns xcb_get_atom_name_cookie_t
7570  **
7571  *****************************************************************************/
7572 
7573 xcb_get_atom_name_cookie_t
7574 xcb_get_atom_name_unchecked (xcb_connection_t *c  /**< */,
7575                              xcb_atom_t        atom  /**< */);
7576 
7577 
7578 /*****************************************************************************
7579  **
7580  ** char * xcb_get_atom_name_name
7581  **
7582  ** @param const xcb_get_atom_name_reply_t *R
7583  ** @returns char *
7584  **
7585  *****************************************************************************/
7586 
7587 char *
7588 xcb_get_atom_name_name (const xcb_get_atom_name_reply_t *R  /**< */);
7589 
7590 
7591 /*****************************************************************************
7592  **
7593  ** int xcb_get_atom_name_name_length
7594  **
7595  ** @param const xcb_get_atom_name_reply_t *R
7596  ** @returns int
7597  **
7598  *****************************************************************************/
7599 
7600 int
7601 xcb_get_atom_name_name_length (const xcb_get_atom_name_reply_t *R  /**< */);
7602 
7603 
7604 /*****************************************************************************
7605  **
7606  ** xcb_generic_iterator_t xcb_get_atom_name_name_end
7607  **
7608  ** @param const xcb_get_atom_name_reply_t *R
7609  ** @returns xcb_generic_iterator_t
7610  **
7611  *****************************************************************************/
7612 
7613 xcb_generic_iterator_t
7614 xcb_get_atom_name_name_end (const xcb_get_atom_name_reply_t *R  /**< */);
7615 
7616 /**
7617  * Return the reply
7618  * @param c      The connection
7619  * @param cookie The cookie
7620  * @param e      The xcb_generic_error_t supplied
7621  *
7622  * Returns the reply of the request asked by
7623  *
7624  * The parameter @p e supplied to this function must be NULL if
7625  * xcb_get_atom_name_unchecked(). is used.
7626  * Otherwise, it stores the error if any.
7627  *
7628  * The returned value must be freed by the caller using free().
7629  */
7630 
7631 /*****************************************************************************
7632  **
7633  ** xcb_get_atom_name_reply_t * xcb_get_atom_name_reply
7634  **
7635  ** @param xcb_connection_t            *c
7636  ** @param xcb_get_atom_name_cookie_t   cookie
7637  ** @param xcb_generic_error_t        **e
7638  ** @returns xcb_get_atom_name_reply_t *
7639  **
7640  *****************************************************************************/
7641 
7642 xcb_get_atom_name_reply_t *
7643 xcb_get_atom_name_reply (xcb_connection_t            *c  /**< */,
7644                          xcb_get_atom_name_cookie_t   cookie  /**< */,
7645                          xcb_generic_error_t        **e  /**< */);
7646 
7647 int
7648 xcb_change_property_sizeof (const void  *_buffer  /**< */);
7649 
7650 /**
7651  * @brief Changes a window property
7652  *
7653  * @param c The connection
7654  * @param mode A bitmask of #xcb_prop_mode_t values.
7655  * @param mode \n
7656  * @param window The window whose property you want to change.
7657  * @param property The property you want to change (an atom).
7658  * @param type The type of the property you want to change (an atom).
7659  * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
7660  * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
7661  * the X server to correctly perform byte-swap operations as necessary.
7662  * @param data_len Specifies the number of elements (see \a format).
7663  * @param data The property data.
7664  * @return A cookie
7665  *
7666  * Sets or updates a property on the specified \a window. Properties are for
7667  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7668  * Protocols such as EWMH also use properties - for example EWMH defines the
7669  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7670  *
7671  * This form can be used only if the request will not cause
7672  * a reply to be generated. Any returned error will be
7673  * saved for handling by xcb_request_check().
7674  */
7675 
7676 /*****************************************************************************
7677  **
7678  ** xcb_void_cookie_t xcb_change_property_checked
7679  **
7680  ** @param xcb_connection_t *c
7681  ** @param uint8_t           mode
7682  ** @param xcb_window_t      window
7683  ** @param xcb_atom_t        property
7684  ** @param xcb_atom_t        type
7685  ** @param uint8_t           format
7686  ** @param uint32_t          data_len
7687  ** @param const void       *data
7688  ** @returns xcb_void_cookie_t
7689  **
7690  *****************************************************************************/
7691 
7692 xcb_void_cookie_t
7693 xcb_change_property_checked (xcb_connection_t *c  /**< */,
7694                              uint8_t           mode  /**< */,
7695                              xcb_window_t      window  /**< */,
7696                              xcb_atom_t        property  /**< */,
7697                              xcb_atom_t        type  /**< */,
7698                              uint8_t           format  /**< */,
7699                              uint32_t          data_len  /**< */,
7700                              const void       *data  /**< */);
7701 
7702 /**
7703  * @brief Changes a window property
7704  *
7705  * @param c The connection
7706  * @param mode A bitmask of #xcb_prop_mode_t values.
7707  * @param mode \n
7708  * @param window The window whose property you want to change.
7709  * @param property The property you want to change (an atom).
7710  * @param type The type of the property you want to change (an atom).
7711  * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
7712  * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
7713  * the X server to correctly perform byte-swap operations as necessary.
7714  * @param data_len Specifies the number of elements (see \a format).
7715  * @param data The property data.
7716  * @return A cookie
7717  *
7718  * Sets or updates a property on the specified \a window. Properties are for
7719  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7720  * Protocols such as EWMH also use properties - for example EWMH defines the
7721  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7722  *
7723  */
7724 
7725 /*****************************************************************************
7726  **
7727  ** xcb_void_cookie_t xcb_change_property
7728  **
7729  ** @param xcb_connection_t *c
7730  ** @param uint8_t           mode
7731  ** @param xcb_window_t      window
7732  ** @param xcb_atom_t        property
7733  ** @param xcb_atom_t        type
7734  ** @param uint8_t           format
7735  ** @param uint32_t          data_len
7736  ** @param const void       *data
7737  ** @returns xcb_void_cookie_t
7738  **
7739  *****************************************************************************/
7740 
7741 xcb_void_cookie_t
7742 xcb_change_property (xcb_connection_t *c  /**< */,
7743                      uint8_t           mode  /**< */,
7744                      xcb_window_t      window  /**< */,
7745                      xcb_atom_t        property  /**< */,
7746                      xcb_atom_t        type  /**< */,
7747                      uint8_t           format  /**< */,
7748                      uint32_t          data_len  /**< */,
7749                      const void       *data  /**< */);
7750 
7751 /**
7752  *
7753  * @param c The connection
7754  * @return A cookie
7755  *
7756  * Delivers a request to the X server.
7757  *
7758  * This form can be used only if the request will not cause
7759  * a reply to be generated. Any returned error will be
7760  * saved for handling by xcb_request_check().
7761  */
7762 
7763 /*****************************************************************************
7764  **
7765  ** xcb_void_cookie_t xcb_delete_property_checked
7766  **
7767  ** @param xcb_connection_t *c
7768  ** @param xcb_window_t      window
7769  ** @param xcb_atom_t        property
7770  ** @returns xcb_void_cookie_t
7771  **
7772  *****************************************************************************/
7773 
7774 xcb_void_cookie_t
7775 xcb_delete_property_checked (xcb_connection_t *c  /**< */,
7776                              xcb_window_t      window  /**< */,
7777                              xcb_atom_t        property  /**< */);
7778 
7779 /**
7780  *
7781  * @param c The connection
7782  * @return A cookie
7783  *
7784  * Delivers a request to the X server.
7785  *
7786  */
7787 
7788 /*****************************************************************************
7789  **
7790  ** xcb_void_cookie_t xcb_delete_property
7791  **
7792  ** @param xcb_connection_t *c
7793  ** @param xcb_window_t      window
7794  ** @param xcb_atom_t        property
7795  ** @returns xcb_void_cookie_t
7796  **
7797  *****************************************************************************/
7798 
7799 xcb_void_cookie_t
7800 xcb_delete_property (xcb_connection_t *c  /**< */,
7801                      xcb_window_t      window  /**< */,
7802                      xcb_atom_t        property  /**< */);
7803 
7804 int
7805 xcb_get_property_sizeof (const void  *_buffer  /**< */);
7806 
7807 /**
7808  * @brief Gets a window property
7809  *
7810  * @param c The connection
7811  * @param _delete Whether the property should actually be deleted. For deleting a property, the
7812  * specified \a type has to match the actual property type.
7813  * @param window The window whose property you want to get.
7814  * @param property The property you want to get (an atom).
7815  * @param type The type of the property you want to get (an atom).
7816  * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
7817  * data is to be retrieved.
7818  * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
7819  * set \a long_length to 4, you will receive 16 bytes of data).
7820  * @return A cookie
7821  *
7822  * Gets the specified \a property from the specified \a window. Properties are for
7823  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7824  * Protocols such as EWMH also use properties - for example EWMH defines the
7825  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7826  *
7827  * TODO: talk about \a type
7828  *
7829  * TODO: talk about `delete`
7830  *
7831  * TODO: talk about the offset/length thing. what's a valid use case?
7832  *
7833  */
7834 
7835 /*****************************************************************************
7836  **
7837  ** xcb_get_property_cookie_t xcb_get_property
7838  **
7839  ** @param xcb_connection_t *c
7840  ** @param uint8_t           _delete
7841  ** @param xcb_window_t      window
7842  ** @param xcb_atom_t        property
7843  ** @param xcb_atom_t        type
7844  ** @param uint32_t          long_offset
7845  ** @param uint32_t          long_length
7846  ** @returns xcb_get_property_cookie_t
7847  **
7848  *****************************************************************************/
7849 
7850 xcb_get_property_cookie_t
7851 xcb_get_property (xcb_connection_t *c  /**< */,
7852                   uint8_t           _delete  /**< */,
7853                   xcb_window_t      window  /**< */,
7854                   xcb_atom_t        property  /**< */,
7855                   xcb_atom_t        type  /**< */,
7856                   uint32_t          long_offset  /**< */,
7857                   uint32_t          long_length  /**< */);
7858 
7859 /**
7860  * @brief Gets a window property
7861  *
7862  * @param c The connection
7863  * @param _delete Whether the property should actually be deleted. For deleting a property, the
7864  * specified \a type has to match the actual property type.
7865  * @param window The window whose property you want to get.
7866  * @param property The property you want to get (an atom).
7867  * @param type The type of the property you want to get (an atom).
7868  * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
7869  * data is to be retrieved.
7870  * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
7871  * set \a long_length to 4, you will receive 16 bytes of data).
7872  * @return A cookie
7873  *
7874  * Gets the specified \a property from the specified \a window. Properties are for
7875  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7876  * Protocols such as EWMH also use properties - for example EWMH defines the
7877  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7878  *
7879  * TODO: talk about \a type
7880  *
7881  * TODO: talk about `delete`
7882  *
7883  * TODO: talk about the offset/length thing. what's a valid use case?
7884  *
7885  * This form can be used only if the request will cause
7886  * a reply to be generated. Any returned error will be
7887  * placed in the event queue.
7888  */
7889 
7890 /*****************************************************************************
7891  **
7892  ** xcb_get_property_cookie_t xcb_get_property_unchecked
7893  **
7894  ** @param xcb_connection_t *c
7895  ** @param uint8_t           _delete
7896  ** @param xcb_window_t      window
7897  ** @param xcb_atom_t        property
7898  ** @param xcb_atom_t        type
7899  ** @param uint32_t          long_offset
7900  ** @param uint32_t          long_length
7901  ** @returns xcb_get_property_cookie_t
7902  **
7903  *****************************************************************************/
7904 
7905 xcb_get_property_cookie_t
7906 xcb_get_property_unchecked (xcb_connection_t *c  /**< */,
7907                             uint8_t           _delete  /**< */,
7908                             xcb_window_t      window  /**< */,
7909                             xcb_atom_t        property  /**< */,
7910                             xcb_atom_t        type  /**< */,
7911                             uint32_t          long_offset  /**< */,
7912                             uint32_t          long_length  /**< */);
7913 
7914 
7915 /*****************************************************************************
7916  **
7917  ** void * xcb_get_property_value
7918  **
7919  ** @param const xcb_get_property_reply_t *R
7920  ** @returns void *
7921  **
7922  *****************************************************************************/
7923 
7924 void *
7925 xcb_get_property_value (const xcb_get_property_reply_t *R  /**< */);
7926 
7927 
7928 /*****************************************************************************
7929  **
7930  ** int xcb_get_property_value_length
7931  **
7932  ** @param const xcb_get_property_reply_t *R
7933  ** @returns int
7934  **
7935  *****************************************************************************/
7936 
7937 int
7938 xcb_get_property_value_length (const xcb_get_property_reply_t *R  /**< */);
7939 
7940 
7941 /*****************************************************************************
7942  **
7943  ** xcb_generic_iterator_t xcb_get_property_value_end
7944  **
7945  ** @param const xcb_get_property_reply_t *R
7946  ** @returns xcb_generic_iterator_t
7947  **
7948  *****************************************************************************/
7949 
7950 xcb_generic_iterator_t
7951 xcb_get_property_value_end (const xcb_get_property_reply_t *R  /**< */);
7952 
7953 /**
7954  * Return the reply
7955  * @param c      The connection
7956  * @param cookie The cookie
7957  * @param e      The xcb_generic_error_t supplied
7958  *
7959  * Returns the reply of the request asked by
7960  *
7961  * The parameter @p e supplied to this function must be NULL if
7962  * xcb_get_property_unchecked(). is used.
7963  * Otherwise, it stores the error if any.
7964  *
7965  * The returned value must be freed by the caller using free().
7966  */
7967 
7968 /*****************************************************************************
7969  **
7970  ** xcb_get_property_reply_t * xcb_get_property_reply
7971  **
7972  ** @param xcb_connection_t           *c
7973  ** @param xcb_get_property_cookie_t   cookie
7974  ** @param xcb_generic_error_t       **e
7975  ** @returns xcb_get_property_reply_t *
7976  **
7977  *****************************************************************************/
7978 
7979 xcb_get_property_reply_t *
7980 xcb_get_property_reply (xcb_connection_t           *c  /**< */,
7981                         xcb_get_property_cookie_t   cookie  /**< */,
7982                         xcb_generic_error_t       **e  /**< */);
7983 
7984 int
7985 xcb_list_properties_sizeof (const void  *_buffer  /**< */);
7986 
7987 /**
7988  *
7989  * @param c The connection
7990  * @return A cookie
7991  *
7992  * Delivers a request to the X server.
7993  *
7994  */
7995 
7996 /*****************************************************************************
7997  **
7998  ** xcb_list_properties_cookie_t xcb_list_properties
7999  **
8000  ** @param xcb_connection_t *c
8001  ** @param xcb_window_t      window
8002  ** @returns xcb_list_properties_cookie_t
8003  **
8004  *****************************************************************************/
8005 
8006 xcb_list_properties_cookie_t
8007 xcb_list_properties (xcb_connection_t *c  /**< */,
8008                      xcb_window_t      window  /**< */);
8009 
8010 /**
8011  *
8012  * @param c The connection
8013  * @return A cookie
8014  *
8015  * Delivers a request to the X server.
8016  *
8017  * This form can be used only if the request will cause
8018  * a reply to be generated. Any returned error will be
8019  * placed in the event queue.
8020  */
8021 
8022 /*****************************************************************************
8023  **
8024  ** xcb_list_properties_cookie_t xcb_list_properties_unchecked
8025  **
8026  ** @param xcb_connection_t *c
8027  ** @param xcb_window_t      window
8028  ** @returns xcb_list_properties_cookie_t
8029  **
8030  *****************************************************************************/
8031 
8032 xcb_list_properties_cookie_t
8033 xcb_list_properties_unchecked (xcb_connection_t *c  /**< */,
8034                                xcb_window_t      window  /**< */);
8035 
8036 
8037 /*****************************************************************************
8038  **
8039  ** xcb_atom_t * xcb_list_properties_atoms
8040  **
8041  ** @param const xcb_list_properties_reply_t *R
8042  ** @returns xcb_atom_t *
8043  **
8044  *****************************************************************************/
8045 
8046 xcb_atom_t *
8047 xcb_list_properties_atoms (const xcb_list_properties_reply_t *R  /**< */);
8048 
8049 
8050 /*****************************************************************************
8051  **
8052  ** int xcb_list_properties_atoms_length
8053  **
8054  ** @param const xcb_list_properties_reply_t *R
8055  ** @returns int
8056  **
8057  *****************************************************************************/
8058 
8059 int
8060 xcb_list_properties_atoms_length (const xcb_list_properties_reply_t *R  /**< */);
8061 
8062 
8063 /*****************************************************************************
8064  **
8065  ** xcb_generic_iterator_t xcb_list_properties_atoms_end
8066  **
8067  ** @param const xcb_list_properties_reply_t *R
8068  ** @returns xcb_generic_iterator_t
8069  **
8070  *****************************************************************************/
8071 
8072 xcb_generic_iterator_t
8073 xcb_list_properties_atoms_end (const xcb_list_properties_reply_t *R  /**< */);
8074 
8075 /**
8076  * Return the reply
8077  * @param c      The connection
8078  * @param cookie The cookie
8079  * @param e      The xcb_generic_error_t supplied
8080  *
8081  * Returns the reply of the request asked by
8082  *
8083  * The parameter @p e supplied to this function must be NULL if
8084  * xcb_list_properties_unchecked(). is used.
8085  * Otherwise, it stores the error if any.
8086  *
8087  * The returned value must be freed by the caller using free().
8088  */
8089 
8090 /*****************************************************************************
8091  **
8092  ** xcb_list_properties_reply_t * xcb_list_properties_reply
8093  **
8094  ** @param xcb_connection_t              *c
8095  ** @param xcb_list_properties_cookie_t   cookie
8096  ** @param xcb_generic_error_t          **e
8097  ** @returns xcb_list_properties_reply_t *
8098  **
8099  *****************************************************************************/
8100 
8101 xcb_list_properties_reply_t *
8102 xcb_list_properties_reply (xcb_connection_t              *c  /**< */,
8103                            xcb_list_properties_cookie_t   cookie  /**< */,
8104                            xcb_generic_error_t          **e  /**< */);
8105 
8106 /**
8107  * @brief Sets the owner of a selection
8108  *
8109  * @param c The connection
8110  * @param owner The new owner of the selection.
8111  * \n
8112  * The special value `XCB_NONE` means that the selection will have no owner.
8113  * @param selection The selection.
8114  * @param time Timestamp to avoid race conditions when running X over the network.
8115  * \n
8116  * The selection will not be changed if \a time is earlier than the current
8117  * last-change time of the \a selection or is later than the current X server time.
8118  * Otherwise, the last-change time is set to the specified time.
8119  * \n
8120  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8121  * time.
8122  * @return A cookie
8123  *
8124  * Makes `window` the owner of the selection \a selection and updates the
8125  * last-change time of the specified selection.
8126  *
8127  * TODO: briefly explain what a selection is.
8128  *
8129  * This form can be used only if the request will not cause
8130  * a reply to be generated. Any returned error will be
8131  * saved for handling by xcb_request_check().
8132  */
8133 
8134 /*****************************************************************************
8135  **
8136  ** xcb_void_cookie_t xcb_set_selection_owner_checked
8137  **
8138  ** @param xcb_connection_t *c
8139  ** @param xcb_window_t      owner
8140  ** @param xcb_atom_t        selection
8141  ** @param xcb_timestamp_t   time
8142  ** @returns xcb_void_cookie_t
8143  **
8144  *****************************************************************************/
8145 
8146 xcb_void_cookie_t
8147 xcb_set_selection_owner_checked (xcb_connection_t *c  /**< */,
8148                                  xcb_window_t      owner  /**< */,
8149                                  xcb_atom_t        selection  /**< */,
8150                                  xcb_timestamp_t   time  /**< */);
8151 
8152 /**
8153  * @brief Sets the owner of a selection
8154  *
8155  * @param c The connection
8156  * @param owner The new owner of the selection.
8157  * \n
8158  * The special value `XCB_NONE` means that the selection will have no owner.
8159  * @param selection The selection.
8160  * @param time Timestamp to avoid race conditions when running X over the network.
8161  * \n
8162  * The selection will not be changed if \a time is earlier than the current
8163  * last-change time of the \a selection or is later than the current X server time.
8164  * Otherwise, the last-change time is set to the specified time.
8165  * \n
8166  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8167  * time.
8168  * @return A cookie
8169  *
8170  * Makes `window` the owner of the selection \a selection and updates the
8171  * last-change time of the specified selection.
8172  *
8173  * TODO: briefly explain what a selection is.
8174  *
8175  */
8176 
8177 /*****************************************************************************
8178  **
8179  ** xcb_void_cookie_t xcb_set_selection_owner
8180  **
8181  ** @param xcb_connection_t *c
8182  ** @param xcb_window_t      owner
8183  ** @param xcb_atom_t        selection
8184  ** @param xcb_timestamp_t   time
8185  ** @returns xcb_void_cookie_t
8186  **
8187  *****************************************************************************/
8188 
8189 xcb_void_cookie_t
8190 xcb_set_selection_owner (xcb_connection_t *c  /**< */,
8191                          xcb_window_t      owner  /**< */,
8192                          xcb_atom_t        selection  /**< */,
8193                          xcb_timestamp_t   time  /**< */);
8194 
8195 /**
8196  * @brief Gets the owner of a selection
8197  *
8198  * @param c The connection
8199  * @param selection The selection.
8200  * @return A cookie
8201  *
8202  * Gets the owner of the specified selection.
8203  *
8204  * TODO: briefly explain what a selection is.
8205  *
8206  */
8207 
8208 /*****************************************************************************
8209  **
8210  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner
8211  **
8212  ** @param xcb_connection_t *c
8213  ** @param xcb_atom_t        selection
8214  ** @returns xcb_get_selection_owner_cookie_t
8215  **
8216  *****************************************************************************/
8217 
8218 xcb_get_selection_owner_cookie_t
8219 xcb_get_selection_owner (xcb_connection_t *c  /**< */,
8220                          xcb_atom_t        selection  /**< */);
8221 
8222 /**
8223  * @brief Gets the owner of a selection
8224  *
8225  * @param c The connection
8226  * @param selection The selection.
8227  * @return A cookie
8228  *
8229  * Gets the owner of the specified selection.
8230  *
8231  * TODO: briefly explain what a selection is.
8232  *
8233  * This form can be used only if the request will cause
8234  * a reply to be generated. Any returned error will be
8235  * placed in the event queue.
8236  */
8237 
8238 /*****************************************************************************
8239  **
8240  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner_unchecked
8241  **
8242  ** @param xcb_connection_t *c
8243  ** @param xcb_atom_t        selection
8244  ** @returns xcb_get_selection_owner_cookie_t
8245  **
8246  *****************************************************************************/
8247 
8248 xcb_get_selection_owner_cookie_t
8249 xcb_get_selection_owner_unchecked (xcb_connection_t *c  /**< */,
8250                                    xcb_atom_t        selection  /**< */);
8251 
8252 /**
8253  * Return the reply
8254  * @param c      The connection
8255  * @param cookie The cookie
8256  * @param e      The xcb_generic_error_t supplied
8257  *
8258  * Returns the reply of the request asked by
8259  *
8260  * The parameter @p e supplied to this function must be NULL if
8261  * xcb_get_selection_owner_unchecked(). is used.
8262  * Otherwise, it stores the error if any.
8263  *
8264  * The returned value must be freed by the caller using free().
8265  */
8266 
8267 /*****************************************************************************
8268  **
8269  ** xcb_get_selection_owner_reply_t * xcb_get_selection_owner_reply
8270  **
8271  ** @param xcb_connection_t                  *c
8272  ** @param xcb_get_selection_owner_cookie_t   cookie
8273  ** @param xcb_generic_error_t              **e
8274  ** @returns xcb_get_selection_owner_reply_t *
8275  **
8276  *****************************************************************************/
8277 
8278 xcb_get_selection_owner_reply_t *
8279 xcb_get_selection_owner_reply (xcb_connection_t                  *c  /**< */,
8280                                xcb_get_selection_owner_cookie_t   cookie  /**< */,
8281                                xcb_generic_error_t              **e  /**< */);
8282 
8283 /**
8284  *
8285  * @param c The connection
8286  * @return A cookie
8287  *
8288  * Delivers a request to the X server.
8289  *
8290  * This form can be used only if the request will not cause
8291  * a reply to be generated. Any returned error will be
8292  * saved for handling by xcb_request_check().
8293  */
8294 
8295 /*****************************************************************************
8296  **
8297  ** xcb_void_cookie_t xcb_convert_selection_checked
8298  **
8299  ** @param xcb_connection_t *c
8300  ** @param xcb_window_t      requestor
8301  ** @param xcb_atom_t        selection
8302  ** @param xcb_atom_t        target
8303  ** @param xcb_atom_t        property
8304  ** @param xcb_timestamp_t   time
8305  ** @returns xcb_void_cookie_t
8306  **
8307  *****************************************************************************/
8308 
8309 xcb_void_cookie_t
8310 xcb_convert_selection_checked (xcb_connection_t *c  /**< */,
8311                                xcb_window_t      requestor  /**< */,
8312                                xcb_atom_t        selection  /**< */,
8313                                xcb_atom_t        target  /**< */,
8314                                xcb_atom_t        property  /**< */,
8315                                xcb_timestamp_t   time  /**< */);
8316 
8317 /**
8318  *
8319  * @param c The connection
8320  * @return A cookie
8321  *
8322  * Delivers a request to the X server.
8323  *
8324  */
8325 
8326 /*****************************************************************************
8327  **
8328  ** xcb_void_cookie_t xcb_convert_selection
8329  **
8330  ** @param xcb_connection_t *c
8331  ** @param xcb_window_t      requestor
8332  ** @param xcb_atom_t        selection
8333  ** @param xcb_atom_t        target
8334  ** @param xcb_atom_t        property
8335  ** @param xcb_timestamp_t   time
8336  ** @returns xcb_void_cookie_t
8337  **
8338  *****************************************************************************/
8339 
8340 xcb_void_cookie_t
8341 xcb_convert_selection (xcb_connection_t *c  /**< */,
8342                        xcb_window_t      requestor  /**< */,
8343                        xcb_atom_t        selection  /**< */,
8344                        xcb_atom_t        target  /**< */,
8345                        xcb_atom_t        property  /**< */,
8346                        xcb_timestamp_t   time  /**< */);
8347 
8348 /**
8349  * @brief send an event
8350  *
8351  * @param c The connection
8352  * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
8353  * the destination is replaced with the closest ancestor of \a destination for
8354  * which some client has selected a type in \a event_mask and for which no
8355  * intervening window has that type in its do-not-propagate-mask. If no such
8356  * window exists or if the window is an ancestor of the focus window and
8357  * `InputFocus` was originally specified as the destination, the event is not sent
8358  * to any clients. Otherwise, the event is reported to every client selecting on
8359  * the final destination any of the types specified in \a event_mask.
8360  * @param destination The window to send this event to. Every client which selects any event within
8361  * \a event_mask on \a destination will get the event.
8362  * \n
8363  * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
8364  * that contains the mouse pointer.
8365  * \n
8366  * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
8367  * has the keyboard focus.
8368  * @param event_mask Event_mask for determining which clients should receive the specified event.
8369  * See \a destination and \a propagate.
8370  * @param event The event to send to the specified \a destination.
8371  * @return A cookie
8372  *
8373  * Identifies the \a destination window, determines which clients should receive
8374  * the specified event and ignores any active grabs.
8375  *
8376  * The \a event must be one of the core events or an event defined by an extension,
8377  * so that the X server can correctly byte-swap the contents as necessary. The
8378  * contents of \a event are otherwise unaltered and unchecked except for the
8379  * `send_event` field which is forced to 'true'.
8380  *
8381  * This form can be used only if the request will not cause
8382  * a reply to be generated. Any returned error will be
8383  * saved for handling by xcb_request_check().
8384  */
8385 
8386 /*****************************************************************************
8387  **
8388  ** xcb_void_cookie_t xcb_send_event_checked
8389  **
8390  ** @param xcb_connection_t *c
8391  ** @param uint8_t           propagate
8392  ** @param xcb_window_t      destination
8393  ** @param uint32_t          event_mask
8394  ** @param const char       *event
8395  ** @returns xcb_void_cookie_t
8396  **
8397  *****************************************************************************/
8398 
8399 xcb_void_cookie_t
8400 xcb_send_event_checked (xcb_connection_t *c  /**< */,
8401                         uint8_t           propagate  /**< */,
8402                         xcb_window_t      destination  /**< */,
8403                         uint32_t          event_mask  /**< */,
8404                         const char       *event  /**< */);
8405 
8406 /**
8407  * @brief send an event
8408  *
8409  * @param c The connection
8410  * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
8411  * the destination is replaced with the closest ancestor of \a destination for
8412  * which some client has selected a type in \a event_mask and for which no
8413  * intervening window has that type in its do-not-propagate-mask. If no such
8414  * window exists or if the window is an ancestor of the focus window and
8415  * `InputFocus` was originally specified as the destination, the event is not sent
8416  * to any clients. Otherwise, the event is reported to every client selecting on
8417  * the final destination any of the types specified in \a event_mask.
8418  * @param destination The window to send this event to. Every client which selects any event within
8419  * \a event_mask on \a destination will get the event.
8420  * \n
8421  * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
8422  * that contains the mouse pointer.
8423  * \n
8424  * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
8425  * has the keyboard focus.
8426  * @param event_mask Event_mask for determining which clients should receive the specified event.
8427  * See \a destination and \a propagate.
8428  * @param event The event to send to the specified \a destination.
8429  * @return A cookie
8430  *
8431  * Identifies the \a destination window, determines which clients should receive
8432  * the specified event and ignores any active grabs.
8433  *
8434  * The \a event must be one of the core events or an event defined by an extension,
8435  * so that the X server can correctly byte-swap the contents as necessary. The
8436  * contents of \a event are otherwise unaltered and unchecked except for the
8437  * `send_event` field which is forced to 'true'.
8438  *
8439  */
8440 
8441 /*****************************************************************************
8442  **
8443  ** xcb_void_cookie_t xcb_send_event
8444  **
8445  ** @param xcb_connection_t *c
8446  ** @param uint8_t           propagate
8447  ** @param xcb_window_t      destination
8448  ** @param uint32_t          event_mask
8449  ** @param const char       *event
8450  ** @returns xcb_void_cookie_t
8451  **
8452  *****************************************************************************/
8453 
8454 xcb_void_cookie_t
8455 xcb_send_event (xcb_connection_t *c  /**< */,
8456                 uint8_t           propagate  /**< */,
8457                 xcb_window_t      destination  /**< */,
8458                 uint32_t          event_mask  /**< */,
8459                 const char       *event  /**< */);
8460 
8461 /**
8462  * @brief Grab the pointer
8463  *
8464  * @param c The connection
8465  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8466  * reported to the \a grab_window.
8467  * @param grab_window Specifies the window on which the pointer should be grabbed.
8468  * @param event_mask Specifies which pointer events are reported to the client.
8469  * \n
8470  * TODO: which values?
8471  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8472  * @param pointer_mode \n
8473  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8474  * @param keyboard_mode \n
8475  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8476  * move the pointer out of that window).
8477  * \n
8478  * The special value `XCB_NONE` means don't confine the pointer.
8479  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8480  * cursor.
8481  * @param time The time argument allows you to avoid certain circumstances that come up if
8482  * applications take a long time to respond or if there are long network delays.
8483  * Consider a situation where you have two applications, both of which normally
8484  * grab the pointer when clicked on. If both applications specify the timestamp
8485  * from the event, the second application may wake up faster and successfully grab
8486  * the pointer before the first application. The first application then will get
8487  * an indication that the other application grabbed the pointer before its request
8488  * was processed.
8489  * \n
8490  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8491  * time.
8492  * @return A cookie
8493  *
8494  * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
8495  *
8496  */
8497 
8498 /*****************************************************************************
8499  **
8500  ** xcb_grab_pointer_cookie_t xcb_grab_pointer
8501  **
8502  ** @param xcb_connection_t *c
8503  ** @param uint8_t           owner_events
8504  ** @param xcb_window_t      grab_window
8505  ** @param uint16_t          event_mask
8506  ** @param uint8_t           pointer_mode
8507  ** @param uint8_t           keyboard_mode
8508  ** @param xcb_window_t      confine_to
8509  ** @param xcb_cursor_t      cursor
8510  ** @param xcb_timestamp_t   time
8511  ** @returns xcb_grab_pointer_cookie_t
8512  **
8513  *****************************************************************************/
8514 
8515 xcb_grab_pointer_cookie_t
8516 xcb_grab_pointer (xcb_connection_t *c  /**< */,
8517                   uint8_t           owner_events  /**< */,
8518                   xcb_window_t      grab_window  /**< */,
8519                   uint16_t          event_mask  /**< */,
8520                   uint8_t           pointer_mode  /**< */,
8521                   uint8_t           keyboard_mode  /**< */,
8522                   xcb_window_t      confine_to  /**< */,
8523                   xcb_cursor_t      cursor  /**< */,
8524                   xcb_timestamp_t   time  /**< */);
8525 
8526 /**
8527  * @brief Grab the pointer
8528  *
8529  * @param c The connection
8530  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8531  * reported to the \a grab_window.
8532  * @param grab_window Specifies the window on which the pointer should be grabbed.
8533  * @param event_mask Specifies which pointer events are reported to the client.
8534  * \n
8535  * TODO: which values?
8536  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8537  * @param pointer_mode \n
8538  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8539  * @param keyboard_mode \n
8540  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8541  * move the pointer out of that window).
8542  * \n
8543  * The special value `XCB_NONE` means don't confine the pointer.
8544  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8545  * cursor.
8546  * @param time The time argument allows you to avoid certain circumstances that come up if
8547  * applications take a long time to respond or if there are long network delays.
8548  * Consider a situation where you have two applications, both of which normally
8549  * grab the pointer when clicked on. If both applications specify the timestamp
8550  * from the event, the second application may wake up faster and successfully grab
8551  * the pointer before the first application. The first application then will get
8552  * an indication that the other application grabbed the pointer before its request
8553  * was processed.
8554  * \n
8555  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8556  * time.
8557  * @return A cookie
8558  *
8559  * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
8560  *
8561  * This form can be used only if the request will cause
8562  * a reply to be generated. Any returned error will be
8563  * placed in the event queue.
8564  */
8565 
8566 /*****************************************************************************
8567  **
8568  ** xcb_grab_pointer_cookie_t xcb_grab_pointer_unchecked
8569  **
8570  ** @param xcb_connection_t *c
8571  ** @param uint8_t           owner_events
8572  ** @param xcb_window_t      grab_window
8573  ** @param uint16_t          event_mask
8574  ** @param uint8_t           pointer_mode
8575  ** @param uint8_t           keyboard_mode
8576  ** @param xcb_window_t      confine_to
8577  ** @param xcb_cursor_t      cursor
8578  ** @param xcb_timestamp_t   time
8579  ** @returns xcb_grab_pointer_cookie_t
8580  **
8581  *****************************************************************************/
8582 
8583 xcb_grab_pointer_cookie_t
8584 xcb_grab_pointer_unchecked (xcb_connection_t *c  /**< */,
8585                             uint8_t           owner_events  /**< */,
8586                             xcb_window_t      grab_window  /**< */,
8587                             uint16_t          event_mask  /**< */,
8588                             uint8_t           pointer_mode  /**< */,
8589                             uint8_t           keyboard_mode  /**< */,
8590                             xcb_window_t      confine_to  /**< */,
8591                             xcb_cursor_t      cursor  /**< */,
8592                             xcb_timestamp_t   time  /**< */);
8593 
8594 /**
8595  * Return the reply
8596  * @param c      The connection
8597  * @param cookie The cookie
8598  * @param e      The xcb_generic_error_t supplied
8599  *
8600  * Returns the reply of the request asked by
8601  *
8602  * The parameter @p e supplied to this function must be NULL if
8603  * xcb_grab_pointer_unchecked(). is used.
8604  * Otherwise, it stores the error if any.
8605  *
8606  * The returned value must be freed by the caller using free().
8607  */
8608 
8609 /*****************************************************************************
8610  **
8611  ** xcb_grab_pointer_reply_t * xcb_grab_pointer_reply
8612  **
8613  ** @param xcb_connection_t           *c
8614  ** @param xcb_grab_pointer_cookie_t   cookie
8615  ** @param xcb_generic_error_t       **e
8616  ** @returns xcb_grab_pointer_reply_t *
8617  **
8618  *****************************************************************************/
8619 
8620 xcb_grab_pointer_reply_t *
8621 xcb_grab_pointer_reply (xcb_connection_t           *c  /**< */,
8622                         xcb_grab_pointer_cookie_t   cookie  /**< */,
8623                         xcb_generic_error_t       **e  /**< */);
8624 
8625 /**
8626  * @brief release the pointer
8627  *
8628  * @param c The connection
8629  * @param time Timestamp to avoid race conditions when running X over the network.
8630  * \n
8631  * The pointer will not be released if \a time is earlier than the
8632  * last-pointer-grab time or later than the current X server time.
8633  * @return A cookie
8634  *
8635  * Releases the pointer and any queued events if you actively grabbed the pointer
8636  * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
8637  * press.
8638  *
8639  * EnterNotify and LeaveNotify events are generated.
8640  *
8641  * This form can be used only if the request will not cause
8642  * a reply to be generated. Any returned error will be
8643  * saved for handling by xcb_request_check().
8644  */
8645 
8646 /*****************************************************************************
8647  **
8648  ** xcb_void_cookie_t xcb_ungrab_pointer_checked
8649  **
8650  ** @param xcb_connection_t *c
8651  ** @param xcb_timestamp_t   time
8652  ** @returns xcb_void_cookie_t
8653  **
8654  *****************************************************************************/
8655 
8656 xcb_void_cookie_t
8657 xcb_ungrab_pointer_checked (xcb_connection_t *c  /**< */,
8658                             xcb_timestamp_t   time  /**< */);
8659 
8660 /**
8661  * @brief release the pointer
8662  *
8663  * @param c The connection
8664  * @param time Timestamp to avoid race conditions when running X over the network.
8665  * \n
8666  * The pointer will not be released if \a time is earlier than the
8667  * last-pointer-grab time or later than the current X server time.
8668  * @return A cookie
8669  *
8670  * Releases the pointer and any queued events if you actively grabbed the pointer
8671  * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
8672  * press.
8673  *
8674  * EnterNotify and LeaveNotify events are generated.
8675  *
8676  */
8677 
8678 /*****************************************************************************
8679  **
8680  ** xcb_void_cookie_t xcb_ungrab_pointer
8681  **
8682  ** @param xcb_connection_t *c
8683  ** @param xcb_timestamp_t   time
8684  ** @returns xcb_void_cookie_t
8685  **
8686  *****************************************************************************/
8687 
8688 xcb_void_cookie_t
8689 xcb_ungrab_pointer (xcb_connection_t *c  /**< */,
8690                     xcb_timestamp_t   time  /**< */);
8691 
8692 /**
8693  * @brief Grab pointer button(s)
8694  *
8695  * @param c The connection
8696  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8697  * reported to the \a grab_window.
8698  * @param grab_window Specifies the window on which the pointer should be grabbed.
8699  * @param event_mask Specifies which pointer events are reported to the client.
8700  * \n
8701  * TODO: which values?
8702  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8703  * @param pointer_mode \n
8704  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8705  * @param keyboard_mode \n
8706  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8707  * move the pointer out of that window).
8708  * \n
8709  * The special value `XCB_NONE` means don't confine the pointer.
8710  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8711  * cursor.
8712  * @param button A bitmask of #xcb_button_index_t values.
8713  * @param button \n
8714  * @param modifiers The modifiers to grab.
8715  * \n
8716  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
8717  * possible modifier combinations.
8718  * @return A cookie
8719  *
8720  * This request establishes a passive grab. The pointer is actively grabbed as
8721  * described in GrabPointer, the last-pointer-grab time is set to the time at
8722  * which the button was pressed (as transmitted in the ButtonPress event), and the
8723  * ButtonPress event is reported if all of the following conditions are true:
8724  *
8725  * The pointer is not grabbed and the specified button is logically pressed when
8726  * the specified modifier keys are logically down, and no other buttons or
8727  * modifier keys are logically down.
8728  *
8729  * The grab-window contains the pointer.
8730  *
8731  * The confine-to window (if any) is viewable.
8732  *
8733  * A passive grab on the same button/key combination does not exist on any
8734  * ancestor of grab-window.
8735  *
8736  * The interpretation of the remaining arguments is the same as for GrabPointer.
8737  * The active grab is terminated automatically when the logical state of the
8738  * pointer has all buttons released, independent of the logical state of modifier
8739  * keys. Note that the logical state of a device (as seen by means of the
8740  * protocol) may lag the physical state if device event processing is frozen. This
8741  * request overrides all previous passive grabs by the same client on the same
8742  * button/key combinations on the same window. A modifier of AnyModifier is
8743  * equivalent to issuing the request for all possible modifier combinations
8744  * (including the combination of no modifiers). It is not required that all
8745  * specified modifiers have currently assigned keycodes. A button of AnyButton is
8746  * equivalent to issuing the request for all possible buttons. Otherwise, it is
8747  * not required that the button specified currently be assigned to a physical
8748  * button.
8749  *
8750  * An Access error is generated if some other client has already issued a
8751  * GrabButton request with the same button/key combination on the same window.
8752  * When using AnyModifier or AnyButton, the request fails completely (no grabs are
8753  * established), and an Access error is generated if there is a conflicting grab
8754  * for any combination. The request has no effect on an active grab.
8755  *
8756  * This form can be used only if the request will not cause
8757  * a reply to be generated. Any returned error will be
8758  * saved for handling by xcb_request_check().
8759  */
8760 
8761 /*****************************************************************************
8762  **
8763  ** xcb_void_cookie_t xcb_grab_button_checked
8764  **
8765  ** @param xcb_connection_t *c
8766  ** @param uint8_t           owner_events
8767  ** @param xcb_window_t      grab_window
8768  ** @param uint16_t          event_mask
8769  ** @param uint8_t           pointer_mode
8770  ** @param uint8_t           keyboard_mode
8771  ** @param xcb_window_t      confine_to
8772  ** @param xcb_cursor_t      cursor
8773  ** @param uint8_t           button
8774  ** @param uint16_t          modifiers
8775  ** @returns xcb_void_cookie_t
8776  **
8777  *****************************************************************************/
8778 
8779 xcb_void_cookie_t
8780 xcb_grab_button_checked (xcb_connection_t *c  /**< */,
8781                          uint8_t           owner_events  /**< */,
8782                          xcb_window_t      grab_window  /**< */,
8783                          uint16_t          event_mask  /**< */,
8784                          uint8_t           pointer_mode  /**< */,
8785                          uint8_t           keyboard_mode  /**< */,
8786                          xcb_window_t      confine_to  /**< */,
8787                          xcb_cursor_t      cursor  /**< */,
8788                          uint8_t           button  /**< */,
8789                          uint16_t          modifiers  /**< */);
8790 
8791 /**
8792  * @brief Grab pointer button(s)
8793  *
8794  * @param c The connection
8795  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8796  * reported to the \a grab_window.
8797  * @param grab_window Specifies the window on which the pointer should be grabbed.
8798  * @param event_mask Specifies which pointer events are reported to the client.
8799  * \n
8800  * TODO: which values?
8801  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8802  * @param pointer_mode \n
8803  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8804  * @param keyboard_mode \n
8805  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8806  * move the pointer out of that window).
8807  * \n
8808  * The special value `XCB_NONE` means don't confine the pointer.
8809  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8810  * cursor.
8811  * @param button A bitmask of #xcb_button_index_t values.
8812  * @param button \n
8813  * @param modifiers The modifiers to grab.
8814  * \n
8815  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
8816  * possible modifier combinations.
8817  * @return A cookie
8818  *
8819  * This request establishes a passive grab. The pointer is actively grabbed as
8820  * described in GrabPointer, the last-pointer-grab time is set to the time at
8821  * which the button was pressed (as transmitted in the ButtonPress event), and the
8822  * ButtonPress event is reported if all of the following conditions are true:
8823  *
8824  * The pointer is not grabbed and the specified button is logically pressed when
8825  * the specified modifier keys are logically down, and no other buttons or
8826  * modifier keys are logically down.
8827  *
8828  * The grab-window contains the pointer.
8829  *
8830  * The confine-to window (if any) is viewable.
8831  *
8832  * A passive grab on the same button/key combination does not exist on any
8833  * ancestor of grab-window.
8834  *
8835  * The interpretation of the remaining arguments is the same as for GrabPointer.
8836  * The active grab is terminated automatically when the logical state of the
8837  * pointer has all buttons released, independent of the logical state of modifier
8838  * keys. Note that the logical state of a device (as seen by means of the
8839  * protocol) may lag the physical state if device event processing is frozen. This
8840  * request overrides all previous passive grabs by the same client on the same
8841  * button/key combinations on the same window. A modifier of AnyModifier is
8842  * equivalent to issuing the request for all possible modifier combinations
8843  * (including the combination of no modifiers). It is not required that all
8844  * specified modifiers have currently assigned keycodes. A button of AnyButton is
8845  * equivalent to issuing the request for all possible buttons. Otherwise, it is
8846  * not required that the button specified currently be assigned to a physical
8847  * button.
8848  *
8849  * An Access error is generated if some other client has already issued a
8850  * GrabButton request with the same button/key combination on the same window.
8851  * When using AnyModifier or AnyButton, the request fails completely (no grabs are
8852  * established), and an Access error is generated if there is a conflicting grab
8853  * for any combination. The request has no effect on an active grab.
8854  *
8855  */
8856 
8857 /*****************************************************************************
8858  **
8859  ** xcb_void_cookie_t xcb_grab_button
8860  **
8861  ** @param xcb_connection_t *c
8862  ** @param uint8_t           owner_events
8863  ** @param xcb_window_t      grab_window
8864  ** @param uint16_t          event_mask
8865  ** @param uint8_t           pointer_mode
8866  ** @param uint8_t           keyboard_mode
8867  ** @param xcb_window_t      confine_to
8868  ** @param xcb_cursor_t      cursor
8869  ** @param uint8_t           button
8870  ** @param uint16_t          modifiers
8871  ** @returns xcb_void_cookie_t
8872  **
8873  *****************************************************************************/
8874 
8875 xcb_void_cookie_t
8876 xcb_grab_button (xcb_connection_t *c  /**< */,
8877                  uint8_t           owner_events  /**< */,
8878                  xcb_window_t      grab_window  /**< */,
8879                  uint16_t          event_mask  /**< */,
8880                  uint8_t           pointer_mode  /**< */,
8881                  uint8_t           keyboard_mode  /**< */,
8882                  xcb_window_t      confine_to  /**< */,
8883                  xcb_cursor_t      cursor  /**< */,
8884                  uint8_t           button  /**< */,
8885                  uint16_t          modifiers  /**< */);
8886 
8887 /**
8888  *
8889  * @param c The connection
8890  * @return A cookie
8891  *
8892  * Delivers a request to the X server.
8893  *
8894  * This form can be used only if the request will not cause
8895  * a reply to be generated. Any returned error will be
8896  * saved for handling by xcb_request_check().
8897  */
8898 
8899 /*****************************************************************************
8900  **
8901  ** xcb_void_cookie_t xcb_ungrab_button_checked
8902  **
8903  ** @param xcb_connection_t *c
8904  ** @param uint8_t           button
8905  ** @param xcb_window_t      grab_window
8906  ** @param uint16_t          modifiers
8907  ** @returns xcb_void_cookie_t
8908  **
8909  *****************************************************************************/
8910 
8911 xcb_void_cookie_t
8912 xcb_ungrab_button_checked (xcb_connection_t *c  /**< */,
8913                            uint8_t           button  /**< */,
8914                            xcb_window_t      grab_window  /**< */,
8915                            uint16_t          modifiers  /**< */);
8916 
8917 /**
8918  *
8919  * @param c The connection
8920  * @return A cookie
8921  *
8922  * Delivers a request to the X server.
8923  *
8924  */
8925 
8926 /*****************************************************************************
8927  **
8928  ** xcb_void_cookie_t xcb_ungrab_button
8929  **
8930  ** @param xcb_connection_t *c
8931  ** @param uint8_t           button
8932  ** @param xcb_window_t      grab_window
8933  ** @param uint16_t          modifiers
8934  ** @returns xcb_void_cookie_t
8935  **
8936  *****************************************************************************/
8937 
8938 xcb_void_cookie_t
8939 xcb_ungrab_button (xcb_connection_t *c  /**< */,
8940                    uint8_t           button  /**< */,
8941                    xcb_window_t      grab_window  /**< */,
8942                    uint16_t          modifiers  /**< */);
8943 
8944 /**
8945  *
8946  * @param c The connection
8947  * @return A cookie
8948  *
8949  * Delivers a request to the X server.
8950  *
8951  * This form can be used only if the request will not cause
8952  * a reply to be generated. Any returned error will be
8953  * saved for handling by xcb_request_check().
8954  */
8955 
8956 /*****************************************************************************
8957  **
8958  ** xcb_void_cookie_t xcb_change_active_pointer_grab_checked
8959  **
8960  ** @param xcb_connection_t *c
8961  ** @param xcb_cursor_t      cursor
8962  ** @param xcb_timestamp_t   time
8963  ** @param uint16_t          event_mask
8964  ** @returns xcb_void_cookie_t
8965  **
8966  *****************************************************************************/
8967 
8968 xcb_void_cookie_t
8969 xcb_change_active_pointer_grab_checked (xcb_connection_t *c  /**< */,
8970                                         xcb_cursor_t      cursor  /**< */,
8971                                         xcb_timestamp_t   time  /**< */,
8972                                         uint16_t          event_mask  /**< */);
8973 
8974 /**
8975  *
8976  * @param c The connection
8977  * @return A cookie
8978  *
8979  * Delivers a request to the X server.
8980  *
8981  */
8982 
8983 /*****************************************************************************
8984  **
8985  ** xcb_void_cookie_t xcb_change_active_pointer_grab
8986  **
8987  ** @param xcb_connection_t *c
8988  ** @param xcb_cursor_t      cursor
8989  ** @param xcb_timestamp_t   time
8990  ** @param uint16_t          event_mask
8991  ** @returns xcb_void_cookie_t
8992  **
8993  *****************************************************************************/
8994 
8995 xcb_void_cookie_t
8996 xcb_change_active_pointer_grab (xcb_connection_t *c  /**< */,
8997                                 xcb_cursor_t      cursor  /**< */,
8998                                 xcb_timestamp_t   time  /**< */,
8999                                 uint16_t          event_mask  /**< */);
9000 
9001 /**
9002  * @brief Grab the keyboard
9003  *
9004  * @param c The connection
9005  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9006  * reported to the \a grab_window.
9007  * @param grab_window Specifies the window on which the pointer should be grabbed.
9008  * @param time Timestamp to avoid race conditions when running X over the network.
9009  * \n
9010  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9011  * time.
9012  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9013  * @param pointer_mode \n
9014  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9015  * @param keyboard_mode \n
9016  * @return A cookie
9017  *
9018  * Actively grabs control of the keyboard and generates FocusIn and FocusOut
9019  * events. Further key events are reported only to the grabbing client.
9020  *
9021  * Any active keyboard grab by this client is overridden. If the keyboard is
9022  * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
9023  * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
9024  * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
9025  * specified \a time is earlier than the last-keyboard-grab time or later than the
9026  * current X server time, `GrabInvalidTime` is returned. Otherwise, the
9027  * last-keyboard-grab time is set to the specified time.
9028  *
9029  */
9030 
9031 /*****************************************************************************
9032  **
9033  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard
9034  **
9035  ** @param xcb_connection_t *c
9036  ** @param uint8_t           owner_events
9037  ** @param xcb_window_t      grab_window
9038  ** @param xcb_timestamp_t   time
9039  ** @param uint8_t           pointer_mode
9040  ** @param uint8_t           keyboard_mode
9041  ** @returns xcb_grab_keyboard_cookie_t
9042  **
9043  *****************************************************************************/
9044 
9045 xcb_grab_keyboard_cookie_t
9046 xcb_grab_keyboard (xcb_connection_t *c  /**< */,
9047                    uint8_t           owner_events  /**< */,
9048                    xcb_window_t      grab_window  /**< */,
9049                    xcb_timestamp_t   time  /**< */,
9050                    uint8_t           pointer_mode  /**< */,
9051                    uint8_t           keyboard_mode  /**< */);
9052 
9053 /**
9054  * @brief Grab the keyboard
9055  *
9056  * @param c The connection
9057  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9058  * reported to the \a grab_window.
9059  * @param grab_window Specifies the window on which the pointer should be grabbed.
9060  * @param time Timestamp to avoid race conditions when running X over the network.
9061  * \n
9062  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9063  * time.
9064  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9065  * @param pointer_mode \n
9066  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9067  * @param keyboard_mode \n
9068  * @return A cookie
9069  *
9070  * Actively grabs control of the keyboard and generates FocusIn and FocusOut
9071  * events. Further key events are reported only to the grabbing client.
9072  *
9073  * Any active keyboard grab by this client is overridden. If the keyboard is
9074  * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
9075  * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
9076  * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
9077  * specified \a time is earlier than the last-keyboard-grab time or later than the
9078  * current X server time, `GrabInvalidTime` is returned. Otherwise, the
9079  * last-keyboard-grab time is set to the specified time.
9080  *
9081  * This form can be used only if the request will cause
9082  * a reply to be generated. Any returned error will be
9083  * placed in the event queue.
9084  */
9085 
9086 /*****************************************************************************
9087  **
9088  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard_unchecked
9089  **
9090  ** @param xcb_connection_t *c
9091  ** @param uint8_t           owner_events
9092  ** @param xcb_window_t      grab_window
9093  ** @param xcb_timestamp_t   time
9094  ** @param uint8_t           pointer_mode
9095  ** @param uint8_t           keyboard_mode
9096  ** @returns xcb_grab_keyboard_cookie_t
9097  **
9098  *****************************************************************************/
9099 
9100 xcb_grab_keyboard_cookie_t
9101 xcb_grab_keyboard_unchecked (xcb_connection_t *c  /**< */,
9102                              uint8_t           owner_events  /**< */,
9103                              xcb_window_t      grab_window  /**< */,
9104                              xcb_timestamp_t   time  /**< */,
9105                              uint8_t           pointer_mode  /**< */,
9106                              uint8_t           keyboard_mode  /**< */);
9107 
9108 /**
9109  * Return the reply
9110  * @param c      The connection
9111  * @param cookie The cookie
9112  * @param e      The xcb_generic_error_t supplied
9113  *
9114  * Returns the reply of the request asked by
9115  *
9116  * The parameter @p e supplied to this function must be NULL if
9117  * xcb_grab_keyboard_unchecked(). is used.
9118  * Otherwise, it stores the error if any.
9119  *
9120  * The returned value must be freed by the caller using free().
9121  */
9122 
9123 /*****************************************************************************
9124  **
9125  ** xcb_grab_keyboard_reply_t * xcb_grab_keyboard_reply
9126  **
9127  ** @param xcb_connection_t            *c
9128  ** @param xcb_grab_keyboard_cookie_t   cookie
9129  ** @param xcb_generic_error_t        **e
9130  ** @returns xcb_grab_keyboard_reply_t *
9131  **
9132  *****************************************************************************/
9133 
9134 xcb_grab_keyboard_reply_t *
9135 xcb_grab_keyboard_reply (xcb_connection_t            *c  /**< */,
9136                          xcb_grab_keyboard_cookie_t   cookie  /**< */,
9137                          xcb_generic_error_t        **e  /**< */);
9138 
9139 /**
9140  *
9141  * @param c The connection
9142  * @return A cookie
9143  *
9144  * Delivers a request to the X server.
9145  *
9146  * This form can be used only if the request will not cause
9147  * a reply to be generated. Any returned error will be
9148  * saved for handling by xcb_request_check().
9149  */
9150 
9151 /*****************************************************************************
9152  **
9153  ** xcb_void_cookie_t xcb_ungrab_keyboard_checked
9154  **
9155  ** @param xcb_connection_t *c
9156  ** @param xcb_timestamp_t   time
9157  ** @returns xcb_void_cookie_t
9158  **
9159  *****************************************************************************/
9160 
9161 xcb_void_cookie_t
9162 xcb_ungrab_keyboard_checked (xcb_connection_t *c  /**< */,
9163                              xcb_timestamp_t   time  /**< */);
9164 
9165 /**
9166  *
9167  * @param c The connection
9168  * @return A cookie
9169  *
9170  * Delivers a request to the X server.
9171  *
9172  */
9173 
9174 /*****************************************************************************
9175  **
9176  ** xcb_void_cookie_t xcb_ungrab_keyboard
9177  **
9178  ** @param xcb_connection_t *c
9179  ** @param xcb_timestamp_t   time
9180  ** @returns xcb_void_cookie_t
9181  **
9182  *****************************************************************************/
9183 
9184 xcb_void_cookie_t
9185 xcb_ungrab_keyboard (xcb_connection_t *c  /**< */,
9186                      xcb_timestamp_t   time  /**< */);
9187 
9188 /**
9189  * @brief Grab keyboard key(s)
9190  *
9191  * @param c The connection
9192  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9193  * reported to the \a grab_window.
9194  * @param grab_window Specifies the window on which the pointer should be grabbed.
9195  * @param modifiers The modifiers to grab.
9196  * \n
9197  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
9198  * possible modifier combinations.
9199  * @param key The keycode of the key to grab.
9200  * \n
9201  * The special value `XCB_GRAB_ANY` means grab any key.
9202  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9203  * @param pointer_mode \n
9204  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9205  * @param keyboard_mode \n
9206  * @return A cookie
9207  *
9208  * Establishes a passive grab on the keyboard. In the future, the keyboard is
9209  * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
9210  * the time at which the key was pressed (as transmitted in the KeyPress event),
9211  * and the KeyPress event is reported if all of the following conditions are true:
9212  *
9213  * The keyboard is not grabbed and the specified key (which can itself be a
9214  * modifier key) is logically pressed when the specified modifier keys are
9215  * logically down, and no other modifier keys are logically down.
9216  *
9217  * Either the grab_window is an ancestor of (or is) the focus window, or the
9218  * grab_window is a descendant of the focus window and contains the pointer.
9219  *
9220  * A passive grab on the same key combination does not exist on any ancestor of
9221  * grab_window.
9222  *
9223  * The interpretation of the remaining arguments is as for XGrabKeyboard.  The active grab is terminated
9224  * automatically when the logical state of the keyboard has the specified key released (independent of the
9225  * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
9226  *
9227  * Note that the logical state of a device (as seen by client applications) may lag the physical state if
9228  * device event processing is frozen.
9229  *
9230  * A modifiers argument of AnyModifier is equivalent to issuing the request for all possible modifier combinations (including the combination of no modifiers).  It is not required that all modifiers specified
9231  * have currently assigned KeyCodes.  A keycode argument of AnyKey is equivalent to issuing the request for
9232  * all possible KeyCodes.  Otherwise, the specified keycode must be in the range specified by min_keycode
9233  * and max_keycode in the connection setup, or a BadValue error results.
9234  *
9235  * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
9236  * error results.  When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
9237  * results (no grabs are established) if there is a conflicting grab for any combination.
9238  *
9239  * This form can be used only if the request will not cause
9240  * a reply to be generated. Any returned error will be
9241  * saved for handling by xcb_request_check().
9242  */
9243 
9244 /*****************************************************************************
9245  **
9246  ** xcb_void_cookie_t xcb_grab_key_checked
9247  **
9248  ** @param xcb_connection_t *c
9249  ** @param uint8_t           owner_events
9250  ** @param xcb_window_t      grab_window
9251  ** @param uint16_t          modifiers
9252  ** @param xcb_keycode_t     key
9253  ** @param uint8_t           pointer_mode
9254  ** @param uint8_t           keyboard_mode
9255  ** @returns xcb_void_cookie_t
9256  **
9257  *****************************************************************************/
9258 
9259 xcb_void_cookie_t
9260 xcb_grab_key_checked (xcb_connection_t *c  /**< */,
9261                       uint8_t           owner_events  /**< */,
9262                       xcb_window_t      grab_window  /**< */,
9263                       uint16_t          modifiers  /**< */,
9264                       xcb_keycode_t     key  /**< */,
9265                       uint8_t           pointer_mode  /**< */,
9266                       uint8_t           keyboard_mode  /**< */);
9267 
9268 /**
9269  * @brief Grab keyboard key(s)
9270  *
9271  * @param c The connection
9272  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9273  * reported to the \a grab_window.
9274  * @param grab_window Specifies the window on which the pointer should be grabbed.
9275  * @param modifiers The modifiers to grab.
9276  * \n
9277  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
9278  * possible modifier combinations.
9279  * @param key The keycode of the key to grab.
9280  * \n
9281  * The special value `XCB_GRAB_ANY` means grab any key.
9282  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9283  * @param pointer_mode \n
9284  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9285  * @param keyboard_mode \n
9286  * @return A cookie
9287  *
9288  * Establishes a passive grab on the keyboard. In the future, the keyboard is
9289  * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
9290  * the time at which the key was pressed (as transmitted in the KeyPress event),
9291  * and the KeyPress event is reported if all of the following conditions are true:
9292  *
9293  * The keyboard is not grabbed and the specified key (which can itself be a
9294  * modifier key) is logically pressed when the specified modifier keys are
9295  * logically down, and no other modifier keys are logically down.
9296  *
9297  * Either the grab_window is an ancestor of (or is) the focus window, or the
9298  * grab_window is a descendant of the focus window and contains the pointer.
9299  *
9300  * A passive grab on the same key combination does not exist on any ancestor of
9301  * grab_window.
9302  *
9303  * The interpretation of the remaining arguments is as for XGrabKeyboard.  The active grab is terminated
9304  * automatically when the logical state of the keyboard has the specified key released (independent of the
9305  * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
9306  *
9307  * Note that the logical state of a device (as seen by client applications) may lag the physical state if
9308  * device event processing is frozen.
9309  *
9310  * A modifiers argument of AnyModifier is equivalent to issuing the request for all possible modifier combinations (including the combination of no modifiers).  It is not required that all modifiers specified
9311  * have currently assigned KeyCodes.  A keycode argument of AnyKey is equivalent to issuing the request for
9312  * all possible KeyCodes.  Otherwise, the specified keycode must be in the range specified by min_keycode
9313  * and max_keycode in the connection setup, or a BadValue error results.
9314  *
9315  * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
9316  * error results.  When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
9317  * results (no grabs are established) if there is a conflicting grab for any combination.
9318  *
9319  */
9320 
9321 /*****************************************************************************
9322  **
9323  ** xcb_void_cookie_t xcb_grab_key
9324  **
9325  ** @param xcb_connection_t *c
9326  ** @param uint8_t           owner_events
9327  ** @param xcb_window_t      grab_window
9328  ** @param uint16_t          modifiers
9329  ** @param xcb_keycode_t     key
9330  ** @param uint8_t           pointer_mode
9331  ** @param uint8_t           keyboard_mode
9332  ** @returns xcb_void_cookie_t
9333  **
9334  *****************************************************************************/
9335 
9336 xcb_void_cookie_t
9337 xcb_grab_key (xcb_connection_t *c  /**< */,
9338               uint8_t           owner_events  /**< */,
9339               xcb_window_t      grab_window  /**< */,
9340               uint16_t          modifiers  /**< */,
9341               xcb_keycode_t     key  /**< */,
9342               uint8_t           pointer_mode  /**< */,
9343               uint8_t           keyboard_mode  /**< */);
9344 
9345 /**
9346  * @brief release a key combination
9347  *
9348  * @param c The connection
9349  * @param key The keycode of the specified key combination.
9350  * \n
9351  * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
9352  * @param grab_window The window on which the grabbed key combination will be released.
9353  * @param modifiers The modifiers of the specified key combination.
9354  * \n
9355  * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
9356  * with every possible modifier combination.
9357  * @return A cookie
9358  *
9359  * Releases the key combination on \a grab_window if you grabbed it using
9360  * `xcb_grab_key` before.
9361  *
9362  * This form can be used only if the request will not cause
9363  * a reply to be generated. Any returned error will be
9364  * saved for handling by xcb_request_check().
9365  */
9366 
9367 /*****************************************************************************
9368  **
9369  ** xcb_void_cookie_t xcb_ungrab_key_checked
9370  **
9371  ** @param xcb_connection_t *c
9372  ** @param xcb_keycode_t     key
9373  ** @param xcb_window_t      grab_window
9374  ** @param uint16_t          modifiers
9375  ** @returns xcb_void_cookie_t
9376  **
9377  *****************************************************************************/
9378 
9379 xcb_void_cookie_t
9380 xcb_ungrab_key_checked (xcb_connection_t *c  /**< */,
9381                         xcb_keycode_t     key  /**< */,
9382                         xcb_window_t      grab_window  /**< */,
9383                         uint16_t          modifiers  /**< */);
9384 
9385 /**
9386  * @brief release a key combination
9387  *
9388  * @param c The connection
9389  * @param key The keycode of the specified key combination.
9390  * \n
9391  * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
9392  * @param grab_window The window on which the grabbed key combination will be released.
9393  * @param modifiers The modifiers of the specified key combination.
9394  * \n
9395  * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
9396  * with every possible modifier combination.
9397  * @return A cookie
9398  *
9399  * Releases the key combination on \a grab_window if you grabbed it using
9400  * `xcb_grab_key` before.
9401  *
9402  */
9403 
9404 /*****************************************************************************
9405  **
9406  ** xcb_void_cookie_t xcb_ungrab_key
9407  **
9408  ** @param xcb_connection_t *c
9409  ** @param xcb_keycode_t     key
9410  ** @param xcb_window_t      grab_window
9411  ** @param uint16_t          modifiers
9412  ** @returns xcb_void_cookie_t
9413  **
9414  *****************************************************************************/
9415 
9416 xcb_void_cookie_t
9417 xcb_ungrab_key (xcb_connection_t *c  /**< */,
9418                 xcb_keycode_t     key  /**< */,
9419                 xcb_window_t      grab_window  /**< */,
9420                 uint16_t          modifiers  /**< */);
9421 
9422 /**
9423  * @brief release queued events
9424  *
9425  * @param c The connection
9426  * @param mode A bitmask of #xcb_allow_t values.
9427  * @param mode \n
9428  * @param time Timestamp to avoid race conditions when running X over the network.
9429  * \n
9430  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9431  * time.
9432  * @return A cookie
9433  *
9434  * Releases queued events if the client has caused a device (pointer/keyboard) to
9435  * freeze due to grabbing it actively. This request has no effect if \a time is
9436  * earlier than the last-grab time of the most recent active grab for this client
9437  * or if \a time is later than the current X server time.
9438  *
9439  * This form can be used only if the request will not cause
9440  * a reply to be generated. Any returned error will be
9441  * saved for handling by xcb_request_check().
9442  */
9443 
9444 /*****************************************************************************
9445  **
9446  ** xcb_void_cookie_t xcb_allow_events_checked
9447  **
9448  ** @param xcb_connection_t *c
9449  ** @param uint8_t           mode
9450  ** @param xcb_timestamp_t   time
9451  ** @returns xcb_void_cookie_t
9452  **
9453  *****************************************************************************/
9454 
9455 xcb_void_cookie_t
9456 xcb_allow_events_checked (xcb_connection_t *c  /**< */,
9457                           uint8_t           mode  /**< */,
9458                           xcb_timestamp_t   time  /**< */);
9459 
9460 /**
9461  * @brief release queued events
9462  *
9463  * @param c The connection
9464  * @param mode A bitmask of #xcb_allow_t values.
9465  * @param mode \n
9466  * @param time Timestamp to avoid race conditions when running X over the network.
9467  * \n
9468  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9469  * time.
9470  * @return A cookie
9471  *
9472  * Releases queued events if the client has caused a device (pointer/keyboard) to
9473  * freeze due to grabbing it actively. This request has no effect if \a time is
9474  * earlier than the last-grab time of the most recent active grab for this client
9475  * or if \a time is later than the current X server time.
9476  *
9477  */
9478 
9479 /*****************************************************************************
9480  **
9481  ** xcb_void_cookie_t xcb_allow_events
9482  **
9483  ** @param xcb_connection_t *c
9484  ** @param uint8_t           mode
9485  ** @param xcb_timestamp_t   time
9486  ** @returns xcb_void_cookie_t
9487  **
9488  *****************************************************************************/
9489 
9490 xcb_void_cookie_t
9491 xcb_allow_events (xcb_connection_t *c  /**< */,
9492                   uint8_t           mode  /**< */,
9493                   xcb_timestamp_t   time  /**< */);
9494 
9495 /**
9496  *
9497  * @param c The connection
9498  * @return A cookie
9499  *
9500  * Delivers a request to the X server.
9501  *
9502  * This form can be used only if the request will not cause
9503  * a reply to be generated. Any returned error will be
9504  * saved for handling by xcb_request_check().
9505  */
9506 
9507 /*****************************************************************************
9508  **
9509  ** xcb_void_cookie_t xcb_grab_server_checked
9510  **
9511  ** @param xcb_connection_t *c
9512  ** @returns xcb_void_cookie_t
9513  **
9514  *****************************************************************************/
9515 
9516 xcb_void_cookie_t
9517 xcb_grab_server_checked (xcb_connection_t *c  /**< */);
9518 
9519 /**
9520  *
9521  * @param c The connection
9522  * @return A cookie
9523  *
9524  * Delivers a request to the X server.
9525  *
9526  */
9527 
9528 /*****************************************************************************
9529  **
9530  ** xcb_void_cookie_t xcb_grab_server
9531  **
9532  ** @param xcb_connection_t *c
9533  ** @returns xcb_void_cookie_t
9534  **
9535  *****************************************************************************/
9536 
9537 xcb_void_cookie_t
9538 xcb_grab_server (xcb_connection_t *c  /**< */);
9539 
9540 /**
9541  *
9542  * @param c The connection
9543  * @return A cookie
9544  *
9545  * Delivers a request to the X server.
9546  *
9547  * This form can be used only if the request will not cause
9548  * a reply to be generated. Any returned error will be
9549  * saved for handling by xcb_request_check().
9550  */
9551 
9552 /*****************************************************************************
9553  **
9554  ** xcb_void_cookie_t xcb_ungrab_server_checked
9555  **
9556  ** @param xcb_connection_t *c
9557  ** @returns xcb_void_cookie_t
9558  **
9559  *****************************************************************************/
9560 
9561 xcb_void_cookie_t
9562 xcb_ungrab_server_checked (xcb_connection_t *c  /**< */);
9563 
9564 /**
9565  *
9566  * @param c The connection
9567  * @return A cookie
9568  *
9569  * Delivers a request to the X server.
9570  *
9571  */
9572 
9573 /*****************************************************************************
9574  **
9575  ** xcb_void_cookie_t xcb_ungrab_server
9576  **
9577  ** @param xcb_connection_t *c
9578  ** @returns xcb_void_cookie_t
9579  **
9580  *****************************************************************************/
9581 
9582 xcb_void_cookie_t
9583 xcb_ungrab_server (xcb_connection_t *c  /**< */);
9584 
9585 /**
9586  * @brief get pointer coordinates
9587  *
9588  * @param c The connection
9589  * @param window A window to check if the pointer is on the same screen as \a window (see the
9590  * `same_screen` field in the reply).
9591  * @return A cookie
9592  *
9593  * Gets the root window the pointer is logically on and the pointer coordinates
9594  * relative to the root window's origin.
9595  *
9596  */
9597 
9598 /*****************************************************************************
9599  **
9600  ** xcb_query_pointer_cookie_t xcb_query_pointer
9601  **
9602  ** @param xcb_connection_t *c
9603  ** @param xcb_window_t      window
9604  ** @returns xcb_query_pointer_cookie_t
9605  **
9606  *****************************************************************************/
9607 
9608 xcb_query_pointer_cookie_t
9609 xcb_query_pointer (xcb_connection_t *c  /**< */,
9610                    xcb_window_t      window  /**< */);
9611 
9612 /**
9613  * @brief get pointer coordinates
9614  *
9615  * @param c The connection
9616  * @param window A window to check if the pointer is on the same screen as \a window (see the
9617  * `same_screen` field in the reply).
9618  * @return A cookie
9619  *
9620  * Gets the root window the pointer is logically on and the pointer coordinates
9621  * relative to the root window's origin.
9622  *
9623  * This form can be used only if the request will cause
9624  * a reply to be generated. Any returned error will be
9625  * placed in the event queue.
9626  */
9627 
9628 /*****************************************************************************
9629  **
9630  ** xcb_query_pointer_cookie_t xcb_query_pointer_unchecked
9631  **
9632  ** @param xcb_connection_t *c
9633  ** @param xcb_window_t      window
9634  ** @returns xcb_query_pointer_cookie_t
9635  **
9636  *****************************************************************************/
9637 
9638 xcb_query_pointer_cookie_t
9639 xcb_query_pointer_unchecked (xcb_connection_t *c  /**< */,
9640                              xcb_window_t      window  /**< */);
9641 
9642 /**
9643  * Return the reply
9644  * @param c      The connection
9645  * @param cookie The cookie
9646  * @param e      The xcb_generic_error_t supplied
9647  *
9648  * Returns the reply of the request asked by
9649  *
9650  * The parameter @p e supplied to this function must be NULL if
9651  * xcb_query_pointer_unchecked(). is used.
9652  * Otherwise, it stores the error if any.
9653  *
9654  * The returned value must be freed by the caller using free().
9655  */
9656 
9657 /*****************************************************************************
9658  **
9659  ** xcb_query_pointer_reply_t * xcb_query_pointer_reply
9660  **
9661  ** @param xcb_connection_t            *c
9662  ** @param xcb_query_pointer_cookie_t   cookie
9663  ** @param xcb_generic_error_t        **e
9664  ** @returns xcb_query_pointer_reply_t *
9665  **
9666  *****************************************************************************/
9667 
9668 xcb_query_pointer_reply_t *
9669 xcb_query_pointer_reply (xcb_connection_t            *c  /**< */,
9670                          xcb_query_pointer_cookie_t   cookie  /**< */,
9671                          xcb_generic_error_t        **e  /**< */);
9672 
9673 /**
9674  * Get the next element of the iterator
9675  * @param i Pointer to a xcb_timecoord_iterator_t
9676  *
9677  * Get the next element in the iterator. The member rem is
9678  * decreased by one. The member data points to the next
9679  * element. The member index is increased by sizeof(xcb_timecoord_t)
9680  */
9681 
9682 /*****************************************************************************
9683  **
9684  ** void xcb_timecoord_next
9685  **
9686  ** @param xcb_timecoord_iterator_t *i
9687  ** @returns void
9688  **
9689  *****************************************************************************/
9690 
9691 void
9692 xcb_timecoord_next (xcb_timecoord_iterator_t *i  /**< */);
9693 
9694 /**
9695  * Return the iterator pointing to the last element
9696  * @param i An xcb_timecoord_iterator_t
9697  * @return  The iterator pointing to the last element
9698  *
9699  * Set the current element in the iterator to the last element.
9700  * The member rem is set to 0. The member data points to the
9701  * last element.
9702  */
9703 
9704 /*****************************************************************************
9705  **
9706  ** xcb_generic_iterator_t xcb_timecoord_end
9707  **
9708  ** @param xcb_timecoord_iterator_t i
9709  ** @returns xcb_generic_iterator_t
9710  **
9711  *****************************************************************************/
9712 
9713 xcb_generic_iterator_t
9714 xcb_timecoord_end (xcb_timecoord_iterator_t i  /**< */);
9715 
9716 int
9717 xcb_get_motion_events_sizeof (const void  *_buffer  /**< */);
9718 
9719 /**
9720  *
9721  * @param c The connection
9722  * @return A cookie
9723  *
9724  * Delivers a request to the X server.
9725  *
9726  */
9727 
9728 /*****************************************************************************
9729  **
9730  ** xcb_get_motion_events_cookie_t xcb_get_motion_events
9731  **
9732  ** @param xcb_connection_t *c
9733  ** @param xcb_window_t      window
9734  ** @param xcb_timestamp_t   start
9735  ** @param xcb_timestamp_t   stop
9736  ** @returns xcb_get_motion_events_cookie_t
9737  **
9738  *****************************************************************************/
9739 
9740 xcb_get_motion_events_cookie_t
9741 xcb_get_motion_events (xcb_connection_t *c  /**< */,
9742                        xcb_window_t      window  /**< */,
9743                        xcb_timestamp_t   start  /**< */,
9744                        xcb_timestamp_t   stop  /**< */);
9745 
9746 /**
9747  *
9748  * @param c The connection
9749  * @return A cookie
9750  *
9751  * Delivers a request to the X server.
9752  *
9753  * This form can be used only if the request will cause
9754  * a reply to be generated. Any returned error will be
9755  * placed in the event queue.
9756  */
9757 
9758 /*****************************************************************************
9759  **
9760  ** xcb_get_motion_events_cookie_t xcb_get_motion_events_unchecked
9761  **
9762  ** @param xcb_connection_t *c
9763  ** @param xcb_window_t      window
9764  ** @param xcb_timestamp_t   start
9765  ** @param xcb_timestamp_t   stop
9766  ** @returns xcb_get_motion_events_cookie_t
9767  **
9768  *****************************************************************************/
9769 
9770 xcb_get_motion_events_cookie_t
9771 xcb_get_motion_events_unchecked (xcb_connection_t *c  /**< */,
9772                                  xcb_window_t      window  /**< */,
9773                                  xcb_timestamp_t   start  /**< */,
9774                                  xcb_timestamp_t   stop  /**< */);
9775 
9776 
9777 /*****************************************************************************
9778  **
9779  ** xcb_timecoord_t * xcb_get_motion_events_events
9780  **
9781  ** @param const xcb_get_motion_events_reply_t *R
9782  ** @returns xcb_timecoord_t *
9783  **
9784  *****************************************************************************/
9785 
9786 xcb_timecoord_t *
9787 xcb_get_motion_events_events (const xcb_get_motion_events_reply_t *R  /**< */);
9788 
9789 
9790 /*****************************************************************************
9791  **
9792  ** int xcb_get_motion_events_events_length
9793  **
9794  ** @param const xcb_get_motion_events_reply_t *R
9795  ** @returns int
9796  **
9797  *****************************************************************************/
9798 
9799 int
9800 xcb_get_motion_events_events_length (const xcb_get_motion_events_reply_t *R  /**< */);
9801 
9802 
9803 /*****************************************************************************
9804  **
9805  ** xcb_timecoord_iterator_t xcb_get_motion_events_events_iterator
9806  **
9807  ** @param const xcb_get_motion_events_reply_t *R
9808  ** @returns xcb_timecoord_iterator_t
9809  **
9810  *****************************************************************************/
9811 
9812 xcb_timecoord_iterator_t
9813 xcb_get_motion_events_events_iterator (const xcb_get_motion_events_reply_t *R  /**< */);
9814 
9815 /**
9816  * Return the reply
9817  * @param c      The connection
9818  * @param cookie The cookie
9819  * @param e      The xcb_generic_error_t supplied
9820  *
9821  * Returns the reply of the request asked by
9822  *
9823  * The parameter @p e supplied to this function must be NULL if
9824  * xcb_get_motion_events_unchecked(). is used.
9825  * Otherwise, it stores the error if any.
9826  *
9827  * The returned value must be freed by the caller using free().
9828  */
9829 
9830 /*****************************************************************************
9831  **
9832  ** xcb_get_motion_events_reply_t * xcb_get_motion_events_reply
9833  **
9834  ** @param xcb_connection_t                *c
9835  ** @param xcb_get_motion_events_cookie_t   cookie
9836  ** @param xcb_generic_error_t            **e
9837  ** @returns xcb_get_motion_events_reply_t *
9838  **
9839  *****************************************************************************/
9840 
9841 xcb_get_motion_events_reply_t *
9842 xcb_get_motion_events_reply (xcb_connection_t                *c  /**< */,
9843                              xcb_get_motion_events_cookie_t   cookie  /**< */,
9844                              xcb_generic_error_t            **e  /**< */);
9845 
9846 /**
9847  *
9848  * @param c The connection
9849  * @return A cookie
9850  *
9851  * Delivers a request to the X server.
9852  *
9853  */
9854 
9855 /*****************************************************************************
9856  **
9857  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates
9858  **
9859  ** @param xcb_connection_t *c
9860  ** @param xcb_window_t      src_window
9861  ** @param xcb_window_t      dst_window
9862  ** @param int16_t           src_x
9863  ** @param int16_t           src_y
9864  ** @returns xcb_translate_coordinates_cookie_t
9865  **
9866  *****************************************************************************/
9867 
9868 xcb_translate_coordinates_cookie_t
9869 xcb_translate_coordinates (xcb_connection_t *c  /**< */,
9870                            xcb_window_t      src_window  /**< */,
9871                            xcb_window_t      dst_window  /**< */,
9872                            int16_t           src_x  /**< */,
9873                            int16_t           src_y  /**< */);
9874 
9875 /**
9876  *
9877  * @param c The connection
9878  * @return A cookie
9879  *
9880  * Delivers a request to the X server.
9881  *
9882  * This form can be used only if the request will cause
9883  * a reply to be generated. Any returned error will be
9884  * placed in the event queue.
9885  */
9886 
9887 /*****************************************************************************
9888  **
9889  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates_unchecked
9890  **
9891  ** @param xcb_connection_t *c
9892  ** @param xcb_window_t      src_window
9893  ** @param xcb_window_t      dst_window
9894  ** @param int16_t           src_x
9895  ** @param int16_t           src_y
9896  ** @returns xcb_translate_coordinates_cookie_t
9897  **
9898  *****************************************************************************/
9899 
9900 xcb_translate_coordinates_cookie_t
9901 xcb_translate_coordinates_unchecked (xcb_connection_t *c  /**< */,
9902                                      xcb_window_t      src_window  /**< */,
9903                                      xcb_window_t      dst_window  /**< */,
9904                                      int16_t           src_x  /**< */,
9905                                      int16_t           src_y  /**< */);
9906 
9907 /**
9908  * Return the reply
9909  * @param c      The connection
9910  * @param cookie The cookie
9911  * @param e      The xcb_generic_error_t supplied
9912  *
9913  * Returns the reply of the request asked by
9914  *
9915  * The parameter @p e supplied to this function must be NULL if
9916  * xcb_translate_coordinates_unchecked(). is used.
9917  * Otherwise, it stores the error if any.
9918  *
9919  * The returned value must be freed by the caller using free().
9920  */
9921 
9922 /*****************************************************************************
9923  **
9924  ** xcb_translate_coordinates_reply_t * xcb_translate_coordinates_reply
9925  **
9926  ** @param xcb_connection_t                    *c
9927  ** @param xcb_translate_coordinates_cookie_t   cookie
9928  ** @param xcb_generic_error_t                **e
9929  ** @returns xcb_translate_coordinates_reply_t *
9930  **
9931  *****************************************************************************/
9932 
9933 xcb_translate_coordinates_reply_t *
9934 xcb_translate_coordinates_reply (xcb_connection_t                    *c  /**< */,
9935                                  xcb_translate_coordinates_cookie_t   cookie  /**< */,
9936                                  xcb_generic_error_t                **e  /**< */);
9937 
9938 /**
9939  * @brief move mouse pointer
9940  *
9941  * @param c The connection
9942  * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
9943  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
9944  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
9945  * \a src_window.
9946  * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
9947  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
9948  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
9949  * relative to the current position of the pointer.
9950  * @return A cookie
9951  *
9952  * Moves the mouse pointer to the specified position.
9953  *
9954  * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
9955  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
9956  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
9957  * \a src_window.
9958  *
9959  * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
9960  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
9961  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
9962  * relative to the current position of the pointer.
9963  *
9964  * This form can be used only if the request will not cause
9965  * a reply to be generated. Any returned error will be
9966  * saved for handling by xcb_request_check().
9967  */
9968 
9969 /*****************************************************************************
9970  **
9971  ** xcb_void_cookie_t xcb_warp_pointer_checked
9972  **
9973  ** @param xcb_connection_t *c
9974  ** @param xcb_window_t      src_window
9975  ** @param xcb_window_t      dst_window
9976  ** @param int16_t           src_x
9977  ** @param int16_t           src_y
9978  ** @param uint16_t          src_width
9979  ** @param uint16_t          src_height
9980  ** @param int16_t           dst_x
9981  ** @param int16_t           dst_y
9982  ** @returns xcb_void_cookie_t
9983  **
9984  *****************************************************************************/
9985 
9986 xcb_void_cookie_t
9987 xcb_warp_pointer_checked (xcb_connection_t *c  /**< */,
9988                           xcb_window_t      src_window  /**< */,
9989                           xcb_window_t      dst_window  /**< */,
9990                           int16_t           src_x  /**< */,
9991                           int16_t           src_y  /**< */,
9992                           uint16_t          src_width  /**< */,
9993                           uint16_t          src_height  /**< */,
9994                           int16_t           dst_x  /**< */,
9995                           int16_t           dst_y  /**< */);
9996 
9997 /**
9998  * @brief move mouse pointer
9999  *
10000  * @param c The connection
10001  * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
10002  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
10003  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
10004  * \a src_window.
10005  * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
10006  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
10007  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
10008  * relative to the current position of the pointer.
10009  * @return A cookie
10010  *
10011  * Moves the mouse pointer to the specified position.
10012  *
10013  * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
10014  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
10015  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
10016  * \a src_window.
10017  *
10018  * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
10019  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
10020  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
10021  * relative to the current position of the pointer.
10022  *
10023  */
10024 
10025 /*****************************************************************************
10026  **
10027  ** xcb_void_cookie_t xcb_warp_pointer
10028  **
10029  ** @param xcb_connection_t *c
10030  ** @param xcb_window_t      src_window
10031  ** @param xcb_window_t      dst_window
10032  ** @param int16_t           src_x
10033  ** @param int16_t           src_y
10034  ** @param uint16_t          src_width
10035  ** @param uint16_t          src_height
10036  ** @param int16_t           dst_x
10037  ** @param int16_t           dst_y
10038  ** @returns xcb_void_cookie_t
10039  **
10040  *****************************************************************************/
10041 
10042 xcb_void_cookie_t
10043 xcb_warp_pointer (xcb_connection_t *c  /**< */,
10044                   xcb_window_t      src_window  /**< */,
10045                   xcb_window_t      dst_window  /**< */,
10046                   int16_t           src_x  /**< */,
10047                   int16_t           src_y  /**< */,
10048                   uint16_t          src_width  /**< */,
10049                   uint16_t          src_height  /**< */,
10050                   int16_t           dst_x  /**< */,
10051                   int16_t           dst_y  /**< */);
10052 
10053 /**
10054  * @brief Sets input focus
10055  *
10056  * @param c The connection
10057  * @param revert_to A bitmask of #xcb_input_focus_t values.
10058  * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
10059  * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
10060  * @param focus The window to focus. All keyboard events will be reported to this window. The
10061  * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
10062  * \n
10063  * If \a focus is `XCB_NONE` (TODO), all keyboard events are
10064  * discarded until a new focus window is set.
10065  * \n
10066  * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
10067  * screen on which the pointer is on currently.
10068  * @param time Timestamp to avoid race conditions when running X over the network.
10069  * \n
10070  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
10071  * time.
10072  * @return A cookie
10073  *
10074  * Changes the input focus and the last-focus-change time. If the specified \a time
10075  * is earlier than the current last-focus-change time, the request is ignored (to
10076  * avoid race conditions when running X over the network).
10077  *
10078  * A FocusIn and FocusOut event is generated when focus is changed.
10079  *
10080  * This form can be used only if the request will not cause
10081  * a reply to be generated. Any returned error will be
10082  * saved for handling by xcb_request_check().
10083  */
10084 
10085 /*****************************************************************************
10086  **
10087  ** xcb_void_cookie_t xcb_set_input_focus_checked
10088  **
10089  ** @param xcb_connection_t *c
10090  ** @param uint8_t           revert_to
10091  ** @param xcb_window_t      focus
10092  ** @param xcb_timestamp_t   time
10093  ** @returns xcb_void_cookie_t
10094  **
10095  *****************************************************************************/
10096 
10097 xcb_void_cookie_t
10098 xcb_set_input_focus_checked (xcb_connection_t *c  /**< */,
10099                              uint8_t           revert_to  /**< */,
10100                              xcb_window_t      focus  /**< */,
10101                              xcb_timestamp_t   time  /**< */);
10102 
10103 /**
10104  * @brief Sets input focus
10105  *
10106  * @param c The connection
10107  * @param revert_to A bitmask of #xcb_input_focus_t values.
10108  * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
10109  * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
10110  * @param focus The window to focus. All keyboard events will be reported to this window. The
10111  * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
10112  * \n
10113  * If \a focus is `XCB_NONE` (TODO), all keyboard events are
10114  * discarded until a new focus window is set.
10115  * \n
10116  * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
10117  * screen on which the pointer is on currently.
10118  * @param time Timestamp to avoid race conditions when running X over the network.
10119  * \n
10120  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
10121  * time.
10122  * @return A cookie
10123  *
10124  * Changes the input focus and the last-focus-change time. If the specified \a time
10125  * is earlier than the current last-focus-change time, the request is ignored (to
10126  * avoid race conditions when running X over the network).
10127  *
10128  * A FocusIn and FocusOut event is generated when focus is changed.
10129  *
10130  */
10131 
10132 /*****************************************************************************
10133  **
10134  ** xcb_void_cookie_t xcb_set_input_focus
10135  **
10136  ** @param xcb_connection_t *c
10137  ** @param uint8_t           revert_to
10138  ** @param xcb_window_t      focus
10139  ** @param xcb_timestamp_t   time
10140  ** @returns xcb_void_cookie_t
10141  **
10142  *****************************************************************************/
10143 
10144 xcb_void_cookie_t
10145 xcb_set_input_focus (xcb_connection_t *c  /**< */,
10146                      uint8_t           revert_to  /**< */,
10147                      xcb_window_t      focus  /**< */,
10148                      xcb_timestamp_t   time  /**< */);
10149 
10150 /**
10151  *
10152  * @param c The connection
10153  * @return A cookie
10154  *
10155  * Delivers a request to the X server.
10156  *
10157  */
10158 
10159 /*****************************************************************************
10160  **
10161  ** xcb_get_input_focus_cookie_t xcb_get_input_focus
10162  **
10163  ** @param xcb_connection_t *c
10164  ** @returns xcb_get_input_focus_cookie_t
10165  **
10166  *****************************************************************************/
10167 
10168 xcb_get_input_focus_cookie_t
10169 xcb_get_input_focus (xcb_connection_t *c  /**< */);
10170 
10171 /**
10172  *
10173  * @param c The connection
10174  * @return A cookie
10175  *
10176  * Delivers a request to the X server.
10177  *
10178  * This form can be used only if the request will cause
10179  * a reply to be generated. Any returned error will be
10180  * placed in the event queue.
10181  */
10182 
10183 /*****************************************************************************
10184  **
10185  ** xcb_get_input_focus_cookie_t xcb_get_input_focus_unchecked
10186  **
10187  ** @param xcb_connection_t *c
10188  ** @returns xcb_get_input_focus_cookie_t
10189  **
10190  *****************************************************************************/
10191 
10192 xcb_get_input_focus_cookie_t
10193 xcb_get_input_focus_unchecked (xcb_connection_t *c  /**< */);
10194 
10195 /**
10196  * Return the reply
10197  * @param c      The connection
10198  * @param cookie The cookie
10199  * @param e      The xcb_generic_error_t supplied
10200  *
10201  * Returns the reply of the request asked by
10202  *
10203  * The parameter @p e supplied to this function must be NULL if
10204  * xcb_get_input_focus_unchecked(). is used.
10205  * Otherwise, it stores the error if any.
10206  *
10207  * The returned value must be freed by the caller using free().
10208  */
10209 
10210 /*****************************************************************************
10211  **
10212  ** xcb_get_input_focus_reply_t * xcb_get_input_focus_reply
10213  **
10214  ** @param xcb_connection_t              *c
10215  ** @param xcb_get_input_focus_cookie_t   cookie
10216  ** @param xcb_generic_error_t          **e
10217  ** @returns xcb_get_input_focus_reply_t *
10218  **
10219  *****************************************************************************/
10220 
10221 xcb_get_input_focus_reply_t *
10222 xcb_get_input_focus_reply (xcb_connection_t              *c  /**< */,
10223                            xcb_get_input_focus_cookie_t   cookie  /**< */,
10224                            xcb_generic_error_t          **e  /**< */);
10225 
10226 /**
10227  *
10228  * @param c The connection
10229  * @return A cookie
10230  *
10231  * Delivers a request to the X server.
10232  *
10233  */
10234 
10235 /*****************************************************************************
10236  **
10237  ** xcb_query_keymap_cookie_t xcb_query_keymap
10238  **
10239  ** @param xcb_connection_t *c
10240  ** @returns xcb_query_keymap_cookie_t
10241  **
10242  *****************************************************************************/
10243 
10244 xcb_query_keymap_cookie_t
10245 xcb_query_keymap (xcb_connection_t *c  /**< */);
10246 
10247 /**
10248  *
10249  * @param c The connection
10250  * @return A cookie
10251  *
10252  * Delivers a request to the X server.
10253  *
10254  * This form can be used only if the request will cause
10255  * a reply to be generated. Any returned error will be
10256  * placed in the event queue.
10257  */
10258 
10259 /*****************************************************************************
10260  **
10261  ** xcb_query_keymap_cookie_t xcb_query_keymap_unchecked
10262  **
10263  ** @param xcb_connection_t *c
10264  ** @returns xcb_query_keymap_cookie_t
10265  **
10266  *****************************************************************************/
10267 
10268 xcb_query_keymap_cookie_t
10269 xcb_query_keymap_unchecked (xcb_connection_t *c  /**< */);
10270 
10271 /**
10272  * Return the reply
10273  * @param c      The connection
10274  * @param cookie The cookie
10275  * @param e      The xcb_generic_error_t supplied
10276  *
10277  * Returns the reply of the request asked by
10278  *
10279  * The parameter @p e supplied to this function must be NULL if
10280  * xcb_query_keymap_unchecked(). is used.
10281  * Otherwise, it stores the error if any.
10282  *
10283  * The returned value must be freed by the caller using free().
10284  */
10285 
10286 /*****************************************************************************
10287  **
10288  ** xcb_query_keymap_reply_t * xcb_query_keymap_reply
10289  **
10290  ** @param xcb_connection_t           *c
10291  ** @param xcb_query_keymap_cookie_t   cookie
10292  ** @param xcb_generic_error_t       **e
10293  ** @returns xcb_query_keymap_reply_t *
10294  **
10295  *****************************************************************************/
10296 
10297 xcb_query_keymap_reply_t *
10298 xcb_query_keymap_reply (xcb_connection_t           *c  /**< */,
10299                         xcb_query_keymap_cookie_t   cookie  /**< */,
10300                         xcb_generic_error_t       **e  /**< */);
10301 
10302 int
10303 xcb_open_font_sizeof (const void  *_buffer  /**< */);
10304 
10305 /**
10306  * @brief opens a font
10307  *
10308  * @param c The connection
10309  * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
10310  * @param name_len Length (in bytes) of \a name.
10311  * @param name A pattern describing an X core font.
10312  * @return A cookie
10313  *
10314  * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
10315  *
10316  * Note that X core fonts are deprecated (but still supported) in favor of
10317  * client-side rendering using Xft.
10318  *
10319  * This form can be used only if the request will not cause
10320  * a reply to be generated. Any returned error will be
10321  * saved for handling by xcb_request_check().
10322  */
10323 
10324 /*****************************************************************************
10325  **
10326  ** xcb_void_cookie_t xcb_open_font_checked
10327  **
10328  ** @param xcb_connection_t *c
10329  ** @param xcb_font_t        fid
10330  ** @param uint16_t          name_len
10331  ** @param const char       *name
10332  ** @returns xcb_void_cookie_t
10333  **
10334  *****************************************************************************/
10335 
10336 xcb_void_cookie_t
10337 xcb_open_font_checked (xcb_connection_t *c  /**< */,
10338                        xcb_font_t        fid  /**< */,
10339                        uint16_t          name_len  /**< */,
10340                        const char       *name  /**< */);
10341 
10342 /**
10343  * @brief opens a font
10344  *
10345  * @param c The connection
10346  * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
10347  * @param name_len Length (in bytes) of \a name.
10348  * @param name A pattern describing an X core font.
10349  * @return A cookie
10350  *
10351  * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
10352  *
10353  * Note that X core fonts are deprecated (but still supported) in favor of
10354  * client-side rendering using Xft.
10355  *
10356  */
10357 
10358 /*****************************************************************************
10359  **
10360  ** xcb_void_cookie_t xcb_open_font
10361  **
10362  ** @param xcb_connection_t *c
10363  ** @param xcb_font_t        fid
10364  ** @param uint16_t          name_len
10365  ** @param const char       *name
10366  ** @returns xcb_void_cookie_t
10367  **
10368  *****************************************************************************/
10369 
10370 xcb_void_cookie_t
10371 xcb_open_font (xcb_connection_t *c  /**< */,
10372                xcb_font_t        fid  /**< */,
10373                uint16_t          name_len  /**< */,
10374                const char       *name  /**< */);
10375 
10376 /**
10377  *
10378  * @param c The connection
10379  * @return A cookie
10380  *
10381  * Delivers a request to the X server.
10382  *
10383  * This form can be used only if the request will not cause
10384  * a reply to be generated. Any returned error will be
10385  * saved for handling by xcb_request_check().
10386  */
10387 
10388 /*****************************************************************************
10389  **
10390  ** xcb_void_cookie_t xcb_close_font_checked
10391  **
10392  ** @param xcb_connection_t *c
10393  ** @param xcb_font_t        font
10394  ** @returns xcb_void_cookie_t
10395  **
10396  *****************************************************************************/
10397 
10398 xcb_void_cookie_t
10399 xcb_close_font_checked (xcb_connection_t *c  /**< */,
10400                         xcb_font_t        font  /**< */);
10401 
10402 /**
10403  *
10404  * @param c The connection
10405  * @return A cookie
10406  *
10407  * Delivers a request to the X server.
10408  *
10409  */
10410 
10411 /*****************************************************************************
10412  **
10413  ** xcb_void_cookie_t xcb_close_font
10414  **
10415  ** @param xcb_connection_t *c
10416  ** @param xcb_font_t        font
10417  ** @returns xcb_void_cookie_t
10418  **
10419  *****************************************************************************/
10420 
10421 xcb_void_cookie_t
10422 xcb_close_font (xcb_connection_t *c  /**< */,
10423                 xcb_font_t        font  /**< */);
10424 
10425 /**
10426  * Get the next element of the iterator
10427  * @param i Pointer to a xcb_fontprop_iterator_t
10428  *
10429  * Get the next element in the iterator. The member rem is
10430  * decreased by one. The member data points to the next
10431  * element. The member index is increased by sizeof(xcb_fontprop_t)
10432  */
10433 
10434 /*****************************************************************************
10435  **
10436  ** void xcb_fontprop_next
10437  **
10438  ** @param xcb_fontprop_iterator_t *i
10439  ** @returns void
10440  **
10441  *****************************************************************************/
10442 
10443 void
10444 xcb_fontprop_next (xcb_fontprop_iterator_t *i  /**< */);
10445 
10446 /**
10447  * Return the iterator pointing to the last element
10448  * @param i An xcb_fontprop_iterator_t
10449  * @return  The iterator pointing to the last element
10450  *
10451  * Set the current element in the iterator to the last element.
10452  * The member rem is set to 0. The member data points to the
10453  * last element.
10454  */
10455 
10456 /*****************************************************************************
10457  **
10458  ** xcb_generic_iterator_t xcb_fontprop_end
10459  **
10460  ** @param xcb_fontprop_iterator_t i
10461  ** @returns xcb_generic_iterator_t
10462  **
10463  *****************************************************************************/
10464 
10465 xcb_generic_iterator_t
10466 xcb_fontprop_end (xcb_fontprop_iterator_t i  /**< */);
10467 
10468 /**
10469  * Get the next element of the iterator
10470  * @param i Pointer to a xcb_charinfo_iterator_t
10471  *
10472  * Get the next element in the iterator. The member rem is
10473  * decreased by one. The member data points to the next
10474  * element. The member index is increased by sizeof(xcb_charinfo_t)
10475  */
10476 
10477 /*****************************************************************************
10478  **
10479  ** void xcb_charinfo_next
10480  **
10481  ** @param xcb_charinfo_iterator_t *i
10482  ** @returns void
10483  **
10484  *****************************************************************************/
10485 
10486 void
10487 xcb_charinfo_next (xcb_charinfo_iterator_t *i  /**< */);
10488 
10489 /**
10490  * Return the iterator pointing to the last element
10491  * @param i An xcb_charinfo_iterator_t
10492  * @return  The iterator pointing to the last element
10493  *
10494  * Set the current element in the iterator to the last element.
10495  * The member rem is set to 0. The member data points to the
10496  * last element.
10497  */
10498 
10499 /*****************************************************************************
10500  **
10501  ** xcb_generic_iterator_t xcb_charinfo_end
10502  **
10503  ** @param xcb_charinfo_iterator_t i
10504  ** @returns xcb_generic_iterator_t
10505  **
10506  *****************************************************************************/
10507 
10508 xcb_generic_iterator_t
10509 xcb_charinfo_end (xcb_charinfo_iterator_t i  /**< */);
10510 
10511 int
10512 xcb_query_font_sizeof (const void  *_buffer  /**< */);
10513 
10514 /**
10515  * @brief query font metrics
10516  *
10517  * @param c The connection
10518  * @param font The fontable (Font or Graphics Context) to query.
10519  * @return A cookie
10520  *
10521  * Queries information associated with the font.
10522  *
10523  */
10524 
10525 /*****************************************************************************
10526  **
10527  ** xcb_query_font_cookie_t xcb_query_font
10528  **
10529  ** @param xcb_connection_t *c
10530  ** @param xcb_fontable_t    font
10531  ** @returns xcb_query_font_cookie_t
10532  **
10533  *****************************************************************************/
10534 
10535 xcb_query_font_cookie_t
10536 xcb_query_font (xcb_connection_t *c  /**< */,
10537                 xcb_fontable_t    font  /**< */);
10538 
10539 /**
10540  * @brief query font metrics
10541  *
10542  * @param c The connection
10543  * @param font The fontable (Font or Graphics Context) to query.
10544  * @return A cookie
10545  *
10546  * Queries information associated with the font.
10547  *
10548  * This form can be used only if the request will cause
10549  * a reply to be generated. Any returned error will be
10550  * placed in the event queue.
10551  */
10552 
10553 /*****************************************************************************
10554  **
10555  ** xcb_query_font_cookie_t xcb_query_font_unchecked
10556  **
10557  ** @param xcb_connection_t *c
10558  ** @param xcb_fontable_t    font
10559  ** @returns xcb_query_font_cookie_t
10560  **
10561  *****************************************************************************/
10562 
10563 xcb_query_font_cookie_t
10564 xcb_query_font_unchecked (xcb_connection_t *c  /**< */,
10565                           xcb_fontable_t    font  /**< */);
10566 
10567 
10568 /*****************************************************************************
10569  **
10570  ** xcb_fontprop_t * xcb_query_font_properties
10571  **
10572  ** @param const xcb_query_font_reply_t *R
10573  ** @returns xcb_fontprop_t *
10574  **
10575  *****************************************************************************/
10576 
10577 xcb_fontprop_t *
10578 xcb_query_font_properties (const xcb_query_font_reply_t *R  /**< */);
10579 
10580 
10581 /*****************************************************************************
10582  **
10583  ** int xcb_query_font_properties_length
10584  **
10585  ** @param const xcb_query_font_reply_t *R
10586  ** @returns int
10587  **
10588  *****************************************************************************/
10589 
10590 int
10591 xcb_query_font_properties_length (const xcb_query_font_reply_t *R  /**< */);
10592 
10593 
10594 /*****************************************************************************
10595  **
10596  ** xcb_fontprop_iterator_t xcb_query_font_properties_iterator
10597  **
10598  ** @param const xcb_query_font_reply_t *R
10599  ** @returns xcb_fontprop_iterator_t
10600  **
10601  *****************************************************************************/
10602 
10603 xcb_fontprop_iterator_t
10604 xcb_query_font_properties_iterator (const xcb_query_font_reply_t *R  /**< */);
10605 
10606 
10607 /*****************************************************************************
10608  **
10609  ** xcb_charinfo_t * xcb_query_font_char_infos
10610  **
10611  ** @param const xcb_query_font_reply_t *R
10612  ** @returns xcb_charinfo_t *
10613  **
10614  *****************************************************************************/
10615 
10616 xcb_charinfo_t *
10617 xcb_query_font_char_infos (const xcb_query_font_reply_t *R  /**< */);
10618 
10619 
10620 /*****************************************************************************
10621  **
10622  ** int xcb_query_font_char_infos_length
10623  **
10624  ** @param const xcb_query_font_reply_t *R
10625  ** @returns int
10626  **
10627  *****************************************************************************/
10628 
10629 int
10630 xcb_query_font_char_infos_length (const xcb_query_font_reply_t *R  /**< */);
10631 
10632 
10633 /*****************************************************************************
10634  **
10635  ** xcb_charinfo_iterator_t xcb_query_font_char_infos_iterator
10636  **
10637  ** @param const xcb_query_font_reply_t *R
10638  ** @returns xcb_charinfo_iterator_t
10639  **
10640  *****************************************************************************/
10641 
10642 xcb_charinfo_iterator_t
10643 xcb_query_font_char_infos_iterator (const xcb_query_font_reply_t *R  /**< */);
10644 
10645 /**
10646  * Return the reply
10647  * @param c      The connection
10648  * @param cookie The cookie
10649  * @param e      The xcb_generic_error_t supplied
10650  *
10651  * Returns the reply of the request asked by
10652  *
10653  * The parameter @p e supplied to this function must be NULL if
10654  * xcb_query_font_unchecked(). is used.
10655  * Otherwise, it stores the error if any.
10656  *
10657  * The returned value must be freed by the caller using free().
10658  */
10659 
10660 /*****************************************************************************
10661  **
10662  ** xcb_query_font_reply_t * xcb_query_font_reply
10663  **
10664  ** @param xcb_connection_t         *c
10665  ** @param xcb_query_font_cookie_t   cookie
10666  ** @param xcb_generic_error_t     **e
10667  ** @returns xcb_query_font_reply_t *
10668  **
10669  *****************************************************************************/
10670 
10671 xcb_query_font_reply_t *
10672 xcb_query_font_reply (xcb_connection_t         *c  /**< */,
10673                       xcb_query_font_cookie_t   cookie  /**< */,
10674                       xcb_generic_error_t     **e  /**< */);
10675 
10676 int
10677 xcb_query_text_extents_sizeof (const void  *_buffer  /**< */,
10678                                uint32_t     string_len  /**< */);
10679 
10680 /**
10681  * @brief get text extents
10682  *
10683  * @param c The connection
10684  * @param font The \a font to calculate text extents in. You can also pass a graphics context.
10685  * @param string_len The number of characters in \a string.
10686  * @param string The text to get text extents for.
10687  * @return A cookie
10688  *
10689  * Query text extents from the X11 server. This request returns the bounding box
10690  * of the specified 16-bit character string in the specified \a font or the font
10691  * contained in the specified graphics context.
10692  *
10693  * `font_ascent` is set to the maximum of the ascent metrics of all characters in
10694  * the string. `font_descent` is set to the maximum of the descent metrics.
10695  * `overall_width` is set to the sum of the character-width metrics of all
10696  * characters in the string. For each character in the string, let W be the sum of
10697  * the character-width metrics of all characters preceding it in the string. Let L
10698  * be the left-side-bearing metric of the character plus W. Let R be the
10699  * right-side-bearing metric of the character plus W. The lbearing member is set
10700  * to the minimum L of all characters in the string. The rbearing member is set to
10701  * the maximum R.
10702  *
10703  * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
10704  * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
10705  * most significant byte. If the font has no defined default character, undefined
10706  * characters in the string are taken to have all zero metrics.
10707  *
10708  * Characters with all zero metrics are ignored. If the font has no defined
10709  * default_char, the undefined characters in the string are also ignored.
10710  *
10711  */
10712 
10713 /*****************************************************************************
10714  **
10715  ** xcb_query_text_extents_cookie_t xcb_query_text_extents
10716  **
10717  ** @param xcb_connection_t   *c
10718  ** @param xcb_fontable_t      font
10719  ** @param uint32_t            string_len
10720  ** @param const xcb_char2b_t *string
10721  ** @returns xcb_query_text_extents_cookie_t
10722  **
10723  *****************************************************************************/
10724 
10725 xcb_query_text_extents_cookie_t
10726 xcb_query_text_extents (xcb_connection_t   *c  /**< */,
10727                         xcb_fontable_t      font  /**< */,
10728                         uint32_t            string_len  /**< */,
10729                         const xcb_char2b_t *string  /**< */);
10730 
10731 /**
10732  * @brief get text extents
10733  *
10734  * @param c The connection
10735  * @param font The \a font to calculate text extents in. You can also pass a graphics context.
10736  * @param string_len The number of characters in \a string.
10737  * @param string The text to get text extents for.
10738  * @return A cookie
10739  *
10740  * Query text extents from the X11 server. This request returns the bounding box
10741  * of the specified 16-bit character string in the specified \a font or the font
10742  * contained in the specified graphics context.
10743  *
10744  * `font_ascent` is set to the maximum of the ascent metrics of all characters in
10745  * the string. `font_descent` is set to the maximum of the descent metrics.
10746  * `overall_width` is set to the sum of the character-width metrics of all
10747  * characters in the string. For each character in the string, let W be the sum of
10748  * the character-width metrics of all characters preceding it in the string. Let L
10749  * be the left-side-bearing metric of the character plus W. Let R be the
10750  * right-side-bearing metric of the character plus W. The lbearing member is set
10751  * to the minimum L of all characters in the string. The rbearing member is set to
10752  * the maximum R.
10753  *
10754  * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
10755  * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
10756  * most significant byte. If the font has no defined default character, undefined
10757  * characters in the string are taken to have all zero metrics.
10758  *
10759  * Characters with all zero metrics are ignored. If the font has no defined
10760  * default_char, the undefined characters in the string are also ignored.
10761  *
10762  * This form can be used only if the request will cause
10763  * a reply to be generated. Any returned error will be
10764  * placed in the event queue.
10765  */
10766 
10767 /*****************************************************************************
10768  **
10769  ** xcb_query_text_extents_cookie_t xcb_query_text_extents_unchecked
10770  **
10771  ** @param xcb_connection_t   *c
10772  ** @param xcb_fontable_t      font
10773  ** @param uint32_t            string_len
10774  ** @param const xcb_char2b_t *string
10775  ** @returns xcb_query_text_extents_cookie_t
10776  **
10777  *****************************************************************************/
10778 
10779 xcb_query_text_extents_cookie_t
10780 xcb_query_text_extents_unchecked (xcb_connection_t   *c  /**< */,
10781                                   xcb_fontable_t      font  /**< */,
10782                                   uint32_t            string_len  /**< */,
10783                                   const xcb_char2b_t *string  /**< */);
10784 
10785 /**
10786  * Return the reply
10787  * @param c      The connection
10788  * @param cookie The cookie
10789  * @param e      The xcb_generic_error_t supplied
10790  *
10791  * Returns the reply of the request asked by
10792  *
10793  * The parameter @p e supplied to this function must be NULL if
10794  * xcb_query_text_extents_unchecked(). is used.
10795  * Otherwise, it stores the error if any.
10796  *
10797  * The returned value must be freed by the caller using free().
10798  */
10799 
10800 /*****************************************************************************
10801  **
10802  ** xcb_query_text_extents_reply_t * xcb_query_text_extents_reply
10803  **
10804  ** @param xcb_connection_t                 *c
10805  ** @param xcb_query_text_extents_cookie_t   cookie
10806  ** @param xcb_generic_error_t             **e
10807  ** @returns xcb_query_text_extents_reply_t *
10808  **
10809  *****************************************************************************/
10810 
10811 xcb_query_text_extents_reply_t *
10812 xcb_query_text_extents_reply (xcb_connection_t                 *c  /**< */,
10813                               xcb_query_text_extents_cookie_t   cookie  /**< */,
10814                               xcb_generic_error_t             **e  /**< */);
10815 
10816 int
10817 xcb_str_sizeof (const void  *_buffer  /**< */);
10818 
10819 
10820 /*****************************************************************************
10821  **
10822  ** char * xcb_str_name
10823  **
10824  ** @param const xcb_str_t *R
10825  ** @returns char *
10826  **
10827  *****************************************************************************/
10828 
10829 char *
10830 xcb_str_name (const xcb_str_t *R  /**< */);
10831 
10832 
10833 /*****************************************************************************
10834  **
10835  ** int xcb_str_name_length
10836  **
10837  ** @param const xcb_str_t *R
10838  ** @returns int
10839  **
10840  *****************************************************************************/
10841 
10842 int
10843 xcb_str_name_length (const xcb_str_t *R  /**< */);
10844 
10845 
10846 /*****************************************************************************
10847  **
10848  ** xcb_generic_iterator_t xcb_str_name_end
10849  **
10850  ** @param const xcb_str_t *R
10851  ** @returns xcb_generic_iterator_t
10852  **
10853  *****************************************************************************/
10854 
10855 xcb_generic_iterator_t
10856 xcb_str_name_end (const xcb_str_t *R  /**< */);
10857 
10858 /**
10859  * Get the next element of the iterator
10860  * @param i Pointer to a xcb_str_iterator_t
10861  *
10862  * Get the next element in the iterator. The member rem is
10863  * decreased by one. The member data points to the next
10864  * element. The member index is increased by sizeof(xcb_str_t)
10865  */
10866 
10867 /*****************************************************************************
10868  **
10869  ** void xcb_str_next
10870  **
10871  ** @param xcb_str_iterator_t *i
10872  ** @returns void
10873  **
10874  *****************************************************************************/
10875 
10876 void
10877 xcb_str_next (xcb_str_iterator_t *i  /**< */);
10878 
10879 /**
10880  * Return the iterator pointing to the last element
10881  * @param i An xcb_str_iterator_t
10882  * @return  The iterator pointing to the last element
10883  *
10884  * Set the current element in the iterator to the last element.
10885  * The member rem is set to 0. The member data points to the
10886  * last element.
10887  */
10888 
10889 /*****************************************************************************
10890  **
10891  ** xcb_generic_iterator_t xcb_str_end
10892  **
10893  ** @param xcb_str_iterator_t i
10894  ** @returns xcb_generic_iterator_t
10895  **
10896  *****************************************************************************/
10897 
10898 xcb_generic_iterator_t
10899 xcb_str_end (xcb_str_iterator_t i  /**< */);
10900 
10901 int
10902 xcb_list_fonts_sizeof (const void  *_buffer  /**< */);
10903 
10904 /**
10905  * @brief get matching font names
10906  *
10907  * @param c The connection
10908  * @param max_names The maximum number of fonts to be returned.
10909  * @param pattern_len The length (in bytes) of \a pattern.
10910  * @param pattern A font pattern, for example "-misc-fixed-*".
10911  * \n
10912  * The asterisk (*) is a wildcard for any number of characters. The question mark
10913  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
10914  * not matter.
10915  * @return A cookie
10916  *
10917  * Gets a list of available font names which match the given \a pattern.
10918  *
10919  */
10920 
10921 /*****************************************************************************
10922  **
10923  ** xcb_list_fonts_cookie_t xcb_list_fonts
10924  **
10925  ** @param xcb_connection_t *c
10926  ** @param uint16_t          max_names
10927  ** @param uint16_t          pattern_len
10928  ** @param const char       *pattern
10929  ** @returns xcb_list_fonts_cookie_t
10930  **
10931  *****************************************************************************/
10932 
10933 xcb_list_fonts_cookie_t
10934 xcb_list_fonts (xcb_connection_t *c  /**< */,
10935                 uint16_t          max_names  /**< */,
10936                 uint16_t          pattern_len  /**< */,
10937                 const char       *pattern  /**< */);
10938 
10939 /**
10940  * @brief get matching font names
10941  *
10942  * @param c The connection
10943  * @param max_names The maximum number of fonts to be returned.
10944  * @param pattern_len The length (in bytes) of \a pattern.
10945  * @param pattern A font pattern, for example "-misc-fixed-*".
10946  * \n
10947  * The asterisk (*) is a wildcard for any number of characters. The question mark
10948  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
10949  * not matter.
10950  * @return A cookie
10951  *
10952  * Gets a list of available font names which match the given \a pattern.
10953  *
10954  * This form can be used only if the request will cause
10955  * a reply to be generated. Any returned error will be
10956  * placed in the event queue.
10957  */
10958 
10959 /*****************************************************************************
10960  **
10961  ** xcb_list_fonts_cookie_t xcb_list_fonts_unchecked
10962  **
10963  ** @param xcb_connection_t *c
10964  ** @param uint16_t          max_names
10965  ** @param uint16_t          pattern_len
10966  ** @param const char       *pattern
10967  ** @returns xcb_list_fonts_cookie_t
10968  **
10969  *****************************************************************************/
10970 
10971 xcb_list_fonts_cookie_t
10972 xcb_list_fonts_unchecked (xcb_connection_t *c  /**< */,
10973                           uint16_t          max_names  /**< */,
10974                           uint16_t          pattern_len  /**< */,
10975                           const char       *pattern  /**< */);
10976 
10977 
10978 /*****************************************************************************
10979  **
10980  ** int xcb_list_fonts_names_length
10981  **
10982  ** @param const xcb_list_fonts_reply_t *R
10983  ** @returns int
10984  **
10985  *****************************************************************************/
10986 
10987 int
10988 xcb_list_fonts_names_length (const xcb_list_fonts_reply_t *R  /**< */);
10989 
10990 
10991 /*****************************************************************************
10992  **
10993  ** xcb_str_iterator_t xcb_list_fonts_names_iterator
10994  **
10995  ** @param const xcb_list_fonts_reply_t *R
10996  ** @returns xcb_str_iterator_t
10997  **
10998  *****************************************************************************/
10999 
11000 xcb_str_iterator_t
11001 xcb_list_fonts_names_iterator (const xcb_list_fonts_reply_t *R  /**< */);
11002 
11003 /**
11004  * Return the reply
11005  * @param c      The connection
11006  * @param cookie The cookie
11007  * @param e      The xcb_generic_error_t supplied
11008  *
11009  * Returns the reply of the request asked by
11010  *
11011  * The parameter @p e supplied to this function must be NULL if
11012  * xcb_list_fonts_unchecked(). is used.
11013  * Otherwise, it stores the error if any.
11014  *
11015  * The returned value must be freed by the caller using free().
11016  */
11017 
11018 /*****************************************************************************
11019  **
11020  ** xcb_list_fonts_reply_t * xcb_list_fonts_reply
11021  **
11022  ** @param xcb_connection_t         *c
11023  ** @param xcb_list_fonts_cookie_t   cookie
11024  ** @param xcb_generic_error_t     **e
11025  ** @returns xcb_list_fonts_reply_t *
11026  **
11027  *****************************************************************************/
11028 
11029 xcb_list_fonts_reply_t *
11030 xcb_list_fonts_reply (xcb_connection_t         *c  /**< */,
11031                       xcb_list_fonts_cookie_t   cookie  /**< */,
11032                       xcb_generic_error_t     **e  /**< */);
11033 
11034 int
11035 xcb_list_fonts_with_info_sizeof (const void  *_buffer  /**< */);
11036 
11037 /**
11038  * @brief get matching font names and information
11039  *
11040  * @param c The connection
11041  * @param max_names The maximum number of fonts to be returned.
11042  * @param pattern_len The length (in bytes) of \a pattern.
11043  * @param pattern A font pattern, for example "-misc-fixed-*".
11044  * \n
11045  * The asterisk (*) is a wildcard for any number of characters. The question mark
11046  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
11047  * not matter.
11048  * @return A cookie
11049  *
11050  * Gets a list of available font names which match the given \a pattern.
11051  *
11052  */
11053 
11054 /*****************************************************************************
11055  **
11056  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info
11057  **
11058  ** @param xcb_connection_t *c
11059  ** @param uint16_t          max_names
11060  ** @param uint16_t          pattern_len
11061  ** @param const char       *pattern
11062  ** @returns xcb_list_fonts_with_info_cookie_t
11063  **
11064  *****************************************************************************/
11065 
11066 xcb_list_fonts_with_info_cookie_t
11067 xcb_list_fonts_with_info (xcb_connection_t *c  /**< */,
11068                           uint16_t          max_names  /**< */,
11069                           uint16_t          pattern_len  /**< */,
11070                           const char       *pattern  /**< */);
11071 
11072 /**
11073  * @brief get matching font names and information
11074  *
11075  * @param c The connection
11076  * @param max_names The maximum number of fonts to be returned.
11077  * @param pattern_len The length (in bytes) of \a pattern.
11078  * @param pattern A font pattern, for example "-misc-fixed-*".
11079  * \n
11080  * The asterisk (*) is a wildcard for any number of characters. The question mark
11081  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
11082  * not matter.
11083  * @return A cookie
11084  *
11085  * Gets a list of available font names which match the given \a pattern.
11086  *
11087  * This form can be used only if the request will cause
11088  * a reply to be generated. Any returned error will be
11089  * placed in the event queue.
11090  */
11091 
11092 /*****************************************************************************
11093  **
11094  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info_unchecked
11095  **
11096  ** @param xcb_connection_t *c
11097  ** @param uint16_t          max_names
11098  ** @param uint16_t          pattern_len
11099  ** @param const char       *pattern
11100  ** @returns xcb_list_fonts_with_info_cookie_t
11101  **
11102  *****************************************************************************/
11103 
11104 xcb_list_fonts_with_info_cookie_t
11105 xcb_list_fonts_with_info_unchecked (xcb_connection_t *c  /**< */,
11106                                     uint16_t          max_names  /**< */,
11107                                     uint16_t          pattern_len  /**< */,
11108                                     const char       *pattern  /**< */);
11109 
11110 
11111 /*****************************************************************************
11112  **
11113  ** xcb_fontprop_t * xcb_list_fonts_with_info_properties
11114  **
11115  ** @param const xcb_list_fonts_with_info_reply_t *R
11116  ** @returns xcb_fontprop_t *
11117  **
11118  *****************************************************************************/
11119 
11120 xcb_fontprop_t *
11121 xcb_list_fonts_with_info_properties (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11122 
11123 
11124 /*****************************************************************************
11125  **
11126  ** int xcb_list_fonts_with_info_properties_length
11127  **
11128  ** @param const xcb_list_fonts_with_info_reply_t *R
11129  ** @returns int
11130  **
11131  *****************************************************************************/
11132 
11133 int
11134 xcb_list_fonts_with_info_properties_length (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11135 
11136 
11137 /*****************************************************************************
11138  **
11139  ** xcb_fontprop_iterator_t xcb_list_fonts_with_info_properties_iterator
11140  **
11141  ** @param const xcb_list_fonts_with_info_reply_t *R
11142  ** @returns xcb_fontprop_iterator_t
11143  **
11144  *****************************************************************************/
11145 
11146 xcb_fontprop_iterator_t
11147 xcb_list_fonts_with_info_properties_iterator (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11148 
11149 
11150 /*****************************************************************************
11151  **
11152  ** char * xcb_list_fonts_with_info_name
11153  **
11154  ** @param const xcb_list_fonts_with_info_reply_t *R
11155  ** @returns char *
11156  **
11157  *****************************************************************************/
11158 
11159 char *
11160 xcb_list_fonts_with_info_name (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11161 
11162 
11163 /*****************************************************************************
11164  **
11165  ** int xcb_list_fonts_with_info_name_length
11166  **
11167  ** @param const xcb_list_fonts_with_info_reply_t *R
11168  ** @returns int
11169  **
11170  *****************************************************************************/
11171 
11172 int
11173 xcb_list_fonts_with_info_name_length (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11174 
11175 
11176 /*****************************************************************************
11177  **
11178  ** xcb_generic_iterator_t xcb_list_fonts_with_info_name_end
11179  **
11180  ** @param const xcb_list_fonts_with_info_reply_t *R
11181  ** @returns xcb_generic_iterator_t
11182  **
11183  *****************************************************************************/
11184 
11185 xcb_generic_iterator_t
11186 xcb_list_fonts_with_info_name_end (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11187 
11188 /**
11189  * Return the reply
11190  * @param c      The connection
11191  * @param cookie The cookie
11192  * @param e      The xcb_generic_error_t supplied
11193  *
11194  * Returns the reply of the request asked by
11195  *
11196  * The parameter @p e supplied to this function must be NULL if
11197  * xcb_list_fonts_with_info_unchecked(). is used.
11198  * Otherwise, it stores the error if any.
11199  *
11200  * The returned value must be freed by the caller using free().
11201  */
11202 
11203 /*****************************************************************************
11204  **
11205  ** xcb_list_fonts_with_info_reply_t * xcb_list_fonts_with_info_reply
11206  **
11207  ** @param xcb_connection_t                   *c
11208  ** @param xcb_list_fonts_with_info_cookie_t   cookie
11209  ** @param xcb_generic_error_t               **e
11210  ** @returns xcb_list_fonts_with_info_reply_t *
11211  **
11212  *****************************************************************************/
11213 
11214 xcb_list_fonts_with_info_reply_t *
11215 xcb_list_fonts_with_info_reply (xcb_connection_t                   *c  /**< */,
11216                                 xcb_list_fonts_with_info_cookie_t   cookie  /**< */,
11217                                 xcb_generic_error_t               **e  /**< */);
11218 
11219 int
11220 xcb_set_font_path_sizeof (const void  *_buffer  /**< */);
11221 
11222 /**
11223  *
11224  * @param c The connection
11225  * @return A cookie
11226  *
11227  * Delivers a request to the X server.
11228  *
11229  * This form can be used only if the request will not cause
11230  * a reply to be generated. Any returned error will be
11231  * saved for handling by xcb_request_check().
11232  */
11233 
11234 /*****************************************************************************
11235  **
11236  ** xcb_void_cookie_t xcb_set_font_path_checked
11237  **
11238  ** @param xcb_connection_t *c
11239  ** @param uint16_t          font_qty
11240  ** @param const xcb_str_t  *font
11241  ** @returns xcb_void_cookie_t
11242  **
11243  *****************************************************************************/
11244 
11245 xcb_void_cookie_t
11246 xcb_set_font_path_checked (xcb_connection_t *c  /**< */,
11247                            uint16_t          font_qty  /**< */,
11248                            const xcb_str_t  *font  /**< */);
11249 
11250 /**
11251  *
11252  * @param c The connection
11253  * @return A cookie
11254  *
11255  * Delivers a request to the X server.
11256  *
11257  */
11258 
11259 /*****************************************************************************
11260  **
11261  ** xcb_void_cookie_t xcb_set_font_path
11262  **
11263  ** @param xcb_connection_t *c
11264  ** @param uint16_t          font_qty
11265  ** @param const xcb_str_t  *font
11266  ** @returns xcb_void_cookie_t
11267  **
11268  *****************************************************************************/
11269 
11270 xcb_void_cookie_t
11271 xcb_set_font_path (xcb_connection_t *c  /**< */,
11272                    uint16_t          font_qty  /**< */,
11273                    const xcb_str_t  *font  /**< */);
11274 
11275 int
11276 xcb_get_font_path_sizeof (const void  *_buffer  /**< */);
11277 
11278 /**
11279  *
11280  * @param c The connection
11281  * @return A cookie
11282  *
11283  * Delivers a request to the X server.
11284  *
11285  */
11286 
11287 /*****************************************************************************
11288  **
11289  ** xcb_get_font_path_cookie_t xcb_get_font_path
11290  **
11291  ** @param xcb_connection_t *c
11292  ** @returns xcb_get_font_path_cookie_t
11293  **
11294  *****************************************************************************/
11295 
11296 xcb_get_font_path_cookie_t
11297 xcb_get_font_path (xcb_connection_t *c  /**< */);
11298 
11299 /**
11300  *
11301  * @param c The connection
11302  * @return A cookie
11303  *
11304  * Delivers a request to the X server.
11305  *
11306  * This form can be used only if the request will cause
11307  * a reply to be generated. Any returned error will be
11308  * placed in the event queue.
11309  */
11310 
11311 /*****************************************************************************
11312  **
11313  ** xcb_get_font_path_cookie_t xcb_get_font_path_unchecked
11314  **
11315  ** @param xcb_connection_t *c
11316  ** @returns xcb_get_font_path_cookie_t
11317  **
11318  *****************************************************************************/
11319 
11320 xcb_get_font_path_cookie_t
11321 xcb_get_font_path_unchecked (xcb_connection_t *c  /**< */);
11322 
11323 
11324 /*****************************************************************************
11325  **
11326  ** int xcb_get_font_path_path_length
11327  **
11328  ** @param const xcb_get_font_path_reply_t *R
11329  ** @returns int
11330  **
11331  *****************************************************************************/
11332 
11333 int
11334 xcb_get_font_path_path_length (const xcb_get_font_path_reply_t *R  /**< */);
11335 
11336 
11337 /*****************************************************************************
11338  **
11339  ** xcb_str_iterator_t xcb_get_font_path_path_iterator
11340  **
11341  ** @param const xcb_get_font_path_reply_t *R
11342  ** @returns xcb_str_iterator_t
11343  **
11344  *****************************************************************************/
11345 
11346 xcb_str_iterator_t
11347 xcb_get_font_path_path_iterator (const xcb_get_font_path_reply_t *R  /**< */);
11348 
11349 /**
11350  * Return the reply
11351  * @param c      The connection
11352  * @param cookie The cookie
11353  * @param e      The xcb_generic_error_t supplied
11354  *
11355  * Returns the reply of the request asked by
11356  *
11357  * The parameter @p e supplied to this function must be NULL if
11358  * xcb_get_font_path_unchecked(). is used.
11359  * Otherwise, it stores the error if any.
11360  *
11361  * The returned value must be freed by the caller using free().
11362  */
11363 
11364 /*****************************************************************************
11365  **
11366  ** xcb_get_font_path_reply_t * xcb_get_font_path_reply
11367  **
11368  ** @param xcb_connection_t            *c
11369  ** @param xcb_get_font_path_cookie_t   cookie
11370  ** @param xcb_generic_error_t        **e
11371  ** @returns xcb_get_font_path_reply_t *
11372  **
11373  *****************************************************************************/
11374 
11375 xcb_get_font_path_reply_t *
11376 xcb_get_font_path_reply (xcb_connection_t            *c  /**< */,
11377                          xcb_get_font_path_cookie_t   cookie  /**< */,
11378                          xcb_generic_error_t        **e  /**< */);
11379 
11380 /**
11381  * @brief Creates a pixmap
11382  *
11383  * @param c The connection
11384  * @param depth TODO
11385  * @param pid The ID with which you will refer to the new pixmap, created by
11386  * `xcb_generate_id`.
11387  * @param drawable Drawable to get the screen from.
11388  * @param width The width of the new pixmap.
11389  * @param height The height of the new pixmap.
11390  * @return A cookie
11391  *
11392  * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
11393  * is on and only with drawables of the same \a depth.
11394  *
11395  * This form can be used only if the request will not cause
11396  * a reply to be generated. Any returned error will be
11397  * saved for handling by xcb_request_check().
11398  */
11399 
11400 /*****************************************************************************
11401  **
11402  ** xcb_void_cookie_t xcb_create_pixmap_checked
11403  **
11404  ** @param xcb_connection_t *c
11405  ** @param uint8_t           depth
11406  ** @param xcb_pixmap_t      pid
11407  ** @param xcb_drawable_t    drawable
11408  ** @param uint16_t          width
11409  ** @param uint16_t          height
11410  ** @returns xcb_void_cookie_t
11411  **
11412  *****************************************************************************/
11413 
11414 xcb_void_cookie_t
11415 xcb_create_pixmap_checked (xcb_connection_t *c  /**< */,
11416                            uint8_t           depth  /**< */,
11417                            xcb_pixmap_t      pid  /**< */,
11418                            xcb_drawable_t    drawable  /**< */,
11419                            uint16_t          width  /**< */,
11420                            uint16_t          height  /**< */);
11421 
11422 /**
11423  * @brief Creates a pixmap
11424  *
11425  * @param c The connection
11426  * @param depth TODO
11427  * @param pid The ID with which you will refer to the new pixmap, created by
11428  * `xcb_generate_id`.
11429  * @param drawable Drawable to get the screen from.
11430  * @param width The width of the new pixmap.
11431  * @param height The height of the new pixmap.
11432  * @return A cookie
11433  *
11434  * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
11435  * is on and only with drawables of the same \a depth.
11436  *
11437  */
11438 
11439 /*****************************************************************************
11440  **
11441  ** xcb_void_cookie_t xcb_create_pixmap
11442  **
11443  ** @param xcb_connection_t *c
11444  ** @param uint8_t           depth
11445  ** @param xcb_pixmap_t      pid
11446  ** @param xcb_drawable_t    drawable
11447  ** @param uint16_t          width
11448  ** @param uint16_t          height
11449  ** @returns xcb_void_cookie_t
11450  **
11451  *****************************************************************************/
11452 
11453 xcb_void_cookie_t
11454 xcb_create_pixmap (xcb_connection_t *c  /**< */,
11455                    uint8_t           depth  /**< */,
11456                    xcb_pixmap_t      pid  /**< */,
11457                    xcb_drawable_t    drawable  /**< */,
11458                    uint16_t          width  /**< */,
11459                    uint16_t          height  /**< */);
11460 
11461 /**
11462  * @brief Destroys a pixmap
11463  *
11464  * @param c The connection
11465  * @param pixmap The pixmap to destroy.
11466  * @return A cookie
11467  *
11468  * Deletes the association between the pixmap ID and the pixmap. The pixmap
11469  * storage will be freed when there are no more references to it.
11470  *
11471  * This form can be used only if the request will not cause
11472  * a reply to be generated. Any returned error will be
11473  * saved for handling by xcb_request_check().
11474  */
11475 
11476 /*****************************************************************************
11477  **
11478  ** xcb_void_cookie_t xcb_free_pixmap_checked
11479  **
11480  ** @param xcb_connection_t *c
11481  ** @param xcb_pixmap_t      pixmap
11482  ** @returns xcb_void_cookie_t
11483  **
11484  *****************************************************************************/
11485 
11486 xcb_void_cookie_t
11487 xcb_free_pixmap_checked (xcb_connection_t *c  /**< */,
11488                          xcb_pixmap_t      pixmap  /**< */);
11489 
11490 /**
11491  * @brief Destroys a pixmap
11492  *
11493  * @param c The connection
11494  * @param pixmap The pixmap to destroy.
11495  * @return A cookie
11496  *
11497  * Deletes the association between the pixmap ID and the pixmap. The pixmap
11498  * storage will be freed when there are no more references to it.
11499  *
11500  */
11501 
11502 /*****************************************************************************
11503  **
11504  ** xcb_void_cookie_t xcb_free_pixmap
11505  **
11506  ** @param xcb_connection_t *c
11507  ** @param xcb_pixmap_t      pixmap
11508  ** @returns xcb_void_cookie_t
11509  **
11510  *****************************************************************************/
11511 
11512 xcb_void_cookie_t
11513 xcb_free_pixmap (xcb_connection_t *c  /**< */,
11514                  xcb_pixmap_t      pixmap  /**< */);
11515 
11516 int
11517 xcb_create_gc_sizeof (const void  *_buffer  /**< */);
11518 
11519 /**
11520  * @brief Creates a graphics context
11521  *
11522  * @param c The connection
11523  * @param cid The ID with which you will refer to the graphics context, created by
11524  * `xcb_generate_id`.
11525  * @param drawable Drawable to get the root/depth from.
11526  * @return A cookie
11527  *
11528  * Creates a graphics context. The graphics context can be used with any drawable
11529  * that has the same root and depth as the specified drawable.
11530  *
11531  * This form can be used only if the request will not cause
11532  * a reply to be generated. Any returned error will be
11533  * saved for handling by xcb_request_check().
11534  */
11535 
11536 /*****************************************************************************
11537  **
11538  ** xcb_void_cookie_t xcb_create_gc_checked
11539  **
11540  ** @param xcb_connection_t *c
11541  ** @param xcb_gcontext_t    cid
11542  ** @param xcb_drawable_t    drawable
11543  ** @param uint32_t          value_mask
11544  ** @param const uint32_t   *value_list
11545  ** @returns xcb_void_cookie_t
11546  **
11547  *****************************************************************************/
11548 
11549 xcb_void_cookie_t
11550 xcb_create_gc_checked (xcb_connection_t *c  /**< */,
11551                        xcb_gcontext_t    cid  /**< */,
11552                        xcb_drawable_t    drawable  /**< */,
11553                        uint32_t          value_mask  /**< */,
11554                        const uint32_t   *value_list  /**< */);
11555 
11556 /**
11557  * @brief Creates a graphics context
11558  *
11559  * @param c The connection
11560  * @param cid The ID with which you will refer to the graphics context, created by
11561  * `xcb_generate_id`.
11562  * @param drawable Drawable to get the root/depth from.
11563  * @return A cookie
11564  *
11565  * Creates a graphics context. The graphics context can be used with any drawable
11566  * that has the same root and depth as the specified drawable.
11567  *
11568  */
11569 
11570 /*****************************************************************************
11571  **
11572  ** xcb_void_cookie_t xcb_create_gc
11573  **
11574  ** @param xcb_connection_t *c
11575  ** @param xcb_gcontext_t    cid
11576  ** @param xcb_drawable_t    drawable
11577  ** @param uint32_t          value_mask
11578  ** @param const uint32_t   *value_list
11579  ** @returns xcb_void_cookie_t
11580  **
11581  *****************************************************************************/
11582 
11583 xcb_void_cookie_t
11584 xcb_create_gc (xcb_connection_t *c  /**< */,
11585                xcb_gcontext_t    cid  /**< */,
11586                xcb_drawable_t    drawable  /**< */,
11587                uint32_t          value_mask  /**< */,
11588                const uint32_t   *value_list  /**< */);
11589 
11590 int
11591 xcb_change_gc_sizeof (const void  *_buffer  /**< */);
11592 
11593 /**
11594  * @brief change graphics context components
11595  *
11596  * @param c The connection
11597  * @param gc The graphics context to change.
11598  * @param value_mask A bitmask of #xcb_gc_t values.
11599  * @param value_mask \n
11600  * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
11601  * order has to correspond to the order of possible \a value_mask bits. See the
11602  * example.
11603  * @return A cookie
11604  *
11605  * Changes the components specified by \a value_mask for the specified graphics context.
11606  *
11607  * This form can be used only if the request will not cause
11608  * a reply to be generated. Any returned error will be
11609  * saved for handling by xcb_request_check().
11610  */
11611 
11612 /*****************************************************************************
11613  **
11614  ** xcb_void_cookie_t xcb_change_gc_checked
11615  **
11616  ** @param xcb_connection_t *c
11617  ** @param xcb_gcontext_t    gc
11618  ** @param uint32_t          value_mask
11619  ** @param const uint32_t   *value_list
11620  ** @returns xcb_void_cookie_t
11621  **
11622  *****************************************************************************/
11623 
11624 xcb_void_cookie_t
11625 xcb_change_gc_checked (xcb_connection_t *c  /**< */,
11626                        xcb_gcontext_t    gc  /**< */,
11627                        uint32_t          value_mask  /**< */,
11628                        const uint32_t   *value_list  /**< */);
11629 
11630 /**
11631  * @brief change graphics context components
11632  *
11633  * @param c The connection
11634  * @param gc The graphics context to change.
11635  * @param value_mask A bitmask of #xcb_gc_t values.
11636  * @param value_mask \n
11637  * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
11638  * order has to correspond to the order of possible \a value_mask bits. See the
11639  * example.
11640  * @return A cookie
11641  *
11642  * Changes the components specified by \a value_mask for the specified graphics context.
11643  *
11644  */
11645 
11646 /*****************************************************************************
11647  **
11648  ** xcb_void_cookie_t xcb_change_gc
11649  **
11650  ** @param xcb_connection_t *c
11651  ** @param xcb_gcontext_t    gc
11652  ** @param uint32_t          value_mask
11653  ** @param const uint32_t   *value_list
11654  ** @returns xcb_void_cookie_t
11655  **
11656  *****************************************************************************/
11657 
11658 xcb_void_cookie_t
11659 xcb_change_gc (xcb_connection_t *c  /**< */,
11660                xcb_gcontext_t    gc  /**< */,
11661                uint32_t          value_mask  /**< */,
11662                const uint32_t   *value_list  /**< */);
11663 
11664 /**
11665  *
11666  * @param c The connection
11667  * @return A cookie
11668  *
11669  * Delivers a request to the X server.
11670  *
11671  * This form can be used only if the request will not cause
11672  * a reply to be generated. Any returned error will be
11673  * saved for handling by xcb_request_check().
11674  */
11675 
11676 /*****************************************************************************
11677  **
11678  ** xcb_void_cookie_t xcb_copy_gc_checked
11679  **
11680  ** @param xcb_connection_t *c
11681  ** @param xcb_gcontext_t    src_gc
11682  ** @param xcb_gcontext_t    dst_gc
11683  ** @param uint32_t          value_mask
11684  ** @returns xcb_void_cookie_t
11685  **
11686  *****************************************************************************/
11687 
11688 xcb_void_cookie_t
11689 xcb_copy_gc_checked (xcb_connection_t *c  /**< */,
11690                      xcb_gcontext_t    src_gc  /**< */,
11691                      xcb_gcontext_t    dst_gc  /**< */,
11692                      uint32_t          value_mask  /**< */);
11693 
11694 /**
11695  *
11696  * @param c The connection
11697  * @return A cookie
11698  *
11699  * Delivers a request to the X server.
11700  *
11701  */
11702 
11703 /*****************************************************************************
11704  **
11705  ** xcb_void_cookie_t xcb_copy_gc
11706  **
11707  ** @param xcb_connection_t *c
11708  ** @param xcb_gcontext_t    src_gc
11709  ** @param xcb_gcontext_t    dst_gc
11710  ** @param uint32_t          value_mask
11711  ** @returns xcb_void_cookie_t
11712  **
11713  *****************************************************************************/
11714 
11715 xcb_void_cookie_t
11716 xcb_copy_gc (xcb_connection_t *c  /**< */,
11717              xcb_gcontext_t    src_gc  /**< */,
11718              xcb_gcontext_t    dst_gc  /**< */,
11719              uint32_t          value_mask  /**< */);
11720 
11721 int
11722 xcb_set_dashes_sizeof (const void  *_buffer  /**< */);
11723 
11724 /**
11725  *
11726  * @param c The connection
11727  * @return A cookie
11728  *
11729  * Delivers a request to the X server.
11730  *
11731  * This form can be used only if the request will not cause
11732  * a reply to be generated. Any returned error will be
11733  * saved for handling by xcb_request_check().
11734  */
11735 
11736 /*****************************************************************************
11737  **
11738  ** xcb_void_cookie_t xcb_set_dashes_checked
11739  **
11740  ** @param xcb_connection_t *c
11741  ** @param xcb_gcontext_t    gc
11742  ** @param uint16_t          dash_offset
11743  ** @param uint16_t          dashes_len
11744  ** @param const uint8_t    *dashes
11745  ** @returns xcb_void_cookie_t
11746  **
11747  *****************************************************************************/
11748 
11749 xcb_void_cookie_t
11750 xcb_set_dashes_checked (xcb_connection_t *c  /**< */,
11751                         xcb_gcontext_t    gc  /**< */,
11752                         uint16_t          dash_offset  /**< */,
11753                         uint16_t          dashes_len  /**< */,
11754                         const uint8_t    *dashes  /**< */);
11755 
11756 /**
11757  *
11758  * @param c The connection
11759  * @return A cookie
11760  *
11761  * Delivers a request to the X server.
11762  *
11763  */
11764 
11765 /*****************************************************************************
11766  **
11767  ** xcb_void_cookie_t xcb_set_dashes
11768  **
11769  ** @param xcb_connection_t *c
11770  ** @param xcb_gcontext_t    gc
11771  ** @param uint16_t          dash_offset
11772  ** @param uint16_t          dashes_len
11773  ** @param const uint8_t    *dashes
11774  ** @returns xcb_void_cookie_t
11775  **
11776  *****************************************************************************/
11777 
11778 xcb_void_cookie_t
11779 xcb_set_dashes (xcb_connection_t *c  /**< */,
11780                 xcb_gcontext_t    gc  /**< */,
11781                 uint16_t          dash_offset  /**< */,
11782                 uint16_t          dashes_len  /**< */,
11783                 const uint8_t    *dashes  /**< */);
11784 
11785 int
11786 xcb_set_clip_rectangles_sizeof (const void  *_buffer  /**< */,
11787                                 uint32_t     rectangles_len  /**< */);
11788 
11789 /**
11790  *
11791  * @param c The connection
11792  * @return A cookie
11793  *
11794  * Delivers a request to the X server.
11795  *
11796  * This form can be used only if the request will not cause
11797  * a reply to be generated. Any returned error will be
11798  * saved for handling by xcb_request_check().
11799  */
11800 
11801 /*****************************************************************************
11802  **
11803  ** xcb_void_cookie_t xcb_set_clip_rectangles_checked
11804  **
11805  ** @param xcb_connection_t      *c
11806  ** @param uint8_t                ordering
11807  ** @param xcb_gcontext_t         gc
11808  ** @param int16_t                clip_x_origin
11809  ** @param int16_t                clip_y_origin
11810  ** @param uint32_t               rectangles_len
11811  ** @param const xcb_rectangle_t *rectangles
11812  ** @returns xcb_void_cookie_t
11813  **
11814  *****************************************************************************/
11815 
11816 xcb_void_cookie_t
11817 xcb_set_clip_rectangles_checked (xcb_connection_t      *c  /**< */,
11818                                  uint8_t                ordering  /**< */,
11819                                  xcb_gcontext_t         gc  /**< */,
11820                                  int16_t                clip_x_origin  /**< */,
11821                                  int16_t                clip_y_origin  /**< */,
11822                                  uint32_t               rectangles_len  /**< */,
11823                                  const xcb_rectangle_t *rectangles  /**< */);
11824 
11825 /**
11826  *
11827  * @param c The connection
11828  * @return A cookie
11829  *
11830  * Delivers a request to the X server.
11831  *
11832  */
11833 
11834 /*****************************************************************************
11835  **
11836  ** xcb_void_cookie_t xcb_set_clip_rectangles
11837  **
11838  ** @param xcb_connection_t      *c
11839  ** @param uint8_t                ordering
11840  ** @param xcb_gcontext_t         gc
11841  ** @param int16_t                clip_x_origin
11842  ** @param int16_t                clip_y_origin
11843  ** @param uint32_t               rectangles_len
11844  ** @param const xcb_rectangle_t *rectangles
11845  ** @returns xcb_void_cookie_t
11846  **
11847  *****************************************************************************/
11848 
11849 xcb_void_cookie_t
11850 xcb_set_clip_rectangles (xcb_connection_t      *c  /**< */,
11851                          uint8_t                ordering  /**< */,
11852                          xcb_gcontext_t         gc  /**< */,
11853                          int16_t                clip_x_origin  /**< */,
11854                          int16_t                clip_y_origin  /**< */,
11855                          uint32_t               rectangles_len  /**< */,
11856                          const xcb_rectangle_t *rectangles  /**< */);
11857 
11858 /**
11859  * @brief Destroys a graphics context
11860  *
11861  * @param c The connection
11862  * @param gc The graphics context to destroy.
11863  * @return A cookie
11864  *
11865  * Destroys the specified \a gc and all associated storage.
11866  *
11867  * This form can be used only if the request will not cause
11868  * a reply to be generated. Any returned error will be
11869  * saved for handling by xcb_request_check().
11870  */
11871 
11872 /*****************************************************************************
11873  **
11874  ** xcb_void_cookie_t xcb_free_gc_checked
11875  **
11876  ** @param xcb_connection_t *c
11877  ** @param xcb_gcontext_t    gc
11878  ** @returns xcb_void_cookie_t
11879  **
11880  *****************************************************************************/
11881 
11882 xcb_void_cookie_t
11883 xcb_free_gc_checked (xcb_connection_t *c  /**< */,
11884                      xcb_gcontext_t    gc  /**< */);
11885 
11886 /**
11887  * @brief Destroys a graphics context
11888  *
11889  * @param c The connection
11890  * @param gc The graphics context to destroy.
11891  * @return A cookie
11892  *
11893  * Destroys the specified \a gc and all associated storage.
11894  *
11895  */
11896 
11897 /*****************************************************************************
11898  **
11899  ** xcb_void_cookie_t xcb_free_gc
11900  **
11901  ** @param xcb_connection_t *c
11902  ** @param xcb_gcontext_t    gc
11903  ** @returns xcb_void_cookie_t
11904  **
11905  *****************************************************************************/
11906 
11907 xcb_void_cookie_t
11908 xcb_free_gc (xcb_connection_t *c  /**< */,
11909              xcb_gcontext_t    gc  /**< */);
11910 
11911 /**
11912  *
11913  * @param c The connection
11914  * @return A cookie
11915  *
11916  * Delivers a request to the X server.
11917  *
11918  * This form can be used only if the request will not cause
11919  * a reply to be generated. Any returned error will be
11920  * saved for handling by xcb_request_check().
11921  */
11922 
11923 /*****************************************************************************
11924  **
11925  ** xcb_void_cookie_t xcb_clear_area_checked
11926  **
11927  ** @param xcb_connection_t *c
11928  ** @param uint8_t           exposures
11929  ** @param xcb_window_t      window
11930  ** @param int16_t           x
11931  ** @param int16_t           y
11932  ** @param uint16_t          width
11933  ** @param uint16_t          height
11934  ** @returns xcb_void_cookie_t
11935  **
11936  *****************************************************************************/
11937 
11938 xcb_void_cookie_t
11939 xcb_clear_area_checked (xcb_connection_t *c  /**< */,
11940                         uint8_t           exposures  /**< */,
11941                         xcb_window_t      window  /**< */,
11942                         int16_t           x  /**< */,
11943                         int16_t           y  /**< */,
11944                         uint16_t          width  /**< */,
11945                         uint16_t          height  /**< */);
11946 
11947 /**
11948  *
11949  * @param c The connection
11950  * @return A cookie
11951  *
11952  * Delivers a request to the X server.
11953  *
11954  */
11955 
11956 /*****************************************************************************
11957  **
11958  ** xcb_void_cookie_t xcb_clear_area
11959  **
11960  ** @param xcb_connection_t *c
11961  ** @param uint8_t           exposures
11962  ** @param xcb_window_t      window
11963  ** @param int16_t           x
11964  ** @param int16_t           y
11965  ** @param uint16_t          width
11966  ** @param uint16_t          height
11967  ** @returns xcb_void_cookie_t
11968  **
11969  *****************************************************************************/
11970 
11971 xcb_void_cookie_t
11972 xcb_clear_area (xcb_connection_t *c  /**< */,
11973                 uint8_t           exposures  /**< */,
11974                 xcb_window_t      window  /**< */,
11975                 int16_t           x  /**< */,
11976                 int16_t           y  /**< */,
11977                 uint16_t          width  /**< */,
11978                 uint16_t          height  /**< */);
11979 
11980 /**
11981  * @brief copy areas
11982  *
11983  * @param c The connection
11984  * @param src_drawable The source drawable (Window or Pixmap).
11985  * @param dst_drawable The destination drawable (Window or Pixmap).
11986  * @param gc The graphics context to use.
11987  * @param src_x The source X coordinate.
11988  * @param src_y The source Y coordinate.
11989  * @param dst_x The destination X coordinate.
11990  * @param dst_y The destination Y coordinate.
11991  * @param width The width of the area to copy (in pixels).
11992  * @param height The height of the area to copy (in pixels).
11993  * @return A cookie
11994  *
11995  * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
11996  *
11997  * This form can be used only if the request will not cause
11998  * a reply to be generated. Any returned error will be
11999  * saved for handling by xcb_request_check().
12000  */
12001 
12002 /*****************************************************************************
12003  **
12004  ** xcb_void_cookie_t xcb_copy_area_checked
12005  **
12006  ** @param xcb_connection_t *c
12007  ** @param xcb_drawable_t    src_drawable
12008  ** @param xcb_drawable_t    dst_drawable
12009  ** @param xcb_gcontext_t    gc
12010  ** @param int16_t           src_x
12011  ** @param int16_t           src_y
12012  ** @param int16_t           dst_x
12013  ** @param int16_t           dst_y
12014  ** @param uint16_t          width
12015  ** @param uint16_t          height
12016  ** @returns xcb_void_cookie_t
12017  **
12018  *****************************************************************************/
12019 
12020 xcb_void_cookie_t
12021 xcb_copy_area_checked (xcb_connection_t *c  /**< */,
12022                        xcb_drawable_t    src_drawable  /**< */,
12023                        xcb_drawable_t    dst_drawable  /**< */,
12024                        xcb_gcontext_t    gc  /**< */,
12025                        int16_t           src_x  /**< */,
12026                        int16_t           src_y  /**< */,
12027                        int16_t           dst_x  /**< */,
12028                        int16_t           dst_y  /**< */,
12029                        uint16_t          width  /**< */,
12030                        uint16_t          height  /**< */);
12031 
12032 /**
12033  * @brief copy areas
12034  *
12035  * @param c The connection
12036  * @param src_drawable The source drawable (Window or Pixmap).
12037  * @param dst_drawable The destination drawable (Window or Pixmap).
12038  * @param gc The graphics context to use.
12039  * @param src_x The source X coordinate.
12040  * @param src_y The source Y coordinate.
12041  * @param dst_x The destination X coordinate.
12042  * @param dst_y The destination Y coordinate.
12043  * @param width The width of the area to copy (in pixels).
12044  * @param height The height of the area to copy (in pixels).
12045  * @return A cookie
12046  *
12047  * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
12048  *
12049  */
12050 
12051 /*****************************************************************************
12052  **
12053  ** xcb_void_cookie_t xcb_copy_area
12054  **
12055  ** @param xcb_connection_t *c
12056  ** @param xcb_drawable_t    src_drawable
12057  ** @param xcb_drawable_t    dst_drawable
12058  ** @param xcb_gcontext_t    gc
12059  ** @param int16_t           src_x
12060  ** @param int16_t           src_y
12061  ** @param int16_t           dst_x
12062  ** @param int16_t           dst_y
12063  ** @param uint16_t          width
12064  ** @param uint16_t          height
12065  ** @returns xcb_void_cookie_t
12066  **
12067  *****************************************************************************/
12068 
12069 xcb_void_cookie_t
12070 xcb_copy_area (xcb_connection_t *c  /**< */,
12071                xcb_drawable_t    src_drawable  /**< */,
12072                xcb_drawable_t    dst_drawable  /**< */,
12073                xcb_gcontext_t    gc  /**< */,
12074                int16_t           src_x  /**< */,
12075                int16_t           src_y  /**< */,
12076                int16_t           dst_x  /**< */,
12077                int16_t           dst_y  /**< */,
12078                uint16_t          width  /**< */,
12079                uint16_t          height  /**< */);
12080 
12081 /**
12082  *
12083  * @param c The connection
12084  * @return A cookie
12085  *
12086  * Delivers a request to the X server.
12087  *
12088  * This form can be used only if the request will not cause
12089  * a reply to be generated. Any returned error will be
12090  * saved for handling by xcb_request_check().
12091  */
12092 
12093 /*****************************************************************************
12094  **
12095  ** xcb_void_cookie_t xcb_copy_plane_checked
12096  **
12097  ** @param xcb_connection_t *c
12098  ** @param xcb_drawable_t    src_drawable
12099  ** @param xcb_drawable_t    dst_drawable
12100  ** @param xcb_gcontext_t    gc
12101  ** @param int16_t           src_x
12102  ** @param int16_t           src_y
12103  ** @param int16_t           dst_x
12104  ** @param int16_t           dst_y
12105  ** @param uint16_t          width
12106  ** @param uint16_t          height
12107  ** @param uint32_t          bit_plane
12108  ** @returns xcb_void_cookie_t
12109  **
12110  *****************************************************************************/
12111 
12112 xcb_void_cookie_t
12113 xcb_copy_plane_checked (xcb_connection_t *c  /**< */,
12114                         xcb_drawable_t    src_drawable  /**< */,
12115                         xcb_drawable_t    dst_drawable  /**< */,
12116                         xcb_gcontext_t    gc  /**< */,
12117                         int16_t           src_x  /**< */,
12118                         int16_t           src_y  /**< */,
12119                         int16_t           dst_x  /**< */,
12120                         int16_t           dst_y  /**< */,
12121                         uint16_t          width  /**< */,
12122                         uint16_t          height  /**< */,
12123                         uint32_t          bit_plane  /**< */);
12124 
12125 /**
12126  *
12127  * @param c The connection
12128  * @return A cookie
12129  *
12130  * Delivers a request to the X server.
12131  *
12132  */
12133 
12134 /*****************************************************************************
12135  **
12136  ** xcb_void_cookie_t xcb_copy_plane
12137  **
12138  ** @param xcb_connection_t *c
12139  ** @param xcb_drawable_t    src_drawable
12140  ** @param xcb_drawable_t    dst_drawable
12141  ** @param xcb_gcontext_t    gc
12142  ** @param int16_t           src_x
12143  ** @param int16_t           src_y
12144  ** @param int16_t           dst_x
12145  ** @param int16_t           dst_y
12146  ** @param uint16_t          width
12147  ** @param uint16_t          height
12148  ** @param uint32_t          bit_plane
12149  ** @returns xcb_void_cookie_t
12150  **
12151  *****************************************************************************/
12152 
12153 xcb_void_cookie_t
12154 xcb_copy_plane (xcb_connection_t *c  /**< */,
12155                 xcb_drawable_t    src_drawable  /**< */,
12156                 xcb_drawable_t    dst_drawable  /**< */,
12157                 xcb_gcontext_t    gc  /**< */,
12158                 int16_t           src_x  /**< */,
12159                 int16_t           src_y  /**< */,
12160                 int16_t           dst_x  /**< */,
12161                 int16_t           dst_y  /**< */,
12162                 uint16_t          width  /**< */,
12163                 uint16_t          height  /**< */,
12164                 uint32_t          bit_plane  /**< */);
12165 
12166 int
12167 xcb_poly_point_sizeof (const void  *_buffer  /**< */,
12168                        uint32_t     points_len  /**< */);
12169 
12170 /**
12171  *
12172  * @param c The connection
12173  * @return A cookie
12174  *
12175  * Delivers a request to the X server.
12176  *
12177  * This form can be used only if the request will not cause
12178  * a reply to be generated. Any returned error will be
12179  * saved for handling by xcb_request_check().
12180  */
12181 
12182 /*****************************************************************************
12183  **
12184  ** xcb_void_cookie_t xcb_poly_point_checked
12185  **
12186  ** @param xcb_connection_t  *c
12187  ** @param uint8_t            coordinate_mode
12188  ** @param xcb_drawable_t     drawable
12189  ** @param xcb_gcontext_t     gc
12190  ** @param uint32_t           points_len
12191  ** @param const xcb_point_t *points
12192  ** @returns xcb_void_cookie_t
12193  **
12194  *****************************************************************************/
12195 
12196 xcb_void_cookie_t
12197 xcb_poly_point_checked (xcb_connection_t  *c  /**< */,
12198                         uint8_t            coordinate_mode  /**< */,
12199                         xcb_drawable_t     drawable  /**< */,
12200                         xcb_gcontext_t     gc  /**< */,
12201                         uint32_t           points_len  /**< */,
12202                         const xcb_point_t *points  /**< */);
12203 
12204 /**
12205  *
12206  * @param c The connection
12207  * @return A cookie
12208  *
12209  * Delivers a request to the X server.
12210  *
12211  */
12212 
12213 /*****************************************************************************
12214  **
12215  ** xcb_void_cookie_t xcb_poly_point
12216  **
12217  ** @param xcb_connection_t  *c
12218  ** @param uint8_t            coordinate_mode
12219  ** @param xcb_drawable_t     drawable
12220  ** @param xcb_gcontext_t     gc
12221  ** @param uint32_t           points_len
12222  ** @param const xcb_point_t *points
12223  ** @returns xcb_void_cookie_t
12224  **
12225  *****************************************************************************/
12226 
12227 xcb_void_cookie_t
12228 xcb_poly_point (xcb_connection_t  *c  /**< */,
12229                 uint8_t            coordinate_mode  /**< */,
12230                 xcb_drawable_t     drawable  /**< */,
12231                 xcb_gcontext_t     gc  /**< */,
12232                 uint32_t           points_len  /**< */,
12233                 const xcb_point_t *points  /**< */);
12234 
12235 int
12236 xcb_poly_line_sizeof (const void  *_buffer  /**< */,
12237                       uint32_t     points_len  /**< */);
12238 
12239 /**
12240  * @brief draw lines
12241  *
12242  * @param c The connection
12243  * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
12244  * @param coordinate_mode \n
12245  * @param drawable The drawable to draw the line(s) on.
12246  * @param gc The graphics context to use.
12247  * @param points_len The number of `xcb_point_t` structures in \a points.
12248  * @param points An array of points.
12249  * @return A cookie
12250  *
12251  * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
12252  * in the \a points array. The lines are drawn in the order listed in the array.
12253  * They join correctly at all intermediate points, and if the first and last
12254  * points coincide, the first and last lines also join correctly. For any given
12255  * line, a pixel is not drawn more than once. If thin (zero line-width) lines
12256  * intersect, the intersecting pixels are drawn multiple times. If wide lines
12257  * intersect, the intersecting pixels are drawn only once, as though the entire
12258  * request were a single, filled shape.
12259  *
12260  * This form can be used only if the request will not cause
12261  * a reply to be generated. Any returned error will be
12262  * saved for handling by xcb_request_check().
12263  */
12264 
12265 /*****************************************************************************
12266  **
12267  ** xcb_void_cookie_t xcb_poly_line_checked
12268  **
12269  ** @param xcb_connection_t  *c
12270  ** @param uint8_t            coordinate_mode
12271  ** @param xcb_drawable_t     drawable
12272  ** @param xcb_gcontext_t     gc
12273  ** @param uint32_t           points_len
12274  ** @param const xcb_point_t *points
12275  ** @returns xcb_void_cookie_t
12276  **
12277  *****************************************************************************/
12278 
12279 xcb_void_cookie_t
12280 xcb_poly_line_checked (xcb_connection_t  *c  /**< */,
12281                        uint8_t            coordinate_mode  /**< */,
12282                        xcb_drawable_t     drawable  /**< */,
12283                        xcb_gcontext_t     gc  /**< */,
12284                        uint32_t           points_len  /**< */,
12285                        const xcb_point_t *points  /**< */);
12286 
12287 /**
12288  * @brief draw lines
12289  *
12290  * @param c The connection
12291  * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
12292  * @param coordinate_mode \n
12293  * @param drawable The drawable to draw the line(s) on.
12294  * @param gc The graphics context to use.
12295  * @param points_len The number of `xcb_point_t` structures in \a points.
12296  * @param points An array of points.
12297  * @return A cookie
12298  *
12299  * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
12300  * in the \a points array. The lines are drawn in the order listed in the array.
12301  * They join correctly at all intermediate points, and if the first and last
12302  * points coincide, the first and last lines also join correctly. For any given
12303  * line, a pixel is not drawn more than once. If thin (zero line-width) lines
12304  * intersect, the intersecting pixels are drawn multiple times. If wide lines
12305  * intersect, the intersecting pixels are drawn only once, as though the entire
12306  * request were a single, filled shape.
12307  *
12308  */
12309 
12310 /*****************************************************************************
12311  **
12312  ** xcb_void_cookie_t xcb_poly_line
12313  **
12314  ** @param xcb_connection_t  *c
12315  ** @param uint8_t            coordinate_mode
12316  ** @param xcb_drawable_t     drawable
12317  ** @param xcb_gcontext_t     gc
12318  ** @param uint32_t           points_len
12319  ** @param const xcb_point_t *points
12320  ** @returns xcb_void_cookie_t
12321  **
12322  *****************************************************************************/
12323 
12324 xcb_void_cookie_t
12325 xcb_poly_line (xcb_connection_t  *c  /**< */,
12326                uint8_t            coordinate_mode  /**< */,
12327                xcb_drawable_t     drawable  /**< */,
12328                xcb_gcontext_t     gc  /**< */,
12329                uint32_t           points_len  /**< */,
12330                const xcb_point_t *points  /**< */);
12331 
12332 /**
12333  * Get the next element of the iterator
12334  * @param i Pointer to a xcb_segment_iterator_t
12335  *
12336  * Get the next element in the iterator. The member rem is
12337  * decreased by one. The member data points to the next
12338  * element. The member index is increased by sizeof(xcb_segment_t)
12339  */
12340 
12341 /*****************************************************************************
12342  **
12343  ** void xcb_segment_next
12344  **
12345  ** @param xcb_segment_iterator_t *i
12346  ** @returns void
12347  **
12348  *****************************************************************************/
12349 
12350 void
12351 xcb_segment_next (xcb_segment_iterator_t *i  /**< */);
12352 
12353 /**
12354  * Return the iterator pointing to the last element
12355  * @param i An xcb_segment_iterator_t
12356  * @return  The iterator pointing to the last element
12357  *
12358  * Set the current element in the iterator to the last element.
12359  * The member rem is set to 0. The member data points to the
12360  * last element.
12361  */
12362 
12363 /*****************************************************************************
12364  **
12365  ** xcb_generic_iterator_t xcb_segment_end
12366  **
12367  ** @param xcb_segment_iterator_t i
12368  ** @returns xcb_generic_iterator_t
12369  **
12370  *****************************************************************************/
12371 
12372 xcb_generic_iterator_t
12373 xcb_segment_end (xcb_segment_iterator_t i  /**< */);
12374 
12375 int
12376 xcb_poly_segment_sizeof (const void  *_buffer  /**< */,
12377                          uint32_t     segments_len  /**< */);
12378 
12379 /**
12380  * @brief draw lines
12381  *
12382  * @param c The connection
12383  * @param drawable A drawable (Window or Pixmap) to draw on.
12384  * @param gc The graphics context to use.
12385  * \n
12386  * TODO: document which attributes of a gc are used
12387  * @param segments_len The number of `xcb_segment_t` structures in \a segments.
12388  * @param segments An array of `xcb_segment_t` structures.
12389  * @return A cookie
12390  *
12391  * Draws multiple, unconnected lines. For each segment, a line is drawn between
12392  * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
12393  * `xcb_segment_t` structures and does not perform joining at coincident
12394  * endpoints. For any given line, a pixel is not drawn more than once. If lines
12395  * intersect, the intersecting pixels are drawn multiple times.
12396  *
12397  * TODO: include the xcb_segment_t data structure
12398  *
12399  * TODO: an example
12400  *
12401  * This form can be used only if the request will not cause
12402  * a reply to be generated. Any returned error will be
12403  * saved for handling by xcb_request_check().
12404  */
12405 
12406 /*****************************************************************************
12407  **
12408  ** xcb_void_cookie_t xcb_poly_segment_checked
12409  **
12410  ** @param xcb_connection_t    *c
12411  ** @param xcb_drawable_t       drawable
12412  ** @param xcb_gcontext_t       gc
12413  ** @param uint32_t             segments_len
12414  ** @param const xcb_segment_t *segments
12415  ** @returns xcb_void_cookie_t
12416  **
12417  *****************************************************************************/
12418 
12419 xcb_void_cookie_t
12420 xcb_poly_segment_checked (xcb_connection_t    *c  /**< */,
12421                           xcb_drawable_t       drawable  /**< */,
12422                           xcb_gcontext_t       gc  /**< */,
12423                           uint32_t             segments_len  /**< */,
12424                           const xcb_segment_t *segments  /**< */);
12425 
12426 /**
12427  * @brief draw lines
12428  *
12429  * @param c The connection
12430  * @param drawable A drawable (Window or Pixmap) to draw on.
12431  * @param gc The graphics context to use.
12432  * \n
12433  * TODO: document which attributes of a gc are used
12434  * @param segments_len The number of `xcb_segment_t` structures in \a segments.
12435  * @param segments An array of `xcb_segment_t` structures.
12436  * @return A cookie
12437  *
12438  * Draws multiple, unconnected lines. For each segment, a line is drawn between
12439  * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
12440  * `xcb_segment_t` structures and does not perform joining at coincident
12441  * endpoints. For any given line, a pixel is not drawn more than once. If lines
12442  * intersect, the intersecting pixels are drawn multiple times.
12443  *
12444  * TODO: include the xcb_segment_t data structure
12445  *
12446  * TODO: an example
12447  *
12448  */
12449 
12450 /*****************************************************************************
12451  **
12452  ** xcb_void_cookie_t xcb_poly_segment
12453  **
12454  ** @param xcb_connection_t    *c
12455  ** @param xcb_drawable_t       drawable
12456  ** @param xcb_gcontext_t       gc
12457  ** @param uint32_t             segments_len
12458  ** @param const xcb_segment_t *segments
12459  ** @returns xcb_void_cookie_t
12460  **
12461  *****************************************************************************/
12462 
12463 xcb_void_cookie_t
12464 xcb_poly_segment (xcb_connection_t    *c  /**< */,
12465                   xcb_drawable_t       drawable  /**< */,
12466                   xcb_gcontext_t       gc  /**< */,
12467                   uint32_t             segments_len  /**< */,
12468                   const xcb_segment_t *segments  /**< */);
12469 
12470 int
12471 xcb_poly_rectangle_sizeof (const void  *_buffer  /**< */,
12472                            uint32_t     rectangles_len  /**< */);
12473 
12474 /**
12475  *
12476  * @param c The connection
12477  * @return A cookie
12478  *
12479  * Delivers a request to the X server.
12480  *
12481  * This form can be used only if the request will not cause
12482  * a reply to be generated. Any returned error will be
12483  * saved for handling by xcb_request_check().
12484  */
12485 
12486 /*****************************************************************************
12487  **
12488  ** xcb_void_cookie_t xcb_poly_rectangle_checked
12489  **
12490  ** @param xcb_connection_t      *c
12491  ** @param xcb_drawable_t         drawable
12492  ** @param xcb_gcontext_t         gc
12493  ** @param uint32_t               rectangles_len
12494  ** @param const xcb_rectangle_t *rectangles
12495  ** @returns xcb_void_cookie_t
12496  **
12497  *****************************************************************************/
12498 
12499 xcb_void_cookie_t
12500 xcb_poly_rectangle_checked (xcb_connection_t      *c  /**< */,
12501                             xcb_drawable_t         drawable  /**< */,
12502                             xcb_gcontext_t         gc  /**< */,
12503                             uint32_t               rectangles_len  /**< */,
12504                             const xcb_rectangle_t *rectangles  /**< */);
12505 
12506 /**
12507  *
12508  * @param c The connection
12509  * @return A cookie
12510  *
12511  * Delivers a request to the X server.
12512  *
12513  */
12514 
12515 /*****************************************************************************
12516  **
12517  ** xcb_void_cookie_t xcb_poly_rectangle
12518  **
12519  ** @param xcb_connection_t      *c
12520  ** @param xcb_drawable_t         drawable
12521  ** @param xcb_gcontext_t         gc
12522  ** @param uint32_t               rectangles_len
12523  ** @param const xcb_rectangle_t *rectangles
12524  ** @returns xcb_void_cookie_t
12525  **
12526  *****************************************************************************/
12527 
12528 xcb_void_cookie_t
12529 xcb_poly_rectangle (xcb_connection_t      *c  /**< */,
12530                     xcb_drawable_t         drawable  /**< */,
12531                     xcb_gcontext_t         gc  /**< */,
12532                     uint32_t               rectangles_len  /**< */,
12533                     const xcb_rectangle_t *rectangles  /**< */);
12534 
12535 int
12536 xcb_poly_arc_sizeof (const void  *_buffer  /**< */,
12537                      uint32_t     arcs_len  /**< */);
12538 
12539 /**
12540  *
12541  * @param c The connection
12542  * @return A cookie
12543  *
12544  * Delivers a request to the X server.
12545  *
12546  * This form can be used only if the request will not cause
12547  * a reply to be generated. Any returned error will be
12548  * saved for handling by xcb_request_check().
12549  */
12550 
12551 /*****************************************************************************
12552  **
12553  ** xcb_void_cookie_t xcb_poly_arc_checked
12554  **
12555  ** @param xcb_connection_t *c
12556  ** @param xcb_drawable_t    drawable
12557  ** @param xcb_gcontext_t    gc
12558  ** @param uint32_t          arcs_len
12559  ** @param const xcb_arc_t  *arcs
12560  ** @returns xcb_void_cookie_t
12561  **
12562  *****************************************************************************/
12563 
12564 xcb_void_cookie_t
12565 xcb_poly_arc_checked (xcb_connection_t *c  /**< */,
12566                       xcb_drawable_t    drawable  /**< */,
12567                       xcb_gcontext_t    gc  /**< */,
12568                       uint32_t          arcs_len  /**< */,
12569                       const xcb_arc_t  *arcs  /**< */);
12570 
12571 /**
12572  *
12573  * @param c The connection
12574  * @return A cookie
12575  *
12576  * Delivers a request to the X server.
12577  *
12578  */
12579 
12580 /*****************************************************************************
12581  **
12582  ** xcb_void_cookie_t xcb_poly_arc
12583  **
12584  ** @param xcb_connection_t *c
12585  ** @param xcb_drawable_t    drawable
12586  ** @param xcb_gcontext_t    gc
12587  ** @param uint32_t          arcs_len
12588  ** @param const xcb_arc_t  *arcs
12589  ** @returns xcb_void_cookie_t
12590  **
12591  *****************************************************************************/
12592 
12593 xcb_void_cookie_t
12594 xcb_poly_arc (xcb_connection_t *c  /**< */,
12595               xcb_drawable_t    drawable  /**< */,
12596               xcb_gcontext_t    gc  /**< */,
12597               uint32_t          arcs_len  /**< */,
12598               const xcb_arc_t  *arcs  /**< */);
12599 
12600 int
12601 xcb_fill_poly_sizeof (const void  *_buffer  /**< */,
12602                       uint32_t     points_len  /**< */);
12603 
12604 /**
12605  *
12606  * @param c The connection
12607  * @return A cookie
12608  *
12609  * Delivers a request to the X server.
12610  *
12611  * This form can be used only if the request will not cause
12612  * a reply to be generated. Any returned error will be
12613  * saved for handling by xcb_request_check().
12614  */
12615 
12616 /*****************************************************************************
12617  **
12618  ** xcb_void_cookie_t xcb_fill_poly_checked
12619  **
12620  ** @param xcb_connection_t  *c
12621  ** @param xcb_drawable_t     drawable
12622  ** @param xcb_gcontext_t     gc
12623  ** @param uint8_t            shape
12624  ** @param uint8_t            coordinate_mode
12625  ** @param uint32_t           points_len
12626  ** @param const xcb_point_t *points
12627  ** @returns xcb_void_cookie_t
12628  **
12629  *****************************************************************************/
12630 
12631 xcb_void_cookie_t
12632 xcb_fill_poly_checked (xcb_connection_t  *c  /**< */,
12633                        xcb_drawable_t     drawable  /**< */,
12634                        xcb_gcontext_t     gc  /**< */,
12635                        uint8_t            shape  /**< */,
12636                        uint8_t            coordinate_mode  /**< */,
12637                        uint32_t           points_len  /**< */,
12638                        const xcb_point_t *points  /**< */);
12639 
12640 /**
12641  *
12642  * @param c The connection
12643  * @return A cookie
12644  *
12645  * Delivers a request to the X server.
12646  *
12647  */
12648 
12649 /*****************************************************************************
12650  **
12651  ** xcb_void_cookie_t xcb_fill_poly
12652  **
12653  ** @param xcb_connection_t  *c
12654  ** @param xcb_drawable_t     drawable
12655  ** @param xcb_gcontext_t     gc
12656  ** @param uint8_t            shape
12657  ** @param uint8_t            coordinate_mode
12658  ** @param uint32_t           points_len
12659  ** @param const xcb_point_t *points
12660  ** @returns xcb_void_cookie_t
12661  **
12662  *****************************************************************************/
12663 
12664 xcb_void_cookie_t
12665 xcb_fill_poly (xcb_connection_t  *c  /**< */,
12666                xcb_drawable_t     drawable  /**< */,
12667                xcb_gcontext_t     gc  /**< */,
12668                uint8_t            shape  /**< */,
12669                uint8_t            coordinate_mode  /**< */,
12670                uint32_t           points_len  /**< */,
12671                const xcb_point_t *points  /**< */);
12672 
12673 int
12674 xcb_poly_fill_rectangle_sizeof (const void  *_buffer  /**< */,
12675                                 uint32_t     rectangles_len  /**< */);
12676 
12677 /**
12678  * @brief Fills rectangles
12679  *
12680  * @param c The connection
12681  * @param drawable The drawable (Window or Pixmap) to draw on.
12682  * @param gc The graphics context to use.
12683  * \n
12684  * The following graphics context components are used: function, plane-mask,
12685  * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
12686  * \n
12687  * The following graphics context mode-dependent components are used:
12688  * foreground, background, tile, stipple, tile-stipple-x-origin, and
12689  * tile-stipple-y-origin.
12690  * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
12691  * @param rectangles The rectangles to fill.
12692  * @return A cookie
12693  *
12694  * Fills the specified rectangle(s) in the order listed in the array. For any
12695  * given rectangle, each pixel is not drawn more than once. If rectangles
12696  * intersect, the intersecting pixels are drawn multiple times.
12697  *
12698  * This form can be used only if the request will not cause
12699  * a reply to be generated. Any returned error will be
12700  * saved for handling by xcb_request_check().
12701  */
12702 
12703 /*****************************************************************************
12704  **
12705  ** xcb_void_cookie_t xcb_poly_fill_rectangle_checked
12706  **
12707  ** @param xcb_connection_t      *c
12708  ** @param xcb_drawable_t         drawable
12709  ** @param xcb_gcontext_t         gc
12710  ** @param uint32_t               rectangles_len
12711  ** @param const xcb_rectangle_t *rectangles
12712  ** @returns xcb_void_cookie_t
12713  **
12714  *****************************************************************************/
12715 
12716 xcb_void_cookie_t
12717 xcb_poly_fill_rectangle_checked (xcb_connection_t      *c  /**< */,
12718                                  xcb_drawable_t         drawable  /**< */,
12719                                  xcb_gcontext_t         gc  /**< */,
12720                                  uint32_t               rectangles_len  /**< */,
12721                                  const xcb_rectangle_t *rectangles  /**< */);
12722 
12723 /**
12724  * @brief Fills rectangles
12725  *
12726  * @param c The connection
12727  * @param drawable The drawable (Window or Pixmap) to draw on.
12728  * @param gc The graphics context to use.
12729  * \n
12730  * The following graphics context components are used: function, plane-mask,
12731  * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
12732  * \n
12733  * The following graphics context mode-dependent components are used:
12734  * foreground, background, tile, stipple, tile-stipple-x-origin, and
12735  * tile-stipple-y-origin.
12736  * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
12737  * @param rectangles The rectangles to fill.
12738  * @return A cookie
12739  *
12740  * Fills the specified rectangle(s) in the order listed in the array. For any
12741  * given rectangle, each pixel is not drawn more than once. If rectangles
12742  * intersect, the intersecting pixels are drawn multiple times.
12743  *
12744  */
12745 
12746 /*****************************************************************************
12747  **
12748  ** xcb_void_cookie_t xcb_poly_fill_rectangle
12749  **
12750  ** @param xcb_connection_t      *c
12751  ** @param xcb_drawable_t         drawable
12752  ** @param xcb_gcontext_t         gc
12753  ** @param uint32_t               rectangles_len
12754  ** @param const xcb_rectangle_t *rectangles
12755  ** @returns xcb_void_cookie_t
12756  **
12757  *****************************************************************************/
12758 
12759 xcb_void_cookie_t
12760 xcb_poly_fill_rectangle (xcb_connection_t      *c  /**< */,
12761                          xcb_drawable_t         drawable  /**< */,
12762                          xcb_gcontext_t         gc  /**< */,
12763                          uint32_t               rectangles_len  /**< */,
12764                          const xcb_rectangle_t *rectangles  /**< */);
12765 
12766 int
12767 xcb_poly_fill_arc_sizeof (const void  *_buffer  /**< */,
12768                           uint32_t     arcs_len  /**< */);
12769 
12770 /**
12771  *
12772  * @param c The connection
12773  * @return A cookie
12774  *
12775  * Delivers a request to the X server.
12776  *
12777  * This form can be used only if the request will not cause
12778  * a reply to be generated. Any returned error will be
12779  * saved for handling by xcb_request_check().
12780  */
12781 
12782 /*****************************************************************************
12783  **
12784  ** xcb_void_cookie_t xcb_poly_fill_arc_checked
12785  **
12786  ** @param xcb_connection_t *c
12787  ** @param xcb_drawable_t    drawable
12788  ** @param xcb_gcontext_t    gc
12789  ** @param uint32_t          arcs_len
12790  ** @param const xcb_arc_t  *arcs
12791  ** @returns xcb_void_cookie_t
12792  **
12793  *****************************************************************************/
12794 
12795 xcb_void_cookie_t
12796 xcb_poly_fill_arc_checked (xcb_connection_t *c  /**< */,
12797                            xcb_drawable_t    drawable  /**< */,
12798                            xcb_gcontext_t    gc  /**< */,
12799                            uint32_t          arcs_len  /**< */,
12800                            const xcb_arc_t  *arcs  /**< */);
12801 
12802 /**
12803  *
12804  * @param c The connection
12805  * @return A cookie
12806  *
12807  * Delivers a request to the X server.
12808  *
12809  */
12810 
12811 /*****************************************************************************
12812  **
12813  ** xcb_void_cookie_t xcb_poly_fill_arc
12814  **
12815  ** @param xcb_connection_t *c
12816  ** @param xcb_drawable_t    drawable
12817  ** @param xcb_gcontext_t    gc
12818  ** @param uint32_t          arcs_len
12819  ** @param const xcb_arc_t  *arcs
12820  ** @returns xcb_void_cookie_t
12821  **
12822  *****************************************************************************/
12823 
12824 xcb_void_cookie_t
12825 xcb_poly_fill_arc (xcb_connection_t *c  /**< */,
12826                    xcb_drawable_t    drawable  /**< */,
12827                    xcb_gcontext_t    gc  /**< */,
12828                    uint32_t          arcs_len  /**< */,
12829                    const xcb_arc_t  *arcs  /**< */);
12830 
12831 int
12832 xcb_put_image_sizeof (const void  *_buffer  /**< */,
12833                       uint32_t     data_len  /**< */);
12834 
12835 /**
12836  *
12837  * @param c The connection
12838  * @return A cookie
12839  *
12840  * Delivers a request to the X server.
12841  *
12842  * This form can be used only if the request will not cause
12843  * a reply to be generated. Any returned error will be
12844  * saved for handling by xcb_request_check().
12845  */
12846 
12847 /*****************************************************************************
12848  **
12849  ** xcb_void_cookie_t xcb_put_image_checked
12850  **
12851  ** @param xcb_connection_t *c
12852  ** @param uint8_t           format
12853  ** @param xcb_drawable_t    drawable
12854  ** @param xcb_gcontext_t    gc
12855  ** @param uint16_t          width
12856  ** @param uint16_t          height
12857  ** @param int16_t           dst_x
12858  ** @param int16_t           dst_y
12859  ** @param uint8_t           left_pad
12860  ** @param uint8_t           depth
12861  ** @param uint32_t          data_len
12862  ** @param const uint8_t    *data
12863  ** @returns xcb_void_cookie_t
12864  **
12865  *****************************************************************************/
12866 
12867 xcb_void_cookie_t
12868 xcb_put_image_checked (xcb_connection_t *c  /**< */,
12869                        uint8_t           format  /**< */,
12870                        xcb_drawable_t    drawable  /**< */,
12871                        xcb_gcontext_t    gc  /**< */,
12872                        uint16_t          width  /**< */,
12873                        uint16_t          height  /**< */,
12874                        int16_t           dst_x  /**< */,
12875                        int16_t           dst_y  /**< */,
12876                        uint8_t           left_pad  /**< */,
12877                        uint8_t           depth  /**< */,
12878                        uint32_t          data_len  /**< */,
12879                        const uint8_t    *data  /**< */);
12880 
12881 /**
12882  *
12883  * @param c The connection
12884  * @return A cookie
12885  *
12886  * Delivers a request to the X server.
12887  *
12888  */
12889 
12890 /*****************************************************************************
12891  **
12892  ** xcb_void_cookie_t xcb_put_image
12893  **
12894  ** @param xcb_connection_t *c
12895  ** @param uint8_t           format
12896  ** @param xcb_drawable_t    drawable
12897  ** @param xcb_gcontext_t    gc
12898  ** @param uint16_t          width
12899  ** @param uint16_t          height
12900  ** @param int16_t           dst_x
12901  ** @param int16_t           dst_y
12902  ** @param uint8_t           left_pad
12903  ** @param uint8_t           depth
12904  ** @param uint32_t          data_len
12905  ** @param const uint8_t    *data
12906  ** @returns xcb_void_cookie_t
12907  **
12908  *****************************************************************************/
12909 
12910 xcb_void_cookie_t
12911 xcb_put_image (xcb_connection_t *c  /**< */,
12912                uint8_t           format  /**< */,
12913                xcb_drawable_t    drawable  /**< */,
12914                xcb_gcontext_t    gc  /**< */,
12915                uint16_t          width  /**< */,
12916                uint16_t          height  /**< */,
12917                int16_t           dst_x  /**< */,
12918                int16_t           dst_y  /**< */,
12919                uint8_t           left_pad  /**< */,
12920                uint8_t           depth  /**< */,
12921                uint32_t          data_len  /**< */,
12922                const uint8_t    *data  /**< */);
12923 
12924 int
12925 xcb_get_image_sizeof (const void  *_buffer  /**< */);
12926 
12927 /**
12928  *
12929  * @param c The connection
12930  * @return A cookie
12931  *
12932  * Delivers a request to the X server.
12933  *
12934  */
12935 
12936 /*****************************************************************************
12937  **
12938  ** xcb_get_image_cookie_t xcb_get_image
12939  **
12940  ** @param xcb_connection_t *c
12941  ** @param uint8_t           format
12942  ** @param xcb_drawable_t    drawable
12943  ** @param int16_t           x
12944  ** @param int16_t           y
12945  ** @param uint16_t          width
12946  ** @param uint16_t          height
12947  ** @param uint32_t          plane_mask
12948  ** @returns xcb_get_image_cookie_t
12949  **
12950  *****************************************************************************/
12951 
12952 xcb_get_image_cookie_t
12953 xcb_get_image (xcb_connection_t *c  /**< */,
12954                uint8_t           format  /**< */,
12955                xcb_drawable_t    drawable  /**< */,
12956                int16_t           x  /**< */,
12957                int16_t           y  /**< */,
12958                uint16_t          width  /**< */,
12959                uint16_t          height  /**< */,
12960                uint32_t          plane_mask  /**< */);
12961 
12962 /**
12963  *
12964  * @param c The connection
12965  * @return A cookie
12966  *
12967  * Delivers a request to the X server.
12968  *
12969  * This form can be used only if the request will cause
12970  * a reply to be generated. Any returned error will be
12971  * placed in the event queue.
12972  */
12973 
12974 /*****************************************************************************
12975  **
12976  ** xcb_get_image_cookie_t xcb_get_image_unchecked
12977  **
12978  ** @param xcb_connection_t *c
12979  ** @param uint8_t           format
12980  ** @param xcb_drawable_t    drawable
12981  ** @param int16_t           x
12982  ** @param int16_t           y
12983  ** @param uint16_t          width
12984  ** @param uint16_t          height
12985  ** @param uint32_t          plane_mask
12986  ** @returns xcb_get_image_cookie_t
12987  **
12988  *****************************************************************************/
12989 
12990 xcb_get_image_cookie_t
12991 xcb_get_image_unchecked (xcb_connection_t *c  /**< */,
12992                          uint8_t           format  /**< */,
12993                          xcb_drawable_t    drawable  /**< */,
12994                          int16_t           x  /**< */,
12995                          int16_t           y  /**< */,
12996                          uint16_t          width  /**< */,
12997                          uint16_t          height  /**< */,
12998                          uint32_t          plane_mask  /**< */);
12999 
13000 
13001 /*****************************************************************************
13002  **
13003  ** uint8_t * xcb_get_image_data
13004  **
13005  ** @param const xcb_get_image_reply_t *R
13006  ** @returns uint8_t *
13007  **
13008  *****************************************************************************/
13009 
13010 uint8_t *
13011 xcb_get_image_data (const xcb_get_image_reply_t *R  /**< */);
13012 
13013 
13014 /*****************************************************************************
13015  **
13016  ** int xcb_get_image_data_length
13017  **
13018  ** @param const xcb_get_image_reply_t *R
13019  ** @returns int
13020  **
13021  *****************************************************************************/
13022 
13023 int
13024 xcb_get_image_data_length (const xcb_get_image_reply_t *R  /**< */);
13025 
13026 
13027 /*****************************************************************************
13028  **
13029  ** xcb_generic_iterator_t xcb_get_image_data_end
13030  **
13031  ** @param const xcb_get_image_reply_t *R
13032  ** @returns xcb_generic_iterator_t
13033  **
13034  *****************************************************************************/
13035 
13036 xcb_generic_iterator_t
13037 xcb_get_image_data_end (const xcb_get_image_reply_t *R  /**< */);
13038 
13039 /**
13040  * Return the reply
13041  * @param c      The connection
13042  * @param cookie The cookie
13043  * @param e      The xcb_generic_error_t supplied
13044  *
13045  * Returns the reply of the request asked by
13046  *
13047  * The parameter @p e supplied to this function must be NULL if
13048  * xcb_get_image_unchecked(). is used.
13049  * Otherwise, it stores the error if any.
13050  *
13051  * The returned value must be freed by the caller using free().
13052  */
13053 
13054 /*****************************************************************************
13055  **
13056  ** xcb_get_image_reply_t * xcb_get_image_reply
13057  **
13058  ** @param xcb_connection_t        *c
13059  ** @param xcb_get_image_cookie_t   cookie
13060  ** @param xcb_generic_error_t    **e
13061  ** @returns xcb_get_image_reply_t *
13062  **
13063  *****************************************************************************/
13064 
13065 xcb_get_image_reply_t *
13066 xcb_get_image_reply (xcb_connection_t        *c  /**< */,
13067                      xcb_get_image_cookie_t   cookie  /**< */,
13068                      xcb_generic_error_t    **e  /**< */);
13069 
13070 int
13071 xcb_poly_text_8_sizeof (const void  *_buffer  /**< */,
13072                         uint32_t     items_len  /**< */);
13073 
13074 /**
13075  *
13076  * @param c The connection
13077  * @return A cookie
13078  *
13079  * Delivers a request to the X server.
13080  *
13081  * This form can be used only if the request will not cause
13082  * a reply to be generated. Any returned error will be
13083  * saved for handling by xcb_request_check().
13084  */
13085 
13086 /*****************************************************************************
13087  **
13088  ** xcb_void_cookie_t xcb_poly_text_8_checked
13089  **
13090  ** @param xcb_connection_t *c
13091  ** @param xcb_drawable_t    drawable
13092  ** @param xcb_gcontext_t    gc
13093  ** @param int16_t           x
13094  ** @param int16_t           y
13095  ** @param uint32_t          items_len
13096  ** @param const uint8_t    *items
13097  ** @returns xcb_void_cookie_t
13098  **
13099  *****************************************************************************/
13100 
13101 xcb_void_cookie_t
13102 xcb_poly_text_8_checked (xcb_connection_t *c  /**< */,
13103                          xcb_drawable_t    drawable  /**< */,
13104                          xcb_gcontext_t    gc  /**< */,
13105                          int16_t           x  /**< */,
13106                          int16_t           y  /**< */,
13107                          uint32_t          items_len  /**< */,
13108                          const uint8_t    *items  /**< */);
13109 
13110 /**
13111  *
13112  * @param c The connection
13113  * @return A cookie
13114  *
13115  * Delivers a request to the X server.
13116  *
13117  */
13118 
13119 /*****************************************************************************
13120  **
13121  ** xcb_void_cookie_t xcb_poly_text_8
13122  **
13123  ** @param xcb_connection_t *c
13124  ** @param xcb_drawable_t    drawable
13125  ** @param xcb_gcontext_t    gc
13126  ** @param int16_t           x
13127  ** @param int16_t           y
13128  ** @param uint32_t          items_len
13129  ** @param const uint8_t    *items
13130  ** @returns xcb_void_cookie_t
13131  **
13132  *****************************************************************************/
13133 
13134 xcb_void_cookie_t
13135 xcb_poly_text_8 (xcb_connection_t *c  /**< */,
13136                  xcb_drawable_t    drawable  /**< */,
13137                  xcb_gcontext_t    gc  /**< */,
13138                  int16_t           x  /**< */,
13139                  int16_t           y  /**< */,
13140                  uint32_t          items_len  /**< */,
13141                  const uint8_t    *items  /**< */);
13142 
13143 int
13144 xcb_poly_text_16_sizeof (const void  *_buffer  /**< */,
13145                          uint32_t     items_len  /**< */);
13146 
13147 /**
13148  *
13149  * @param c The connection
13150  * @return A cookie
13151  *
13152  * Delivers a request to the X server.
13153  *
13154  * This form can be used only if the request will not cause
13155  * a reply to be generated. Any returned error will be
13156  * saved for handling by xcb_request_check().
13157  */
13158 
13159 /*****************************************************************************
13160  **
13161  ** xcb_void_cookie_t xcb_poly_text_16_checked
13162  **
13163  ** @param xcb_connection_t *c
13164  ** @param xcb_drawable_t    drawable
13165  ** @param xcb_gcontext_t    gc
13166  ** @param int16_t           x
13167  ** @param int16_t           y
13168  ** @param uint32_t          items_len
13169  ** @param const uint8_t    *items
13170  ** @returns xcb_void_cookie_t
13171  **
13172  *****************************************************************************/
13173 
13174 xcb_void_cookie_t
13175 xcb_poly_text_16_checked (xcb_connection_t *c  /**< */,
13176                           xcb_drawable_t    drawable  /**< */,
13177                           xcb_gcontext_t    gc  /**< */,
13178                           int16_t           x  /**< */,
13179                           int16_t           y  /**< */,
13180                           uint32_t          items_len  /**< */,
13181                           const uint8_t    *items  /**< */);
13182 
13183 /**
13184  *
13185  * @param c The connection
13186  * @return A cookie
13187  *
13188  * Delivers a request to the X server.
13189  *
13190  */
13191 
13192 /*****************************************************************************
13193  **
13194  ** xcb_void_cookie_t xcb_poly_text_16
13195  **
13196  ** @param xcb_connection_t *c
13197  ** @param xcb_drawable_t    drawable
13198  ** @param xcb_gcontext_t    gc
13199  ** @param int16_t           x
13200  ** @param int16_t           y
13201  ** @param uint32_t          items_len
13202  ** @param const uint8_t    *items
13203  ** @returns xcb_void_cookie_t
13204  **
13205  *****************************************************************************/
13206 
13207 xcb_void_cookie_t
13208 xcb_poly_text_16 (xcb_connection_t *c  /**< */,
13209                   xcb_drawable_t    drawable  /**< */,
13210                   xcb_gcontext_t    gc  /**< */,
13211                   int16_t           x  /**< */,
13212                   int16_t           y  /**< */,
13213                   uint32_t          items_len  /**< */,
13214                   const uint8_t    *items  /**< */);
13215 
13216 int
13217 xcb_image_text_8_sizeof (const void  *_buffer  /**< */);
13218 
13219 /**
13220  * @brief Draws text
13221  *
13222  * @param c The connection
13223  * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
13224  * using 8 bits!
13225  * @param drawable The drawable (Window or Pixmap) to draw text on.
13226  * @param gc The graphics context to use.
13227  * \n
13228  * The following graphics context components are used: plane-mask, foreground,
13229  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13230  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13231  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13232  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13233  * type of \a string_len.
13234  * @return A cookie
13235  *
13236  * Fills the destination rectangle with the background pixel from \a gc, then
13237  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13238  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13239  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13240  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13241  *
13242  * Note that using X core fonts is deprecated (but still supported) in favor of
13243  * client-side rendering using Xft.
13244  *
13245  * This form can be used only if the request will not cause
13246  * a reply to be generated. Any returned error will be
13247  * saved for handling by xcb_request_check().
13248  */
13249 
13250 /*****************************************************************************
13251  **
13252  ** xcb_void_cookie_t xcb_image_text_8_checked
13253  **
13254  ** @param xcb_connection_t *c
13255  ** @param uint8_t           string_len
13256  ** @param xcb_drawable_t    drawable
13257  ** @param xcb_gcontext_t    gc
13258  ** @param int16_t           x
13259  ** @param int16_t           y
13260  ** @param const char       *string
13261  ** @returns xcb_void_cookie_t
13262  **
13263  *****************************************************************************/
13264 
13265 xcb_void_cookie_t
13266 xcb_image_text_8_checked (xcb_connection_t *c  /**< */,
13267                           uint8_t           string_len  /**< */,
13268                           xcb_drawable_t    drawable  /**< */,
13269                           xcb_gcontext_t    gc  /**< */,
13270                           int16_t           x  /**< */,
13271                           int16_t           y  /**< */,
13272                           const char       *string  /**< */);
13273 
13274 /**
13275  * @brief Draws text
13276  *
13277  * @param c The connection
13278  * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
13279  * using 8 bits!
13280  * @param drawable The drawable (Window or Pixmap) to draw text on.
13281  * @param gc The graphics context to use.
13282  * \n
13283  * The following graphics context components are used: plane-mask, foreground,
13284  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13285  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13286  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13287  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13288  * type of \a string_len.
13289  * @return A cookie
13290  *
13291  * Fills the destination rectangle with the background pixel from \a gc, then
13292  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13293  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13294  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13295  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13296  *
13297  * Note that using X core fonts is deprecated (but still supported) in favor of
13298  * client-side rendering using Xft.
13299  *
13300  */
13301 
13302 /*****************************************************************************
13303  **
13304  ** xcb_void_cookie_t xcb_image_text_8
13305  **
13306  ** @param xcb_connection_t *c
13307  ** @param uint8_t           string_len
13308  ** @param xcb_drawable_t    drawable
13309  ** @param xcb_gcontext_t    gc
13310  ** @param int16_t           x
13311  ** @param int16_t           y
13312  ** @param const char       *string
13313  ** @returns xcb_void_cookie_t
13314  **
13315  *****************************************************************************/
13316 
13317 xcb_void_cookie_t
13318 xcb_image_text_8 (xcb_connection_t *c  /**< */,
13319                   uint8_t           string_len  /**< */,
13320                   xcb_drawable_t    drawable  /**< */,
13321                   xcb_gcontext_t    gc  /**< */,
13322                   int16_t           x  /**< */,
13323                   int16_t           y  /**< */,
13324                   const char       *string  /**< */);
13325 
13326 int
13327 xcb_image_text_16_sizeof (const void  *_buffer  /**< */);
13328 
13329 /**
13330  * @brief Draws text
13331  *
13332  * @param c The connection
13333  * @param string_len The length of the \a string in characters. Note that this parameter limited by
13334  * 255 due to using 8 bits!
13335  * @param drawable The drawable (Window or Pixmap) to draw text on.
13336  * @param gc The graphics context to use.
13337  * \n
13338  * The following graphics context components are used: plane-mask, foreground,
13339  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13340  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13341  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13342  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13343  * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
13344  * request's name).
13345  * @return A cookie
13346  *
13347  * Fills the destination rectangle with the background pixel from \a gc, then
13348  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13349  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13350  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13351  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13352  *
13353  * Note that using X core fonts is deprecated (but still supported) in favor of
13354  * client-side rendering using Xft.
13355  *
13356  * This form can be used only if the request will not cause
13357  * a reply to be generated. Any returned error will be
13358  * saved for handling by xcb_request_check().
13359  */
13360 
13361 /*****************************************************************************
13362  **
13363  ** xcb_void_cookie_t xcb_image_text_16_checked
13364  **
13365  ** @param xcb_connection_t   *c
13366  ** @param uint8_t             string_len
13367  ** @param xcb_drawable_t      drawable
13368  ** @param xcb_gcontext_t      gc
13369  ** @param int16_t             x
13370  ** @param int16_t             y
13371  ** @param const xcb_char2b_t *string
13372  ** @returns xcb_void_cookie_t
13373  **
13374  *****************************************************************************/
13375 
13376 xcb_void_cookie_t
13377 xcb_image_text_16_checked (xcb_connection_t   *c  /**< */,
13378                            uint8_t             string_len  /**< */,
13379                            xcb_drawable_t      drawable  /**< */,
13380                            xcb_gcontext_t      gc  /**< */,
13381                            int16_t             x  /**< */,
13382                            int16_t             y  /**< */,
13383                            const xcb_char2b_t *string  /**< */);
13384 
13385 /**
13386  * @brief Draws text
13387  *
13388  * @param c The connection
13389  * @param string_len The length of the \a string in characters. Note that this parameter limited by
13390  * 255 due to using 8 bits!
13391  * @param drawable The drawable (Window or Pixmap) to draw text on.
13392  * @param gc The graphics context to use.
13393  * \n
13394  * The following graphics context components are used: plane-mask, foreground,
13395  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13396  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13397  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13398  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13399  * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
13400  * request's name).
13401  * @return A cookie
13402  *
13403  * Fills the destination rectangle with the background pixel from \a gc, then
13404  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13405  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13406  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13407  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13408  *
13409  * Note that using X core fonts is deprecated (but still supported) in favor of
13410  * client-side rendering using Xft.
13411  *
13412  */
13413 
13414 /*****************************************************************************
13415  **
13416  ** xcb_void_cookie_t xcb_image_text_16
13417  **
13418  ** @param xcb_connection_t   *c
13419  ** @param uint8_t             string_len
13420  ** @param xcb_drawable_t      drawable
13421  ** @param xcb_gcontext_t      gc
13422  ** @param int16_t             x
13423  ** @param int16_t             y
13424  ** @param const xcb_char2b_t *string
13425  ** @returns xcb_void_cookie_t
13426  **
13427  *****************************************************************************/
13428 
13429 xcb_void_cookie_t
13430 xcb_image_text_16 (xcb_connection_t   *c  /**< */,
13431                    uint8_t             string_len  /**< */,
13432                    xcb_drawable_t      drawable  /**< */,
13433                    xcb_gcontext_t      gc  /**< */,
13434                    int16_t             x  /**< */,
13435                    int16_t             y  /**< */,
13436                    const xcb_char2b_t *string  /**< */);
13437 
13438 /**
13439  *
13440  * @param c The connection
13441  * @return A cookie
13442  *
13443  * Delivers a request to the X server.
13444  *
13445  * This form can be used only if the request will not cause
13446  * a reply to be generated. Any returned error will be
13447  * saved for handling by xcb_request_check().
13448  */
13449 
13450 /*****************************************************************************
13451  **
13452  ** xcb_void_cookie_t xcb_create_colormap_checked
13453  **
13454  ** @param xcb_connection_t *c
13455  ** @param uint8_t           alloc
13456  ** @param xcb_colormap_t    mid
13457  ** @param xcb_window_t      window
13458  ** @param xcb_visualid_t    visual
13459  ** @returns xcb_void_cookie_t
13460  **
13461  *****************************************************************************/
13462 
13463 xcb_void_cookie_t
13464 xcb_create_colormap_checked (xcb_connection_t *c  /**< */,
13465                              uint8_t           alloc  /**< */,
13466                              xcb_colormap_t    mid  /**< */,
13467                              xcb_window_t      window  /**< */,
13468                              xcb_visualid_t    visual  /**< */);
13469 
13470 /**
13471  *
13472  * @param c The connection
13473  * @return A cookie
13474  *
13475  * Delivers a request to the X server.
13476  *
13477  */
13478 
13479 /*****************************************************************************
13480  **
13481  ** xcb_void_cookie_t xcb_create_colormap
13482  **
13483  ** @param xcb_connection_t *c
13484  ** @param uint8_t           alloc
13485  ** @param xcb_colormap_t    mid
13486  ** @param xcb_window_t      window
13487  ** @param xcb_visualid_t    visual
13488  ** @returns xcb_void_cookie_t
13489  **
13490  *****************************************************************************/
13491 
13492 xcb_void_cookie_t
13493 xcb_create_colormap (xcb_connection_t *c  /**< */,
13494                      uint8_t           alloc  /**< */,
13495                      xcb_colormap_t    mid  /**< */,
13496                      xcb_window_t      window  /**< */,
13497                      xcb_visualid_t    visual  /**< */);
13498 
13499 /**
13500  *
13501  * @param c The connection
13502  * @return A cookie
13503  *
13504  * Delivers a request to the X server.
13505  *
13506  * This form can be used only if the request will not cause
13507  * a reply to be generated. Any returned error will be
13508  * saved for handling by xcb_request_check().
13509  */
13510 
13511 /*****************************************************************************
13512  **
13513  ** xcb_void_cookie_t xcb_free_colormap_checked
13514  **
13515  ** @param xcb_connection_t *c
13516  ** @param xcb_colormap_t    cmap
13517  ** @returns xcb_void_cookie_t
13518  **
13519  *****************************************************************************/
13520 
13521 xcb_void_cookie_t
13522 xcb_free_colormap_checked (xcb_connection_t *c  /**< */,
13523                            xcb_colormap_t    cmap  /**< */);
13524 
13525 /**
13526  *
13527  * @param c The connection
13528  * @return A cookie
13529  *
13530  * Delivers a request to the X server.
13531  *
13532  */
13533 
13534 /*****************************************************************************
13535  **
13536  ** xcb_void_cookie_t xcb_free_colormap
13537  **
13538  ** @param xcb_connection_t *c
13539  ** @param xcb_colormap_t    cmap
13540  ** @returns xcb_void_cookie_t
13541  **
13542  *****************************************************************************/
13543 
13544 xcb_void_cookie_t
13545 xcb_free_colormap (xcb_connection_t *c  /**< */,
13546                    xcb_colormap_t    cmap  /**< */);
13547 
13548 /**
13549  *
13550  * @param c The connection
13551  * @return A cookie
13552  *
13553  * Delivers a request to the X server.
13554  *
13555  * This form can be used only if the request will not cause
13556  * a reply to be generated. Any returned error will be
13557  * saved for handling by xcb_request_check().
13558  */
13559 
13560 /*****************************************************************************
13561  **
13562  ** xcb_void_cookie_t xcb_copy_colormap_and_free_checked
13563  **
13564  ** @param xcb_connection_t *c
13565  ** @param xcb_colormap_t    mid
13566  ** @param xcb_colormap_t    src_cmap
13567  ** @returns xcb_void_cookie_t
13568  **
13569  *****************************************************************************/
13570 
13571 xcb_void_cookie_t
13572 xcb_copy_colormap_and_free_checked (xcb_connection_t *c  /**< */,
13573                                     xcb_colormap_t    mid  /**< */,
13574                                     xcb_colormap_t    src_cmap  /**< */);
13575 
13576 /**
13577  *
13578  * @param c The connection
13579  * @return A cookie
13580  *
13581  * Delivers a request to the X server.
13582  *
13583  */
13584 
13585 /*****************************************************************************
13586  **
13587  ** xcb_void_cookie_t xcb_copy_colormap_and_free
13588  **
13589  ** @param xcb_connection_t *c
13590  ** @param xcb_colormap_t    mid
13591  ** @param xcb_colormap_t    src_cmap
13592  ** @returns xcb_void_cookie_t
13593  **
13594  *****************************************************************************/
13595 
13596 xcb_void_cookie_t
13597 xcb_copy_colormap_and_free (xcb_connection_t *c  /**< */,
13598                             xcb_colormap_t    mid  /**< */,
13599                             xcb_colormap_t    src_cmap  /**< */);
13600 
13601 /**
13602  *
13603  * @param c The connection
13604  * @return A cookie
13605  *
13606  * Delivers a request to the X server.
13607  *
13608  * This form can be used only if the request will not cause
13609  * a reply to be generated. Any returned error will be
13610  * saved for handling by xcb_request_check().
13611  */
13612 
13613 /*****************************************************************************
13614  **
13615  ** xcb_void_cookie_t xcb_install_colormap_checked
13616  **
13617  ** @param xcb_connection_t *c
13618  ** @param xcb_colormap_t    cmap
13619  ** @returns xcb_void_cookie_t
13620  **
13621  *****************************************************************************/
13622 
13623 xcb_void_cookie_t
13624 xcb_install_colormap_checked (xcb_connection_t *c  /**< */,
13625                               xcb_colormap_t    cmap  /**< */);
13626 
13627 /**
13628  *
13629  * @param c The connection
13630  * @return A cookie
13631  *
13632  * Delivers a request to the X server.
13633  *
13634  */
13635 
13636 /*****************************************************************************
13637  **
13638  ** xcb_void_cookie_t xcb_install_colormap
13639  **
13640  ** @param xcb_connection_t *c
13641  ** @param xcb_colormap_t    cmap
13642  ** @returns xcb_void_cookie_t
13643  **
13644  *****************************************************************************/
13645 
13646 xcb_void_cookie_t
13647 xcb_install_colormap (xcb_connection_t *c  /**< */,
13648                       xcb_colormap_t    cmap  /**< */);
13649 
13650 /**
13651  *
13652  * @param c The connection
13653  * @return A cookie
13654  *
13655  * Delivers a request to the X server.
13656  *
13657  * This form can be used only if the request will not cause
13658  * a reply to be generated. Any returned error will be
13659  * saved for handling by xcb_request_check().
13660  */
13661 
13662 /*****************************************************************************
13663  **
13664  ** xcb_void_cookie_t xcb_uninstall_colormap_checked
13665  **
13666  ** @param xcb_connection_t *c
13667  ** @param xcb_colormap_t    cmap
13668  ** @returns xcb_void_cookie_t
13669  **
13670  *****************************************************************************/
13671 
13672 xcb_void_cookie_t
13673 xcb_uninstall_colormap_checked (xcb_connection_t *c  /**< */,
13674                                 xcb_colormap_t    cmap  /**< */);
13675 
13676 /**
13677  *
13678  * @param c The connection
13679  * @return A cookie
13680  *
13681  * Delivers a request to the X server.
13682  *
13683  */
13684 
13685 /*****************************************************************************
13686  **
13687  ** xcb_void_cookie_t xcb_uninstall_colormap
13688  **
13689  ** @param xcb_connection_t *c
13690  ** @param xcb_colormap_t    cmap
13691  ** @returns xcb_void_cookie_t
13692  **
13693  *****************************************************************************/
13694 
13695 xcb_void_cookie_t
13696 xcb_uninstall_colormap (xcb_connection_t *c  /**< */,
13697                         xcb_colormap_t    cmap  /**< */);
13698 
13699 int
13700 xcb_list_installed_colormaps_sizeof (const void  *_buffer  /**< */);
13701 
13702 /**
13703  *
13704  * @param c The connection
13705  * @return A cookie
13706  *
13707  * Delivers a request to the X server.
13708  *
13709  */
13710 
13711 /*****************************************************************************
13712  **
13713  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps
13714  **
13715  ** @param xcb_connection_t *c
13716  ** @param xcb_window_t      window
13717  ** @returns xcb_list_installed_colormaps_cookie_t
13718  **
13719  *****************************************************************************/
13720 
13721 xcb_list_installed_colormaps_cookie_t
13722 xcb_list_installed_colormaps (xcb_connection_t *c  /**< */,
13723                               xcb_window_t      window  /**< */);
13724 
13725 /**
13726  *
13727  * @param c The connection
13728  * @return A cookie
13729  *
13730  * Delivers a request to the X server.
13731  *
13732  * This form can be used only if the request will cause
13733  * a reply to be generated. Any returned error will be
13734  * placed in the event queue.
13735  */
13736 
13737 /*****************************************************************************
13738  **
13739  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps_unchecked
13740  **
13741  ** @param xcb_connection_t *c
13742  ** @param xcb_window_t      window
13743  ** @returns xcb_list_installed_colormaps_cookie_t
13744  **
13745  *****************************************************************************/
13746 
13747 xcb_list_installed_colormaps_cookie_t
13748 xcb_list_installed_colormaps_unchecked (xcb_connection_t *c  /**< */,
13749                                         xcb_window_t      window  /**< */);
13750 
13751 
13752 /*****************************************************************************
13753  **
13754  ** xcb_colormap_t * xcb_list_installed_colormaps_cmaps
13755  **
13756  ** @param const xcb_list_installed_colormaps_reply_t *R
13757  ** @returns xcb_colormap_t *
13758  **
13759  *****************************************************************************/
13760 
13761 xcb_colormap_t *
13762 xcb_list_installed_colormaps_cmaps (const xcb_list_installed_colormaps_reply_t *R  /**< */);
13763 
13764 
13765 /*****************************************************************************
13766  **
13767  ** int xcb_list_installed_colormaps_cmaps_length
13768  **
13769  ** @param const xcb_list_installed_colormaps_reply_t *R
13770  ** @returns int
13771  **
13772  *****************************************************************************/
13773 
13774 int
13775 xcb_list_installed_colormaps_cmaps_length (const xcb_list_installed_colormaps_reply_t *R  /**< */);
13776 
13777 
13778 /*****************************************************************************
13779  **
13780  ** xcb_generic_iterator_t xcb_list_installed_colormaps_cmaps_end
13781  **
13782  ** @param const xcb_list_installed_colormaps_reply_t *R
13783  ** @returns xcb_generic_iterator_t
13784  **
13785  *****************************************************************************/
13786 
13787 xcb_generic_iterator_t
13788 xcb_list_installed_colormaps_cmaps_end (const xcb_list_installed_colormaps_reply_t *R  /**< */);
13789 
13790 /**
13791  * Return the reply
13792  * @param c      The connection
13793  * @param cookie The cookie
13794  * @param e      The xcb_generic_error_t supplied
13795  *
13796  * Returns the reply of the request asked by
13797  *
13798  * The parameter @p e supplied to this function must be NULL if
13799  * xcb_list_installed_colormaps_unchecked(). is used.
13800  * Otherwise, it stores the error if any.
13801  *
13802  * The returned value must be freed by the caller using free().
13803  */
13804 
13805 /*****************************************************************************
13806  **
13807  ** xcb_list_installed_colormaps_reply_t * xcb_list_installed_colormaps_reply
13808  **
13809  ** @param xcb_connection_t                       *c
13810  ** @param xcb_list_installed_colormaps_cookie_t   cookie
13811  ** @param xcb_generic_error_t                   **e
13812  ** @returns xcb_list_installed_colormaps_reply_t *
13813  **
13814  *****************************************************************************/
13815 
13816 xcb_list_installed_colormaps_reply_t *
13817 xcb_list_installed_colormaps_reply (xcb_connection_t                       *c  /**< */,
13818                                     xcb_list_installed_colormaps_cookie_t   cookie  /**< */,
13819                                     xcb_generic_error_t                   **e  /**< */);
13820 
13821 /**
13822  * @brief Allocate a color
13823  *
13824  * @param c The connection
13825  * @param cmap TODO
13826  * @param red The red value of your color.
13827  * @param green The green value of your color.
13828  * @param blue The blue value of your color.
13829  * @return A cookie
13830  *
13831  * Allocates a read-only colormap entry corresponding to the closest RGB value
13832  * supported by the hardware. If you are using TrueColor, you can take a shortcut
13833  * and directly calculate the color pixel value to avoid the round trip. But, for
13834  * example, on 16-bit color setups (VNC), you can easily get the closest supported
13835  * RGB value to the RGB value you are specifying.
13836  *
13837  */
13838 
13839 /*****************************************************************************
13840  **
13841  ** xcb_alloc_color_cookie_t xcb_alloc_color
13842  **
13843  ** @param xcb_connection_t *c
13844  ** @param xcb_colormap_t    cmap
13845  ** @param uint16_t          red
13846  ** @param uint16_t          green
13847  ** @param uint16_t          blue
13848  ** @returns xcb_alloc_color_cookie_t
13849  **
13850  *****************************************************************************/
13851 
13852 xcb_alloc_color_cookie_t
13853 xcb_alloc_color (xcb_connection_t *c  /**< */,
13854                  xcb_colormap_t    cmap  /**< */,
13855                  uint16_t          red  /**< */,
13856                  uint16_t          green  /**< */,
13857                  uint16_t          blue  /**< */);
13858 
13859 /**
13860  * @brief Allocate a color
13861  *
13862  * @param c The connection
13863  * @param cmap TODO
13864  * @param red The red value of your color.
13865  * @param green The green value of your color.
13866  * @param blue The blue value of your color.
13867  * @return A cookie
13868  *
13869  * Allocates a read-only colormap entry corresponding to the closest RGB value
13870  * supported by the hardware. If you are using TrueColor, you can take a shortcut
13871  * and directly calculate the color pixel value to avoid the round trip. But, for
13872  * example, on 16-bit color setups (VNC), you can easily get the closest supported
13873  * RGB value to the RGB value you are specifying.
13874  *
13875  * This form can be used only if the request will cause
13876  * a reply to be generated. Any returned error will be
13877  * placed in the event queue.
13878  */
13879 
13880 /*****************************************************************************
13881  **
13882  ** xcb_alloc_color_cookie_t xcb_alloc_color_unchecked
13883  **
13884  ** @param xcb_connection_t *c
13885  ** @param xcb_colormap_t    cmap
13886  ** @param uint16_t          red
13887  ** @param uint16_t          green
13888  ** @param uint16_t          blue
13889  ** @returns xcb_alloc_color_cookie_t
13890  **
13891  *****************************************************************************/
13892 
13893 xcb_alloc_color_cookie_t
13894 xcb_alloc_color_unchecked (xcb_connection_t *c  /**< */,
13895                            xcb_colormap_t    cmap  /**< */,
13896                            uint16_t          red  /**< */,
13897                            uint16_t          green  /**< */,
13898                            uint16_t          blue  /**< */);
13899 
13900 /**
13901  * Return the reply
13902  * @param c      The connection
13903  * @param cookie The cookie
13904  * @param e      The xcb_generic_error_t supplied
13905  *
13906  * Returns the reply of the request asked by
13907  *
13908  * The parameter @p e supplied to this function must be NULL if
13909  * xcb_alloc_color_unchecked(). is used.
13910  * Otherwise, it stores the error if any.
13911  *
13912  * The returned value must be freed by the caller using free().
13913  */
13914 
13915 /*****************************************************************************
13916  **
13917  ** xcb_alloc_color_reply_t * xcb_alloc_color_reply
13918  **
13919  ** @param xcb_connection_t          *c
13920  ** @param xcb_alloc_color_cookie_t   cookie
13921  ** @param xcb_generic_error_t      **e
13922  ** @returns xcb_alloc_color_reply_t *
13923  **
13924  *****************************************************************************/
13925 
13926 xcb_alloc_color_reply_t *
13927 xcb_alloc_color_reply (xcb_connection_t          *c  /**< */,
13928                        xcb_alloc_color_cookie_t   cookie  /**< */,
13929                        xcb_generic_error_t      **e  /**< */);
13930 
13931 int
13932 xcb_alloc_named_color_sizeof (const void  *_buffer  /**< */);
13933 
13934 /**
13935  *
13936  * @param c The connection
13937  * @return A cookie
13938  *
13939  * Delivers a request to the X server.
13940  *
13941  */
13942 
13943 /*****************************************************************************
13944  **
13945  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color
13946  **
13947  ** @param xcb_connection_t *c
13948  ** @param xcb_colormap_t    cmap
13949  ** @param uint16_t          name_len
13950  ** @param const char       *name
13951  ** @returns xcb_alloc_named_color_cookie_t
13952  **
13953  *****************************************************************************/
13954 
13955 xcb_alloc_named_color_cookie_t
13956 xcb_alloc_named_color (xcb_connection_t *c  /**< */,
13957                        xcb_colormap_t    cmap  /**< */,
13958                        uint16_t          name_len  /**< */,
13959                        const char       *name  /**< */);
13960 
13961 /**
13962  *
13963  * @param c The connection
13964  * @return A cookie
13965  *
13966  * Delivers a request to the X server.
13967  *
13968  * This form can be used only if the request will cause
13969  * a reply to be generated. Any returned error will be
13970  * placed in the event queue.
13971  */
13972 
13973 /*****************************************************************************
13974  **
13975  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color_unchecked
13976  **
13977  ** @param xcb_connection_t *c
13978  ** @param xcb_colormap_t    cmap
13979  ** @param uint16_t          name_len
13980  ** @param const char       *name
13981  ** @returns xcb_alloc_named_color_cookie_t
13982  **
13983  *****************************************************************************/
13984 
13985 xcb_alloc_named_color_cookie_t
13986 xcb_alloc_named_color_unchecked (xcb_connection_t *c  /**< */,
13987                                  xcb_colormap_t    cmap  /**< */,
13988                                  uint16_t          name_len  /**< */,
13989                                  const char       *name  /**< */);
13990 
13991 /**
13992  * Return the reply
13993  * @param c      The connection
13994  * @param cookie The cookie
13995  * @param e      The xcb_generic_error_t supplied
13996  *
13997  * Returns the reply of the request asked by
13998  *
13999  * The parameter @p e supplied to this function must be NULL if
14000  * xcb_alloc_named_color_unchecked(). is used.
14001  * Otherwise, it stores the error if any.
14002  *
14003  * The returned value must be freed by the caller using free().
14004  */
14005 
14006 /*****************************************************************************
14007  **
14008  ** xcb_alloc_named_color_reply_t * xcb_alloc_named_color_reply
14009  **
14010  ** @param xcb_connection_t                *c
14011  ** @param xcb_alloc_named_color_cookie_t   cookie
14012  ** @param xcb_generic_error_t            **e
14013  ** @returns xcb_alloc_named_color_reply_t *
14014  **
14015  *****************************************************************************/
14016 
14017 xcb_alloc_named_color_reply_t *
14018 xcb_alloc_named_color_reply (xcb_connection_t                *c  /**< */,
14019                              xcb_alloc_named_color_cookie_t   cookie  /**< */,
14020                              xcb_generic_error_t            **e  /**< */);
14021 
14022 int
14023 xcb_alloc_color_cells_sizeof (const void  *_buffer  /**< */);
14024 
14025 /**
14026  *
14027  * @param c The connection
14028  * @return A cookie
14029  *
14030  * Delivers a request to the X server.
14031  *
14032  */
14033 
14034 /*****************************************************************************
14035  **
14036  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells
14037  **
14038  ** @param xcb_connection_t *c
14039  ** @param uint8_t           contiguous
14040  ** @param xcb_colormap_t    cmap
14041  ** @param uint16_t          colors
14042  ** @param uint16_t          planes
14043  ** @returns xcb_alloc_color_cells_cookie_t
14044  **
14045  *****************************************************************************/
14046 
14047 xcb_alloc_color_cells_cookie_t
14048 xcb_alloc_color_cells (xcb_connection_t *c  /**< */,
14049                        uint8_t           contiguous  /**< */,
14050                        xcb_colormap_t    cmap  /**< */,
14051                        uint16_t          colors  /**< */,
14052                        uint16_t          planes  /**< */);
14053 
14054 /**
14055  *
14056  * @param c The connection
14057  * @return A cookie
14058  *
14059  * Delivers a request to the X server.
14060  *
14061  * This form can be used only if the request will cause
14062  * a reply to be generated. Any returned error will be
14063  * placed in the event queue.
14064  */
14065 
14066 /*****************************************************************************
14067  **
14068  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells_unchecked
14069  **
14070  ** @param xcb_connection_t *c
14071  ** @param uint8_t           contiguous
14072  ** @param xcb_colormap_t    cmap
14073  ** @param uint16_t          colors
14074  ** @param uint16_t          planes
14075  ** @returns xcb_alloc_color_cells_cookie_t
14076  **
14077  *****************************************************************************/
14078 
14079 xcb_alloc_color_cells_cookie_t
14080 xcb_alloc_color_cells_unchecked (xcb_connection_t *c  /**< */,
14081                                  uint8_t           contiguous  /**< */,
14082                                  xcb_colormap_t    cmap  /**< */,
14083                                  uint16_t          colors  /**< */,
14084                                  uint16_t          planes  /**< */);
14085 
14086 
14087 /*****************************************************************************
14088  **
14089  ** uint32_t * xcb_alloc_color_cells_pixels
14090  **
14091  ** @param const xcb_alloc_color_cells_reply_t *R
14092  ** @returns uint32_t *
14093  **
14094  *****************************************************************************/
14095 
14096 uint32_t *
14097 xcb_alloc_color_cells_pixels (const xcb_alloc_color_cells_reply_t *R  /**< */);
14098 
14099 
14100 /*****************************************************************************
14101  **
14102  ** int xcb_alloc_color_cells_pixels_length
14103  **
14104  ** @param const xcb_alloc_color_cells_reply_t *R
14105  ** @returns int
14106  **
14107  *****************************************************************************/
14108 
14109 int
14110 xcb_alloc_color_cells_pixels_length (const xcb_alloc_color_cells_reply_t *R  /**< */);
14111 
14112 
14113 /*****************************************************************************
14114  **
14115  ** xcb_generic_iterator_t xcb_alloc_color_cells_pixels_end
14116  **
14117  ** @param const xcb_alloc_color_cells_reply_t *R
14118  ** @returns xcb_generic_iterator_t
14119  **
14120  *****************************************************************************/
14121 
14122 xcb_generic_iterator_t
14123 xcb_alloc_color_cells_pixels_end (const xcb_alloc_color_cells_reply_t *R  /**< */);
14124 
14125 
14126 /*****************************************************************************
14127  **
14128  ** uint32_t * xcb_alloc_color_cells_masks
14129  **
14130  ** @param const xcb_alloc_color_cells_reply_t *R
14131  ** @returns uint32_t *
14132  **
14133  *****************************************************************************/
14134 
14135 uint32_t *
14136 xcb_alloc_color_cells_masks (const xcb_alloc_color_cells_reply_t *R  /**< */);
14137 
14138 
14139 /*****************************************************************************
14140  **
14141  ** int xcb_alloc_color_cells_masks_length
14142  **
14143  ** @param const xcb_alloc_color_cells_reply_t *R
14144  ** @returns int
14145  **
14146  *****************************************************************************/
14147 
14148 int
14149 xcb_alloc_color_cells_masks_length (const xcb_alloc_color_cells_reply_t *R  /**< */);
14150 
14151 
14152 /*****************************************************************************
14153  **
14154  ** xcb_generic_iterator_t xcb_alloc_color_cells_masks_end
14155  **
14156  ** @param const xcb_alloc_color_cells_reply_t *R
14157  ** @returns xcb_generic_iterator_t
14158  **
14159  *****************************************************************************/
14160 
14161 xcb_generic_iterator_t
14162 xcb_alloc_color_cells_masks_end (const xcb_alloc_color_cells_reply_t *R  /**< */);
14163 
14164 /**
14165  * Return the reply
14166  * @param c      The connection
14167  * @param cookie The cookie
14168  * @param e      The xcb_generic_error_t supplied
14169  *
14170  * Returns the reply of the request asked by
14171  *
14172  * The parameter @p e supplied to this function must be NULL if
14173  * xcb_alloc_color_cells_unchecked(). is used.
14174  * Otherwise, it stores the error if any.
14175  *
14176  * The returned value must be freed by the caller using free().
14177  */
14178 
14179 /*****************************************************************************
14180  **
14181  ** xcb_alloc_color_cells_reply_t * xcb_alloc_color_cells_reply
14182  **
14183  ** @param xcb_connection_t                *c
14184  ** @param xcb_alloc_color_cells_cookie_t   cookie
14185  ** @param xcb_generic_error_t            **e
14186  ** @returns xcb_alloc_color_cells_reply_t *
14187  **
14188  *****************************************************************************/
14189 
14190 xcb_alloc_color_cells_reply_t *
14191 xcb_alloc_color_cells_reply (xcb_connection_t                *c  /**< */,
14192                              xcb_alloc_color_cells_cookie_t   cookie  /**< */,
14193                              xcb_generic_error_t            **e  /**< */);
14194 
14195 int
14196 xcb_alloc_color_planes_sizeof (const void  *_buffer  /**< */);
14197 
14198 /**
14199  *
14200  * @param c The connection
14201  * @return A cookie
14202  *
14203  * Delivers a request to the X server.
14204  *
14205  */
14206 
14207 /*****************************************************************************
14208  **
14209  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes
14210  **
14211  ** @param xcb_connection_t *c
14212  ** @param uint8_t           contiguous
14213  ** @param xcb_colormap_t    cmap
14214  ** @param uint16_t          colors
14215  ** @param uint16_t          reds
14216  ** @param uint16_t          greens
14217  ** @param uint16_t          blues
14218  ** @returns xcb_alloc_color_planes_cookie_t
14219  **
14220  *****************************************************************************/
14221 
14222 xcb_alloc_color_planes_cookie_t
14223 xcb_alloc_color_planes (xcb_connection_t *c  /**< */,
14224                         uint8_t           contiguous  /**< */,
14225                         xcb_colormap_t    cmap  /**< */,
14226                         uint16_t          colors  /**< */,
14227                         uint16_t          reds  /**< */,
14228                         uint16_t          greens  /**< */,
14229                         uint16_t          blues  /**< */);
14230 
14231 /**
14232  *
14233  * @param c The connection
14234  * @return A cookie
14235  *
14236  * Delivers a request to the X server.
14237  *
14238  * This form can be used only if the request will cause
14239  * a reply to be generated. Any returned error will be
14240  * placed in the event queue.
14241  */
14242 
14243 /*****************************************************************************
14244  **
14245  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes_unchecked
14246  **
14247  ** @param xcb_connection_t *c
14248  ** @param uint8_t           contiguous
14249  ** @param xcb_colormap_t    cmap
14250  ** @param uint16_t          colors
14251  ** @param uint16_t          reds
14252  ** @param uint16_t          greens
14253  ** @param uint16_t          blues
14254  ** @returns xcb_alloc_color_planes_cookie_t
14255  **
14256  *****************************************************************************/
14257 
14258 xcb_alloc_color_planes_cookie_t
14259 xcb_alloc_color_planes_unchecked (xcb_connection_t *c  /**< */,
14260                                   uint8_t           contiguous  /**< */,
14261                                   xcb_colormap_t    cmap  /**< */,
14262                                   uint16_t          colors  /**< */,
14263                                   uint16_t          reds  /**< */,
14264                                   uint16_t          greens  /**< */,
14265                                   uint16_t          blues  /**< */);
14266 
14267 
14268 /*****************************************************************************
14269  **
14270  ** uint32_t * xcb_alloc_color_planes_pixels
14271  **
14272  ** @param const xcb_alloc_color_planes_reply_t *R
14273  ** @returns uint32_t *
14274  **
14275  *****************************************************************************/
14276 
14277 uint32_t *
14278 xcb_alloc_color_planes_pixels (const xcb_alloc_color_planes_reply_t *R  /**< */);
14279 
14280 
14281 /*****************************************************************************
14282  **
14283  ** int xcb_alloc_color_planes_pixels_length
14284  **
14285  ** @param const xcb_alloc_color_planes_reply_t *R
14286  ** @returns int
14287  **
14288  *****************************************************************************/
14289 
14290 int
14291 xcb_alloc_color_planes_pixels_length (const xcb_alloc_color_planes_reply_t *R  /**< */);
14292 
14293 
14294 /*****************************************************************************
14295  **
14296  ** xcb_generic_iterator_t xcb_alloc_color_planes_pixels_end
14297  **
14298  ** @param const xcb_alloc_color_planes_reply_t *R
14299  ** @returns xcb_generic_iterator_t
14300  **
14301  *****************************************************************************/
14302 
14303 xcb_generic_iterator_t
14304 xcb_alloc_color_planes_pixels_end (const xcb_alloc_color_planes_reply_t *R  /**< */);
14305 
14306 /**
14307  * Return the reply
14308  * @param c      The connection
14309  * @param cookie The cookie
14310  * @param e      The xcb_generic_error_t supplied
14311  *
14312  * Returns the reply of the request asked by
14313  *
14314  * The parameter @p e supplied to this function must be NULL if
14315  * xcb_alloc_color_planes_unchecked(). is used.
14316  * Otherwise, it stores the error if any.
14317  *
14318  * The returned value must be freed by the caller using free().
14319  */
14320 
14321 /*****************************************************************************
14322  **
14323  ** xcb_alloc_color_planes_reply_t * xcb_alloc_color_planes_reply
14324  **
14325  ** @param xcb_connection_t                 *c
14326  ** @param xcb_alloc_color_planes_cookie_t   cookie
14327  ** @param xcb_generic_error_t             **e
14328  ** @returns xcb_alloc_color_planes_reply_t *
14329  **
14330  *****************************************************************************/
14331 
14332 xcb_alloc_color_planes_reply_t *
14333 xcb_alloc_color_planes_reply (xcb_connection_t                 *c  /**< */,
14334                               xcb_alloc_color_planes_cookie_t   cookie  /**< */,
14335                               xcb_generic_error_t             **e  /**< */);
14336 
14337 int
14338 xcb_free_colors_sizeof (const void  *_buffer  /**< */,
14339                         uint32_t     pixels_len  /**< */);
14340 
14341 /**
14342  *
14343  * @param c The connection
14344  * @return A cookie
14345  *
14346  * Delivers a request to the X server.
14347  *
14348  * This form can be used only if the request will not cause
14349  * a reply to be generated. Any returned error will be
14350  * saved for handling by xcb_request_check().
14351  */
14352 
14353 /*****************************************************************************
14354  **
14355  ** xcb_void_cookie_t xcb_free_colors_checked
14356  **
14357  ** @param xcb_connection_t *c
14358  ** @param xcb_colormap_t    cmap
14359  ** @param uint32_t          plane_mask
14360  ** @param uint32_t          pixels_len
14361  ** @param const uint32_t   *pixels
14362  ** @returns xcb_void_cookie_t
14363  **
14364  *****************************************************************************/
14365 
14366 xcb_void_cookie_t
14367 xcb_free_colors_checked (xcb_connection_t *c  /**< */,
14368                          xcb_colormap_t    cmap  /**< */,
14369                          uint32_t          plane_mask  /**< */,
14370                          uint32_t          pixels_len  /**< */,
14371                          const uint32_t   *pixels  /**< */);
14372 
14373 /**
14374  *
14375  * @param c The connection
14376  * @return A cookie
14377  *
14378  * Delivers a request to the X server.
14379  *
14380  */
14381 
14382 /*****************************************************************************
14383  **
14384  ** xcb_void_cookie_t xcb_free_colors
14385  **
14386  ** @param xcb_connection_t *c
14387  ** @param xcb_colormap_t    cmap
14388  ** @param uint32_t          plane_mask
14389  ** @param uint32_t          pixels_len
14390  ** @param const uint32_t   *pixels
14391  ** @returns xcb_void_cookie_t
14392  **
14393  *****************************************************************************/
14394 
14395 xcb_void_cookie_t
14396 xcb_free_colors (xcb_connection_t *c  /**< */,
14397                  xcb_colormap_t    cmap  /**< */,
14398                  uint32_t          plane_mask  /**< */,
14399                  uint32_t          pixels_len  /**< */,
14400                  const uint32_t   *pixels  /**< */);
14401 
14402 /**
14403  * Get the next element of the iterator
14404  * @param i Pointer to a xcb_coloritem_iterator_t
14405  *
14406  * Get the next element in the iterator. The member rem is
14407  * decreased by one. The member data points to the next
14408  * element. The member index is increased by sizeof(xcb_coloritem_t)
14409  */
14410 
14411 /*****************************************************************************
14412  **
14413  ** void xcb_coloritem_next
14414  **
14415  ** @param xcb_coloritem_iterator_t *i
14416  ** @returns void
14417  **
14418  *****************************************************************************/
14419 
14420 void
14421 xcb_coloritem_next (xcb_coloritem_iterator_t *i  /**< */);
14422 
14423 /**
14424  * Return the iterator pointing to the last element
14425  * @param i An xcb_coloritem_iterator_t
14426  * @return  The iterator pointing to the last element
14427  *
14428  * Set the current element in the iterator to the last element.
14429  * The member rem is set to 0. The member data points to the
14430  * last element.
14431  */
14432 
14433 /*****************************************************************************
14434  **
14435  ** xcb_generic_iterator_t xcb_coloritem_end
14436  **
14437  ** @param xcb_coloritem_iterator_t i
14438  ** @returns xcb_generic_iterator_t
14439  **
14440  *****************************************************************************/
14441 
14442 xcb_generic_iterator_t
14443 xcb_coloritem_end (xcb_coloritem_iterator_t i  /**< */);
14444 
14445 int
14446 xcb_store_colors_sizeof (const void  *_buffer  /**< */,
14447                          uint32_t     items_len  /**< */);
14448 
14449 /**
14450  *
14451  * @param c The connection
14452  * @return A cookie
14453  *
14454  * Delivers a request to the X server.
14455  *
14456  * This form can be used only if the request will not cause
14457  * a reply to be generated. Any returned error will be
14458  * saved for handling by xcb_request_check().
14459  */
14460 
14461 /*****************************************************************************
14462  **
14463  ** xcb_void_cookie_t xcb_store_colors_checked
14464  **
14465  ** @param xcb_connection_t      *c
14466  ** @param xcb_colormap_t         cmap
14467  ** @param uint32_t               items_len
14468  ** @param const xcb_coloritem_t *items
14469  ** @returns xcb_void_cookie_t
14470  **
14471  *****************************************************************************/
14472 
14473 xcb_void_cookie_t
14474 xcb_store_colors_checked (xcb_connection_t      *c  /**< */,
14475                           xcb_colormap_t         cmap  /**< */,
14476                           uint32_t               items_len  /**< */,
14477                           const xcb_coloritem_t *items  /**< */);
14478 
14479 /**
14480  *
14481  * @param c The connection
14482  * @return A cookie
14483  *
14484  * Delivers a request to the X server.
14485  *
14486  */
14487 
14488 /*****************************************************************************
14489  **
14490  ** xcb_void_cookie_t xcb_store_colors
14491  **
14492  ** @param xcb_connection_t      *c
14493  ** @param xcb_colormap_t         cmap
14494  ** @param uint32_t               items_len
14495  ** @param const xcb_coloritem_t *items
14496  ** @returns xcb_void_cookie_t
14497  **
14498  *****************************************************************************/
14499 
14500 xcb_void_cookie_t
14501 xcb_store_colors (xcb_connection_t      *c  /**< */,
14502                   xcb_colormap_t         cmap  /**< */,
14503                   uint32_t               items_len  /**< */,
14504                   const xcb_coloritem_t *items  /**< */);
14505 
14506 int
14507 xcb_store_named_color_sizeof (const void  *_buffer  /**< */);
14508 
14509 /**
14510  *
14511  * @param c The connection
14512  * @return A cookie
14513  *
14514  * Delivers a request to the X server.
14515  *
14516  * This form can be used only if the request will not cause
14517  * a reply to be generated. Any returned error will be
14518  * saved for handling by xcb_request_check().
14519  */
14520 
14521 /*****************************************************************************
14522  **
14523  ** xcb_void_cookie_t xcb_store_named_color_checked
14524  **
14525  ** @param xcb_connection_t *c
14526  ** @param uint8_t           flags
14527  ** @param xcb_colormap_t    cmap
14528  ** @param uint32_t          pixel
14529  ** @param uint16_t          name_len
14530  ** @param const char       *name
14531  ** @returns xcb_void_cookie_t
14532  **
14533  *****************************************************************************/
14534 
14535 xcb_void_cookie_t
14536 xcb_store_named_color_checked (xcb_connection_t *c  /**< */,
14537                                uint8_t           flags  /**< */,
14538                                xcb_colormap_t    cmap  /**< */,
14539                                uint32_t          pixel  /**< */,
14540                                uint16_t          name_len  /**< */,
14541                                const char       *name  /**< */);
14542 
14543 /**
14544  *
14545  * @param c The connection
14546  * @return A cookie
14547  *
14548  * Delivers a request to the X server.
14549  *
14550  */
14551 
14552 /*****************************************************************************
14553  **
14554  ** xcb_void_cookie_t xcb_store_named_color
14555  **
14556  ** @param xcb_connection_t *c
14557  ** @param uint8_t           flags
14558  ** @param xcb_colormap_t    cmap
14559  ** @param uint32_t          pixel
14560  ** @param uint16_t          name_len
14561  ** @param const char       *name
14562  ** @returns xcb_void_cookie_t
14563  **
14564  *****************************************************************************/
14565 
14566 xcb_void_cookie_t
14567 xcb_store_named_color (xcb_connection_t *c  /**< */,
14568                        uint8_t           flags  /**< */,
14569                        xcb_colormap_t    cmap  /**< */,
14570                        uint32_t          pixel  /**< */,
14571                        uint16_t          name_len  /**< */,
14572                        const char       *name  /**< */);
14573 
14574 /**
14575  * Get the next element of the iterator
14576  * @param i Pointer to a xcb_rgb_iterator_t
14577  *
14578  * Get the next element in the iterator. The member rem is
14579  * decreased by one. The member data points to the next
14580  * element. The member index is increased by sizeof(xcb_rgb_t)
14581  */
14582 
14583 /*****************************************************************************
14584  **
14585  ** void xcb_rgb_next
14586  **
14587  ** @param xcb_rgb_iterator_t *i
14588  ** @returns void
14589  **
14590  *****************************************************************************/
14591 
14592 void
14593 xcb_rgb_next (xcb_rgb_iterator_t *i  /**< */);
14594 
14595 /**
14596  * Return the iterator pointing to the last element
14597  * @param i An xcb_rgb_iterator_t
14598  * @return  The iterator pointing to the last element
14599  *
14600  * Set the current element in the iterator to the last element.
14601  * The member rem is set to 0. The member data points to the
14602  * last element.
14603  */
14604 
14605 /*****************************************************************************
14606  **
14607  ** xcb_generic_iterator_t xcb_rgb_end
14608  **
14609  ** @param xcb_rgb_iterator_t i
14610  ** @returns xcb_generic_iterator_t
14611  **
14612  *****************************************************************************/
14613 
14614 xcb_generic_iterator_t
14615 xcb_rgb_end (xcb_rgb_iterator_t i  /**< */);
14616 
14617 int
14618 xcb_query_colors_sizeof (const void  *_buffer  /**< */,
14619                          uint32_t     pixels_len  /**< */);
14620 
14621 /**
14622  *
14623  * @param c The connection
14624  * @return A cookie
14625  *
14626  * Delivers a request to the X server.
14627  *
14628  */
14629 
14630 /*****************************************************************************
14631  **
14632  ** xcb_query_colors_cookie_t xcb_query_colors
14633  **
14634  ** @param xcb_connection_t *c
14635  ** @param xcb_colormap_t    cmap
14636  ** @param uint32_t          pixels_len
14637  ** @param const uint32_t   *pixels
14638  ** @returns xcb_query_colors_cookie_t
14639  **
14640  *****************************************************************************/
14641 
14642 xcb_query_colors_cookie_t
14643 xcb_query_colors (xcb_connection_t *c  /**< */,
14644                   xcb_colormap_t    cmap  /**< */,
14645                   uint32_t          pixels_len  /**< */,
14646                   const uint32_t   *pixels  /**< */);
14647 
14648 /**
14649  *
14650  * @param c The connection
14651  * @return A cookie
14652  *
14653  * Delivers a request to the X server.
14654  *
14655  * This form can be used only if the request will cause
14656  * a reply to be generated. Any returned error will be
14657  * placed in the event queue.
14658  */
14659 
14660 /*****************************************************************************
14661  **
14662  ** xcb_query_colors_cookie_t xcb_query_colors_unchecked
14663  **
14664  ** @param xcb_connection_t *c
14665  ** @param xcb_colormap_t    cmap
14666  ** @param uint32_t          pixels_len
14667  ** @param const uint32_t   *pixels
14668  ** @returns xcb_query_colors_cookie_t
14669  **
14670  *****************************************************************************/
14671 
14672 xcb_query_colors_cookie_t
14673 xcb_query_colors_unchecked (xcb_connection_t *c  /**< */,
14674                             xcb_colormap_t    cmap  /**< */,
14675                             uint32_t          pixels_len  /**< */,
14676                             const uint32_t   *pixels  /**< */);
14677 
14678 
14679 /*****************************************************************************
14680  **
14681  ** xcb_rgb_t * xcb_query_colors_colors
14682  **
14683  ** @param const xcb_query_colors_reply_t *R
14684  ** @returns xcb_rgb_t *
14685  **
14686  *****************************************************************************/
14687 
14688 xcb_rgb_t *
14689 xcb_query_colors_colors (const xcb_query_colors_reply_t *R  /**< */);
14690 
14691 
14692 /*****************************************************************************
14693  **
14694  ** int xcb_query_colors_colors_length
14695  **
14696  ** @param const xcb_query_colors_reply_t *R
14697  ** @returns int
14698  **
14699  *****************************************************************************/
14700 
14701 int
14702 xcb_query_colors_colors_length (const xcb_query_colors_reply_t *R  /**< */);
14703 
14704 
14705 /*****************************************************************************
14706  **
14707  ** xcb_rgb_iterator_t xcb_query_colors_colors_iterator
14708  **
14709  ** @param const xcb_query_colors_reply_t *R
14710  ** @returns xcb_rgb_iterator_t
14711  **
14712  *****************************************************************************/
14713 
14714 xcb_rgb_iterator_t
14715 xcb_query_colors_colors_iterator (const xcb_query_colors_reply_t *R  /**< */);
14716 
14717 /**
14718  * Return the reply
14719  * @param c      The connection
14720  * @param cookie The cookie
14721  * @param e      The xcb_generic_error_t supplied
14722  *
14723  * Returns the reply of the request asked by
14724  *
14725  * The parameter @p e supplied to this function must be NULL if
14726  * xcb_query_colors_unchecked(). is used.
14727  * Otherwise, it stores the error if any.
14728  *
14729  * The returned value must be freed by the caller using free().
14730  */
14731 
14732 /*****************************************************************************
14733  **
14734  ** xcb_query_colors_reply_t * xcb_query_colors_reply
14735  **
14736  ** @param xcb_connection_t           *c
14737  ** @param xcb_query_colors_cookie_t   cookie
14738  ** @param xcb_generic_error_t       **e
14739  ** @returns xcb_query_colors_reply_t *
14740  **
14741  *****************************************************************************/
14742 
14743 xcb_query_colors_reply_t *
14744 xcb_query_colors_reply (xcb_connection_t           *c  /**< */,
14745                         xcb_query_colors_cookie_t   cookie  /**< */,
14746                         xcb_generic_error_t       **e  /**< */);
14747 
14748 int
14749 xcb_lookup_color_sizeof (const void  *_buffer  /**< */);
14750 
14751 /**
14752  *
14753  * @param c The connection
14754  * @return A cookie
14755  *
14756  * Delivers a request to the X server.
14757  *
14758  */
14759 
14760 /*****************************************************************************
14761  **
14762  ** xcb_lookup_color_cookie_t xcb_lookup_color
14763  **
14764  ** @param xcb_connection_t *c
14765  ** @param xcb_colormap_t    cmap
14766  ** @param uint16_t          name_len
14767  ** @param const char       *name
14768  ** @returns xcb_lookup_color_cookie_t
14769  **
14770  *****************************************************************************/
14771 
14772 xcb_lookup_color_cookie_t
14773 xcb_lookup_color (xcb_connection_t *c  /**< */,
14774                   xcb_colormap_t    cmap  /**< */,
14775                   uint16_t          name_len  /**< */,
14776                   const char       *name  /**< */);
14777 
14778 /**
14779  *
14780  * @param c The connection
14781  * @return A cookie
14782  *
14783  * Delivers a request to the X server.
14784  *
14785  * This form can be used only if the request will cause
14786  * a reply to be generated. Any returned error will be
14787  * placed in the event queue.
14788  */
14789 
14790 /*****************************************************************************
14791  **
14792  ** xcb_lookup_color_cookie_t xcb_lookup_color_unchecked
14793  **
14794  ** @param xcb_connection_t *c
14795  ** @param xcb_colormap_t    cmap
14796  ** @param uint16_t          name_len
14797  ** @param const char       *name
14798  ** @returns xcb_lookup_color_cookie_t
14799  **
14800  *****************************************************************************/
14801 
14802 xcb_lookup_color_cookie_t
14803 xcb_lookup_color_unchecked (xcb_connection_t *c  /**< */,
14804                             xcb_colormap_t    cmap  /**< */,
14805                             uint16_t          name_len  /**< */,
14806                             const char       *name  /**< */);
14807 
14808 /**
14809  * Return the reply
14810  * @param c      The connection
14811  * @param cookie The cookie
14812  * @param e      The xcb_generic_error_t supplied
14813  *
14814  * Returns the reply of the request asked by
14815  *
14816  * The parameter @p e supplied to this function must be NULL if
14817  * xcb_lookup_color_unchecked(). is used.
14818  * Otherwise, it stores the error if any.
14819  *
14820  * The returned value must be freed by the caller using free().
14821  */
14822 
14823 /*****************************************************************************
14824  **
14825  ** xcb_lookup_color_reply_t * xcb_lookup_color_reply
14826  **
14827  ** @param xcb_connection_t           *c
14828  ** @param xcb_lookup_color_cookie_t   cookie
14829  ** @param xcb_generic_error_t       **e
14830  ** @returns xcb_lookup_color_reply_t *
14831  **
14832  *****************************************************************************/
14833 
14834 xcb_lookup_color_reply_t *
14835 xcb_lookup_color_reply (xcb_connection_t           *c  /**< */,
14836                         xcb_lookup_color_cookie_t   cookie  /**< */,
14837                         xcb_generic_error_t       **e  /**< */);
14838 
14839 /**
14840  *
14841  * @param c The connection
14842  * @return A cookie
14843  *
14844  * Delivers a request to the X server.
14845  *
14846  * This form can be used only if the request will not cause
14847  * a reply to be generated. Any returned error will be
14848  * saved for handling by xcb_request_check().
14849  */
14850 
14851 /*****************************************************************************
14852  **
14853  ** xcb_void_cookie_t xcb_create_cursor_checked
14854  **
14855  ** @param xcb_connection_t *c
14856  ** @param xcb_cursor_t      cid
14857  ** @param xcb_pixmap_t      source
14858  ** @param xcb_pixmap_t      mask
14859  ** @param uint16_t          fore_red
14860  ** @param uint16_t          fore_green
14861  ** @param uint16_t          fore_blue
14862  ** @param uint16_t          back_red
14863  ** @param uint16_t          back_green
14864  ** @param uint16_t          back_blue
14865  ** @param uint16_t          x
14866  ** @param uint16_t          y
14867  ** @returns xcb_void_cookie_t
14868  **
14869  *****************************************************************************/
14870 
14871 xcb_void_cookie_t
14872 xcb_create_cursor_checked (xcb_connection_t *c  /**< */,
14873                            xcb_cursor_t      cid  /**< */,
14874                            xcb_pixmap_t      source  /**< */,
14875                            xcb_pixmap_t      mask  /**< */,
14876                            uint16_t          fore_red  /**< */,
14877                            uint16_t          fore_green  /**< */,
14878                            uint16_t          fore_blue  /**< */,
14879                            uint16_t          back_red  /**< */,
14880                            uint16_t          back_green  /**< */,
14881                            uint16_t          back_blue  /**< */,
14882                            uint16_t          x  /**< */,
14883                            uint16_t          y  /**< */);
14884 
14885 /**
14886  *
14887  * @param c The connection
14888  * @return A cookie
14889  *
14890  * Delivers a request to the X server.
14891  *
14892  */
14893 
14894 /*****************************************************************************
14895  **
14896  ** xcb_void_cookie_t xcb_create_cursor
14897  **
14898  ** @param xcb_connection_t *c
14899  ** @param xcb_cursor_t      cid
14900  ** @param xcb_pixmap_t      source
14901  ** @param xcb_pixmap_t      mask
14902  ** @param uint16_t          fore_red
14903  ** @param uint16_t          fore_green
14904  ** @param uint16_t          fore_blue
14905  ** @param uint16_t          back_red
14906  ** @param uint16_t          back_green
14907  ** @param uint16_t          back_blue
14908  ** @param uint16_t          x
14909  ** @param uint16_t          y
14910  ** @returns xcb_void_cookie_t
14911  **
14912  *****************************************************************************/
14913 
14914 xcb_void_cookie_t
14915 xcb_create_cursor (xcb_connection_t *c  /**< */,
14916                    xcb_cursor_t      cid  /**< */,
14917                    xcb_pixmap_t      source  /**< */,
14918                    xcb_pixmap_t      mask  /**< */,
14919                    uint16_t          fore_red  /**< */,
14920                    uint16_t          fore_green  /**< */,
14921                    uint16_t          fore_blue  /**< */,
14922                    uint16_t          back_red  /**< */,
14923                    uint16_t          back_green  /**< */,
14924                    uint16_t          back_blue  /**< */,
14925                    uint16_t          x  /**< */,
14926                    uint16_t          y  /**< */);
14927 
14928 /**
14929  * @brief create cursor
14930  *
14931  * @param c The connection
14932  * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
14933  * @param source_font In which font to look for the cursor glyph.
14934  * @param mask_font In which font to look for the mask glyph.
14935  * @param source_char The glyph of \a source_font to use.
14936  * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
14937  * which source pixels are displayed. All pixels which are set to 0 are not
14938  * displayed.
14939  * @param fore_red The red value of the foreground color.
14940  * @param fore_green The green value of the foreground color.
14941  * @param fore_blue The blue value of the foreground color.
14942  * @param back_red The red value of the background color.
14943  * @param back_green The green value of the background color.
14944  * @param back_blue The blue value of the background color.
14945  * @return A cookie
14946  *
14947  * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
14948  * in a special font named cursor. Applications are encouraged to use this
14949  * interface for their cursors because the font can be customized for the
14950  * individual display type.
14951  *
14952  * All pixels which are set to 1 in the source will use the foreground color (as
14953  * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
14954  * will use the background color (as specified by \a back_red, \a back_green and
14955  * \a back_blue).
14956  *
14957  * This form can be used only if the request will not cause
14958  * a reply to be generated. Any returned error will be
14959  * saved for handling by xcb_request_check().
14960  */
14961 
14962 /*****************************************************************************
14963  **
14964  ** xcb_void_cookie_t xcb_create_glyph_cursor_checked
14965  **
14966  ** @param xcb_connection_t *c
14967  ** @param xcb_cursor_t      cid
14968  ** @param xcb_font_t        source_font
14969  ** @param xcb_font_t        mask_font
14970  ** @param uint16_t          source_char
14971  ** @param uint16_t          mask_char
14972  ** @param uint16_t          fore_red
14973  ** @param uint16_t          fore_green
14974  ** @param uint16_t          fore_blue
14975  ** @param uint16_t          back_red
14976  ** @param uint16_t          back_green
14977  ** @param uint16_t          back_blue
14978  ** @returns xcb_void_cookie_t
14979  **
14980  *****************************************************************************/
14981 
14982 xcb_void_cookie_t
14983 xcb_create_glyph_cursor_checked (xcb_connection_t *c  /**< */,
14984                                  xcb_cursor_t      cid  /**< */,
14985                                  xcb_font_t        source_font  /**< */,
14986                                  xcb_font_t        mask_font  /**< */,
14987                                  uint16_t          source_char  /**< */,
14988                                  uint16_t          mask_char  /**< */,
14989                                  uint16_t          fore_red  /**< */,
14990                                  uint16_t          fore_green  /**< */,
14991                                  uint16_t          fore_blue  /**< */,
14992                                  uint16_t          back_red  /**< */,
14993                                  uint16_t          back_green  /**< */,
14994                                  uint16_t          back_blue  /**< */);
14995 
14996 /**
14997  * @brief create cursor
14998  *
14999  * @param c The connection
15000  * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
15001  * @param source_font In which font to look for the cursor glyph.
15002  * @param mask_font In which font to look for the mask glyph.
15003  * @param source_char The glyph of \a source_font to use.
15004  * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
15005  * which source pixels are displayed. All pixels which are set to 0 are not
15006  * displayed.
15007  * @param fore_red The red value of the foreground color.
15008  * @param fore_green The green value of the foreground color.
15009  * @param fore_blue The blue value of the foreground color.
15010  * @param back_red The red value of the background color.
15011  * @param back_green The green value of the background color.
15012  * @param back_blue The blue value of the background color.
15013  * @return A cookie
15014  *
15015  * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
15016  * in a special font named cursor. Applications are encouraged to use this
15017  * interface for their cursors because the font can be customized for the
15018  * individual display type.
15019  *
15020  * All pixels which are set to 1 in the source will use the foreground color (as
15021  * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
15022  * will use the background color (as specified by \a back_red, \a back_green and
15023  * \a back_blue).
15024  *
15025  */
15026 
15027 /*****************************************************************************
15028  **
15029  ** xcb_void_cookie_t xcb_create_glyph_cursor
15030  **
15031  ** @param xcb_connection_t *c
15032  ** @param xcb_cursor_t      cid
15033  ** @param xcb_font_t        source_font
15034  ** @param xcb_font_t        mask_font
15035  ** @param uint16_t          source_char
15036  ** @param uint16_t          mask_char
15037  ** @param uint16_t          fore_red
15038  ** @param uint16_t          fore_green
15039  ** @param uint16_t          fore_blue
15040  ** @param uint16_t          back_red
15041  ** @param uint16_t          back_green
15042  ** @param uint16_t          back_blue
15043  ** @returns xcb_void_cookie_t
15044  **
15045  *****************************************************************************/
15046 
15047 xcb_void_cookie_t
15048 xcb_create_glyph_cursor (xcb_connection_t *c  /**< */,
15049                          xcb_cursor_t      cid  /**< */,
15050                          xcb_font_t        source_font  /**< */,
15051                          xcb_font_t        mask_font  /**< */,
15052                          uint16_t          source_char  /**< */,
15053                          uint16_t          mask_char  /**< */,
15054                          uint16_t          fore_red  /**< */,
15055                          uint16_t          fore_green  /**< */,
15056                          uint16_t          fore_blue  /**< */,
15057                          uint16_t          back_red  /**< */,
15058                          uint16_t          back_green  /**< */,
15059                          uint16_t          back_blue  /**< */);
15060 
15061 /**
15062  * @brief Deletes a cursor
15063  *
15064  * @param c The connection
15065  * @param cursor The cursor to destroy.
15066  * @return A cookie
15067  *
15068  * Deletes the association between the cursor resource ID and the specified
15069  * cursor. The cursor is freed when no other resource references it.
15070  *
15071  * This form can be used only if the request will not cause
15072  * a reply to be generated. Any returned error will be
15073  * saved for handling by xcb_request_check().
15074  */
15075 
15076 /*****************************************************************************
15077  **
15078  ** xcb_void_cookie_t xcb_free_cursor_checked
15079  **
15080  ** @param xcb_connection_t *c
15081  ** @param xcb_cursor_t      cursor
15082  ** @returns xcb_void_cookie_t
15083  **
15084  *****************************************************************************/
15085 
15086 xcb_void_cookie_t
15087 xcb_free_cursor_checked (xcb_connection_t *c  /**< */,
15088                          xcb_cursor_t      cursor  /**< */);
15089 
15090 /**
15091  * @brief Deletes a cursor
15092  *
15093  * @param c The connection
15094  * @param cursor The cursor to destroy.
15095  * @return A cookie
15096  *
15097  * Deletes the association between the cursor resource ID and the specified
15098  * cursor. The cursor is freed when no other resource references it.
15099  *
15100  */
15101 
15102 /*****************************************************************************
15103  **
15104  ** xcb_void_cookie_t xcb_free_cursor
15105  **
15106  ** @param xcb_connection_t *c
15107  ** @param xcb_cursor_t      cursor
15108  ** @returns xcb_void_cookie_t
15109  **
15110  *****************************************************************************/
15111 
15112 xcb_void_cookie_t
15113 xcb_free_cursor (xcb_connection_t *c  /**< */,
15114                  xcb_cursor_t      cursor  /**< */);
15115 
15116 /**
15117  *
15118  * @param c The connection
15119  * @return A cookie
15120  *
15121  * Delivers a request to the X server.
15122  *
15123  * This form can be used only if the request will not cause
15124  * a reply to be generated. Any returned error will be
15125  * saved for handling by xcb_request_check().
15126  */
15127 
15128 /*****************************************************************************
15129  **
15130  ** xcb_void_cookie_t xcb_recolor_cursor_checked
15131  **
15132  ** @param xcb_connection_t *c
15133  ** @param xcb_cursor_t      cursor
15134  ** @param uint16_t          fore_red
15135  ** @param uint16_t          fore_green
15136  ** @param uint16_t          fore_blue
15137  ** @param uint16_t          back_red
15138  ** @param uint16_t          back_green
15139  ** @param uint16_t          back_blue
15140  ** @returns xcb_void_cookie_t
15141  **
15142  *****************************************************************************/
15143 
15144 xcb_void_cookie_t
15145 xcb_recolor_cursor_checked (xcb_connection_t *c  /**< */,
15146                             xcb_cursor_t      cursor  /**< */,
15147                             uint16_t          fore_red  /**< */,
15148                             uint16_t          fore_green  /**< */,
15149                             uint16_t          fore_blue  /**< */,
15150                             uint16_t          back_red  /**< */,
15151                             uint16_t          back_green  /**< */,
15152                             uint16_t          back_blue  /**< */);
15153 
15154 /**
15155  *
15156  * @param c The connection
15157  * @return A cookie
15158  *
15159  * Delivers a request to the X server.
15160  *
15161  */
15162 
15163 /*****************************************************************************
15164  **
15165  ** xcb_void_cookie_t xcb_recolor_cursor
15166  **
15167  ** @param xcb_connection_t *c
15168  ** @param xcb_cursor_t      cursor
15169  ** @param uint16_t          fore_red
15170  ** @param uint16_t          fore_green
15171  ** @param uint16_t          fore_blue
15172  ** @param uint16_t          back_red
15173  ** @param uint16_t          back_green
15174  ** @param uint16_t          back_blue
15175  ** @returns xcb_void_cookie_t
15176  **
15177  *****************************************************************************/
15178 
15179 xcb_void_cookie_t
15180 xcb_recolor_cursor (xcb_connection_t *c  /**< */,
15181                     xcb_cursor_t      cursor  /**< */,
15182                     uint16_t          fore_red  /**< */,
15183                     uint16_t          fore_green  /**< */,
15184                     uint16_t          fore_blue  /**< */,
15185                     uint16_t          back_red  /**< */,
15186                     uint16_t          back_green  /**< */,
15187                     uint16_t          back_blue  /**< */);
15188 
15189 /**
15190  *
15191  * @param c The connection
15192  * @return A cookie
15193  *
15194  * Delivers a request to the X server.
15195  *
15196  */
15197 
15198 /*****************************************************************************
15199  **
15200  ** xcb_query_best_size_cookie_t xcb_query_best_size
15201  **
15202  ** @param xcb_connection_t *c
15203  ** @param uint8_t           _class
15204  ** @param xcb_drawable_t    drawable
15205  ** @param uint16_t          width
15206  ** @param uint16_t          height
15207  ** @returns xcb_query_best_size_cookie_t
15208  **
15209  *****************************************************************************/
15210 
15211 xcb_query_best_size_cookie_t
15212 xcb_query_best_size (xcb_connection_t *c  /**< */,
15213                      uint8_t           _class  /**< */,
15214                      xcb_drawable_t    drawable  /**< */,
15215                      uint16_t          width  /**< */,
15216                      uint16_t          height  /**< */);
15217 
15218 /**
15219  *
15220  * @param c The connection
15221  * @return A cookie
15222  *
15223  * Delivers a request to the X server.
15224  *
15225  * This form can be used only if the request will cause
15226  * a reply to be generated. Any returned error will be
15227  * placed in the event queue.
15228  */
15229 
15230 /*****************************************************************************
15231  **
15232  ** xcb_query_best_size_cookie_t xcb_query_best_size_unchecked
15233  **
15234  ** @param xcb_connection_t *c
15235  ** @param uint8_t           _class
15236  ** @param xcb_drawable_t    drawable
15237  ** @param uint16_t          width
15238  ** @param uint16_t          height
15239  ** @returns xcb_query_best_size_cookie_t
15240  **
15241  *****************************************************************************/
15242 
15243 xcb_query_best_size_cookie_t
15244 xcb_query_best_size_unchecked (xcb_connection_t *c  /**< */,
15245                                uint8_t           _class  /**< */,
15246                                xcb_drawable_t    drawable  /**< */,
15247                                uint16_t          width  /**< */,
15248                                uint16_t          height  /**< */);
15249 
15250 /**
15251  * Return the reply
15252  * @param c      The connection
15253  * @param cookie The cookie
15254  * @param e      The xcb_generic_error_t supplied
15255  *
15256  * Returns the reply of the request asked by
15257  *
15258  * The parameter @p e supplied to this function must be NULL if
15259  * xcb_query_best_size_unchecked(). is used.
15260  * Otherwise, it stores the error if any.
15261  *
15262  * The returned value must be freed by the caller using free().
15263  */
15264 
15265 /*****************************************************************************
15266  **
15267  ** xcb_query_best_size_reply_t * xcb_query_best_size_reply
15268  **
15269  ** @param xcb_connection_t              *c
15270  ** @param xcb_query_best_size_cookie_t   cookie
15271  ** @param xcb_generic_error_t          **e
15272  ** @returns xcb_query_best_size_reply_t *
15273  **
15274  *****************************************************************************/
15275 
15276 xcb_query_best_size_reply_t *
15277 xcb_query_best_size_reply (xcb_connection_t              *c  /**< */,
15278                            xcb_query_best_size_cookie_t   cookie  /**< */,
15279                            xcb_generic_error_t          **e  /**< */);
15280 
15281 int
15282 xcb_query_extension_sizeof (const void  *_buffer  /**< */);
15283 
15284 /**
15285  * @brief check if extension is present
15286  *
15287  * @param c The connection
15288  * @param name_len The length of \a name in bytes.
15289  * @param name The name of the extension to query, for example "RANDR". This is case
15290  * sensitive!
15291  * @return A cookie
15292  *
15293  * Determines if the specified extension is present on this X11 server.
15294  *
15295  * Every extension has a unique `major_opcode` to identify requests, the minor
15296  * opcodes and request formats are extension-specific. If the extension provides
15297  * events and errors, the `first_event` and `first_error` fields in the reply are
15298  * set accordingly.
15299  *
15300  * There should rarely be a need to use this request directly, XCB provides the
15301  * `xcb_get_extension_data` function instead.
15302  *
15303  */
15304 
15305 /*****************************************************************************
15306  **
15307  ** xcb_query_extension_cookie_t xcb_query_extension
15308  **
15309  ** @param xcb_connection_t *c
15310  ** @param uint16_t          name_len
15311  ** @param const char       *name
15312  ** @returns xcb_query_extension_cookie_t
15313  **
15314  *****************************************************************************/
15315 
15316 xcb_query_extension_cookie_t
15317 xcb_query_extension (xcb_connection_t *c  /**< */,
15318                      uint16_t          name_len  /**< */,
15319                      const char       *name  /**< */);
15320 
15321 /**
15322  * @brief check if extension is present
15323  *
15324  * @param c The connection
15325  * @param name_len The length of \a name in bytes.
15326  * @param name The name of the extension to query, for example "RANDR". This is case
15327  * sensitive!
15328  * @return A cookie
15329  *
15330  * Determines if the specified extension is present on this X11 server.
15331  *
15332  * Every extension has a unique `major_opcode` to identify requests, the minor
15333  * opcodes and request formats are extension-specific. If the extension provides
15334  * events and errors, the `first_event` and `first_error` fields in the reply are
15335  * set accordingly.
15336  *
15337  * There should rarely be a need to use this request directly, XCB provides the
15338  * `xcb_get_extension_data` function instead.
15339  *
15340  * This form can be used only if the request will cause
15341  * a reply to be generated. Any returned error will be
15342  * placed in the event queue.
15343  */
15344 
15345 /*****************************************************************************
15346  **
15347  ** xcb_query_extension_cookie_t xcb_query_extension_unchecked
15348  **
15349  ** @param xcb_connection_t *c
15350  ** @param uint16_t          name_len
15351  ** @param const char       *name
15352  ** @returns xcb_query_extension_cookie_t
15353  **
15354  *****************************************************************************/
15355 
15356 xcb_query_extension_cookie_t
15357 xcb_query_extension_unchecked (xcb_connection_t *c  /**< */,
15358                                uint16_t          name_len  /**< */,
15359                                const char       *name  /**< */);
15360 
15361 /**
15362  * Return the reply
15363  * @param c      The connection
15364  * @param cookie The cookie
15365  * @param e      The xcb_generic_error_t supplied
15366  *
15367  * Returns the reply of the request asked by
15368  *
15369  * The parameter @p e supplied to this function must be NULL if
15370  * xcb_query_extension_unchecked(). is used.
15371  * Otherwise, it stores the error if any.
15372  *
15373  * The returned value must be freed by the caller using free().
15374  */
15375 
15376 /*****************************************************************************
15377  **
15378  ** xcb_query_extension_reply_t * xcb_query_extension_reply
15379  **
15380  ** @param xcb_connection_t              *c
15381  ** @param xcb_query_extension_cookie_t   cookie
15382  ** @param xcb_generic_error_t          **e
15383  ** @returns xcb_query_extension_reply_t *
15384  **
15385  *****************************************************************************/
15386 
15387 xcb_query_extension_reply_t *
15388 xcb_query_extension_reply (xcb_connection_t              *c  /**< */,
15389                            xcb_query_extension_cookie_t   cookie  /**< */,
15390                            xcb_generic_error_t          **e  /**< */);
15391 
15392 int
15393 xcb_list_extensions_sizeof (const void  *_buffer  /**< */);
15394 
15395 /**
15396  *
15397  * @param c The connection
15398  * @return A cookie
15399  *
15400  * Delivers a request to the X server.
15401  *
15402  */
15403 
15404 /*****************************************************************************
15405  **
15406  ** xcb_list_extensions_cookie_t xcb_list_extensions
15407  **
15408  ** @param xcb_connection_t *c
15409  ** @returns xcb_list_extensions_cookie_t
15410  **
15411  *****************************************************************************/
15412 
15413 xcb_list_extensions_cookie_t
15414 xcb_list_extensions (xcb_connection_t *c  /**< */);
15415 
15416 /**
15417  *
15418  * @param c The connection
15419  * @return A cookie
15420  *
15421  * Delivers a request to the X server.
15422  *
15423  * This form can be used only if the request will cause
15424  * a reply to be generated. Any returned error will be
15425  * placed in the event queue.
15426  */
15427 
15428 /*****************************************************************************
15429  **
15430  ** xcb_list_extensions_cookie_t xcb_list_extensions_unchecked
15431  **
15432  ** @param xcb_connection_t *c
15433  ** @returns xcb_list_extensions_cookie_t
15434  **
15435  *****************************************************************************/
15436 
15437 xcb_list_extensions_cookie_t
15438 xcb_list_extensions_unchecked (xcb_connection_t *c  /**< */);
15439 
15440 
15441 /*****************************************************************************
15442  **
15443  ** int xcb_list_extensions_names_length
15444  **
15445  ** @param const xcb_list_extensions_reply_t *R
15446  ** @returns int
15447  **
15448  *****************************************************************************/
15449 
15450 int
15451 xcb_list_extensions_names_length (const xcb_list_extensions_reply_t *R  /**< */);
15452 
15453 
15454 /*****************************************************************************
15455  **
15456  ** xcb_str_iterator_t xcb_list_extensions_names_iterator
15457  **
15458  ** @param const xcb_list_extensions_reply_t *R
15459  ** @returns xcb_str_iterator_t
15460  **
15461  *****************************************************************************/
15462 
15463 xcb_str_iterator_t
15464 xcb_list_extensions_names_iterator (const xcb_list_extensions_reply_t *R  /**< */);
15465 
15466 /**
15467  * Return the reply
15468  * @param c      The connection
15469  * @param cookie The cookie
15470  * @param e      The xcb_generic_error_t supplied
15471  *
15472  * Returns the reply of the request asked by
15473  *
15474  * The parameter @p e supplied to this function must be NULL if
15475  * xcb_list_extensions_unchecked(). is used.
15476  * Otherwise, it stores the error if any.
15477  *
15478  * The returned value must be freed by the caller using free().
15479  */
15480 
15481 /*****************************************************************************
15482  **
15483  ** xcb_list_extensions_reply_t * xcb_list_extensions_reply
15484  **
15485  ** @param xcb_connection_t              *c
15486  ** @param xcb_list_extensions_cookie_t   cookie
15487  ** @param xcb_generic_error_t          **e
15488  ** @returns xcb_list_extensions_reply_t *
15489  **
15490  *****************************************************************************/
15491 
15492 xcb_list_extensions_reply_t *
15493 xcb_list_extensions_reply (xcb_connection_t              *c  /**< */,
15494                            xcb_list_extensions_cookie_t   cookie  /**< */,
15495                            xcb_generic_error_t          **e  /**< */);
15496 
15497 int
15498 xcb_change_keyboard_mapping_sizeof (const void  *_buffer  /**< */);
15499 
15500 /**
15501  *
15502  * @param c The connection
15503  * @return A cookie
15504  *
15505  * Delivers a request to the X server.
15506  *
15507  * This form can be used only if the request will not cause
15508  * a reply to be generated. Any returned error will be
15509  * saved for handling by xcb_request_check().
15510  */
15511 
15512 /*****************************************************************************
15513  **
15514  ** xcb_void_cookie_t xcb_change_keyboard_mapping_checked
15515  **
15516  ** @param xcb_connection_t   *c
15517  ** @param uint8_t             keycode_count
15518  ** @param xcb_keycode_t       first_keycode
15519  ** @param uint8_t             keysyms_per_keycode
15520  ** @param const xcb_keysym_t *keysyms
15521  ** @returns xcb_void_cookie_t
15522  **
15523  *****************************************************************************/
15524 
15525 xcb_void_cookie_t
15526 xcb_change_keyboard_mapping_checked (xcb_connection_t   *c  /**< */,
15527                                      uint8_t             keycode_count  /**< */,
15528                                      xcb_keycode_t       first_keycode  /**< */,
15529                                      uint8_t             keysyms_per_keycode  /**< */,
15530                                      const xcb_keysym_t *keysyms  /**< */);
15531 
15532 /**
15533  *
15534  * @param c The connection
15535  * @return A cookie
15536  *
15537  * Delivers a request to the X server.
15538  *
15539  */
15540 
15541 /*****************************************************************************
15542  **
15543  ** xcb_void_cookie_t xcb_change_keyboard_mapping
15544  **
15545  ** @param xcb_connection_t   *c
15546  ** @param uint8_t             keycode_count
15547  ** @param xcb_keycode_t       first_keycode
15548  ** @param uint8_t             keysyms_per_keycode
15549  ** @param const xcb_keysym_t *keysyms
15550  ** @returns xcb_void_cookie_t
15551  **
15552  *****************************************************************************/
15553 
15554 xcb_void_cookie_t
15555 xcb_change_keyboard_mapping (xcb_connection_t   *c  /**< */,
15556                              uint8_t             keycode_count  /**< */,
15557                              xcb_keycode_t       first_keycode  /**< */,
15558                              uint8_t             keysyms_per_keycode  /**< */,
15559                              const xcb_keysym_t *keysyms  /**< */);
15560 
15561 int
15562 xcb_get_keyboard_mapping_sizeof (const void  *_buffer  /**< */);
15563 
15564 /**
15565  *
15566  * @param c The connection
15567  * @return A cookie
15568  *
15569  * Delivers a request to the X server.
15570  *
15571  */
15572 
15573 /*****************************************************************************
15574  **
15575  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping
15576  **
15577  ** @param xcb_connection_t *c
15578  ** @param xcb_keycode_t     first_keycode
15579  ** @param uint8_t           count
15580  ** @returns xcb_get_keyboard_mapping_cookie_t
15581  **
15582  *****************************************************************************/
15583 
15584 xcb_get_keyboard_mapping_cookie_t
15585 xcb_get_keyboard_mapping (xcb_connection_t *c  /**< */,
15586                           xcb_keycode_t     first_keycode  /**< */,
15587                           uint8_t           count  /**< */);
15588 
15589 /**
15590  *
15591  * @param c The connection
15592  * @return A cookie
15593  *
15594  * Delivers a request to the X server.
15595  *
15596  * This form can be used only if the request will cause
15597  * a reply to be generated. Any returned error will be
15598  * placed in the event queue.
15599  */
15600 
15601 /*****************************************************************************
15602  **
15603  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping_unchecked
15604  **
15605  ** @param xcb_connection_t *c
15606  ** @param xcb_keycode_t     first_keycode
15607  ** @param uint8_t           count
15608  ** @returns xcb_get_keyboard_mapping_cookie_t
15609  **
15610  *****************************************************************************/
15611 
15612 xcb_get_keyboard_mapping_cookie_t
15613 xcb_get_keyboard_mapping_unchecked (xcb_connection_t *c  /**< */,
15614                                     xcb_keycode_t     first_keycode  /**< */,
15615                                     uint8_t           count  /**< */);
15616 
15617 
15618 /*****************************************************************************
15619  **
15620  ** xcb_keysym_t * xcb_get_keyboard_mapping_keysyms
15621  **
15622  ** @param const xcb_get_keyboard_mapping_reply_t *R
15623  ** @returns xcb_keysym_t *
15624  **
15625  *****************************************************************************/
15626 
15627 xcb_keysym_t *
15628 xcb_get_keyboard_mapping_keysyms (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
15629 
15630 
15631 /*****************************************************************************
15632  **
15633  ** int xcb_get_keyboard_mapping_keysyms_length
15634  **
15635  ** @param const xcb_get_keyboard_mapping_reply_t *R
15636  ** @returns int
15637  **
15638  *****************************************************************************/
15639 
15640 int
15641 xcb_get_keyboard_mapping_keysyms_length (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
15642 
15643 
15644 /*****************************************************************************
15645  **
15646  ** xcb_generic_iterator_t xcb_get_keyboard_mapping_keysyms_end
15647  **
15648  ** @param const xcb_get_keyboard_mapping_reply_t *R
15649  ** @returns xcb_generic_iterator_t
15650  **
15651  *****************************************************************************/
15652 
15653 xcb_generic_iterator_t
15654 xcb_get_keyboard_mapping_keysyms_end (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
15655 
15656 /**
15657  * Return the reply
15658  * @param c      The connection
15659  * @param cookie The cookie
15660  * @param e      The xcb_generic_error_t supplied
15661  *
15662  * Returns the reply of the request asked by
15663  *
15664  * The parameter @p e supplied to this function must be NULL if
15665  * xcb_get_keyboard_mapping_unchecked(). is used.
15666  * Otherwise, it stores the error if any.
15667  *
15668  * The returned value must be freed by the caller using free().
15669  */
15670 
15671 /*****************************************************************************
15672  **
15673  ** xcb_get_keyboard_mapping_reply_t * xcb_get_keyboard_mapping_reply
15674  **
15675  ** @param xcb_connection_t                   *c
15676  ** @param xcb_get_keyboard_mapping_cookie_t   cookie
15677  ** @param xcb_generic_error_t               **e
15678  ** @returns xcb_get_keyboard_mapping_reply_t *
15679  **
15680  *****************************************************************************/
15681 
15682 xcb_get_keyboard_mapping_reply_t *
15683 xcb_get_keyboard_mapping_reply (xcb_connection_t                   *c  /**< */,
15684                                 xcb_get_keyboard_mapping_cookie_t   cookie  /**< */,
15685                                 xcb_generic_error_t               **e  /**< */);
15686 
15687 int
15688 xcb_change_keyboard_control_sizeof (const void  *_buffer  /**< */);
15689 
15690 /**
15691  *
15692  * @param c The connection
15693  * @return A cookie
15694  *
15695  * Delivers a request to the X server.
15696  *
15697  * This form can be used only if the request will not cause
15698  * a reply to be generated. Any returned error will be
15699  * saved for handling by xcb_request_check().
15700  */
15701 
15702 /*****************************************************************************
15703  **
15704  ** xcb_void_cookie_t xcb_change_keyboard_control_checked
15705  **
15706  ** @param xcb_connection_t *c
15707  ** @param uint32_t          value_mask
15708  ** @param const uint32_t   *value_list
15709  ** @returns xcb_void_cookie_t
15710  **
15711  *****************************************************************************/
15712 
15713 xcb_void_cookie_t
15714 xcb_change_keyboard_control_checked (xcb_connection_t *c  /**< */,
15715                                      uint32_t          value_mask  /**< */,
15716                                      const uint32_t   *value_list  /**< */);
15717 
15718 /**
15719  *
15720  * @param c The connection
15721  * @return A cookie
15722  *
15723  * Delivers a request to the X server.
15724  *
15725  */
15726 
15727 /*****************************************************************************
15728  **
15729  ** xcb_void_cookie_t xcb_change_keyboard_control
15730  **
15731  ** @param xcb_connection_t *c
15732  ** @param uint32_t          value_mask
15733  ** @param const uint32_t   *value_list
15734  ** @returns xcb_void_cookie_t
15735  **
15736  *****************************************************************************/
15737 
15738 xcb_void_cookie_t
15739 xcb_change_keyboard_control (xcb_connection_t *c  /**< */,
15740                              uint32_t          value_mask  /**< */,
15741                              const uint32_t   *value_list  /**< */);
15742 
15743 /**
15744  *
15745  * @param c The connection
15746  * @return A cookie
15747  *
15748  * Delivers a request to the X server.
15749  *
15750  */
15751 
15752 /*****************************************************************************
15753  **
15754  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control
15755  **
15756  ** @param xcb_connection_t *c
15757  ** @returns xcb_get_keyboard_control_cookie_t
15758  **
15759  *****************************************************************************/
15760 
15761 xcb_get_keyboard_control_cookie_t
15762 xcb_get_keyboard_control (xcb_connection_t *c  /**< */);
15763 
15764 /**
15765  *
15766  * @param c The connection
15767  * @return A cookie
15768  *
15769  * Delivers a request to the X server.
15770  *
15771  * This form can be used only if the request will cause
15772  * a reply to be generated. Any returned error will be
15773  * placed in the event queue.
15774  */
15775 
15776 /*****************************************************************************
15777  **
15778  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control_unchecked
15779  **
15780  ** @param xcb_connection_t *c
15781  ** @returns xcb_get_keyboard_control_cookie_t
15782  **
15783  *****************************************************************************/
15784 
15785 xcb_get_keyboard_control_cookie_t
15786 xcb_get_keyboard_control_unchecked (xcb_connection_t *c  /**< */);
15787 
15788 /**
15789  * Return the reply
15790  * @param c      The connection
15791  * @param cookie The cookie
15792  * @param e      The xcb_generic_error_t supplied
15793  *
15794  * Returns the reply of the request asked by
15795  *
15796  * The parameter @p e supplied to this function must be NULL if
15797  * xcb_get_keyboard_control_unchecked(). is used.
15798  * Otherwise, it stores the error if any.
15799  *
15800  * The returned value must be freed by the caller using free().
15801  */
15802 
15803 /*****************************************************************************
15804  **
15805  ** xcb_get_keyboard_control_reply_t * xcb_get_keyboard_control_reply
15806  **
15807  ** @param xcb_connection_t                   *c
15808  ** @param xcb_get_keyboard_control_cookie_t   cookie
15809  ** @param xcb_generic_error_t               **e
15810  ** @returns xcb_get_keyboard_control_reply_t *
15811  **
15812  *****************************************************************************/
15813 
15814 xcb_get_keyboard_control_reply_t *
15815 xcb_get_keyboard_control_reply (xcb_connection_t                   *c  /**< */,
15816                                 xcb_get_keyboard_control_cookie_t   cookie  /**< */,
15817                                 xcb_generic_error_t               **e  /**< */);
15818 
15819 /**
15820  *
15821  * @param c The connection
15822  * @return A cookie
15823  *
15824  * Delivers a request to the X server.
15825  *
15826  * This form can be used only if the request will not cause
15827  * a reply to be generated. Any returned error will be
15828  * saved for handling by xcb_request_check().
15829  */
15830 
15831 /*****************************************************************************
15832  **
15833  ** xcb_void_cookie_t xcb_bell_checked
15834  **
15835  ** @param xcb_connection_t *c
15836  ** @param int8_t            percent
15837  ** @returns xcb_void_cookie_t
15838  **
15839  *****************************************************************************/
15840 
15841 xcb_void_cookie_t
15842 xcb_bell_checked (xcb_connection_t *c  /**< */,
15843                   int8_t            percent  /**< */);
15844 
15845 /**
15846  *
15847  * @param c The connection
15848  * @return A cookie
15849  *
15850  * Delivers a request to the X server.
15851  *
15852  */
15853 
15854 /*****************************************************************************
15855  **
15856  ** xcb_void_cookie_t xcb_bell
15857  **
15858  ** @param xcb_connection_t *c
15859  ** @param int8_t            percent
15860  ** @returns xcb_void_cookie_t
15861  **
15862  *****************************************************************************/
15863 
15864 xcb_void_cookie_t
15865 xcb_bell (xcb_connection_t *c  /**< */,
15866           int8_t            percent  /**< */);
15867 
15868 /**
15869  *
15870  * @param c The connection
15871  * @return A cookie
15872  *
15873  * Delivers a request to the X server.
15874  *
15875  * This form can be used only if the request will not cause
15876  * a reply to be generated. Any returned error will be
15877  * saved for handling by xcb_request_check().
15878  */
15879 
15880 /*****************************************************************************
15881  **
15882  ** xcb_void_cookie_t xcb_change_pointer_control_checked
15883  **
15884  ** @param xcb_connection_t *c
15885  ** @param int16_t           acceleration_numerator
15886  ** @param int16_t           acceleration_denominator
15887  ** @param int16_t           threshold
15888  ** @param uint8_t           do_acceleration
15889  ** @param uint8_t           do_threshold
15890  ** @returns xcb_void_cookie_t
15891  **
15892  *****************************************************************************/
15893 
15894 xcb_void_cookie_t
15895 xcb_change_pointer_control_checked (xcb_connection_t *c  /**< */,
15896                                     int16_t           acceleration_numerator  /**< */,
15897                                     int16_t           acceleration_denominator  /**< */,
15898                                     int16_t           threshold  /**< */,
15899                                     uint8_t           do_acceleration  /**< */,
15900                                     uint8_t           do_threshold  /**< */);
15901 
15902 /**
15903  *
15904  * @param c The connection
15905  * @return A cookie
15906  *
15907  * Delivers a request to the X server.
15908  *
15909  */
15910 
15911 /*****************************************************************************
15912  **
15913  ** xcb_void_cookie_t xcb_change_pointer_control
15914  **
15915  ** @param xcb_connection_t *c
15916  ** @param int16_t           acceleration_numerator
15917  ** @param int16_t           acceleration_denominator
15918  ** @param int16_t           threshold
15919  ** @param uint8_t           do_acceleration
15920  ** @param uint8_t           do_threshold
15921  ** @returns xcb_void_cookie_t
15922  **
15923  *****************************************************************************/
15924 
15925 xcb_void_cookie_t
15926 xcb_change_pointer_control (xcb_connection_t *c  /**< */,
15927                             int16_t           acceleration_numerator  /**< */,
15928                             int16_t           acceleration_denominator  /**< */,
15929                             int16_t           threshold  /**< */,
15930                             uint8_t           do_acceleration  /**< */,
15931                             uint8_t           do_threshold  /**< */);
15932 
15933 /**
15934  *
15935  * @param c The connection
15936  * @return A cookie
15937  *
15938  * Delivers a request to the X server.
15939  *
15940  */
15941 
15942 /*****************************************************************************
15943  **
15944  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control
15945  **
15946  ** @param xcb_connection_t *c
15947  ** @returns xcb_get_pointer_control_cookie_t
15948  **
15949  *****************************************************************************/
15950 
15951 xcb_get_pointer_control_cookie_t
15952 xcb_get_pointer_control (xcb_connection_t *c  /**< */);
15953 
15954 /**
15955  *
15956  * @param c The connection
15957  * @return A cookie
15958  *
15959  * Delivers a request to the X server.
15960  *
15961  * This form can be used only if the request will cause
15962  * a reply to be generated. Any returned error will be
15963  * placed in the event queue.
15964  */
15965 
15966 /*****************************************************************************
15967  **
15968  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control_unchecked
15969  **
15970  ** @param xcb_connection_t *c
15971  ** @returns xcb_get_pointer_control_cookie_t
15972  **
15973  *****************************************************************************/
15974 
15975 xcb_get_pointer_control_cookie_t
15976 xcb_get_pointer_control_unchecked (xcb_connection_t *c  /**< */);
15977 
15978 /**
15979  * Return the reply
15980  * @param c      The connection
15981  * @param cookie The cookie
15982  * @param e      The xcb_generic_error_t supplied
15983  *
15984  * Returns the reply of the request asked by
15985  *
15986  * The parameter @p e supplied to this function must be NULL if
15987  * xcb_get_pointer_control_unchecked(). is used.
15988  * Otherwise, it stores the error if any.
15989  *
15990  * The returned value must be freed by the caller using free().
15991  */
15992 
15993 /*****************************************************************************
15994  **
15995  ** xcb_get_pointer_control_reply_t * xcb_get_pointer_control_reply
15996  **
15997  ** @param xcb_connection_t                  *c
15998  ** @param xcb_get_pointer_control_cookie_t   cookie
15999  ** @param xcb_generic_error_t              **e
16000  ** @returns xcb_get_pointer_control_reply_t *
16001  **
16002  *****************************************************************************/
16003 
16004 xcb_get_pointer_control_reply_t *
16005 xcb_get_pointer_control_reply (xcb_connection_t                  *c  /**< */,
16006                                xcb_get_pointer_control_cookie_t   cookie  /**< */,
16007                                xcb_generic_error_t              **e  /**< */);
16008 
16009 /**
16010  *
16011  * @param c The connection
16012  * @return A cookie
16013  *
16014  * Delivers a request to the X server.
16015  *
16016  * This form can be used only if the request will not cause
16017  * a reply to be generated. Any returned error will be
16018  * saved for handling by xcb_request_check().
16019  */
16020 
16021 /*****************************************************************************
16022  **
16023  ** xcb_void_cookie_t xcb_set_screen_saver_checked
16024  **
16025  ** @param xcb_connection_t *c
16026  ** @param int16_t           timeout
16027  ** @param int16_t           interval
16028  ** @param uint8_t           prefer_blanking
16029  ** @param uint8_t           allow_exposures
16030  ** @returns xcb_void_cookie_t
16031  **
16032  *****************************************************************************/
16033 
16034 xcb_void_cookie_t
16035 xcb_set_screen_saver_checked (xcb_connection_t *c  /**< */,
16036                               int16_t           timeout  /**< */,
16037                               int16_t           interval  /**< */,
16038                               uint8_t           prefer_blanking  /**< */,
16039                               uint8_t           allow_exposures  /**< */);
16040 
16041 /**
16042  *
16043  * @param c The connection
16044  * @return A cookie
16045  *
16046  * Delivers a request to the X server.
16047  *
16048  */
16049 
16050 /*****************************************************************************
16051  **
16052  ** xcb_void_cookie_t xcb_set_screen_saver
16053  **
16054  ** @param xcb_connection_t *c
16055  ** @param int16_t           timeout
16056  ** @param int16_t           interval
16057  ** @param uint8_t           prefer_blanking
16058  ** @param uint8_t           allow_exposures
16059  ** @returns xcb_void_cookie_t
16060  **
16061  *****************************************************************************/
16062 
16063 xcb_void_cookie_t
16064 xcb_set_screen_saver (xcb_connection_t *c  /**< */,
16065                       int16_t           timeout  /**< */,
16066                       int16_t           interval  /**< */,
16067                       uint8_t           prefer_blanking  /**< */,
16068                       uint8_t           allow_exposures  /**< */);
16069 
16070 /**
16071  *
16072  * @param c The connection
16073  * @return A cookie
16074  *
16075  * Delivers a request to the X server.
16076  *
16077  */
16078 
16079 /*****************************************************************************
16080  **
16081  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver
16082  **
16083  ** @param xcb_connection_t *c
16084  ** @returns xcb_get_screen_saver_cookie_t
16085  **
16086  *****************************************************************************/
16087 
16088 xcb_get_screen_saver_cookie_t
16089 xcb_get_screen_saver (xcb_connection_t *c  /**< */);
16090 
16091 /**
16092  *
16093  * @param c The connection
16094  * @return A cookie
16095  *
16096  * Delivers a request to the X server.
16097  *
16098  * This form can be used only if the request will cause
16099  * a reply to be generated. Any returned error will be
16100  * placed in the event queue.
16101  */
16102 
16103 /*****************************************************************************
16104  **
16105  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver_unchecked
16106  **
16107  ** @param xcb_connection_t *c
16108  ** @returns xcb_get_screen_saver_cookie_t
16109  **
16110  *****************************************************************************/
16111 
16112 xcb_get_screen_saver_cookie_t
16113 xcb_get_screen_saver_unchecked (xcb_connection_t *c  /**< */);
16114 
16115 /**
16116  * Return the reply
16117  * @param c      The connection
16118  * @param cookie The cookie
16119  * @param e      The xcb_generic_error_t supplied
16120  *
16121  * Returns the reply of the request asked by
16122  *
16123  * The parameter @p e supplied to this function must be NULL if
16124  * xcb_get_screen_saver_unchecked(). is used.
16125  * Otherwise, it stores the error if any.
16126  *
16127  * The returned value must be freed by the caller using free().
16128  */
16129 
16130 /*****************************************************************************
16131  **
16132  ** xcb_get_screen_saver_reply_t * xcb_get_screen_saver_reply
16133  **
16134  ** @param xcb_connection_t               *c
16135  ** @param xcb_get_screen_saver_cookie_t   cookie
16136  ** @param xcb_generic_error_t           **e
16137  ** @returns xcb_get_screen_saver_reply_t *
16138  **
16139  *****************************************************************************/
16140 
16141 xcb_get_screen_saver_reply_t *
16142 xcb_get_screen_saver_reply (xcb_connection_t               *c  /**< */,
16143                             xcb_get_screen_saver_cookie_t   cookie  /**< */,
16144                             xcb_generic_error_t           **e  /**< */);
16145 
16146 int
16147 xcb_change_hosts_sizeof (const void  *_buffer  /**< */);
16148 
16149 /**
16150  *
16151  * @param c The connection
16152  * @return A cookie
16153  *
16154  * Delivers a request to the X server.
16155  *
16156  * This form can be used only if the request will not cause
16157  * a reply to be generated. Any returned error will be
16158  * saved for handling by xcb_request_check().
16159  */
16160 
16161 /*****************************************************************************
16162  **
16163  ** xcb_void_cookie_t xcb_change_hosts_checked
16164  **
16165  ** @param xcb_connection_t *c
16166  ** @param uint8_t           mode
16167  ** @param uint8_t           family
16168  ** @param uint16_t          address_len
16169  ** @param const uint8_t    *address
16170  ** @returns xcb_void_cookie_t
16171  **
16172  *****************************************************************************/
16173 
16174 xcb_void_cookie_t
16175 xcb_change_hosts_checked (xcb_connection_t *c  /**< */,
16176                           uint8_t           mode  /**< */,
16177                           uint8_t           family  /**< */,
16178                           uint16_t          address_len  /**< */,
16179                           const uint8_t    *address  /**< */);
16180 
16181 /**
16182  *
16183  * @param c The connection
16184  * @return A cookie
16185  *
16186  * Delivers a request to the X server.
16187  *
16188  */
16189 
16190 /*****************************************************************************
16191  **
16192  ** xcb_void_cookie_t xcb_change_hosts
16193  **
16194  ** @param xcb_connection_t *c
16195  ** @param uint8_t           mode
16196  ** @param uint8_t           family
16197  ** @param uint16_t          address_len
16198  ** @param const uint8_t    *address
16199  ** @returns xcb_void_cookie_t
16200  **
16201  *****************************************************************************/
16202 
16203 xcb_void_cookie_t
16204 xcb_change_hosts (xcb_connection_t *c  /**< */,
16205                   uint8_t           mode  /**< */,
16206                   uint8_t           family  /**< */,
16207                   uint16_t          address_len  /**< */,
16208                   const uint8_t    *address  /**< */);
16209 
16210 int
16211 xcb_host_sizeof (const void  *_buffer  /**< */);
16212 
16213 
16214 /*****************************************************************************
16215  **
16216  ** uint8_t * xcb_host_address
16217  **
16218  ** @param const xcb_host_t *R
16219  ** @returns uint8_t *
16220  **
16221  *****************************************************************************/
16222 
16223 uint8_t *
16224 xcb_host_address (const xcb_host_t *R  /**< */);
16225 
16226 
16227 /*****************************************************************************
16228  **
16229  ** int xcb_host_address_length
16230  **
16231  ** @param const xcb_host_t *R
16232  ** @returns int
16233  **
16234  *****************************************************************************/
16235 
16236 int
16237 xcb_host_address_length (const xcb_host_t *R  /**< */);
16238 
16239 
16240 /*****************************************************************************
16241  **
16242  ** xcb_generic_iterator_t xcb_host_address_end
16243  **
16244  ** @param const xcb_host_t *R
16245  ** @returns xcb_generic_iterator_t
16246  **
16247  *****************************************************************************/
16248 
16249 xcb_generic_iterator_t
16250 xcb_host_address_end (const xcb_host_t *R  /**< */);
16251 
16252 /**
16253  * Get the next element of the iterator
16254  * @param i Pointer to a xcb_host_iterator_t
16255  *
16256  * Get the next element in the iterator. The member rem is
16257  * decreased by one. The member data points to the next
16258  * element. The member index is increased by sizeof(xcb_host_t)
16259  */
16260 
16261 /*****************************************************************************
16262  **
16263  ** void xcb_host_next
16264  **
16265  ** @param xcb_host_iterator_t *i
16266  ** @returns void
16267  **
16268  *****************************************************************************/
16269 
16270 void
16271 xcb_host_next (xcb_host_iterator_t *i  /**< */);
16272 
16273 /**
16274  * Return the iterator pointing to the last element
16275  * @param i An xcb_host_iterator_t
16276  * @return  The iterator pointing to the last element
16277  *
16278  * Set the current element in the iterator to the last element.
16279  * The member rem is set to 0. The member data points to the
16280  * last element.
16281  */
16282 
16283 /*****************************************************************************
16284  **
16285  ** xcb_generic_iterator_t xcb_host_end
16286  **
16287  ** @param xcb_host_iterator_t i
16288  ** @returns xcb_generic_iterator_t
16289  **
16290  *****************************************************************************/
16291 
16292 xcb_generic_iterator_t
16293 xcb_host_end (xcb_host_iterator_t i  /**< */);
16294 
16295 int
16296 xcb_list_hosts_sizeof (const void  *_buffer  /**< */);
16297 
16298 /**
16299  *
16300  * @param c The connection
16301  * @return A cookie
16302  *
16303  * Delivers a request to the X server.
16304  *
16305  */
16306 
16307 /*****************************************************************************
16308  **
16309  ** xcb_list_hosts_cookie_t xcb_list_hosts
16310  **
16311  ** @param xcb_connection_t *c
16312  ** @returns xcb_list_hosts_cookie_t
16313  **
16314  *****************************************************************************/
16315 
16316 xcb_list_hosts_cookie_t
16317 xcb_list_hosts (xcb_connection_t *c  /**< */);
16318 
16319 /**
16320  *
16321  * @param c The connection
16322  * @return A cookie
16323  *
16324  * Delivers a request to the X server.
16325  *
16326  * This form can be used only if the request will cause
16327  * a reply to be generated. Any returned error will be
16328  * placed in the event queue.
16329  */
16330 
16331 /*****************************************************************************
16332  **
16333  ** xcb_list_hosts_cookie_t xcb_list_hosts_unchecked
16334  **
16335  ** @param xcb_connection_t *c
16336  ** @returns xcb_list_hosts_cookie_t
16337  **
16338  *****************************************************************************/
16339 
16340 xcb_list_hosts_cookie_t
16341 xcb_list_hosts_unchecked (xcb_connection_t *c  /**< */);
16342 
16343 
16344 /*****************************************************************************
16345  **
16346  ** int xcb_list_hosts_hosts_length
16347  **
16348  ** @param const xcb_list_hosts_reply_t *R
16349  ** @returns int
16350  **
16351  *****************************************************************************/
16352 
16353 int
16354 xcb_list_hosts_hosts_length (const xcb_list_hosts_reply_t *R  /**< */);
16355 
16356 
16357 /*****************************************************************************
16358  **
16359  ** xcb_host_iterator_t xcb_list_hosts_hosts_iterator
16360  **
16361  ** @param const xcb_list_hosts_reply_t *R
16362  ** @returns xcb_host_iterator_t
16363  **
16364  *****************************************************************************/
16365 
16366 xcb_host_iterator_t
16367 xcb_list_hosts_hosts_iterator (const xcb_list_hosts_reply_t *R  /**< */);
16368 
16369 /**
16370  * Return the reply
16371  * @param c      The connection
16372  * @param cookie The cookie
16373  * @param e      The xcb_generic_error_t supplied
16374  *
16375  * Returns the reply of the request asked by
16376  *
16377  * The parameter @p e supplied to this function must be NULL if
16378  * xcb_list_hosts_unchecked(). is used.
16379  * Otherwise, it stores the error if any.
16380  *
16381  * The returned value must be freed by the caller using free().
16382  */
16383 
16384 /*****************************************************************************
16385  **
16386  ** xcb_list_hosts_reply_t * xcb_list_hosts_reply
16387  **
16388  ** @param xcb_connection_t         *c
16389  ** @param xcb_list_hosts_cookie_t   cookie
16390  ** @param xcb_generic_error_t     **e
16391  ** @returns xcb_list_hosts_reply_t *
16392  **
16393  *****************************************************************************/
16394 
16395 xcb_list_hosts_reply_t *
16396 xcb_list_hosts_reply (xcb_connection_t         *c  /**< */,
16397                       xcb_list_hosts_cookie_t   cookie  /**< */,
16398                       xcb_generic_error_t     **e  /**< */);
16399 
16400 /**
16401  *
16402  * @param c The connection
16403  * @return A cookie
16404  *
16405  * Delivers a request to the X server.
16406  *
16407  * This form can be used only if the request will not cause
16408  * a reply to be generated. Any returned error will be
16409  * saved for handling by xcb_request_check().
16410  */
16411 
16412 /*****************************************************************************
16413  **
16414  ** xcb_void_cookie_t xcb_set_access_control_checked
16415  **
16416  ** @param xcb_connection_t *c
16417  ** @param uint8_t           mode
16418  ** @returns xcb_void_cookie_t
16419  **
16420  *****************************************************************************/
16421 
16422 xcb_void_cookie_t
16423 xcb_set_access_control_checked (xcb_connection_t *c  /**< */,
16424                                 uint8_t           mode  /**< */);
16425 
16426 /**
16427  *
16428  * @param c The connection
16429  * @return A cookie
16430  *
16431  * Delivers a request to the X server.
16432  *
16433  */
16434 
16435 /*****************************************************************************
16436  **
16437  ** xcb_void_cookie_t xcb_set_access_control
16438  **
16439  ** @param xcb_connection_t *c
16440  ** @param uint8_t           mode
16441  ** @returns xcb_void_cookie_t
16442  **
16443  *****************************************************************************/
16444 
16445 xcb_void_cookie_t
16446 xcb_set_access_control (xcb_connection_t *c  /**< */,
16447                         uint8_t           mode  /**< */);
16448 
16449 /**
16450  *
16451  * @param c The connection
16452  * @return A cookie
16453  *
16454  * Delivers a request to the X server.
16455  *
16456  * This form can be used only if the request will not cause
16457  * a reply to be generated. Any returned error will be
16458  * saved for handling by xcb_request_check().
16459  */
16460 
16461 /*****************************************************************************
16462  **
16463  ** xcb_void_cookie_t xcb_set_close_down_mode_checked
16464  **
16465  ** @param xcb_connection_t *c
16466  ** @param uint8_t           mode
16467  ** @returns xcb_void_cookie_t
16468  **
16469  *****************************************************************************/
16470 
16471 xcb_void_cookie_t
16472 xcb_set_close_down_mode_checked (xcb_connection_t *c  /**< */,
16473                                  uint8_t           mode  /**< */);
16474 
16475 /**
16476  *
16477  * @param c The connection
16478  * @return A cookie
16479  *
16480  * Delivers a request to the X server.
16481  *
16482  */
16483 
16484 /*****************************************************************************
16485  **
16486  ** xcb_void_cookie_t xcb_set_close_down_mode
16487  **
16488  ** @param xcb_connection_t *c
16489  ** @param uint8_t           mode
16490  ** @returns xcb_void_cookie_t
16491  **
16492  *****************************************************************************/
16493 
16494 xcb_void_cookie_t
16495 xcb_set_close_down_mode (xcb_connection_t *c  /**< */,
16496                          uint8_t           mode  /**< */);
16497 
16498 /**
16499  * @brief kills a client
16500  *
16501  * @param c The connection
16502  * @param resource Any resource belonging to the client (for example a Window), used to identify
16503  * the client connection.
16504  * \n
16505  * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
16506  * that have terminated in `RetainTemporary` (TODO) are destroyed.
16507  * @return A cookie
16508  *
16509  * Forces a close down of the client that created the specified \a resource.
16510  *
16511  * This form can be used only if the request will not cause
16512  * a reply to be generated. Any returned error will be
16513  * saved for handling by xcb_request_check().
16514  */
16515 
16516 /*****************************************************************************
16517  **
16518  ** xcb_void_cookie_t xcb_kill_client_checked
16519  **
16520  ** @param xcb_connection_t *c
16521  ** @param uint32_t          resource
16522  ** @returns xcb_void_cookie_t
16523  **
16524  *****************************************************************************/
16525 
16526 xcb_void_cookie_t
16527 xcb_kill_client_checked (xcb_connection_t *c  /**< */,
16528                          uint32_t          resource  /**< */);
16529 
16530 /**
16531  * @brief kills a client
16532  *
16533  * @param c The connection
16534  * @param resource Any resource belonging to the client (for example a Window), used to identify
16535  * the client connection.
16536  * \n
16537  * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
16538  * that have terminated in `RetainTemporary` (TODO) are destroyed.
16539  * @return A cookie
16540  *
16541  * Forces a close down of the client that created the specified \a resource.
16542  *
16543  */
16544 
16545 /*****************************************************************************
16546  **
16547  ** xcb_void_cookie_t xcb_kill_client
16548  **
16549  ** @param xcb_connection_t *c
16550  ** @param uint32_t          resource
16551  ** @returns xcb_void_cookie_t
16552  **
16553  *****************************************************************************/
16554 
16555 xcb_void_cookie_t
16556 xcb_kill_client (xcb_connection_t *c  /**< */,
16557                  uint32_t          resource  /**< */);
16558 
16559 int
16560 xcb_rotate_properties_sizeof (const void  *_buffer  /**< */);
16561 
16562 /**
16563  *
16564  * @param c The connection
16565  * @return A cookie
16566  *
16567  * Delivers a request to the X server.
16568  *
16569  * This form can be used only if the request will not cause
16570  * a reply to be generated. Any returned error will be
16571  * saved for handling by xcb_request_check().
16572  */
16573 
16574 /*****************************************************************************
16575  **
16576  ** xcb_void_cookie_t xcb_rotate_properties_checked
16577  **
16578  ** @param xcb_connection_t *c
16579  ** @param xcb_window_t      window
16580  ** @param uint16_t          atoms_len
16581  ** @param int16_t           delta
16582  ** @param const xcb_atom_t *atoms
16583  ** @returns xcb_void_cookie_t
16584  **
16585  *****************************************************************************/
16586 
16587 xcb_void_cookie_t
16588 xcb_rotate_properties_checked (xcb_connection_t *c  /**< */,
16589                                xcb_window_t      window  /**< */,
16590                                uint16_t          atoms_len  /**< */,
16591                                int16_t           delta  /**< */,
16592                                const xcb_atom_t *atoms  /**< */);
16593 
16594 /**
16595  *
16596  * @param c The connection
16597  * @return A cookie
16598  *
16599  * Delivers a request to the X server.
16600  *
16601  */
16602 
16603 /*****************************************************************************
16604  **
16605  ** xcb_void_cookie_t xcb_rotate_properties
16606  **
16607  ** @param xcb_connection_t *c
16608  ** @param xcb_window_t      window
16609  ** @param uint16_t          atoms_len
16610  ** @param int16_t           delta
16611  ** @param const xcb_atom_t *atoms
16612  ** @returns xcb_void_cookie_t
16613  **
16614  *****************************************************************************/
16615 
16616 xcb_void_cookie_t
16617 xcb_rotate_properties (xcb_connection_t *c  /**< */,
16618                        xcb_window_t      window  /**< */,
16619                        uint16_t          atoms_len  /**< */,
16620                        int16_t           delta  /**< */,
16621                        const xcb_atom_t *atoms  /**< */);
16622 
16623 /**
16624  *
16625  * @param c The connection
16626  * @return A cookie
16627  *
16628  * Delivers a request to the X server.
16629  *
16630  * This form can be used only if the request will not cause
16631  * a reply to be generated. Any returned error will be
16632  * saved for handling by xcb_request_check().
16633  */
16634 
16635 /*****************************************************************************
16636  **
16637  ** xcb_void_cookie_t xcb_force_screen_saver_checked
16638  **
16639  ** @param xcb_connection_t *c
16640  ** @param uint8_t           mode
16641  ** @returns xcb_void_cookie_t
16642  **
16643  *****************************************************************************/
16644 
16645 xcb_void_cookie_t
16646 xcb_force_screen_saver_checked (xcb_connection_t *c  /**< */,
16647                                 uint8_t           mode  /**< */);
16648 
16649 /**
16650  *
16651  * @param c The connection
16652  * @return A cookie
16653  *
16654  * Delivers a request to the X server.
16655  *
16656  */
16657 
16658 /*****************************************************************************
16659  **
16660  ** xcb_void_cookie_t xcb_force_screen_saver
16661  **
16662  ** @param xcb_connection_t *c
16663  ** @param uint8_t           mode
16664  ** @returns xcb_void_cookie_t
16665  **
16666  *****************************************************************************/
16667 
16668 xcb_void_cookie_t
16669 xcb_force_screen_saver (xcb_connection_t *c  /**< */,
16670                         uint8_t           mode  /**< */);
16671 
16672 int
16673 xcb_set_pointer_mapping_sizeof (const void  *_buffer  /**< */);
16674 
16675 /**
16676  *
16677  * @param c The connection
16678  * @return A cookie
16679  *
16680  * Delivers a request to the X server.
16681  *
16682  */
16683 
16684 /*****************************************************************************
16685  **
16686  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping
16687  **
16688  ** @param xcb_connection_t *c
16689  ** @param uint8_t           map_len
16690  ** @param const uint8_t    *map
16691  ** @returns xcb_set_pointer_mapping_cookie_t
16692  **
16693  *****************************************************************************/
16694 
16695 xcb_set_pointer_mapping_cookie_t
16696 xcb_set_pointer_mapping (xcb_connection_t *c  /**< */,
16697                          uint8_t           map_len  /**< */,
16698                          const uint8_t    *map  /**< */);
16699 
16700 /**
16701  *
16702  * @param c The connection
16703  * @return A cookie
16704  *
16705  * Delivers a request to the X server.
16706  *
16707  * This form can be used only if the request will cause
16708  * a reply to be generated. Any returned error will be
16709  * placed in the event queue.
16710  */
16711 
16712 /*****************************************************************************
16713  **
16714  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping_unchecked
16715  **
16716  ** @param xcb_connection_t *c
16717  ** @param uint8_t           map_len
16718  ** @param const uint8_t    *map
16719  ** @returns xcb_set_pointer_mapping_cookie_t
16720  **
16721  *****************************************************************************/
16722 
16723 xcb_set_pointer_mapping_cookie_t
16724 xcb_set_pointer_mapping_unchecked (xcb_connection_t *c  /**< */,
16725                                    uint8_t           map_len  /**< */,
16726                                    const uint8_t    *map  /**< */);
16727 
16728 /**
16729  * Return the reply
16730  * @param c      The connection
16731  * @param cookie The cookie
16732  * @param e      The xcb_generic_error_t supplied
16733  *
16734  * Returns the reply of the request asked by
16735  *
16736  * The parameter @p e supplied to this function must be NULL if
16737  * xcb_set_pointer_mapping_unchecked(). is used.
16738  * Otherwise, it stores the error if any.
16739  *
16740  * The returned value must be freed by the caller using free().
16741  */
16742 
16743 /*****************************************************************************
16744  **
16745  ** xcb_set_pointer_mapping_reply_t * xcb_set_pointer_mapping_reply
16746  **
16747  ** @param xcb_connection_t                  *c
16748  ** @param xcb_set_pointer_mapping_cookie_t   cookie
16749  ** @param xcb_generic_error_t              **e
16750  ** @returns xcb_set_pointer_mapping_reply_t *
16751  **
16752  *****************************************************************************/
16753 
16754 xcb_set_pointer_mapping_reply_t *
16755 xcb_set_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
16756                                xcb_set_pointer_mapping_cookie_t   cookie  /**< */,
16757                                xcb_generic_error_t              **e  /**< */);
16758 
16759 int
16760 xcb_get_pointer_mapping_sizeof (const void  *_buffer  /**< */);
16761 
16762 /**
16763  *
16764  * @param c The connection
16765  * @return A cookie
16766  *
16767  * Delivers a request to the X server.
16768  *
16769  */
16770 
16771 /*****************************************************************************
16772  **
16773  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping
16774  **
16775  ** @param xcb_connection_t *c
16776  ** @returns xcb_get_pointer_mapping_cookie_t
16777  **
16778  *****************************************************************************/
16779 
16780 xcb_get_pointer_mapping_cookie_t
16781 xcb_get_pointer_mapping (xcb_connection_t *c  /**< */);
16782 
16783 /**
16784  *
16785  * @param c The connection
16786  * @return A cookie
16787  *
16788  * Delivers a request to the X server.
16789  *
16790  * This form can be used only if the request will cause
16791  * a reply to be generated. Any returned error will be
16792  * placed in the event queue.
16793  */
16794 
16795 /*****************************************************************************
16796  **
16797  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping_unchecked
16798  **
16799  ** @param xcb_connection_t *c
16800  ** @returns xcb_get_pointer_mapping_cookie_t
16801  **
16802  *****************************************************************************/
16803 
16804 xcb_get_pointer_mapping_cookie_t
16805 xcb_get_pointer_mapping_unchecked (xcb_connection_t *c  /**< */);
16806 
16807 
16808 /*****************************************************************************
16809  **
16810  ** uint8_t * xcb_get_pointer_mapping_map
16811  **
16812  ** @param const xcb_get_pointer_mapping_reply_t *R
16813  ** @returns uint8_t *
16814  **
16815  *****************************************************************************/
16816 
16817 uint8_t *
16818 xcb_get_pointer_mapping_map (const xcb_get_pointer_mapping_reply_t *R  /**< */);
16819 
16820 
16821 /*****************************************************************************
16822  **
16823  ** int xcb_get_pointer_mapping_map_length
16824  **
16825  ** @param const xcb_get_pointer_mapping_reply_t *R
16826  ** @returns int
16827  **
16828  *****************************************************************************/
16829 
16830 int
16831 xcb_get_pointer_mapping_map_length (const xcb_get_pointer_mapping_reply_t *R  /**< */);
16832 
16833 
16834 /*****************************************************************************
16835  **
16836  ** xcb_generic_iterator_t xcb_get_pointer_mapping_map_end
16837  **
16838  ** @param const xcb_get_pointer_mapping_reply_t *R
16839  ** @returns xcb_generic_iterator_t
16840  **
16841  *****************************************************************************/
16842 
16843 xcb_generic_iterator_t
16844 xcb_get_pointer_mapping_map_end (const xcb_get_pointer_mapping_reply_t *R  /**< */);
16845 
16846 /**
16847  * Return the reply
16848  * @param c      The connection
16849  * @param cookie The cookie
16850  * @param e      The xcb_generic_error_t supplied
16851  *
16852  * Returns the reply of the request asked by
16853  *
16854  * The parameter @p e supplied to this function must be NULL if
16855  * xcb_get_pointer_mapping_unchecked(). is used.
16856  * Otherwise, it stores the error if any.
16857  *
16858  * The returned value must be freed by the caller using free().
16859  */
16860 
16861 /*****************************************************************************
16862  **
16863  ** xcb_get_pointer_mapping_reply_t * xcb_get_pointer_mapping_reply
16864  **
16865  ** @param xcb_connection_t                  *c
16866  ** @param xcb_get_pointer_mapping_cookie_t   cookie
16867  ** @param xcb_generic_error_t              **e
16868  ** @returns xcb_get_pointer_mapping_reply_t *
16869  **
16870  *****************************************************************************/
16871 
16872 xcb_get_pointer_mapping_reply_t *
16873 xcb_get_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
16874                                xcb_get_pointer_mapping_cookie_t   cookie  /**< */,
16875                                xcb_generic_error_t              **e  /**< */);
16876 
16877 int
16878 xcb_set_modifier_mapping_sizeof (const void  *_buffer  /**< */);
16879 
16880 /**
16881  *
16882  * @param c The connection
16883  * @return A cookie
16884  *
16885  * Delivers a request to the X server.
16886  *
16887  */
16888 
16889 /*****************************************************************************
16890  **
16891  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping
16892  **
16893  ** @param xcb_connection_t    *c
16894  ** @param uint8_t              keycodes_per_modifier
16895  ** @param const xcb_keycode_t *keycodes
16896  ** @returns xcb_set_modifier_mapping_cookie_t
16897  **
16898  *****************************************************************************/
16899 
16900 xcb_set_modifier_mapping_cookie_t
16901 xcb_set_modifier_mapping (xcb_connection_t    *c  /**< */,
16902                           uint8_t              keycodes_per_modifier  /**< */,
16903                           const xcb_keycode_t *keycodes  /**< */);
16904 
16905 /**
16906  *
16907  * @param c The connection
16908  * @return A cookie
16909  *
16910  * Delivers a request to the X server.
16911  *
16912  * This form can be used only if the request will cause
16913  * a reply to be generated. Any returned error will be
16914  * placed in the event queue.
16915  */
16916 
16917 /*****************************************************************************
16918  **
16919  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping_unchecked
16920  **
16921  ** @param xcb_connection_t    *c
16922  ** @param uint8_t              keycodes_per_modifier
16923  ** @param const xcb_keycode_t *keycodes
16924  ** @returns xcb_set_modifier_mapping_cookie_t
16925  **
16926  *****************************************************************************/
16927 
16928 xcb_set_modifier_mapping_cookie_t
16929 xcb_set_modifier_mapping_unchecked (xcb_connection_t    *c  /**< */,
16930                                     uint8_t              keycodes_per_modifier  /**< */,
16931                                     const xcb_keycode_t *keycodes  /**< */);
16932 
16933 /**
16934  * Return the reply
16935  * @param c      The connection
16936  * @param cookie The cookie
16937  * @param e      The xcb_generic_error_t supplied
16938  *
16939  * Returns the reply of the request asked by
16940  *
16941  * The parameter @p e supplied to this function must be NULL if
16942  * xcb_set_modifier_mapping_unchecked(). is used.
16943  * Otherwise, it stores the error if any.
16944  *
16945  * The returned value must be freed by the caller using free().
16946  */
16947 
16948 /*****************************************************************************
16949  **
16950  ** xcb_set_modifier_mapping_reply_t * xcb_set_modifier_mapping_reply
16951  **
16952  ** @param xcb_connection_t                   *c
16953  ** @param xcb_set_modifier_mapping_cookie_t   cookie
16954  ** @param xcb_generic_error_t               **e
16955  ** @returns xcb_set_modifier_mapping_reply_t *
16956  **
16957  *****************************************************************************/
16958 
16959 xcb_set_modifier_mapping_reply_t *
16960 xcb_set_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
16961                                 xcb_set_modifier_mapping_cookie_t   cookie  /**< */,
16962                                 xcb_generic_error_t               **e  /**< */);
16963 
16964 int
16965 xcb_get_modifier_mapping_sizeof (const void  *_buffer  /**< */);
16966 
16967 /**
16968  *
16969  * @param c The connection
16970  * @return A cookie
16971  *
16972  * Delivers a request to the X server.
16973  *
16974  */
16975 
16976 /*****************************************************************************
16977  **
16978  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping
16979  **
16980  ** @param xcb_connection_t *c
16981  ** @returns xcb_get_modifier_mapping_cookie_t
16982  **
16983  *****************************************************************************/
16984 
16985 xcb_get_modifier_mapping_cookie_t
16986 xcb_get_modifier_mapping (xcb_connection_t *c  /**< */);
16987 
16988 /**
16989  *
16990  * @param c The connection
16991  * @return A cookie
16992  *
16993  * Delivers a request to the X server.
16994  *
16995  * This form can be used only if the request will cause
16996  * a reply to be generated. Any returned error will be
16997  * placed in the event queue.
16998  */
16999 
17000 /*****************************************************************************
17001  **
17002  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping_unchecked
17003  **
17004  ** @param xcb_connection_t *c
17005  ** @returns xcb_get_modifier_mapping_cookie_t
17006  **
17007  *****************************************************************************/
17008 
17009 xcb_get_modifier_mapping_cookie_t
17010 xcb_get_modifier_mapping_unchecked (xcb_connection_t *c  /**< */);
17011 
17012 
17013 /*****************************************************************************
17014  **
17015  ** xcb_keycode_t * xcb_get_modifier_mapping_keycodes
17016  **
17017  ** @param const xcb_get_modifier_mapping_reply_t *R
17018  ** @returns xcb_keycode_t *
17019  **
17020  *****************************************************************************/
17021 
17022 xcb_keycode_t *
17023 xcb_get_modifier_mapping_keycodes (const xcb_get_modifier_mapping_reply_t *R  /**< */);
17024 
17025 
17026 /*****************************************************************************
17027  **
17028  ** int xcb_get_modifier_mapping_keycodes_length
17029  **
17030  ** @param const xcb_get_modifier_mapping_reply_t *R
17031  ** @returns int
17032  **
17033  *****************************************************************************/
17034 
17035 int
17036 xcb_get_modifier_mapping_keycodes_length (const xcb_get_modifier_mapping_reply_t *R  /**< */);
17037 
17038 
17039 /*****************************************************************************
17040  **
17041  ** xcb_generic_iterator_t xcb_get_modifier_mapping_keycodes_end
17042  **
17043  ** @param const xcb_get_modifier_mapping_reply_t *R
17044  ** @returns xcb_generic_iterator_t
17045  **
17046  *****************************************************************************/
17047 
17048 xcb_generic_iterator_t
17049 xcb_get_modifier_mapping_keycodes_end (const xcb_get_modifier_mapping_reply_t *R  /**< */);
17050 
17051 /**
17052  * Return the reply
17053  * @param c      The connection
17054  * @param cookie The cookie
17055  * @param e      The xcb_generic_error_t supplied
17056  *
17057  * Returns the reply of the request asked by
17058  *
17059  * The parameter @p e supplied to this function must be NULL if
17060  * xcb_get_modifier_mapping_unchecked(). is used.
17061  * Otherwise, it stores the error if any.
17062  *
17063  * The returned value must be freed by the caller using free().
17064  */
17065 
17066 /*****************************************************************************
17067  **
17068  ** xcb_get_modifier_mapping_reply_t * xcb_get_modifier_mapping_reply
17069  **
17070  ** @param xcb_connection_t                   *c
17071  ** @param xcb_get_modifier_mapping_cookie_t   cookie
17072  ** @param xcb_generic_error_t               **e
17073  ** @returns xcb_get_modifier_mapping_reply_t *
17074  **
17075  *****************************************************************************/
17076 
17077 xcb_get_modifier_mapping_reply_t *
17078 xcb_get_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
17079                                 xcb_get_modifier_mapping_cookie_t   cookie  /**< */,
17080                                 xcb_generic_error_t               **e  /**< */);
17081 
17082 /**
17083  *
17084  * @param c The connection
17085  * @return A cookie
17086  *
17087  * Delivers a request to the X server.
17088  *
17089  * This form can be used only if the request will not cause
17090  * a reply to be generated. Any returned error will be
17091  * saved for handling by xcb_request_check().
17092  */
17093 
17094 /*****************************************************************************
17095  **
17096  ** xcb_void_cookie_t xcb_no_operation_checked
17097  **
17098  ** @param xcb_connection_t *c
17099  ** @returns xcb_void_cookie_t
17100  **
17101  *****************************************************************************/
17102 
17103 xcb_void_cookie_t
17104 xcb_no_operation_checked (xcb_connection_t *c  /**< */);
17105 
17106 /**
17107  *
17108  * @param c The connection
17109  * @return A cookie
17110  *
17111  * Delivers a request to the X server.
17112  *
17113  */
17114 
17115 /*****************************************************************************
17116  **
17117  ** xcb_void_cookie_t xcb_no_operation
17118  **
17119  ** @param xcb_connection_t *c
17120  ** @returns xcb_void_cookie_t
17121  **
17122  *****************************************************************************/
17123 
17124 xcb_void_cookie_t
17125 xcb_no_operation (xcb_connection_t *c  /**< */);
17126 
17127 
17128 #ifdef __cplusplus
17129 }
17130 #endif
17131 
17132 #endif
17133 
17134 /**
17135  * @}
17136  */
17137