xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/xproto.h (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
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 = 1,
1014     XCB_ATOM_SECONDARY = 2,
1015     XCB_ATOM_ARC = 3,
1016     XCB_ATOM_ATOM = 4,
1017     XCB_ATOM_BITMAP = 5,
1018     XCB_ATOM_CARDINAL = 6,
1019     XCB_ATOM_COLORMAP = 7,
1020     XCB_ATOM_CURSOR = 8,
1021     XCB_ATOM_CUT_BUFFER0 = 9,
1022     XCB_ATOM_CUT_BUFFER1 = 10,
1023     XCB_ATOM_CUT_BUFFER2 = 11,
1024     XCB_ATOM_CUT_BUFFER3 = 12,
1025     XCB_ATOM_CUT_BUFFER4 = 13,
1026     XCB_ATOM_CUT_BUFFER5 = 14,
1027     XCB_ATOM_CUT_BUFFER6 = 15,
1028     XCB_ATOM_CUT_BUFFER7 = 16,
1029     XCB_ATOM_DRAWABLE = 17,
1030     XCB_ATOM_FONT = 18,
1031     XCB_ATOM_INTEGER = 19,
1032     XCB_ATOM_PIXMAP = 20,
1033     XCB_ATOM_POINT = 21,
1034     XCB_ATOM_RECTANGLE = 22,
1035     XCB_ATOM_RESOURCE_MANAGER = 23,
1036     XCB_ATOM_RGB_COLOR_MAP = 24,
1037     XCB_ATOM_RGB_BEST_MAP = 25,
1038     XCB_ATOM_RGB_BLUE_MAP = 26,
1039     XCB_ATOM_RGB_DEFAULT_MAP = 27,
1040     XCB_ATOM_RGB_GRAY_MAP = 28,
1041     XCB_ATOM_RGB_GREEN_MAP = 29,
1042     XCB_ATOM_RGB_RED_MAP = 30,
1043     XCB_ATOM_STRING = 31,
1044     XCB_ATOM_VISUALID = 32,
1045     XCB_ATOM_WINDOW = 33,
1046     XCB_ATOM_WM_COMMAND = 34,
1047     XCB_ATOM_WM_HINTS = 35,
1048     XCB_ATOM_WM_CLIENT_MACHINE = 36,
1049     XCB_ATOM_WM_ICON_NAME = 37,
1050     XCB_ATOM_WM_ICON_SIZE = 38,
1051     XCB_ATOM_WM_NAME = 39,
1052     XCB_ATOM_WM_NORMAL_HINTS = 40,
1053     XCB_ATOM_WM_SIZE_HINTS = 41,
1054     XCB_ATOM_WM_ZOOM_HINTS = 42,
1055     XCB_ATOM_MIN_SPACE = 43,
1056     XCB_ATOM_NORM_SPACE = 44,
1057     XCB_ATOM_MAX_SPACE = 45,
1058     XCB_ATOM_END_SPACE = 46,
1059     XCB_ATOM_SUPERSCRIPT_X = 47,
1060     XCB_ATOM_SUPERSCRIPT_Y = 48,
1061     XCB_ATOM_SUBSCRIPT_X = 49,
1062     XCB_ATOM_SUBSCRIPT_Y = 50,
1063     XCB_ATOM_UNDERLINE_POSITION = 51,
1064     XCB_ATOM_UNDERLINE_THICKNESS = 52,
1065     XCB_ATOM_STRIKEOUT_ASCENT = 53,
1066     XCB_ATOM_STRIKEOUT_DESCENT = 54,
1067     XCB_ATOM_ITALIC_ANGLE = 55,
1068     XCB_ATOM_X_HEIGHT = 56,
1069     XCB_ATOM_QUAD_WIDTH = 57,
1070     XCB_ATOM_WEIGHT = 58,
1071     XCB_ATOM_POINT_SIZE = 59,
1072     XCB_ATOM_RESOLUTION = 60,
1073     XCB_ATOM_COPYRIGHT = 61,
1074     XCB_ATOM_NOTICE = 62,
1075     XCB_ATOM_FONT_NAME = 63,
1076     XCB_ATOM_FAMILY_NAME = 64,
1077     XCB_ATOM_FULL_NAME = 65,
1078     XCB_ATOM_CAP_HEIGHT = 66,
1079     XCB_ATOM_WM_CLASS = 67,
1080     XCB_ATOM_WM_TRANSIENT_FOR = 68
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_ge_generic. */
1204 #define XCB_GE_GENERIC 35
1205 
1206 /**
1207  * @brief xcb_ge_generic_event_t
1208  **/
1209 typedef struct xcb_ge_generic_event_t {
1210     uint8_t  response_type; /**<  */
1211     uint8_t  extension; /**<  */
1212     uint16_t sequence; /**<  */
1213     uint32_t length; /**<  */
1214     uint16_t event_type; /**<  */
1215     uint8_t  pad0[22]; /**<  */
1216     uint32_t full_sequence; /**<  */
1217 } xcb_ge_generic_event_t;
1218 
1219 /** Opcode for xcb_request. */
1220 #define XCB_REQUEST 1
1221 
1222 /**
1223  * @brief xcb_request_error_t
1224  **/
1225 typedef struct xcb_request_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_request_error_t;
1234 
1235 /** Opcode for xcb_value. */
1236 #define XCB_VALUE 2
1237 
1238 /**
1239  * @brief xcb_value_error_t
1240  **/
1241 typedef struct xcb_value_error_t {
1242     uint8_t  response_type; /**<  */
1243     uint8_t  error_code; /**<  */
1244     uint16_t sequence; /**<  */
1245     uint32_t bad_value; /**<  */
1246     uint16_t minor_opcode; /**<  */
1247     uint8_t  major_opcode; /**<  */
1248     uint8_t  pad0; /**<  */
1249 } xcb_value_error_t;
1250 
1251 /** Opcode for xcb_window. */
1252 #define XCB_WINDOW 3
1253 
1254 typedef xcb_value_error_t xcb_window_error_t;
1255 
1256 /** Opcode for xcb_pixmap. */
1257 #define XCB_PIXMAP 4
1258 
1259 typedef xcb_value_error_t xcb_pixmap_error_t;
1260 
1261 /** Opcode for xcb_atom. */
1262 #define XCB_ATOM 5
1263 
1264 typedef xcb_value_error_t xcb_atom_error_t;
1265 
1266 /** Opcode for xcb_cursor. */
1267 #define XCB_CURSOR 6
1268 
1269 typedef xcb_value_error_t xcb_cursor_error_t;
1270 
1271 /** Opcode for xcb_font. */
1272 #define XCB_FONT 7
1273 
1274 typedef xcb_value_error_t xcb_font_error_t;
1275 
1276 /** Opcode for xcb_match. */
1277 #define XCB_MATCH 8
1278 
1279 typedef xcb_request_error_t xcb_match_error_t;
1280 
1281 /** Opcode for xcb_drawable. */
1282 #define XCB_DRAWABLE 9
1283 
1284 typedef xcb_value_error_t xcb_drawable_error_t;
1285 
1286 /** Opcode for xcb_access. */
1287 #define XCB_ACCESS 10
1288 
1289 typedef xcb_request_error_t xcb_access_error_t;
1290 
1291 /** Opcode for xcb_alloc. */
1292 #define XCB_ALLOC 11
1293 
1294 typedef xcb_request_error_t xcb_alloc_error_t;
1295 
1296 /** Opcode for xcb_colormap. */
1297 #define XCB_COLORMAP 12
1298 
1299 typedef xcb_value_error_t xcb_colormap_error_t;
1300 
1301 /** Opcode for xcb_g_context. */
1302 #define XCB_G_CONTEXT 13
1303 
1304 typedef xcb_value_error_t xcb_g_context_error_t;
1305 
1306 /** Opcode for xcb_id_choice. */
1307 #define XCB_ID_CHOICE 14
1308 
1309 typedef xcb_value_error_t xcb_id_choice_error_t;
1310 
1311 /** Opcode for xcb_name. */
1312 #define XCB_NAME 15
1313 
1314 typedef xcb_request_error_t xcb_name_error_t;
1315 
1316 /** Opcode for xcb_length. */
1317 #define XCB_LENGTH 16
1318 
1319 typedef xcb_request_error_t xcb_length_error_t;
1320 
1321 /** Opcode for xcb_implementation. */
1322 #define XCB_IMPLEMENTATION 17
1323 
1324 typedef xcb_request_error_t xcb_implementation_error_t;
1325 
1326 typedef enum xcb_window_class_t {
1327     XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0,
1328     XCB_WINDOW_CLASS_INPUT_OUTPUT = 1,
1329     XCB_WINDOW_CLASS_INPUT_ONLY = 2
1330 } xcb_window_class_t;
1331 
1332 typedef enum xcb_cw_t {
1333     XCB_CW_BACK_PIXMAP = 1,
1334 /**< Overrides the default background-pixmap. The background pixmap and window must
1335 have the same root and same depth. Any size pixmap can be used, although some
1336 sizes may be faster than others.
1337 
1338 If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background.
1339 The server may fill the contents with the previous screen contents or with
1340 contents of its own choosing.
1341 
1342 If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is
1343 used, but the window must have the same depth as the parent (or a Match error
1344 results).   The parent's background is tracked, and the current version is
1345 used each time the window background is required. */
1346 
1347     XCB_CW_BACK_PIXEL = 2,
1348 /**< Overrides `BackPixmap`. A pixmap of undefined size filled with the specified
1349 background pixel is used for the background. Range-checking is not performed,
1350 the background pixel is truncated to the appropriate number of bits. */
1351 
1352     XCB_CW_BORDER_PIXMAP = 4,
1353 /**< Overrides the default border-pixmap. The border pixmap and window must have the
1354 same root and the same depth. Any size pixmap can be used, although some sizes
1355 may be faster than others.
1356 
1357 The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is
1358 copied (subsequent changes to the parent's border attribute do not affect the
1359 child), but the window must have the same depth as the parent. */
1360 
1361     XCB_CW_BORDER_PIXEL = 8,
1362 /**< Overrides `BorderPixmap`. A pixmap of undefined size filled with the specified
1363 border pixel is used for the border. Range checking is not performed on the
1364 border-pixel value, it is truncated to the appropriate number of bits. */
1365 
1366     XCB_CW_BIT_GRAVITY = 16,
1367 /**< Defines which region of the window should be retained if the window is resized. */
1368 
1369     XCB_CW_WIN_GRAVITY = 32,
1370 /**< Defines how the window should be repositioned if the parent is resized (see
1371 `ConfigureWindow`). */
1372 
1373     XCB_CW_BACKING_STORE = 64,
1374 /**< A backing-store of `WhenMapped` advises the server that maintaining contents of
1375 obscured regions when the window is mapped would be beneficial. A backing-store
1376 of `Always` advises the server that maintaining contents even when the window
1377 is unmapped would be beneficial. In this case, the server may generate an
1378 exposure event when the window is created. A value of `NotUseful` advises the
1379 server that maintaining contents is unnecessary, although a server may still
1380 choose to maintain contents while the window is mapped. Note that if the server
1381 maintains contents, then the server should maintain complete contents not just
1382 the region within the parent boundaries, even if the window is larger than its
1383 parent. While the server maintains contents, exposure events will not normally
1384 be generated, but the server may stop maintaining contents at any time. */
1385 
1386     XCB_CW_BACKING_PLANES = 128,
1387 /**< The backing-planes indicates (with bits set to 1) which bit planes of the
1388 window hold dynamic data that must be preserved in backing-stores and during
1389 save-unders. */
1390 
1391     XCB_CW_BACKING_PIXEL = 256,
1392 /**< The backing-pixel specifies what value to use in planes not covered by
1393 backing-planes. The server is free to save only the specified bit planes in the
1394 backing-store or save-under and regenerate the remaining planes with the
1395 specified pixel value. Any bits beyond the specified depth of the window in
1396 these values are simply ignored. */
1397 
1398     XCB_CW_OVERRIDE_REDIRECT = 512,
1399 /**< The override-redirect specifies whether map and configure requests on this
1400 window should override a SubstructureRedirect on the parent, typically to
1401 inform a window manager not to tamper with the window. */
1402 
1403     XCB_CW_SAVE_UNDER = 1024,
1404 /**< If 1, the server is advised that when this window is mapped, saving the
1405 contents of windows it obscures would be beneficial. */
1406 
1407     XCB_CW_EVENT_MASK = 2048,
1408 /**< The event-mask defines which events the client is interested in for this window
1409 (or for some event types, inferiors of the window). */
1410 
1411     XCB_CW_DONT_PROPAGATE = 4096,
1412 /**< The do-not-propagate-mask defines which events should not be propagated to
1413 ancestor windows when no client has the event type selected in this window. */
1414 
1415     XCB_CW_COLORMAP = 8192,
1416 /**< The colormap specifies the colormap that best reflects the true colors of the window. Servers
1417 capable of supporting multiple hardware colormaps may use this information, and window man-
1418 agers may use it for InstallColormap requests. The colormap must have the same visual type
1419 and root as the window (or a Match error results). If CopyFromParent is specified, the parent's
1420 colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child).
1421 However, the window must have the same visual type as the parent (or a Match error results),
1422 and the parent must not have a colormap of None (or a Match error results). For an explanation
1423 of None, see FreeColormap request. The colormap is copied by sharing the colormap object
1424 between the child and the parent, not by making a complete copy of the colormap contents. */
1425 
1426     XCB_CW_CURSOR = 16384
1427 /**< If a cursor is specified, it will be used whenever the pointer is in the window. If None is speci-
1428 fied, the parent's cursor will be used when the pointer is in the window, and any change in the
1429 parent's cursor will cause an immediate change in the displayed cursor. */
1430 
1431 } xcb_cw_t;
1432 
1433 typedef enum xcb_back_pixmap_t {
1434     XCB_BACK_PIXMAP_NONE = 0,
1435     XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
1436 } xcb_back_pixmap_t;
1437 
1438 typedef enum xcb_gravity_t {
1439     XCB_GRAVITY_BIT_FORGET = 0,
1440     XCB_GRAVITY_WIN_UNMAP = 0,
1441     XCB_GRAVITY_NORTH_WEST = 1,
1442     XCB_GRAVITY_NORTH = 2,
1443     XCB_GRAVITY_NORTH_EAST = 3,
1444     XCB_GRAVITY_WEST = 4,
1445     XCB_GRAVITY_CENTER = 5,
1446     XCB_GRAVITY_EAST = 6,
1447     XCB_GRAVITY_SOUTH_WEST = 7,
1448     XCB_GRAVITY_SOUTH = 8,
1449     XCB_GRAVITY_SOUTH_EAST = 9,
1450     XCB_GRAVITY_STATIC = 10
1451 } xcb_gravity_t;
1452 
1453 /** Opcode for xcb_create_window. */
1454 #define XCB_CREATE_WINDOW 1
1455 
1456 /**
1457  * @brief xcb_create_window_request_t
1458  **/
1459 typedef struct xcb_create_window_request_t {
1460     uint8_t        major_opcode; /**<  */
1461     uint8_t        depth; /**<  */
1462     uint16_t       length; /**<  */
1463     xcb_window_t   wid; /**<  */
1464     xcb_window_t   parent; /**<  */
1465     int16_t        x; /**<  */
1466     int16_t        y; /**<  */
1467     uint16_t       width; /**<  */
1468     uint16_t       height; /**<  */
1469     uint16_t       border_width; /**<  */
1470     uint16_t       _class; /**<  */
1471     xcb_visualid_t visual; /**<  */
1472     uint32_t       value_mask; /**<  */
1473 } xcb_create_window_request_t;
1474 
1475 /** Opcode for xcb_change_window_attributes. */
1476 #define XCB_CHANGE_WINDOW_ATTRIBUTES 2
1477 
1478 /**
1479  * @brief xcb_change_window_attributes_request_t
1480  **/
1481 typedef struct xcb_change_window_attributes_request_t {
1482     uint8_t      major_opcode; /**<  */
1483     uint8_t      pad0; /**<  */
1484     uint16_t     length; /**<  */
1485     xcb_window_t window; /**<  */
1486     uint32_t     value_mask; /**<  */
1487 } xcb_change_window_attributes_request_t;
1488 
1489 typedef enum xcb_map_state_t {
1490     XCB_MAP_STATE_UNMAPPED = 0,
1491     XCB_MAP_STATE_UNVIEWABLE = 1,
1492     XCB_MAP_STATE_VIEWABLE = 2
1493 } xcb_map_state_t;
1494 
1495 /**
1496  * @brief xcb_get_window_attributes_cookie_t
1497  **/
1498 typedef struct xcb_get_window_attributes_cookie_t {
1499     unsigned int sequence; /**<  */
1500 } xcb_get_window_attributes_cookie_t;
1501 
1502 /** Opcode for xcb_get_window_attributes. */
1503 #define XCB_GET_WINDOW_ATTRIBUTES 3
1504 
1505 /**
1506  * @brief xcb_get_window_attributes_request_t
1507  **/
1508 typedef struct xcb_get_window_attributes_request_t {
1509     uint8_t      major_opcode; /**<  */
1510     uint8_t      pad0; /**<  */
1511     uint16_t     length; /**<  */
1512     xcb_window_t window; /**<  */
1513 } xcb_get_window_attributes_request_t;
1514 
1515 /**
1516  * @brief xcb_get_window_attributes_reply_t
1517  **/
1518 typedef struct xcb_get_window_attributes_reply_t {
1519     uint8_t        response_type; /**<  */
1520     uint8_t        backing_store; /**<  */
1521     uint16_t       sequence; /**<  */
1522     uint32_t       length; /**<  */
1523     xcb_visualid_t visual; /**<  */
1524     uint16_t       _class; /**<  */
1525     uint8_t        bit_gravity; /**<  */
1526     uint8_t        win_gravity; /**<  */
1527     uint32_t       backing_planes; /**<  */
1528     uint32_t       backing_pixel; /**<  */
1529     uint8_t        save_under; /**<  */
1530     uint8_t        map_is_installed; /**<  */
1531     uint8_t        map_state; /**<  */
1532     uint8_t        override_redirect; /**<  */
1533     xcb_colormap_t colormap; /**<  */
1534     uint32_t       all_event_masks; /**<  */
1535     uint32_t       your_event_mask; /**<  */
1536     uint16_t       do_not_propagate_mask; /**<  */
1537     uint8_t        pad0[2]; /**<  */
1538 } xcb_get_window_attributes_reply_t;
1539 
1540 /** Opcode for xcb_destroy_window. */
1541 #define XCB_DESTROY_WINDOW 4
1542 
1543 /**
1544  * @brief xcb_destroy_window_request_t
1545  **/
1546 typedef struct xcb_destroy_window_request_t {
1547     uint8_t      major_opcode; /**<  */
1548     uint8_t      pad0; /**<  */
1549     uint16_t     length; /**<  */
1550     xcb_window_t window; /**<  */
1551 } xcb_destroy_window_request_t;
1552 
1553 /** Opcode for xcb_destroy_subwindows. */
1554 #define XCB_DESTROY_SUBWINDOWS 5
1555 
1556 /**
1557  * @brief xcb_destroy_subwindows_request_t
1558  **/
1559 typedef struct xcb_destroy_subwindows_request_t {
1560     uint8_t      major_opcode; /**<  */
1561     uint8_t      pad0; /**<  */
1562     uint16_t     length; /**<  */
1563     xcb_window_t window; /**<  */
1564 } xcb_destroy_subwindows_request_t;
1565 
1566 typedef enum xcb_set_mode_t {
1567     XCB_SET_MODE_INSERT = 0,
1568     XCB_SET_MODE_DELETE = 1
1569 } xcb_set_mode_t;
1570 
1571 /** Opcode for xcb_change_save_set. */
1572 #define XCB_CHANGE_SAVE_SET 6
1573 
1574 /**
1575  * @brief xcb_change_save_set_request_t
1576  **/
1577 typedef struct xcb_change_save_set_request_t {
1578     uint8_t      major_opcode; /**<  */
1579     uint8_t      mode; /**<  */
1580     uint16_t     length; /**<  */
1581     xcb_window_t window; /**<  */
1582 } xcb_change_save_set_request_t;
1583 
1584 /** Opcode for xcb_reparent_window. */
1585 #define XCB_REPARENT_WINDOW 7
1586 
1587 /**
1588  * @brief xcb_reparent_window_request_t
1589  **/
1590 typedef struct xcb_reparent_window_request_t {
1591     uint8_t      major_opcode; /**<  */
1592     uint8_t      pad0; /**<  */
1593     uint16_t     length; /**<  */
1594     xcb_window_t window; /**<  */
1595     xcb_window_t parent; /**<  */
1596     int16_t      x; /**<  */
1597     int16_t      y; /**<  */
1598 } xcb_reparent_window_request_t;
1599 
1600 /** Opcode for xcb_map_window. */
1601 #define XCB_MAP_WINDOW 8
1602 
1603 /**
1604  * @brief xcb_map_window_request_t
1605  **/
1606 typedef struct xcb_map_window_request_t {
1607     uint8_t      major_opcode; /**<  */
1608     uint8_t      pad0; /**<  */
1609     uint16_t     length; /**<  */
1610     xcb_window_t window; /**<  */
1611 } xcb_map_window_request_t;
1612 
1613 /** Opcode for xcb_map_subwindows. */
1614 #define XCB_MAP_SUBWINDOWS 9
1615 
1616 /**
1617  * @brief xcb_map_subwindows_request_t
1618  **/
1619 typedef struct xcb_map_subwindows_request_t {
1620     uint8_t      major_opcode; /**<  */
1621     uint8_t      pad0; /**<  */
1622     uint16_t     length; /**<  */
1623     xcb_window_t window; /**<  */
1624 } xcb_map_subwindows_request_t;
1625 
1626 /** Opcode for xcb_unmap_window. */
1627 #define XCB_UNMAP_WINDOW 10
1628 
1629 /**
1630  * @brief xcb_unmap_window_request_t
1631  **/
1632 typedef struct xcb_unmap_window_request_t {
1633     uint8_t      major_opcode; /**<  */
1634     uint8_t      pad0; /**<  */
1635     uint16_t     length; /**<  */
1636     xcb_window_t window; /**<  */
1637 } xcb_unmap_window_request_t;
1638 
1639 /** Opcode for xcb_unmap_subwindows. */
1640 #define XCB_UNMAP_SUBWINDOWS 11
1641 
1642 /**
1643  * @brief xcb_unmap_subwindows_request_t
1644  **/
1645 typedef struct xcb_unmap_subwindows_request_t {
1646     uint8_t      major_opcode; /**<  */
1647     uint8_t      pad0; /**<  */
1648     uint16_t     length; /**<  */
1649     xcb_window_t window; /**<  */
1650 } xcb_unmap_subwindows_request_t;
1651 
1652 typedef enum xcb_config_window_t {
1653     XCB_CONFIG_WINDOW_X = 1,
1654     XCB_CONFIG_WINDOW_Y = 2,
1655     XCB_CONFIG_WINDOW_WIDTH = 4,
1656     XCB_CONFIG_WINDOW_HEIGHT = 8,
1657     XCB_CONFIG_WINDOW_BORDER_WIDTH = 16,
1658     XCB_CONFIG_WINDOW_SIBLING = 32,
1659     XCB_CONFIG_WINDOW_STACK_MODE = 64
1660 } xcb_config_window_t;
1661 
1662 typedef enum xcb_stack_mode_t {
1663     XCB_STACK_MODE_ABOVE = 0,
1664     XCB_STACK_MODE_BELOW = 1,
1665     XCB_STACK_MODE_TOP_IF = 2,
1666     XCB_STACK_MODE_BOTTOM_IF = 3,
1667     XCB_STACK_MODE_OPPOSITE = 4
1668 } xcb_stack_mode_t;
1669 
1670 /** Opcode for xcb_configure_window. */
1671 #define XCB_CONFIGURE_WINDOW 12
1672 
1673 /**
1674  * @brief xcb_configure_window_request_t
1675  **/
1676 typedef struct xcb_configure_window_request_t {
1677     uint8_t      major_opcode; /**<  */
1678     uint8_t      pad0; /**<  */
1679     uint16_t     length; /**<  */
1680     xcb_window_t window; /**<  */
1681     uint16_t     value_mask; /**<  */
1682     uint8_t      pad1[2]; /**<  */
1683 } xcb_configure_window_request_t;
1684 
1685 typedef enum xcb_circulate_t {
1686     XCB_CIRCULATE_RAISE_LOWEST = 0,
1687     XCB_CIRCULATE_LOWER_HIGHEST = 1
1688 } xcb_circulate_t;
1689 
1690 /** Opcode for xcb_circulate_window. */
1691 #define XCB_CIRCULATE_WINDOW 13
1692 
1693 /**
1694  * @brief xcb_circulate_window_request_t
1695  **/
1696 typedef struct xcb_circulate_window_request_t {
1697     uint8_t      major_opcode; /**<  */
1698     uint8_t      direction; /**<  */
1699     uint16_t     length; /**<  */
1700     xcb_window_t window; /**<  */
1701 } xcb_circulate_window_request_t;
1702 
1703 /**
1704  * @brief xcb_get_geometry_cookie_t
1705  **/
1706 typedef struct xcb_get_geometry_cookie_t {
1707     unsigned int sequence; /**<  */
1708 } xcb_get_geometry_cookie_t;
1709 
1710 /** Opcode for xcb_get_geometry. */
1711 #define XCB_GET_GEOMETRY 14
1712 
1713 /**
1714  * @brief xcb_get_geometry_request_t
1715  **/
1716 typedef struct xcb_get_geometry_request_t {
1717     uint8_t        major_opcode; /**<  */
1718     uint8_t        pad0; /**<  */
1719     uint16_t       length; /**<  */
1720     xcb_drawable_t drawable; /**<  */
1721 } xcb_get_geometry_request_t;
1722 
1723 /**
1724  * @brief xcb_get_geometry_reply_t
1725  **/
1726 typedef struct xcb_get_geometry_reply_t {
1727     uint8_t      response_type; /**<  */
1728     uint8_t      depth; /**<  */
1729     uint16_t     sequence; /**<  */
1730     uint32_t     length; /**<  */
1731     xcb_window_t root; /**<  */
1732     int16_t      x; /**<  */
1733     int16_t      y; /**<  */
1734     uint16_t     width; /**<  */
1735     uint16_t     height; /**<  */
1736     uint16_t     border_width; /**<  */
1737     uint8_t      pad0[2]; /**<  */
1738 } xcb_get_geometry_reply_t;
1739 
1740 /**
1741  * @brief xcb_query_tree_cookie_t
1742  **/
1743 typedef struct xcb_query_tree_cookie_t {
1744     unsigned int sequence; /**<  */
1745 } xcb_query_tree_cookie_t;
1746 
1747 /** Opcode for xcb_query_tree. */
1748 #define XCB_QUERY_TREE 15
1749 
1750 /**
1751  * @brief xcb_query_tree_request_t
1752  **/
1753 typedef struct xcb_query_tree_request_t {
1754     uint8_t      major_opcode; /**<  */
1755     uint8_t      pad0; /**<  */
1756     uint16_t     length; /**<  */
1757     xcb_window_t window; /**<  */
1758 } xcb_query_tree_request_t;
1759 
1760 /**
1761  * @brief xcb_query_tree_reply_t
1762  **/
1763 typedef struct xcb_query_tree_reply_t {
1764     uint8_t      response_type; /**<  */
1765     uint8_t      pad0; /**<  */
1766     uint16_t     sequence; /**<  */
1767     uint32_t     length; /**<  */
1768     xcb_window_t root; /**<  */
1769     xcb_window_t parent; /**<  */
1770     uint16_t     children_len; /**<  */
1771     uint8_t      pad1[14]; /**<  */
1772 } xcb_query_tree_reply_t;
1773 
1774 /**
1775  * @brief xcb_intern_atom_cookie_t
1776  **/
1777 typedef struct xcb_intern_atom_cookie_t {
1778     unsigned int sequence; /**<  */
1779 } xcb_intern_atom_cookie_t;
1780 
1781 /** Opcode for xcb_intern_atom. */
1782 #define XCB_INTERN_ATOM 16
1783 
1784 /**
1785  * @brief xcb_intern_atom_request_t
1786  **/
1787 typedef struct xcb_intern_atom_request_t {
1788     uint8_t  major_opcode; /**<  */
1789     uint8_t  only_if_exists; /**<  */
1790     uint16_t length; /**<  */
1791     uint16_t name_len; /**<  */
1792     uint8_t  pad0[2]; /**<  */
1793 } xcb_intern_atom_request_t;
1794 
1795 /**
1796  * @brief xcb_intern_atom_reply_t
1797  **/
1798 typedef struct xcb_intern_atom_reply_t {
1799     uint8_t    response_type; /**<  */
1800     uint8_t    pad0; /**<  */
1801     uint16_t   sequence; /**<  */
1802     uint32_t   length; /**<  */
1803     xcb_atom_t atom; /**<  */
1804 } xcb_intern_atom_reply_t;
1805 
1806 /**
1807  * @brief xcb_get_atom_name_cookie_t
1808  **/
1809 typedef struct xcb_get_atom_name_cookie_t {
1810     unsigned int sequence; /**<  */
1811 } xcb_get_atom_name_cookie_t;
1812 
1813 /** Opcode for xcb_get_atom_name. */
1814 #define XCB_GET_ATOM_NAME 17
1815 
1816 /**
1817  * @brief xcb_get_atom_name_request_t
1818  **/
1819 typedef struct xcb_get_atom_name_request_t {
1820     uint8_t    major_opcode; /**<  */
1821     uint8_t    pad0; /**<  */
1822     uint16_t   length; /**<  */
1823     xcb_atom_t atom; /**<  */
1824 } xcb_get_atom_name_request_t;
1825 
1826 /**
1827  * @brief xcb_get_atom_name_reply_t
1828  **/
1829 typedef struct xcb_get_atom_name_reply_t {
1830     uint8_t  response_type; /**<  */
1831     uint8_t  pad0; /**<  */
1832     uint16_t sequence; /**<  */
1833     uint32_t length; /**<  */
1834     uint16_t name_len; /**<  */
1835     uint8_t  pad1[22]; /**<  */
1836 } xcb_get_atom_name_reply_t;
1837 
1838 typedef enum xcb_prop_mode_t {
1839     XCB_PROP_MODE_REPLACE = 0,
1840 /**< Discard the previous property value and store the new data. */
1841 
1842     XCB_PROP_MODE_PREPEND = 1,
1843 /**< Insert the new data before the beginning of existing data. The `format` must
1844 match existing property value. If the property is undefined, it is treated as
1845 defined with the correct type and format with zero-length data. */
1846 
1847     XCB_PROP_MODE_APPEND = 2
1848 /**< Insert the new data after the beginning of existing data. The `format` must
1849 match existing property value. If the property is undefined, it is treated as
1850 defined with the correct type and format with zero-length data. */
1851 
1852 } xcb_prop_mode_t;
1853 
1854 /** Opcode for xcb_change_property. */
1855 #define XCB_CHANGE_PROPERTY 18
1856 
1857 /**
1858  * @brief xcb_change_property_request_t
1859  **/
1860 typedef struct xcb_change_property_request_t {
1861     uint8_t      major_opcode; /**<  */
1862     uint8_t      mode; /**<  */
1863     uint16_t     length; /**<  */
1864     xcb_window_t window; /**<  */
1865     xcb_atom_t   property; /**<  */
1866     xcb_atom_t   type; /**<  */
1867     uint8_t      format; /**<  */
1868     uint8_t      pad0[3]; /**<  */
1869     uint32_t     data_len; /**<  */
1870 } xcb_change_property_request_t;
1871 
1872 /** Opcode for xcb_delete_property. */
1873 #define XCB_DELETE_PROPERTY 19
1874 
1875 /**
1876  * @brief xcb_delete_property_request_t
1877  **/
1878 typedef struct xcb_delete_property_request_t {
1879     uint8_t      major_opcode; /**<  */
1880     uint8_t      pad0; /**<  */
1881     uint16_t     length; /**<  */
1882     xcb_window_t window; /**<  */
1883     xcb_atom_t   property; /**<  */
1884 } xcb_delete_property_request_t;
1885 
1886 typedef enum xcb_get_property_type_t {
1887     XCB_GET_PROPERTY_TYPE_ANY = 0
1888 } xcb_get_property_type_t;
1889 
1890 /**
1891  * @brief xcb_get_property_cookie_t
1892  **/
1893 typedef struct xcb_get_property_cookie_t {
1894     unsigned int sequence; /**<  */
1895 } xcb_get_property_cookie_t;
1896 
1897 /** Opcode for xcb_get_property. */
1898 #define XCB_GET_PROPERTY 20
1899 
1900 /**
1901  * @brief xcb_get_property_request_t
1902  **/
1903 typedef struct xcb_get_property_request_t {
1904     uint8_t      major_opcode; /**<  */
1905     uint8_t      _delete; /**<  */
1906     uint16_t     length; /**<  */
1907     xcb_window_t window; /**<  */
1908     xcb_atom_t   property; /**<  */
1909     xcb_atom_t   type; /**<  */
1910     uint32_t     long_offset; /**<  */
1911     uint32_t     long_length; /**<  */
1912 } xcb_get_property_request_t;
1913 
1914 /**
1915  * @brief xcb_get_property_reply_t
1916  **/
1917 typedef struct xcb_get_property_reply_t {
1918     uint8_t    response_type; /**<  */
1919     uint8_t    format; /**<  */
1920     uint16_t   sequence; /**<  */
1921     uint32_t   length; /**<  */
1922     xcb_atom_t type; /**<  */
1923     uint32_t   bytes_after; /**<  */
1924     uint32_t   value_len; /**<  */
1925     uint8_t    pad0[12]; /**<  */
1926 } xcb_get_property_reply_t;
1927 
1928 /**
1929  * @brief xcb_list_properties_cookie_t
1930  **/
1931 typedef struct xcb_list_properties_cookie_t {
1932     unsigned int sequence; /**<  */
1933 } xcb_list_properties_cookie_t;
1934 
1935 /** Opcode for xcb_list_properties. */
1936 #define XCB_LIST_PROPERTIES 21
1937 
1938 /**
1939  * @brief xcb_list_properties_request_t
1940  **/
1941 typedef struct xcb_list_properties_request_t {
1942     uint8_t      major_opcode; /**<  */
1943     uint8_t      pad0; /**<  */
1944     uint16_t     length; /**<  */
1945     xcb_window_t window; /**<  */
1946 } xcb_list_properties_request_t;
1947 
1948 /**
1949  * @brief xcb_list_properties_reply_t
1950  **/
1951 typedef struct xcb_list_properties_reply_t {
1952     uint8_t  response_type; /**<  */
1953     uint8_t  pad0; /**<  */
1954     uint16_t sequence; /**<  */
1955     uint32_t length; /**<  */
1956     uint16_t atoms_len; /**<  */
1957     uint8_t  pad1[22]; /**<  */
1958 } xcb_list_properties_reply_t;
1959 
1960 /** Opcode for xcb_set_selection_owner. */
1961 #define XCB_SET_SELECTION_OWNER 22
1962 
1963 /**
1964  * @brief xcb_set_selection_owner_request_t
1965  **/
1966 typedef struct xcb_set_selection_owner_request_t {
1967     uint8_t         major_opcode; /**<  */
1968     uint8_t         pad0; /**<  */
1969     uint16_t        length; /**<  */
1970     xcb_window_t    owner; /**<  */
1971     xcb_atom_t      selection; /**<  */
1972     xcb_timestamp_t time; /**<  */
1973 } xcb_set_selection_owner_request_t;
1974 
1975 /**
1976  * @brief xcb_get_selection_owner_cookie_t
1977  **/
1978 typedef struct xcb_get_selection_owner_cookie_t {
1979     unsigned int sequence; /**<  */
1980 } xcb_get_selection_owner_cookie_t;
1981 
1982 /** Opcode for xcb_get_selection_owner. */
1983 #define XCB_GET_SELECTION_OWNER 23
1984 
1985 /**
1986  * @brief xcb_get_selection_owner_request_t
1987  **/
1988 typedef struct xcb_get_selection_owner_request_t {
1989     uint8_t    major_opcode; /**<  */
1990     uint8_t    pad0; /**<  */
1991     uint16_t   length; /**<  */
1992     xcb_atom_t selection; /**<  */
1993 } xcb_get_selection_owner_request_t;
1994 
1995 /**
1996  * @brief xcb_get_selection_owner_reply_t
1997  **/
1998 typedef struct xcb_get_selection_owner_reply_t {
1999     uint8_t      response_type; /**<  */
2000     uint8_t      pad0; /**<  */
2001     uint16_t     sequence; /**<  */
2002     uint32_t     length; /**<  */
2003     xcb_window_t owner; /**<  */
2004 } xcb_get_selection_owner_reply_t;
2005 
2006 /** Opcode for xcb_convert_selection. */
2007 #define XCB_CONVERT_SELECTION 24
2008 
2009 /**
2010  * @brief xcb_convert_selection_request_t
2011  **/
2012 typedef struct xcb_convert_selection_request_t {
2013     uint8_t         major_opcode; /**<  */
2014     uint8_t         pad0; /**<  */
2015     uint16_t        length; /**<  */
2016     xcb_window_t    requestor; /**<  */
2017     xcb_atom_t      selection; /**<  */
2018     xcb_atom_t      target; /**<  */
2019     xcb_atom_t      property; /**<  */
2020     xcb_timestamp_t time; /**<  */
2021 } xcb_convert_selection_request_t;
2022 
2023 typedef enum xcb_send_event_dest_t {
2024     XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0,
2025     XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1
2026 } xcb_send_event_dest_t;
2027 
2028 /** Opcode for xcb_send_event. */
2029 #define XCB_SEND_EVENT 25
2030 
2031 /**
2032  * @brief xcb_send_event_request_t
2033  **/
2034 typedef struct xcb_send_event_request_t {
2035     uint8_t      major_opcode; /**<  */
2036     uint8_t      propagate; /**<  */
2037     uint16_t     length; /**<  */
2038     xcb_window_t destination; /**<  */
2039     uint32_t     event_mask; /**<  */
2040     char         event[32]; /**<  */
2041 } xcb_send_event_request_t;
2042 
2043 typedef enum xcb_grab_mode_t {
2044     XCB_GRAB_MODE_SYNC = 0,
2045 /**< The state of the keyboard appears to freeze: No further keyboard events are
2046 generated by the server until the grabbing client issues a releasing
2047 `AllowEvents` request or until the keyboard grab is released. */
2048 
2049     XCB_GRAB_MODE_ASYNC = 1
2050 /**< Keyboard event processing continues normally. */
2051 
2052 } xcb_grab_mode_t;
2053 
2054 typedef enum xcb_grab_status_t {
2055     XCB_GRAB_STATUS_SUCCESS = 0,
2056     XCB_GRAB_STATUS_ALREADY_GRABBED = 1,
2057     XCB_GRAB_STATUS_INVALID_TIME = 2,
2058     XCB_GRAB_STATUS_NOT_VIEWABLE = 3,
2059     XCB_GRAB_STATUS_FROZEN = 4
2060 } xcb_grab_status_t;
2061 
2062 typedef enum xcb_cursor_enum_t {
2063     XCB_CURSOR_NONE = 0
2064 } xcb_cursor_enum_t;
2065 
2066 /**
2067  * @brief xcb_grab_pointer_cookie_t
2068  **/
2069 typedef struct xcb_grab_pointer_cookie_t {
2070     unsigned int sequence; /**<  */
2071 } xcb_grab_pointer_cookie_t;
2072 
2073 /** Opcode for xcb_grab_pointer. */
2074 #define XCB_GRAB_POINTER 26
2075 
2076 /**
2077  * @brief xcb_grab_pointer_request_t
2078  **/
2079 typedef struct xcb_grab_pointer_request_t {
2080     uint8_t         major_opcode; /**<  */
2081     uint8_t         owner_events; /**<  */
2082     uint16_t        length; /**<  */
2083     xcb_window_t    grab_window; /**<  */
2084     uint16_t        event_mask; /**<  */
2085     uint8_t         pointer_mode; /**<  */
2086     uint8_t         keyboard_mode; /**<  */
2087     xcb_window_t    confine_to; /**<  */
2088     xcb_cursor_t    cursor; /**<  */
2089     xcb_timestamp_t time; /**<  */
2090 } xcb_grab_pointer_request_t;
2091 
2092 /**
2093  * @brief xcb_grab_pointer_reply_t
2094  **/
2095 typedef struct xcb_grab_pointer_reply_t {
2096     uint8_t  response_type; /**<  */
2097     uint8_t  status; /**<  */
2098     uint16_t sequence; /**<  */
2099     uint32_t length; /**<  */
2100 } xcb_grab_pointer_reply_t;
2101 
2102 /** Opcode for xcb_ungrab_pointer. */
2103 #define XCB_UNGRAB_POINTER 27
2104 
2105 /**
2106  * @brief xcb_ungrab_pointer_request_t
2107  **/
2108 typedef struct xcb_ungrab_pointer_request_t {
2109     uint8_t         major_opcode; /**<  */
2110     uint8_t         pad0; /**<  */
2111     uint16_t        length; /**<  */
2112     xcb_timestamp_t time; /**<  */
2113 } xcb_ungrab_pointer_request_t;
2114 
2115 typedef enum xcb_button_index_t {
2116     XCB_BUTTON_INDEX_ANY = 0,
2117 /**< Any of the following (or none): */
2118 
2119     XCB_BUTTON_INDEX_1 = 1,
2120 /**< The left mouse button. */
2121 
2122     XCB_BUTTON_INDEX_2 = 2,
2123 /**< The right mouse button. */
2124 
2125     XCB_BUTTON_INDEX_3 = 3,
2126 /**< The middle mouse button. */
2127 
2128     XCB_BUTTON_INDEX_4 = 4,
2129 /**< Scroll wheel. TODO: direction? */
2130 
2131     XCB_BUTTON_INDEX_5 = 5
2132 /**< Scroll wheel. TODO: direction? */
2133 
2134 } xcb_button_index_t;
2135 
2136 /** Opcode for xcb_grab_button. */
2137 #define XCB_GRAB_BUTTON 28
2138 
2139 /**
2140  * @brief xcb_grab_button_request_t
2141  **/
2142 typedef struct xcb_grab_button_request_t {
2143     uint8_t      major_opcode; /**<  */
2144     uint8_t      owner_events; /**<  */
2145     uint16_t     length; /**<  */
2146     xcb_window_t grab_window; /**<  */
2147     uint16_t     event_mask; /**<  */
2148     uint8_t      pointer_mode; /**<  */
2149     uint8_t      keyboard_mode; /**<  */
2150     xcb_window_t confine_to; /**<  */
2151     xcb_cursor_t cursor; /**<  */
2152     uint8_t      button; /**<  */
2153     uint8_t      pad0; /**<  */
2154     uint16_t     modifiers; /**<  */
2155 } xcb_grab_button_request_t;
2156 
2157 /** Opcode for xcb_ungrab_button. */
2158 #define XCB_UNGRAB_BUTTON 29
2159 
2160 /**
2161  * @brief xcb_ungrab_button_request_t
2162  **/
2163 typedef struct xcb_ungrab_button_request_t {
2164     uint8_t      major_opcode; /**<  */
2165     uint8_t      button; /**<  */
2166     uint16_t     length; /**<  */
2167     xcb_window_t grab_window; /**<  */
2168     uint16_t     modifiers; /**<  */
2169     uint8_t      pad0[2]; /**<  */
2170 } xcb_ungrab_button_request_t;
2171 
2172 /** Opcode for xcb_change_active_pointer_grab. */
2173 #define XCB_CHANGE_ACTIVE_POINTER_GRAB 30
2174 
2175 /**
2176  * @brief xcb_change_active_pointer_grab_request_t
2177  **/
2178 typedef struct xcb_change_active_pointer_grab_request_t {
2179     uint8_t         major_opcode; /**<  */
2180     uint8_t         pad0; /**<  */
2181     uint16_t        length; /**<  */
2182     xcb_cursor_t    cursor; /**<  */
2183     xcb_timestamp_t time; /**<  */
2184     uint16_t        event_mask; /**<  */
2185     uint8_t         pad1[2]; /**<  */
2186 } xcb_change_active_pointer_grab_request_t;
2187 
2188 /**
2189  * @brief xcb_grab_keyboard_cookie_t
2190  **/
2191 typedef struct xcb_grab_keyboard_cookie_t {
2192     unsigned int sequence; /**<  */
2193 } xcb_grab_keyboard_cookie_t;
2194 
2195 /** Opcode for xcb_grab_keyboard. */
2196 #define XCB_GRAB_KEYBOARD 31
2197 
2198 /**
2199  * @brief xcb_grab_keyboard_request_t
2200  **/
2201 typedef struct xcb_grab_keyboard_request_t {
2202     uint8_t         major_opcode; /**<  */
2203     uint8_t         owner_events; /**<  */
2204     uint16_t        length; /**<  */
2205     xcb_window_t    grab_window; /**<  */
2206     xcb_timestamp_t time; /**<  */
2207     uint8_t         pointer_mode; /**<  */
2208     uint8_t         keyboard_mode; /**<  */
2209     uint8_t         pad0[2]; /**<  */
2210 } xcb_grab_keyboard_request_t;
2211 
2212 /**
2213  * @brief xcb_grab_keyboard_reply_t
2214  **/
2215 typedef struct xcb_grab_keyboard_reply_t {
2216     uint8_t  response_type; /**<  */
2217     uint8_t  status; /**<  */
2218     uint16_t sequence; /**<  */
2219     uint32_t length; /**<  */
2220 } xcb_grab_keyboard_reply_t;
2221 
2222 /** Opcode for xcb_ungrab_keyboard. */
2223 #define XCB_UNGRAB_KEYBOARD 32
2224 
2225 /**
2226  * @brief xcb_ungrab_keyboard_request_t
2227  **/
2228 typedef struct xcb_ungrab_keyboard_request_t {
2229     uint8_t         major_opcode; /**<  */
2230     uint8_t         pad0; /**<  */
2231     uint16_t        length; /**<  */
2232     xcb_timestamp_t time; /**<  */
2233 } xcb_ungrab_keyboard_request_t;
2234 
2235 typedef enum xcb_grab_t {
2236     XCB_GRAB_ANY = 0
2237 } xcb_grab_t;
2238 
2239 /** Opcode for xcb_grab_key. */
2240 #define XCB_GRAB_KEY 33
2241 
2242 /**
2243  * @brief xcb_grab_key_request_t
2244  **/
2245 typedef struct xcb_grab_key_request_t {
2246     uint8_t       major_opcode; /**<  */
2247     uint8_t       owner_events; /**<  */
2248     uint16_t      length; /**<  */
2249     xcb_window_t  grab_window; /**<  */
2250     uint16_t      modifiers; /**<  */
2251     xcb_keycode_t key; /**<  */
2252     uint8_t       pointer_mode; /**<  */
2253     uint8_t       keyboard_mode; /**<  */
2254     uint8_t       pad0[3]; /**<  */
2255 } xcb_grab_key_request_t;
2256 
2257 /** Opcode for xcb_ungrab_key. */
2258 #define XCB_UNGRAB_KEY 34
2259 
2260 /**
2261  * @brief xcb_ungrab_key_request_t
2262  **/
2263 typedef struct xcb_ungrab_key_request_t {
2264     uint8_t       major_opcode; /**<  */
2265     xcb_keycode_t key; /**<  */
2266     uint16_t      length; /**<  */
2267     xcb_window_t  grab_window; /**<  */
2268     uint16_t      modifiers; /**<  */
2269     uint8_t       pad0[2]; /**<  */
2270 } xcb_ungrab_key_request_t;
2271 
2272 typedef enum xcb_allow_t {
2273     XCB_ALLOW_ASYNC_POINTER = 0,
2274 /**< For AsyncPointer, if the pointer is frozen by the client, pointer event
2275 processing continues normally. If the pointer is frozen twice by the client on
2276 behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no
2277 effect if the pointer is not frozen by the client, but the pointer need not be
2278 grabbed by the client.
2279 
2280 TODO: rewrite this in more understandable terms. */
2281 
2282     XCB_ALLOW_SYNC_POINTER = 1,
2283 /**< For SyncPointer, if the pointer is frozen and actively grabbed by the client,
2284 pointer event processing continues normally until the next ButtonPress or
2285 ButtonRelease event is reported to the client, at which time the pointer again
2286 appears to freeze. However, if the reported event causes the pointer grab to be
2287 released, then the pointer does not freeze. SyncPointer has no effect if the
2288 pointer is not frozen by the client or if the pointer is not grabbed by the
2289 client. */
2290 
2291     XCB_ALLOW_REPLAY_POINTER = 2,
2292 /**< For ReplayPointer, if the pointer is actively grabbed by the client and is
2293 frozen as the result of an event having been sent to the client (either from
2294 the activation of a GrabButton or from a previous AllowEvents with mode
2295 SyncPointer but not from a GrabPointer), then the pointer grab is released and
2296 that event is completely reprocessed, this time ignoring any passive grabs at
2297 or above (towards the root) the grab-window of the grab just released. The
2298 request has no effect if the pointer is not grabbed by the client or if the
2299 pointer is not frozen as the result of an event. */
2300 
2301     XCB_ALLOW_ASYNC_KEYBOARD = 3,
2302 /**< For AsyncKeyboard, if the keyboard is frozen by the client, keyboard event
2303 processing continues normally. If the keyboard is frozen twice by the client on
2304 behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has
2305 no effect if the keyboard is not frozen by the client, but the keyboard need
2306 not be grabbed by the client. */
2307 
2308     XCB_ALLOW_SYNC_KEYBOARD = 4,
2309 /**< For SyncKeyboard, if the keyboard is frozen and actively grabbed by the client,
2310 keyboard event processing continues normally until the next KeyPress or
2311 KeyRelease event is reported to the client, at which time the keyboard again
2312 appears to freeze. However, if the reported event causes the keyboard grab to
2313 be released, then the keyboard does not freeze. SyncKeyboard has no effect if
2314 the keyboard is not frozen by the client or if the keyboard is not grabbed by
2315 the client. */
2316 
2317     XCB_ALLOW_REPLAY_KEYBOARD = 5,
2318 /**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is
2319 frozen as the result of an event having been sent to the client (either from
2320 the activation of a GrabKey or from a previous AllowEvents with mode
2321 SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released
2322 and that event is completely reprocessed, this time ignoring any passive grabs
2323 at or above (towards the root) the grab-window of the grab just released. The
2324 request has no effect if the keyboard is not grabbed by the client or if the
2325 keyboard is not frozen as the result of an event. */
2326 
2327     XCB_ALLOW_ASYNC_BOTH = 6,
2328 /**< For AsyncBoth, if the pointer and the keyboard are frozen by the client, event
2329 processing for both devices continues normally. If a device is frozen twice by
2330 the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth
2331 has no effect unless both pointer and keyboard are frozen by the client. */
2332 
2333     XCB_ALLOW_SYNC_BOTH = 7
2334 /**< For SyncBoth, if both pointer and keyboard are frozen by the client, event
2335 processing (for both devices) continues normally until the next ButtonPress,
2336 ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a
2337 grabbed device (button event for the pointer, key event for the keyboard), at
2338 which time the devices again appear to freeze. However, if the reported event
2339 causes the grab to be released, then the devices do not freeze (but if the
2340 other device is still grabbed, then a subsequent event for it will still cause
2341 both devices to freeze). SyncBoth has no effect unless both pointer and
2342 keyboard are frozen by the client. If the pointer or keyboard is frozen twice
2343 by the client on behalf of two separate grabs, SyncBoth thaws for both (but a
2344 subsequent freeze for SyncBoth will only freeze each device once). */
2345 
2346 } xcb_allow_t;
2347 
2348 /** Opcode for xcb_allow_events. */
2349 #define XCB_ALLOW_EVENTS 35
2350 
2351 /**
2352  * @brief xcb_allow_events_request_t
2353  **/
2354 typedef struct xcb_allow_events_request_t {
2355     uint8_t         major_opcode; /**<  */
2356     uint8_t         mode; /**<  */
2357     uint16_t        length; /**<  */
2358     xcb_timestamp_t time; /**<  */
2359 } xcb_allow_events_request_t;
2360 
2361 /** Opcode for xcb_grab_server. */
2362 #define XCB_GRAB_SERVER 36
2363 
2364 /**
2365  * @brief xcb_grab_server_request_t
2366  **/
2367 typedef struct xcb_grab_server_request_t {
2368     uint8_t  major_opcode; /**<  */
2369     uint8_t  pad0; /**<  */
2370     uint16_t length; /**<  */
2371 } xcb_grab_server_request_t;
2372 
2373 /** Opcode for xcb_ungrab_server. */
2374 #define XCB_UNGRAB_SERVER 37
2375 
2376 /**
2377  * @brief xcb_ungrab_server_request_t
2378  **/
2379 typedef struct xcb_ungrab_server_request_t {
2380     uint8_t  major_opcode; /**<  */
2381     uint8_t  pad0; /**<  */
2382     uint16_t length; /**<  */
2383 } xcb_ungrab_server_request_t;
2384 
2385 /**
2386  * @brief xcb_query_pointer_cookie_t
2387  **/
2388 typedef struct xcb_query_pointer_cookie_t {
2389     unsigned int sequence; /**<  */
2390 } xcb_query_pointer_cookie_t;
2391 
2392 /** Opcode for xcb_query_pointer. */
2393 #define XCB_QUERY_POINTER 38
2394 
2395 /**
2396  * @brief xcb_query_pointer_request_t
2397  **/
2398 typedef struct xcb_query_pointer_request_t {
2399     uint8_t      major_opcode; /**<  */
2400     uint8_t      pad0; /**<  */
2401     uint16_t     length; /**<  */
2402     xcb_window_t window; /**<  */
2403 } xcb_query_pointer_request_t;
2404 
2405 /**
2406  * @brief xcb_query_pointer_reply_t
2407  **/
2408 typedef struct xcb_query_pointer_reply_t {
2409     uint8_t      response_type; /**<  */
2410     uint8_t      same_screen; /**<  */
2411     uint16_t     sequence; /**<  */
2412     uint32_t     length; /**<  */
2413     xcb_window_t root; /**<  */
2414     xcb_window_t child; /**<  */
2415     int16_t      root_x; /**<  */
2416     int16_t      root_y; /**<  */
2417     int16_t      win_x; /**<  */
2418     int16_t      win_y; /**<  */
2419     uint16_t     mask; /**<  */
2420     uint8_t      pad0[2]; /**<  */
2421 } xcb_query_pointer_reply_t;
2422 
2423 /**
2424  * @brief xcb_timecoord_t
2425  **/
2426 typedef struct xcb_timecoord_t {
2427     xcb_timestamp_t time; /**<  */
2428     int16_t         x; /**<  */
2429     int16_t         y; /**<  */
2430 } xcb_timecoord_t;
2431 
2432 /**
2433  * @brief xcb_timecoord_iterator_t
2434  **/
2435 typedef struct xcb_timecoord_iterator_t {
2436     xcb_timecoord_t *data; /**<  */
2437     int              rem; /**<  */
2438     int              index; /**<  */
2439 } xcb_timecoord_iterator_t;
2440 
2441 /**
2442  * @brief xcb_get_motion_events_cookie_t
2443  **/
2444 typedef struct xcb_get_motion_events_cookie_t {
2445     unsigned int sequence; /**<  */
2446 } xcb_get_motion_events_cookie_t;
2447 
2448 /** Opcode for xcb_get_motion_events. */
2449 #define XCB_GET_MOTION_EVENTS 39
2450 
2451 /**
2452  * @brief xcb_get_motion_events_request_t
2453  **/
2454 typedef struct xcb_get_motion_events_request_t {
2455     uint8_t         major_opcode; /**<  */
2456     uint8_t         pad0; /**<  */
2457     uint16_t        length; /**<  */
2458     xcb_window_t    window; /**<  */
2459     xcb_timestamp_t start; /**<  */
2460     xcb_timestamp_t stop; /**<  */
2461 } xcb_get_motion_events_request_t;
2462 
2463 /**
2464  * @brief xcb_get_motion_events_reply_t
2465  **/
2466 typedef struct xcb_get_motion_events_reply_t {
2467     uint8_t  response_type; /**<  */
2468     uint8_t  pad0; /**<  */
2469     uint16_t sequence; /**<  */
2470     uint32_t length; /**<  */
2471     uint32_t events_len; /**<  */
2472     uint8_t  pad1[20]; /**<  */
2473 } xcb_get_motion_events_reply_t;
2474 
2475 /**
2476  * @brief xcb_translate_coordinates_cookie_t
2477  **/
2478 typedef struct xcb_translate_coordinates_cookie_t {
2479     unsigned int sequence; /**<  */
2480 } xcb_translate_coordinates_cookie_t;
2481 
2482 /** Opcode for xcb_translate_coordinates. */
2483 #define XCB_TRANSLATE_COORDINATES 40
2484 
2485 /**
2486  * @brief xcb_translate_coordinates_request_t
2487  **/
2488 typedef struct xcb_translate_coordinates_request_t {
2489     uint8_t      major_opcode; /**<  */
2490     uint8_t      pad0; /**<  */
2491     uint16_t     length; /**<  */
2492     xcb_window_t src_window; /**<  */
2493     xcb_window_t dst_window; /**<  */
2494     int16_t      src_x; /**<  */
2495     int16_t      src_y; /**<  */
2496 } xcb_translate_coordinates_request_t;
2497 
2498 /**
2499  * @brief xcb_translate_coordinates_reply_t
2500  **/
2501 typedef struct xcb_translate_coordinates_reply_t {
2502     uint8_t      response_type; /**<  */
2503     uint8_t      same_screen; /**<  */
2504     uint16_t     sequence; /**<  */
2505     uint32_t     length; /**<  */
2506     xcb_window_t child; /**<  */
2507     int16_t      dst_x; /**<  */
2508     int16_t      dst_y; /**<  */
2509 } xcb_translate_coordinates_reply_t;
2510 
2511 /** Opcode for xcb_warp_pointer. */
2512 #define XCB_WARP_POINTER 41
2513 
2514 /**
2515  * @brief xcb_warp_pointer_request_t
2516  **/
2517 typedef struct xcb_warp_pointer_request_t {
2518     uint8_t      major_opcode; /**<  */
2519     uint8_t      pad0; /**<  */
2520     uint16_t     length; /**<  */
2521     xcb_window_t src_window; /**<  */
2522     xcb_window_t dst_window; /**<  */
2523     int16_t      src_x; /**<  */
2524     int16_t      src_y; /**<  */
2525     uint16_t     src_width; /**<  */
2526     uint16_t     src_height; /**<  */
2527     int16_t      dst_x; /**<  */
2528     int16_t      dst_y; /**<  */
2529 } xcb_warp_pointer_request_t;
2530 
2531 typedef enum xcb_input_focus_t {
2532     XCB_INPUT_FOCUS_NONE = 0,
2533 /**< The focus reverts to `XCB_NONE`, so no window will have the input focus. */
2534 
2535     XCB_INPUT_FOCUS_POINTER_ROOT = 1,
2536 /**< The focus reverts to `XCB_POINTER_ROOT` respectively. When the focus reverts,
2537 FocusIn and FocusOut events are generated, but the last-focus-change time is
2538 not changed. */
2539 
2540     XCB_INPUT_FOCUS_PARENT = 2,
2541 /**< The focus reverts to the parent (or closest viewable ancestor) and the new
2542 revert_to value is `XCB_INPUT_FOCUS_NONE`. */
2543 
2544     XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3
2545 /**< NOT YET DOCUMENTED. Only relevant for the xinput extension. */
2546 
2547 } xcb_input_focus_t;
2548 
2549 /** Opcode for xcb_set_input_focus. */
2550 #define XCB_SET_INPUT_FOCUS 42
2551 
2552 /**
2553  * @brief xcb_set_input_focus_request_t
2554  **/
2555 typedef struct xcb_set_input_focus_request_t {
2556     uint8_t         major_opcode; /**<  */
2557     uint8_t         revert_to; /**<  */
2558     uint16_t        length; /**<  */
2559     xcb_window_t    focus; /**<  */
2560     xcb_timestamp_t time; /**<  */
2561 } xcb_set_input_focus_request_t;
2562 
2563 /**
2564  * @brief xcb_get_input_focus_cookie_t
2565  **/
2566 typedef struct xcb_get_input_focus_cookie_t {
2567     unsigned int sequence; /**<  */
2568 } xcb_get_input_focus_cookie_t;
2569 
2570 /** Opcode for xcb_get_input_focus. */
2571 #define XCB_GET_INPUT_FOCUS 43
2572 
2573 /**
2574  * @brief xcb_get_input_focus_request_t
2575  **/
2576 typedef struct xcb_get_input_focus_request_t {
2577     uint8_t  major_opcode; /**<  */
2578     uint8_t  pad0; /**<  */
2579     uint16_t length; /**<  */
2580 } xcb_get_input_focus_request_t;
2581 
2582 /**
2583  * @brief xcb_get_input_focus_reply_t
2584  **/
2585 typedef struct xcb_get_input_focus_reply_t {
2586     uint8_t      response_type; /**<  */
2587     uint8_t      revert_to; /**<  */
2588     uint16_t     sequence; /**<  */
2589     uint32_t     length; /**<  */
2590     xcb_window_t focus; /**<  */
2591 } xcb_get_input_focus_reply_t;
2592 
2593 /**
2594  * @brief xcb_query_keymap_cookie_t
2595  **/
2596 typedef struct xcb_query_keymap_cookie_t {
2597     unsigned int sequence; /**<  */
2598 } xcb_query_keymap_cookie_t;
2599 
2600 /** Opcode for xcb_query_keymap. */
2601 #define XCB_QUERY_KEYMAP 44
2602 
2603 /**
2604  * @brief xcb_query_keymap_request_t
2605  **/
2606 typedef struct xcb_query_keymap_request_t {
2607     uint8_t  major_opcode; /**<  */
2608     uint8_t  pad0; /**<  */
2609     uint16_t length; /**<  */
2610 } xcb_query_keymap_request_t;
2611 
2612 /**
2613  * @brief xcb_query_keymap_reply_t
2614  **/
2615 typedef struct xcb_query_keymap_reply_t {
2616     uint8_t  response_type; /**<  */
2617     uint8_t  pad0; /**<  */
2618     uint16_t sequence; /**<  */
2619     uint32_t length; /**<  */
2620     uint8_t  keys[32]; /**<  */
2621 } xcb_query_keymap_reply_t;
2622 
2623 /** Opcode for xcb_open_font. */
2624 #define XCB_OPEN_FONT 45
2625 
2626 /**
2627  * @brief xcb_open_font_request_t
2628  **/
2629 typedef struct xcb_open_font_request_t {
2630     uint8_t    major_opcode; /**<  */
2631     uint8_t    pad0; /**<  */
2632     uint16_t   length; /**<  */
2633     xcb_font_t fid; /**<  */
2634     uint16_t   name_len; /**<  */
2635     uint8_t    pad1[2]; /**<  */
2636 } xcb_open_font_request_t;
2637 
2638 /** Opcode for xcb_close_font. */
2639 #define XCB_CLOSE_FONT 46
2640 
2641 /**
2642  * @brief xcb_close_font_request_t
2643  **/
2644 typedef struct xcb_close_font_request_t {
2645     uint8_t    major_opcode; /**<  */
2646     uint8_t    pad0; /**<  */
2647     uint16_t   length; /**<  */
2648     xcb_font_t font; /**<  */
2649 } xcb_close_font_request_t;
2650 
2651 typedef enum xcb_font_draw_t {
2652     XCB_FONT_DRAW_LEFT_TO_RIGHT = 0,
2653     XCB_FONT_DRAW_RIGHT_TO_LEFT = 1
2654 } xcb_font_draw_t;
2655 
2656 /**
2657  * @brief xcb_fontprop_t
2658  **/
2659 typedef struct xcb_fontprop_t {
2660     xcb_atom_t name; /**<  */
2661     uint32_t   value; /**<  */
2662 } xcb_fontprop_t;
2663 
2664 /**
2665  * @brief xcb_fontprop_iterator_t
2666  **/
2667 typedef struct xcb_fontprop_iterator_t {
2668     xcb_fontprop_t *data; /**<  */
2669     int             rem; /**<  */
2670     int             index; /**<  */
2671 } xcb_fontprop_iterator_t;
2672 
2673 /**
2674  * @brief xcb_charinfo_t
2675  **/
2676 typedef struct xcb_charinfo_t {
2677     int16_t  left_side_bearing; /**<  */
2678     int16_t  right_side_bearing; /**<  */
2679     int16_t  character_width; /**<  */
2680     int16_t  ascent; /**<  */
2681     int16_t  descent; /**<  */
2682     uint16_t attributes; /**<  */
2683 } xcb_charinfo_t;
2684 
2685 /**
2686  * @brief xcb_charinfo_iterator_t
2687  **/
2688 typedef struct xcb_charinfo_iterator_t {
2689     xcb_charinfo_t *data; /**<  */
2690     int             rem; /**<  */
2691     int             index; /**<  */
2692 } xcb_charinfo_iterator_t;
2693 
2694 /**
2695  * @brief xcb_query_font_cookie_t
2696  **/
2697 typedef struct xcb_query_font_cookie_t {
2698     unsigned int sequence; /**<  */
2699 } xcb_query_font_cookie_t;
2700 
2701 /** Opcode for xcb_query_font. */
2702 #define XCB_QUERY_FONT 47
2703 
2704 /**
2705  * @brief xcb_query_font_request_t
2706  **/
2707 typedef struct xcb_query_font_request_t {
2708     uint8_t        major_opcode; /**<  */
2709     uint8_t        pad0; /**<  */
2710     uint16_t       length; /**<  */
2711     xcb_fontable_t font; /**<  */
2712 } xcb_query_font_request_t;
2713 
2714 /**
2715  * @brief xcb_query_font_reply_t
2716  **/
2717 typedef struct xcb_query_font_reply_t {
2718     uint8_t        response_type; /**<  */
2719     uint8_t        pad0; /**<  */
2720     uint16_t       sequence; /**<  */
2721     uint32_t       length; /**<  */
2722     xcb_charinfo_t min_bounds; /**<  */
2723     uint8_t        pad1[4]; /**<  */
2724     xcb_charinfo_t max_bounds; /**<  */
2725     uint8_t        pad2[4]; /**<  */
2726     uint16_t       min_char_or_byte2; /**<  */
2727     uint16_t       max_char_or_byte2; /**<  */
2728     uint16_t       default_char; /**<  */
2729     uint16_t       properties_len; /**<  */
2730     uint8_t        draw_direction; /**<  */
2731     uint8_t        min_byte1; /**<  */
2732     uint8_t        max_byte1; /**<  */
2733     uint8_t        all_chars_exist; /**<  */
2734     int16_t        font_ascent; /**<  */
2735     int16_t        font_descent; /**<  */
2736     uint32_t       char_infos_len; /**<  */
2737 } xcb_query_font_reply_t;
2738 
2739 /**
2740  * @brief xcb_query_text_extents_cookie_t
2741  **/
2742 typedef struct xcb_query_text_extents_cookie_t {
2743     unsigned int sequence; /**<  */
2744 } xcb_query_text_extents_cookie_t;
2745 
2746 /** Opcode for xcb_query_text_extents. */
2747 #define XCB_QUERY_TEXT_EXTENTS 48
2748 
2749 /**
2750  * @brief xcb_query_text_extents_request_t
2751  **/
2752 typedef struct xcb_query_text_extents_request_t {
2753     uint8_t        major_opcode; /**<  */
2754     uint8_t        odd_length; /**<  */
2755     uint16_t       length; /**<  */
2756     xcb_fontable_t font; /**<  */
2757 } xcb_query_text_extents_request_t;
2758 
2759 /**
2760  * @brief xcb_query_text_extents_reply_t
2761  **/
2762 typedef struct xcb_query_text_extents_reply_t {
2763     uint8_t  response_type; /**<  */
2764     uint8_t  draw_direction; /**<  */
2765     uint16_t sequence; /**<  */
2766     uint32_t length; /**<  */
2767     int16_t  font_ascent; /**<  */
2768     int16_t  font_descent; /**<  */
2769     int16_t  overall_ascent; /**<  */
2770     int16_t  overall_descent; /**<  */
2771     int32_t  overall_width; /**<  */
2772     int32_t  overall_left; /**<  */
2773     int32_t  overall_right; /**<  */
2774 } xcb_query_text_extents_reply_t;
2775 
2776 /**
2777  * @brief xcb_str_t
2778  **/
2779 typedef struct xcb_str_t {
2780     uint8_t name_len; /**<  */
2781 } xcb_str_t;
2782 
2783 /**
2784  * @brief xcb_str_iterator_t
2785  **/
2786 typedef struct xcb_str_iterator_t {
2787     xcb_str_t *data; /**<  */
2788     int        rem; /**<  */
2789     int        index; /**<  */
2790 } xcb_str_iterator_t;
2791 
2792 /**
2793  * @brief xcb_list_fonts_cookie_t
2794  **/
2795 typedef struct xcb_list_fonts_cookie_t {
2796     unsigned int sequence; /**<  */
2797 } xcb_list_fonts_cookie_t;
2798 
2799 /** Opcode for xcb_list_fonts. */
2800 #define XCB_LIST_FONTS 49
2801 
2802 /**
2803  * @brief xcb_list_fonts_request_t
2804  **/
2805 typedef struct xcb_list_fonts_request_t {
2806     uint8_t  major_opcode; /**<  */
2807     uint8_t  pad0; /**<  */
2808     uint16_t length; /**<  */
2809     uint16_t max_names; /**<  */
2810     uint16_t pattern_len; /**<  */
2811 } xcb_list_fonts_request_t;
2812 
2813 /**
2814  * @brief xcb_list_fonts_reply_t
2815  **/
2816 typedef struct xcb_list_fonts_reply_t {
2817     uint8_t  response_type; /**<  */
2818     uint8_t  pad0; /**<  */
2819     uint16_t sequence; /**<  */
2820     uint32_t length; /**<  */
2821     uint16_t names_len; /**<  */
2822     uint8_t  pad1[22]; /**<  */
2823 } xcb_list_fonts_reply_t;
2824 
2825 /**
2826  * @brief xcb_list_fonts_with_info_cookie_t
2827  **/
2828 typedef struct xcb_list_fonts_with_info_cookie_t {
2829     unsigned int sequence; /**<  */
2830 } xcb_list_fonts_with_info_cookie_t;
2831 
2832 /** Opcode for xcb_list_fonts_with_info. */
2833 #define XCB_LIST_FONTS_WITH_INFO 50
2834 
2835 /**
2836  * @brief xcb_list_fonts_with_info_request_t
2837  **/
2838 typedef struct xcb_list_fonts_with_info_request_t {
2839     uint8_t  major_opcode; /**<  */
2840     uint8_t  pad0; /**<  */
2841     uint16_t length; /**<  */
2842     uint16_t max_names; /**<  */
2843     uint16_t pattern_len; /**<  */
2844 } xcb_list_fonts_with_info_request_t;
2845 
2846 /**
2847  * @brief xcb_list_fonts_with_info_reply_t
2848  **/
2849 typedef struct xcb_list_fonts_with_info_reply_t {
2850     uint8_t        response_type; /**<  */
2851     uint8_t        name_len; /**<  */
2852     uint16_t       sequence; /**<  */
2853     uint32_t       length; /**<  */
2854     xcb_charinfo_t min_bounds; /**<  */
2855     uint8_t        pad0[4]; /**<  */
2856     xcb_charinfo_t max_bounds; /**<  */
2857     uint8_t        pad1[4]; /**<  */
2858     uint16_t       min_char_or_byte2; /**<  */
2859     uint16_t       max_char_or_byte2; /**<  */
2860     uint16_t       default_char; /**<  */
2861     uint16_t       properties_len; /**<  */
2862     uint8_t        draw_direction; /**<  */
2863     uint8_t        min_byte1; /**<  */
2864     uint8_t        max_byte1; /**<  */
2865     uint8_t        all_chars_exist; /**<  */
2866     int16_t        font_ascent; /**<  */
2867     int16_t        font_descent; /**<  */
2868     uint32_t       replies_hint; /**<  */
2869 } xcb_list_fonts_with_info_reply_t;
2870 
2871 /** Opcode for xcb_set_font_path. */
2872 #define XCB_SET_FONT_PATH 51
2873 
2874 /**
2875  * @brief xcb_set_font_path_request_t
2876  **/
2877 typedef struct xcb_set_font_path_request_t {
2878     uint8_t  major_opcode; /**<  */
2879     uint8_t  pad0; /**<  */
2880     uint16_t length; /**<  */
2881     uint16_t font_qty; /**<  */
2882     uint8_t  pad1[2]; /**<  */
2883 } xcb_set_font_path_request_t;
2884 
2885 /**
2886  * @brief xcb_get_font_path_cookie_t
2887  **/
2888 typedef struct xcb_get_font_path_cookie_t {
2889     unsigned int sequence; /**<  */
2890 } xcb_get_font_path_cookie_t;
2891 
2892 /** Opcode for xcb_get_font_path. */
2893 #define XCB_GET_FONT_PATH 52
2894 
2895 /**
2896  * @brief xcb_get_font_path_request_t
2897  **/
2898 typedef struct xcb_get_font_path_request_t {
2899     uint8_t  major_opcode; /**<  */
2900     uint8_t  pad0; /**<  */
2901     uint16_t length; /**<  */
2902 } xcb_get_font_path_request_t;
2903 
2904 /**
2905  * @brief xcb_get_font_path_reply_t
2906  **/
2907 typedef struct xcb_get_font_path_reply_t {
2908     uint8_t  response_type; /**<  */
2909     uint8_t  pad0; /**<  */
2910     uint16_t sequence; /**<  */
2911     uint32_t length; /**<  */
2912     uint16_t path_len; /**<  */
2913     uint8_t  pad1[22]; /**<  */
2914 } xcb_get_font_path_reply_t;
2915 
2916 /** Opcode for xcb_create_pixmap. */
2917 #define XCB_CREATE_PIXMAP 53
2918 
2919 /**
2920  * @brief xcb_create_pixmap_request_t
2921  **/
2922 typedef struct xcb_create_pixmap_request_t {
2923     uint8_t        major_opcode; /**<  */
2924     uint8_t        depth; /**<  */
2925     uint16_t       length; /**<  */
2926     xcb_pixmap_t   pid; /**<  */
2927     xcb_drawable_t drawable; /**<  */
2928     uint16_t       width; /**<  */
2929     uint16_t       height; /**<  */
2930 } xcb_create_pixmap_request_t;
2931 
2932 /** Opcode for xcb_free_pixmap. */
2933 #define XCB_FREE_PIXMAP 54
2934 
2935 /**
2936  * @brief xcb_free_pixmap_request_t
2937  **/
2938 typedef struct xcb_free_pixmap_request_t {
2939     uint8_t      major_opcode; /**<  */
2940     uint8_t      pad0; /**<  */
2941     uint16_t     length; /**<  */
2942     xcb_pixmap_t pixmap; /**<  */
2943 } xcb_free_pixmap_request_t;
2944 
2945 typedef enum xcb_gc_t {
2946     XCB_GC_FUNCTION = 1,
2947 /**< TODO: Refer to GX */
2948 
2949     XCB_GC_PLANE_MASK = 2,
2950 /**< In graphics operations, given a source and destination pixel, the result is
2951 computed bitwise on corresponding bits of the pixels; that is, a Boolean
2952 operation is performed in each bit plane. The plane-mask restricts the
2953 operation to a subset of planes, so the result is:
2954 
2955         ((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask)) */
2956 
2957     XCB_GC_FOREGROUND = 4,
2958 /**< Foreground colorpixel. */
2959 
2960     XCB_GC_BACKGROUND = 8,
2961 /**< Background colorpixel. */
2962 
2963     XCB_GC_LINE_WIDTH = 16,
2964 /**< The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the
2965 special value zero, a thin line. */
2966 
2967     XCB_GC_LINE_STYLE = 32,
2968 /**< The line-style defines which sections of a line are drawn:
2969 Solid                The full path of the line is drawn.
2970 DoubleDash           The full path of the line is drawn, but the even dashes are filled differently
2971                      than the odd dashes (see fill-style), with Butt cap-style used where even and
2972                      odd dashes meet.
2973 OnOffDash            Only the even dashes are drawn, and cap-style applies to all internal ends of
2974                      the individual dashes (except NotLast is treated as Butt). */
2975 
2976     XCB_GC_CAP_STYLE = 64,
2977 /**< The cap-style defines how the endpoints of a path are drawn:
2978 NotLast    The result is equivalent to Butt, except that for a line-width of zero the final
2979            endpoint is not drawn.
2980 Butt       The result is square at the endpoint (perpendicular to the slope of the line)
2981            with no projection beyond.
2982 Round      The result is a circular arc with its diameter equal to the line-width, centered
2983            on the endpoint; it is equivalent to Butt for line-width zero.
2984 Projecting The result is square at the end, but the path continues beyond the endpoint for
2985            a distance equal to half the line-width; it is equivalent to Butt for line-width
2986            zero. */
2987 
2988     XCB_GC_JOIN_STYLE = 128,
2989 /**< The join-style defines how corners are drawn for wide lines:
2990 Miter               The outer edges of the two lines extend to meet at an angle. However, if the
2991                     angle is less than 11 degrees, a Bevel join-style is used instead.
2992 Round               The result is a circular arc with a diameter equal to the line-width, centered
2993                     on the joinpoint.
2994 Bevel               The result is Butt endpoint styles, and then the triangular notch is filled. */
2995 
2996     XCB_GC_FILL_STYLE = 256,
2997 /**< The fill-style defines the contents of the source for line, text, and fill requests. For all text and fill
2998 requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc)
2999 as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment,
3000 PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash
3001 or DoubleDash:
3002 Solid                     Foreground
3003 Tiled                     Tile
3004 OpaqueStippled            A tile with the same width and height as stipple but with background
3005                           everywhere stipple has a zero and with foreground everywhere stipple
3006                           has a one
3007 Stippled                  Foreground masked by stipple
3008 For the odd dashes for line requests with line-style DoubleDash:
3009 Solid                     Background
3010 Tiled                     Same as for even dashes
3011 OpaqueStippled            Same as for even dashes
3012 Stippled                  Background masked by stipple */
3013 
3014     XCB_GC_FILL_RULE = 512,
3015 /**<  */
3016 
3017     XCB_GC_TILE = 1024,
3018 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
3019 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
3020 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
3021 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
3022 origin of whatever destination drawable is specified in a graphics request.
3023 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
3024 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
3025 Match error results). For fill-style Stippled (but not fill-style
3026 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
3027 additional clip mask to be ANDed with the clip-mask.
3028 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
3029 others. */
3030 
3031     XCB_GC_STIPPLE = 2048,
3032 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
3033 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
3034 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
3035 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
3036 origin of whatever destination drawable is specified in a graphics request.
3037 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
3038 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
3039 Match error results). For fill-style Stippled (but not fill-style
3040 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
3041 additional clip mask to be ANDed with the clip-mask.
3042 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
3043 others. */
3044 
3045     XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096,
3046 /**< TODO */
3047 
3048     XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192,
3049 /**< TODO */
3050 
3051     XCB_GC_FONT = 16384,
3052 /**< Which font to use for the `ImageText8` and `ImageText16` requests. */
3053 
3054     XCB_GC_SUBWINDOW_MODE = 32768,
3055 /**< For ClipByChildren, both source and destination windows are additionally
3056 clipped by all viewable InputOutput children. For IncludeInferiors, neither
3057 source nor destination window is
3058 clipped by inferiors. This will result in including subwindow contents in the source and drawing
3059 through subwindow boundaries of the destination. The use of IncludeInferiors with a source or
3060 destination window of one depth with mapped inferiors of differing depth is not illegal, but the
3061 semantics is undefined by the core protocol. */
3062 
3063     XCB_GC_GRAPHICS_EXPOSURES = 65536,
3064 /**< Whether ExposureEvents should be generated (1) or not (0).
3065 
3066 The default is 1. */
3067 
3068     XCB_GC_CLIP_ORIGIN_X = 131072,
3069 /**< TODO */
3070 
3071     XCB_GC_CLIP_ORIGIN_Y = 262144,
3072 /**< TODO */
3073 
3074     XCB_GC_CLIP_MASK = 524288,
3075 /**< The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has
3076 bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where
3077 the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip
3078 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
3079 depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None,
3080 then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the
3081 SetClipRectangles request. */
3082 
3083     XCB_GC_DASH_OFFSET = 1048576,
3084 /**< TODO */
3085 
3086     XCB_GC_DASH_LIST = 2097152,
3087 /**< TODO */
3088 
3089     XCB_GC_ARC_MODE = 4194304
3090 /**< TODO */
3091 
3092 } xcb_gc_t;
3093 
3094 typedef enum xcb_gx_t {
3095     XCB_GX_CLEAR = 0,
3096     XCB_GX_AND = 1,
3097     XCB_GX_AND_REVERSE = 2,
3098     XCB_GX_COPY = 3,
3099     XCB_GX_AND_INVERTED = 4,
3100     XCB_GX_NOOP = 5,
3101     XCB_GX_XOR = 6,
3102     XCB_GX_OR = 7,
3103     XCB_GX_NOR = 8,
3104     XCB_GX_EQUIV = 9,
3105     XCB_GX_INVERT = 10,
3106     XCB_GX_OR_REVERSE = 11,
3107     XCB_GX_COPY_INVERTED = 12,
3108     XCB_GX_OR_INVERTED = 13,
3109     XCB_GX_NAND = 14,
3110     XCB_GX_SET = 15
3111 } xcb_gx_t;
3112 
3113 typedef enum xcb_line_style_t {
3114     XCB_LINE_STYLE_SOLID = 0,
3115     XCB_LINE_STYLE_ON_OFF_DASH = 1,
3116     XCB_LINE_STYLE_DOUBLE_DASH = 2
3117 } xcb_line_style_t;
3118 
3119 typedef enum xcb_cap_style_t {
3120     XCB_CAP_STYLE_NOT_LAST = 0,
3121     XCB_CAP_STYLE_BUTT = 1,
3122     XCB_CAP_STYLE_ROUND = 2,
3123     XCB_CAP_STYLE_PROJECTING = 3
3124 } xcb_cap_style_t;
3125 
3126 typedef enum xcb_join_style_t {
3127     XCB_JOIN_STYLE_MITER = 0,
3128     XCB_JOIN_STYLE_ROUND = 1,
3129     XCB_JOIN_STYLE_BEVEL = 2
3130 } xcb_join_style_t;
3131 
3132 typedef enum xcb_fill_style_t {
3133     XCB_FILL_STYLE_SOLID = 0,
3134     XCB_FILL_STYLE_TILED = 1,
3135     XCB_FILL_STYLE_STIPPLED = 2,
3136     XCB_FILL_STYLE_OPAQUE_STIPPLED = 3
3137 } xcb_fill_style_t;
3138 
3139 typedef enum xcb_fill_rule_t {
3140     XCB_FILL_RULE_EVEN_ODD = 0,
3141     XCB_FILL_RULE_WINDING = 1
3142 } xcb_fill_rule_t;
3143 
3144 typedef enum xcb_subwindow_mode_t {
3145     XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0,
3146     XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1
3147 } xcb_subwindow_mode_t;
3148 
3149 typedef enum xcb_arc_mode_t {
3150     XCB_ARC_MODE_CHORD = 0,
3151     XCB_ARC_MODE_PIE_SLICE = 1
3152 } xcb_arc_mode_t;
3153 
3154 /** Opcode for xcb_create_gc. */
3155 #define XCB_CREATE_GC 55
3156 
3157 /**
3158  * @brief xcb_create_gc_request_t
3159  **/
3160 typedef struct xcb_create_gc_request_t {
3161     uint8_t        major_opcode; /**<  */
3162     uint8_t        pad0; /**<  */
3163     uint16_t       length; /**<  */
3164     xcb_gcontext_t cid; /**<  */
3165     xcb_drawable_t drawable; /**<  */
3166     uint32_t       value_mask; /**<  */
3167 } xcb_create_gc_request_t;
3168 
3169 /** Opcode for xcb_change_gc. */
3170 #define XCB_CHANGE_GC 56
3171 
3172 /**
3173  * @brief xcb_change_gc_request_t
3174  **/
3175 typedef struct xcb_change_gc_request_t {
3176     uint8_t        major_opcode; /**<  */
3177     uint8_t        pad0; /**<  */
3178     uint16_t       length; /**<  */
3179     xcb_gcontext_t gc; /**<  */
3180     uint32_t       value_mask; /**<  */
3181 } xcb_change_gc_request_t;
3182 
3183 /** Opcode for xcb_copy_gc. */
3184 #define XCB_COPY_GC 57
3185 
3186 /**
3187  * @brief xcb_copy_gc_request_t
3188  **/
3189 typedef struct xcb_copy_gc_request_t {
3190     uint8_t        major_opcode; /**<  */
3191     uint8_t        pad0; /**<  */
3192     uint16_t       length; /**<  */
3193     xcb_gcontext_t src_gc; /**<  */
3194     xcb_gcontext_t dst_gc; /**<  */
3195     uint32_t       value_mask; /**<  */
3196 } xcb_copy_gc_request_t;
3197 
3198 /** Opcode for xcb_set_dashes. */
3199 #define XCB_SET_DASHES 58
3200 
3201 /**
3202  * @brief xcb_set_dashes_request_t
3203  **/
3204 typedef struct xcb_set_dashes_request_t {
3205     uint8_t        major_opcode; /**<  */
3206     uint8_t        pad0; /**<  */
3207     uint16_t       length; /**<  */
3208     xcb_gcontext_t gc; /**<  */
3209     uint16_t       dash_offset; /**<  */
3210     uint16_t       dashes_len; /**<  */
3211 } xcb_set_dashes_request_t;
3212 
3213 typedef enum xcb_clip_ordering_t {
3214     XCB_CLIP_ORDERING_UNSORTED = 0,
3215     XCB_CLIP_ORDERING_Y_SORTED = 1,
3216     XCB_CLIP_ORDERING_YX_SORTED = 2,
3217     XCB_CLIP_ORDERING_YX_BANDED = 3
3218 } xcb_clip_ordering_t;
3219 
3220 /** Opcode for xcb_set_clip_rectangles. */
3221 #define XCB_SET_CLIP_RECTANGLES 59
3222 
3223 /**
3224  * @brief xcb_set_clip_rectangles_request_t
3225  **/
3226 typedef struct xcb_set_clip_rectangles_request_t {
3227     uint8_t        major_opcode; /**<  */
3228     uint8_t        ordering; /**<  */
3229     uint16_t       length; /**<  */
3230     xcb_gcontext_t gc; /**<  */
3231     int16_t        clip_x_origin; /**<  */
3232     int16_t        clip_y_origin; /**<  */
3233 } xcb_set_clip_rectangles_request_t;
3234 
3235 /** Opcode for xcb_free_gc. */
3236 #define XCB_FREE_GC 60
3237 
3238 /**
3239  * @brief xcb_free_gc_request_t
3240  **/
3241 typedef struct xcb_free_gc_request_t {
3242     uint8_t        major_opcode; /**<  */
3243     uint8_t        pad0; /**<  */
3244     uint16_t       length; /**<  */
3245     xcb_gcontext_t gc; /**<  */
3246 } xcb_free_gc_request_t;
3247 
3248 /** Opcode for xcb_clear_area. */
3249 #define XCB_CLEAR_AREA 61
3250 
3251 /**
3252  * @brief xcb_clear_area_request_t
3253  **/
3254 typedef struct xcb_clear_area_request_t {
3255     uint8_t      major_opcode; /**<  */
3256     uint8_t      exposures; /**<  */
3257     uint16_t     length; /**<  */
3258     xcb_window_t window; /**<  */
3259     int16_t      x; /**<  */
3260     int16_t      y; /**<  */
3261     uint16_t     width; /**<  */
3262     uint16_t     height; /**<  */
3263 } xcb_clear_area_request_t;
3264 
3265 /** Opcode for xcb_copy_area. */
3266 #define XCB_COPY_AREA 62
3267 
3268 /**
3269  * @brief xcb_copy_area_request_t
3270  **/
3271 typedef struct xcb_copy_area_request_t {
3272     uint8_t        major_opcode; /**<  */
3273     uint8_t        pad0; /**<  */
3274     uint16_t       length; /**<  */
3275     xcb_drawable_t src_drawable; /**<  */
3276     xcb_drawable_t dst_drawable; /**<  */
3277     xcb_gcontext_t gc; /**<  */
3278     int16_t        src_x; /**<  */
3279     int16_t        src_y; /**<  */
3280     int16_t        dst_x; /**<  */
3281     int16_t        dst_y; /**<  */
3282     uint16_t       width; /**<  */
3283     uint16_t       height; /**<  */
3284 } xcb_copy_area_request_t;
3285 
3286 /** Opcode for xcb_copy_plane. */
3287 #define XCB_COPY_PLANE 63
3288 
3289 /**
3290  * @brief xcb_copy_plane_request_t
3291  **/
3292 typedef struct xcb_copy_plane_request_t {
3293     uint8_t        major_opcode; /**<  */
3294     uint8_t        pad0; /**<  */
3295     uint16_t       length; /**<  */
3296     xcb_drawable_t src_drawable; /**<  */
3297     xcb_drawable_t dst_drawable; /**<  */
3298     xcb_gcontext_t gc; /**<  */
3299     int16_t        src_x; /**<  */
3300     int16_t        src_y; /**<  */
3301     int16_t        dst_x; /**<  */
3302     int16_t        dst_y; /**<  */
3303     uint16_t       width; /**<  */
3304     uint16_t       height; /**<  */
3305     uint32_t       bit_plane; /**<  */
3306 } xcb_copy_plane_request_t;
3307 
3308 typedef enum xcb_coord_mode_t {
3309     XCB_COORD_MODE_ORIGIN = 0,
3310 /**< Treats all coordinates as relative to the origin. */
3311 
3312     XCB_COORD_MODE_PREVIOUS = 1
3313 /**< Treats all coordinates after the first as relative to the previous coordinate. */
3314 
3315 } xcb_coord_mode_t;
3316 
3317 /** Opcode for xcb_poly_point. */
3318 #define XCB_POLY_POINT 64
3319 
3320 /**
3321  * @brief xcb_poly_point_request_t
3322  **/
3323 typedef struct xcb_poly_point_request_t {
3324     uint8_t        major_opcode; /**<  */
3325     uint8_t        coordinate_mode; /**<  */
3326     uint16_t       length; /**<  */
3327     xcb_drawable_t drawable; /**<  */
3328     xcb_gcontext_t gc; /**<  */
3329 } xcb_poly_point_request_t;
3330 
3331 /** Opcode for xcb_poly_line. */
3332 #define XCB_POLY_LINE 65
3333 
3334 /**
3335  * @brief xcb_poly_line_request_t
3336  **/
3337 typedef struct xcb_poly_line_request_t {
3338     uint8_t        major_opcode; /**<  */
3339     uint8_t        coordinate_mode; /**<  */
3340     uint16_t       length; /**<  */
3341     xcb_drawable_t drawable; /**<  */
3342     xcb_gcontext_t gc; /**<  */
3343 } xcb_poly_line_request_t;
3344 
3345 /**
3346  * @brief xcb_segment_t
3347  **/
3348 typedef struct xcb_segment_t {
3349     int16_t x1; /**<  */
3350     int16_t y1; /**<  */
3351     int16_t x2; /**<  */
3352     int16_t y2; /**<  */
3353 } xcb_segment_t;
3354 
3355 /**
3356  * @brief xcb_segment_iterator_t
3357  **/
3358 typedef struct xcb_segment_iterator_t {
3359     xcb_segment_t *data; /**<  */
3360     int            rem; /**<  */
3361     int            index; /**<  */
3362 } xcb_segment_iterator_t;
3363 
3364 /** Opcode for xcb_poly_segment. */
3365 #define XCB_POLY_SEGMENT 66
3366 
3367 /**
3368  * @brief xcb_poly_segment_request_t
3369  **/
3370 typedef struct xcb_poly_segment_request_t {
3371     uint8_t        major_opcode; /**<  */
3372     uint8_t        pad0; /**<  */
3373     uint16_t       length; /**<  */
3374     xcb_drawable_t drawable; /**<  */
3375     xcb_gcontext_t gc; /**<  */
3376 } xcb_poly_segment_request_t;
3377 
3378 /** Opcode for xcb_poly_rectangle. */
3379 #define XCB_POLY_RECTANGLE 67
3380 
3381 /**
3382  * @brief xcb_poly_rectangle_request_t
3383  **/
3384 typedef struct xcb_poly_rectangle_request_t {
3385     uint8_t        major_opcode; /**<  */
3386     uint8_t        pad0; /**<  */
3387     uint16_t       length; /**<  */
3388     xcb_drawable_t drawable; /**<  */
3389     xcb_gcontext_t gc; /**<  */
3390 } xcb_poly_rectangle_request_t;
3391 
3392 /** Opcode for xcb_poly_arc. */
3393 #define XCB_POLY_ARC 68
3394 
3395 /**
3396  * @brief xcb_poly_arc_request_t
3397  **/
3398 typedef struct xcb_poly_arc_request_t {
3399     uint8_t        major_opcode; /**<  */
3400     uint8_t        pad0; /**<  */
3401     uint16_t       length; /**<  */
3402     xcb_drawable_t drawable; /**<  */
3403     xcb_gcontext_t gc; /**<  */
3404 } xcb_poly_arc_request_t;
3405 
3406 typedef enum xcb_poly_shape_t {
3407     XCB_POLY_SHAPE_COMPLEX = 0,
3408     XCB_POLY_SHAPE_NONCONVEX = 1,
3409     XCB_POLY_SHAPE_CONVEX = 2
3410 } xcb_poly_shape_t;
3411 
3412 /** Opcode for xcb_fill_poly. */
3413 #define XCB_FILL_POLY 69
3414 
3415 /**
3416  * @brief xcb_fill_poly_request_t
3417  **/
3418 typedef struct xcb_fill_poly_request_t {
3419     uint8_t        major_opcode; /**<  */
3420     uint8_t        pad0; /**<  */
3421     uint16_t       length; /**<  */
3422     xcb_drawable_t drawable; /**<  */
3423     xcb_gcontext_t gc; /**<  */
3424     uint8_t        shape; /**<  */
3425     uint8_t        coordinate_mode; /**<  */
3426     uint8_t        pad1[2]; /**<  */
3427 } xcb_fill_poly_request_t;
3428 
3429 /** Opcode for xcb_poly_fill_rectangle. */
3430 #define XCB_POLY_FILL_RECTANGLE 70
3431 
3432 /**
3433  * @brief xcb_poly_fill_rectangle_request_t
3434  **/
3435 typedef struct xcb_poly_fill_rectangle_request_t {
3436     uint8_t        major_opcode; /**<  */
3437     uint8_t        pad0; /**<  */
3438     uint16_t       length; /**<  */
3439     xcb_drawable_t drawable; /**<  */
3440     xcb_gcontext_t gc; /**<  */
3441 } xcb_poly_fill_rectangle_request_t;
3442 
3443 /** Opcode for xcb_poly_fill_arc. */
3444 #define XCB_POLY_FILL_ARC 71
3445 
3446 /**
3447  * @brief xcb_poly_fill_arc_request_t
3448  **/
3449 typedef struct xcb_poly_fill_arc_request_t {
3450     uint8_t        major_opcode; /**<  */
3451     uint8_t        pad0; /**<  */
3452     uint16_t       length; /**<  */
3453     xcb_drawable_t drawable; /**<  */
3454     xcb_gcontext_t gc; /**<  */
3455 } xcb_poly_fill_arc_request_t;
3456 
3457 typedef enum xcb_image_format_t {
3458     XCB_IMAGE_FORMAT_XY_BITMAP = 0,
3459     XCB_IMAGE_FORMAT_XY_PIXMAP = 1,
3460     XCB_IMAGE_FORMAT_Z_PIXMAP = 2
3461 } xcb_image_format_t;
3462 
3463 /** Opcode for xcb_put_image. */
3464 #define XCB_PUT_IMAGE 72
3465 
3466 /**
3467  * @brief xcb_put_image_request_t
3468  **/
3469 typedef struct xcb_put_image_request_t {
3470     uint8_t        major_opcode; /**<  */
3471     uint8_t        format; /**<  */
3472     uint16_t       length; /**<  */
3473     xcb_drawable_t drawable; /**<  */
3474     xcb_gcontext_t gc; /**<  */
3475     uint16_t       width; /**<  */
3476     uint16_t       height; /**<  */
3477     int16_t        dst_x; /**<  */
3478     int16_t        dst_y; /**<  */
3479     uint8_t        left_pad; /**<  */
3480     uint8_t        depth; /**<  */
3481     uint8_t        pad0[2]; /**<  */
3482 } xcb_put_image_request_t;
3483 
3484 /**
3485  * @brief xcb_get_image_cookie_t
3486  **/
3487 typedef struct xcb_get_image_cookie_t {
3488     unsigned int sequence; /**<  */
3489 } xcb_get_image_cookie_t;
3490 
3491 /** Opcode for xcb_get_image. */
3492 #define XCB_GET_IMAGE 73
3493 
3494 /**
3495  * @brief xcb_get_image_request_t
3496  **/
3497 typedef struct xcb_get_image_request_t {
3498     uint8_t        major_opcode; /**<  */
3499     uint8_t        format; /**<  */
3500     uint16_t       length; /**<  */
3501     xcb_drawable_t drawable; /**<  */
3502     int16_t        x; /**<  */
3503     int16_t        y; /**<  */
3504     uint16_t       width; /**<  */
3505     uint16_t       height; /**<  */
3506     uint32_t       plane_mask; /**<  */
3507 } xcb_get_image_request_t;
3508 
3509 /**
3510  * @brief xcb_get_image_reply_t
3511  **/
3512 typedef struct xcb_get_image_reply_t {
3513     uint8_t        response_type; /**<  */
3514     uint8_t        depth; /**<  */
3515     uint16_t       sequence; /**<  */
3516     uint32_t       length; /**<  */
3517     xcb_visualid_t visual; /**<  */
3518     uint8_t        pad0[20]; /**<  */
3519 } xcb_get_image_reply_t;
3520 
3521 /** Opcode for xcb_poly_text_8. */
3522 #define XCB_POLY_TEXT_8 74
3523 
3524 /**
3525  * @brief xcb_poly_text_8_request_t
3526  **/
3527 typedef struct xcb_poly_text_8_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_8_request_t;
3536 
3537 /** Opcode for xcb_poly_text_16. */
3538 #define XCB_POLY_TEXT_16 75
3539 
3540 /**
3541  * @brief xcb_poly_text_16_request_t
3542  **/
3543 typedef struct xcb_poly_text_16_request_t {
3544     uint8_t        major_opcode; /**<  */
3545     uint8_t        pad0; /**<  */
3546     uint16_t       length; /**<  */
3547     xcb_drawable_t drawable; /**<  */
3548     xcb_gcontext_t gc; /**<  */
3549     int16_t        x; /**<  */
3550     int16_t        y; /**<  */
3551 } xcb_poly_text_16_request_t;
3552 
3553 /** Opcode for xcb_image_text_8. */
3554 #define XCB_IMAGE_TEXT_8 76
3555 
3556 /**
3557  * @brief xcb_image_text_8_request_t
3558  **/
3559 typedef struct xcb_image_text_8_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_8_request_t;
3568 
3569 /** Opcode for xcb_image_text_16. */
3570 #define XCB_IMAGE_TEXT_16 77
3571 
3572 /**
3573  * @brief xcb_image_text_16_request_t
3574  **/
3575 typedef struct xcb_image_text_16_request_t {
3576     uint8_t        major_opcode; /**<  */
3577     uint8_t        string_len; /**<  */
3578     uint16_t       length; /**<  */
3579     xcb_drawable_t drawable; /**<  */
3580     xcb_gcontext_t gc; /**<  */
3581     int16_t        x; /**<  */
3582     int16_t        y; /**<  */
3583 } xcb_image_text_16_request_t;
3584 
3585 typedef enum xcb_colormap_alloc_t {
3586     XCB_COLORMAP_ALLOC_NONE = 0,
3587     XCB_COLORMAP_ALLOC_ALL = 1
3588 } xcb_colormap_alloc_t;
3589 
3590 /** Opcode for xcb_create_colormap. */
3591 #define XCB_CREATE_COLORMAP 78
3592 
3593 /**
3594  * @brief xcb_create_colormap_request_t
3595  **/
3596 typedef struct xcb_create_colormap_request_t {
3597     uint8_t        major_opcode; /**<  */
3598     uint8_t        alloc; /**<  */
3599     uint16_t       length; /**<  */
3600     xcb_colormap_t mid; /**<  */
3601     xcb_window_t   window; /**<  */
3602     xcb_visualid_t visual; /**<  */
3603 } xcb_create_colormap_request_t;
3604 
3605 /** Opcode for xcb_free_colormap. */
3606 #define XCB_FREE_COLORMAP 79
3607 
3608 /**
3609  * @brief xcb_free_colormap_request_t
3610  **/
3611 typedef struct xcb_free_colormap_request_t {
3612     uint8_t        major_opcode; /**<  */
3613     uint8_t        pad0; /**<  */
3614     uint16_t       length; /**<  */
3615     xcb_colormap_t cmap; /**<  */
3616 } xcb_free_colormap_request_t;
3617 
3618 /** Opcode for xcb_copy_colormap_and_free. */
3619 #define XCB_COPY_COLORMAP_AND_FREE 80
3620 
3621 /**
3622  * @brief xcb_copy_colormap_and_free_request_t
3623  **/
3624 typedef struct xcb_copy_colormap_and_free_request_t {
3625     uint8_t        major_opcode; /**<  */
3626     uint8_t        pad0; /**<  */
3627     uint16_t       length; /**<  */
3628     xcb_colormap_t mid; /**<  */
3629     xcb_colormap_t src_cmap; /**<  */
3630 } xcb_copy_colormap_and_free_request_t;
3631 
3632 /** Opcode for xcb_install_colormap. */
3633 #define XCB_INSTALL_COLORMAP 81
3634 
3635 /**
3636  * @brief xcb_install_colormap_request_t
3637  **/
3638 typedef struct xcb_install_colormap_request_t {
3639     uint8_t        major_opcode; /**<  */
3640     uint8_t        pad0; /**<  */
3641     uint16_t       length; /**<  */
3642     xcb_colormap_t cmap; /**<  */
3643 } xcb_install_colormap_request_t;
3644 
3645 /** Opcode for xcb_uninstall_colormap. */
3646 #define XCB_UNINSTALL_COLORMAP 82
3647 
3648 /**
3649  * @brief xcb_uninstall_colormap_request_t
3650  **/
3651 typedef struct xcb_uninstall_colormap_request_t {
3652     uint8_t        major_opcode; /**<  */
3653     uint8_t        pad0; /**<  */
3654     uint16_t       length; /**<  */
3655     xcb_colormap_t cmap; /**<  */
3656 } xcb_uninstall_colormap_request_t;
3657 
3658 /**
3659  * @brief xcb_list_installed_colormaps_cookie_t
3660  **/
3661 typedef struct xcb_list_installed_colormaps_cookie_t {
3662     unsigned int sequence; /**<  */
3663 } xcb_list_installed_colormaps_cookie_t;
3664 
3665 /** Opcode for xcb_list_installed_colormaps. */
3666 #define XCB_LIST_INSTALLED_COLORMAPS 83
3667 
3668 /**
3669  * @brief xcb_list_installed_colormaps_request_t
3670  **/
3671 typedef struct xcb_list_installed_colormaps_request_t {
3672     uint8_t      major_opcode; /**<  */
3673     uint8_t      pad0; /**<  */
3674     uint16_t     length; /**<  */
3675     xcb_window_t window; /**<  */
3676 } xcb_list_installed_colormaps_request_t;
3677 
3678 /**
3679  * @brief xcb_list_installed_colormaps_reply_t
3680  **/
3681 typedef struct xcb_list_installed_colormaps_reply_t {
3682     uint8_t  response_type; /**<  */
3683     uint8_t  pad0; /**<  */
3684     uint16_t sequence; /**<  */
3685     uint32_t length; /**<  */
3686     uint16_t cmaps_len; /**<  */
3687     uint8_t  pad1[22]; /**<  */
3688 } xcb_list_installed_colormaps_reply_t;
3689 
3690 /**
3691  * @brief xcb_alloc_color_cookie_t
3692  **/
3693 typedef struct xcb_alloc_color_cookie_t {
3694     unsigned int sequence; /**<  */
3695 } xcb_alloc_color_cookie_t;
3696 
3697 /** Opcode for xcb_alloc_color. */
3698 #define XCB_ALLOC_COLOR 84
3699 
3700 /**
3701  * @brief xcb_alloc_color_request_t
3702  **/
3703 typedef struct xcb_alloc_color_request_t {
3704     uint8_t        major_opcode; /**<  */
3705     uint8_t        pad0; /**<  */
3706     uint16_t       length; /**<  */
3707     xcb_colormap_t cmap; /**<  */
3708     uint16_t       red; /**<  */
3709     uint16_t       green; /**<  */
3710     uint16_t       blue; /**<  */
3711     uint8_t        pad1[2]; /**<  */
3712 } xcb_alloc_color_request_t;
3713 
3714 /**
3715  * @brief xcb_alloc_color_reply_t
3716  **/
3717 typedef struct xcb_alloc_color_reply_t {
3718     uint8_t  response_type; /**<  */
3719     uint8_t  pad0; /**<  */
3720     uint16_t sequence; /**<  */
3721     uint32_t length; /**<  */
3722     uint16_t red; /**<  */
3723     uint16_t green; /**<  */
3724     uint16_t blue; /**<  */
3725     uint8_t  pad1[2]; /**<  */
3726     uint32_t pixel; /**<  */
3727 } xcb_alloc_color_reply_t;
3728 
3729 /**
3730  * @brief xcb_alloc_named_color_cookie_t
3731  **/
3732 typedef struct xcb_alloc_named_color_cookie_t {
3733     unsigned int sequence; /**<  */
3734 } xcb_alloc_named_color_cookie_t;
3735 
3736 /** Opcode for xcb_alloc_named_color. */
3737 #define XCB_ALLOC_NAMED_COLOR 85
3738 
3739 /**
3740  * @brief xcb_alloc_named_color_request_t
3741  **/
3742 typedef struct xcb_alloc_named_color_request_t {
3743     uint8_t        major_opcode; /**<  */
3744     uint8_t        pad0; /**<  */
3745     uint16_t       length; /**<  */
3746     xcb_colormap_t cmap; /**<  */
3747     uint16_t       name_len; /**<  */
3748     uint8_t        pad1[2]; /**<  */
3749 } xcb_alloc_named_color_request_t;
3750 
3751 /**
3752  * @brief xcb_alloc_named_color_reply_t
3753  **/
3754 typedef struct xcb_alloc_named_color_reply_t {
3755     uint8_t  response_type; /**<  */
3756     uint8_t  pad0; /**<  */
3757     uint16_t sequence; /**<  */
3758     uint32_t length; /**<  */
3759     uint32_t pixel; /**<  */
3760     uint16_t exact_red; /**<  */
3761     uint16_t exact_green; /**<  */
3762     uint16_t exact_blue; /**<  */
3763     uint16_t visual_red; /**<  */
3764     uint16_t visual_green; /**<  */
3765     uint16_t visual_blue; /**<  */
3766 } xcb_alloc_named_color_reply_t;
3767 
3768 /**
3769  * @brief xcb_alloc_color_cells_cookie_t
3770  **/
3771 typedef struct xcb_alloc_color_cells_cookie_t {
3772     unsigned int sequence; /**<  */
3773 } xcb_alloc_color_cells_cookie_t;
3774 
3775 /** Opcode for xcb_alloc_color_cells. */
3776 #define XCB_ALLOC_COLOR_CELLS 86
3777 
3778 /**
3779  * @brief xcb_alloc_color_cells_request_t
3780  **/
3781 typedef struct xcb_alloc_color_cells_request_t {
3782     uint8_t        major_opcode; /**<  */
3783     uint8_t        contiguous; /**<  */
3784     uint16_t       length; /**<  */
3785     xcb_colormap_t cmap; /**<  */
3786     uint16_t       colors; /**<  */
3787     uint16_t       planes; /**<  */
3788 } xcb_alloc_color_cells_request_t;
3789 
3790 /**
3791  * @brief xcb_alloc_color_cells_reply_t
3792  **/
3793 typedef struct xcb_alloc_color_cells_reply_t {
3794     uint8_t  response_type; /**<  */
3795     uint8_t  pad0; /**<  */
3796     uint16_t sequence; /**<  */
3797     uint32_t length; /**<  */
3798     uint16_t pixels_len; /**<  */
3799     uint16_t masks_len; /**<  */
3800     uint8_t  pad1[20]; /**<  */
3801 } xcb_alloc_color_cells_reply_t;
3802 
3803 /**
3804  * @brief xcb_alloc_color_planes_cookie_t
3805  **/
3806 typedef struct xcb_alloc_color_planes_cookie_t {
3807     unsigned int sequence; /**<  */
3808 } xcb_alloc_color_planes_cookie_t;
3809 
3810 /** Opcode for xcb_alloc_color_planes. */
3811 #define XCB_ALLOC_COLOR_PLANES 87
3812 
3813 /**
3814  * @brief xcb_alloc_color_planes_request_t
3815  **/
3816 typedef struct xcb_alloc_color_planes_request_t {
3817     uint8_t        major_opcode; /**<  */
3818     uint8_t        contiguous; /**<  */
3819     uint16_t       length; /**<  */
3820     xcb_colormap_t cmap; /**<  */
3821     uint16_t       colors; /**<  */
3822     uint16_t       reds; /**<  */
3823     uint16_t       greens; /**<  */
3824     uint16_t       blues; /**<  */
3825 } xcb_alloc_color_planes_request_t;
3826 
3827 /**
3828  * @brief xcb_alloc_color_planes_reply_t
3829  **/
3830 typedef struct xcb_alloc_color_planes_reply_t {
3831     uint8_t  response_type; /**<  */
3832     uint8_t  pad0; /**<  */
3833     uint16_t sequence; /**<  */
3834     uint32_t length; /**<  */
3835     uint16_t pixels_len; /**<  */
3836     uint8_t  pad1[2]; /**<  */
3837     uint32_t red_mask; /**<  */
3838     uint32_t green_mask; /**<  */
3839     uint32_t blue_mask; /**<  */
3840     uint8_t  pad2[8]; /**<  */
3841 } xcb_alloc_color_planes_reply_t;
3842 
3843 /** Opcode for xcb_free_colors. */
3844 #define XCB_FREE_COLORS 88
3845 
3846 /**
3847  * @brief xcb_free_colors_request_t
3848  **/
3849 typedef struct xcb_free_colors_request_t {
3850     uint8_t        major_opcode; /**<  */
3851     uint8_t        pad0; /**<  */
3852     uint16_t       length; /**<  */
3853     xcb_colormap_t cmap; /**<  */
3854     uint32_t       plane_mask; /**<  */
3855 } xcb_free_colors_request_t;
3856 
3857 typedef enum xcb_color_flag_t {
3858     XCB_COLOR_FLAG_RED = 1,
3859     XCB_COLOR_FLAG_GREEN = 2,
3860     XCB_COLOR_FLAG_BLUE = 4
3861 } xcb_color_flag_t;
3862 
3863 /**
3864  * @brief xcb_coloritem_t
3865  **/
3866 typedef struct xcb_coloritem_t {
3867     uint32_t pixel; /**<  */
3868     uint16_t red; /**<  */
3869     uint16_t green; /**<  */
3870     uint16_t blue; /**<  */
3871     uint8_t  flags; /**<  */
3872     uint8_t  pad0; /**<  */
3873 } xcb_coloritem_t;
3874 
3875 /**
3876  * @brief xcb_coloritem_iterator_t
3877  **/
3878 typedef struct xcb_coloritem_iterator_t {
3879     xcb_coloritem_t *data; /**<  */
3880     int              rem; /**<  */
3881     int              index; /**<  */
3882 } xcb_coloritem_iterator_t;
3883 
3884 /** Opcode for xcb_store_colors. */
3885 #define XCB_STORE_COLORS 89
3886 
3887 /**
3888  * @brief xcb_store_colors_request_t
3889  **/
3890 typedef struct xcb_store_colors_request_t {
3891     uint8_t        major_opcode; /**<  */
3892     uint8_t        pad0; /**<  */
3893     uint16_t       length; /**<  */
3894     xcb_colormap_t cmap; /**<  */
3895 } xcb_store_colors_request_t;
3896 
3897 /** Opcode for xcb_store_named_color. */
3898 #define XCB_STORE_NAMED_COLOR 90
3899 
3900 /**
3901  * @brief xcb_store_named_color_request_t
3902  **/
3903 typedef struct xcb_store_named_color_request_t {
3904     uint8_t        major_opcode; /**<  */
3905     uint8_t        flags; /**<  */
3906     uint16_t       length; /**<  */
3907     xcb_colormap_t cmap; /**<  */
3908     uint32_t       pixel; /**<  */
3909     uint16_t       name_len; /**<  */
3910     uint8_t        pad0[2]; /**<  */
3911 } xcb_store_named_color_request_t;
3912 
3913 /**
3914  * @brief xcb_rgb_t
3915  **/
3916 typedef struct xcb_rgb_t {
3917     uint16_t red; /**<  */
3918     uint16_t green; /**<  */
3919     uint16_t blue; /**<  */
3920     uint8_t  pad0[2]; /**<  */
3921 } xcb_rgb_t;
3922 
3923 /**
3924  * @brief xcb_rgb_iterator_t
3925  **/
3926 typedef struct xcb_rgb_iterator_t {
3927     xcb_rgb_t *data; /**<  */
3928     int        rem; /**<  */
3929     int        index; /**<  */
3930 } xcb_rgb_iterator_t;
3931 
3932 /**
3933  * @brief xcb_query_colors_cookie_t
3934  **/
3935 typedef struct xcb_query_colors_cookie_t {
3936     unsigned int sequence; /**<  */
3937 } xcb_query_colors_cookie_t;
3938 
3939 /** Opcode for xcb_query_colors. */
3940 #define XCB_QUERY_COLORS 91
3941 
3942 /**
3943  * @brief xcb_query_colors_request_t
3944  **/
3945 typedef struct xcb_query_colors_request_t {
3946     uint8_t        major_opcode; /**<  */
3947     uint8_t        pad0; /**<  */
3948     uint16_t       length; /**<  */
3949     xcb_colormap_t cmap; /**<  */
3950 } xcb_query_colors_request_t;
3951 
3952 /**
3953  * @brief xcb_query_colors_reply_t
3954  **/
3955 typedef struct xcb_query_colors_reply_t {
3956     uint8_t  response_type; /**<  */
3957     uint8_t  pad0; /**<  */
3958     uint16_t sequence; /**<  */
3959     uint32_t length; /**<  */
3960     uint16_t colors_len; /**<  */
3961     uint8_t  pad1[22]; /**<  */
3962 } xcb_query_colors_reply_t;
3963 
3964 /**
3965  * @brief xcb_lookup_color_cookie_t
3966  **/
3967 typedef struct xcb_lookup_color_cookie_t {
3968     unsigned int sequence; /**<  */
3969 } xcb_lookup_color_cookie_t;
3970 
3971 /** Opcode for xcb_lookup_color. */
3972 #define XCB_LOOKUP_COLOR 92
3973 
3974 /**
3975  * @brief xcb_lookup_color_request_t
3976  **/
3977 typedef struct xcb_lookup_color_request_t {
3978     uint8_t        major_opcode; /**<  */
3979     uint8_t        pad0; /**<  */
3980     uint16_t       length; /**<  */
3981     xcb_colormap_t cmap; /**<  */
3982     uint16_t       name_len; /**<  */
3983     uint8_t        pad1[2]; /**<  */
3984 } xcb_lookup_color_request_t;
3985 
3986 /**
3987  * @brief xcb_lookup_color_reply_t
3988  **/
3989 typedef struct xcb_lookup_color_reply_t {
3990     uint8_t  response_type; /**<  */
3991     uint8_t  pad0; /**<  */
3992     uint16_t sequence; /**<  */
3993     uint32_t length; /**<  */
3994     uint16_t exact_red; /**<  */
3995     uint16_t exact_green; /**<  */
3996     uint16_t exact_blue; /**<  */
3997     uint16_t visual_red; /**<  */
3998     uint16_t visual_green; /**<  */
3999     uint16_t visual_blue; /**<  */
4000 } xcb_lookup_color_reply_t;
4001 
4002 typedef enum xcb_pixmap_enum_t {
4003     XCB_PIXMAP_NONE = 0
4004 } xcb_pixmap_enum_t;
4005 
4006 /** Opcode for xcb_create_cursor. */
4007 #define XCB_CREATE_CURSOR 93
4008 
4009 /**
4010  * @brief xcb_create_cursor_request_t
4011  **/
4012 typedef struct xcb_create_cursor_request_t {
4013     uint8_t      major_opcode; /**<  */
4014     uint8_t      pad0; /**<  */
4015     uint16_t     length; /**<  */
4016     xcb_cursor_t cid; /**<  */
4017     xcb_pixmap_t source; /**<  */
4018     xcb_pixmap_t mask; /**<  */
4019     uint16_t     fore_red; /**<  */
4020     uint16_t     fore_green; /**<  */
4021     uint16_t     fore_blue; /**<  */
4022     uint16_t     back_red; /**<  */
4023     uint16_t     back_green; /**<  */
4024     uint16_t     back_blue; /**<  */
4025     uint16_t     x; /**<  */
4026     uint16_t     y; /**<  */
4027 } xcb_create_cursor_request_t;
4028 
4029 typedef enum xcb_font_enum_t {
4030     XCB_FONT_NONE = 0
4031 } xcb_font_enum_t;
4032 
4033 /** Opcode for xcb_create_glyph_cursor. */
4034 #define XCB_CREATE_GLYPH_CURSOR 94
4035 
4036 /**
4037  * @brief xcb_create_glyph_cursor_request_t
4038  **/
4039 typedef struct xcb_create_glyph_cursor_request_t {
4040     uint8_t      major_opcode; /**<  */
4041     uint8_t      pad0; /**<  */
4042     uint16_t     length; /**<  */
4043     xcb_cursor_t cid; /**<  */
4044     xcb_font_t   source_font; /**<  */
4045     xcb_font_t   mask_font; /**<  */
4046     uint16_t     source_char; /**<  */
4047     uint16_t     mask_char; /**<  */
4048     uint16_t     fore_red; /**<  */
4049     uint16_t     fore_green; /**<  */
4050     uint16_t     fore_blue; /**<  */
4051     uint16_t     back_red; /**<  */
4052     uint16_t     back_green; /**<  */
4053     uint16_t     back_blue; /**<  */
4054 } xcb_create_glyph_cursor_request_t;
4055 
4056 /** Opcode for xcb_free_cursor. */
4057 #define XCB_FREE_CURSOR 95
4058 
4059 /**
4060  * @brief xcb_free_cursor_request_t
4061  **/
4062 typedef struct xcb_free_cursor_request_t {
4063     uint8_t      major_opcode; /**<  */
4064     uint8_t      pad0; /**<  */
4065     uint16_t     length; /**<  */
4066     xcb_cursor_t cursor; /**<  */
4067 } xcb_free_cursor_request_t;
4068 
4069 /** Opcode for xcb_recolor_cursor. */
4070 #define XCB_RECOLOR_CURSOR 96
4071 
4072 /**
4073  * @brief xcb_recolor_cursor_request_t
4074  **/
4075 typedef struct xcb_recolor_cursor_request_t {
4076     uint8_t      major_opcode; /**<  */
4077     uint8_t      pad0; /**<  */
4078     uint16_t     length; /**<  */
4079     xcb_cursor_t cursor; /**<  */
4080     uint16_t     fore_red; /**<  */
4081     uint16_t     fore_green; /**<  */
4082     uint16_t     fore_blue; /**<  */
4083     uint16_t     back_red; /**<  */
4084     uint16_t     back_green; /**<  */
4085     uint16_t     back_blue; /**<  */
4086 } xcb_recolor_cursor_request_t;
4087 
4088 typedef enum xcb_query_shape_of_t {
4089     XCB_QUERY_SHAPE_OF_LARGEST_CURSOR = 0,
4090     XCB_QUERY_SHAPE_OF_FASTEST_TILE = 1,
4091     XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE = 2
4092 } xcb_query_shape_of_t;
4093 
4094 /**
4095  * @brief xcb_query_best_size_cookie_t
4096  **/
4097 typedef struct xcb_query_best_size_cookie_t {
4098     unsigned int sequence; /**<  */
4099 } xcb_query_best_size_cookie_t;
4100 
4101 /** Opcode for xcb_query_best_size. */
4102 #define XCB_QUERY_BEST_SIZE 97
4103 
4104 /**
4105  * @brief xcb_query_best_size_request_t
4106  **/
4107 typedef struct xcb_query_best_size_request_t {
4108     uint8_t        major_opcode; /**<  */
4109     uint8_t        _class; /**<  */
4110     uint16_t       length; /**<  */
4111     xcb_drawable_t drawable; /**<  */
4112     uint16_t       width; /**<  */
4113     uint16_t       height; /**<  */
4114 } xcb_query_best_size_request_t;
4115 
4116 /**
4117  * @brief xcb_query_best_size_reply_t
4118  **/
4119 typedef struct xcb_query_best_size_reply_t {
4120     uint8_t  response_type; /**<  */
4121     uint8_t  pad0; /**<  */
4122     uint16_t sequence; /**<  */
4123     uint32_t length; /**<  */
4124     uint16_t width; /**<  */
4125     uint16_t height; /**<  */
4126 } xcb_query_best_size_reply_t;
4127 
4128 /**
4129  * @brief xcb_query_extension_cookie_t
4130  **/
4131 typedef struct xcb_query_extension_cookie_t {
4132     unsigned int sequence; /**<  */
4133 } xcb_query_extension_cookie_t;
4134 
4135 /** Opcode for xcb_query_extension. */
4136 #define XCB_QUERY_EXTENSION 98
4137 
4138 /**
4139  * @brief xcb_query_extension_request_t
4140  **/
4141 typedef struct xcb_query_extension_request_t {
4142     uint8_t  major_opcode; /**<  */
4143     uint8_t  pad0; /**<  */
4144     uint16_t length; /**<  */
4145     uint16_t name_len; /**<  */
4146     uint8_t  pad1[2]; /**<  */
4147 } xcb_query_extension_request_t;
4148 
4149 /**
4150  * @brief xcb_query_extension_reply_t
4151  **/
4152 typedef struct xcb_query_extension_reply_t {
4153     uint8_t  response_type; /**<  */
4154     uint8_t  pad0; /**<  */
4155     uint16_t sequence; /**<  */
4156     uint32_t length; /**<  */
4157     uint8_t  present; /**<  */
4158     uint8_t  major_opcode; /**<  */
4159     uint8_t  first_event; /**<  */
4160     uint8_t  first_error; /**<  */
4161 } xcb_query_extension_reply_t;
4162 
4163 /**
4164  * @brief xcb_list_extensions_cookie_t
4165  **/
4166 typedef struct xcb_list_extensions_cookie_t {
4167     unsigned int sequence; /**<  */
4168 } xcb_list_extensions_cookie_t;
4169 
4170 /** Opcode for xcb_list_extensions. */
4171 #define XCB_LIST_EXTENSIONS 99
4172 
4173 /**
4174  * @brief xcb_list_extensions_request_t
4175  **/
4176 typedef struct xcb_list_extensions_request_t {
4177     uint8_t  major_opcode; /**<  */
4178     uint8_t  pad0; /**<  */
4179     uint16_t length; /**<  */
4180 } xcb_list_extensions_request_t;
4181 
4182 /**
4183  * @brief xcb_list_extensions_reply_t
4184  **/
4185 typedef struct xcb_list_extensions_reply_t {
4186     uint8_t  response_type; /**<  */
4187     uint8_t  names_len; /**<  */
4188     uint16_t sequence; /**<  */
4189     uint32_t length; /**<  */
4190     uint8_t  pad0[24]; /**<  */
4191 } xcb_list_extensions_reply_t;
4192 
4193 /** Opcode for xcb_change_keyboard_mapping. */
4194 #define XCB_CHANGE_KEYBOARD_MAPPING 100
4195 
4196 /**
4197  * @brief xcb_change_keyboard_mapping_request_t
4198  **/
4199 typedef struct xcb_change_keyboard_mapping_request_t {
4200     uint8_t       major_opcode; /**<  */
4201     uint8_t       keycode_count; /**<  */
4202     uint16_t      length; /**<  */
4203     xcb_keycode_t first_keycode; /**<  */
4204     uint8_t       keysyms_per_keycode; /**<  */
4205     uint8_t       pad0[2]; /**<  */
4206 } xcb_change_keyboard_mapping_request_t;
4207 
4208 /**
4209  * @brief xcb_get_keyboard_mapping_cookie_t
4210  **/
4211 typedef struct xcb_get_keyboard_mapping_cookie_t {
4212     unsigned int sequence; /**<  */
4213 } xcb_get_keyboard_mapping_cookie_t;
4214 
4215 /** Opcode for xcb_get_keyboard_mapping. */
4216 #define XCB_GET_KEYBOARD_MAPPING 101
4217 
4218 /**
4219  * @brief xcb_get_keyboard_mapping_request_t
4220  **/
4221 typedef struct xcb_get_keyboard_mapping_request_t {
4222     uint8_t       major_opcode; /**<  */
4223     uint8_t       pad0; /**<  */
4224     uint16_t      length; /**<  */
4225     xcb_keycode_t first_keycode; /**<  */
4226     uint8_t       count; /**<  */
4227 } xcb_get_keyboard_mapping_request_t;
4228 
4229 /**
4230  * @brief xcb_get_keyboard_mapping_reply_t
4231  **/
4232 typedef struct xcb_get_keyboard_mapping_reply_t {
4233     uint8_t  response_type; /**<  */
4234     uint8_t  keysyms_per_keycode; /**<  */
4235     uint16_t sequence; /**<  */
4236     uint32_t length; /**<  */
4237     uint8_t  pad0[24]; /**<  */
4238 } xcb_get_keyboard_mapping_reply_t;
4239 
4240 typedef enum xcb_kb_t {
4241     XCB_KB_KEY_CLICK_PERCENT = 1,
4242     XCB_KB_BELL_PERCENT = 2,
4243     XCB_KB_BELL_PITCH = 4,
4244     XCB_KB_BELL_DURATION = 8,
4245     XCB_KB_LED = 16,
4246     XCB_KB_LED_MODE = 32,
4247     XCB_KB_KEY = 64,
4248     XCB_KB_AUTO_REPEAT_MODE = 128
4249 } xcb_kb_t;
4250 
4251 typedef enum xcb_led_mode_t {
4252     XCB_LED_MODE_OFF = 0,
4253     XCB_LED_MODE_ON = 1
4254 } xcb_led_mode_t;
4255 
4256 typedef enum xcb_auto_repeat_mode_t {
4257     XCB_AUTO_REPEAT_MODE_OFF = 0,
4258     XCB_AUTO_REPEAT_MODE_ON = 1,
4259     XCB_AUTO_REPEAT_MODE_DEFAULT = 2
4260 } xcb_auto_repeat_mode_t;
4261 
4262 /** Opcode for xcb_change_keyboard_control. */
4263 #define XCB_CHANGE_KEYBOARD_CONTROL 102
4264 
4265 /**
4266  * @brief xcb_change_keyboard_control_request_t
4267  **/
4268 typedef struct xcb_change_keyboard_control_request_t {
4269     uint8_t  major_opcode; /**<  */
4270     uint8_t  pad0; /**<  */
4271     uint16_t length; /**<  */
4272     uint32_t value_mask; /**<  */
4273 } xcb_change_keyboard_control_request_t;
4274 
4275 /**
4276  * @brief xcb_get_keyboard_control_cookie_t
4277  **/
4278 typedef struct xcb_get_keyboard_control_cookie_t {
4279     unsigned int sequence; /**<  */
4280 } xcb_get_keyboard_control_cookie_t;
4281 
4282 /** Opcode for xcb_get_keyboard_control. */
4283 #define XCB_GET_KEYBOARD_CONTROL 103
4284 
4285 /**
4286  * @brief xcb_get_keyboard_control_request_t
4287  **/
4288 typedef struct xcb_get_keyboard_control_request_t {
4289     uint8_t  major_opcode; /**<  */
4290     uint8_t  pad0; /**<  */
4291     uint16_t length; /**<  */
4292 } xcb_get_keyboard_control_request_t;
4293 
4294 /**
4295  * @brief xcb_get_keyboard_control_reply_t
4296  **/
4297 typedef struct xcb_get_keyboard_control_reply_t {
4298     uint8_t  response_type; /**<  */
4299     uint8_t  global_auto_repeat; /**<  */
4300     uint16_t sequence; /**<  */
4301     uint32_t length; /**<  */
4302     uint32_t led_mask; /**<  */
4303     uint8_t  key_click_percent; /**<  */
4304     uint8_t  bell_percent; /**<  */
4305     uint16_t bell_pitch; /**<  */
4306     uint16_t bell_duration; /**<  */
4307     uint8_t  pad0[2]; /**<  */
4308     uint8_t  auto_repeats[32]; /**<  */
4309 } xcb_get_keyboard_control_reply_t;
4310 
4311 /** Opcode for xcb_bell. */
4312 #define XCB_BELL 104
4313 
4314 /**
4315  * @brief xcb_bell_request_t
4316  **/
4317 typedef struct xcb_bell_request_t {
4318     uint8_t  major_opcode; /**<  */
4319     int8_t   percent; /**<  */
4320     uint16_t length; /**<  */
4321 } xcb_bell_request_t;
4322 
4323 /** Opcode for xcb_change_pointer_control. */
4324 #define XCB_CHANGE_POINTER_CONTROL 105
4325 
4326 /**
4327  * @brief xcb_change_pointer_control_request_t
4328  **/
4329 typedef struct xcb_change_pointer_control_request_t {
4330     uint8_t  major_opcode; /**<  */
4331     uint8_t  pad0; /**<  */
4332     uint16_t length; /**<  */
4333     int16_t  acceleration_numerator; /**<  */
4334     int16_t  acceleration_denominator; /**<  */
4335     int16_t  threshold; /**<  */
4336     uint8_t  do_acceleration; /**<  */
4337     uint8_t  do_threshold; /**<  */
4338 } xcb_change_pointer_control_request_t;
4339 
4340 /**
4341  * @brief xcb_get_pointer_control_cookie_t
4342  **/
4343 typedef struct xcb_get_pointer_control_cookie_t {
4344     unsigned int sequence; /**<  */
4345 } xcb_get_pointer_control_cookie_t;
4346 
4347 /** Opcode for xcb_get_pointer_control. */
4348 #define XCB_GET_POINTER_CONTROL 106
4349 
4350 /**
4351  * @brief xcb_get_pointer_control_request_t
4352  **/
4353 typedef struct xcb_get_pointer_control_request_t {
4354     uint8_t  major_opcode; /**<  */
4355     uint8_t  pad0; /**<  */
4356     uint16_t length; /**<  */
4357 } xcb_get_pointer_control_request_t;
4358 
4359 /**
4360  * @brief xcb_get_pointer_control_reply_t
4361  **/
4362 typedef struct xcb_get_pointer_control_reply_t {
4363     uint8_t  response_type; /**<  */
4364     uint8_t  pad0; /**<  */
4365     uint16_t sequence; /**<  */
4366     uint32_t length; /**<  */
4367     uint16_t acceleration_numerator; /**<  */
4368     uint16_t acceleration_denominator; /**<  */
4369     uint16_t threshold; /**<  */
4370     uint8_t  pad1[18]; /**<  */
4371 } xcb_get_pointer_control_reply_t;
4372 
4373 typedef enum xcb_blanking_t {
4374     XCB_BLANKING_NOT_PREFERRED = 0,
4375     XCB_BLANKING_PREFERRED = 1,
4376     XCB_BLANKING_DEFAULT = 2
4377 } xcb_blanking_t;
4378 
4379 typedef enum xcb_exposures_t {
4380     XCB_EXPOSURES_NOT_ALLOWED = 0,
4381     XCB_EXPOSURES_ALLOWED = 1,
4382     XCB_EXPOSURES_DEFAULT = 2
4383 } xcb_exposures_t;
4384 
4385 /** Opcode for xcb_set_screen_saver. */
4386 #define XCB_SET_SCREEN_SAVER 107
4387 
4388 /**
4389  * @brief xcb_set_screen_saver_request_t
4390  **/
4391 typedef struct xcb_set_screen_saver_request_t {
4392     uint8_t  major_opcode; /**<  */
4393     uint8_t  pad0; /**<  */
4394     uint16_t length; /**<  */
4395     int16_t  timeout; /**<  */
4396     int16_t  interval; /**<  */
4397     uint8_t  prefer_blanking; /**<  */
4398     uint8_t  allow_exposures; /**<  */
4399 } xcb_set_screen_saver_request_t;
4400 
4401 /**
4402  * @brief xcb_get_screen_saver_cookie_t
4403  **/
4404 typedef struct xcb_get_screen_saver_cookie_t {
4405     unsigned int sequence; /**<  */
4406 } xcb_get_screen_saver_cookie_t;
4407 
4408 /** Opcode for xcb_get_screen_saver. */
4409 #define XCB_GET_SCREEN_SAVER 108
4410 
4411 /**
4412  * @brief xcb_get_screen_saver_request_t
4413  **/
4414 typedef struct xcb_get_screen_saver_request_t {
4415     uint8_t  major_opcode; /**<  */
4416     uint8_t  pad0; /**<  */
4417     uint16_t length; /**<  */
4418 } xcb_get_screen_saver_request_t;
4419 
4420 /**
4421  * @brief xcb_get_screen_saver_reply_t
4422  **/
4423 typedef struct xcb_get_screen_saver_reply_t {
4424     uint8_t  response_type; /**<  */
4425     uint8_t  pad0; /**<  */
4426     uint16_t sequence; /**<  */
4427     uint32_t length; /**<  */
4428     uint16_t timeout; /**<  */
4429     uint16_t interval; /**<  */
4430     uint8_t  prefer_blanking; /**<  */
4431     uint8_t  allow_exposures; /**<  */
4432     uint8_t  pad1[18]; /**<  */
4433 } xcb_get_screen_saver_reply_t;
4434 
4435 typedef enum xcb_host_mode_t {
4436     XCB_HOST_MODE_INSERT = 0,
4437     XCB_HOST_MODE_DELETE = 1
4438 } xcb_host_mode_t;
4439 
4440 typedef enum xcb_family_t {
4441     XCB_FAMILY_INTERNET = 0,
4442     XCB_FAMILY_DECNET = 1,
4443     XCB_FAMILY_CHAOS = 2,
4444     XCB_FAMILY_SERVER_INTERPRETED = 5,
4445     XCB_FAMILY_INTERNET_6 = 6
4446 } xcb_family_t;
4447 
4448 /** Opcode for xcb_change_hosts. */
4449 #define XCB_CHANGE_HOSTS 109
4450 
4451 /**
4452  * @brief xcb_change_hosts_request_t
4453  **/
4454 typedef struct xcb_change_hosts_request_t {
4455     uint8_t  major_opcode; /**<  */
4456     uint8_t  mode; /**<  */
4457     uint16_t length; /**<  */
4458     uint8_t  family; /**<  */
4459     uint8_t  pad0; /**<  */
4460     uint16_t address_len; /**<  */
4461 } xcb_change_hosts_request_t;
4462 
4463 /**
4464  * @brief xcb_host_t
4465  **/
4466 typedef struct xcb_host_t {
4467     uint8_t  family; /**<  */
4468     uint8_t  pad0; /**<  */
4469     uint16_t address_len; /**<  */
4470 } xcb_host_t;
4471 
4472 /**
4473  * @brief xcb_host_iterator_t
4474  **/
4475 typedef struct xcb_host_iterator_t {
4476     xcb_host_t *data; /**<  */
4477     int         rem; /**<  */
4478     int         index; /**<  */
4479 } xcb_host_iterator_t;
4480 
4481 /**
4482  * @brief xcb_list_hosts_cookie_t
4483  **/
4484 typedef struct xcb_list_hosts_cookie_t {
4485     unsigned int sequence; /**<  */
4486 } xcb_list_hosts_cookie_t;
4487 
4488 /** Opcode for xcb_list_hosts. */
4489 #define XCB_LIST_HOSTS 110
4490 
4491 /**
4492  * @brief xcb_list_hosts_request_t
4493  **/
4494 typedef struct xcb_list_hosts_request_t {
4495     uint8_t  major_opcode; /**<  */
4496     uint8_t  pad0; /**<  */
4497     uint16_t length; /**<  */
4498 } xcb_list_hosts_request_t;
4499 
4500 /**
4501  * @brief xcb_list_hosts_reply_t
4502  **/
4503 typedef struct xcb_list_hosts_reply_t {
4504     uint8_t  response_type; /**<  */
4505     uint8_t  mode; /**<  */
4506     uint16_t sequence; /**<  */
4507     uint32_t length; /**<  */
4508     uint16_t hosts_len; /**<  */
4509     uint8_t  pad0[22]; /**<  */
4510 } xcb_list_hosts_reply_t;
4511 
4512 typedef enum xcb_access_control_t {
4513     XCB_ACCESS_CONTROL_DISABLE = 0,
4514     XCB_ACCESS_CONTROL_ENABLE = 1
4515 } xcb_access_control_t;
4516 
4517 /** Opcode for xcb_set_access_control. */
4518 #define XCB_SET_ACCESS_CONTROL 111
4519 
4520 /**
4521  * @brief xcb_set_access_control_request_t
4522  **/
4523 typedef struct xcb_set_access_control_request_t {
4524     uint8_t  major_opcode; /**<  */
4525     uint8_t  mode; /**<  */
4526     uint16_t length; /**<  */
4527 } xcb_set_access_control_request_t;
4528 
4529 typedef enum xcb_close_down_t {
4530     XCB_CLOSE_DOWN_DESTROY_ALL = 0,
4531     XCB_CLOSE_DOWN_RETAIN_PERMANENT = 1,
4532     XCB_CLOSE_DOWN_RETAIN_TEMPORARY = 2
4533 } xcb_close_down_t;
4534 
4535 /** Opcode for xcb_set_close_down_mode. */
4536 #define XCB_SET_CLOSE_DOWN_MODE 112
4537 
4538 /**
4539  * @brief xcb_set_close_down_mode_request_t
4540  **/
4541 typedef struct xcb_set_close_down_mode_request_t {
4542     uint8_t  major_opcode; /**<  */
4543     uint8_t  mode; /**<  */
4544     uint16_t length; /**<  */
4545 } xcb_set_close_down_mode_request_t;
4546 
4547 typedef enum xcb_kill_t {
4548     XCB_KILL_ALL_TEMPORARY = 0
4549 } xcb_kill_t;
4550 
4551 /** Opcode for xcb_kill_client. */
4552 #define XCB_KILL_CLIENT 113
4553 
4554 /**
4555  * @brief xcb_kill_client_request_t
4556  **/
4557 typedef struct xcb_kill_client_request_t {
4558     uint8_t  major_opcode; /**<  */
4559     uint8_t  pad0; /**<  */
4560     uint16_t length; /**<  */
4561     uint32_t resource; /**<  */
4562 } xcb_kill_client_request_t;
4563 
4564 /** Opcode for xcb_rotate_properties. */
4565 #define XCB_ROTATE_PROPERTIES 114
4566 
4567 /**
4568  * @brief xcb_rotate_properties_request_t
4569  **/
4570 typedef struct xcb_rotate_properties_request_t {
4571     uint8_t      major_opcode; /**<  */
4572     uint8_t      pad0; /**<  */
4573     uint16_t     length; /**<  */
4574     xcb_window_t window; /**<  */
4575     uint16_t     atoms_len; /**<  */
4576     int16_t      delta; /**<  */
4577 } xcb_rotate_properties_request_t;
4578 
4579 typedef enum xcb_screen_saver_t {
4580     XCB_SCREEN_SAVER_RESET = 0,
4581     XCB_SCREEN_SAVER_ACTIVE = 1
4582 } xcb_screen_saver_t;
4583 
4584 /** Opcode for xcb_force_screen_saver. */
4585 #define XCB_FORCE_SCREEN_SAVER 115
4586 
4587 /**
4588  * @brief xcb_force_screen_saver_request_t
4589  **/
4590 typedef struct xcb_force_screen_saver_request_t {
4591     uint8_t  major_opcode; /**<  */
4592     uint8_t  mode; /**<  */
4593     uint16_t length; /**<  */
4594 } xcb_force_screen_saver_request_t;
4595 
4596 typedef enum xcb_mapping_status_t {
4597     XCB_MAPPING_STATUS_SUCCESS = 0,
4598     XCB_MAPPING_STATUS_BUSY = 1,
4599     XCB_MAPPING_STATUS_FAILURE = 2
4600 } xcb_mapping_status_t;
4601 
4602 /**
4603  * @brief xcb_set_pointer_mapping_cookie_t
4604  **/
4605 typedef struct xcb_set_pointer_mapping_cookie_t {
4606     unsigned int sequence; /**<  */
4607 } xcb_set_pointer_mapping_cookie_t;
4608 
4609 /** Opcode for xcb_set_pointer_mapping. */
4610 #define XCB_SET_POINTER_MAPPING 116
4611 
4612 /**
4613  * @brief xcb_set_pointer_mapping_request_t
4614  **/
4615 typedef struct xcb_set_pointer_mapping_request_t {
4616     uint8_t  major_opcode; /**<  */
4617     uint8_t  map_len; /**<  */
4618     uint16_t length; /**<  */
4619 } xcb_set_pointer_mapping_request_t;
4620 
4621 /**
4622  * @brief xcb_set_pointer_mapping_reply_t
4623  **/
4624 typedef struct xcb_set_pointer_mapping_reply_t {
4625     uint8_t  response_type; /**<  */
4626     uint8_t  status; /**<  */
4627     uint16_t sequence; /**<  */
4628     uint32_t length; /**<  */
4629 } xcb_set_pointer_mapping_reply_t;
4630 
4631 /**
4632  * @brief xcb_get_pointer_mapping_cookie_t
4633  **/
4634 typedef struct xcb_get_pointer_mapping_cookie_t {
4635     unsigned int sequence; /**<  */
4636 } xcb_get_pointer_mapping_cookie_t;
4637 
4638 /** Opcode for xcb_get_pointer_mapping. */
4639 #define XCB_GET_POINTER_MAPPING 117
4640 
4641 /**
4642  * @brief xcb_get_pointer_mapping_request_t
4643  **/
4644 typedef struct xcb_get_pointer_mapping_request_t {
4645     uint8_t  major_opcode; /**<  */
4646     uint8_t  pad0; /**<  */
4647     uint16_t length; /**<  */
4648 } xcb_get_pointer_mapping_request_t;
4649 
4650 /**
4651  * @brief xcb_get_pointer_mapping_reply_t
4652  **/
4653 typedef struct xcb_get_pointer_mapping_reply_t {
4654     uint8_t  response_type; /**<  */
4655     uint8_t  map_len; /**<  */
4656     uint16_t sequence; /**<  */
4657     uint32_t length; /**<  */
4658     uint8_t  pad0[24]; /**<  */
4659 } xcb_get_pointer_mapping_reply_t;
4660 
4661 typedef enum xcb_map_index_t {
4662     XCB_MAP_INDEX_SHIFT = 0,
4663     XCB_MAP_INDEX_LOCK = 1,
4664     XCB_MAP_INDEX_CONTROL = 2,
4665     XCB_MAP_INDEX_1 = 3,
4666     XCB_MAP_INDEX_2 = 4,
4667     XCB_MAP_INDEX_3 = 5,
4668     XCB_MAP_INDEX_4 = 6,
4669     XCB_MAP_INDEX_5 = 7
4670 } xcb_map_index_t;
4671 
4672 /**
4673  * @brief xcb_set_modifier_mapping_cookie_t
4674  **/
4675 typedef struct xcb_set_modifier_mapping_cookie_t {
4676     unsigned int sequence; /**<  */
4677 } xcb_set_modifier_mapping_cookie_t;
4678 
4679 /** Opcode for xcb_set_modifier_mapping. */
4680 #define XCB_SET_MODIFIER_MAPPING 118
4681 
4682 /**
4683  * @brief xcb_set_modifier_mapping_request_t
4684  **/
4685 typedef struct xcb_set_modifier_mapping_request_t {
4686     uint8_t  major_opcode; /**<  */
4687     uint8_t  keycodes_per_modifier; /**<  */
4688     uint16_t length; /**<  */
4689 } xcb_set_modifier_mapping_request_t;
4690 
4691 /**
4692  * @brief xcb_set_modifier_mapping_reply_t
4693  **/
4694 typedef struct xcb_set_modifier_mapping_reply_t {
4695     uint8_t  response_type; /**<  */
4696     uint8_t  status; /**<  */
4697     uint16_t sequence; /**<  */
4698     uint32_t length; /**<  */
4699 } xcb_set_modifier_mapping_reply_t;
4700 
4701 /**
4702  * @brief xcb_get_modifier_mapping_cookie_t
4703  **/
4704 typedef struct xcb_get_modifier_mapping_cookie_t {
4705     unsigned int sequence; /**<  */
4706 } xcb_get_modifier_mapping_cookie_t;
4707 
4708 /** Opcode for xcb_get_modifier_mapping. */
4709 #define XCB_GET_MODIFIER_MAPPING 119
4710 
4711 /**
4712  * @brief xcb_get_modifier_mapping_request_t
4713  **/
4714 typedef struct xcb_get_modifier_mapping_request_t {
4715     uint8_t  major_opcode; /**<  */
4716     uint8_t  pad0; /**<  */
4717     uint16_t length; /**<  */
4718 } xcb_get_modifier_mapping_request_t;
4719 
4720 /**
4721  * @brief xcb_get_modifier_mapping_reply_t
4722  **/
4723 typedef struct xcb_get_modifier_mapping_reply_t {
4724     uint8_t  response_type; /**<  */
4725     uint8_t  keycodes_per_modifier; /**<  */
4726     uint16_t sequence; /**<  */
4727     uint32_t length; /**<  */
4728     uint8_t  pad0[24]; /**<  */
4729 } xcb_get_modifier_mapping_reply_t;
4730 
4731 /** Opcode for xcb_no_operation. */
4732 #define XCB_NO_OPERATION 127
4733 
4734 /**
4735  * @brief xcb_no_operation_request_t
4736  **/
4737 typedef struct xcb_no_operation_request_t {
4738     uint8_t  major_opcode; /**<  */
4739     uint8_t  pad0; /**<  */
4740     uint16_t length; /**<  */
4741 } xcb_no_operation_request_t;
4742 
4743 /**
4744  * Get the next element of the iterator
4745  * @param i Pointer to a xcb_char2b_iterator_t
4746  *
4747  * Get the next element in the iterator. The member rem is
4748  * decreased by one. The member data points to the next
4749  * element. The member index is increased by sizeof(xcb_char2b_t)
4750  */
4751 
4752 /*****************************************************************************
4753  **
4754  ** void xcb_char2b_next
4755  **
4756  ** @param xcb_char2b_iterator_t *i
4757  ** @returns void
4758  **
4759  *****************************************************************************/
4760 
4761 void
4762 xcb_char2b_next (xcb_char2b_iterator_t *i  /**< */);
4763 
4764 /**
4765  * Return the iterator pointing to the last element
4766  * @param i An xcb_char2b_iterator_t
4767  * @return  The iterator pointing to the last element
4768  *
4769  * Set the current element in the iterator to the last element.
4770  * The member rem is set to 0. The member data points to the
4771  * last element.
4772  */
4773 
4774 /*****************************************************************************
4775  **
4776  ** xcb_generic_iterator_t xcb_char2b_end
4777  **
4778  ** @param xcb_char2b_iterator_t i
4779  ** @returns xcb_generic_iterator_t
4780  **
4781  *****************************************************************************/
4782 
4783 xcb_generic_iterator_t
4784 xcb_char2b_end (xcb_char2b_iterator_t i  /**< */);
4785 
4786 /**
4787  * Get the next element of the iterator
4788  * @param i Pointer to a xcb_window_iterator_t
4789  *
4790  * Get the next element in the iterator. The member rem is
4791  * decreased by one. The member data points to the next
4792  * element. The member index is increased by sizeof(xcb_window_t)
4793  */
4794 
4795 /*****************************************************************************
4796  **
4797  ** void xcb_window_next
4798  **
4799  ** @param xcb_window_iterator_t *i
4800  ** @returns void
4801  **
4802  *****************************************************************************/
4803 
4804 void
4805 xcb_window_next (xcb_window_iterator_t *i  /**< */);
4806 
4807 /**
4808  * Return the iterator pointing to the last element
4809  * @param i An xcb_window_iterator_t
4810  * @return  The iterator pointing to the last element
4811  *
4812  * Set the current element in the iterator to the last element.
4813  * The member rem is set to 0. The member data points to the
4814  * last element.
4815  */
4816 
4817 /*****************************************************************************
4818  **
4819  ** xcb_generic_iterator_t xcb_window_end
4820  **
4821  ** @param xcb_window_iterator_t i
4822  ** @returns xcb_generic_iterator_t
4823  **
4824  *****************************************************************************/
4825 
4826 xcb_generic_iterator_t
4827 xcb_window_end (xcb_window_iterator_t i  /**< */);
4828 
4829 /**
4830  * Get the next element of the iterator
4831  * @param i Pointer to a xcb_pixmap_iterator_t
4832  *
4833  * Get the next element in the iterator. The member rem is
4834  * decreased by one. The member data points to the next
4835  * element. The member index is increased by sizeof(xcb_pixmap_t)
4836  */
4837 
4838 /*****************************************************************************
4839  **
4840  ** void xcb_pixmap_next
4841  **
4842  ** @param xcb_pixmap_iterator_t *i
4843  ** @returns void
4844  **
4845  *****************************************************************************/
4846 
4847 void
4848 xcb_pixmap_next (xcb_pixmap_iterator_t *i  /**< */);
4849 
4850 /**
4851  * Return the iterator pointing to the last element
4852  * @param i An xcb_pixmap_iterator_t
4853  * @return  The iterator pointing to the last element
4854  *
4855  * Set the current element in the iterator to the last element.
4856  * The member rem is set to 0. The member data points to the
4857  * last element.
4858  */
4859 
4860 /*****************************************************************************
4861  **
4862  ** xcb_generic_iterator_t xcb_pixmap_end
4863  **
4864  ** @param xcb_pixmap_iterator_t i
4865  ** @returns xcb_generic_iterator_t
4866  **
4867  *****************************************************************************/
4868 
4869 xcb_generic_iterator_t
4870 xcb_pixmap_end (xcb_pixmap_iterator_t i  /**< */);
4871 
4872 /**
4873  * Get the next element of the iterator
4874  * @param i Pointer to a xcb_cursor_iterator_t
4875  *
4876  * Get the next element in the iterator. The member rem is
4877  * decreased by one. The member data points to the next
4878  * element. The member index is increased by sizeof(xcb_cursor_t)
4879  */
4880 
4881 /*****************************************************************************
4882  **
4883  ** void xcb_cursor_next
4884  **
4885  ** @param xcb_cursor_iterator_t *i
4886  ** @returns void
4887  **
4888  *****************************************************************************/
4889 
4890 void
4891 xcb_cursor_next (xcb_cursor_iterator_t *i  /**< */);
4892 
4893 /**
4894  * Return the iterator pointing to the last element
4895  * @param i An xcb_cursor_iterator_t
4896  * @return  The iterator pointing to the last element
4897  *
4898  * Set the current element in the iterator to the last element.
4899  * The member rem is set to 0. The member data points to the
4900  * last element.
4901  */
4902 
4903 /*****************************************************************************
4904  **
4905  ** xcb_generic_iterator_t xcb_cursor_end
4906  **
4907  ** @param xcb_cursor_iterator_t i
4908  ** @returns xcb_generic_iterator_t
4909  **
4910  *****************************************************************************/
4911 
4912 xcb_generic_iterator_t
4913 xcb_cursor_end (xcb_cursor_iterator_t i  /**< */);
4914 
4915 /**
4916  * Get the next element of the iterator
4917  * @param i Pointer to a xcb_font_iterator_t
4918  *
4919  * Get the next element in the iterator. The member rem is
4920  * decreased by one. The member data points to the next
4921  * element. The member index is increased by sizeof(xcb_font_t)
4922  */
4923 
4924 /*****************************************************************************
4925  **
4926  ** void xcb_font_next
4927  **
4928  ** @param xcb_font_iterator_t *i
4929  ** @returns void
4930  **
4931  *****************************************************************************/
4932 
4933 void
4934 xcb_font_next (xcb_font_iterator_t *i  /**< */);
4935 
4936 /**
4937  * Return the iterator pointing to the last element
4938  * @param i An xcb_font_iterator_t
4939  * @return  The iterator pointing to the last element
4940  *
4941  * Set the current element in the iterator to the last element.
4942  * The member rem is set to 0. The member data points to the
4943  * last element.
4944  */
4945 
4946 /*****************************************************************************
4947  **
4948  ** xcb_generic_iterator_t xcb_font_end
4949  **
4950  ** @param xcb_font_iterator_t i
4951  ** @returns xcb_generic_iterator_t
4952  **
4953  *****************************************************************************/
4954 
4955 xcb_generic_iterator_t
4956 xcb_font_end (xcb_font_iterator_t i  /**< */);
4957 
4958 /**
4959  * Get the next element of the iterator
4960  * @param i Pointer to a xcb_gcontext_iterator_t
4961  *
4962  * Get the next element in the iterator. The member rem is
4963  * decreased by one. The member data points to the next
4964  * element. The member index is increased by sizeof(xcb_gcontext_t)
4965  */
4966 
4967 /*****************************************************************************
4968  **
4969  ** void xcb_gcontext_next
4970  **
4971  ** @param xcb_gcontext_iterator_t *i
4972  ** @returns void
4973  **
4974  *****************************************************************************/
4975 
4976 void
4977 xcb_gcontext_next (xcb_gcontext_iterator_t *i  /**< */);
4978 
4979 /**
4980  * Return the iterator pointing to the last element
4981  * @param i An xcb_gcontext_iterator_t
4982  * @return  The iterator pointing to the last element
4983  *
4984  * Set the current element in the iterator to the last element.
4985  * The member rem is set to 0. The member data points to the
4986  * last element.
4987  */
4988 
4989 /*****************************************************************************
4990  **
4991  ** xcb_generic_iterator_t xcb_gcontext_end
4992  **
4993  ** @param xcb_gcontext_iterator_t i
4994  ** @returns xcb_generic_iterator_t
4995  **
4996  *****************************************************************************/
4997 
4998 xcb_generic_iterator_t
4999 xcb_gcontext_end (xcb_gcontext_iterator_t i  /**< */);
5000 
5001 /**
5002  * Get the next element of the iterator
5003  * @param i Pointer to a xcb_colormap_iterator_t
5004  *
5005  * Get the next element in the iterator. The member rem is
5006  * decreased by one. The member data points to the next
5007  * element. The member index is increased by sizeof(xcb_colormap_t)
5008  */
5009 
5010 /*****************************************************************************
5011  **
5012  ** void xcb_colormap_next
5013  **
5014  ** @param xcb_colormap_iterator_t *i
5015  ** @returns void
5016  **
5017  *****************************************************************************/
5018 
5019 void
5020 xcb_colormap_next (xcb_colormap_iterator_t *i  /**< */);
5021 
5022 /**
5023  * Return the iterator pointing to the last element
5024  * @param i An xcb_colormap_iterator_t
5025  * @return  The iterator pointing to the last element
5026  *
5027  * Set the current element in the iterator to the last element.
5028  * The member rem is set to 0. The member data points to the
5029  * last element.
5030  */
5031 
5032 /*****************************************************************************
5033  **
5034  ** xcb_generic_iterator_t xcb_colormap_end
5035  **
5036  ** @param xcb_colormap_iterator_t i
5037  ** @returns xcb_generic_iterator_t
5038  **
5039  *****************************************************************************/
5040 
5041 xcb_generic_iterator_t
5042 xcb_colormap_end (xcb_colormap_iterator_t i  /**< */);
5043 
5044 /**
5045  * Get the next element of the iterator
5046  * @param i Pointer to a xcb_atom_iterator_t
5047  *
5048  * Get the next element in the iterator. The member rem is
5049  * decreased by one. The member data points to the next
5050  * element. The member index is increased by sizeof(xcb_atom_t)
5051  */
5052 
5053 /*****************************************************************************
5054  **
5055  ** void xcb_atom_next
5056  **
5057  ** @param xcb_atom_iterator_t *i
5058  ** @returns void
5059  **
5060  *****************************************************************************/
5061 
5062 void
5063 xcb_atom_next (xcb_atom_iterator_t *i  /**< */);
5064 
5065 /**
5066  * Return the iterator pointing to the last element
5067  * @param i An xcb_atom_iterator_t
5068  * @return  The iterator pointing to the last element
5069  *
5070  * Set the current element in the iterator to the last element.
5071  * The member rem is set to 0. The member data points to the
5072  * last element.
5073  */
5074 
5075 /*****************************************************************************
5076  **
5077  ** xcb_generic_iterator_t xcb_atom_end
5078  **
5079  ** @param xcb_atom_iterator_t i
5080  ** @returns xcb_generic_iterator_t
5081  **
5082  *****************************************************************************/
5083 
5084 xcb_generic_iterator_t
5085 xcb_atom_end (xcb_atom_iterator_t i  /**< */);
5086 
5087 /**
5088  * Get the next element of the iterator
5089  * @param i Pointer to a xcb_drawable_iterator_t
5090  *
5091  * Get the next element in the iterator. The member rem is
5092  * decreased by one. The member data points to the next
5093  * element. The member index is increased by sizeof(xcb_drawable_t)
5094  */
5095 
5096 /*****************************************************************************
5097  **
5098  ** void xcb_drawable_next
5099  **
5100  ** @param xcb_drawable_iterator_t *i
5101  ** @returns void
5102  **
5103  *****************************************************************************/
5104 
5105 void
5106 xcb_drawable_next (xcb_drawable_iterator_t *i  /**< */);
5107 
5108 /**
5109  * Return the iterator pointing to the last element
5110  * @param i An xcb_drawable_iterator_t
5111  * @return  The iterator pointing to the last element
5112  *
5113  * Set the current element in the iterator to the last element.
5114  * The member rem is set to 0. The member data points to the
5115  * last element.
5116  */
5117 
5118 /*****************************************************************************
5119  **
5120  ** xcb_generic_iterator_t xcb_drawable_end
5121  **
5122  ** @param xcb_drawable_iterator_t i
5123  ** @returns xcb_generic_iterator_t
5124  **
5125  *****************************************************************************/
5126 
5127 xcb_generic_iterator_t
5128 xcb_drawable_end (xcb_drawable_iterator_t i  /**< */);
5129 
5130 /**
5131  * Get the next element of the iterator
5132  * @param i Pointer to a xcb_fontable_iterator_t
5133  *
5134  * Get the next element in the iterator. The member rem is
5135  * decreased by one. The member data points to the next
5136  * element. The member index is increased by sizeof(xcb_fontable_t)
5137  */
5138 
5139 /*****************************************************************************
5140  **
5141  ** void xcb_fontable_next
5142  **
5143  ** @param xcb_fontable_iterator_t *i
5144  ** @returns void
5145  **
5146  *****************************************************************************/
5147 
5148 void
5149 xcb_fontable_next (xcb_fontable_iterator_t *i  /**< */);
5150 
5151 /**
5152  * Return the iterator pointing to the last element
5153  * @param i An xcb_fontable_iterator_t
5154  * @return  The iterator pointing to the last element
5155  *
5156  * Set the current element in the iterator to the last element.
5157  * The member rem is set to 0. The member data points to the
5158  * last element.
5159  */
5160 
5161 /*****************************************************************************
5162  **
5163  ** xcb_generic_iterator_t xcb_fontable_end
5164  **
5165  ** @param xcb_fontable_iterator_t i
5166  ** @returns xcb_generic_iterator_t
5167  **
5168  *****************************************************************************/
5169 
5170 xcb_generic_iterator_t
5171 xcb_fontable_end (xcb_fontable_iterator_t i  /**< */);
5172 
5173 /**
5174  * Get the next element of the iterator
5175  * @param i Pointer to a xcb_visualid_iterator_t
5176  *
5177  * Get the next element in the iterator. The member rem is
5178  * decreased by one. The member data points to the next
5179  * element. The member index is increased by sizeof(xcb_visualid_t)
5180  */
5181 
5182 /*****************************************************************************
5183  **
5184  ** void xcb_visualid_next
5185  **
5186  ** @param xcb_visualid_iterator_t *i
5187  ** @returns void
5188  **
5189  *****************************************************************************/
5190 
5191 void
5192 xcb_visualid_next (xcb_visualid_iterator_t *i  /**< */);
5193 
5194 /**
5195  * Return the iterator pointing to the last element
5196  * @param i An xcb_visualid_iterator_t
5197  * @return  The iterator pointing to the last element
5198  *
5199  * Set the current element in the iterator to the last element.
5200  * The member rem is set to 0. The member data points to the
5201  * last element.
5202  */
5203 
5204 /*****************************************************************************
5205  **
5206  ** xcb_generic_iterator_t xcb_visualid_end
5207  **
5208  ** @param xcb_visualid_iterator_t i
5209  ** @returns xcb_generic_iterator_t
5210  **
5211  *****************************************************************************/
5212 
5213 xcb_generic_iterator_t
5214 xcb_visualid_end (xcb_visualid_iterator_t i  /**< */);
5215 
5216 /**
5217  * Get the next element of the iterator
5218  * @param i Pointer to a xcb_timestamp_iterator_t
5219  *
5220  * Get the next element in the iterator. The member rem is
5221  * decreased by one. The member data points to the next
5222  * element. The member index is increased by sizeof(xcb_timestamp_t)
5223  */
5224 
5225 /*****************************************************************************
5226  **
5227  ** void xcb_timestamp_next
5228  **
5229  ** @param xcb_timestamp_iterator_t *i
5230  ** @returns void
5231  **
5232  *****************************************************************************/
5233 
5234 void
5235 xcb_timestamp_next (xcb_timestamp_iterator_t *i  /**< */);
5236 
5237 /**
5238  * Return the iterator pointing to the last element
5239  * @param i An xcb_timestamp_iterator_t
5240  * @return  The iterator pointing to the last element
5241  *
5242  * Set the current element in the iterator to the last element.
5243  * The member rem is set to 0. The member data points to the
5244  * last element.
5245  */
5246 
5247 /*****************************************************************************
5248  **
5249  ** xcb_generic_iterator_t xcb_timestamp_end
5250  **
5251  ** @param xcb_timestamp_iterator_t i
5252  ** @returns xcb_generic_iterator_t
5253  **
5254  *****************************************************************************/
5255 
5256 xcb_generic_iterator_t
5257 xcb_timestamp_end (xcb_timestamp_iterator_t i  /**< */);
5258 
5259 /**
5260  * Get the next element of the iterator
5261  * @param i Pointer to a xcb_keysym_iterator_t
5262  *
5263  * Get the next element in the iterator. The member rem is
5264  * decreased by one. The member data points to the next
5265  * element. The member index is increased by sizeof(xcb_keysym_t)
5266  */
5267 
5268 /*****************************************************************************
5269  **
5270  ** void xcb_keysym_next
5271  **
5272  ** @param xcb_keysym_iterator_t *i
5273  ** @returns void
5274  **
5275  *****************************************************************************/
5276 
5277 void
5278 xcb_keysym_next (xcb_keysym_iterator_t *i  /**< */);
5279 
5280 /**
5281  * Return the iterator pointing to the last element
5282  * @param i An xcb_keysym_iterator_t
5283  * @return  The iterator pointing to the last element
5284  *
5285  * Set the current element in the iterator to the last element.
5286  * The member rem is set to 0. The member data points to the
5287  * last element.
5288  */
5289 
5290 /*****************************************************************************
5291  **
5292  ** xcb_generic_iterator_t xcb_keysym_end
5293  **
5294  ** @param xcb_keysym_iterator_t i
5295  ** @returns xcb_generic_iterator_t
5296  **
5297  *****************************************************************************/
5298 
5299 xcb_generic_iterator_t
5300 xcb_keysym_end (xcb_keysym_iterator_t i  /**< */);
5301 
5302 /**
5303  * Get the next element of the iterator
5304  * @param i Pointer to a xcb_keycode_iterator_t
5305  *
5306  * Get the next element in the iterator. The member rem is
5307  * decreased by one. The member data points to the next
5308  * element. The member index is increased by sizeof(xcb_keycode_t)
5309  */
5310 
5311 /*****************************************************************************
5312  **
5313  ** void xcb_keycode_next
5314  **
5315  ** @param xcb_keycode_iterator_t *i
5316  ** @returns void
5317  **
5318  *****************************************************************************/
5319 
5320 void
5321 xcb_keycode_next (xcb_keycode_iterator_t *i  /**< */);
5322 
5323 /**
5324  * Return the iterator pointing to the last element
5325  * @param i An xcb_keycode_iterator_t
5326  * @return  The iterator pointing to the last element
5327  *
5328  * Set the current element in the iterator to the last element.
5329  * The member rem is set to 0. The member data points to the
5330  * last element.
5331  */
5332 
5333 /*****************************************************************************
5334  **
5335  ** xcb_generic_iterator_t xcb_keycode_end
5336  **
5337  ** @param xcb_keycode_iterator_t i
5338  ** @returns xcb_generic_iterator_t
5339  **
5340  *****************************************************************************/
5341 
5342 xcb_generic_iterator_t
5343 xcb_keycode_end (xcb_keycode_iterator_t i  /**< */);
5344 
5345 /**
5346  * Get the next element of the iterator
5347  * @param i Pointer to a xcb_button_iterator_t
5348  *
5349  * Get the next element in the iterator. The member rem is
5350  * decreased by one. The member data points to the next
5351  * element. The member index is increased by sizeof(xcb_button_t)
5352  */
5353 
5354 /*****************************************************************************
5355  **
5356  ** void xcb_button_next
5357  **
5358  ** @param xcb_button_iterator_t *i
5359  ** @returns void
5360  **
5361  *****************************************************************************/
5362 
5363 void
5364 xcb_button_next (xcb_button_iterator_t *i  /**< */);
5365 
5366 /**
5367  * Return the iterator pointing to the last element
5368  * @param i An xcb_button_iterator_t
5369  * @return  The iterator pointing to the last element
5370  *
5371  * Set the current element in the iterator to the last element.
5372  * The member rem is set to 0. The member data points to the
5373  * last element.
5374  */
5375 
5376 /*****************************************************************************
5377  **
5378  ** xcb_generic_iterator_t xcb_button_end
5379  **
5380  ** @param xcb_button_iterator_t i
5381  ** @returns xcb_generic_iterator_t
5382  **
5383  *****************************************************************************/
5384 
5385 xcb_generic_iterator_t
5386 xcb_button_end (xcb_button_iterator_t i  /**< */);
5387 
5388 /**
5389  * Get the next element of the iterator
5390  * @param i Pointer to a xcb_point_iterator_t
5391  *
5392  * Get the next element in the iterator. The member rem is
5393  * decreased by one. The member data points to the next
5394  * element. The member index is increased by sizeof(xcb_point_t)
5395  */
5396 
5397 /*****************************************************************************
5398  **
5399  ** void xcb_point_next
5400  **
5401  ** @param xcb_point_iterator_t *i
5402  ** @returns void
5403  **
5404  *****************************************************************************/
5405 
5406 void
5407 xcb_point_next (xcb_point_iterator_t *i  /**< */);
5408 
5409 /**
5410  * Return the iterator pointing to the last element
5411  * @param i An xcb_point_iterator_t
5412  * @return  The iterator pointing to the last element
5413  *
5414  * Set the current element in the iterator to the last element.
5415  * The member rem is set to 0. The member data points to the
5416  * last element.
5417  */
5418 
5419 /*****************************************************************************
5420  **
5421  ** xcb_generic_iterator_t xcb_point_end
5422  **
5423  ** @param xcb_point_iterator_t i
5424  ** @returns xcb_generic_iterator_t
5425  **
5426  *****************************************************************************/
5427 
5428 xcb_generic_iterator_t
5429 xcb_point_end (xcb_point_iterator_t i  /**< */);
5430 
5431 /**
5432  * Get the next element of the iterator
5433  * @param i Pointer to a xcb_rectangle_iterator_t
5434  *
5435  * Get the next element in the iterator. The member rem is
5436  * decreased by one. The member data points to the next
5437  * element. The member index is increased by sizeof(xcb_rectangle_t)
5438  */
5439 
5440 /*****************************************************************************
5441  **
5442  ** void xcb_rectangle_next
5443  **
5444  ** @param xcb_rectangle_iterator_t *i
5445  ** @returns void
5446  **
5447  *****************************************************************************/
5448 
5449 void
5450 xcb_rectangle_next (xcb_rectangle_iterator_t *i  /**< */);
5451 
5452 /**
5453  * Return the iterator pointing to the last element
5454  * @param i An xcb_rectangle_iterator_t
5455  * @return  The iterator pointing to the last element
5456  *
5457  * Set the current element in the iterator to the last element.
5458  * The member rem is set to 0. The member data points to the
5459  * last element.
5460  */
5461 
5462 /*****************************************************************************
5463  **
5464  ** xcb_generic_iterator_t xcb_rectangle_end
5465  **
5466  ** @param xcb_rectangle_iterator_t i
5467  ** @returns xcb_generic_iterator_t
5468  **
5469  *****************************************************************************/
5470 
5471 xcb_generic_iterator_t
5472 xcb_rectangle_end (xcb_rectangle_iterator_t i  /**< */);
5473 
5474 /**
5475  * Get the next element of the iterator
5476  * @param i Pointer to a xcb_arc_iterator_t
5477  *
5478  * Get the next element in the iterator. The member rem is
5479  * decreased by one. The member data points to the next
5480  * element. The member index is increased by sizeof(xcb_arc_t)
5481  */
5482 
5483 /*****************************************************************************
5484  **
5485  ** void xcb_arc_next
5486  **
5487  ** @param xcb_arc_iterator_t *i
5488  ** @returns void
5489  **
5490  *****************************************************************************/
5491 
5492 void
5493 xcb_arc_next (xcb_arc_iterator_t *i  /**< */);
5494 
5495 /**
5496  * Return the iterator pointing to the last element
5497  * @param i An xcb_arc_iterator_t
5498  * @return  The iterator pointing to the last element
5499  *
5500  * Set the current element in the iterator to the last element.
5501  * The member rem is set to 0. The member data points to the
5502  * last element.
5503  */
5504 
5505 /*****************************************************************************
5506  **
5507  ** xcb_generic_iterator_t xcb_arc_end
5508  **
5509  ** @param xcb_arc_iterator_t i
5510  ** @returns xcb_generic_iterator_t
5511  **
5512  *****************************************************************************/
5513 
5514 xcb_generic_iterator_t
5515 xcb_arc_end (xcb_arc_iterator_t i  /**< */);
5516 
5517 /**
5518  * Get the next element of the iterator
5519  * @param i Pointer to a xcb_format_iterator_t
5520  *
5521  * Get the next element in the iterator. The member rem is
5522  * decreased by one. The member data points to the next
5523  * element. The member index is increased by sizeof(xcb_format_t)
5524  */
5525 
5526 /*****************************************************************************
5527  **
5528  ** void xcb_format_next
5529  **
5530  ** @param xcb_format_iterator_t *i
5531  ** @returns void
5532  **
5533  *****************************************************************************/
5534 
5535 void
5536 xcb_format_next (xcb_format_iterator_t *i  /**< */);
5537 
5538 /**
5539  * Return the iterator pointing to the last element
5540  * @param i An xcb_format_iterator_t
5541  * @return  The iterator pointing to the last element
5542  *
5543  * Set the current element in the iterator to the last element.
5544  * The member rem is set to 0. The member data points to the
5545  * last element.
5546  */
5547 
5548 /*****************************************************************************
5549  **
5550  ** xcb_generic_iterator_t xcb_format_end
5551  **
5552  ** @param xcb_format_iterator_t i
5553  ** @returns xcb_generic_iterator_t
5554  **
5555  *****************************************************************************/
5556 
5557 xcb_generic_iterator_t
5558 xcb_format_end (xcb_format_iterator_t i  /**< */);
5559 
5560 /**
5561  * Get the next element of the iterator
5562  * @param i Pointer to a xcb_visualtype_iterator_t
5563  *
5564  * Get the next element in the iterator. The member rem is
5565  * decreased by one. The member data points to the next
5566  * element. The member index is increased by sizeof(xcb_visualtype_t)
5567  */
5568 
5569 /*****************************************************************************
5570  **
5571  ** void xcb_visualtype_next
5572  **
5573  ** @param xcb_visualtype_iterator_t *i
5574  ** @returns void
5575  **
5576  *****************************************************************************/
5577 
5578 void
5579 xcb_visualtype_next (xcb_visualtype_iterator_t *i  /**< */);
5580 
5581 /**
5582  * Return the iterator pointing to the last element
5583  * @param i An xcb_visualtype_iterator_t
5584  * @return  The iterator pointing to the last element
5585  *
5586  * Set the current element in the iterator to the last element.
5587  * The member rem is set to 0. The member data points to the
5588  * last element.
5589  */
5590 
5591 /*****************************************************************************
5592  **
5593  ** xcb_generic_iterator_t xcb_visualtype_end
5594  **
5595  ** @param xcb_visualtype_iterator_t i
5596  ** @returns xcb_generic_iterator_t
5597  **
5598  *****************************************************************************/
5599 
5600 xcb_generic_iterator_t
5601 xcb_visualtype_end (xcb_visualtype_iterator_t i  /**< */);
5602 
5603 int
5604 xcb_depth_sizeof (const void  *_buffer  /**< */);
5605 
5606 
5607 /*****************************************************************************
5608  **
5609  ** xcb_visualtype_t * xcb_depth_visuals
5610  **
5611  ** @param const xcb_depth_t *R
5612  ** @returns xcb_visualtype_t *
5613  **
5614  *****************************************************************************/
5615 
5616 xcb_visualtype_t *
5617 xcb_depth_visuals (const xcb_depth_t *R  /**< */);
5618 
5619 
5620 /*****************************************************************************
5621  **
5622  ** int xcb_depth_visuals_length
5623  **
5624  ** @param const xcb_depth_t *R
5625  ** @returns int
5626  **
5627  *****************************************************************************/
5628 
5629 int
5630 xcb_depth_visuals_length (const xcb_depth_t *R  /**< */);
5631 
5632 
5633 /*****************************************************************************
5634  **
5635  ** xcb_visualtype_iterator_t xcb_depth_visuals_iterator
5636  **
5637  ** @param const xcb_depth_t *R
5638  ** @returns xcb_visualtype_iterator_t
5639  **
5640  *****************************************************************************/
5641 
5642 xcb_visualtype_iterator_t
5643 xcb_depth_visuals_iterator (const xcb_depth_t *R  /**< */);
5644 
5645 /**
5646  * Get the next element of the iterator
5647  * @param i Pointer to a xcb_depth_iterator_t
5648  *
5649  * Get the next element in the iterator. The member rem is
5650  * decreased by one. The member data points to the next
5651  * element. The member index is increased by sizeof(xcb_depth_t)
5652  */
5653 
5654 /*****************************************************************************
5655  **
5656  ** void xcb_depth_next
5657  **
5658  ** @param xcb_depth_iterator_t *i
5659  ** @returns void
5660  **
5661  *****************************************************************************/
5662 
5663 void
5664 xcb_depth_next (xcb_depth_iterator_t *i  /**< */);
5665 
5666 /**
5667  * Return the iterator pointing to the last element
5668  * @param i An xcb_depth_iterator_t
5669  * @return  The iterator pointing to the last element
5670  *
5671  * Set the current element in the iterator to the last element.
5672  * The member rem is set to 0. The member data points to the
5673  * last element.
5674  */
5675 
5676 /*****************************************************************************
5677  **
5678  ** xcb_generic_iterator_t xcb_depth_end
5679  **
5680  ** @param xcb_depth_iterator_t i
5681  ** @returns xcb_generic_iterator_t
5682  **
5683  *****************************************************************************/
5684 
5685 xcb_generic_iterator_t
5686 xcb_depth_end (xcb_depth_iterator_t i  /**< */);
5687 
5688 int
5689 xcb_screen_sizeof (const void  *_buffer  /**< */);
5690 
5691 
5692 /*****************************************************************************
5693  **
5694  ** int xcb_screen_allowed_depths_length
5695  **
5696  ** @param const xcb_screen_t *R
5697  ** @returns int
5698  **
5699  *****************************************************************************/
5700 
5701 int
5702 xcb_screen_allowed_depths_length (const xcb_screen_t *R  /**< */);
5703 
5704 
5705 /*****************************************************************************
5706  **
5707  ** xcb_depth_iterator_t xcb_screen_allowed_depths_iterator
5708  **
5709  ** @param const xcb_screen_t *R
5710  ** @returns xcb_depth_iterator_t
5711  **
5712  *****************************************************************************/
5713 
5714 xcb_depth_iterator_t
5715 xcb_screen_allowed_depths_iterator (const xcb_screen_t *R  /**< */);
5716 
5717 /**
5718  * Get the next element of the iterator
5719  * @param i Pointer to a xcb_screen_iterator_t
5720  *
5721  * Get the next element in the iterator. The member rem is
5722  * decreased by one. The member data points to the next
5723  * element. The member index is increased by sizeof(xcb_screen_t)
5724  */
5725 
5726 /*****************************************************************************
5727  **
5728  ** void xcb_screen_next
5729  **
5730  ** @param xcb_screen_iterator_t *i
5731  ** @returns void
5732  **
5733  *****************************************************************************/
5734 
5735 void
5736 xcb_screen_next (xcb_screen_iterator_t *i  /**< */);
5737 
5738 /**
5739  * Return the iterator pointing to the last element
5740  * @param i An xcb_screen_iterator_t
5741  * @return  The iterator pointing to the last element
5742  *
5743  * Set the current element in the iterator to the last element.
5744  * The member rem is set to 0. The member data points to the
5745  * last element.
5746  */
5747 
5748 /*****************************************************************************
5749  **
5750  ** xcb_generic_iterator_t xcb_screen_end
5751  **
5752  ** @param xcb_screen_iterator_t i
5753  ** @returns xcb_generic_iterator_t
5754  **
5755  *****************************************************************************/
5756 
5757 xcb_generic_iterator_t
5758 xcb_screen_end (xcb_screen_iterator_t i  /**< */);
5759 
5760 int
5761 xcb_setup_request_sizeof (const void  *_buffer  /**< */);
5762 
5763 
5764 /*****************************************************************************
5765  **
5766  ** char * xcb_setup_request_authorization_protocol_name
5767  **
5768  ** @param const xcb_setup_request_t *R
5769  ** @returns char *
5770  **
5771  *****************************************************************************/
5772 
5773 char *
5774 xcb_setup_request_authorization_protocol_name (const xcb_setup_request_t *R  /**< */);
5775 
5776 
5777 /*****************************************************************************
5778  **
5779  ** int xcb_setup_request_authorization_protocol_name_length
5780  **
5781  ** @param const xcb_setup_request_t *R
5782  ** @returns int
5783  **
5784  *****************************************************************************/
5785 
5786 int
5787 xcb_setup_request_authorization_protocol_name_length (const xcb_setup_request_t *R  /**< */);
5788 
5789 
5790 /*****************************************************************************
5791  **
5792  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_name_end
5793  **
5794  ** @param const xcb_setup_request_t *R
5795  ** @returns xcb_generic_iterator_t
5796  **
5797  *****************************************************************************/
5798 
5799 xcb_generic_iterator_t
5800 xcb_setup_request_authorization_protocol_name_end (const xcb_setup_request_t *R  /**< */);
5801 
5802 
5803 /*****************************************************************************
5804  **
5805  ** char * xcb_setup_request_authorization_protocol_data
5806  **
5807  ** @param const xcb_setup_request_t *R
5808  ** @returns char *
5809  **
5810  *****************************************************************************/
5811 
5812 char *
5813 xcb_setup_request_authorization_protocol_data (const xcb_setup_request_t *R  /**< */);
5814 
5815 
5816 /*****************************************************************************
5817  **
5818  ** int xcb_setup_request_authorization_protocol_data_length
5819  **
5820  ** @param const xcb_setup_request_t *R
5821  ** @returns int
5822  **
5823  *****************************************************************************/
5824 
5825 int
5826 xcb_setup_request_authorization_protocol_data_length (const xcb_setup_request_t *R  /**< */);
5827 
5828 
5829 /*****************************************************************************
5830  **
5831  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_data_end
5832  **
5833  ** @param const xcb_setup_request_t *R
5834  ** @returns xcb_generic_iterator_t
5835  **
5836  *****************************************************************************/
5837 
5838 xcb_generic_iterator_t
5839 xcb_setup_request_authorization_protocol_data_end (const xcb_setup_request_t *R  /**< */);
5840 
5841 /**
5842  * Get the next element of the iterator
5843  * @param i Pointer to a xcb_setup_request_iterator_t
5844  *
5845  * Get the next element in the iterator. The member rem is
5846  * decreased by one. The member data points to the next
5847  * element. The member index is increased by sizeof(xcb_setup_request_t)
5848  */
5849 
5850 /*****************************************************************************
5851  **
5852  ** void xcb_setup_request_next
5853  **
5854  ** @param xcb_setup_request_iterator_t *i
5855  ** @returns void
5856  **
5857  *****************************************************************************/
5858 
5859 void
5860 xcb_setup_request_next (xcb_setup_request_iterator_t *i  /**< */);
5861 
5862 /**
5863  * Return the iterator pointing to the last element
5864  * @param i An xcb_setup_request_iterator_t
5865  * @return  The iterator pointing to the last element
5866  *
5867  * Set the current element in the iterator to the last element.
5868  * The member rem is set to 0. The member data points to the
5869  * last element.
5870  */
5871 
5872 /*****************************************************************************
5873  **
5874  ** xcb_generic_iterator_t xcb_setup_request_end
5875  **
5876  ** @param xcb_setup_request_iterator_t i
5877  ** @returns xcb_generic_iterator_t
5878  **
5879  *****************************************************************************/
5880 
5881 xcb_generic_iterator_t
5882 xcb_setup_request_end (xcb_setup_request_iterator_t i  /**< */);
5883 
5884 int
5885 xcb_setup_failed_sizeof (const void  *_buffer  /**< */);
5886 
5887 
5888 /*****************************************************************************
5889  **
5890  ** char * xcb_setup_failed_reason
5891  **
5892  ** @param const xcb_setup_failed_t *R
5893  ** @returns char *
5894  **
5895  *****************************************************************************/
5896 
5897 char *
5898 xcb_setup_failed_reason (const xcb_setup_failed_t *R  /**< */);
5899 
5900 
5901 /*****************************************************************************
5902  **
5903  ** int xcb_setup_failed_reason_length
5904  **
5905  ** @param const xcb_setup_failed_t *R
5906  ** @returns int
5907  **
5908  *****************************************************************************/
5909 
5910 int
5911 xcb_setup_failed_reason_length (const xcb_setup_failed_t *R  /**< */);
5912 
5913 
5914 /*****************************************************************************
5915  **
5916  ** xcb_generic_iterator_t xcb_setup_failed_reason_end
5917  **
5918  ** @param const xcb_setup_failed_t *R
5919  ** @returns xcb_generic_iterator_t
5920  **
5921  *****************************************************************************/
5922 
5923 xcb_generic_iterator_t
5924 xcb_setup_failed_reason_end (const xcb_setup_failed_t *R  /**< */);
5925 
5926 /**
5927  * Get the next element of the iterator
5928  * @param i Pointer to a xcb_setup_failed_iterator_t
5929  *
5930  * Get the next element in the iterator. The member rem is
5931  * decreased by one. The member data points to the next
5932  * element. The member index is increased by sizeof(xcb_setup_failed_t)
5933  */
5934 
5935 /*****************************************************************************
5936  **
5937  ** void xcb_setup_failed_next
5938  **
5939  ** @param xcb_setup_failed_iterator_t *i
5940  ** @returns void
5941  **
5942  *****************************************************************************/
5943 
5944 void
5945 xcb_setup_failed_next (xcb_setup_failed_iterator_t *i  /**< */);
5946 
5947 /**
5948  * Return the iterator pointing to the last element
5949  * @param i An xcb_setup_failed_iterator_t
5950  * @return  The iterator pointing to the last element
5951  *
5952  * Set the current element in the iterator to the last element.
5953  * The member rem is set to 0. The member data points to the
5954  * last element.
5955  */
5956 
5957 /*****************************************************************************
5958  **
5959  ** xcb_generic_iterator_t xcb_setup_failed_end
5960  **
5961  ** @param xcb_setup_failed_iterator_t i
5962  ** @returns xcb_generic_iterator_t
5963  **
5964  *****************************************************************************/
5965 
5966 xcb_generic_iterator_t
5967 xcb_setup_failed_end (xcb_setup_failed_iterator_t i  /**< */);
5968 
5969 int
5970 xcb_setup_authenticate_sizeof (const void  *_buffer  /**< */);
5971 
5972 
5973 /*****************************************************************************
5974  **
5975  ** char * xcb_setup_authenticate_reason
5976  **
5977  ** @param const xcb_setup_authenticate_t *R
5978  ** @returns char *
5979  **
5980  *****************************************************************************/
5981 
5982 char *
5983 xcb_setup_authenticate_reason (const xcb_setup_authenticate_t *R  /**< */);
5984 
5985 
5986 /*****************************************************************************
5987  **
5988  ** int xcb_setup_authenticate_reason_length
5989  **
5990  ** @param const xcb_setup_authenticate_t *R
5991  ** @returns int
5992  **
5993  *****************************************************************************/
5994 
5995 int
5996 xcb_setup_authenticate_reason_length (const xcb_setup_authenticate_t *R  /**< */);
5997 
5998 
5999 /*****************************************************************************
6000  **
6001  ** xcb_generic_iterator_t xcb_setup_authenticate_reason_end
6002  **
6003  ** @param const xcb_setup_authenticate_t *R
6004  ** @returns xcb_generic_iterator_t
6005  **
6006  *****************************************************************************/
6007 
6008 xcb_generic_iterator_t
6009 xcb_setup_authenticate_reason_end (const xcb_setup_authenticate_t *R  /**< */);
6010 
6011 /**
6012  * Get the next element of the iterator
6013  * @param i Pointer to a xcb_setup_authenticate_iterator_t
6014  *
6015  * Get the next element in the iterator. The member rem is
6016  * decreased by one. The member data points to the next
6017  * element. The member index is increased by sizeof(xcb_setup_authenticate_t)
6018  */
6019 
6020 /*****************************************************************************
6021  **
6022  ** void xcb_setup_authenticate_next
6023  **
6024  ** @param xcb_setup_authenticate_iterator_t *i
6025  ** @returns void
6026  **
6027  *****************************************************************************/
6028 
6029 void
6030 xcb_setup_authenticate_next (xcb_setup_authenticate_iterator_t *i  /**< */);
6031 
6032 /**
6033  * Return the iterator pointing to the last element
6034  * @param i An xcb_setup_authenticate_iterator_t
6035  * @return  The iterator pointing to the last element
6036  *
6037  * Set the current element in the iterator to the last element.
6038  * The member rem is set to 0. The member data points to the
6039  * last element.
6040  */
6041 
6042 /*****************************************************************************
6043  **
6044  ** xcb_generic_iterator_t xcb_setup_authenticate_end
6045  **
6046  ** @param xcb_setup_authenticate_iterator_t i
6047  ** @returns xcb_generic_iterator_t
6048  **
6049  *****************************************************************************/
6050 
6051 xcb_generic_iterator_t
6052 xcb_setup_authenticate_end (xcb_setup_authenticate_iterator_t i  /**< */);
6053 
6054 int
6055 xcb_setup_sizeof (const void  *_buffer  /**< */);
6056 
6057 
6058 /*****************************************************************************
6059  **
6060  ** char * xcb_setup_vendor
6061  **
6062  ** @param const xcb_setup_t *R
6063  ** @returns char *
6064  **
6065  *****************************************************************************/
6066 
6067 char *
6068 xcb_setup_vendor (const xcb_setup_t *R  /**< */);
6069 
6070 
6071 /*****************************************************************************
6072  **
6073  ** int xcb_setup_vendor_length
6074  **
6075  ** @param const xcb_setup_t *R
6076  ** @returns int
6077  **
6078  *****************************************************************************/
6079 
6080 int
6081 xcb_setup_vendor_length (const xcb_setup_t *R  /**< */);
6082 
6083 
6084 /*****************************************************************************
6085  **
6086  ** xcb_generic_iterator_t xcb_setup_vendor_end
6087  **
6088  ** @param const xcb_setup_t *R
6089  ** @returns xcb_generic_iterator_t
6090  **
6091  *****************************************************************************/
6092 
6093 xcb_generic_iterator_t
6094 xcb_setup_vendor_end (const xcb_setup_t *R  /**< */);
6095 
6096 
6097 /*****************************************************************************
6098  **
6099  ** xcb_format_t * xcb_setup_pixmap_formats
6100  **
6101  ** @param const xcb_setup_t *R
6102  ** @returns xcb_format_t *
6103  **
6104  *****************************************************************************/
6105 
6106 xcb_format_t *
6107 xcb_setup_pixmap_formats (const xcb_setup_t *R  /**< */);
6108 
6109 
6110 /*****************************************************************************
6111  **
6112  ** int xcb_setup_pixmap_formats_length
6113  **
6114  ** @param const xcb_setup_t *R
6115  ** @returns int
6116  **
6117  *****************************************************************************/
6118 
6119 int
6120 xcb_setup_pixmap_formats_length (const xcb_setup_t *R  /**< */);
6121 
6122 
6123 /*****************************************************************************
6124  **
6125  ** xcb_format_iterator_t xcb_setup_pixmap_formats_iterator
6126  **
6127  ** @param const xcb_setup_t *R
6128  ** @returns xcb_format_iterator_t
6129  **
6130  *****************************************************************************/
6131 
6132 xcb_format_iterator_t
6133 xcb_setup_pixmap_formats_iterator (const xcb_setup_t *R  /**< */);
6134 
6135 
6136 /*****************************************************************************
6137  **
6138  ** int xcb_setup_roots_length
6139  **
6140  ** @param const xcb_setup_t *R
6141  ** @returns int
6142  **
6143  *****************************************************************************/
6144 
6145 int
6146 xcb_setup_roots_length (const xcb_setup_t *R  /**< */);
6147 
6148 
6149 /*****************************************************************************
6150  **
6151  ** xcb_screen_iterator_t xcb_setup_roots_iterator
6152  **
6153  ** @param const xcb_setup_t *R
6154  ** @returns xcb_screen_iterator_t
6155  **
6156  *****************************************************************************/
6157 
6158 xcb_screen_iterator_t
6159 xcb_setup_roots_iterator (const xcb_setup_t *R  /**< */);
6160 
6161 /**
6162  * Get the next element of the iterator
6163  * @param i Pointer to a xcb_setup_iterator_t
6164  *
6165  * Get the next element in the iterator. The member rem is
6166  * decreased by one. The member data points to the next
6167  * element. The member index is increased by sizeof(xcb_setup_t)
6168  */
6169 
6170 /*****************************************************************************
6171  **
6172  ** void xcb_setup_next
6173  **
6174  ** @param xcb_setup_iterator_t *i
6175  ** @returns void
6176  **
6177  *****************************************************************************/
6178 
6179 void
6180 xcb_setup_next (xcb_setup_iterator_t *i  /**< */);
6181 
6182 /**
6183  * Return the iterator pointing to the last element
6184  * @param i An xcb_setup_iterator_t
6185  * @return  The iterator pointing to the last element
6186  *
6187  * Set the current element in the iterator to the last element.
6188  * The member rem is set to 0. The member data points to the
6189  * last element.
6190  */
6191 
6192 /*****************************************************************************
6193  **
6194  ** xcb_generic_iterator_t xcb_setup_end
6195  **
6196  ** @param xcb_setup_iterator_t i
6197  ** @returns xcb_generic_iterator_t
6198  **
6199  *****************************************************************************/
6200 
6201 xcb_generic_iterator_t
6202 xcb_setup_end (xcb_setup_iterator_t i  /**< */);
6203 
6204 /**
6205  * Get the next element of the iterator
6206  * @param i Pointer to a xcb_client_message_data_iterator_t
6207  *
6208  * Get the next element in the iterator. The member rem is
6209  * decreased by one. The member data points to the next
6210  * element. The member index is increased by sizeof(xcb_client_message_data_t)
6211  */
6212 
6213 /*****************************************************************************
6214  **
6215  ** void xcb_client_message_data_next
6216  **
6217  ** @param xcb_client_message_data_iterator_t *i
6218  ** @returns void
6219  **
6220  *****************************************************************************/
6221 
6222 void
6223 xcb_client_message_data_next (xcb_client_message_data_iterator_t *i  /**< */);
6224 
6225 /**
6226  * Return the iterator pointing to the last element
6227  * @param i An xcb_client_message_data_iterator_t
6228  * @return  The iterator pointing to the last element
6229  *
6230  * Set the current element in the iterator to the last element.
6231  * The member rem is set to 0. The member data points to the
6232  * last element.
6233  */
6234 
6235 /*****************************************************************************
6236  **
6237  ** xcb_generic_iterator_t xcb_client_message_data_end
6238  **
6239  ** @param xcb_client_message_data_iterator_t i
6240  ** @returns xcb_generic_iterator_t
6241  **
6242  *****************************************************************************/
6243 
6244 xcb_generic_iterator_t
6245 xcb_client_message_data_end (xcb_client_message_data_iterator_t i  /**< */);
6246 
6247 int
6248 xcb_create_window_sizeof (const void  *_buffer  /**< */);
6249 
6250 /**
6251  * @brief Creates a window
6252  *
6253  * @param c The connection
6254  * @param depth Specifies the new window's depth (TODO: what unit?).
6255  * \n
6256  * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
6257  * \a parent window.
6258  * @param wid The ID with which you will refer to the new window, created by
6259  * `xcb_generate_id`.
6260  * @param parent The parent window of the new window.
6261  * @param x The X coordinate of the new window.
6262  * @param y The Y coordinate of the new window.
6263  * @param width The width of the new window.
6264  * @param height The height of the new window.
6265  * @param border_width TODO:
6266  * \n
6267  * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
6268  * @param _class A bitmask of #xcb_window_class_t values.
6269  * @param _class \n
6270  * @param visual Specifies the id for the new window's visual.
6271  * \n
6272  * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
6273  * \a parent window.
6274  * @param value_mask A bitmask of #xcb_cw_t values.
6275  * @return A cookie
6276  *
6277  * Creates an unmapped window as child of the specified \a parent window. A
6278  * CreateNotify event will be generated. The new window is placed on top in the
6279  * stacking order with respect to siblings.
6280  *
6281  * The coordinate system has the X axis horizontal and the Y axis vertical with
6282  * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
6283  * of pixels, and coincide with pixel centers. Each window and pixmap has its own
6284  * coordinate system. For a window, the origin is inside the border at the inside,
6285  * upper-left corner.
6286  *
6287  * The created window is not yet displayed (mapped), call `xcb_map_window` to
6288  * display it.
6289  *
6290  * The created window will initially use the same cursor as its parent.
6291  *
6292  * This form can be used only if the request will not cause
6293  * a reply to be generated. Any returned error will be
6294  * saved for handling by xcb_request_check().
6295  */
6296 
6297 /*****************************************************************************
6298  **
6299  ** xcb_void_cookie_t xcb_create_window_checked
6300  **
6301  ** @param xcb_connection_t *c
6302  ** @param uint8_t           depth
6303  ** @param xcb_window_t      wid
6304  ** @param xcb_window_t      parent
6305  ** @param int16_t           x
6306  ** @param int16_t           y
6307  ** @param uint16_t          width
6308  ** @param uint16_t          height
6309  ** @param uint16_t          border_width
6310  ** @param uint16_t          _class
6311  ** @param xcb_visualid_t    visual
6312  ** @param uint32_t          value_mask
6313  ** @param const uint32_t   *value_list
6314  ** @returns xcb_void_cookie_t
6315  **
6316  *****************************************************************************/
6317 
6318 xcb_void_cookie_t
6319 xcb_create_window_checked (xcb_connection_t *c  /**< */,
6320                            uint8_t           depth  /**< */,
6321                            xcb_window_t      wid  /**< */,
6322                            xcb_window_t      parent  /**< */,
6323                            int16_t           x  /**< */,
6324                            int16_t           y  /**< */,
6325                            uint16_t          width  /**< */,
6326                            uint16_t          height  /**< */,
6327                            uint16_t          border_width  /**< */,
6328                            uint16_t          _class  /**< */,
6329                            xcb_visualid_t    visual  /**< */,
6330                            uint32_t          value_mask  /**< */,
6331                            const uint32_t   *value_list  /**< */);
6332 
6333 /**
6334  * @brief Creates a window
6335  *
6336  * @param c The connection
6337  * @param depth Specifies the new window's depth (TODO: what unit?).
6338  * \n
6339  * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
6340  * \a parent window.
6341  * @param wid The ID with which you will refer to the new window, created by
6342  * `xcb_generate_id`.
6343  * @param parent The parent window of the new window.
6344  * @param x The X coordinate of the new window.
6345  * @param y The Y coordinate of the new window.
6346  * @param width The width of the new window.
6347  * @param height The height of the new window.
6348  * @param border_width TODO:
6349  * \n
6350  * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
6351  * @param _class A bitmask of #xcb_window_class_t values.
6352  * @param _class \n
6353  * @param visual Specifies the id for the new window's visual.
6354  * \n
6355  * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
6356  * \a parent window.
6357  * @param value_mask A bitmask of #xcb_cw_t values.
6358  * @return A cookie
6359  *
6360  * Creates an unmapped window as child of the specified \a parent window. A
6361  * CreateNotify event will be generated. The new window is placed on top in the
6362  * stacking order with respect to siblings.
6363  *
6364  * The coordinate system has the X axis horizontal and the Y axis vertical with
6365  * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
6366  * of pixels, and coincide with pixel centers. Each window and pixmap has its own
6367  * coordinate system. For a window, the origin is inside the border at the inside,
6368  * upper-left corner.
6369  *
6370  * The created window is not yet displayed (mapped), call `xcb_map_window` to
6371  * display it.
6372  *
6373  * The created window will initially use the same cursor as its parent.
6374  *
6375  */
6376 
6377 /*****************************************************************************
6378  **
6379  ** xcb_void_cookie_t xcb_create_window
6380  **
6381  ** @param xcb_connection_t *c
6382  ** @param uint8_t           depth
6383  ** @param xcb_window_t      wid
6384  ** @param xcb_window_t      parent
6385  ** @param int16_t           x
6386  ** @param int16_t           y
6387  ** @param uint16_t          width
6388  ** @param uint16_t          height
6389  ** @param uint16_t          border_width
6390  ** @param uint16_t          _class
6391  ** @param xcb_visualid_t    visual
6392  ** @param uint32_t          value_mask
6393  ** @param const uint32_t   *value_list
6394  ** @returns xcb_void_cookie_t
6395  **
6396  *****************************************************************************/
6397 
6398 xcb_void_cookie_t
6399 xcb_create_window (xcb_connection_t *c  /**< */,
6400                    uint8_t           depth  /**< */,
6401                    xcb_window_t      wid  /**< */,
6402                    xcb_window_t      parent  /**< */,
6403                    int16_t           x  /**< */,
6404                    int16_t           y  /**< */,
6405                    uint16_t          width  /**< */,
6406                    uint16_t          height  /**< */,
6407                    uint16_t          border_width  /**< */,
6408                    uint16_t          _class  /**< */,
6409                    xcb_visualid_t    visual  /**< */,
6410                    uint32_t          value_mask  /**< */,
6411                    const uint32_t   *value_list  /**< */);
6412 
6413 int
6414 xcb_change_window_attributes_sizeof (const void  *_buffer  /**< */);
6415 
6416 /**
6417  * @brief change window attributes
6418  *
6419  * @param c The connection
6420  * @param window The window to change.
6421  * @param value_mask A bitmask of #xcb_cw_t values.
6422  * @param value_mask \n
6423  * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
6424  * order has to correspond to the order of possible \a value_mask bits. See the
6425  * example.
6426  * @return A cookie
6427  *
6428  * Changes the attributes specified by \a value_mask for the specified \a window.
6429  *
6430  * This form can be used only if the request will not cause
6431  * a reply to be generated. Any returned error will be
6432  * saved for handling by xcb_request_check().
6433  */
6434 
6435 /*****************************************************************************
6436  **
6437  ** xcb_void_cookie_t xcb_change_window_attributes_checked
6438  **
6439  ** @param xcb_connection_t *c
6440  ** @param xcb_window_t      window
6441  ** @param uint32_t          value_mask
6442  ** @param const uint32_t   *value_list
6443  ** @returns xcb_void_cookie_t
6444  **
6445  *****************************************************************************/
6446 
6447 xcb_void_cookie_t
6448 xcb_change_window_attributes_checked (xcb_connection_t *c  /**< */,
6449                                       xcb_window_t      window  /**< */,
6450                                       uint32_t          value_mask  /**< */,
6451                                       const uint32_t   *value_list  /**< */);
6452 
6453 /**
6454  * @brief change window attributes
6455  *
6456  * @param c The connection
6457  * @param window The window to change.
6458  * @param value_mask A bitmask of #xcb_cw_t values.
6459  * @param value_mask \n
6460  * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
6461  * order has to correspond to the order of possible \a value_mask bits. See the
6462  * example.
6463  * @return A cookie
6464  *
6465  * Changes the attributes specified by \a value_mask for the specified \a window.
6466  *
6467  */
6468 
6469 /*****************************************************************************
6470  **
6471  ** xcb_void_cookie_t xcb_change_window_attributes
6472  **
6473  ** @param xcb_connection_t *c
6474  ** @param xcb_window_t      window
6475  ** @param uint32_t          value_mask
6476  ** @param const uint32_t   *value_list
6477  ** @returns xcb_void_cookie_t
6478  **
6479  *****************************************************************************/
6480 
6481 xcb_void_cookie_t
6482 xcb_change_window_attributes (xcb_connection_t *c  /**< */,
6483                               xcb_window_t      window  /**< */,
6484                               uint32_t          value_mask  /**< */,
6485                               const uint32_t   *value_list  /**< */);
6486 
6487 /**
6488  * @brief Gets window attributes
6489  *
6490  * @param c The connection
6491  * @param window The window to get the attributes from.
6492  * @return A cookie
6493  *
6494  * Gets the current attributes for the specified \a window.
6495  *
6496  */
6497 
6498 /*****************************************************************************
6499  **
6500  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes
6501  **
6502  ** @param xcb_connection_t *c
6503  ** @param xcb_window_t      window
6504  ** @returns xcb_get_window_attributes_cookie_t
6505  **
6506  *****************************************************************************/
6507 
6508 xcb_get_window_attributes_cookie_t
6509 xcb_get_window_attributes (xcb_connection_t *c  /**< */,
6510                            xcb_window_t      window  /**< */);
6511 
6512 /**
6513  * @brief Gets window attributes
6514  *
6515  * @param c The connection
6516  * @param window The window to get the attributes from.
6517  * @return A cookie
6518  *
6519  * Gets the current attributes for the specified \a window.
6520  *
6521  * This form can be used only if the request will cause
6522  * a reply to be generated. Any returned error will be
6523  * placed in the event queue.
6524  */
6525 
6526 /*****************************************************************************
6527  **
6528  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes_unchecked
6529  **
6530  ** @param xcb_connection_t *c
6531  ** @param xcb_window_t      window
6532  ** @returns xcb_get_window_attributes_cookie_t
6533  **
6534  *****************************************************************************/
6535 
6536 xcb_get_window_attributes_cookie_t
6537 xcb_get_window_attributes_unchecked (xcb_connection_t *c  /**< */,
6538                                      xcb_window_t      window  /**< */);
6539 
6540 /**
6541  * Return the reply
6542  * @param c      The connection
6543  * @param cookie The cookie
6544  * @param e      The xcb_generic_error_t supplied
6545  *
6546  * Returns the reply of the request asked by
6547  *
6548  * The parameter @p e supplied to this function must be NULL if
6549  * xcb_get_window_attributes_unchecked(). is used.
6550  * Otherwise, it stores the error if any.
6551  *
6552  * The returned value must be freed by the caller using free().
6553  */
6554 
6555 /*****************************************************************************
6556  **
6557  ** xcb_get_window_attributes_reply_t * xcb_get_window_attributes_reply
6558  **
6559  ** @param xcb_connection_t                    *c
6560  ** @param xcb_get_window_attributes_cookie_t   cookie
6561  ** @param xcb_generic_error_t                **e
6562  ** @returns xcb_get_window_attributes_reply_t *
6563  **
6564  *****************************************************************************/
6565 
6566 xcb_get_window_attributes_reply_t *
6567 xcb_get_window_attributes_reply (xcb_connection_t                    *c  /**< */,
6568                                  xcb_get_window_attributes_cookie_t   cookie  /**< */,
6569                                  xcb_generic_error_t                **e  /**< */);
6570 
6571 /**
6572  * @brief Destroys a window
6573  *
6574  * @param c The connection
6575  * @param window The window to destroy.
6576  * @return A cookie
6577  *
6578  * Destroys the specified window and all of its subwindows. A DestroyNotify event
6579  * is generated for each destroyed window (a DestroyNotify event is first generated
6580  * for any given window's inferiors). If the window was mapped, it will be
6581  * automatically unmapped before destroying.
6582  *
6583  * Calling DestroyWindow on the root window will do nothing.
6584  *
6585  * This form can be used only if the request will not cause
6586  * a reply to be generated. Any returned error will be
6587  * saved for handling by xcb_request_check().
6588  */
6589 
6590 /*****************************************************************************
6591  **
6592  ** xcb_void_cookie_t xcb_destroy_window_checked
6593  **
6594  ** @param xcb_connection_t *c
6595  ** @param xcb_window_t      window
6596  ** @returns xcb_void_cookie_t
6597  **
6598  *****************************************************************************/
6599 
6600 xcb_void_cookie_t
6601 xcb_destroy_window_checked (xcb_connection_t *c  /**< */,
6602                             xcb_window_t      window  /**< */);
6603 
6604 /**
6605  * @brief Destroys a window
6606  *
6607  * @param c The connection
6608  * @param window The window to destroy.
6609  * @return A cookie
6610  *
6611  * Destroys the specified window and all of its subwindows. A DestroyNotify event
6612  * is generated for each destroyed window (a DestroyNotify event is first generated
6613  * for any given window's inferiors). If the window was mapped, it will be
6614  * automatically unmapped before destroying.
6615  *
6616  * Calling DestroyWindow on the root window will do nothing.
6617  *
6618  */
6619 
6620 /*****************************************************************************
6621  **
6622  ** xcb_void_cookie_t xcb_destroy_window
6623  **
6624  ** @param xcb_connection_t *c
6625  ** @param xcb_window_t      window
6626  ** @returns xcb_void_cookie_t
6627  **
6628  *****************************************************************************/
6629 
6630 xcb_void_cookie_t
6631 xcb_destroy_window (xcb_connection_t *c  /**< */,
6632                     xcb_window_t      window  /**< */);
6633 
6634 /**
6635  *
6636  * @param c The connection
6637  * @return A cookie
6638  *
6639  * Delivers a request to the X server.
6640  *
6641  * This form can be used only if the request will not cause
6642  * a reply to be generated. Any returned error will be
6643  * saved for handling by xcb_request_check().
6644  */
6645 
6646 /*****************************************************************************
6647  **
6648  ** xcb_void_cookie_t xcb_destroy_subwindows_checked
6649  **
6650  ** @param xcb_connection_t *c
6651  ** @param xcb_window_t      window
6652  ** @returns xcb_void_cookie_t
6653  **
6654  *****************************************************************************/
6655 
6656 xcb_void_cookie_t
6657 xcb_destroy_subwindows_checked (xcb_connection_t *c  /**< */,
6658                                 xcb_window_t      window  /**< */);
6659 
6660 /**
6661  *
6662  * @param c The connection
6663  * @return A cookie
6664  *
6665  * Delivers a request to the X server.
6666  *
6667  */
6668 
6669 /*****************************************************************************
6670  **
6671  ** xcb_void_cookie_t xcb_destroy_subwindows
6672  **
6673  ** @param xcb_connection_t *c
6674  ** @param xcb_window_t      window
6675  ** @returns xcb_void_cookie_t
6676  **
6677  *****************************************************************************/
6678 
6679 xcb_void_cookie_t
6680 xcb_destroy_subwindows (xcb_connection_t *c  /**< */,
6681                         xcb_window_t      window  /**< */);
6682 
6683 /**
6684  * @brief Changes a client's save set
6685  *
6686  * @param c The connection
6687  * @param mode A bitmask of #xcb_set_mode_t values.
6688  * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
6689  * @param window The window to add or delete to/from your save set.
6690  * @return A cookie
6691  *
6692  * TODO: explain what the save set is for.
6693  *
6694  * This function either adds or removes the specified window to the client's (your
6695  * application's) save set.
6696  *
6697  * This form can be used only if the request will not cause
6698  * a reply to be generated. Any returned error will be
6699  * saved for handling by xcb_request_check().
6700  */
6701 
6702 /*****************************************************************************
6703  **
6704  ** xcb_void_cookie_t xcb_change_save_set_checked
6705  **
6706  ** @param xcb_connection_t *c
6707  ** @param uint8_t           mode
6708  ** @param xcb_window_t      window
6709  ** @returns xcb_void_cookie_t
6710  **
6711  *****************************************************************************/
6712 
6713 xcb_void_cookie_t
6714 xcb_change_save_set_checked (xcb_connection_t *c  /**< */,
6715                              uint8_t           mode  /**< */,
6716                              xcb_window_t      window  /**< */);
6717 
6718 /**
6719  * @brief Changes a client's save set
6720  *
6721  * @param c The connection
6722  * @param mode A bitmask of #xcb_set_mode_t values.
6723  * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
6724  * @param window The window to add or delete to/from your save set.
6725  * @return A cookie
6726  *
6727  * TODO: explain what the save set is for.
6728  *
6729  * This function either adds or removes the specified window to the client's (your
6730  * application's) save set.
6731  *
6732  */
6733 
6734 /*****************************************************************************
6735  **
6736  ** xcb_void_cookie_t xcb_change_save_set
6737  **
6738  ** @param xcb_connection_t *c
6739  ** @param uint8_t           mode
6740  ** @param xcb_window_t      window
6741  ** @returns xcb_void_cookie_t
6742  **
6743  *****************************************************************************/
6744 
6745 xcb_void_cookie_t
6746 xcb_change_save_set (xcb_connection_t *c  /**< */,
6747                      uint8_t           mode  /**< */,
6748                      xcb_window_t      window  /**< */);
6749 
6750 /**
6751  * @brief Reparents a window
6752  *
6753  * @param c The connection
6754  * @param window The window to reparent.
6755  * @param parent The new parent of the window.
6756  * @param x The X position of the window within its new parent.
6757  * @param y The Y position of the window within its new parent.
6758  * @return A cookie
6759  *
6760  * Makes the specified window a child of the specified parent window. If the
6761  * window is mapped, it will automatically be unmapped before reparenting and
6762  * re-mapped after reparenting. The window is placed in the stacking order on top
6763  * with respect to sibling windows.
6764  *
6765  * After reparenting, a ReparentNotify event is generated.
6766  *
6767  * This form can be used only if the request will not cause
6768  * a reply to be generated. Any returned error will be
6769  * saved for handling by xcb_request_check().
6770  */
6771 
6772 /*****************************************************************************
6773  **
6774  ** xcb_void_cookie_t xcb_reparent_window_checked
6775  **
6776  ** @param xcb_connection_t *c
6777  ** @param xcb_window_t      window
6778  ** @param xcb_window_t      parent
6779  ** @param int16_t           x
6780  ** @param int16_t           y
6781  ** @returns xcb_void_cookie_t
6782  **
6783  *****************************************************************************/
6784 
6785 xcb_void_cookie_t
6786 xcb_reparent_window_checked (xcb_connection_t *c  /**< */,
6787                              xcb_window_t      window  /**< */,
6788                              xcb_window_t      parent  /**< */,
6789                              int16_t           x  /**< */,
6790                              int16_t           y  /**< */);
6791 
6792 /**
6793  * @brief Reparents a window
6794  *
6795  * @param c The connection
6796  * @param window The window to reparent.
6797  * @param parent The new parent of the window.
6798  * @param x The X position of the window within its new parent.
6799  * @param y The Y position of the window within its new parent.
6800  * @return A cookie
6801  *
6802  * Makes the specified window a child of the specified parent window. If the
6803  * window is mapped, it will automatically be unmapped before reparenting and
6804  * re-mapped after reparenting. The window is placed in the stacking order on top
6805  * with respect to sibling windows.
6806  *
6807  * After reparenting, a ReparentNotify event is generated.
6808  *
6809  */
6810 
6811 /*****************************************************************************
6812  **
6813  ** xcb_void_cookie_t xcb_reparent_window
6814  **
6815  ** @param xcb_connection_t *c
6816  ** @param xcb_window_t      window
6817  ** @param xcb_window_t      parent
6818  ** @param int16_t           x
6819  ** @param int16_t           y
6820  ** @returns xcb_void_cookie_t
6821  **
6822  *****************************************************************************/
6823 
6824 xcb_void_cookie_t
6825 xcb_reparent_window (xcb_connection_t *c  /**< */,
6826                      xcb_window_t      window  /**< */,
6827                      xcb_window_t      parent  /**< */,
6828                      int16_t           x  /**< */,
6829                      int16_t           y  /**< */);
6830 
6831 /**
6832  * @brief Makes a window visible
6833  *
6834  * @param c The connection
6835  * @param window The window to make visible.
6836  * @return A cookie
6837  *
6838  * Maps the specified window. This means making the window visible (as long as its
6839  * parent is visible).
6840  *
6841  * This MapWindow request will be translated to a MapRequest request if a window
6842  * manager is running. The window manager then decides to either map the window or
6843  * not. Set the override-redirect window attribute to true if you want to bypass
6844  * this mechanism.
6845  *
6846  * If the window manager decides to map the window (or if no window manager is
6847  * running), a MapNotify event is generated.
6848  *
6849  * If the window becomes viewable and no earlier contents for it are remembered,
6850  * the X server tiles the window with its background. If the window's background
6851  * is undefined, the existing screen contents are not altered, and the X server
6852  * generates zero or more Expose events.
6853  *
6854  * If the window type is InputOutput, an Expose event will be generated when the
6855  * window becomes visible. The normal response to an Expose event should be to
6856  * repaint the window.
6857  *
6858  * This form can be used only if the request will not cause
6859  * a reply to be generated. Any returned error will be
6860  * saved for handling by xcb_request_check().
6861  */
6862 
6863 /*****************************************************************************
6864  **
6865  ** xcb_void_cookie_t xcb_map_window_checked
6866  **
6867  ** @param xcb_connection_t *c
6868  ** @param xcb_window_t      window
6869  ** @returns xcb_void_cookie_t
6870  **
6871  *****************************************************************************/
6872 
6873 xcb_void_cookie_t
6874 xcb_map_window_checked (xcb_connection_t *c  /**< */,
6875                         xcb_window_t      window  /**< */);
6876 
6877 /**
6878  * @brief Makes a window visible
6879  *
6880  * @param c The connection
6881  * @param window The window to make visible.
6882  * @return A cookie
6883  *
6884  * Maps the specified window. This means making the window visible (as long as its
6885  * parent is visible).
6886  *
6887  * This MapWindow request will be translated to a MapRequest request if a window
6888  * manager is running. The window manager then decides to either map the window or
6889  * not. Set the override-redirect window attribute to true if you want to bypass
6890  * this mechanism.
6891  *
6892  * If the window manager decides to map the window (or if no window manager is
6893  * running), a MapNotify event is generated.
6894  *
6895  * If the window becomes viewable and no earlier contents for it are remembered,
6896  * the X server tiles the window with its background. If the window's background
6897  * is undefined, the existing screen contents are not altered, and the X server
6898  * generates zero or more Expose events.
6899  *
6900  * If the window type is InputOutput, an Expose event will be generated when the
6901  * window becomes visible. The normal response to an Expose event should be to
6902  * repaint the window.
6903  *
6904  */
6905 
6906 /*****************************************************************************
6907  **
6908  ** xcb_void_cookie_t xcb_map_window
6909  **
6910  ** @param xcb_connection_t *c
6911  ** @param xcb_window_t      window
6912  ** @returns xcb_void_cookie_t
6913  **
6914  *****************************************************************************/
6915 
6916 xcb_void_cookie_t
6917 xcb_map_window (xcb_connection_t *c  /**< */,
6918                 xcb_window_t      window  /**< */);
6919 
6920 /**
6921  *
6922  * @param c The connection
6923  * @return A cookie
6924  *
6925  * Delivers a request to the X server.
6926  *
6927  * This form can be used only if the request will not cause
6928  * a reply to be generated. Any returned error will be
6929  * saved for handling by xcb_request_check().
6930  */
6931 
6932 /*****************************************************************************
6933  **
6934  ** xcb_void_cookie_t xcb_map_subwindows_checked
6935  **
6936  ** @param xcb_connection_t *c
6937  ** @param xcb_window_t      window
6938  ** @returns xcb_void_cookie_t
6939  **
6940  *****************************************************************************/
6941 
6942 xcb_void_cookie_t
6943 xcb_map_subwindows_checked (xcb_connection_t *c  /**< */,
6944                             xcb_window_t      window  /**< */);
6945 
6946 /**
6947  *
6948  * @param c The connection
6949  * @return A cookie
6950  *
6951  * Delivers a request to the X server.
6952  *
6953  */
6954 
6955 /*****************************************************************************
6956  **
6957  ** xcb_void_cookie_t xcb_map_subwindows
6958  **
6959  ** @param xcb_connection_t *c
6960  ** @param xcb_window_t      window
6961  ** @returns xcb_void_cookie_t
6962  **
6963  *****************************************************************************/
6964 
6965 xcb_void_cookie_t
6966 xcb_map_subwindows (xcb_connection_t *c  /**< */,
6967                     xcb_window_t      window  /**< */);
6968 
6969 /**
6970  * @brief Makes a window invisible
6971  *
6972  * @param c The connection
6973  * @param window The window to make invisible.
6974  * @return A cookie
6975  *
6976  * Unmaps the specified window. This means making the window invisible (and all
6977  * its child windows).
6978  *
6979  * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
6980  * `Expose` events are generated for formerly obscured windows.
6981  *
6982  * This form can be used only if the request will not cause
6983  * a reply to be generated. Any returned error will be
6984  * saved for handling by xcb_request_check().
6985  */
6986 
6987 /*****************************************************************************
6988  **
6989  ** xcb_void_cookie_t xcb_unmap_window_checked
6990  **
6991  ** @param xcb_connection_t *c
6992  ** @param xcb_window_t      window
6993  ** @returns xcb_void_cookie_t
6994  **
6995  *****************************************************************************/
6996 
6997 xcb_void_cookie_t
6998 xcb_unmap_window_checked (xcb_connection_t *c  /**< */,
6999                           xcb_window_t      window  /**< */);
7000 
7001 /**
7002  * @brief Makes a window invisible
7003  *
7004  * @param c The connection
7005  * @param window The window to make invisible.
7006  * @return A cookie
7007  *
7008  * Unmaps the specified window. This means making the window invisible (and all
7009  * its child windows).
7010  *
7011  * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
7012  * `Expose` events are generated for formerly obscured windows.
7013  *
7014  */
7015 
7016 /*****************************************************************************
7017  **
7018  ** xcb_void_cookie_t xcb_unmap_window
7019  **
7020  ** @param xcb_connection_t *c
7021  ** @param xcb_window_t      window
7022  ** @returns xcb_void_cookie_t
7023  **
7024  *****************************************************************************/
7025 
7026 xcb_void_cookie_t
7027 xcb_unmap_window (xcb_connection_t *c  /**< */,
7028                   xcb_window_t      window  /**< */);
7029 
7030 /**
7031  *
7032  * @param c The connection
7033  * @return A cookie
7034  *
7035  * Delivers a request to the X server.
7036  *
7037  * This form can be used only if the request will not cause
7038  * a reply to be generated. Any returned error will be
7039  * saved for handling by xcb_request_check().
7040  */
7041 
7042 /*****************************************************************************
7043  **
7044  ** xcb_void_cookie_t xcb_unmap_subwindows_checked
7045  **
7046  ** @param xcb_connection_t *c
7047  ** @param xcb_window_t      window
7048  ** @returns xcb_void_cookie_t
7049  **
7050  *****************************************************************************/
7051 
7052 xcb_void_cookie_t
7053 xcb_unmap_subwindows_checked (xcb_connection_t *c  /**< */,
7054                               xcb_window_t      window  /**< */);
7055 
7056 /**
7057  *
7058  * @param c The connection
7059  * @return A cookie
7060  *
7061  * Delivers a request to the X server.
7062  *
7063  */
7064 
7065 /*****************************************************************************
7066  **
7067  ** xcb_void_cookie_t xcb_unmap_subwindows
7068  **
7069  ** @param xcb_connection_t *c
7070  ** @param xcb_window_t      window
7071  ** @returns xcb_void_cookie_t
7072  **
7073  *****************************************************************************/
7074 
7075 xcb_void_cookie_t
7076 xcb_unmap_subwindows (xcb_connection_t *c  /**< */,
7077                       xcb_window_t      window  /**< */);
7078 
7079 int
7080 xcb_configure_window_sizeof (const void  *_buffer  /**< */);
7081 
7082 /**
7083  * @brief Configures window attributes
7084  *
7085  * @param c The connection
7086  * @param window The window to configure.
7087  * @param value_mask Bitmask of attributes to change.
7088  * @param value_list New values, corresponding to the attributes in value_mask. The order has to
7089  * correspond to the order of possible \a value_mask bits. See the example.
7090  * @return A cookie
7091  *
7092  * Configures a window's size, position, border width and stacking order.
7093  *
7094  * This form can be used only if the request will not cause
7095  * a reply to be generated. Any returned error will be
7096  * saved for handling by xcb_request_check().
7097  */
7098 
7099 /*****************************************************************************
7100  **
7101  ** xcb_void_cookie_t xcb_configure_window_checked
7102  **
7103  ** @param xcb_connection_t *c
7104  ** @param xcb_window_t      window
7105  ** @param uint16_t          value_mask
7106  ** @param const uint32_t   *value_list
7107  ** @returns xcb_void_cookie_t
7108  **
7109  *****************************************************************************/
7110 
7111 xcb_void_cookie_t
7112 xcb_configure_window_checked (xcb_connection_t *c  /**< */,
7113                               xcb_window_t      window  /**< */,
7114                               uint16_t          value_mask  /**< */,
7115                               const uint32_t   *value_list  /**< */);
7116 
7117 /**
7118  * @brief Configures window attributes
7119  *
7120  * @param c The connection
7121  * @param window The window to configure.
7122  * @param value_mask Bitmask of attributes to change.
7123  * @param value_list New values, corresponding to the attributes in value_mask. The order has to
7124  * correspond to the order of possible \a value_mask bits. See the example.
7125  * @return A cookie
7126  *
7127  * Configures a window's size, position, border width and stacking order.
7128  *
7129  */
7130 
7131 /*****************************************************************************
7132  **
7133  ** xcb_void_cookie_t xcb_configure_window
7134  **
7135  ** @param xcb_connection_t *c
7136  ** @param xcb_window_t      window
7137  ** @param uint16_t          value_mask
7138  ** @param const uint32_t   *value_list
7139  ** @returns xcb_void_cookie_t
7140  **
7141  *****************************************************************************/
7142 
7143 xcb_void_cookie_t
7144 xcb_configure_window (xcb_connection_t *c  /**< */,
7145                       xcb_window_t      window  /**< */,
7146                       uint16_t          value_mask  /**< */,
7147                       const uint32_t   *value_list  /**< */);
7148 
7149 /**
7150  * @brief Change window stacking order
7151  *
7152  * @param c The connection
7153  * @param direction A bitmask of #xcb_circulate_t values.
7154  * @param direction \n
7155  * @param window The window to raise/lower (depending on \a direction).
7156  * @return A cookie
7157  *
7158  * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
7159  * any) will be raised to the top of the stack.
7160  *
7161  * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
7162  * be lowered to the bottom of the stack.
7163  *
7164  * This form can be used only if the request will not cause
7165  * a reply to be generated. Any returned error will be
7166  * saved for handling by xcb_request_check().
7167  */
7168 
7169 /*****************************************************************************
7170  **
7171  ** xcb_void_cookie_t xcb_circulate_window_checked
7172  **
7173  ** @param xcb_connection_t *c
7174  ** @param uint8_t           direction
7175  ** @param xcb_window_t      window
7176  ** @returns xcb_void_cookie_t
7177  **
7178  *****************************************************************************/
7179 
7180 xcb_void_cookie_t
7181 xcb_circulate_window_checked (xcb_connection_t *c  /**< */,
7182                               uint8_t           direction  /**< */,
7183                               xcb_window_t      window  /**< */);
7184 
7185 /**
7186  * @brief Change window stacking order
7187  *
7188  * @param c The connection
7189  * @param direction A bitmask of #xcb_circulate_t values.
7190  * @param direction \n
7191  * @param window The window to raise/lower (depending on \a direction).
7192  * @return A cookie
7193  *
7194  * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
7195  * any) will be raised to the top of the stack.
7196  *
7197  * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
7198  * be lowered to the bottom of the stack.
7199  *
7200  */
7201 
7202 /*****************************************************************************
7203  **
7204  ** xcb_void_cookie_t xcb_circulate_window
7205  **
7206  ** @param xcb_connection_t *c
7207  ** @param uint8_t           direction
7208  ** @param xcb_window_t      window
7209  ** @returns xcb_void_cookie_t
7210  **
7211  *****************************************************************************/
7212 
7213 xcb_void_cookie_t
7214 xcb_circulate_window (xcb_connection_t *c  /**< */,
7215                       uint8_t           direction  /**< */,
7216                       xcb_window_t      window  /**< */);
7217 
7218 /**
7219  * @brief Get current window geometry
7220  *
7221  * @param c The connection
7222  * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
7223  * @return A cookie
7224  *
7225  * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
7226  *
7227  */
7228 
7229 /*****************************************************************************
7230  **
7231  ** xcb_get_geometry_cookie_t xcb_get_geometry
7232  **
7233  ** @param xcb_connection_t *c
7234  ** @param xcb_drawable_t    drawable
7235  ** @returns xcb_get_geometry_cookie_t
7236  **
7237  *****************************************************************************/
7238 
7239 xcb_get_geometry_cookie_t
7240 xcb_get_geometry (xcb_connection_t *c  /**< */,
7241                   xcb_drawable_t    drawable  /**< */);
7242 
7243 /**
7244  * @brief Get current window geometry
7245  *
7246  * @param c The connection
7247  * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
7248  * @return A cookie
7249  *
7250  * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
7251  *
7252  * This form can be used only if the request will cause
7253  * a reply to be generated. Any returned error will be
7254  * placed in the event queue.
7255  */
7256 
7257 /*****************************************************************************
7258  **
7259  ** xcb_get_geometry_cookie_t xcb_get_geometry_unchecked
7260  **
7261  ** @param xcb_connection_t *c
7262  ** @param xcb_drawable_t    drawable
7263  ** @returns xcb_get_geometry_cookie_t
7264  **
7265  *****************************************************************************/
7266 
7267 xcb_get_geometry_cookie_t
7268 xcb_get_geometry_unchecked (xcb_connection_t *c  /**< */,
7269                             xcb_drawable_t    drawable  /**< */);
7270 
7271 /**
7272  * Return the reply
7273  * @param c      The connection
7274  * @param cookie The cookie
7275  * @param e      The xcb_generic_error_t supplied
7276  *
7277  * Returns the reply of the request asked by
7278  *
7279  * The parameter @p e supplied to this function must be NULL if
7280  * xcb_get_geometry_unchecked(). is used.
7281  * Otherwise, it stores the error if any.
7282  *
7283  * The returned value must be freed by the caller using free().
7284  */
7285 
7286 /*****************************************************************************
7287  **
7288  ** xcb_get_geometry_reply_t * xcb_get_geometry_reply
7289  **
7290  ** @param xcb_connection_t           *c
7291  ** @param xcb_get_geometry_cookie_t   cookie
7292  ** @param xcb_generic_error_t       **e
7293  ** @returns xcb_get_geometry_reply_t *
7294  **
7295  *****************************************************************************/
7296 
7297 xcb_get_geometry_reply_t *
7298 xcb_get_geometry_reply (xcb_connection_t           *c  /**< */,
7299                         xcb_get_geometry_cookie_t   cookie  /**< */,
7300                         xcb_generic_error_t       **e  /**< */);
7301 
7302 int
7303 xcb_query_tree_sizeof (const void  *_buffer  /**< */);
7304 
7305 /**
7306  * @brief query the window tree
7307  *
7308  * @param c The connection
7309  * @param window The \a window to query.
7310  * @return A cookie
7311  *
7312  * Gets the root window ID, parent window ID and list of children windows for the
7313  * specified \a window. The children are listed in bottom-to-top stacking order.
7314  *
7315  */
7316 
7317 /*****************************************************************************
7318  **
7319  ** xcb_query_tree_cookie_t xcb_query_tree
7320  **
7321  ** @param xcb_connection_t *c
7322  ** @param xcb_window_t      window
7323  ** @returns xcb_query_tree_cookie_t
7324  **
7325  *****************************************************************************/
7326 
7327 xcb_query_tree_cookie_t
7328 xcb_query_tree (xcb_connection_t *c  /**< */,
7329                 xcb_window_t      window  /**< */);
7330 
7331 /**
7332  * @brief query the window tree
7333  *
7334  * @param c The connection
7335  * @param window The \a window to query.
7336  * @return A cookie
7337  *
7338  * Gets the root window ID, parent window ID and list of children windows for the
7339  * specified \a window. The children are listed in bottom-to-top stacking order.
7340  *
7341  * This form can be used only if the request will cause
7342  * a reply to be generated. Any returned error will be
7343  * placed in the event queue.
7344  */
7345 
7346 /*****************************************************************************
7347  **
7348  ** xcb_query_tree_cookie_t xcb_query_tree_unchecked
7349  **
7350  ** @param xcb_connection_t *c
7351  ** @param xcb_window_t      window
7352  ** @returns xcb_query_tree_cookie_t
7353  **
7354  *****************************************************************************/
7355 
7356 xcb_query_tree_cookie_t
7357 xcb_query_tree_unchecked (xcb_connection_t *c  /**< */,
7358                           xcb_window_t      window  /**< */);
7359 
7360 
7361 /*****************************************************************************
7362  **
7363  ** xcb_window_t * xcb_query_tree_children
7364  **
7365  ** @param const xcb_query_tree_reply_t *R
7366  ** @returns xcb_window_t *
7367  **
7368  *****************************************************************************/
7369 
7370 xcb_window_t *
7371 xcb_query_tree_children (const xcb_query_tree_reply_t *R  /**< */);
7372 
7373 
7374 /*****************************************************************************
7375  **
7376  ** int xcb_query_tree_children_length
7377  **
7378  ** @param const xcb_query_tree_reply_t *R
7379  ** @returns int
7380  **
7381  *****************************************************************************/
7382 
7383 int
7384 xcb_query_tree_children_length (const xcb_query_tree_reply_t *R  /**< */);
7385 
7386 
7387 /*****************************************************************************
7388  **
7389  ** xcb_generic_iterator_t xcb_query_tree_children_end
7390  **
7391  ** @param const xcb_query_tree_reply_t *R
7392  ** @returns xcb_generic_iterator_t
7393  **
7394  *****************************************************************************/
7395 
7396 xcb_generic_iterator_t
7397 xcb_query_tree_children_end (const xcb_query_tree_reply_t *R  /**< */);
7398 
7399 /**
7400  * Return the reply
7401  * @param c      The connection
7402  * @param cookie The cookie
7403  * @param e      The xcb_generic_error_t supplied
7404  *
7405  * Returns the reply of the request asked by
7406  *
7407  * The parameter @p e supplied to this function must be NULL if
7408  * xcb_query_tree_unchecked(). is used.
7409  * Otherwise, it stores the error if any.
7410  *
7411  * The returned value must be freed by the caller using free().
7412  */
7413 
7414 /*****************************************************************************
7415  **
7416  ** xcb_query_tree_reply_t * xcb_query_tree_reply
7417  **
7418  ** @param xcb_connection_t         *c
7419  ** @param xcb_query_tree_cookie_t   cookie
7420  ** @param xcb_generic_error_t     **e
7421  ** @returns xcb_query_tree_reply_t *
7422  **
7423  *****************************************************************************/
7424 
7425 xcb_query_tree_reply_t *
7426 xcb_query_tree_reply (xcb_connection_t         *c  /**< */,
7427                       xcb_query_tree_cookie_t   cookie  /**< */,
7428                       xcb_generic_error_t     **e  /**< */);
7429 
7430 int
7431 xcb_intern_atom_sizeof (const void  *_buffer  /**< */);
7432 
7433 /**
7434  * @brief Get atom identifier by name
7435  *
7436  * @param c The connection
7437  * @param only_if_exists Return a valid atom id only if the atom already exists.
7438  * @param name_len The length of the following \a name.
7439  * @param name The name of the atom.
7440  * @return A cookie
7441  *
7442  * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
7443  * name. Atoms are used in protocols like EWMH, for example to store window titles
7444  * (`_NET_WM_NAME` atom) as property of a window.
7445  *
7446  * If \a only_if_exists is 0, the atom will be created if it does not already exist.
7447  * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
7448  * not yet exist.
7449  *
7450  */
7451 
7452 /*****************************************************************************
7453  **
7454  ** xcb_intern_atom_cookie_t xcb_intern_atom
7455  **
7456  ** @param xcb_connection_t *c
7457  ** @param uint8_t           only_if_exists
7458  ** @param uint16_t          name_len
7459  ** @param const char       *name
7460  ** @returns xcb_intern_atom_cookie_t
7461  **
7462  *****************************************************************************/
7463 
7464 xcb_intern_atom_cookie_t
7465 xcb_intern_atom (xcb_connection_t *c  /**< */,
7466                  uint8_t           only_if_exists  /**< */,
7467                  uint16_t          name_len  /**< */,
7468                  const char       *name  /**< */);
7469 
7470 /**
7471  * @brief Get atom identifier by name
7472  *
7473  * @param c The connection
7474  * @param only_if_exists Return a valid atom id only if the atom already exists.
7475  * @param name_len The length of the following \a name.
7476  * @param name The name of the atom.
7477  * @return A cookie
7478  *
7479  * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
7480  * name. Atoms are used in protocols like EWMH, for example to store window titles
7481  * (`_NET_WM_NAME` atom) as property of a window.
7482  *
7483  * If \a only_if_exists is 0, the atom will be created if it does not already exist.
7484  * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
7485  * not yet exist.
7486  *
7487  * This form can be used only if the request will cause
7488  * a reply to be generated. Any returned error will be
7489  * placed in the event queue.
7490  */
7491 
7492 /*****************************************************************************
7493  **
7494  ** xcb_intern_atom_cookie_t xcb_intern_atom_unchecked
7495  **
7496  ** @param xcb_connection_t *c
7497  ** @param uint8_t           only_if_exists
7498  ** @param uint16_t          name_len
7499  ** @param const char       *name
7500  ** @returns xcb_intern_atom_cookie_t
7501  **
7502  *****************************************************************************/
7503 
7504 xcb_intern_atom_cookie_t
7505 xcb_intern_atom_unchecked (xcb_connection_t *c  /**< */,
7506                            uint8_t           only_if_exists  /**< */,
7507                            uint16_t          name_len  /**< */,
7508                            const char       *name  /**< */);
7509 
7510 /**
7511  * Return the reply
7512  * @param c      The connection
7513  * @param cookie The cookie
7514  * @param e      The xcb_generic_error_t supplied
7515  *
7516  * Returns the reply of the request asked by
7517  *
7518  * The parameter @p e supplied to this function must be NULL if
7519  * xcb_intern_atom_unchecked(). is used.
7520  * Otherwise, it stores the error if any.
7521  *
7522  * The returned value must be freed by the caller using free().
7523  */
7524 
7525 /*****************************************************************************
7526  **
7527  ** xcb_intern_atom_reply_t * xcb_intern_atom_reply
7528  **
7529  ** @param xcb_connection_t          *c
7530  ** @param xcb_intern_atom_cookie_t   cookie
7531  ** @param xcb_generic_error_t      **e
7532  ** @returns xcb_intern_atom_reply_t *
7533  **
7534  *****************************************************************************/
7535 
7536 xcb_intern_atom_reply_t *
7537 xcb_intern_atom_reply (xcb_connection_t          *c  /**< */,
7538                        xcb_intern_atom_cookie_t   cookie  /**< */,
7539                        xcb_generic_error_t      **e  /**< */);
7540 
7541 int
7542 xcb_get_atom_name_sizeof (const void  *_buffer  /**< */);
7543 
7544 /**
7545  *
7546  * @param c The connection
7547  * @return A cookie
7548  *
7549  * Delivers a request to the X server.
7550  *
7551  */
7552 
7553 /*****************************************************************************
7554  **
7555  ** xcb_get_atom_name_cookie_t xcb_get_atom_name
7556  **
7557  ** @param xcb_connection_t *c
7558  ** @param xcb_atom_t        atom
7559  ** @returns xcb_get_atom_name_cookie_t
7560  **
7561  *****************************************************************************/
7562 
7563 xcb_get_atom_name_cookie_t
7564 xcb_get_atom_name (xcb_connection_t *c  /**< */,
7565                    xcb_atom_t        atom  /**< */);
7566 
7567 /**
7568  *
7569  * @param c The connection
7570  * @return A cookie
7571  *
7572  * Delivers a request to the X server.
7573  *
7574  * This form can be used only if the request will cause
7575  * a reply to be generated. Any returned error will be
7576  * placed in the event queue.
7577  */
7578 
7579 /*****************************************************************************
7580  **
7581  ** xcb_get_atom_name_cookie_t xcb_get_atom_name_unchecked
7582  **
7583  ** @param xcb_connection_t *c
7584  ** @param xcb_atom_t        atom
7585  ** @returns xcb_get_atom_name_cookie_t
7586  **
7587  *****************************************************************************/
7588 
7589 xcb_get_atom_name_cookie_t
7590 xcb_get_atom_name_unchecked (xcb_connection_t *c  /**< */,
7591                              xcb_atom_t        atom  /**< */);
7592 
7593 
7594 /*****************************************************************************
7595  **
7596  ** char * xcb_get_atom_name_name
7597  **
7598  ** @param const xcb_get_atom_name_reply_t *R
7599  ** @returns char *
7600  **
7601  *****************************************************************************/
7602 
7603 char *
7604 xcb_get_atom_name_name (const xcb_get_atom_name_reply_t *R  /**< */);
7605 
7606 
7607 /*****************************************************************************
7608  **
7609  ** int xcb_get_atom_name_name_length
7610  **
7611  ** @param const xcb_get_atom_name_reply_t *R
7612  ** @returns int
7613  **
7614  *****************************************************************************/
7615 
7616 int
7617 xcb_get_atom_name_name_length (const xcb_get_atom_name_reply_t *R  /**< */);
7618 
7619 
7620 /*****************************************************************************
7621  **
7622  ** xcb_generic_iterator_t xcb_get_atom_name_name_end
7623  **
7624  ** @param const xcb_get_atom_name_reply_t *R
7625  ** @returns xcb_generic_iterator_t
7626  **
7627  *****************************************************************************/
7628 
7629 xcb_generic_iterator_t
7630 xcb_get_atom_name_name_end (const xcb_get_atom_name_reply_t *R  /**< */);
7631 
7632 /**
7633  * Return the reply
7634  * @param c      The connection
7635  * @param cookie The cookie
7636  * @param e      The xcb_generic_error_t supplied
7637  *
7638  * Returns the reply of the request asked by
7639  *
7640  * The parameter @p e supplied to this function must be NULL if
7641  * xcb_get_atom_name_unchecked(). is used.
7642  * Otherwise, it stores the error if any.
7643  *
7644  * The returned value must be freed by the caller using free().
7645  */
7646 
7647 /*****************************************************************************
7648  **
7649  ** xcb_get_atom_name_reply_t * xcb_get_atom_name_reply
7650  **
7651  ** @param xcb_connection_t            *c
7652  ** @param xcb_get_atom_name_cookie_t   cookie
7653  ** @param xcb_generic_error_t        **e
7654  ** @returns xcb_get_atom_name_reply_t *
7655  **
7656  *****************************************************************************/
7657 
7658 xcb_get_atom_name_reply_t *
7659 xcb_get_atom_name_reply (xcb_connection_t            *c  /**< */,
7660                          xcb_get_atom_name_cookie_t   cookie  /**< */,
7661                          xcb_generic_error_t        **e  /**< */);
7662 
7663 int
7664 xcb_change_property_sizeof (const void  *_buffer  /**< */);
7665 
7666 /**
7667  * @brief Changes a window property
7668  *
7669  * @param c The connection
7670  * @param mode A bitmask of #xcb_prop_mode_t values.
7671  * @param mode \n
7672  * @param window The window whose property you want to change.
7673  * @param property The property you want to change (an atom).
7674  * @param type The type of the property you want to change (an atom).
7675  * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
7676  * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
7677  * the X server to correctly perform byte-swap operations as necessary.
7678  * @param data_len Specifies the number of elements (see \a format).
7679  * @param data The property data.
7680  * @return A cookie
7681  *
7682  * Sets or updates a property on the specified \a window. Properties are for
7683  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7684  * Protocols such as EWMH also use properties - for example EWMH defines the
7685  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7686  *
7687  * This form can be used only if the request will not cause
7688  * a reply to be generated. Any returned error will be
7689  * saved for handling by xcb_request_check().
7690  */
7691 
7692 /*****************************************************************************
7693  **
7694  ** xcb_void_cookie_t xcb_change_property_checked
7695  **
7696  ** @param xcb_connection_t *c
7697  ** @param uint8_t           mode
7698  ** @param xcb_window_t      window
7699  ** @param xcb_atom_t        property
7700  ** @param xcb_atom_t        type
7701  ** @param uint8_t           format
7702  ** @param uint32_t          data_len
7703  ** @param const void       *data
7704  ** @returns xcb_void_cookie_t
7705  **
7706  *****************************************************************************/
7707 
7708 xcb_void_cookie_t
7709 xcb_change_property_checked (xcb_connection_t *c  /**< */,
7710                              uint8_t           mode  /**< */,
7711                              xcb_window_t      window  /**< */,
7712                              xcb_atom_t        property  /**< */,
7713                              xcb_atom_t        type  /**< */,
7714                              uint8_t           format  /**< */,
7715                              uint32_t          data_len  /**< */,
7716                              const void       *data  /**< */);
7717 
7718 /**
7719  * @brief Changes a window property
7720  *
7721  * @param c The connection
7722  * @param mode A bitmask of #xcb_prop_mode_t values.
7723  * @param mode \n
7724  * @param window The window whose property you want to change.
7725  * @param property The property you want to change (an atom).
7726  * @param type The type of the property you want to change (an atom).
7727  * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
7728  * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
7729  * the X server to correctly perform byte-swap operations as necessary.
7730  * @param data_len Specifies the number of elements (see \a format).
7731  * @param data The property data.
7732  * @return A cookie
7733  *
7734  * Sets or updates a property on the specified \a window. Properties are for
7735  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7736  * Protocols such as EWMH also use properties - for example EWMH defines the
7737  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7738  *
7739  */
7740 
7741 /*****************************************************************************
7742  **
7743  ** xcb_void_cookie_t xcb_change_property
7744  **
7745  ** @param xcb_connection_t *c
7746  ** @param uint8_t           mode
7747  ** @param xcb_window_t      window
7748  ** @param xcb_atom_t        property
7749  ** @param xcb_atom_t        type
7750  ** @param uint8_t           format
7751  ** @param uint32_t          data_len
7752  ** @param const void       *data
7753  ** @returns xcb_void_cookie_t
7754  **
7755  *****************************************************************************/
7756 
7757 xcb_void_cookie_t
7758 xcb_change_property (xcb_connection_t *c  /**< */,
7759                      uint8_t           mode  /**< */,
7760                      xcb_window_t      window  /**< */,
7761                      xcb_atom_t        property  /**< */,
7762                      xcb_atom_t        type  /**< */,
7763                      uint8_t           format  /**< */,
7764                      uint32_t          data_len  /**< */,
7765                      const void       *data  /**< */);
7766 
7767 /**
7768  *
7769  * @param c The connection
7770  * @return A cookie
7771  *
7772  * Delivers a request to the X server.
7773  *
7774  * This form can be used only if the request will not cause
7775  * a reply to be generated. Any returned error will be
7776  * saved for handling by xcb_request_check().
7777  */
7778 
7779 /*****************************************************************************
7780  **
7781  ** xcb_void_cookie_t xcb_delete_property_checked
7782  **
7783  ** @param xcb_connection_t *c
7784  ** @param xcb_window_t      window
7785  ** @param xcb_atom_t        property
7786  ** @returns xcb_void_cookie_t
7787  **
7788  *****************************************************************************/
7789 
7790 xcb_void_cookie_t
7791 xcb_delete_property_checked (xcb_connection_t *c  /**< */,
7792                              xcb_window_t      window  /**< */,
7793                              xcb_atom_t        property  /**< */);
7794 
7795 /**
7796  *
7797  * @param c The connection
7798  * @return A cookie
7799  *
7800  * Delivers a request to the X server.
7801  *
7802  */
7803 
7804 /*****************************************************************************
7805  **
7806  ** xcb_void_cookie_t xcb_delete_property
7807  **
7808  ** @param xcb_connection_t *c
7809  ** @param xcb_window_t      window
7810  ** @param xcb_atom_t        property
7811  ** @returns xcb_void_cookie_t
7812  **
7813  *****************************************************************************/
7814 
7815 xcb_void_cookie_t
7816 xcb_delete_property (xcb_connection_t *c  /**< */,
7817                      xcb_window_t      window  /**< */,
7818                      xcb_atom_t        property  /**< */);
7819 
7820 int
7821 xcb_get_property_sizeof (const void  *_buffer  /**< */);
7822 
7823 /**
7824  * @brief Gets a window property
7825  *
7826  * @param c The connection
7827  * @param _delete Whether the property should actually be deleted. For deleting a property, the
7828  * specified \a type has to match the actual property type.
7829  * @param window The window whose property you want to get.
7830  * @param property The property you want to get (an atom).
7831  * @param type The type of the property you want to get (an atom).
7832  * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
7833  * data is to be retrieved.
7834  * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
7835  * set \a long_length to 4, you will receive 16 bytes of data).
7836  * @return A cookie
7837  *
7838  * Gets the specified \a property from the specified \a window. Properties are for
7839  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7840  * Protocols such as EWMH also use properties - for example EWMH defines the
7841  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7842  *
7843  * TODO: talk about \a type
7844  *
7845  * TODO: talk about `delete`
7846  *
7847  * TODO: talk about the offset/length thing. what's a valid use case?
7848  *
7849  */
7850 
7851 /*****************************************************************************
7852  **
7853  ** xcb_get_property_cookie_t xcb_get_property
7854  **
7855  ** @param xcb_connection_t *c
7856  ** @param uint8_t           _delete
7857  ** @param xcb_window_t      window
7858  ** @param xcb_atom_t        property
7859  ** @param xcb_atom_t        type
7860  ** @param uint32_t          long_offset
7861  ** @param uint32_t          long_length
7862  ** @returns xcb_get_property_cookie_t
7863  **
7864  *****************************************************************************/
7865 
7866 xcb_get_property_cookie_t
7867 xcb_get_property (xcb_connection_t *c  /**< */,
7868                   uint8_t           _delete  /**< */,
7869                   xcb_window_t      window  /**< */,
7870                   xcb_atom_t        property  /**< */,
7871                   xcb_atom_t        type  /**< */,
7872                   uint32_t          long_offset  /**< */,
7873                   uint32_t          long_length  /**< */);
7874 
7875 /**
7876  * @brief Gets a window property
7877  *
7878  * @param c The connection
7879  * @param _delete Whether the property should actually be deleted. For deleting a property, the
7880  * specified \a type has to match the actual property type.
7881  * @param window The window whose property you want to get.
7882  * @param property The property you want to get (an atom).
7883  * @param type The type of the property you want to get (an atom).
7884  * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
7885  * data is to be retrieved.
7886  * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
7887  * set \a long_length to 4, you will receive 16 bytes of data).
7888  * @return A cookie
7889  *
7890  * Gets the specified \a property from the specified \a window. Properties are for
7891  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
7892  * Protocols such as EWMH also use properties - for example EWMH defines the
7893  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
7894  *
7895  * TODO: talk about \a type
7896  *
7897  * TODO: talk about `delete`
7898  *
7899  * TODO: talk about the offset/length thing. what's a valid use case?
7900  *
7901  * This form can be used only if the request will cause
7902  * a reply to be generated. Any returned error will be
7903  * placed in the event queue.
7904  */
7905 
7906 /*****************************************************************************
7907  **
7908  ** xcb_get_property_cookie_t xcb_get_property_unchecked
7909  **
7910  ** @param xcb_connection_t *c
7911  ** @param uint8_t           _delete
7912  ** @param xcb_window_t      window
7913  ** @param xcb_atom_t        property
7914  ** @param xcb_atom_t        type
7915  ** @param uint32_t          long_offset
7916  ** @param uint32_t          long_length
7917  ** @returns xcb_get_property_cookie_t
7918  **
7919  *****************************************************************************/
7920 
7921 xcb_get_property_cookie_t
7922 xcb_get_property_unchecked (xcb_connection_t *c  /**< */,
7923                             uint8_t           _delete  /**< */,
7924                             xcb_window_t      window  /**< */,
7925                             xcb_atom_t        property  /**< */,
7926                             xcb_atom_t        type  /**< */,
7927                             uint32_t          long_offset  /**< */,
7928                             uint32_t          long_length  /**< */);
7929 
7930 
7931 /*****************************************************************************
7932  **
7933  ** void * xcb_get_property_value
7934  **
7935  ** @param const xcb_get_property_reply_t *R
7936  ** @returns void *
7937  **
7938  *****************************************************************************/
7939 
7940 void *
7941 xcb_get_property_value (const xcb_get_property_reply_t *R  /**< */);
7942 
7943 
7944 /*****************************************************************************
7945  **
7946  ** int xcb_get_property_value_length
7947  **
7948  ** @param const xcb_get_property_reply_t *R
7949  ** @returns int
7950  **
7951  *****************************************************************************/
7952 
7953 int
7954 xcb_get_property_value_length (const xcb_get_property_reply_t *R  /**< */);
7955 
7956 
7957 /*****************************************************************************
7958  **
7959  ** xcb_generic_iterator_t xcb_get_property_value_end
7960  **
7961  ** @param const xcb_get_property_reply_t *R
7962  ** @returns xcb_generic_iterator_t
7963  **
7964  *****************************************************************************/
7965 
7966 xcb_generic_iterator_t
7967 xcb_get_property_value_end (const xcb_get_property_reply_t *R  /**< */);
7968 
7969 /**
7970  * Return the reply
7971  * @param c      The connection
7972  * @param cookie The cookie
7973  * @param e      The xcb_generic_error_t supplied
7974  *
7975  * Returns the reply of the request asked by
7976  *
7977  * The parameter @p e supplied to this function must be NULL if
7978  * xcb_get_property_unchecked(). is used.
7979  * Otherwise, it stores the error if any.
7980  *
7981  * The returned value must be freed by the caller using free().
7982  */
7983 
7984 /*****************************************************************************
7985  **
7986  ** xcb_get_property_reply_t * xcb_get_property_reply
7987  **
7988  ** @param xcb_connection_t           *c
7989  ** @param xcb_get_property_cookie_t   cookie
7990  ** @param xcb_generic_error_t       **e
7991  ** @returns xcb_get_property_reply_t *
7992  **
7993  *****************************************************************************/
7994 
7995 xcb_get_property_reply_t *
7996 xcb_get_property_reply (xcb_connection_t           *c  /**< */,
7997                         xcb_get_property_cookie_t   cookie  /**< */,
7998                         xcb_generic_error_t       **e  /**< */);
7999 
8000 int
8001 xcb_list_properties_sizeof (const void  *_buffer  /**< */);
8002 
8003 /**
8004  *
8005  * @param c The connection
8006  * @return A cookie
8007  *
8008  * Delivers a request to the X server.
8009  *
8010  */
8011 
8012 /*****************************************************************************
8013  **
8014  ** xcb_list_properties_cookie_t xcb_list_properties
8015  **
8016  ** @param xcb_connection_t *c
8017  ** @param xcb_window_t      window
8018  ** @returns xcb_list_properties_cookie_t
8019  **
8020  *****************************************************************************/
8021 
8022 xcb_list_properties_cookie_t
8023 xcb_list_properties (xcb_connection_t *c  /**< */,
8024                      xcb_window_t      window  /**< */);
8025 
8026 /**
8027  *
8028  * @param c The connection
8029  * @return A cookie
8030  *
8031  * Delivers a request to the X server.
8032  *
8033  * This form can be used only if the request will cause
8034  * a reply to be generated. Any returned error will be
8035  * placed in the event queue.
8036  */
8037 
8038 /*****************************************************************************
8039  **
8040  ** xcb_list_properties_cookie_t xcb_list_properties_unchecked
8041  **
8042  ** @param xcb_connection_t *c
8043  ** @param xcb_window_t      window
8044  ** @returns xcb_list_properties_cookie_t
8045  **
8046  *****************************************************************************/
8047 
8048 xcb_list_properties_cookie_t
8049 xcb_list_properties_unchecked (xcb_connection_t *c  /**< */,
8050                                xcb_window_t      window  /**< */);
8051 
8052 
8053 /*****************************************************************************
8054  **
8055  ** xcb_atom_t * xcb_list_properties_atoms
8056  **
8057  ** @param const xcb_list_properties_reply_t *R
8058  ** @returns xcb_atom_t *
8059  **
8060  *****************************************************************************/
8061 
8062 xcb_atom_t *
8063 xcb_list_properties_atoms (const xcb_list_properties_reply_t *R  /**< */);
8064 
8065 
8066 /*****************************************************************************
8067  **
8068  ** int xcb_list_properties_atoms_length
8069  **
8070  ** @param const xcb_list_properties_reply_t *R
8071  ** @returns int
8072  **
8073  *****************************************************************************/
8074 
8075 int
8076 xcb_list_properties_atoms_length (const xcb_list_properties_reply_t *R  /**< */);
8077 
8078 
8079 /*****************************************************************************
8080  **
8081  ** xcb_generic_iterator_t xcb_list_properties_atoms_end
8082  **
8083  ** @param const xcb_list_properties_reply_t *R
8084  ** @returns xcb_generic_iterator_t
8085  **
8086  *****************************************************************************/
8087 
8088 xcb_generic_iterator_t
8089 xcb_list_properties_atoms_end (const xcb_list_properties_reply_t *R  /**< */);
8090 
8091 /**
8092  * Return the reply
8093  * @param c      The connection
8094  * @param cookie The cookie
8095  * @param e      The xcb_generic_error_t supplied
8096  *
8097  * Returns the reply of the request asked by
8098  *
8099  * The parameter @p e supplied to this function must be NULL if
8100  * xcb_list_properties_unchecked(). is used.
8101  * Otherwise, it stores the error if any.
8102  *
8103  * The returned value must be freed by the caller using free().
8104  */
8105 
8106 /*****************************************************************************
8107  **
8108  ** xcb_list_properties_reply_t * xcb_list_properties_reply
8109  **
8110  ** @param xcb_connection_t              *c
8111  ** @param xcb_list_properties_cookie_t   cookie
8112  ** @param xcb_generic_error_t          **e
8113  ** @returns xcb_list_properties_reply_t *
8114  **
8115  *****************************************************************************/
8116 
8117 xcb_list_properties_reply_t *
8118 xcb_list_properties_reply (xcb_connection_t              *c  /**< */,
8119                            xcb_list_properties_cookie_t   cookie  /**< */,
8120                            xcb_generic_error_t          **e  /**< */);
8121 
8122 /**
8123  * @brief Sets the owner of a selection
8124  *
8125  * @param c The connection
8126  * @param owner The new owner of the selection.
8127  * \n
8128  * The special value `XCB_NONE` means that the selection will have no owner.
8129  * @param selection The selection.
8130  * @param time Timestamp to avoid race conditions when running X over the network.
8131  * \n
8132  * The selection will not be changed if \a time is earlier than the current
8133  * last-change time of the \a selection or is later than the current X server time.
8134  * Otherwise, the last-change time is set to the specified time.
8135  * \n
8136  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8137  * time.
8138  * @return A cookie
8139  *
8140  * Makes `window` the owner of the selection \a selection and updates the
8141  * last-change time of the specified selection.
8142  *
8143  * TODO: briefly explain what a selection is.
8144  *
8145  * This form can be used only if the request will not cause
8146  * a reply to be generated. Any returned error will be
8147  * saved for handling by xcb_request_check().
8148  */
8149 
8150 /*****************************************************************************
8151  **
8152  ** xcb_void_cookie_t xcb_set_selection_owner_checked
8153  **
8154  ** @param xcb_connection_t *c
8155  ** @param xcb_window_t      owner
8156  ** @param xcb_atom_t        selection
8157  ** @param xcb_timestamp_t   time
8158  ** @returns xcb_void_cookie_t
8159  **
8160  *****************************************************************************/
8161 
8162 xcb_void_cookie_t
8163 xcb_set_selection_owner_checked (xcb_connection_t *c  /**< */,
8164                                  xcb_window_t      owner  /**< */,
8165                                  xcb_atom_t        selection  /**< */,
8166                                  xcb_timestamp_t   time  /**< */);
8167 
8168 /**
8169  * @brief Sets the owner of a selection
8170  *
8171  * @param c The connection
8172  * @param owner The new owner of the selection.
8173  * \n
8174  * The special value `XCB_NONE` means that the selection will have no owner.
8175  * @param selection The selection.
8176  * @param time Timestamp to avoid race conditions when running X over the network.
8177  * \n
8178  * The selection will not be changed if \a time is earlier than the current
8179  * last-change time of the \a selection or is later than the current X server time.
8180  * Otherwise, the last-change time is set to the specified time.
8181  * \n
8182  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8183  * time.
8184  * @return A cookie
8185  *
8186  * Makes `window` the owner of the selection \a selection and updates the
8187  * last-change time of the specified selection.
8188  *
8189  * TODO: briefly explain what a selection is.
8190  *
8191  */
8192 
8193 /*****************************************************************************
8194  **
8195  ** xcb_void_cookie_t xcb_set_selection_owner
8196  **
8197  ** @param xcb_connection_t *c
8198  ** @param xcb_window_t      owner
8199  ** @param xcb_atom_t        selection
8200  ** @param xcb_timestamp_t   time
8201  ** @returns xcb_void_cookie_t
8202  **
8203  *****************************************************************************/
8204 
8205 xcb_void_cookie_t
8206 xcb_set_selection_owner (xcb_connection_t *c  /**< */,
8207                          xcb_window_t      owner  /**< */,
8208                          xcb_atom_t        selection  /**< */,
8209                          xcb_timestamp_t   time  /**< */);
8210 
8211 /**
8212  * @brief Gets the owner of a selection
8213  *
8214  * @param c The connection
8215  * @param selection The selection.
8216  * @return A cookie
8217  *
8218  * Gets the owner of the specified selection.
8219  *
8220  * TODO: briefly explain what a selection is.
8221  *
8222  */
8223 
8224 /*****************************************************************************
8225  **
8226  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner
8227  **
8228  ** @param xcb_connection_t *c
8229  ** @param xcb_atom_t        selection
8230  ** @returns xcb_get_selection_owner_cookie_t
8231  **
8232  *****************************************************************************/
8233 
8234 xcb_get_selection_owner_cookie_t
8235 xcb_get_selection_owner (xcb_connection_t *c  /**< */,
8236                          xcb_atom_t        selection  /**< */);
8237 
8238 /**
8239  * @brief Gets the owner of a selection
8240  *
8241  * @param c The connection
8242  * @param selection The selection.
8243  * @return A cookie
8244  *
8245  * Gets the owner of the specified selection.
8246  *
8247  * TODO: briefly explain what a selection is.
8248  *
8249  * This form can be used only if the request will cause
8250  * a reply to be generated. Any returned error will be
8251  * placed in the event queue.
8252  */
8253 
8254 /*****************************************************************************
8255  **
8256  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner_unchecked
8257  **
8258  ** @param xcb_connection_t *c
8259  ** @param xcb_atom_t        selection
8260  ** @returns xcb_get_selection_owner_cookie_t
8261  **
8262  *****************************************************************************/
8263 
8264 xcb_get_selection_owner_cookie_t
8265 xcb_get_selection_owner_unchecked (xcb_connection_t *c  /**< */,
8266                                    xcb_atom_t        selection  /**< */);
8267 
8268 /**
8269  * Return the reply
8270  * @param c      The connection
8271  * @param cookie The cookie
8272  * @param e      The xcb_generic_error_t supplied
8273  *
8274  * Returns the reply of the request asked by
8275  *
8276  * The parameter @p e supplied to this function must be NULL if
8277  * xcb_get_selection_owner_unchecked(). is used.
8278  * Otherwise, it stores the error if any.
8279  *
8280  * The returned value must be freed by the caller using free().
8281  */
8282 
8283 /*****************************************************************************
8284  **
8285  ** xcb_get_selection_owner_reply_t * xcb_get_selection_owner_reply
8286  **
8287  ** @param xcb_connection_t                  *c
8288  ** @param xcb_get_selection_owner_cookie_t   cookie
8289  ** @param xcb_generic_error_t              **e
8290  ** @returns xcb_get_selection_owner_reply_t *
8291  **
8292  *****************************************************************************/
8293 
8294 xcb_get_selection_owner_reply_t *
8295 xcb_get_selection_owner_reply (xcb_connection_t                  *c  /**< */,
8296                                xcb_get_selection_owner_cookie_t   cookie  /**< */,
8297                                xcb_generic_error_t              **e  /**< */);
8298 
8299 /**
8300  *
8301  * @param c The connection
8302  * @return A cookie
8303  *
8304  * Delivers a request to the X server.
8305  *
8306  * This form can be used only if the request will not cause
8307  * a reply to be generated. Any returned error will be
8308  * saved for handling by xcb_request_check().
8309  */
8310 
8311 /*****************************************************************************
8312  **
8313  ** xcb_void_cookie_t xcb_convert_selection_checked
8314  **
8315  ** @param xcb_connection_t *c
8316  ** @param xcb_window_t      requestor
8317  ** @param xcb_atom_t        selection
8318  ** @param xcb_atom_t        target
8319  ** @param xcb_atom_t        property
8320  ** @param xcb_timestamp_t   time
8321  ** @returns xcb_void_cookie_t
8322  **
8323  *****************************************************************************/
8324 
8325 xcb_void_cookie_t
8326 xcb_convert_selection_checked (xcb_connection_t *c  /**< */,
8327                                xcb_window_t      requestor  /**< */,
8328                                xcb_atom_t        selection  /**< */,
8329                                xcb_atom_t        target  /**< */,
8330                                xcb_atom_t        property  /**< */,
8331                                xcb_timestamp_t   time  /**< */);
8332 
8333 /**
8334  *
8335  * @param c The connection
8336  * @return A cookie
8337  *
8338  * Delivers a request to the X server.
8339  *
8340  */
8341 
8342 /*****************************************************************************
8343  **
8344  ** xcb_void_cookie_t xcb_convert_selection
8345  **
8346  ** @param xcb_connection_t *c
8347  ** @param xcb_window_t      requestor
8348  ** @param xcb_atom_t        selection
8349  ** @param xcb_atom_t        target
8350  ** @param xcb_atom_t        property
8351  ** @param xcb_timestamp_t   time
8352  ** @returns xcb_void_cookie_t
8353  **
8354  *****************************************************************************/
8355 
8356 xcb_void_cookie_t
8357 xcb_convert_selection (xcb_connection_t *c  /**< */,
8358                        xcb_window_t      requestor  /**< */,
8359                        xcb_atom_t        selection  /**< */,
8360                        xcb_atom_t        target  /**< */,
8361                        xcb_atom_t        property  /**< */,
8362                        xcb_timestamp_t   time  /**< */);
8363 
8364 /**
8365  * @brief send an event
8366  *
8367  * @param c The connection
8368  * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
8369  * the destination is replaced with the closest ancestor of \a destination for
8370  * which some client has selected a type in \a event_mask and for which no
8371  * intervening window has that type in its do-not-propagate-mask. If no such
8372  * window exists or if the window is an ancestor of the focus window and
8373  * `InputFocus` was originally specified as the destination, the event is not sent
8374  * to any clients. Otherwise, the event is reported to every client selecting on
8375  * the final destination any of the types specified in \a event_mask.
8376  * @param destination The window to send this event to. Every client which selects any event within
8377  * \a event_mask on \a destination will get the event.
8378  * \n
8379  * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
8380  * that contains the mouse pointer.
8381  * \n
8382  * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
8383  * has the keyboard focus.
8384  * @param event_mask Event_mask for determining which clients should receive the specified event.
8385  * See \a destination and \a propagate.
8386  * @param event The event to send to the specified \a destination.
8387  * @return A cookie
8388  *
8389  * Identifies the \a destination window, determines which clients should receive
8390  * the specified event and ignores any active grabs.
8391  *
8392  * The \a event must be one of the core events or an event defined by an extension,
8393  * so that the X server can correctly byte-swap the contents as necessary. The
8394  * contents of \a event are otherwise unaltered and unchecked except for the
8395  * `send_event` field which is forced to 'true'.
8396  *
8397  * This form can be used only if the request will not cause
8398  * a reply to be generated. Any returned error will be
8399  * saved for handling by xcb_request_check().
8400  */
8401 
8402 /*****************************************************************************
8403  **
8404  ** xcb_void_cookie_t xcb_send_event_checked
8405  **
8406  ** @param xcb_connection_t *c
8407  ** @param uint8_t           propagate
8408  ** @param xcb_window_t      destination
8409  ** @param uint32_t          event_mask
8410  ** @param const char       *event
8411  ** @returns xcb_void_cookie_t
8412  **
8413  *****************************************************************************/
8414 
8415 xcb_void_cookie_t
8416 xcb_send_event_checked (xcb_connection_t *c  /**< */,
8417                         uint8_t           propagate  /**< */,
8418                         xcb_window_t      destination  /**< */,
8419                         uint32_t          event_mask  /**< */,
8420                         const char       *event  /**< */);
8421 
8422 /**
8423  * @brief send an event
8424  *
8425  * @param c The connection
8426  * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
8427  * the destination is replaced with the closest ancestor of \a destination for
8428  * which some client has selected a type in \a event_mask and for which no
8429  * intervening window has that type in its do-not-propagate-mask. If no such
8430  * window exists or if the window is an ancestor of the focus window and
8431  * `InputFocus` was originally specified as the destination, the event is not sent
8432  * to any clients. Otherwise, the event is reported to every client selecting on
8433  * the final destination any of the types specified in \a event_mask.
8434  * @param destination The window to send this event to. Every client which selects any event within
8435  * \a event_mask on \a destination will get the event.
8436  * \n
8437  * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
8438  * that contains the mouse pointer.
8439  * \n
8440  * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
8441  * has the keyboard focus.
8442  * @param event_mask Event_mask for determining which clients should receive the specified event.
8443  * See \a destination and \a propagate.
8444  * @param event The event to send to the specified \a destination.
8445  * @return A cookie
8446  *
8447  * Identifies the \a destination window, determines which clients should receive
8448  * the specified event and ignores any active grabs.
8449  *
8450  * The \a event must be one of the core events or an event defined by an extension,
8451  * so that the X server can correctly byte-swap the contents as necessary. The
8452  * contents of \a event are otherwise unaltered and unchecked except for the
8453  * `send_event` field which is forced to 'true'.
8454  *
8455  */
8456 
8457 /*****************************************************************************
8458  **
8459  ** xcb_void_cookie_t xcb_send_event
8460  **
8461  ** @param xcb_connection_t *c
8462  ** @param uint8_t           propagate
8463  ** @param xcb_window_t      destination
8464  ** @param uint32_t          event_mask
8465  ** @param const char       *event
8466  ** @returns xcb_void_cookie_t
8467  **
8468  *****************************************************************************/
8469 
8470 xcb_void_cookie_t
8471 xcb_send_event (xcb_connection_t *c  /**< */,
8472                 uint8_t           propagate  /**< */,
8473                 xcb_window_t      destination  /**< */,
8474                 uint32_t          event_mask  /**< */,
8475                 const char       *event  /**< */);
8476 
8477 /**
8478  * @brief Grab the pointer
8479  *
8480  * @param c The connection
8481  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8482  * reported to the \a grab_window.
8483  * @param grab_window Specifies the window on which the pointer should be grabbed.
8484  * @param event_mask Specifies which pointer events are reported to the client.
8485  * \n
8486  * TODO: which values?
8487  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8488  * @param pointer_mode \n
8489  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8490  * @param keyboard_mode \n
8491  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8492  * move the pointer out of that window).
8493  * \n
8494  * The special value `XCB_NONE` means don't confine the pointer.
8495  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8496  * cursor.
8497  * @param time The time argument allows you to avoid certain circumstances that come up if
8498  * applications take a long time to respond or if there are long network delays.
8499  * Consider a situation where you have two applications, both of which normally
8500  * grab the pointer when clicked on. If both applications specify the timestamp
8501  * from the event, the second application may wake up faster and successfully grab
8502  * the pointer before the first application. The first application then will get
8503  * an indication that the other application grabbed the pointer before its request
8504  * was processed.
8505  * \n
8506  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8507  * time.
8508  * @return A cookie
8509  *
8510  * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
8511  *
8512  */
8513 
8514 /*****************************************************************************
8515  **
8516  ** xcb_grab_pointer_cookie_t xcb_grab_pointer
8517  **
8518  ** @param xcb_connection_t *c
8519  ** @param uint8_t           owner_events
8520  ** @param xcb_window_t      grab_window
8521  ** @param uint16_t          event_mask
8522  ** @param uint8_t           pointer_mode
8523  ** @param uint8_t           keyboard_mode
8524  ** @param xcb_window_t      confine_to
8525  ** @param xcb_cursor_t      cursor
8526  ** @param xcb_timestamp_t   time
8527  ** @returns xcb_grab_pointer_cookie_t
8528  **
8529  *****************************************************************************/
8530 
8531 xcb_grab_pointer_cookie_t
8532 xcb_grab_pointer (xcb_connection_t *c  /**< */,
8533                   uint8_t           owner_events  /**< */,
8534                   xcb_window_t      grab_window  /**< */,
8535                   uint16_t          event_mask  /**< */,
8536                   uint8_t           pointer_mode  /**< */,
8537                   uint8_t           keyboard_mode  /**< */,
8538                   xcb_window_t      confine_to  /**< */,
8539                   xcb_cursor_t      cursor  /**< */,
8540                   xcb_timestamp_t   time  /**< */);
8541 
8542 /**
8543  * @brief Grab the pointer
8544  *
8545  * @param c The connection
8546  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8547  * reported to the \a grab_window.
8548  * @param grab_window Specifies the window on which the pointer should be grabbed.
8549  * @param event_mask Specifies which pointer events are reported to the client.
8550  * \n
8551  * TODO: which values?
8552  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8553  * @param pointer_mode \n
8554  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8555  * @param keyboard_mode \n
8556  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8557  * move the pointer out of that window).
8558  * \n
8559  * The special value `XCB_NONE` means don't confine the pointer.
8560  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8561  * cursor.
8562  * @param time The time argument allows you to avoid certain circumstances that come up if
8563  * applications take a long time to respond or if there are long network delays.
8564  * Consider a situation where you have two applications, both of which normally
8565  * grab the pointer when clicked on. If both applications specify the timestamp
8566  * from the event, the second application may wake up faster and successfully grab
8567  * the pointer before the first application. The first application then will get
8568  * an indication that the other application grabbed the pointer before its request
8569  * was processed.
8570  * \n
8571  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
8572  * time.
8573  * @return A cookie
8574  *
8575  * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
8576  *
8577  * This form can be used only if the request will cause
8578  * a reply to be generated. Any returned error will be
8579  * placed in the event queue.
8580  */
8581 
8582 /*****************************************************************************
8583  **
8584  ** xcb_grab_pointer_cookie_t xcb_grab_pointer_unchecked
8585  **
8586  ** @param xcb_connection_t *c
8587  ** @param uint8_t           owner_events
8588  ** @param xcb_window_t      grab_window
8589  ** @param uint16_t          event_mask
8590  ** @param uint8_t           pointer_mode
8591  ** @param uint8_t           keyboard_mode
8592  ** @param xcb_window_t      confine_to
8593  ** @param xcb_cursor_t      cursor
8594  ** @param xcb_timestamp_t   time
8595  ** @returns xcb_grab_pointer_cookie_t
8596  **
8597  *****************************************************************************/
8598 
8599 xcb_grab_pointer_cookie_t
8600 xcb_grab_pointer_unchecked (xcb_connection_t *c  /**< */,
8601                             uint8_t           owner_events  /**< */,
8602                             xcb_window_t      grab_window  /**< */,
8603                             uint16_t          event_mask  /**< */,
8604                             uint8_t           pointer_mode  /**< */,
8605                             uint8_t           keyboard_mode  /**< */,
8606                             xcb_window_t      confine_to  /**< */,
8607                             xcb_cursor_t      cursor  /**< */,
8608                             xcb_timestamp_t   time  /**< */);
8609 
8610 /**
8611  * Return the reply
8612  * @param c      The connection
8613  * @param cookie The cookie
8614  * @param e      The xcb_generic_error_t supplied
8615  *
8616  * Returns the reply of the request asked by
8617  *
8618  * The parameter @p e supplied to this function must be NULL if
8619  * xcb_grab_pointer_unchecked(). is used.
8620  * Otherwise, it stores the error if any.
8621  *
8622  * The returned value must be freed by the caller using free().
8623  */
8624 
8625 /*****************************************************************************
8626  **
8627  ** xcb_grab_pointer_reply_t * xcb_grab_pointer_reply
8628  **
8629  ** @param xcb_connection_t           *c
8630  ** @param xcb_grab_pointer_cookie_t   cookie
8631  ** @param xcb_generic_error_t       **e
8632  ** @returns xcb_grab_pointer_reply_t *
8633  **
8634  *****************************************************************************/
8635 
8636 xcb_grab_pointer_reply_t *
8637 xcb_grab_pointer_reply (xcb_connection_t           *c  /**< */,
8638                         xcb_grab_pointer_cookie_t   cookie  /**< */,
8639                         xcb_generic_error_t       **e  /**< */);
8640 
8641 /**
8642  * @brief release the pointer
8643  *
8644  * @param c The connection
8645  * @param time Timestamp to avoid race conditions when running X over the network.
8646  * \n
8647  * The pointer will not be released if \a time is earlier than the
8648  * last-pointer-grab time or later than the current X server time.
8649  * @return A cookie
8650  *
8651  * Releases the pointer and any queued events if you actively grabbed the pointer
8652  * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
8653  * press.
8654  *
8655  * EnterNotify and LeaveNotify events are generated.
8656  *
8657  * This form can be used only if the request will not cause
8658  * a reply to be generated. Any returned error will be
8659  * saved for handling by xcb_request_check().
8660  */
8661 
8662 /*****************************************************************************
8663  **
8664  ** xcb_void_cookie_t xcb_ungrab_pointer_checked
8665  **
8666  ** @param xcb_connection_t *c
8667  ** @param xcb_timestamp_t   time
8668  ** @returns xcb_void_cookie_t
8669  **
8670  *****************************************************************************/
8671 
8672 xcb_void_cookie_t
8673 xcb_ungrab_pointer_checked (xcb_connection_t *c  /**< */,
8674                             xcb_timestamp_t   time  /**< */);
8675 
8676 /**
8677  * @brief release the pointer
8678  *
8679  * @param c The connection
8680  * @param time Timestamp to avoid race conditions when running X over the network.
8681  * \n
8682  * The pointer will not be released if \a time is earlier than the
8683  * last-pointer-grab time or later than the current X server time.
8684  * @return A cookie
8685  *
8686  * Releases the pointer and any queued events if you actively grabbed the pointer
8687  * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
8688  * press.
8689  *
8690  * EnterNotify and LeaveNotify events are generated.
8691  *
8692  */
8693 
8694 /*****************************************************************************
8695  **
8696  ** xcb_void_cookie_t xcb_ungrab_pointer
8697  **
8698  ** @param xcb_connection_t *c
8699  ** @param xcb_timestamp_t   time
8700  ** @returns xcb_void_cookie_t
8701  **
8702  *****************************************************************************/
8703 
8704 xcb_void_cookie_t
8705 xcb_ungrab_pointer (xcb_connection_t *c  /**< */,
8706                     xcb_timestamp_t   time  /**< */);
8707 
8708 /**
8709  * @brief Grab pointer button(s)
8710  *
8711  * @param c The connection
8712  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8713  * reported to the \a grab_window.
8714  * @param grab_window Specifies the window on which the pointer should be grabbed.
8715  * @param event_mask Specifies which pointer events are reported to the client.
8716  * \n
8717  * TODO: which values?
8718  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8719  * @param pointer_mode \n
8720  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8721  * @param keyboard_mode \n
8722  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8723  * move the pointer out of that window).
8724  * \n
8725  * The special value `XCB_NONE` means don't confine the pointer.
8726  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8727  * cursor.
8728  * @param button A bitmask of #xcb_button_index_t values.
8729  * @param button \n
8730  * @param modifiers The modifiers to grab.
8731  * \n
8732  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
8733  * possible modifier combinations.
8734  * @return A cookie
8735  *
8736  * This request establishes a passive grab. The pointer is actively grabbed as
8737  * described in GrabPointer, the last-pointer-grab time is set to the time at
8738  * which the button was pressed (as transmitted in the ButtonPress event), and the
8739  * ButtonPress event is reported if all of the following conditions are true:
8740  *
8741  * The pointer is not grabbed and the specified button is logically pressed when
8742  * the specified modifier keys are logically down, and no other buttons or
8743  * modifier keys are logically down.
8744  *
8745  * The grab-window contains the pointer.
8746  *
8747  * The confine-to window (if any) is viewable.
8748  *
8749  * A passive grab on the same button/key combination does not exist on any
8750  * ancestor of grab-window.
8751  *
8752  * The interpretation of the remaining arguments is the same as for GrabPointer.
8753  * The active grab is terminated automatically when the logical state of the
8754  * pointer has all buttons released, independent of the logical state of modifier
8755  * keys. Note that the logical state of a device (as seen by means of the
8756  * protocol) may lag the physical state if device event processing is frozen. This
8757  * request overrides all previous passive grabs by the same client on the same
8758  * button/key combinations on the same window. A modifier of AnyModifier is
8759  * equivalent to issuing the request for all possible modifier combinations
8760  * (including the combination of no modifiers). It is not required that all
8761  * specified modifiers have currently assigned keycodes. A button of AnyButton is
8762  * equivalent to issuing the request for all possible buttons. Otherwise, it is
8763  * not required that the button specified currently be assigned to a physical
8764  * button.
8765  *
8766  * An Access error is generated if some other client has already issued a
8767  * GrabButton request with the same button/key combination on the same window.
8768  * When using AnyModifier or AnyButton, the request fails completely (no grabs are
8769  * established), and an Access error is generated if there is a conflicting grab
8770  * for any combination. The request has no effect on an active grab.
8771  *
8772  * This form can be used only if the request will not cause
8773  * a reply to be generated. Any returned error will be
8774  * saved for handling by xcb_request_check().
8775  */
8776 
8777 /*****************************************************************************
8778  **
8779  ** xcb_void_cookie_t xcb_grab_button_checked
8780  **
8781  ** @param xcb_connection_t *c
8782  ** @param uint8_t           owner_events
8783  ** @param xcb_window_t      grab_window
8784  ** @param uint16_t          event_mask
8785  ** @param uint8_t           pointer_mode
8786  ** @param uint8_t           keyboard_mode
8787  ** @param xcb_window_t      confine_to
8788  ** @param xcb_cursor_t      cursor
8789  ** @param uint8_t           button
8790  ** @param uint16_t          modifiers
8791  ** @returns xcb_void_cookie_t
8792  **
8793  *****************************************************************************/
8794 
8795 xcb_void_cookie_t
8796 xcb_grab_button_checked (xcb_connection_t *c  /**< */,
8797                          uint8_t           owner_events  /**< */,
8798                          xcb_window_t      grab_window  /**< */,
8799                          uint16_t          event_mask  /**< */,
8800                          uint8_t           pointer_mode  /**< */,
8801                          uint8_t           keyboard_mode  /**< */,
8802                          xcb_window_t      confine_to  /**< */,
8803                          xcb_cursor_t      cursor  /**< */,
8804                          uint8_t           button  /**< */,
8805                          uint16_t          modifiers  /**< */);
8806 
8807 /**
8808  * @brief Grab pointer button(s)
8809  *
8810  * @param c The connection
8811  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
8812  * reported to the \a grab_window.
8813  * @param grab_window Specifies the window on which the pointer should be grabbed.
8814  * @param event_mask Specifies which pointer events are reported to the client.
8815  * \n
8816  * TODO: which values?
8817  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
8818  * @param pointer_mode \n
8819  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
8820  * @param keyboard_mode \n
8821  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
8822  * move the pointer out of that window).
8823  * \n
8824  * The special value `XCB_NONE` means don't confine the pointer.
8825  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
8826  * cursor.
8827  * @param button A bitmask of #xcb_button_index_t values.
8828  * @param button \n
8829  * @param modifiers The modifiers to grab.
8830  * \n
8831  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
8832  * possible modifier combinations.
8833  * @return A cookie
8834  *
8835  * This request establishes a passive grab. The pointer is actively grabbed as
8836  * described in GrabPointer, the last-pointer-grab time is set to the time at
8837  * which the button was pressed (as transmitted in the ButtonPress event), and the
8838  * ButtonPress event is reported if all of the following conditions are true:
8839  *
8840  * The pointer is not grabbed and the specified button is logically pressed when
8841  * the specified modifier keys are logically down, and no other buttons or
8842  * modifier keys are logically down.
8843  *
8844  * The grab-window contains the pointer.
8845  *
8846  * The confine-to window (if any) is viewable.
8847  *
8848  * A passive grab on the same button/key combination does not exist on any
8849  * ancestor of grab-window.
8850  *
8851  * The interpretation of the remaining arguments is the same as for GrabPointer.
8852  * The active grab is terminated automatically when the logical state of the
8853  * pointer has all buttons released, independent of the logical state of modifier
8854  * keys. Note that the logical state of a device (as seen by means of the
8855  * protocol) may lag the physical state if device event processing is frozen. This
8856  * request overrides all previous passive grabs by the same client on the same
8857  * button/key combinations on the same window. A modifier of AnyModifier is
8858  * equivalent to issuing the request for all possible modifier combinations
8859  * (including the combination of no modifiers). It is not required that all
8860  * specified modifiers have currently assigned keycodes. A button of AnyButton is
8861  * equivalent to issuing the request for all possible buttons. Otherwise, it is
8862  * not required that the button specified currently be assigned to a physical
8863  * button.
8864  *
8865  * An Access error is generated if some other client has already issued a
8866  * GrabButton request with the same button/key combination on the same window.
8867  * When using AnyModifier or AnyButton, the request fails completely (no grabs are
8868  * established), and an Access error is generated if there is a conflicting grab
8869  * for any combination. The request has no effect on an active grab.
8870  *
8871  */
8872 
8873 /*****************************************************************************
8874  **
8875  ** xcb_void_cookie_t xcb_grab_button
8876  **
8877  ** @param xcb_connection_t *c
8878  ** @param uint8_t           owner_events
8879  ** @param xcb_window_t      grab_window
8880  ** @param uint16_t          event_mask
8881  ** @param uint8_t           pointer_mode
8882  ** @param uint8_t           keyboard_mode
8883  ** @param xcb_window_t      confine_to
8884  ** @param xcb_cursor_t      cursor
8885  ** @param uint8_t           button
8886  ** @param uint16_t          modifiers
8887  ** @returns xcb_void_cookie_t
8888  **
8889  *****************************************************************************/
8890 
8891 xcb_void_cookie_t
8892 xcb_grab_button (xcb_connection_t *c  /**< */,
8893                  uint8_t           owner_events  /**< */,
8894                  xcb_window_t      grab_window  /**< */,
8895                  uint16_t          event_mask  /**< */,
8896                  uint8_t           pointer_mode  /**< */,
8897                  uint8_t           keyboard_mode  /**< */,
8898                  xcb_window_t      confine_to  /**< */,
8899                  xcb_cursor_t      cursor  /**< */,
8900                  uint8_t           button  /**< */,
8901                  uint16_t          modifiers  /**< */);
8902 
8903 /**
8904  *
8905  * @param c The connection
8906  * @return A cookie
8907  *
8908  * Delivers a request to the X server.
8909  *
8910  * This form can be used only if the request will not cause
8911  * a reply to be generated. Any returned error will be
8912  * saved for handling by xcb_request_check().
8913  */
8914 
8915 /*****************************************************************************
8916  **
8917  ** xcb_void_cookie_t xcb_ungrab_button_checked
8918  **
8919  ** @param xcb_connection_t *c
8920  ** @param uint8_t           button
8921  ** @param xcb_window_t      grab_window
8922  ** @param uint16_t          modifiers
8923  ** @returns xcb_void_cookie_t
8924  **
8925  *****************************************************************************/
8926 
8927 xcb_void_cookie_t
8928 xcb_ungrab_button_checked (xcb_connection_t *c  /**< */,
8929                            uint8_t           button  /**< */,
8930                            xcb_window_t      grab_window  /**< */,
8931                            uint16_t          modifiers  /**< */);
8932 
8933 /**
8934  *
8935  * @param c The connection
8936  * @return A cookie
8937  *
8938  * Delivers a request to the X server.
8939  *
8940  */
8941 
8942 /*****************************************************************************
8943  **
8944  ** xcb_void_cookie_t xcb_ungrab_button
8945  **
8946  ** @param xcb_connection_t *c
8947  ** @param uint8_t           button
8948  ** @param xcb_window_t      grab_window
8949  ** @param uint16_t          modifiers
8950  ** @returns xcb_void_cookie_t
8951  **
8952  *****************************************************************************/
8953 
8954 xcb_void_cookie_t
8955 xcb_ungrab_button (xcb_connection_t *c  /**< */,
8956                    uint8_t           button  /**< */,
8957                    xcb_window_t      grab_window  /**< */,
8958                    uint16_t          modifiers  /**< */);
8959 
8960 /**
8961  *
8962  * @param c The connection
8963  * @return A cookie
8964  *
8965  * Delivers a request to the X server.
8966  *
8967  * This form can be used only if the request will not cause
8968  * a reply to be generated. Any returned error will be
8969  * saved for handling by xcb_request_check().
8970  */
8971 
8972 /*****************************************************************************
8973  **
8974  ** xcb_void_cookie_t xcb_change_active_pointer_grab_checked
8975  **
8976  ** @param xcb_connection_t *c
8977  ** @param xcb_cursor_t      cursor
8978  ** @param xcb_timestamp_t   time
8979  ** @param uint16_t          event_mask
8980  ** @returns xcb_void_cookie_t
8981  **
8982  *****************************************************************************/
8983 
8984 xcb_void_cookie_t
8985 xcb_change_active_pointer_grab_checked (xcb_connection_t *c  /**< */,
8986                                         xcb_cursor_t      cursor  /**< */,
8987                                         xcb_timestamp_t   time  /**< */,
8988                                         uint16_t          event_mask  /**< */);
8989 
8990 /**
8991  *
8992  * @param c The connection
8993  * @return A cookie
8994  *
8995  * Delivers a request to the X server.
8996  *
8997  */
8998 
8999 /*****************************************************************************
9000  **
9001  ** xcb_void_cookie_t xcb_change_active_pointer_grab
9002  **
9003  ** @param xcb_connection_t *c
9004  ** @param xcb_cursor_t      cursor
9005  ** @param xcb_timestamp_t   time
9006  ** @param uint16_t          event_mask
9007  ** @returns xcb_void_cookie_t
9008  **
9009  *****************************************************************************/
9010 
9011 xcb_void_cookie_t
9012 xcb_change_active_pointer_grab (xcb_connection_t *c  /**< */,
9013                                 xcb_cursor_t      cursor  /**< */,
9014                                 xcb_timestamp_t   time  /**< */,
9015                                 uint16_t          event_mask  /**< */);
9016 
9017 /**
9018  * @brief Grab the keyboard
9019  *
9020  * @param c The connection
9021  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9022  * reported to the \a grab_window.
9023  * @param grab_window Specifies the window on which the pointer should be grabbed.
9024  * @param time Timestamp to avoid race conditions when running X over the network.
9025  * \n
9026  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9027  * time.
9028  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9029  * @param pointer_mode \n
9030  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9031  * @param keyboard_mode \n
9032  * @return A cookie
9033  *
9034  * Actively grabs control of the keyboard and generates FocusIn and FocusOut
9035  * events. Further key events are reported only to the grabbing client.
9036  *
9037  * Any active keyboard grab by this client is overridden. If the keyboard is
9038  * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
9039  * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
9040  * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
9041  * specified \a time is earlier than the last-keyboard-grab time or later than the
9042  * current X server time, `GrabInvalidTime` is returned. Otherwise, the
9043  * last-keyboard-grab time is set to the specified time.
9044  *
9045  */
9046 
9047 /*****************************************************************************
9048  **
9049  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard
9050  **
9051  ** @param xcb_connection_t *c
9052  ** @param uint8_t           owner_events
9053  ** @param xcb_window_t      grab_window
9054  ** @param xcb_timestamp_t   time
9055  ** @param uint8_t           pointer_mode
9056  ** @param uint8_t           keyboard_mode
9057  ** @returns xcb_grab_keyboard_cookie_t
9058  **
9059  *****************************************************************************/
9060 
9061 xcb_grab_keyboard_cookie_t
9062 xcb_grab_keyboard (xcb_connection_t *c  /**< */,
9063                    uint8_t           owner_events  /**< */,
9064                    xcb_window_t      grab_window  /**< */,
9065                    xcb_timestamp_t   time  /**< */,
9066                    uint8_t           pointer_mode  /**< */,
9067                    uint8_t           keyboard_mode  /**< */);
9068 
9069 /**
9070  * @brief Grab the keyboard
9071  *
9072  * @param c The connection
9073  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9074  * reported to the \a grab_window.
9075  * @param grab_window Specifies the window on which the pointer should be grabbed.
9076  * @param time Timestamp to avoid race conditions when running X over the network.
9077  * \n
9078  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9079  * time.
9080  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9081  * @param pointer_mode \n
9082  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9083  * @param keyboard_mode \n
9084  * @return A cookie
9085  *
9086  * Actively grabs control of the keyboard and generates FocusIn and FocusOut
9087  * events. Further key events are reported only to the grabbing client.
9088  *
9089  * Any active keyboard grab by this client is overridden. If the keyboard is
9090  * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
9091  * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
9092  * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
9093  * specified \a time is earlier than the last-keyboard-grab time or later than the
9094  * current X server time, `GrabInvalidTime` is returned. Otherwise, the
9095  * last-keyboard-grab time is set to the specified time.
9096  *
9097  * This form can be used only if the request will cause
9098  * a reply to be generated. Any returned error will be
9099  * placed in the event queue.
9100  */
9101 
9102 /*****************************************************************************
9103  **
9104  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard_unchecked
9105  **
9106  ** @param xcb_connection_t *c
9107  ** @param uint8_t           owner_events
9108  ** @param xcb_window_t      grab_window
9109  ** @param xcb_timestamp_t   time
9110  ** @param uint8_t           pointer_mode
9111  ** @param uint8_t           keyboard_mode
9112  ** @returns xcb_grab_keyboard_cookie_t
9113  **
9114  *****************************************************************************/
9115 
9116 xcb_grab_keyboard_cookie_t
9117 xcb_grab_keyboard_unchecked (xcb_connection_t *c  /**< */,
9118                              uint8_t           owner_events  /**< */,
9119                              xcb_window_t      grab_window  /**< */,
9120                              xcb_timestamp_t   time  /**< */,
9121                              uint8_t           pointer_mode  /**< */,
9122                              uint8_t           keyboard_mode  /**< */);
9123 
9124 /**
9125  * Return the reply
9126  * @param c      The connection
9127  * @param cookie The cookie
9128  * @param e      The xcb_generic_error_t supplied
9129  *
9130  * Returns the reply of the request asked by
9131  *
9132  * The parameter @p e supplied to this function must be NULL if
9133  * xcb_grab_keyboard_unchecked(). is used.
9134  * Otherwise, it stores the error if any.
9135  *
9136  * The returned value must be freed by the caller using free().
9137  */
9138 
9139 /*****************************************************************************
9140  **
9141  ** xcb_grab_keyboard_reply_t * xcb_grab_keyboard_reply
9142  **
9143  ** @param xcb_connection_t            *c
9144  ** @param xcb_grab_keyboard_cookie_t   cookie
9145  ** @param xcb_generic_error_t        **e
9146  ** @returns xcb_grab_keyboard_reply_t *
9147  **
9148  *****************************************************************************/
9149 
9150 xcb_grab_keyboard_reply_t *
9151 xcb_grab_keyboard_reply (xcb_connection_t            *c  /**< */,
9152                          xcb_grab_keyboard_cookie_t   cookie  /**< */,
9153                          xcb_generic_error_t        **e  /**< */);
9154 
9155 /**
9156  *
9157  * @param c The connection
9158  * @return A cookie
9159  *
9160  * Delivers a request to the X server.
9161  *
9162  * This form can be used only if the request will not cause
9163  * a reply to be generated. Any returned error will be
9164  * saved for handling by xcb_request_check().
9165  */
9166 
9167 /*****************************************************************************
9168  **
9169  ** xcb_void_cookie_t xcb_ungrab_keyboard_checked
9170  **
9171  ** @param xcb_connection_t *c
9172  ** @param xcb_timestamp_t   time
9173  ** @returns xcb_void_cookie_t
9174  **
9175  *****************************************************************************/
9176 
9177 xcb_void_cookie_t
9178 xcb_ungrab_keyboard_checked (xcb_connection_t *c  /**< */,
9179                              xcb_timestamp_t   time  /**< */);
9180 
9181 /**
9182  *
9183  * @param c The connection
9184  * @return A cookie
9185  *
9186  * Delivers a request to the X server.
9187  *
9188  */
9189 
9190 /*****************************************************************************
9191  **
9192  ** xcb_void_cookie_t xcb_ungrab_keyboard
9193  **
9194  ** @param xcb_connection_t *c
9195  ** @param xcb_timestamp_t   time
9196  ** @returns xcb_void_cookie_t
9197  **
9198  *****************************************************************************/
9199 
9200 xcb_void_cookie_t
9201 xcb_ungrab_keyboard (xcb_connection_t *c  /**< */,
9202                      xcb_timestamp_t   time  /**< */);
9203 
9204 /**
9205  * @brief Grab keyboard key(s)
9206  *
9207  * @param c The connection
9208  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9209  * reported to the \a grab_window.
9210  * @param grab_window Specifies the window on which the pointer should be grabbed.
9211  * @param modifiers The modifiers to grab.
9212  * \n
9213  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
9214  * possible modifier combinations.
9215  * @param key The keycode of the key to grab.
9216  * \n
9217  * The special value `XCB_GRAB_ANY` means grab any key.
9218  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9219  * @param pointer_mode \n
9220  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9221  * @param keyboard_mode \n
9222  * @return A cookie
9223  *
9224  * Establishes a passive grab on the keyboard. In the future, the keyboard is
9225  * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
9226  * the time at which the key was pressed (as transmitted in the KeyPress event),
9227  * and the KeyPress event is reported if all of the following conditions are true:
9228  *
9229  * The keyboard is not grabbed and the specified key (which can itself be a
9230  * modifier key) is logically pressed when the specified modifier keys are
9231  * logically down, and no other modifier keys are logically down.
9232  *
9233  * Either the grab_window is an ancestor of (or is) the focus window, or the
9234  * grab_window is a descendant of the focus window and contains the pointer.
9235  *
9236  * A passive grab on the same key combination does not exist on any ancestor of
9237  * grab_window.
9238  *
9239  * The interpretation of the remaining arguments is as for XGrabKeyboard.  The active grab is terminated
9240  * automatically when the logical state of the keyboard has the specified key released (independent of the
9241  * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
9242  *
9243  * Note that the logical state of a device (as seen by client applications) may lag the physical state if
9244  * device event processing is frozen.
9245  *
9246  * 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
9247  * have currently assigned KeyCodes.  A keycode argument of AnyKey is equivalent to issuing the request for
9248  * all possible KeyCodes.  Otherwise, the specified keycode must be in the range specified by min_keycode
9249  * and max_keycode in the connection setup, or a BadValue error results.
9250  *
9251  * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
9252  * error results.  When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
9253  * results (no grabs are established) if there is a conflicting grab for any combination.
9254  *
9255  * This form can be used only if the request will not cause
9256  * a reply to be generated. Any returned error will be
9257  * saved for handling by xcb_request_check().
9258  */
9259 
9260 /*****************************************************************************
9261  **
9262  ** xcb_void_cookie_t xcb_grab_key_checked
9263  **
9264  ** @param xcb_connection_t *c
9265  ** @param uint8_t           owner_events
9266  ** @param xcb_window_t      grab_window
9267  ** @param uint16_t          modifiers
9268  ** @param xcb_keycode_t     key
9269  ** @param uint8_t           pointer_mode
9270  ** @param uint8_t           keyboard_mode
9271  ** @returns xcb_void_cookie_t
9272  **
9273  *****************************************************************************/
9274 
9275 xcb_void_cookie_t
9276 xcb_grab_key_checked (xcb_connection_t *c  /**< */,
9277                       uint8_t           owner_events  /**< */,
9278                       xcb_window_t      grab_window  /**< */,
9279                       uint16_t          modifiers  /**< */,
9280                       xcb_keycode_t     key  /**< */,
9281                       uint8_t           pointer_mode  /**< */,
9282                       uint8_t           keyboard_mode  /**< */);
9283 
9284 /**
9285  * @brief Grab keyboard key(s)
9286  *
9287  * @param c The connection
9288  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
9289  * reported to the \a grab_window.
9290  * @param grab_window Specifies the window on which the pointer should be grabbed.
9291  * @param modifiers The modifiers to grab.
9292  * \n
9293  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
9294  * possible modifier combinations.
9295  * @param key The keycode of the key to grab.
9296  * \n
9297  * The special value `XCB_GRAB_ANY` means grab any key.
9298  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
9299  * @param pointer_mode \n
9300  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
9301  * @param keyboard_mode \n
9302  * @return A cookie
9303  *
9304  * Establishes a passive grab on the keyboard. In the future, the keyboard is
9305  * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
9306  * the time at which the key was pressed (as transmitted in the KeyPress event),
9307  * and the KeyPress event is reported if all of the following conditions are true:
9308  *
9309  * The keyboard is not grabbed and the specified key (which can itself be a
9310  * modifier key) is logically pressed when the specified modifier keys are
9311  * logically down, and no other modifier keys are logically down.
9312  *
9313  * Either the grab_window is an ancestor of (or is) the focus window, or the
9314  * grab_window is a descendant of the focus window and contains the pointer.
9315  *
9316  * A passive grab on the same key combination does not exist on any ancestor of
9317  * grab_window.
9318  *
9319  * The interpretation of the remaining arguments is as for XGrabKeyboard.  The active grab is terminated
9320  * automatically when the logical state of the keyboard has the specified key released (independent of the
9321  * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
9322  *
9323  * Note that the logical state of a device (as seen by client applications) may lag the physical state if
9324  * device event processing is frozen.
9325  *
9326  * 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
9327  * have currently assigned KeyCodes.  A keycode argument of AnyKey is equivalent to issuing the request for
9328  * all possible KeyCodes.  Otherwise, the specified keycode must be in the range specified by min_keycode
9329  * and max_keycode in the connection setup, or a BadValue error results.
9330  *
9331  * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
9332  * error results.  When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
9333  * results (no grabs are established) if there is a conflicting grab for any combination.
9334  *
9335  */
9336 
9337 /*****************************************************************************
9338  **
9339  ** xcb_void_cookie_t xcb_grab_key
9340  **
9341  ** @param xcb_connection_t *c
9342  ** @param uint8_t           owner_events
9343  ** @param xcb_window_t      grab_window
9344  ** @param uint16_t          modifiers
9345  ** @param xcb_keycode_t     key
9346  ** @param uint8_t           pointer_mode
9347  ** @param uint8_t           keyboard_mode
9348  ** @returns xcb_void_cookie_t
9349  **
9350  *****************************************************************************/
9351 
9352 xcb_void_cookie_t
9353 xcb_grab_key (xcb_connection_t *c  /**< */,
9354               uint8_t           owner_events  /**< */,
9355               xcb_window_t      grab_window  /**< */,
9356               uint16_t          modifiers  /**< */,
9357               xcb_keycode_t     key  /**< */,
9358               uint8_t           pointer_mode  /**< */,
9359               uint8_t           keyboard_mode  /**< */);
9360 
9361 /**
9362  * @brief release a key combination
9363  *
9364  * @param c The connection
9365  * @param key The keycode of the specified key combination.
9366  * \n
9367  * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
9368  * @param grab_window The window on which the grabbed key combination will be released.
9369  * @param modifiers The modifiers of the specified key combination.
9370  * \n
9371  * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
9372  * with every possible modifier combination.
9373  * @return A cookie
9374  *
9375  * Releases the key combination on \a grab_window if you grabbed it using
9376  * `xcb_grab_key` before.
9377  *
9378  * This form can be used only if the request will not cause
9379  * a reply to be generated. Any returned error will be
9380  * saved for handling by xcb_request_check().
9381  */
9382 
9383 /*****************************************************************************
9384  **
9385  ** xcb_void_cookie_t xcb_ungrab_key_checked
9386  **
9387  ** @param xcb_connection_t *c
9388  ** @param xcb_keycode_t     key
9389  ** @param xcb_window_t      grab_window
9390  ** @param uint16_t          modifiers
9391  ** @returns xcb_void_cookie_t
9392  **
9393  *****************************************************************************/
9394 
9395 xcb_void_cookie_t
9396 xcb_ungrab_key_checked (xcb_connection_t *c  /**< */,
9397                         xcb_keycode_t     key  /**< */,
9398                         xcb_window_t      grab_window  /**< */,
9399                         uint16_t          modifiers  /**< */);
9400 
9401 /**
9402  * @brief release a key combination
9403  *
9404  * @param c The connection
9405  * @param key The keycode of the specified key combination.
9406  * \n
9407  * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
9408  * @param grab_window The window on which the grabbed key combination will be released.
9409  * @param modifiers The modifiers of the specified key combination.
9410  * \n
9411  * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
9412  * with every possible modifier combination.
9413  * @return A cookie
9414  *
9415  * Releases the key combination on \a grab_window if you grabbed it using
9416  * `xcb_grab_key` before.
9417  *
9418  */
9419 
9420 /*****************************************************************************
9421  **
9422  ** xcb_void_cookie_t xcb_ungrab_key
9423  **
9424  ** @param xcb_connection_t *c
9425  ** @param xcb_keycode_t     key
9426  ** @param xcb_window_t      grab_window
9427  ** @param uint16_t          modifiers
9428  ** @returns xcb_void_cookie_t
9429  **
9430  *****************************************************************************/
9431 
9432 xcb_void_cookie_t
9433 xcb_ungrab_key (xcb_connection_t *c  /**< */,
9434                 xcb_keycode_t     key  /**< */,
9435                 xcb_window_t      grab_window  /**< */,
9436                 uint16_t          modifiers  /**< */);
9437 
9438 /**
9439  * @brief release queued events
9440  *
9441  * @param c The connection
9442  * @param mode A bitmask of #xcb_allow_t values.
9443  * @param mode \n
9444  * @param time Timestamp to avoid race conditions when running X over the network.
9445  * \n
9446  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9447  * time.
9448  * @return A cookie
9449  *
9450  * Releases queued events if the client has caused a device (pointer/keyboard) to
9451  * freeze due to grabbing it actively. This request has no effect if \a time is
9452  * earlier than the last-grab time of the most recent active grab for this client
9453  * or if \a time is later than the current X server time.
9454  *
9455  * This form can be used only if the request will not cause
9456  * a reply to be generated. Any returned error will be
9457  * saved for handling by xcb_request_check().
9458  */
9459 
9460 /*****************************************************************************
9461  **
9462  ** xcb_void_cookie_t xcb_allow_events_checked
9463  **
9464  ** @param xcb_connection_t *c
9465  ** @param uint8_t           mode
9466  ** @param xcb_timestamp_t   time
9467  ** @returns xcb_void_cookie_t
9468  **
9469  *****************************************************************************/
9470 
9471 xcb_void_cookie_t
9472 xcb_allow_events_checked (xcb_connection_t *c  /**< */,
9473                           uint8_t           mode  /**< */,
9474                           xcb_timestamp_t   time  /**< */);
9475 
9476 /**
9477  * @brief release queued events
9478  *
9479  * @param c The connection
9480  * @param mode A bitmask of #xcb_allow_t values.
9481  * @param mode \n
9482  * @param time Timestamp to avoid race conditions when running X over the network.
9483  * \n
9484  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
9485  * time.
9486  * @return A cookie
9487  *
9488  * Releases queued events if the client has caused a device (pointer/keyboard) to
9489  * freeze due to grabbing it actively. This request has no effect if \a time is
9490  * earlier than the last-grab time of the most recent active grab for this client
9491  * or if \a time is later than the current X server time.
9492  *
9493  */
9494 
9495 /*****************************************************************************
9496  **
9497  ** xcb_void_cookie_t xcb_allow_events
9498  **
9499  ** @param xcb_connection_t *c
9500  ** @param uint8_t           mode
9501  ** @param xcb_timestamp_t   time
9502  ** @returns xcb_void_cookie_t
9503  **
9504  *****************************************************************************/
9505 
9506 xcb_void_cookie_t
9507 xcb_allow_events (xcb_connection_t *c  /**< */,
9508                   uint8_t           mode  /**< */,
9509                   xcb_timestamp_t   time  /**< */);
9510 
9511 /**
9512  *
9513  * @param c The connection
9514  * @return A cookie
9515  *
9516  * Delivers a request to the X server.
9517  *
9518  * This form can be used only if the request will not cause
9519  * a reply to be generated. Any returned error will be
9520  * saved for handling by xcb_request_check().
9521  */
9522 
9523 /*****************************************************************************
9524  **
9525  ** xcb_void_cookie_t xcb_grab_server_checked
9526  **
9527  ** @param xcb_connection_t *c
9528  ** @returns xcb_void_cookie_t
9529  **
9530  *****************************************************************************/
9531 
9532 xcb_void_cookie_t
9533 xcb_grab_server_checked (xcb_connection_t *c  /**< */);
9534 
9535 /**
9536  *
9537  * @param c The connection
9538  * @return A cookie
9539  *
9540  * Delivers a request to the X server.
9541  *
9542  */
9543 
9544 /*****************************************************************************
9545  **
9546  ** xcb_void_cookie_t xcb_grab_server
9547  **
9548  ** @param xcb_connection_t *c
9549  ** @returns xcb_void_cookie_t
9550  **
9551  *****************************************************************************/
9552 
9553 xcb_void_cookie_t
9554 xcb_grab_server (xcb_connection_t *c  /**< */);
9555 
9556 /**
9557  *
9558  * @param c The connection
9559  * @return A cookie
9560  *
9561  * Delivers a request to the X server.
9562  *
9563  * This form can be used only if the request will not cause
9564  * a reply to be generated. Any returned error will be
9565  * saved for handling by xcb_request_check().
9566  */
9567 
9568 /*****************************************************************************
9569  **
9570  ** xcb_void_cookie_t xcb_ungrab_server_checked
9571  **
9572  ** @param xcb_connection_t *c
9573  ** @returns xcb_void_cookie_t
9574  **
9575  *****************************************************************************/
9576 
9577 xcb_void_cookie_t
9578 xcb_ungrab_server_checked (xcb_connection_t *c  /**< */);
9579 
9580 /**
9581  *
9582  * @param c The connection
9583  * @return A cookie
9584  *
9585  * Delivers a request to the X server.
9586  *
9587  */
9588 
9589 /*****************************************************************************
9590  **
9591  ** xcb_void_cookie_t xcb_ungrab_server
9592  **
9593  ** @param xcb_connection_t *c
9594  ** @returns xcb_void_cookie_t
9595  **
9596  *****************************************************************************/
9597 
9598 xcb_void_cookie_t
9599 xcb_ungrab_server (xcb_connection_t *c  /**< */);
9600 
9601 /**
9602  * @brief get pointer coordinates
9603  *
9604  * @param c The connection
9605  * @param window A window to check if the pointer is on the same screen as \a window (see the
9606  * `same_screen` field in the reply).
9607  * @return A cookie
9608  *
9609  * Gets the root window the pointer is logically on and the pointer coordinates
9610  * relative to the root window's origin.
9611  *
9612  */
9613 
9614 /*****************************************************************************
9615  **
9616  ** xcb_query_pointer_cookie_t xcb_query_pointer
9617  **
9618  ** @param xcb_connection_t *c
9619  ** @param xcb_window_t      window
9620  ** @returns xcb_query_pointer_cookie_t
9621  **
9622  *****************************************************************************/
9623 
9624 xcb_query_pointer_cookie_t
9625 xcb_query_pointer (xcb_connection_t *c  /**< */,
9626                    xcb_window_t      window  /**< */);
9627 
9628 /**
9629  * @brief get pointer coordinates
9630  *
9631  * @param c The connection
9632  * @param window A window to check if the pointer is on the same screen as \a window (see the
9633  * `same_screen` field in the reply).
9634  * @return A cookie
9635  *
9636  * Gets the root window the pointer is logically on and the pointer coordinates
9637  * relative to the root window's origin.
9638  *
9639  * This form can be used only if the request will cause
9640  * a reply to be generated. Any returned error will be
9641  * placed in the event queue.
9642  */
9643 
9644 /*****************************************************************************
9645  **
9646  ** xcb_query_pointer_cookie_t xcb_query_pointer_unchecked
9647  **
9648  ** @param xcb_connection_t *c
9649  ** @param xcb_window_t      window
9650  ** @returns xcb_query_pointer_cookie_t
9651  **
9652  *****************************************************************************/
9653 
9654 xcb_query_pointer_cookie_t
9655 xcb_query_pointer_unchecked (xcb_connection_t *c  /**< */,
9656                              xcb_window_t      window  /**< */);
9657 
9658 /**
9659  * Return the reply
9660  * @param c      The connection
9661  * @param cookie The cookie
9662  * @param e      The xcb_generic_error_t supplied
9663  *
9664  * Returns the reply of the request asked by
9665  *
9666  * The parameter @p e supplied to this function must be NULL if
9667  * xcb_query_pointer_unchecked(). is used.
9668  * Otherwise, it stores the error if any.
9669  *
9670  * The returned value must be freed by the caller using free().
9671  */
9672 
9673 /*****************************************************************************
9674  **
9675  ** xcb_query_pointer_reply_t * xcb_query_pointer_reply
9676  **
9677  ** @param xcb_connection_t            *c
9678  ** @param xcb_query_pointer_cookie_t   cookie
9679  ** @param xcb_generic_error_t        **e
9680  ** @returns xcb_query_pointer_reply_t *
9681  **
9682  *****************************************************************************/
9683 
9684 xcb_query_pointer_reply_t *
9685 xcb_query_pointer_reply (xcb_connection_t            *c  /**< */,
9686                          xcb_query_pointer_cookie_t   cookie  /**< */,
9687                          xcb_generic_error_t        **e  /**< */);
9688 
9689 /**
9690  * Get the next element of the iterator
9691  * @param i Pointer to a xcb_timecoord_iterator_t
9692  *
9693  * Get the next element in the iterator. The member rem is
9694  * decreased by one. The member data points to the next
9695  * element. The member index is increased by sizeof(xcb_timecoord_t)
9696  */
9697 
9698 /*****************************************************************************
9699  **
9700  ** void xcb_timecoord_next
9701  **
9702  ** @param xcb_timecoord_iterator_t *i
9703  ** @returns void
9704  **
9705  *****************************************************************************/
9706 
9707 void
9708 xcb_timecoord_next (xcb_timecoord_iterator_t *i  /**< */);
9709 
9710 /**
9711  * Return the iterator pointing to the last element
9712  * @param i An xcb_timecoord_iterator_t
9713  * @return  The iterator pointing to the last element
9714  *
9715  * Set the current element in the iterator to the last element.
9716  * The member rem is set to 0. The member data points to the
9717  * last element.
9718  */
9719 
9720 /*****************************************************************************
9721  **
9722  ** xcb_generic_iterator_t xcb_timecoord_end
9723  **
9724  ** @param xcb_timecoord_iterator_t i
9725  ** @returns xcb_generic_iterator_t
9726  **
9727  *****************************************************************************/
9728 
9729 xcb_generic_iterator_t
9730 xcb_timecoord_end (xcb_timecoord_iterator_t i  /**< */);
9731 
9732 int
9733 xcb_get_motion_events_sizeof (const void  *_buffer  /**< */);
9734 
9735 /**
9736  *
9737  * @param c The connection
9738  * @return A cookie
9739  *
9740  * Delivers a request to the X server.
9741  *
9742  */
9743 
9744 /*****************************************************************************
9745  **
9746  ** xcb_get_motion_events_cookie_t xcb_get_motion_events
9747  **
9748  ** @param xcb_connection_t *c
9749  ** @param xcb_window_t      window
9750  ** @param xcb_timestamp_t   start
9751  ** @param xcb_timestamp_t   stop
9752  ** @returns xcb_get_motion_events_cookie_t
9753  **
9754  *****************************************************************************/
9755 
9756 xcb_get_motion_events_cookie_t
9757 xcb_get_motion_events (xcb_connection_t *c  /**< */,
9758                        xcb_window_t      window  /**< */,
9759                        xcb_timestamp_t   start  /**< */,
9760                        xcb_timestamp_t   stop  /**< */);
9761 
9762 /**
9763  *
9764  * @param c The connection
9765  * @return A cookie
9766  *
9767  * Delivers a request to the X server.
9768  *
9769  * This form can be used only if the request will cause
9770  * a reply to be generated. Any returned error will be
9771  * placed in the event queue.
9772  */
9773 
9774 /*****************************************************************************
9775  **
9776  ** xcb_get_motion_events_cookie_t xcb_get_motion_events_unchecked
9777  **
9778  ** @param xcb_connection_t *c
9779  ** @param xcb_window_t      window
9780  ** @param xcb_timestamp_t   start
9781  ** @param xcb_timestamp_t   stop
9782  ** @returns xcb_get_motion_events_cookie_t
9783  **
9784  *****************************************************************************/
9785 
9786 xcb_get_motion_events_cookie_t
9787 xcb_get_motion_events_unchecked (xcb_connection_t *c  /**< */,
9788                                  xcb_window_t      window  /**< */,
9789                                  xcb_timestamp_t   start  /**< */,
9790                                  xcb_timestamp_t   stop  /**< */);
9791 
9792 
9793 /*****************************************************************************
9794  **
9795  ** xcb_timecoord_t * xcb_get_motion_events_events
9796  **
9797  ** @param const xcb_get_motion_events_reply_t *R
9798  ** @returns xcb_timecoord_t *
9799  **
9800  *****************************************************************************/
9801 
9802 xcb_timecoord_t *
9803 xcb_get_motion_events_events (const xcb_get_motion_events_reply_t *R  /**< */);
9804 
9805 
9806 /*****************************************************************************
9807  **
9808  ** int xcb_get_motion_events_events_length
9809  **
9810  ** @param const xcb_get_motion_events_reply_t *R
9811  ** @returns int
9812  **
9813  *****************************************************************************/
9814 
9815 int
9816 xcb_get_motion_events_events_length (const xcb_get_motion_events_reply_t *R  /**< */);
9817 
9818 
9819 /*****************************************************************************
9820  **
9821  ** xcb_timecoord_iterator_t xcb_get_motion_events_events_iterator
9822  **
9823  ** @param const xcb_get_motion_events_reply_t *R
9824  ** @returns xcb_timecoord_iterator_t
9825  **
9826  *****************************************************************************/
9827 
9828 xcb_timecoord_iterator_t
9829 xcb_get_motion_events_events_iterator (const xcb_get_motion_events_reply_t *R  /**< */);
9830 
9831 /**
9832  * Return the reply
9833  * @param c      The connection
9834  * @param cookie The cookie
9835  * @param e      The xcb_generic_error_t supplied
9836  *
9837  * Returns the reply of the request asked by
9838  *
9839  * The parameter @p e supplied to this function must be NULL if
9840  * xcb_get_motion_events_unchecked(). is used.
9841  * Otherwise, it stores the error if any.
9842  *
9843  * The returned value must be freed by the caller using free().
9844  */
9845 
9846 /*****************************************************************************
9847  **
9848  ** xcb_get_motion_events_reply_t * xcb_get_motion_events_reply
9849  **
9850  ** @param xcb_connection_t                *c
9851  ** @param xcb_get_motion_events_cookie_t   cookie
9852  ** @param xcb_generic_error_t            **e
9853  ** @returns xcb_get_motion_events_reply_t *
9854  **
9855  *****************************************************************************/
9856 
9857 xcb_get_motion_events_reply_t *
9858 xcb_get_motion_events_reply (xcb_connection_t                *c  /**< */,
9859                              xcb_get_motion_events_cookie_t   cookie  /**< */,
9860                              xcb_generic_error_t            **e  /**< */);
9861 
9862 /**
9863  *
9864  * @param c The connection
9865  * @return A cookie
9866  *
9867  * Delivers a request to the X server.
9868  *
9869  */
9870 
9871 /*****************************************************************************
9872  **
9873  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates
9874  **
9875  ** @param xcb_connection_t *c
9876  ** @param xcb_window_t      src_window
9877  ** @param xcb_window_t      dst_window
9878  ** @param int16_t           src_x
9879  ** @param int16_t           src_y
9880  ** @returns xcb_translate_coordinates_cookie_t
9881  **
9882  *****************************************************************************/
9883 
9884 xcb_translate_coordinates_cookie_t
9885 xcb_translate_coordinates (xcb_connection_t *c  /**< */,
9886                            xcb_window_t      src_window  /**< */,
9887                            xcb_window_t      dst_window  /**< */,
9888                            int16_t           src_x  /**< */,
9889                            int16_t           src_y  /**< */);
9890 
9891 /**
9892  *
9893  * @param c The connection
9894  * @return A cookie
9895  *
9896  * Delivers a request to the X server.
9897  *
9898  * This form can be used only if the request will cause
9899  * a reply to be generated. Any returned error will be
9900  * placed in the event queue.
9901  */
9902 
9903 /*****************************************************************************
9904  **
9905  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates_unchecked
9906  **
9907  ** @param xcb_connection_t *c
9908  ** @param xcb_window_t      src_window
9909  ** @param xcb_window_t      dst_window
9910  ** @param int16_t           src_x
9911  ** @param int16_t           src_y
9912  ** @returns xcb_translate_coordinates_cookie_t
9913  **
9914  *****************************************************************************/
9915 
9916 xcb_translate_coordinates_cookie_t
9917 xcb_translate_coordinates_unchecked (xcb_connection_t *c  /**< */,
9918                                      xcb_window_t      src_window  /**< */,
9919                                      xcb_window_t      dst_window  /**< */,
9920                                      int16_t           src_x  /**< */,
9921                                      int16_t           src_y  /**< */);
9922 
9923 /**
9924  * Return the reply
9925  * @param c      The connection
9926  * @param cookie The cookie
9927  * @param e      The xcb_generic_error_t supplied
9928  *
9929  * Returns the reply of the request asked by
9930  *
9931  * The parameter @p e supplied to this function must be NULL if
9932  * xcb_translate_coordinates_unchecked(). is used.
9933  * Otherwise, it stores the error if any.
9934  *
9935  * The returned value must be freed by the caller using free().
9936  */
9937 
9938 /*****************************************************************************
9939  **
9940  ** xcb_translate_coordinates_reply_t * xcb_translate_coordinates_reply
9941  **
9942  ** @param xcb_connection_t                    *c
9943  ** @param xcb_translate_coordinates_cookie_t   cookie
9944  ** @param xcb_generic_error_t                **e
9945  ** @returns xcb_translate_coordinates_reply_t *
9946  **
9947  *****************************************************************************/
9948 
9949 xcb_translate_coordinates_reply_t *
9950 xcb_translate_coordinates_reply (xcb_connection_t                    *c  /**< */,
9951                                  xcb_translate_coordinates_cookie_t   cookie  /**< */,
9952                                  xcb_generic_error_t                **e  /**< */);
9953 
9954 /**
9955  * @brief move mouse pointer
9956  *
9957  * @param c The connection
9958  * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
9959  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
9960  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
9961  * \a src_window.
9962  * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
9963  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
9964  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
9965  * relative to the current position of the pointer.
9966  * @return A cookie
9967  *
9968  * Moves the mouse pointer to the specified position.
9969  *
9970  * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
9971  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
9972  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
9973  * \a src_window.
9974  *
9975  * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
9976  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
9977  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
9978  * relative to the current position of the pointer.
9979  *
9980  * This form can be used only if the request will not cause
9981  * a reply to be generated. Any returned error will be
9982  * saved for handling by xcb_request_check().
9983  */
9984 
9985 /*****************************************************************************
9986  **
9987  ** xcb_void_cookie_t xcb_warp_pointer_checked
9988  **
9989  ** @param xcb_connection_t *c
9990  ** @param xcb_window_t      src_window
9991  ** @param xcb_window_t      dst_window
9992  ** @param int16_t           src_x
9993  ** @param int16_t           src_y
9994  ** @param uint16_t          src_width
9995  ** @param uint16_t          src_height
9996  ** @param int16_t           dst_x
9997  ** @param int16_t           dst_y
9998  ** @returns xcb_void_cookie_t
9999  **
10000  *****************************************************************************/
10001 
10002 xcb_void_cookie_t
10003 xcb_warp_pointer_checked (xcb_connection_t *c  /**< */,
10004                           xcb_window_t      src_window  /**< */,
10005                           xcb_window_t      dst_window  /**< */,
10006                           int16_t           src_x  /**< */,
10007                           int16_t           src_y  /**< */,
10008                           uint16_t          src_width  /**< */,
10009                           uint16_t          src_height  /**< */,
10010                           int16_t           dst_x  /**< */,
10011                           int16_t           dst_y  /**< */);
10012 
10013 /**
10014  * @brief move mouse pointer
10015  *
10016  * @param c The connection
10017  * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
10018  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
10019  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
10020  * \a src_window.
10021  * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
10022  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
10023  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
10024  * relative to the current position of the pointer.
10025  * @return A cookie
10026  *
10027  * Moves the mouse pointer to the specified position.
10028  *
10029  * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
10030  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
10031  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
10032  * \a src_window.
10033  *
10034  * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
10035  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
10036  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
10037  * relative to the current position of the pointer.
10038  *
10039  */
10040 
10041 /*****************************************************************************
10042  **
10043  ** xcb_void_cookie_t xcb_warp_pointer
10044  **
10045  ** @param xcb_connection_t *c
10046  ** @param xcb_window_t      src_window
10047  ** @param xcb_window_t      dst_window
10048  ** @param int16_t           src_x
10049  ** @param int16_t           src_y
10050  ** @param uint16_t          src_width
10051  ** @param uint16_t          src_height
10052  ** @param int16_t           dst_x
10053  ** @param int16_t           dst_y
10054  ** @returns xcb_void_cookie_t
10055  **
10056  *****************************************************************************/
10057 
10058 xcb_void_cookie_t
10059 xcb_warp_pointer (xcb_connection_t *c  /**< */,
10060                   xcb_window_t      src_window  /**< */,
10061                   xcb_window_t      dst_window  /**< */,
10062                   int16_t           src_x  /**< */,
10063                   int16_t           src_y  /**< */,
10064                   uint16_t          src_width  /**< */,
10065                   uint16_t          src_height  /**< */,
10066                   int16_t           dst_x  /**< */,
10067                   int16_t           dst_y  /**< */);
10068 
10069 /**
10070  * @brief Sets input focus
10071  *
10072  * @param c The connection
10073  * @param revert_to A bitmask of #xcb_input_focus_t values.
10074  * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
10075  * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
10076  * @param focus The window to focus. All keyboard events will be reported to this window. The
10077  * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
10078  * \n
10079  * If \a focus is `XCB_NONE` (TODO), all keyboard events are
10080  * discarded until a new focus window is set.
10081  * \n
10082  * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
10083  * screen on which the pointer is on currently.
10084  * @param time Timestamp to avoid race conditions when running X over the network.
10085  * \n
10086  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
10087  * time.
10088  * @return A cookie
10089  *
10090  * Changes the input focus and the last-focus-change time. If the specified \a time
10091  * is earlier than the current last-focus-change time, the request is ignored (to
10092  * avoid race conditions when running X over the network).
10093  *
10094  * A FocusIn and FocusOut event is generated when focus is changed.
10095  *
10096  * This form can be used only if the request will not cause
10097  * a reply to be generated. Any returned error will be
10098  * saved for handling by xcb_request_check().
10099  */
10100 
10101 /*****************************************************************************
10102  **
10103  ** xcb_void_cookie_t xcb_set_input_focus_checked
10104  **
10105  ** @param xcb_connection_t *c
10106  ** @param uint8_t           revert_to
10107  ** @param xcb_window_t      focus
10108  ** @param xcb_timestamp_t   time
10109  ** @returns xcb_void_cookie_t
10110  **
10111  *****************************************************************************/
10112 
10113 xcb_void_cookie_t
10114 xcb_set_input_focus_checked (xcb_connection_t *c  /**< */,
10115                              uint8_t           revert_to  /**< */,
10116                              xcb_window_t      focus  /**< */,
10117                              xcb_timestamp_t   time  /**< */);
10118 
10119 /**
10120  * @brief Sets input focus
10121  *
10122  * @param c The connection
10123  * @param revert_to A bitmask of #xcb_input_focus_t values.
10124  * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
10125  * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
10126  * @param focus The window to focus. All keyboard events will be reported to this window. The
10127  * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
10128  * \n
10129  * If \a focus is `XCB_NONE` (TODO), all keyboard events are
10130  * discarded until a new focus window is set.
10131  * \n
10132  * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
10133  * screen on which the pointer is on currently.
10134  * @param time Timestamp to avoid race conditions when running X over the network.
10135  * \n
10136  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
10137  * time.
10138  * @return A cookie
10139  *
10140  * Changes the input focus and the last-focus-change time. If the specified \a time
10141  * is earlier than the current last-focus-change time, the request is ignored (to
10142  * avoid race conditions when running X over the network).
10143  *
10144  * A FocusIn and FocusOut event is generated when focus is changed.
10145  *
10146  */
10147 
10148 /*****************************************************************************
10149  **
10150  ** xcb_void_cookie_t xcb_set_input_focus
10151  **
10152  ** @param xcb_connection_t *c
10153  ** @param uint8_t           revert_to
10154  ** @param xcb_window_t      focus
10155  ** @param xcb_timestamp_t   time
10156  ** @returns xcb_void_cookie_t
10157  **
10158  *****************************************************************************/
10159 
10160 xcb_void_cookie_t
10161 xcb_set_input_focus (xcb_connection_t *c  /**< */,
10162                      uint8_t           revert_to  /**< */,
10163                      xcb_window_t      focus  /**< */,
10164                      xcb_timestamp_t   time  /**< */);
10165 
10166 /**
10167  *
10168  * @param c The connection
10169  * @return A cookie
10170  *
10171  * Delivers a request to the X server.
10172  *
10173  */
10174 
10175 /*****************************************************************************
10176  **
10177  ** xcb_get_input_focus_cookie_t xcb_get_input_focus
10178  **
10179  ** @param xcb_connection_t *c
10180  ** @returns xcb_get_input_focus_cookie_t
10181  **
10182  *****************************************************************************/
10183 
10184 xcb_get_input_focus_cookie_t
10185 xcb_get_input_focus (xcb_connection_t *c  /**< */);
10186 
10187 /**
10188  *
10189  * @param c The connection
10190  * @return A cookie
10191  *
10192  * Delivers a request to the X server.
10193  *
10194  * This form can be used only if the request will cause
10195  * a reply to be generated. Any returned error will be
10196  * placed in the event queue.
10197  */
10198 
10199 /*****************************************************************************
10200  **
10201  ** xcb_get_input_focus_cookie_t xcb_get_input_focus_unchecked
10202  **
10203  ** @param xcb_connection_t *c
10204  ** @returns xcb_get_input_focus_cookie_t
10205  **
10206  *****************************************************************************/
10207 
10208 xcb_get_input_focus_cookie_t
10209 xcb_get_input_focus_unchecked (xcb_connection_t *c  /**< */);
10210 
10211 /**
10212  * Return the reply
10213  * @param c      The connection
10214  * @param cookie The cookie
10215  * @param e      The xcb_generic_error_t supplied
10216  *
10217  * Returns the reply of the request asked by
10218  *
10219  * The parameter @p e supplied to this function must be NULL if
10220  * xcb_get_input_focus_unchecked(). is used.
10221  * Otherwise, it stores the error if any.
10222  *
10223  * The returned value must be freed by the caller using free().
10224  */
10225 
10226 /*****************************************************************************
10227  **
10228  ** xcb_get_input_focus_reply_t * xcb_get_input_focus_reply
10229  **
10230  ** @param xcb_connection_t              *c
10231  ** @param xcb_get_input_focus_cookie_t   cookie
10232  ** @param xcb_generic_error_t          **e
10233  ** @returns xcb_get_input_focus_reply_t *
10234  **
10235  *****************************************************************************/
10236 
10237 xcb_get_input_focus_reply_t *
10238 xcb_get_input_focus_reply (xcb_connection_t              *c  /**< */,
10239                            xcb_get_input_focus_cookie_t   cookie  /**< */,
10240                            xcb_generic_error_t          **e  /**< */);
10241 
10242 /**
10243  *
10244  * @param c The connection
10245  * @return A cookie
10246  *
10247  * Delivers a request to the X server.
10248  *
10249  */
10250 
10251 /*****************************************************************************
10252  **
10253  ** xcb_query_keymap_cookie_t xcb_query_keymap
10254  **
10255  ** @param xcb_connection_t *c
10256  ** @returns xcb_query_keymap_cookie_t
10257  **
10258  *****************************************************************************/
10259 
10260 xcb_query_keymap_cookie_t
10261 xcb_query_keymap (xcb_connection_t *c  /**< */);
10262 
10263 /**
10264  *
10265  * @param c The connection
10266  * @return A cookie
10267  *
10268  * Delivers a request to the X server.
10269  *
10270  * This form can be used only if the request will cause
10271  * a reply to be generated. Any returned error will be
10272  * placed in the event queue.
10273  */
10274 
10275 /*****************************************************************************
10276  **
10277  ** xcb_query_keymap_cookie_t xcb_query_keymap_unchecked
10278  **
10279  ** @param xcb_connection_t *c
10280  ** @returns xcb_query_keymap_cookie_t
10281  **
10282  *****************************************************************************/
10283 
10284 xcb_query_keymap_cookie_t
10285 xcb_query_keymap_unchecked (xcb_connection_t *c  /**< */);
10286 
10287 /**
10288  * Return the reply
10289  * @param c      The connection
10290  * @param cookie The cookie
10291  * @param e      The xcb_generic_error_t supplied
10292  *
10293  * Returns the reply of the request asked by
10294  *
10295  * The parameter @p e supplied to this function must be NULL if
10296  * xcb_query_keymap_unchecked(). is used.
10297  * Otherwise, it stores the error if any.
10298  *
10299  * The returned value must be freed by the caller using free().
10300  */
10301 
10302 /*****************************************************************************
10303  **
10304  ** xcb_query_keymap_reply_t * xcb_query_keymap_reply
10305  **
10306  ** @param xcb_connection_t           *c
10307  ** @param xcb_query_keymap_cookie_t   cookie
10308  ** @param xcb_generic_error_t       **e
10309  ** @returns xcb_query_keymap_reply_t *
10310  **
10311  *****************************************************************************/
10312 
10313 xcb_query_keymap_reply_t *
10314 xcb_query_keymap_reply (xcb_connection_t           *c  /**< */,
10315                         xcb_query_keymap_cookie_t   cookie  /**< */,
10316                         xcb_generic_error_t       **e  /**< */);
10317 
10318 int
10319 xcb_open_font_sizeof (const void  *_buffer  /**< */);
10320 
10321 /**
10322  * @brief opens a font
10323  *
10324  * @param c The connection
10325  * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
10326  * @param name_len Length (in bytes) of \a name.
10327  * @param name A pattern describing an X core font.
10328  * @return A cookie
10329  *
10330  * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
10331  *
10332  * Note that X core fonts are deprecated (but still supported) in favor of
10333  * client-side rendering using Xft.
10334  *
10335  * This form can be used only if the request will not cause
10336  * a reply to be generated. Any returned error will be
10337  * saved for handling by xcb_request_check().
10338  */
10339 
10340 /*****************************************************************************
10341  **
10342  ** xcb_void_cookie_t xcb_open_font_checked
10343  **
10344  ** @param xcb_connection_t *c
10345  ** @param xcb_font_t        fid
10346  ** @param uint16_t          name_len
10347  ** @param const char       *name
10348  ** @returns xcb_void_cookie_t
10349  **
10350  *****************************************************************************/
10351 
10352 xcb_void_cookie_t
10353 xcb_open_font_checked (xcb_connection_t *c  /**< */,
10354                        xcb_font_t        fid  /**< */,
10355                        uint16_t          name_len  /**< */,
10356                        const char       *name  /**< */);
10357 
10358 /**
10359  * @brief opens a font
10360  *
10361  * @param c The connection
10362  * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
10363  * @param name_len Length (in bytes) of \a name.
10364  * @param name A pattern describing an X core font.
10365  * @return A cookie
10366  *
10367  * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
10368  *
10369  * Note that X core fonts are deprecated (but still supported) in favor of
10370  * client-side rendering using Xft.
10371  *
10372  */
10373 
10374 /*****************************************************************************
10375  **
10376  ** xcb_void_cookie_t xcb_open_font
10377  **
10378  ** @param xcb_connection_t *c
10379  ** @param xcb_font_t        fid
10380  ** @param uint16_t          name_len
10381  ** @param const char       *name
10382  ** @returns xcb_void_cookie_t
10383  **
10384  *****************************************************************************/
10385 
10386 xcb_void_cookie_t
10387 xcb_open_font (xcb_connection_t *c  /**< */,
10388                xcb_font_t        fid  /**< */,
10389                uint16_t          name_len  /**< */,
10390                const char       *name  /**< */);
10391 
10392 /**
10393  *
10394  * @param c The connection
10395  * @return A cookie
10396  *
10397  * Delivers a request to the X server.
10398  *
10399  * This form can be used only if the request will not cause
10400  * a reply to be generated. Any returned error will be
10401  * saved for handling by xcb_request_check().
10402  */
10403 
10404 /*****************************************************************************
10405  **
10406  ** xcb_void_cookie_t xcb_close_font_checked
10407  **
10408  ** @param xcb_connection_t *c
10409  ** @param xcb_font_t        font
10410  ** @returns xcb_void_cookie_t
10411  **
10412  *****************************************************************************/
10413 
10414 xcb_void_cookie_t
10415 xcb_close_font_checked (xcb_connection_t *c  /**< */,
10416                         xcb_font_t        font  /**< */);
10417 
10418 /**
10419  *
10420  * @param c The connection
10421  * @return A cookie
10422  *
10423  * Delivers a request to the X server.
10424  *
10425  */
10426 
10427 /*****************************************************************************
10428  **
10429  ** xcb_void_cookie_t xcb_close_font
10430  **
10431  ** @param xcb_connection_t *c
10432  ** @param xcb_font_t        font
10433  ** @returns xcb_void_cookie_t
10434  **
10435  *****************************************************************************/
10436 
10437 xcb_void_cookie_t
10438 xcb_close_font (xcb_connection_t *c  /**< */,
10439                 xcb_font_t        font  /**< */);
10440 
10441 /**
10442  * Get the next element of the iterator
10443  * @param i Pointer to a xcb_fontprop_iterator_t
10444  *
10445  * Get the next element in the iterator. The member rem is
10446  * decreased by one. The member data points to the next
10447  * element. The member index is increased by sizeof(xcb_fontprop_t)
10448  */
10449 
10450 /*****************************************************************************
10451  **
10452  ** void xcb_fontprop_next
10453  **
10454  ** @param xcb_fontprop_iterator_t *i
10455  ** @returns void
10456  **
10457  *****************************************************************************/
10458 
10459 void
10460 xcb_fontprop_next (xcb_fontprop_iterator_t *i  /**< */);
10461 
10462 /**
10463  * Return the iterator pointing to the last element
10464  * @param i An xcb_fontprop_iterator_t
10465  * @return  The iterator pointing to the last element
10466  *
10467  * Set the current element in the iterator to the last element.
10468  * The member rem is set to 0. The member data points to the
10469  * last element.
10470  */
10471 
10472 /*****************************************************************************
10473  **
10474  ** xcb_generic_iterator_t xcb_fontprop_end
10475  **
10476  ** @param xcb_fontprop_iterator_t i
10477  ** @returns xcb_generic_iterator_t
10478  **
10479  *****************************************************************************/
10480 
10481 xcb_generic_iterator_t
10482 xcb_fontprop_end (xcb_fontprop_iterator_t i  /**< */);
10483 
10484 /**
10485  * Get the next element of the iterator
10486  * @param i Pointer to a xcb_charinfo_iterator_t
10487  *
10488  * Get the next element in the iterator. The member rem is
10489  * decreased by one. The member data points to the next
10490  * element. The member index is increased by sizeof(xcb_charinfo_t)
10491  */
10492 
10493 /*****************************************************************************
10494  **
10495  ** void xcb_charinfo_next
10496  **
10497  ** @param xcb_charinfo_iterator_t *i
10498  ** @returns void
10499  **
10500  *****************************************************************************/
10501 
10502 void
10503 xcb_charinfo_next (xcb_charinfo_iterator_t *i  /**< */);
10504 
10505 /**
10506  * Return the iterator pointing to the last element
10507  * @param i An xcb_charinfo_iterator_t
10508  * @return  The iterator pointing to the last element
10509  *
10510  * Set the current element in the iterator to the last element.
10511  * The member rem is set to 0. The member data points to the
10512  * last element.
10513  */
10514 
10515 /*****************************************************************************
10516  **
10517  ** xcb_generic_iterator_t xcb_charinfo_end
10518  **
10519  ** @param xcb_charinfo_iterator_t i
10520  ** @returns xcb_generic_iterator_t
10521  **
10522  *****************************************************************************/
10523 
10524 xcb_generic_iterator_t
10525 xcb_charinfo_end (xcb_charinfo_iterator_t i  /**< */);
10526 
10527 int
10528 xcb_query_font_sizeof (const void  *_buffer  /**< */);
10529 
10530 /**
10531  * @brief query font metrics
10532  *
10533  * @param c The connection
10534  * @param font The fontable (Font or Graphics Context) to query.
10535  * @return A cookie
10536  *
10537  * Queries information associated with the font.
10538  *
10539  */
10540 
10541 /*****************************************************************************
10542  **
10543  ** xcb_query_font_cookie_t xcb_query_font
10544  **
10545  ** @param xcb_connection_t *c
10546  ** @param xcb_fontable_t    font
10547  ** @returns xcb_query_font_cookie_t
10548  **
10549  *****************************************************************************/
10550 
10551 xcb_query_font_cookie_t
10552 xcb_query_font (xcb_connection_t *c  /**< */,
10553                 xcb_fontable_t    font  /**< */);
10554 
10555 /**
10556  * @brief query font metrics
10557  *
10558  * @param c The connection
10559  * @param font The fontable (Font or Graphics Context) to query.
10560  * @return A cookie
10561  *
10562  * Queries information associated with the font.
10563  *
10564  * This form can be used only if the request will cause
10565  * a reply to be generated. Any returned error will be
10566  * placed in the event queue.
10567  */
10568 
10569 /*****************************************************************************
10570  **
10571  ** xcb_query_font_cookie_t xcb_query_font_unchecked
10572  **
10573  ** @param xcb_connection_t *c
10574  ** @param xcb_fontable_t    font
10575  ** @returns xcb_query_font_cookie_t
10576  **
10577  *****************************************************************************/
10578 
10579 xcb_query_font_cookie_t
10580 xcb_query_font_unchecked (xcb_connection_t *c  /**< */,
10581                           xcb_fontable_t    font  /**< */);
10582 
10583 
10584 /*****************************************************************************
10585  **
10586  ** xcb_fontprop_t * xcb_query_font_properties
10587  **
10588  ** @param const xcb_query_font_reply_t *R
10589  ** @returns xcb_fontprop_t *
10590  **
10591  *****************************************************************************/
10592 
10593 xcb_fontprop_t *
10594 xcb_query_font_properties (const xcb_query_font_reply_t *R  /**< */);
10595 
10596 
10597 /*****************************************************************************
10598  **
10599  ** int xcb_query_font_properties_length
10600  **
10601  ** @param const xcb_query_font_reply_t *R
10602  ** @returns int
10603  **
10604  *****************************************************************************/
10605 
10606 int
10607 xcb_query_font_properties_length (const xcb_query_font_reply_t *R  /**< */);
10608 
10609 
10610 /*****************************************************************************
10611  **
10612  ** xcb_fontprop_iterator_t xcb_query_font_properties_iterator
10613  **
10614  ** @param const xcb_query_font_reply_t *R
10615  ** @returns xcb_fontprop_iterator_t
10616  **
10617  *****************************************************************************/
10618 
10619 xcb_fontprop_iterator_t
10620 xcb_query_font_properties_iterator (const xcb_query_font_reply_t *R  /**< */);
10621 
10622 
10623 /*****************************************************************************
10624  **
10625  ** xcb_charinfo_t * xcb_query_font_char_infos
10626  **
10627  ** @param const xcb_query_font_reply_t *R
10628  ** @returns xcb_charinfo_t *
10629  **
10630  *****************************************************************************/
10631 
10632 xcb_charinfo_t *
10633 xcb_query_font_char_infos (const xcb_query_font_reply_t *R  /**< */);
10634 
10635 
10636 /*****************************************************************************
10637  **
10638  ** int xcb_query_font_char_infos_length
10639  **
10640  ** @param const xcb_query_font_reply_t *R
10641  ** @returns int
10642  **
10643  *****************************************************************************/
10644 
10645 int
10646 xcb_query_font_char_infos_length (const xcb_query_font_reply_t *R  /**< */);
10647 
10648 
10649 /*****************************************************************************
10650  **
10651  ** xcb_charinfo_iterator_t xcb_query_font_char_infos_iterator
10652  **
10653  ** @param const xcb_query_font_reply_t *R
10654  ** @returns xcb_charinfo_iterator_t
10655  **
10656  *****************************************************************************/
10657 
10658 xcb_charinfo_iterator_t
10659 xcb_query_font_char_infos_iterator (const xcb_query_font_reply_t *R  /**< */);
10660 
10661 /**
10662  * Return the reply
10663  * @param c      The connection
10664  * @param cookie The cookie
10665  * @param e      The xcb_generic_error_t supplied
10666  *
10667  * Returns the reply of the request asked by
10668  *
10669  * The parameter @p e supplied to this function must be NULL if
10670  * xcb_query_font_unchecked(). is used.
10671  * Otherwise, it stores the error if any.
10672  *
10673  * The returned value must be freed by the caller using free().
10674  */
10675 
10676 /*****************************************************************************
10677  **
10678  ** xcb_query_font_reply_t * xcb_query_font_reply
10679  **
10680  ** @param xcb_connection_t         *c
10681  ** @param xcb_query_font_cookie_t   cookie
10682  ** @param xcb_generic_error_t     **e
10683  ** @returns xcb_query_font_reply_t *
10684  **
10685  *****************************************************************************/
10686 
10687 xcb_query_font_reply_t *
10688 xcb_query_font_reply (xcb_connection_t         *c  /**< */,
10689                       xcb_query_font_cookie_t   cookie  /**< */,
10690                       xcb_generic_error_t     **e  /**< */);
10691 
10692 int
10693 xcb_query_text_extents_sizeof (const void  *_buffer  /**< */,
10694                                uint32_t     string_len  /**< */);
10695 
10696 /**
10697  * @brief get text extents
10698  *
10699  * @param c The connection
10700  * @param font The \a font to calculate text extents in. You can also pass a graphics context.
10701  * @param string_len The number of characters in \a string.
10702  * @param string The text to get text extents for.
10703  * @return A cookie
10704  *
10705  * Query text extents from the X11 server. This request returns the bounding box
10706  * of the specified 16-bit character string in the specified \a font or the font
10707  * contained in the specified graphics context.
10708  *
10709  * `font_ascent` is set to the maximum of the ascent metrics of all characters in
10710  * the string. `font_descent` is set to the maximum of the descent metrics.
10711  * `overall_width` is set to the sum of the character-width metrics of all
10712  * characters in the string. For each character in the string, let W be the sum of
10713  * the character-width metrics of all characters preceding it in the string. Let L
10714  * be the left-side-bearing metric of the character plus W. Let R be the
10715  * right-side-bearing metric of the character plus W. The lbearing member is set
10716  * to the minimum L of all characters in the string. The rbearing member is set to
10717  * the maximum R.
10718  *
10719  * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
10720  * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
10721  * most significant byte. If the font has no defined default character, undefined
10722  * characters in the string are taken to have all zero metrics.
10723  *
10724  * Characters with all zero metrics are ignored. If the font has no defined
10725  * default_char, the undefined characters in the string are also ignored.
10726  *
10727  */
10728 
10729 /*****************************************************************************
10730  **
10731  ** xcb_query_text_extents_cookie_t xcb_query_text_extents
10732  **
10733  ** @param xcb_connection_t   *c
10734  ** @param xcb_fontable_t      font
10735  ** @param uint32_t            string_len
10736  ** @param const xcb_char2b_t *string
10737  ** @returns xcb_query_text_extents_cookie_t
10738  **
10739  *****************************************************************************/
10740 
10741 xcb_query_text_extents_cookie_t
10742 xcb_query_text_extents (xcb_connection_t   *c  /**< */,
10743                         xcb_fontable_t      font  /**< */,
10744                         uint32_t            string_len  /**< */,
10745                         const xcb_char2b_t *string  /**< */);
10746 
10747 /**
10748  * @brief get text extents
10749  *
10750  * @param c The connection
10751  * @param font The \a font to calculate text extents in. You can also pass a graphics context.
10752  * @param string_len The number of characters in \a string.
10753  * @param string The text to get text extents for.
10754  * @return A cookie
10755  *
10756  * Query text extents from the X11 server. This request returns the bounding box
10757  * of the specified 16-bit character string in the specified \a font or the font
10758  * contained in the specified graphics context.
10759  *
10760  * `font_ascent` is set to the maximum of the ascent metrics of all characters in
10761  * the string. `font_descent` is set to the maximum of the descent metrics.
10762  * `overall_width` is set to the sum of the character-width metrics of all
10763  * characters in the string. For each character in the string, let W be the sum of
10764  * the character-width metrics of all characters preceding it in the string. Let L
10765  * be the left-side-bearing metric of the character plus W. Let R be the
10766  * right-side-bearing metric of the character plus W. The lbearing member is set
10767  * to the minimum L of all characters in the string. The rbearing member is set to
10768  * the maximum R.
10769  *
10770  * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
10771  * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
10772  * most significant byte. If the font has no defined default character, undefined
10773  * characters in the string are taken to have all zero metrics.
10774  *
10775  * Characters with all zero metrics are ignored. If the font has no defined
10776  * default_char, the undefined characters in the string are also ignored.
10777  *
10778  * This form can be used only if the request will cause
10779  * a reply to be generated. Any returned error will be
10780  * placed in the event queue.
10781  */
10782 
10783 /*****************************************************************************
10784  **
10785  ** xcb_query_text_extents_cookie_t xcb_query_text_extents_unchecked
10786  **
10787  ** @param xcb_connection_t   *c
10788  ** @param xcb_fontable_t      font
10789  ** @param uint32_t            string_len
10790  ** @param const xcb_char2b_t *string
10791  ** @returns xcb_query_text_extents_cookie_t
10792  **
10793  *****************************************************************************/
10794 
10795 xcb_query_text_extents_cookie_t
10796 xcb_query_text_extents_unchecked (xcb_connection_t   *c  /**< */,
10797                                   xcb_fontable_t      font  /**< */,
10798                                   uint32_t            string_len  /**< */,
10799                                   const xcb_char2b_t *string  /**< */);
10800 
10801 /**
10802  * Return the reply
10803  * @param c      The connection
10804  * @param cookie The cookie
10805  * @param e      The xcb_generic_error_t supplied
10806  *
10807  * Returns the reply of the request asked by
10808  *
10809  * The parameter @p e supplied to this function must be NULL if
10810  * xcb_query_text_extents_unchecked(). is used.
10811  * Otherwise, it stores the error if any.
10812  *
10813  * The returned value must be freed by the caller using free().
10814  */
10815 
10816 /*****************************************************************************
10817  **
10818  ** xcb_query_text_extents_reply_t * xcb_query_text_extents_reply
10819  **
10820  ** @param xcb_connection_t                 *c
10821  ** @param xcb_query_text_extents_cookie_t   cookie
10822  ** @param xcb_generic_error_t             **e
10823  ** @returns xcb_query_text_extents_reply_t *
10824  **
10825  *****************************************************************************/
10826 
10827 xcb_query_text_extents_reply_t *
10828 xcb_query_text_extents_reply (xcb_connection_t                 *c  /**< */,
10829                               xcb_query_text_extents_cookie_t   cookie  /**< */,
10830                               xcb_generic_error_t             **e  /**< */);
10831 
10832 int
10833 xcb_str_sizeof (const void  *_buffer  /**< */);
10834 
10835 
10836 /*****************************************************************************
10837  **
10838  ** char * xcb_str_name
10839  **
10840  ** @param const xcb_str_t *R
10841  ** @returns char *
10842  **
10843  *****************************************************************************/
10844 
10845 char *
10846 xcb_str_name (const xcb_str_t *R  /**< */);
10847 
10848 
10849 /*****************************************************************************
10850  **
10851  ** int xcb_str_name_length
10852  **
10853  ** @param const xcb_str_t *R
10854  ** @returns int
10855  **
10856  *****************************************************************************/
10857 
10858 int
10859 xcb_str_name_length (const xcb_str_t *R  /**< */);
10860 
10861 
10862 /*****************************************************************************
10863  **
10864  ** xcb_generic_iterator_t xcb_str_name_end
10865  **
10866  ** @param const xcb_str_t *R
10867  ** @returns xcb_generic_iterator_t
10868  **
10869  *****************************************************************************/
10870 
10871 xcb_generic_iterator_t
10872 xcb_str_name_end (const xcb_str_t *R  /**< */);
10873 
10874 /**
10875  * Get the next element of the iterator
10876  * @param i Pointer to a xcb_str_iterator_t
10877  *
10878  * Get the next element in the iterator. The member rem is
10879  * decreased by one. The member data points to the next
10880  * element. The member index is increased by sizeof(xcb_str_t)
10881  */
10882 
10883 /*****************************************************************************
10884  **
10885  ** void xcb_str_next
10886  **
10887  ** @param xcb_str_iterator_t *i
10888  ** @returns void
10889  **
10890  *****************************************************************************/
10891 
10892 void
10893 xcb_str_next (xcb_str_iterator_t *i  /**< */);
10894 
10895 /**
10896  * Return the iterator pointing to the last element
10897  * @param i An xcb_str_iterator_t
10898  * @return  The iterator pointing to the last element
10899  *
10900  * Set the current element in the iterator to the last element.
10901  * The member rem is set to 0. The member data points to the
10902  * last element.
10903  */
10904 
10905 /*****************************************************************************
10906  **
10907  ** xcb_generic_iterator_t xcb_str_end
10908  **
10909  ** @param xcb_str_iterator_t i
10910  ** @returns xcb_generic_iterator_t
10911  **
10912  *****************************************************************************/
10913 
10914 xcb_generic_iterator_t
10915 xcb_str_end (xcb_str_iterator_t i  /**< */);
10916 
10917 int
10918 xcb_list_fonts_sizeof (const void  *_buffer  /**< */);
10919 
10920 /**
10921  * @brief get matching font names
10922  *
10923  * @param c The connection
10924  * @param max_names The maximum number of fonts to be returned.
10925  * @param pattern_len The length (in bytes) of \a pattern.
10926  * @param pattern A font pattern, for example "-misc-fixed-*".
10927  * \n
10928  * The asterisk (*) is a wildcard for any number of characters. The question mark
10929  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
10930  * not matter.
10931  * @return A cookie
10932  *
10933  * Gets a list of available font names which match the given \a pattern.
10934  *
10935  */
10936 
10937 /*****************************************************************************
10938  **
10939  ** xcb_list_fonts_cookie_t xcb_list_fonts
10940  **
10941  ** @param xcb_connection_t *c
10942  ** @param uint16_t          max_names
10943  ** @param uint16_t          pattern_len
10944  ** @param const char       *pattern
10945  ** @returns xcb_list_fonts_cookie_t
10946  **
10947  *****************************************************************************/
10948 
10949 xcb_list_fonts_cookie_t
10950 xcb_list_fonts (xcb_connection_t *c  /**< */,
10951                 uint16_t          max_names  /**< */,
10952                 uint16_t          pattern_len  /**< */,
10953                 const char       *pattern  /**< */);
10954 
10955 /**
10956  * @brief get matching font names
10957  *
10958  * @param c The connection
10959  * @param max_names The maximum number of fonts to be returned.
10960  * @param pattern_len The length (in bytes) of \a pattern.
10961  * @param pattern A font pattern, for example "-misc-fixed-*".
10962  * \n
10963  * The asterisk (*) is a wildcard for any number of characters. The question mark
10964  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
10965  * not matter.
10966  * @return A cookie
10967  *
10968  * Gets a list of available font names which match the given \a pattern.
10969  *
10970  * This form can be used only if the request will cause
10971  * a reply to be generated. Any returned error will be
10972  * placed in the event queue.
10973  */
10974 
10975 /*****************************************************************************
10976  **
10977  ** xcb_list_fonts_cookie_t xcb_list_fonts_unchecked
10978  **
10979  ** @param xcb_connection_t *c
10980  ** @param uint16_t          max_names
10981  ** @param uint16_t          pattern_len
10982  ** @param const char       *pattern
10983  ** @returns xcb_list_fonts_cookie_t
10984  **
10985  *****************************************************************************/
10986 
10987 xcb_list_fonts_cookie_t
10988 xcb_list_fonts_unchecked (xcb_connection_t *c  /**< */,
10989                           uint16_t          max_names  /**< */,
10990                           uint16_t          pattern_len  /**< */,
10991                           const char       *pattern  /**< */);
10992 
10993 
10994 /*****************************************************************************
10995  **
10996  ** int xcb_list_fonts_names_length
10997  **
10998  ** @param const xcb_list_fonts_reply_t *R
10999  ** @returns int
11000  **
11001  *****************************************************************************/
11002 
11003 int
11004 xcb_list_fonts_names_length (const xcb_list_fonts_reply_t *R  /**< */);
11005 
11006 
11007 /*****************************************************************************
11008  **
11009  ** xcb_str_iterator_t xcb_list_fonts_names_iterator
11010  **
11011  ** @param const xcb_list_fonts_reply_t *R
11012  ** @returns xcb_str_iterator_t
11013  **
11014  *****************************************************************************/
11015 
11016 xcb_str_iterator_t
11017 xcb_list_fonts_names_iterator (const xcb_list_fonts_reply_t *R  /**< */);
11018 
11019 /**
11020  * Return the reply
11021  * @param c      The connection
11022  * @param cookie The cookie
11023  * @param e      The xcb_generic_error_t supplied
11024  *
11025  * Returns the reply of the request asked by
11026  *
11027  * The parameter @p e supplied to this function must be NULL if
11028  * xcb_list_fonts_unchecked(). is used.
11029  * Otherwise, it stores the error if any.
11030  *
11031  * The returned value must be freed by the caller using free().
11032  */
11033 
11034 /*****************************************************************************
11035  **
11036  ** xcb_list_fonts_reply_t * xcb_list_fonts_reply
11037  **
11038  ** @param xcb_connection_t         *c
11039  ** @param xcb_list_fonts_cookie_t   cookie
11040  ** @param xcb_generic_error_t     **e
11041  ** @returns xcb_list_fonts_reply_t *
11042  **
11043  *****************************************************************************/
11044 
11045 xcb_list_fonts_reply_t *
11046 xcb_list_fonts_reply (xcb_connection_t         *c  /**< */,
11047                       xcb_list_fonts_cookie_t   cookie  /**< */,
11048                       xcb_generic_error_t     **e  /**< */);
11049 
11050 int
11051 xcb_list_fonts_with_info_sizeof (const void  *_buffer  /**< */);
11052 
11053 /**
11054  * @brief get matching font names and information
11055  *
11056  * @param c The connection
11057  * @param max_names The maximum number of fonts to be returned.
11058  * @param pattern_len The length (in bytes) of \a pattern.
11059  * @param pattern A font pattern, for example "-misc-fixed-*".
11060  * \n
11061  * The asterisk (*) is a wildcard for any number of characters. The question mark
11062  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
11063  * not matter.
11064  * @return A cookie
11065  *
11066  * Gets a list of available font names which match the given \a pattern.
11067  *
11068  */
11069 
11070 /*****************************************************************************
11071  **
11072  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info
11073  **
11074  ** @param xcb_connection_t *c
11075  ** @param uint16_t          max_names
11076  ** @param uint16_t          pattern_len
11077  ** @param const char       *pattern
11078  ** @returns xcb_list_fonts_with_info_cookie_t
11079  **
11080  *****************************************************************************/
11081 
11082 xcb_list_fonts_with_info_cookie_t
11083 xcb_list_fonts_with_info (xcb_connection_t *c  /**< */,
11084                           uint16_t          max_names  /**< */,
11085                           uint16_t          pattern_len  /**< */,
11086                           const char       *pattern  /**< */);
11087 
11088 /**
11089  * @brief get matching font names and information
11090  *
11091  * @param c The connection
11092  * @param max_names The maximum number of fonts to be returned.
11093  * @param pattern_len The length (in bytes) of \a pattern.
11094  * @param pattern A font pattern, for example "-misc-fixed-*".
11095  * \n
11096  * The asterisk (*) is a wildcard for any number of characters. The question mark
11097  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
11098  * not matter.
11099  * @return A cookie
11100  *
11101  * Gets a list of available font names which match the given \a pattern.
11102  *
11103  * This form can be used only if the request will cause
11104  * a reply to be generated. Any returned error will be
11105  * placed in the event queue.
11106  */
11107 
11108 /*****************************************************************************
11109  **
11110  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info_unchecked
11111  **
11112  ** @param xcb_connection_t *c
11113  ** @param uint16_t          max_names
11114  ** @param uint16_t          pattern_len
11115  ** @param const char       *pattern
11116  ** @returns xcb_list_fonts_with_info_cookie_t
11117  **
11118  *****************************************************************************/
11119 
11120 xcb_list_fonts_with_info_cookie_t
11121 xcb_list_fonts_with_info_unchecked (xcb_connection_t *c  /**< */,
11122                                     uint16_t          max_names  /**< */,
11123                                     uint16_t          pattern_len  /**< */,
11124                                     const char       *pattern  /**< */);
11125 
11126 
11127 /*****************************************************************************
11128  **
11129  ** xcb_fontprop_t * xcb_list_fonts_with_info_properties
11130  **
11131  ** @param const xcb_list_fonts_with_info_reply_t *R
11132  ** @returns xcb_fontprop_t *
11133  **
11134  *****************************************************************************/
11135 
11136 xcb_fontprop_t *
11137 xcb_list_fonts_with_info_properties (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11138 
11139 
11140 /*****************************************************************************
11141  **
11142  ** int xcb_list_fonts_with_info_properties_length
11143  **
11144  ** @param const xcb_list_fonts_with_info_reply_t *R
11145  ** @returns int
11146  **
11147  *****************************************************************************/
11148 
11149 int
11150 xcb_list_fonts_with_info_properties_length (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11151 
11152 
11153 /*****************************************************************************
11154  **
11155  ** xcb_fontprop_iterator_t xcb_list_fonts_with_info_properties_iterator
11156  **
11157  ** @param const xcb_list_fonts_with_info_reply_t *R
11158  ** @returns xcb_fontprop_iterator_t
11159  **
11160  *****************************************************************************/
11161 
11162 xcb_fontprop_iterator_t
11163 xcb_list_fonts_with_info_properties_iterator (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11164 
11165 
11166 /*****************************************************************************
11167  **
11168  ** char * xcb_list_fonts_with_info_name
11169  **
11170  ** @param const xcb_list_fonts_with_info_reply_t *R
11171  ** @returns char *
11172  **
11173  *****************************************************************************/
11174 
11175 char *
11176 xcb_list_fonts_with_info_name (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11177 
11178 
11179 /*****************************************************************************
11180  **
11181  ** int xcb_list_fonts_with_info_name_length
11182  **
11183  ** @param const xcb_list_fonts_with_info_reply_t *R
11184  ** @returns int
11185  **
11186  *****************************************************************************/
11187 
11188 int
11189 xcb_list_fonts_with_info_name_length (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11190 
11191 
11192 /*****************************************************************************
11193  **
11194  ** xcb_generic_iterator_t xcb_list_fonts_with_info_name_end
11195  **
11196  ** @param const xcb_list_fonts_with_info_reply_t *R
11197  ** @returns xcb_generic_iterator_t
11198  **
11199  *****************************************************************************/
11200 
11201 xcb_generic_iterator_t
11202 xcb_list_fonts_with_info_name_end (const xcb_list_fonts_with_info_reply_t *R  /**< */);
11203 
11204 /**
11205  * Return the reply
11206  * @param c      The connection
11207  * @param cookie The cookie
11208  * @param e      The xcb_generic_error_t supplied
11209  *
11210  * Returns the reply of the request asked by
11211  *
11212  * The parameter @p e supplied to this function must be NULL if
11213  * xcb_list_fonts_with_info_unchecked(). is used.
11214  * Otherwise, it stores the error if any.
11215  *
11216  * The returned value must be freed by the caller using free().
11217  */
11218 
11219 /*****************************************************************************
11220  **
11221  ** xcb_list_fonts_with_info_reply_t * xcb_list_fonts_with_info_reply
11222  **
11223  ** @param xcb_connection_t                   *c
11224  ** @param xcb_list_fonts_with_info_cookie_t   cookie
11225  ** @param xcb_generic_error_t               **e
11226  ** @returns xcb_list_fonts_with_info_reply_t *
11227  **
11228  *****************************************************************************/
11229 
11230 xcb_list_fonts_with_info_reply_t *
11231 xcb_list_fonts_with_info_reply (xcb_connection_t                   *c  /**< */,
11232                                 xcb_list_fonts_with_info_cookie_t   cookie  /**< */,
11233                                 xcb_generic_error_t               **e  /**< */);
11234 
11235 int
11236 xcb_set_font_path_sizeof (const void  *_buffer  /**< */);
11237 
11238 /**
11239  *
11240  * @param c The connection
11241  * @return A cookie
11242  *
11243  * Delivers a request to the X server.
11244  *
11245  * This form can be used only if the request will not cause
11246  * a reply to be generated. Any returned error will be
11247  * saved for handling by xcb_request_check().
11248  */
11249 
11250 /*****************************************************************************
11251  **
11252  ** xcb_void_cookie_t xcb_set_font_path_checked
11253  **
11254  ** @param xcb_connection_t *c
11255  ** @param uint16_t          font_qty
11256  ** @param const xcb_str_t  *font
11257  ** @returns xcb_void_cookie_t
11258  **
11259  *****************************************************************************/
11260 
11261 xcb_void_cookie_t
11262 xcb_set_font_path_checked (xcb_connection_t *c  /**< */,
11263                            uint16_t          font_qty  /**< */,
11264                            const xcb_str_t  *font  /**< */);
11265 
11266 /**
11267  *
11268  * @param c The connection
11269  * @return A cookie
11270  *
11271  * Delivers a request to the X server.
11272  *
11273  */
11274 
11275 /*****************************************************************************
11276  **
11277  ** xcb_void_cookie_t xcb_set_font_path
11278  **
11279  ** @param xcb_connection_t *c
11280  ** @param uint16_t          font_qty
11281  ** @param const xcb_str_t  *font
11282  ** @returns xcb_void_cookie_t
11283  **
11284  *****************************************************************************/
11285 
11286 xcb_void_cookie_t
11287 xcb_set_font_path (xcb_connection_t *c  /**< */,
11288                    uint16_t          font_qty  /**< */,
11289                    const xcb_str_t  *font  /**< */);
11290 
11291 int
11292 xcb_get_font_path_sizeof (const void  *_buffer  /**< */);
11293 
11294 /**
11295  *
11296  * @param c The connection
11297  * @return A cookie
11298  *
11299  * Delivers a request to the X server.
11300  *
11301  */
11302 
11303 /*****************************************************************************
11304  **
11305  ** xcb_get_font_path_cookie_t xcb_get_font_path
11306  **
11307  ** @param xcb_connection_t *c
11308  ** @returns xcb_get_font_path_cookie_t
11309  **
11310  *****************************************************************************/
11311 
11312 xcb_get_font_path_cookie_t
11313 xcb_get_font_path (xcb_connection_t *c  /**< */);
11314 
11315 /**
11316  *
11317  * @param c The connection
11318  * @return A cookie
11319  *
11320  * Delivers a request to the X server.
11321  *
11322  * This form can be used only if the request will cause
11323  * a reply to be generated. Any returned error will be
11324  * placed in the event queue.
11325  */
11326 
11327 /*****************************************************************************
11328  **
11329  ** xcb_get_font_path_cookie_t xcb_get_font_path_unchecked
11330  **
11331  ** @param xcb_connection_t *c
11332  ** @returns xcb_get_font_path_cookie_t
11333  **
11334  *****************************************************************************/
11335 
11336 xcb_get_font_path_cookie_t
11337 xcb_get_font_path_unchecked (xcb_connection_t *c  /**< */);
11338 
11339 
11340 /*****************************************************************************
11341  **
11342  ** int xcb_get_font_path_path_length
11343  **
11344  ** @param const xcb_get_font_path_reply_t *R
11345  ** @returns int
11346  **
11347  *****************************************************************************/
11348 
11349 int
11350 xcb_get_font_path_path_length (const xcb_get_font_path_reply_t *R  /**< */);
11351 
11352 
11353 /*****************************************************************************
11354  **
11355  ** xcb_str_iterator_t xcb_get_font_path_path_iterator
11356  **
11357  ** @param const xcb_get_font_path_reply_t *R
11358  ** @returns xcb_str_iterator_t
11359  **
11360  *****************************************************************************/
11361 
11362 xcb_str_iterator_t
11363 xcb_get_font_path_path_iterator (const xcb_get_font_path_reply_t *R  /**< */);
11364 
11365 /**
11366  * Return the reply
11367  * @param c      The connection
11368  * @param cookie The cookie
11369  * @param e      The xcb_generic_error_t supplied
11370  *
11371  * Returns the reply of the request asked by
11372  *
11373  * The parameter @p e supplied to this function must be NULL if
11374  * xcb_get_font_path_unchecked(). is used.
11375  * Otherwise, it stores the error if any.
11376  *
11377  * The returned value must be freed by the caller using free().
11378  */
11379 
11380 /*****************************************************************************
11381  **
11382  ** xcb_get_font_path_reply_t * xcb_get_font_path_reply
11383  **
11384  ** @param xcb_connection_t            *c
11385  ** @param xcb_get_font_path_cookie_t   cookie
11386  ** @param xcb_generic_error_t        **e
11387  ** @returns xcb_get_font_path_reply_t *
11388  **
11389  *****************************************************************************/
11390 
11391 xcb_get_font_path_reply_t *
11392 xcb_get_font_path_reply (xcb_connection_t            *c  /**< */,
11393                          xcb_get_font_path_cookie_t   cookie  /**< */,
11394                          xcb_generic_error_t        **e  /**< */);
11395 
11396 /**
11397  * @brief Creates a pixmap
11398  *
11399  * @param c The connection
11400  * @param depth TODO
11401  * @param pid The ID with which you will refer to the new pixmap, created by
11402  * `xcb_generate_id`.
11403  * @param drawable Drawable to get the screen from.
11404  * @param width The width of the new pixmap.
11405  * @param height The height of the new pixmap.
11406  * @return A cookie
11407  *
11408  * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
11409  * is on and only with drawables of the same \a depth.
11410  *
11411  * This form can be used only if the request will not cause
11412  * a reply to be generated. Any returned error will be
11413  * saved for handling by xcb_request_check().
11414  */
11415 
11416 /*****************************************************************************
11417  **
11418  ** xcb_void_cookie_t xcb_create_pixmap_checked
11419  **
11420  ** @param xcb_connection_t *c
11421  ** @param uint8_t           depth
11422  ** @param xcb_pixmap_t      pid
11423  ** @param xcb_drawable_t    drawable
11424  ** @param uint16_t          width
11425  ** @param uint16_t          height
11426  ** @returns xcb_void_cookie_t
11427  **
11428  *****************************************************************************/
11429 
11430 xcb_void_cookie_t
11431 xcb_create_pixmap_checked (xcb_connection_t *c  /**< */,
11432                            uint8_t           depth  /**< */,
11433                            xcb_pixmap_t      pid  /**< */,
11434                            xcb_drawable_t    drawable  /**< */,
11435                            uint16_t          width  /**< */,
11436                            uint16_t          height  /**< */);
11437 
11438 /**
11439  * @brief Creates a pixmap
11440  *
11441  * @param c The connection
11442  * @param depth TODO
11443  * @param pid The ID with which you will refer to the new pixmap, created by
11444  * `xcb_generate_id`.
11445  * @param drawable Drawable to get the screen from.
11446  * @param width The width of the new pixmap.
11447  * @param height The height of the new pixmap.
11448  * @return A cookie
11449  *
11450  * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
11451  * is on and only with drawables of the same \a depth.
11452  *
11453  */
11454 
11455 /*****************************************************************************
11456  **
11457  ** xcb_void_cookie_t xcb_create_pixmap
11458  **
11459  ** @param xcb_connection_t *c
11460  ** @param uint8_t           depth
11461  ** @param xcb_pixmap_t      pid
11462  ** @param xcb_drawable_t    drawable
11463  ** @param uint16_t          width
11464  ** @param uint16_t          height
11465  ** @returns xcb_void_cookie_t
11466  **
11467  *****************************************************************************/
11468 
11469 xcb_void_cookie_t
11470 xcb_create_pixmap (xcb_connection_t *c  /**< */,
11471                    uint8_t           depth  /**< */,
11472                    xcb_pixmap_t      pid  /**< */,
11473                    xcb_drawable_t    drawable  /**< */,
11474                    uint16_t          width  /**< */,
11475                    uint16_t          height  /**< */);
11476 
11477 /**
11478  * @brief Destroys a pixmap
11479  *
11480  * @param c The connection
11481  * @param pixmap The pixmap to destroy.
11482  * @return A cookie
11483  *
11484  * Deletes the association between the pixmap ID and the pixmap. The pixmap
11485  * storage will be freed when there are no more references to it.
11486  *
11487  * This form can be used only if the request will not cause
11488  * a reply to be generated. Any returned error will be
11489  * saved for handling by xcb_request_check().
11490  */
11491 
11492 /*****************************************************************************
11493  **
11494  ** xcb_void_cookie_t xcb_free_pixmap_checked
11495  **
11496  ** @param xcb_connection_t *c
11497  ** @param xcb_pixmap_t      pixmap
11498  ** @returns xcb_void_cookie_t
11499  **
11500  *****************************************************************************/
11501 
11502 xcb_void_cookie_t
11503 xcb_free_pixmap_checked (xcb_connection_t *c  /**< */,
11504                          xcb_pixmap_t      pixmap  /**< */);
11505 
11506 /**
11507  * @brief Destroys a pixmap
11508  *
11509  * @param c The connection
11510  * @param pixmap The pixmap to destroy.
11511  * @return A cookie
11512  *
11513  * Deletes the association between the pixmap ID and the pixmap. The pixmap
11514  * storage will be freed when there are no more references to it.
11515  *
11516  */
11517 
11518 /*****************************************************************************
11519  **
11520  ** xcb_void_cookie_t xcb_free_pixmap
11521  **
11522  ** @param xcb_connection_t *c
11523  ** @param xcb_pixmap_t      pixmap
11524  ** @returns xcb_void_cookie_t
11525  **
11526  *****************************************************************************/
11527 
11528 xcb_void_cookie_t
11529 xcb_free_pixmap (xcb_connection_t *c  /**< */,
11530                  xcb_pixmap_t      pixmap  /**< */);
11531 
11532 int
11533 xcb_create_gc_sizeof (const void  *_buffer  /**< */);
11534 
11535 /**
11536  * @brief Creates a graphics context
11537  *
11538  * @param c The connection
11539  * @param cid The ID with which you will refer to the graphics context, created by
11540  * `xcb_generate_id`.
11541  * @param drawable Drawable to get the root/depth from.
11542  * @return A cookie
11543  *
11544  * Creates a graphics context. The graphics context can be used with any drawable
11545  * that has the same root and depth as the specified drawable.
11546  *
11547  * This form can be used only if the request will not cause
11548  * a reply to be generated. Any returned error will be
11549  * saved for handling by xcb_request_check().
11550  */
11551 
11552 /*****************************************************************************
11553  **
11554  ** xcb_void_cookie_t xcb_create_gc_checked
11555  **
11556  ** @param xcb_connection_t *c
11557  ** @param xcb_gcontext_t    cid
11558  ** @param xcb_drawable_t    drawable
11559  ** @param uint32_t          value_mask
11560  ** @param const uint32_t   *value_list
11561  ** @returns xcb_void_cookie_t
11562  **
11563  *****************************************************************************/
11564 
11565 xcb_void_cookie_t
11566 xcb_create_gc_checked (xcb_connection_t *c  /**< */,
11567                        xcb_gcontext_t    cid  /**< */,
11568                        xcb_drawable_t    drawable  /**< */,
11569                        uint32_t          value_mask  /**< */,
11570                        const uint32_t   *value_list  /**< */);
11571 
11572 /**
11573  * @brief Creates a graphics context
11574  *
11575  * @param c The connection
11576  * @param cid The ID with which you will refer to the graphics context, created by
11577  * `xcb_generate_id`.
11578  * @param drawable Drawable to get the root/depth from.
11579  * @return A cookie
11580  *
11581  * Creates a graphics context. The graphics context can be used with any drawable
11582  * that has the same root and depth as the specified drawable.
11583  *
11584  */
11585 
11586 /*****************************************************************************
11587  **
11588  ** xcb_void_cookie_t xcb_create_gc
11589  **
11590  ** @param xcb_connection_t *c
11591  ** @param xcb_gcontext_t    cid
11592  ** @param xcb_drawable_t    drawable
11593  ** @param uint32_t          value_mask
11594  ** @param const uint32_t   *value_list
11595  ** @returns xcb_void_cookie_t
11596  **
11597  *****************************************************************************/
11598 
11599 xcb_void_cookie_t
11600 xcb_create_gc (xcb_connection_t *c  /**< */,
11601                xcb_gcontext_t    cid  /**< */,
11602                xcb_drawable_t    drawable  /**< */,
11603                uint32_t          value_mask  /**< */,
11604                const uint32_t   *value_list  /**< */);
11605 
11606 int
11607 xcb_change_gc_sizeof (const void  *_buffer  /**< */);
11608 
11609 /**
11610  * @brief change graphics context components
11611  *
11612  * @param c The connection
11613  * @param gc The graphics context to change.
11614  * @param value_mask A bitmask of #xcb_gc_t values.
11615  * @param value_mask \n
11616  * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
11617  * order has to correspond to the order of possible \a value_mask bits. See the
11618  * example.
11619  * @return A cookie
11620  *
11621  * Changes the components specified by \a value_mask for the specified graphics context.
11622  *
11623  * This form can be used only if the request will not cause
11624  * a reply to be generated. Any returned error will be
11625  * saved for handling by xcb_request_check().
11626  */
11627 
11628 /*****************************************************************************
11629  **
11630  ** xcb_void_cookie_t xcb_change_gc_checked
11631  **
11632  ** @param xcb_connection_t *c
11633  ** @param xcb_gcontext_t    gc
11634  ** @param uint32_t          value_mask
11635  ** @param const uint32_t   *value_list
11636  ** @returns xcb_void_cookie_t
11637  **
11638  *****************************************************************************/
11639 
11640 xcb_void_cookie_t
11641 xcb_change_gc_checked (xcb_connection_t *c  /**< */,
11642                        xcb_gcontext_t    gc  /**< */,
11643                        uint32_t          value_mask  /**< */,
11644                        const uint32_t   *value_list  /**< */);
11645 
11646 /**
11647  * @brief change graphics context components
11648  *
11649  * @param c The connection
11650  * @param gc The graphics context to change.
11651  * @param value_mask A bitmask of #xcb_gc_t values.
11652  * @param value_mask \n
11653  * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
11654  * order has to correspond to the order of possible \a value_mask bits. See the
11655  * example.
11656  * @return A cookie
11657  *
11658  * Changes the components specified by \a value_mask for the specified graphics context.
11659  *
11660  */
11661 
11662 /*****************************************************************************
11663  **
11664  ** xcb_void_cookie_t xcb_change_gc
11665  **
11666  ** @param xcb_connection_t *c
11667  ** @param xcb_gcontext_t    gc
11668  ** @param uint32_t          value_mask
11669  ** @param const uint32_t   *value_list
11670  ** @returns xcb_void_cookie_t
11671  **
11672  *****************************************************************************/
11673 
11674 xcb_void_cookie_t
11675 xcb_change_gc (xcb_connection_t *c  /**< */,
11676                xcb_gcontext_t    gc  /**< */,
11677                uint32_t          value_mask  /**< */,
11678                const uint32_t   *value_list  /**< */);
11679 
11680 /**
11681  *
11682  * @param c The connection
11683  * @return A cookie
11684  *
11685  * Delivers a request to the X server.
11686  *
11687  * This form can be used only if the request will not cause
11688  * a reply to be generated. Any returned error will be
11689  * saved for handling by xcb_request_check().
11690  */
11691 
11692 /*****************************************************************************
11693  **
11694  ** xcb_void_cookie_t xcb_copy_gc_checked
11695  **
11696  ** @param xcb_connection_t *c
11697  ** @param xcb_gcontext_t    src_gc
11698  ** @param xcb_gcontext_t    dst_gc
11699  ** @param uint32_t          value_mask
11700  ** @returns xcb_void_cookie_t
11701  **
11702  *****************************************************************************/
11703 
11704 xcb_void_cookie_t
11705 xcb_copy_gc_checked (xcb_connection_t *c  /**< */,
11706                      xcb_gcontext_t    src_gc  /**< */,
11707                      xcb_gcontext_t    dst_gc  /**< */,
11708                      uint32_t          value_mask  /**< */);
11709 
11710 /**
11711  *
11712  * @param c The connection
11713  * @return A cookie
11714  *
11715  * Delivers a request to the X server.
11716  *
11717  */
11718 
11719 /*****************************************************************************
11720  **
11721  ** xcb_void_cookie_t xcb_copy_gc
11722  **
11723  ** @param xcb_connection_t *c
11724  ** @param xcb_gcontext_t    src_gc
11725  ** @param xcb_gcontext_t    dst_gc
11726  ** @param uint32_t          value_mask
11727  ** @returns xcb_void_cookie_t
11728  **
11729  *****************************************************************************/
11730 
11731 xcb_void_cookie_t
11732 xcb_copy_gc (xcb_connection_t *c  /**< */,
11733              xcb_gcontext_t    src_gc  /**< */,
11734              xcb_gcontext_t    dst_gc  /**< */,
11735              uint32_t          value_mask  /**< */);
11736 
11737 int
11738 xcb_set_dashes_sizeof (const void  *_buffer  /**< */);
11739 
11740 /**
11741  *
11742  * @param c The connection
11743  * @return A cookie
11744  *
11745  * Delivers a request to the X server.
11746  *
11747  * This form can be used only if the request will not cause
11748  * a reply to be generated. Any returned error will be
11749  * saved for handling by xcb_request_check().
11750  */
11751 
11752 /*****************************************************************************
11753  **
11754  ** xcb_void_cookie_t xcb_set_dashes_checked
11755  **
11756  ** @param xcb_connection_t *c
11757  ** @param xcb_gcontext_t    gc
11758  ** @param uint16_t          dash_offset
11759  ** @param uint16_t          dashes_len
11760  ** @param const uint8_t    *dashes
11761  ** @returns xcb_void_cookie_t
11762  **
11763  *****************************************************************************/
11764 
11765 xcb_void_cookie_t
11766 xcb_set_dashes_checked (xcb_connection_t *c  /**< */,
11767                         xcb_gcontext_t    gc  /**< */,
11768                         uint16_t          dash_offset  /**< */,
11769                         uint16_t          dashes_len  /**< */,
11770                         const uint8_t    *dashes  /**< */);
11771 
11772 /**
11773  *
11774  * @param c The connection
11775  * @return A cookie
11776  *
11777  * Delivers a request to the X server.
11778  *
11779  */
11780 
11781 /*****************************************************************************
11782  **
11783  ** xcb_void_cookie_t xcb_set_dashes
11784  **
11785  ** @param xcb_connection_t *c
11786  ** @param xcb_gcontext_t    gc
11787  ** @param uint16_t          dash_offset
11788  ** @param uint16_t          dashes_len
11789  ** @param const uint8_t    *dashes
11790  ** @returns xcb_void_cookie_t
11791  **
11792  *****************************************************************************/
11793 
11794 xcb_void_cookie_t
11795 xcb_set_dashes (xcb_connection_t *c  /**< */,
11796                 xcb_gcontext_t    gc  /**< */,
11797                 uint16_t          dash_offset  /**< */,
11798                 uint16_t          dashes_len  /**< */,
11799                 const uint8_t    *dashes  /**< */);
11800 
11801 int
11802 xcb_set_clip_rectangles_sizeof (const void  *_buffer  /**< */,
11803                                 uint32_t     rectangles_len  /**< */);
11804 
11805 /**
11806  *
11807  * @param c The connection
11808  * @return A cookie
11809  *
11810  * Delivers a request to the X server.
11811  *
11812  * This form can be used only if the request will not cause
11813  * a reply to be generated. Any returned error will be
11814  * saved for handling by xcb_request_check().
11815  */
11816 
11817 /*****************************************************************************
11818  **
11819  ** xcb_void_cookie_t xcb_set_clip_rectangles_checked
11820  **
11821  ** @param xcb_connection_t      *c
11822  ** @param uint8_t                ordering
11823  ** @param xcb_gcontext_t         gc
11824  ** @param int16_t                clip_x_origin
11825  ** @param int16_t                clip_y_origin
11826  ** @param uint32_t               rectangles_len
11827  ** @param const xcb_rectangle_t *rectangles
11828  ** @returns xcb_void_cookie_t
11829  **
11830  *****************************************************************************/
11831 
11832 xcb_void_cookie_t
11833 xcb_set_clip_rectangles_checked (xcb_connection_t      *c  /**< */,
11834                                  uint8_t                ordering  /**< */,
11835                                  xcb_gcontext_t         gc  /**< */,
11836                                  int16_t                clip_x_origin  /**< */,
11837                                  int16_t                clip_y_origin  /**< */,
11838                                  uint32_t               rectangles_len  /**< */,
11839                                  const xcb_rectangle_t *rectangles  /**< */);
11840 
11841 /**
11842  *
11843  * @param c The connection
11844  * @return A cookie
11845  *
11846  * Delivers a request to the X server.
11847  *
11848  */
11849 
11850 /*****************************************************************************
11851  **
11852  ** xcb_void_cookie_t xcb_set_clip_rectangles
11853  **
11854  ** @param xcb_connection_t      *c
11855  ** @param uint8_t                ordering
11856  ** @param xcb_gcontext_t         gc
11857  ** @param int16_t                clip_x_origin
11858  ** @param int16_t                clip_y_origin
11859  ** @param uint32_t               rectangles_len
11860  ** @param const xcb_rectangle_t *rectangles
11861  ** @returns xcb_void_cookie_t
11862  **
11863  *****************************************************************************/
11864 
11865 xcb_void_cookie_t
11866 xcb_set_clip_rectangles (xcb_connection_t      *c  /**< */,
11867                          uint8_t                ordering  /**< */,
11868                          xcb_gcontext_t         gc  /**< */,
11869                          int16_t                clip_x_origin  /**< */,
11870                          int16_t                clip_y_origin  /**< */,
11871                          uint32_t               rectangles_len  /**< */,
11872                          const xcb_rectangle_t *rectangles  /**< */);
11873 
11874 /**
11875  * @brief Destroys a graphics context
11876  *
11877  * @param c The connection
11878  * @param gc The graphics context to destroy.
11879  * @return A cookie
11880  *
11881  * Destroys the specified \a gc and all associated storage.
11882  *
11883  * This form can be used only if the request will not cause
11884  * a reply to be generated. Any returned error will be
11885  * saved for handling by xcb_request_check().
11886  */
11887 
11888 /*****************************************************************************
11889  **
11890  ** xcb_void_cookie_t xcb_free_gc_checked
11891  **
11892  ** @param xcb_connection_t *c
11893  ** @param xcb_gcontext_t    gc
11894  ** @returns xcb_void_cookie_t
11895  **
11896  *****************************************************************************/
11897 
11898 xcb_void_cookie_t
11899 xcb_free_gc_checked (xcb_connection_t *c  /**< */,
11900                      xcb_gcontext_t    gc  /**< */);
11901 
11902 /**
11903  * @brief Destroys a graphics context
11904  *
11905  * @param c The connection
11906  * @param gc The graphics context to destroy.
11907  * @return A cookie
11908  *
11909  * Destroys the specified \a gc and all associated storage.
11910  *
11911  */
11912 
11913 /*****************************************************************************
11914  **
11915  ** xcb_void_cookie_t xcb_free_gc
11916  **
11917  ** @param xcb_connection_t *c
11918  ** @param xcb_gcontext_t    gc
11919  ** @returns xcb_void_cookie_t
11920  **
11921  *****************************************************************************/
11922 
11923 xcb_void_cookie_t
11924 xcb_free_gc (xcb_connection_t *c  /**< */,
11925              xcb_gcontext_t    gc  /**< */);
11926 
11927 /**
11928  *
11929  * @param c The connection
11930  * @return A cookie
11931  *
11932  * Delivers a request to the X server.
11933  *
11934  * This form can be used only if the request will not cause
11935  * a reply to be generated. Any returned error will be
11936  * saved for handling by xcb_request_check().
11937  */
11938 
11939 /*****************************************************************************
11940  **
11941  ** xcb_void_cookie_t xcb_clear_area_checked
11942  **
11943  ** @param xcb_connection_t *c
11944  ** @param uint8_t           exposures
11945  ** @param xcb_window_t      window
11946  ** @param int16_t           x
11947  ** @param int16_t           y
11948  ** @param uint16_t          width
11949  ** @param uint16_t          height
11950  ** @returns xcb_void_cookie_t
11951  **
11952  *****************************************************************************/
11953 
11954 xcb_void_cookie_t
11955 xcb_clear_area_checked (xcb_connection_t *c  /**< */,
11956                         uint8_t           exposures  /**< */,
11957                         xcb_window_t      window  /**< */,
11958                         int16_t           x  /**< */,
11959                         int16_t           y  /**< */,
11960                         uint16_t          width  /**< */,
11961                         uint16_t          height  /**< */);
11962 
11963 /**
11964  *
11965  * @param c The connection
11966  * @return A cookie
11967  *
11968  * Delivers a request to the X server.
11969  *
11970  */
11971 
11972 /*****************************************************************************
11973  **
11974  ** xcb_void_cookie_t xcb_clear_area
11975  **
11976  ** @param xcb_connection_t *c
11977  ** @param uint8_t           exposures
11978  ** @param xcb_window_t      window
11979  ** @param int16_t           x
11980  ** @param int16_t           y
11981  ** @param uint16_t          width
11982  ** @param uint16_t          height
11983  ** @returns xcb_void_cookie_t
11984  **
11985  *****************************************************************************/
11986 
11987 xcb_void_cookie_t
11988 xcb_clear_area (xcb_connection_t *c  /**< */,
11989                 uint8_t           exposures  /**< */,
11990                 xcb_window_t      window  /**< */,
11991                 int16_t           x  /**< */,
11992                 int16_t           y  /**< */,
11993                 uint16_t          width  /**< */,
11994                 uint16_t          height  /**< */);
11995 
11996 /**
11997  * @brief copy areas
11998  *
11999  * @param c The connection
12000  * @param src_drawable The source drawable (Window or Pixmap).
12001  * @param dst_drawable The destination drawable (Window or Pixmap).
12002  * @param gc The graphics context to use.
12003  * @param src_x The source X coordinate.
12004  * @param src_y The source Y coordinate.
12005  * @param dst_x The destination X coordinate.
12006  * @param dst_y The destination Y coordinate.
12007  * @param width The width of the area to copy (in pixels).
12008  * @param height The height of the area to copy (in pixels).
12009  * @return A cookie
12010  *
12011  * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
12012  *
12013  * This form can be used only if the request will not cause
12014  * a reply to be generated. Any returned error will be
12015  * saved for handling by xcb_request_check().
12016  */
12017 
12018 /*****************************************************************************
12019  **
12020  ** xcb_void_cookie_t xcb_copy_area_checked
12021  **
12022  ** @param xcb_connection_t *c
12023  ** @param xcb_drawable_t    src_drawable
12024  ** @param xcb_drawable_t    dst_drawable
12025  ** @param xcb_gcontext_t    gc
12026  ** @param int16_t           src_x
12027  ** @param int16_t           src_y
12028  ** @param int16_t           dst_x
12029  ** @param int16_t           dst_y
12030  ** @param uint16_t          width
12031  ** @param uint16_t          height
12032  ** @returns xcb_void_cookie_t
12033  **
12034  *****************************************************************************/
12035 
12036 xcb_void_cookie_t
12037 xcb_copy_area_checked (xcb_connection_t *c  /**< */,
12038                        xcb_drawable_t    src_drawable  /**< */,
12039                        xcb_drawable_t    dst_drawable  /**< */,
12040                        xcb_gcontext_t    gc  /**< */,
12041                        int16_t           src_x  /**< */,
12042                        int16_t           src_y  /**< */,
12043                        int16_t           dst_x  /**< */,
12044                        int16_t           dst_y  /**< */,
12045                        uint16_t          width  /**< */,
12046                        uint16_t          height  /**< */);
12047 
12048 /**
12049  * @brief copy areas
12050  *
12051  * @param c The connection
12052  * @param src_drawable The source drawable (Window or Pixmap).
12053  * @param dst_drawable The destination drawable (Window or Pixmap).
12054  * @param gc The graphics context to use.
12055  * @param src_x The source X coordinate.
12056  * @param src_y The source Y coordinate.
12057  * @param dst_x The destination X coordinate.
12058  * @param dst_y The destination Y coordinate.
12059  * @param width The width of the area to copy (in pixels).
12060  * @param height The height of the area to copy (in pixels).
12061  * @return A cookie
12062  *
12063  * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
12064  *
12065  */
12066 
12067 /*****************************************************************************
12068  **
12069  ** xcb_void_cookie_t xcb_copy_area
12070  **
12071  ** @param xcb_connection_t *c
12072  ** @param xcb_drawable_t    src_drawable
12073  ** @param xcb_drawable_t    dst_drawable
12074  ** @param xcb_gcontext_t    gc
12075  ** @param int16_t           src_x
12076  ** @param int16_t           src_y
12077  ** @param int16_t           dst_x
12078  ** @param int16_t           dst_y
12079  ** @param uint16_t          width
12080  ** @param uint16_t          height
12081  ** @returns xcb_void_cookie_t
12082  **
12083  *****************************************************************************/
12084 
12085 xcb_void_cookie_t
12086 xcb_copy_area (xcb_connection_t *c  /**< */,
12087                xcb_drawable_t    src_drawable  /**< */,
12088                xcb_drawable_t    dst_drawable  /**< */,
12089                xcb_gcontext_t    gc  /**< */,
12090                int16_t           src_x  /**< */,
12091                int16_t           src_y  /**< */,
12092                int16_t           dst_x  /**< */,
12093                int16_t           dst_y  /**< */,
12094                uint16_t          width  /**< */,
12095                uint16_t          height  /**< */);
12096 
12097 /**
12098  *
12099  * @param c The connection
12100  * @return A cookie
12101  *
12102  * Delivers a request to the X server.
12103  *
12104  * This form can be used only if the request will not cause
12105  * a reply to be generated. Any returned error will be
12106  * saved for handling by xcb_request_check().
12107  */
12108 
12109 /*****************************************************************************
12110  **
12111  ** xcb_void_cookie_t xcb_copy_plane_checked
12112  **
12113  ** @param xcb_connection_t *c
12114  ** @param xcb_drawable_t    src_drawable
12115  ** @param xcb_drawable_t    dst_drawable
12116  ** @param xcb_gcontext_t    gc
12117  ** @param int16_t           src_x
12118  ** @param int16_t           src_y
12119  ** @param int16_t           dst_x
12120  ** @param int16_t           dst_y
12121  ** @param uint16_t          width
12122  ** @param uint16_t          height
12123  ** @param uint32_t          bit_plane
12124  ** @returns xcb_void_cookie_t
12125  **
12126  *****************************************************************************/
12127 
12128 xcb_void_cookie_t
12129 xcb_copy_plane_checked (xcb_connection_t *c  /**< */,
12130                         xcb_drawable_t    src_drawable  /**< */,
12131                         xcb_drawable_t    dst_drawable  /**< */,
12132                         xcb_gcontext_t    gc  /**< */,
12133                         int16_t           src_x  /**< */,
12134                         int16_t           src_y  /**< */,
12135                         int16_t           dst_x  /**< */,
12136                         int16_t           dst_y  /**< */,
12137                         uint16_t          width  /**< */,
12138                         uint16_t          height  /**< */,
12139                         uint32_t          bit_plane  /**< */);
12140 
12141 /**
12142  *
12143  * @param c The connection
12144  * @return A cookie
12145  *
12146  * Delivers a request to the X server.
12147  *
12148  */
12149 
12150 /*****************************************************************************
12151  **
12152  ** xcb_void_cookie_t xcb_copy_plane
12153  **
12154  ** @param xcb_connection_t *c
12155  ** @param xcb_drawable_t    src_drawable
12156  ** @param xcb_drawable_t    dst_drawable
12157  ** @param xcb_gcontext_t    gc
12158  ** @param int16_t           src_x
12159  ** @param int16_t           src_y
12160  ** @param int16_t           dst_x
12161  ** @param int16_t           dst_y
12162  ** @param uint16_t          width
12163  ** @param uint16_t          height
12164  ** @param uint32_t          bit_plane
12165  ** @returns xcb_void_cookie_t
12166  **
12167  *****************************************************************************/
12168 
12169 xcb_void_cookie_t
12170 xcb_copy_plane (xcb_connection_t *c  /**< */,
12171                 xcb_drawable_t    src_drawable  /**< */,
12172                 xcb_drawable_t    dst_drawable  /**< */,
12173                 xcb_gcontext_t    gc  /**< */,
12174                 int16_t           src_x  /**< */,
12175                 int16_t           src_y  /**< */,
12176                 int16_t           dst_x  /**< */,
12177                 int16_t           dst_y  /**< */,
12178                 uint16_t          width  /**< */,
12179                 uint16_t          height  /**< */,
12180                 uint32_t          bit_plane  /**< */);
12181 
12182 int
12183 xcb_poly_point_sizeof (const void  *_buffer  /**< */,
12184                        uint32_t     points_len  /**< */);
12185 
12186 /**
12187  *
12188  * @param c The connection
12189  * @return A cookie
12190  *
12191  * Delivers a request to the X server.
12192  *
12193  * This form can be used only if the request will not cause
12194  * a reply to be generated. Any returned error will be
12195  * saved for handling by xcb_request_check().
12196  */
12197 
12198 /*****************************************************************************
12199  **
12200  ** xcb_void_cookie_t xcb_poly_point_checked
12201  **
12202  ** @param xcb_connection_t  *c
12203  ** @param uint8_t            coordinate_mode
12204  ** @param xcb_drawable_t     drawable
12205  ** @param xcb_gcontext_t     gc
12206  ** @param uint32_t           points_len
12207  ** @param const xcb_point_t *points
12208  ** @returns xcb_void_cookie_t
12209  **
12210  *****************************************************************************/
12211 
12212 xcb_void_cookie_t
12213 xcb_poly_point_checked (xcb_connection_t  *c  /**< */,
12214                         uint8_t            coordinate_mode  /**< */,
12215                         xcb_drawable_t     drawable  /**< */,
12216                         xcb_gcontext_t     gc  /**< */,
12217                         uint32_t           points_len  /**< */,
12218                         const xcb_point_t *points  /**< */);
12219 
12220 /**
12221  *
12222  * @param c The connection
12223  * @return A cookie
12224  *
12225  * Delivers a request to the X server.
12226  *
12227  */
12228 
12229 /*****************************************************************************
12230  **
12231  ** xcb_void_cookie_t xcb_poly_point
12232  **
12233  ** @param xcb_connection_t  *c
12234  ** @param uint8_t            coordinate_mode
12235  ** @param xcb_drawable_t     drawable
12236  ** @param xcb_gcontext_t     gc
12237  ** @param uint32_t           points_len
12238  ** @param const xcb_point_t *points
12239  ** @returns xcb_void_cookie_t
12240  **
12241  *****************************************************************************/
12242 
12243 xcb_void_cookie_t
12244 xcb_poly_point (xcb_connection_t  *c  /**< */,
12245                 uint8_t            coordinate_mode  /**< */,
12246                 xcb_drawable_t     drawable  /**< */,
12247                 xcb_gcontext_t     gc  /**< */,
12248                 uint32_t           points_len  /**< */,
12249                 const xcb_point_t *points  /**< */);
12250 
12251 int
12252 xcb_poly_line_sizeof (const void  *_buffer  /**< */,
12253                       uint32_t     points_len  /**< */);
12254 
12255 /**
12256  * @brief draw lines
12257  *
12258  * @param c The connection
12259  * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
12260  * @param coordinate_mode \n
12261  * @param drawable The drawable to draw the line(s) on.
12262  * @param gc The graphics context to use.
12263  * @param points_len The number of `xcb_point_t` structures in \a points.
12264  * @param points An array of points.
12265  * @return A cookie
12266  *
12267  * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
12268  * in the \a points array. The lines are drawn in the order listed in the array.
12269  * They join correctly at all intermediate points, and if the first and last
12270  * points coincide, the first and last lines also join correctly. For any given
12271  * line, a pixel is not drawn more than once. If thin (zero line-width) lines
12272  * intersect, the intersecting pixels are drawn multiple times. If wide lines
12273  * intersect, the intersecting pixels are drawn only once, as though the entire
12274  * request were a single, filled shape.
12275  *
12276  * This form can be used only if the request will not cause
12277  * a reply to be generated. Any returned error will be
12278  * saved for handling by xcb_request_check().
12279  */
12280 
12281 /*****************************************************************************
12282  **
12283  ** xcb_void_cookie_t xcb_poly_line_checked
12284  **
12285  ** @param xcb_connection_t  *c
12286  ** @param uint8_t            coordinate_mode
12287  ** @param xcb_drawable_t     drawable
12288  ** @param xcb_gcontext_t     gc
12289  ** @param uint32_t           points_len
12290  ** @param const xcb_point_t *points
12291  ** @returns xcb_void_cookie_t
12292  **
12293  *****************************************************************************/
12294 
12295 xcb_void_cookie_t
12296 xcb_poly_line_checked (xcb_connection_t  *c  /**< */,
12297                        uint8_t            coordinate_mode  /**< */,
12298                        xcb_drawable_t     drawable  /**< */,
12299                        xcb_gcontext_t     gc  /**< */,
12300                        uint32_t           points_len  /**< */,
12301                        const xcb_point_t *points  /**< */);
12302 
12303 /**
12304  * @brief draw lines
12305  *
12306  * @param c The connection
12307  * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
12308  * @param coordinate_mode \n
12309  * @param drawable The drawable to draw the line(s) on.
12310  * @param gc The graphics context to use.
12311  * @param points_len The number of `xcb_point_t` structures in \a points.
12312  * @param points An array of points.
12313  * @return A cookie
12314  *
12315  * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
12316  * in the \a points array. The lines are drawn in the order listed in the array.
12317  * They join correctly at all intermediate points, and if the first and last
12318  * points coincide, the first and last lines also join correctly. For any given
12319  * line, a pixel is not drawn more than once. If thin (zero line-width) lines
12320  * intersect, the intersecting pixels are drawn multiple times. If wide lines
12321  * intersect, the intersecting pixels are drawn only once, as though the entire
12322  * request were a single, filled shape.
12323  *
12324  */
12325 
12326 /*****************************************************************************
12327  **
12328  ** xcb_void_cookie_t xcb_poly_line
12329  **
12330  ** @param xcb_connection_t  *c
12331  ** @param uint8_t            coordinate_mode
12332  ** @param xcb_drawable_t     drawable
12333  ** @param xcb_gcontext_t     gc
12334  ** @param uint32_t           points_len
12335  ** @param const xcb_point_t *points
12336  ** @returns xcb_void_cookie_t
12337  **
12338  *****************************************************************************/
12339 
12340 xcb_void_cookie_t
12341 xcb_poly_line (xcb_connection_t  *c  /**< */,
12342                uint8_t            coordinate_mode  /**< */,
12343                xcb_drawable_t     drawable  /**< */,
12344                xcb_gcontext_t     gc  /**< */,
12345                uint32_t           points_len  /**< */,
12346                const xcb_point_t *points  /**< */);
12347 
12348 /**
12349  * Get the next element of the iterator
12350  * @param i Pointer to a xcb_segment_iterator_t
12351  *
12352  * Get the next element in the iterator. The member rem is
12353  * decreased by one. The member data points to the next
12354  * element. The member index is increased by sizeof(xcb_segment_t)
12355  */
12356 
12357 /*****************************************************************************
12358  **
12359  ** void xcb_segment_next
12360  **
12361  ** @param xcb_segment_iterator_t *i
12362  ** @returns void
12363  **
12364  *****************************************************************************/
12365 
12366 void
12367 xcb_segment_next (xcb_segment_iterator_t *i  /**< */);
12368 
12369 /**
12370  * Return the iterator pointing to the last element
12371  * @param i An xcb_segment_iterator_t
12372  * @return  The iterator pointing to the last element
12373  *
12374  * Set the current element in the iterator to the last element.
12375  * The member rem is set to 0. The member data points to the
12376  * last element.
12377  */
12378 
12379 /*****************************************************************************
12380  **
12381  ** xcb_generic_iterator_t xcb_segment_end
12382  **
12383  ** @param xcb_segment_iterator_t i
12384  ** @returns xcb_generic_iterator_t
12385  **
12386  *****************************************************************************/
12387 
12388 xcb_generic_iterator_t
12389 xcb_segment_end (xcb_segment_iterator_t i  /**< */);
12390 
12391 int
12392 xcb_poly_segment_sizeof (const void  *_buffer  /**< */,
12393                          uint32_t     segments_len  /**< */);
12394 
12395 /**
12396  * @brief draw lines
12397  *
12398  * @param c The connection
12399  * @param drawable A drawable (Window or Pixmap) to draw on.
12400  * @param gc The graphics context to use.
12401  * \n
12402  * TODO: document which attributes of a gc are used
12403  * @param segments_len The number of `xcb_segment_t` structures in \a segments.
12404  * @param segments An array of `xcb_segment_t` structures.
12405  * @return A cookie
12406  *
12407  * Draws multiple, unconnected lines. For each segment, a line is drawn between
12408  * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
12409  * `xcb_segment_t` structures and does not perform joining at coincident
12410  * endpoints. For any given line, a pixel is not drawn more than once. If lines
12411  * intersect, the intersecting pixels are drawn multiple times.
12412  *
12413  * TODO: include the xcb_segment_t data structure
12414  *
12415  * TODO: an example
12416  *
12417  * This form can be used only if the request will not cause
12418  * a reply to be generated. Any returned error will be
12419  * saved for handling by xcb_request_check().
12420  */
12421 
12422 /*****************************************************************************
12423  **
12424  ** xcb_void_cookie_t xcb_poly_segment_checked
12425  **
12426  ** @param xcb_connection_t    *c
12427  ** @param xcb_drawable_t       drawable
12428  ** @param xcb_gcontext_t       gc
12429  ** @param uint32_t             segments_len
12430  ** @param const xcb_segment_t *segments
12431  ** @returns xcb_void_cookie_t
12432  **
12433  *****************************************************************************/
12434 
12435 xcb_void_cookie_t
12436 xcb_poly_segment_checked (xcb_connection_t    *c  /**< */,
12437                           xcb_drawable_t       drawable  /**< */,
12438                           xcb_gcontext_t       gc  /**< */,
12439                           uint32_t             segments_len  /**< */,
12440                           const xcb_segment_t *segments  /**< */);
12441 
12442 /**
12443  * @brief draw lines
12444  *
12445  * @param c The connection
12446  * @param drawable A drawable (Window or Pixmap) to draw on.
12447  * @param gc The graphics context to use.
12448  * \n
12449  * TODO: document which attributes of a gc are used
12450  * @param segments_len The number of `xcb_segment_t` structures in \a segments.
12451  * @param segments An array of `xcb_segment_t` structures.
12452  * @return A cookie
12453  *
12454  * Draws multiple, unconnected lines. For each segment, a line is drawn between
12455  * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
12456  * `xcb_segment_t` structures and does not perform joining at coincident
12457  * endpoints. For any given line, a pixel is not drawn more than once. If lines
12458  * intersect, the intersecting pixels are drawn multiple times.
12459  *
12460  * TODO: include the xcb_segment_t data structure
12461  *
12462  * TODO: an example
12463  *
12464  */
12465 
12466 /*****************************************************************************
12467  **
12468  ** xcb_void_cookie_t xcb_poly_segment
12469  **
12470  ** @param xcb_connection_t    *c
12471  ** @param xcb_drawable_t       drawable
12472  ** @param xcb_gcontext_t       gc
12473  ** @param uint32_t             segments_len
12474  ** @param const xcb_segment_t *segments
12475  ** @returns xcb_void_cookie_t
12476  **
12477  *****************************************************************************/
12478 
12479 xcb_void_cookie_t
12480 xcb_poly_segment (xcb_connection_t    *c  /**< */,
12481                   xcb_drawable_t       drawable  /**< */,
12482                   xcb_gcontext_t       gc  /**< */,
12483                   uint32_t             segments_len  /**< */,
12484                   const xcb_segment_t *segments  /**< */);
12485 
12486 int
12487 xcb_poly_rectangle_sizeof (const void  *_buffer  /**< */,
12488                            uint32_t     rectangles_len  /**< */);
12489 
12490 /**
12491  *
12492  * @param c The connection
12493  * @return A cookie
12494  *
12495  * Delivers a request to the X server.
12496  *
12497  * This form can be used only if the request will not cause
12498  * a reply to be generated. Any returned error will be
12499  * saved for handling by xcb_request_check().
12500  */
12501 
12502 /*****************************************************************************
12503  **
12504  ** xcb_void_cookie_t xcb_poly_rectangle_checked
12505  **
12506  ** @param xcb_connection_t      *c
12507  ** @param xcb_drawable_t         drawable
12508  ** @param xcb_gcontext_t         gc
12509  ** @param uint32_t               rectangles_len
12510  ** @param const xcb_rectangle_t *rectangles
12511  ** @returns xcb_void_cookie_t
12512  **
12513  *****************************************************************************/
12514 
12515 xcb_void_cookie_t
12516 xcb_poly_rectangle_checked (xcb_connection_t      *c  /**< */,
12517                             xcb_drawable_t         drawable  /**< */,
12518                             xcb_gcontext_t         gc  /**< */,
12519                             uint32_t               rectangles_len  /**< */,
12520                             const xcb_rectangle_t *rectangles  /**< */);
12521 
12522 /**
12523  *
12524  * @param c The connection
12525  * @return A cookie
12526  *
12527  * Delivers a request to the X server.
12528  *
12529  */
12530 
12531 /*****************************************************************************
12532  **
12533  ** xcb_void_cookie_t xcb_poly_rectangle
12534  **
12535  ** @param xcb_connection_t      *c
12536  ** @param xcb_drawable_t         drawable
12537  ** @param xcb_gcontext_t         gc
12538  ** @param uint32_t               rectangles_len
12539  ** @param const xcb_rectangle_t *rectangles
12540  ** @returns xcb_void_cookie_t
12541  **
12542  *****************************************************************************/
12543 
12544 xcb_void_cookie_t
12545 xcb_poly_rectangle (xcb_connection_t      *c  /**< */,
12546                     xcb_drawable_t         drawable  /**< */,
12547                     xcb_gcontext_t         gc  /**< */,
12548                     uint32_t               rectangles_len  /**< */,
12549                     const xcb_rectangle_t *rectangles  /**< */);
12550 
12551 int
12552 xcb_poly_arc_sizeof (const void  *_buffer  /**< */,
12553                      uint32_t     arcs_len  /**< */);
12554 
12555 /**
12556  *
12557  * @param c The connection
12558  * @return A cookie
12559  *
12560  * Delivers a request to the X server.
12561  *
12562  * This form can be used only if the request will not cause
12563  * a reply to be generated. Any returned error will be
12564  * saved for handling by xcb_request_check().
12565  */
12566 
12567 /*****************************************************************************
12568  **
12569  ** xcb_void_cookie_t xcb_poly_arc_checked
12570  **
12571  ** @param xcb_connection_t *c
12572  ** @param xcb_drawable_t    drawable
12573  ** @param xcb_gcontext_t    gc
12574  ** @param uint32_t          arcs_len
12575  ** @param const xcb_arc_t  *arcs
12576  ** @returns xcb_void_cookie_t
12577  **
12578  *****************************************************************************/
12579 
12580 xcb_void_cookie_t
12581 xcb_poly_arc_checked (xcb_connection_t *c  /**< */,
12582                       xcb_drawable_t    drawable  /**< */,
12583                       xcb_gcontext_t    gc  /**< */,
12584                       uint32_t          arcs_len  /**< */,
12585                       const xcb_arc_t  *arcs  /**< */);
12586 
12587 /**
12588  *
12589  * @param c The connection
12590  * @return A cookie
12591  *
12592  * Delivers a request to the X server.
12593  *
12594  */
12595 
12596 /*****************************************************************************
12597  **
12598  ** xcb_void_cookie_t xcb_poly_arc
12599  **
12600  ** @param xcb_connection_t *c
12601  ** @param xcb_drawable_t    drawable
12602  ** @param xcb_gcontext_t    gc
12603  ** @param uint32_t          arcs_len
12604  ** @param const xcb_arc_t  *arcs
12605  ** @returns xcb_void_cookie_t
12606  **
12607  *****************************************************************************/
12608 
12609 xcb_void_cookie_t
12610 xcb_poly_arc (xcb_connection_t *c  /**< */,
12611               xcb_drawable_t    drawable  /**< */,
12612               xcb_gcontext_t    gc  /**< */,
12613               uint32_t          arcs_len  /**< */,
12614               const xcb_arc_t  *arcs  /**< */);
12615 
12616 int
12617 xcb_fill_poly_sizeof (const void  *_buffer  /**< */,
12618                       uint32_t     points_len  /**< */);
12619 
12620 /**
12621  *
12622  * @param c The connection
12623  * @return A cookie
12624  *
12625  * Delivers a request to the X server.
12626  *
12627  * This form can be used only if the request will not cause
12628  * a reply to be generated. Any returned error will be
12629  * saved for handling by xcb_request_check().
12630  */
12631 
12632 /*****************************************************************************
12633  **
12634  ** xcb_void_cookie_t xcb_fill_poly_checked
12635  **
12636  ** @param xcb_connection_t  *c
12637  ** @param xcb_drawable_t     drawable
12638  ** @param xcb_gcontext_t     gc
12639  ** @param uint8_t            shape
12640  ** @param uint8_t            coordinate_mode
12641  ** @param uint32_t           points_len
12642  ** @param const xcb_point_t *points
12643  ** @returns xcb_void_cookie_t
12644  **
12645  *****************************************************************************/
12646 
12647 xcb_void_cookie_t
12648 xcb_fill_poly_checked (xcb_connection_t  *c  /**< */,
12649                        xcb_drawable_t     drawable  /**< */,
12650                        xcb_gcontext_t     gc  /**< */,
12651                        uint8_t            shape  /**< */,
12652                        uint8_t            coordinate_mode  /**< */,
12653                        uint32_t           points_len  /**< */,
12654                        const xcb_point_t *points  /**< */);
12655 
12656 /**
12657  *
12658  * @param c The connection
12659  * @return A cookie
12660  *
12661  * Delivers a request to the X server.
12662  *
12663  */
12664 
12665 /*****************************************************************************
12666  **
12667  ** xcb_void_cookie_t xcb_fill_poly
12668  **
12669  ** @param xcb_connection_t  *c
12670  ** @param xcb_drawable_t     drawable
12671  ** @param xcb_gcontext_t     gc
12672  ** @param uint8_t            shape
12673  ** @param uint8_t            coordinate_mode
12674  ** @param uint32_t           points_len
12675  ** @param const xcb_point_t *points
12676  ** @returns xcb_void_cookie_t
12677  **
12678  *****************************************************************************/
12679 
12680 xcb_void_cookie_t
12681 xcb_fill_poly (xcb_connection_t  *c  /**< */,
12682                xcb_drawable_t     drawable  /**< */,
12683                xcb_gcontext_t     gc  /**< */,
12684                uint8_t            shape  /**< */,
12685                uint8_t            coordinate_mode  /**< */,
12686                uint32_t           points_len  /**< */,
12687                const xcb_point_t *points  /**< */);
12688 
12689 int
12690 xcb_poly_fill_rectangle_sizeof (const void  *_buffer  /**< */,
12691                                 uint32_t     rectangles_len  /**< */);
12692 
12693 /**
12694  * @brief Fills rectangles
12695  *
12696  * @param c The connection
12697  * @param drawable The drawable (Window or Pixmap) to draw on.
12698  * @param gc The graphics context to use.
12699  * \n
12700  * The following graphics context components are used: function, plane-mask,
12701  * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
12702  * \n
12703  * The following graphics context mode-dependent components are used:
12704  * foreground, background, tile, stipple, tile-stipple-x-origin, and
12705  * tile-stipple-y-origin.
12706  * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
12707  * @param rectangles The rectangles to fill.
12708  * @return A cookie
12709  *
12710  * Fills the specified rectangle(s) in the order listed in the array. For any
12711  * given rectangle, each pixel is not drawn more than once. If rectangles
12712  * intersect, the intersecting pixels are drawn multiple times.
12713  *
12714  * This form can be used only if the request will not cause
12715  * a reply to be generated. Any returned error will be
12716  * saved for handling by xcb_request_check().
12717  */
12718 
12719 /*****************************************************************************
12720  **
12721  ** xcb_void_cookie_t xcb_poly_fill_rectangle_checked
12722  **
12723  ** @param xcb_connection_t      *c
12724  ** @param xcb_drawable_t         drawable
12725  ** @param xcb_gcontext_t         gc
12726  ** @param uint32_t               rectangles_len
12727  ** @param const xcb_rectangle_t *rectangles
12728  ** @returns xcb_void_cookie_t
12729  **
12730  *****************************************************************************/
12731 
12732 xcb_void_cookie_t
12733 xcb_poly_fill_rectangle_checked (xcb_connection_t      *c  /**< */,
12734                                  xcb_drawable_t         drawable  /**< */,
12735                                  xcb_gcontext_t         gc  /**< */,
12736                                  uint32_t               rectangles_len  /**< */,
12737                                  const xcb_rectangle_t *rectangles  /**< */);
12738 
12739 /**
12740  * @brief Fills rectangles
12741  *
12742  * @param c The connection
12743  * @param drawable The drawable (Window or Pixmap) to draw on.
12744  * @param gc The graphics context to use.
12745  * \n
12746  * The following graphics context components are used: function, plane-mask,
12747  * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
12748  * \n
12749  * The following graphics context mode-dependent components are used:
12750  * foreground, background, tile, stipple, tile-stipple-x-origin, and
12751  * tile-stipple-y-origin.
12752  * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
12753  * @param rectangles The rectangles to fill.
12754  * @return A cookie
12755  *
12756  * Fills the specified rectangle(s) in the order listed in the array. For any
12757  * given rectangle, each pixel is not drawn more than once. If rectangles
12758  * intersect, the intersecting pixels are drawn multiple times.
12759  *
12760  */
12761 
12762 /*****************************************************************************
12763  **
12764  ** xcb_void_cookie_t xcb_poly_fill_rectangle
12765  **
12766  ** @param xcb_connection_t      *c
12767  ** @param xcb_drawable_t         drawable
12768  ** @param xcb_gcontext_t         gc
12769  ** @param uint32_t               rectangles_len
12770  ** @param const xcb_rectangle_t *rectangles
12771  ** @returns xcb_void_cookie_t
12772  **
12773  *****************************************************************************/
12774 
12775 xcb_void_cookie_t
12776 xcb_poly_fill_rectangle (xcb_connection_t      *c  /**< */,
12777                          xcb_drawable_t         drawable  /**< */,
12778                          xcb_gcontext_t         gc  /**< */,
12779                          uint32_t               rectangles_len  /**< */,
12780                          const xcb_rectangle_t *rectangles  /**< */);
12781 
12782 int
12783 xcb_poly_fill_arc_sizeof (const void  *_buffer  /**< */,
12784                           uint32_t     arcs_len  /**< */);
12785 
12786 /**
12787  *
12788  * @param c The connection
12789  * @return A cookie
12790  *
12791  * Delivers a request to the X server.
12792  *
12793  * This form can be used only if the request will not cause
12794  * a reply to be generated. Any returned error will be
12795  * saved for handling by xcb_request_check().
12796  */
12797 
12798 /*****************************************************************************
12799  **
12800  ** xcb_void_cookie_t xcb_poly_fill_arc_checked
12801  **
12802  ** @param xcb_connection_t *c
12803  ** @param xcb_drawable_t    drawable
12804  ** @param xcb_gcontext_t    gc
12805  ** @param uint32_t          arcs_len
12806  ** @param const xcb_arc_t  *arcs
12807  ** @returns xcb_void_cookie_t
12808  **
12809  *****************************************************************************/
12810 
12811 xcb_void_cookie_t
12812 xcb_poly_fill_arc_checked (xcb_connection_t *c  /**< */,
12813                            xcb_drawable_t    drawable  /**< */,
12814                            xcb_gcontext_t    gc  /**< */,
12815                            uint32_t          arcs_len  /**< */,
12816                            const xcb_arc_t  *arcs  /**< */);
12817 
12818 /**
12819  *
12820  * @param c The connection
12821  * @return A cookie
12822  *
12823  * Delivers a request to the X server.
12824  *
12825  */
12826 
12827 /*****************************************************************************
12828  **
12829  ** xcb_void_cookie_t xcb_poly_fill_arc
12830  **
12831  ** @param xcb_connection_t *c
12832  ** @param xcb_drawable_t    drawable
12833  ** @param xcb_gcontext_t    gc
12834  ** @param uint32_t          arcs_len
12835  ** @param const xcb_arc_t  *arcs
12836  ** @returns xcb_void_cookie_t
12837  **
12838  *****************************************************************************/
12839 
12840 xcb_void_cookie_t
12841 xcb_poly_fill_arc (xcb_connection_t *c  /**< */,
12842                    xcb_drawable_t    drawable  /**< */,
12843                    xcb_gcontext_t    gc  /**< */,
12844                    uint32_t          arcs_len  /**< */,
12845                    const xcb_arc_t  *arcs  /**< */);
12846 
12847 int
12848 xcb_put_image_sizeof (const void  *_buffer  /**< */,
12849                       uint32_t     data_len  /**< */);
12850 
12851 /**
12852  *
12853  * @param c The connection
12854  * @return A cookie
12855  *
12856  * Delivers a request to the X server.
12857  *
12858  * This form can be used only if the request will not cause
12859  * a reply to be generated. Any returned error will be
12860  * saved for handling by xcb_request_check().
12861  */
12862 
12863 /*****************************************************************************
12864  **
12865  ** xcb_void_cookie_t xcb_put_image_checked
12866  **
12867  ** @param xcb_connection_t *c
12868  ** @param uint8_t           format
12869  ** @param xcb_drawable_t    drawable
12870  ** @param xcb_gcontext_t    gc
12871  ** @param uint16_t          width
12872  ** @param uint16_t          height
12873  ** @param int16_t           dst_x
12874  ** @param int16_t           dst_y
12875  ** @param uint8_t           left_pad
12876  ** @param uint8_t           depth
12877  ** @param uint32_t          data_len
12878  ** @param const uint8_t    *data
12879  ** @returns xcb_void_cookie_t
12880  **
12881  *****************************************************************************/
12882 
12883 xcb_void_cookie_t
12884 xcb_put_image_checked (xcb_connection_t *c  /**< */,
12885                        uint8_t           format  /**< */,
12886                        xcb_drawable_t    drawable  /**< */,
12887                        xcb_gcontext_t    gc  /**< */,
12888                        uint16_t          width  /**< */,
12889                        uint16_t          height  /**< */,
12890                        int16_t           dst_x  /**< */,
12891                        int16_t           dst_y  /**< */,
12892                        uint8_t           left_pad  /**< */,
12893                        uint8_t           depth  /**< */,
12894                        uint32_t          data_len  /**< */,
12895                        const uint8_t    *data  /**< */);
12896 
12897 /**
12898  *
12899  * @param c The connection
12900  * @return A cookie
12901  *
12902  * Delivers a request to the X server.
12903  *
12904  */
12905 
12906 /*****************************************************************************
12907  **
12908  ** xcb_void_cookie_t xcb_put_image
12909  **
12910  ** @param xcb_connection_t *c
12911  ** @param uint8_t           format
12912  ** @param xcb_drawable_t    drawable
12913  ** @param xcb_gcontext_t    gc
12914  ** @param uint16_t          width
12915  ** @param uint16_t          height
12916  ** @param int16_t           dst_x
12917  ** @param int16_t           dst_y
12918  ** @param uint8_t           left_pad
12919  ** @param uint8_t           depth
12920  ** @param uint32_t          data_len
12921  ** @param const uint8_t    *data
12922  ** @returns xcb_void_cookie_t
12923  **
12924  *****************************************************************************/
12925 
12926 xcb_void_cookie_t
12927 xcb_put_image (xcb_connection_t *c  /**< */,
12928                uint8_t           format  /**< */,
12929                xcb_drawable_t    drawable  /**< */,
12930                xcb_gcontext_t    gc  /**< */,
12931                uint16_t          width  /**< */,
12932                uint16_t          height  /**< */,
12933                int16_t           dst_x  /**< */,
12934                int16_t           dst_y  /**< */,
12935                uint8_t           left_pad  /**< */,
12936                uint8_t           depth  /**< */,
12937                uint32_t          data_len  /**< */,
12938                const uint8_t    *data  /**< */);
12939 
12940 int
12941 xcb_get_image_sizeof (const void  *_buffer  /**< */);
12942 
12943 /**
12944  *
12945  * @param c The connection
12946  * @return A cookie
12947  *
12948  * Delivers a request to the X server.
12949  *
12950  */
12951 
12952 /*****************************************************************************
12953  **
12954  ** xcb_get_image_cookie_t xcb_get_image
12955  **
12956  ** @param xcb_connection_t *c
12957  ** @param uint8_t           format
12958  ** @param xcb_drawable_t    drawable
12959  ** @param int16_t           x
12960  ** @param int16_t           y
12961  ** @param uint16_t          width
12962  ** @param uint16_t          height
12963  ** @param uint32_t          plane_mask
12964  ** @returns xcb_get_image_cookie_t
12965  **
12966  *****************************************************************************/
12967 
12968 xcb_get_image_cookie_t
12969 xcb_get_image (xcb_connection_t *c  /**< */,
12970                uint8_t           format  /**< */,
12971                xcb_drawable_t    drawable  /**< */,
12972                int16_t           x  /**< */,
12973                int16_t           y  /**< */,
12974                uint16_t          width  /**< */,
12975                uint16_t          height  /**< */,
12976                uint32_t          plane_mask  /**< */);
12977 
12978 /**
12979  *
12980  * @param c The connection
12981  * @return A cookie
12982  *
12983  * Delivers a request to the X server.
12984  *
12985  * This form can be used only if the request will cause
12986  * a reply to be generated. Any returned error will be
12987  * placed in the event queue.
12988  */
12989 
12990 /*****************************************************************************
12991  **
12992  ** xcb_get_image_cookie_t xcb_get_image_unchecked
12993  **
12994  ** @param xcb_connection_t *c
12995  ** @param uint8_t           format
12996  ** @param xcb_drawable_t    drawable
12997  ** @param int16_t           x
12998  ** @param int16_t           y
12999  ** @param uint16_t          width
13000  ** @param uint16_t          height
13001  ** @param uint32_t          plane_mask
13002  ** @returns xcb_get_image_cookie_t
13003  **
13004  *****************************************************************************/
13005 
13006 xcb_get_image_cookie_t
13007 xcb_get_image_unchecked (xcb_connection_t *c  /**< */,
13008                          uint8_t           format  /**< */,
13009                          xcb_drawable_t    drawable  /**< */,
13010                          int16_t           x  /**< */,
13011                          int16_t           y  /**< */,
13012                          uint16_t          width  /**< */,
13013                          uint16_t          height  /**< */,
13014                          uint32_t          plane_mask  /**< */);
13015 
13016 
13017 /*****************************************************************************
13018  **
13019  ** uint8_t * xcb_get_image_data
13020  **
13021  ** @param const xcb_get_image_reply_t *R
13022  ** @returns uint8_t *
13023  **
13024  *****************************************************************************/
13025 
13026 uint8_t *
13027 xcb_get_image_data (const xcb_get_image_reply_t *R  /**< */);
13028 
13029 
13030 /*****************************************************************************
13031  **
13032  ** int xcb_get_image_data_length
13033  **
13034  ** @param const xcb_get_image_reply_t *R
13035  ** @returns int
13036  **
13037  *****************************************************************************/
13038 
13039 int
13040 xcb_get_image_data_length (const xcb_get_image_reply_t *R  /**< */);
13041 
13042 
13043 /*****************************************************************************
13044  **
13045  ** xcb_generic_iterator_t xcb_get_image_data_end
13046  **
13047  ** @param const xcb_get_image_reply_t *R
13048  ** @returns xcb_generic_iterator_t
13049  **
13050  *****************************************************************************/
13051 
13052 xcb_generic_iterator_t
13053 xcb_get_image_data_end (const xcb_get_image_reply_t *R  /**< */);
13054 
13055 /**
13056  * Return the reply
13057  * @param c      The connection
13058  * @param cookie The cookie
13059  * @param e      The xcb_generic_error_t supplied
13060  *
13061  * Returns the reply of the request asked by
13062  *
13063  * The parameter @p e supplied to this function must be NULL if
13064  * xcb_get_image_unchecked(). is used.
13065  * Otherwise, it stores the error if any.
13066  *
13067  * The returned value must be freed by the caller using free().
13068  */
13069 
13070 /*****************************************************************************
13071  **
13072  ** xcb_get_image_reply_t * xcb_get_image_reply
13073  **
13074  ** @param xcb_connection_t        *c
13075  ** @param xcb_get_image_cookie_t   cookie
13076  ** @param xcb_generic_error_t    **e
13077  ** @returns xcb_get_image_reply_t *
13078  **
13079  *****************************************************************************/
13080 
13081 xcb_get_image_reply_t *
13082 xcb_get_image_reply (xcb_connection_t        *c  /**< */,
13083                      xcb_get_image_cookie_t   cookie  /**< */,
13084                      xcb_generic_error_t    **e  /**< */);
13085 
13086 int
13087 xcb_poly_text_8_sizeof (const void  *_buffer  /**< */,
13088                         uint32_t     items_len  /**< */);
13089 
13090 /**
13091  *
13092  * @param c The connection
13093  * @return A cookie
13094  *
13095  * Delivers a request to the X server.
13096  *
13097  * This form can be used only if the request will not cause
13098  * a reply to be generated. Any returned error will be
13099  * saved for handling by xcb_request_check().
13100  */
13101 
13102 /*****************************************************************************
13103  **
13104  ** xcb_void_cookie_t xcb_poly_text_8_checked
13105  **
13106  ** @param xcb_connection_t *c
13107  ** @param xcb_drawable_t    drawable
13108  ** @param xcb_gcontext_t    gc
13109  ** @param int16_t           x
13110  ** @param int16_t           y
13111  ** @param uint32_t          items_len
13112  ** @param const uint8_t    *items
13113  ** @returns xcb_void_cookie_t
13114  **
13115  *****************************************************************************/
13116 
13117 xcb_void_cookie_t
13118 xcb_poly_text_8_checked (xcb_connection_t *c  /**< */,
13119                          xcb_drawable_t    drawable  /**< */,
13120                          xcb_gcontext_t    gc  /**< */,
13121                          int16_t           x  /**< */,
13122                          int16_t           y  /**< */,
13123                          uint32_t          items_len  /**< */,
13124                          const uint8_t    *items  /**< */);
13125 
13126 /**
13127  *
13128  * @param c The connection
13129  * @return A cookie
13130  *
13131  * Delivers a request to the X server.
13132  *
13133  */
13134 
13135 /*****************************************************************************
13136  **
13137  ** xcb_void_cookie_t xcb_poly_text_8
13138  **
13139  ** @param xcb_connection_t *c
13140  ** @param xcb_drawable_t    drawable
13141  ** @param xcb_gcontext_t    gc
13142  ** @param int16_t           x
13143  ** @param int16_t           y
13144  ** @param uint32_t          items_len
13145  ** @param const uint8_t    *items
13146  ** @returns xcb_void_cookie_t
13147  **
13148  *****************************************************************************/
13149 
13150 xcb_void_cookie_t
13151 xcb_poly_text_8 (xcb_connection_t *c  /**< */,
13152                  xcb_drawable_t    drawable  /**< */,
13153                  xcb_gcontext_t    gc  /**< */,
13154                  int16_t           x  /**< */,
13155                  int16_t           y  /**< */,
13156                  uint32_t          items_len  /**< */,
13157                  const uint8_t    *items  /**< */);
13158 
13159 int
13160 xcb_poly_text_16_sizeof (const void  *_buffer  /**< */,
13161                          uint32_t     items_len  /**< */);
13162 
13163 /**
13164  *
13165  * @param c The connection
13166  * @return A cookie
13167  *
13168  * Delivers a request to the X server.
13169  *
13170  * This form can be used only if the request will not cause
13171  * a reply to be generated. Any returned error will be
13172  * saved for handling by xcb_request_check().
13173  */
13174 
13175 /*****************************************************************************
13176  **
13177  ** xcb_void_cookie_t xcb_poly_text_16_checked
13178  **
13179  ** @param xcb_connection_t *c
13180  ** @param xcb_drawable_t    drawable
13181  ** @param xcb_gcontext_t    gc
13182  ** @param int16_t           x
13183  ** @param int16_t           y
13184  ** @param uint32_t          items_len
13185  ** @param const uint8_t    *items
13186  ** @returns xcb_void_cookie_t
13187  **
13188  *****************************************************************************/
13189 
13190 xcb_void_cookie_t
13191 xcb_poly_text_16_checked (xcb_connection_t *c  /**< */,
13192                           xcb_drawable_t    drawable  /**< */,
13193                           xcb_gcontext_t    gc  /**< */,
13194                           int16_t           x  /**< */,
13195                           int16_t           y  /**< */,
13196                           uint32_t          items_len  /**< */,
13197                           const uint8_t    *items  /**< */);
13198 
13199 /**
13200  *
13201  * @param c The connection
13202  * @return A cookie
13203  *
13204  * Delivers a request to the X server.
13205  *
13206  */
13207 
13208 /*****************************************************************************
13209  **
13210  ** xcb_void_cookie_t xcb_poly_text_16
13211  **
13212  ** @param xcb_connection_t *c
13213  ** @param xcb_drawable_t    drawable
13214  ** @param xcb_gcontext_t    gc
13215  ** @param int16_t           x
13216  ** @param int16_t           y
13217  ** @param uint32_t          items_len
13218  ** @param const uint8_t    *items
13219  ** @returns xcb_void_cookie_t
13220  **
13221  *****************************************************************************/
13222 
13223 xcb_void_cookie_t
13224 xcb_poly_text_16 (xcb_connection_t *c  /**< */,
13225                   xcb_drawable_t    drawable  /**< */,
13226                   xcb_gcontext_t    gc  /**< */,
13227                   int16_t           x  /**< */,
13228                   int16_t           y  /**< */,
13229                   uint32_t          items_len  /**< */,
13230                   const uint8_t    *items  /**< */);
13231 
13232 int
13233 xcb_image_text_8_sizeof (const void  *_buffer  /**< */);
13234 
13235 /**
13236  * @brief Draws text
13237  *
13238  * @param c The connection
13239  * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
13240  * using 8 bits!
13241  * @param drawable The drawable (Window or Pixmap) to draw text on.
13242  * @param gc The graphics context to use.
13243  * \n
13244  * The following graphics context components are used: plane-mask, foreground,
13245  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13246  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13247  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13248  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13249  * type of \a string_len.
13250  * @return A cookie
13251  *
13252  * Fills the destination rectangle with the background pixel from \a gc, then
13253  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13254  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13255  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13256  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13257  *
13258  * Note that using X core fonts is deprecated (but still supported) in favor of
13259  * client-side rendering using Xft.
13260  *
13261  * This form can be used only if the request will not cause
13262  * a reply to be generated. Any returned error will be
13263  * saved for handling by xcb_request_check().
13264  */
13265 
13266 /*****************************************************************************
13267  **
13268  ** xcb_void_cookie_t xcb_image_text_8_checked
13269  **
13270  ** @param xcb_connection_t *c
13271  ** @param uint8_t           string_len
13272  ** @param xcb_drawable_t    drawable
13273  ** @param xcb_gcontext_t    gc
13274  ** @param int16_t           x
13275  ** @param int16_t           y
13276  ** @param const char       *string
13277  ** @returns xcb_void_cookie_t
13278  **
13279  *****************************************************************************/
13280 
13281 xcb_void_cookie_t
13282 xcb_image_text_8_checked (xcb_connection_t *c  /**< */,
13283                           uint8_t           string_len  /**< */,
13284                           xcb_drawable_t    drawable  /**< */,
13285                           xcb_gcontext_t    gc  /**< */,
13286                           int16_t           x  /**< */,
13287                           int16_t           y  /**< */,
13288                           const char       *string  /**< */);
13289 
13290 /**
13291  * @brief Draws text
13292  *
13293  * @param c The connection
13294  * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
13295  * using 8 bits!
13296  * @param drawable The drawable (Window or Pixmap) to draw text on.
13297  * @param gc The graphics context to use.
13298  * \n
13299  * The following graphics context components are used: plane-mask, foreground,
13300  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13301  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13302  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13303  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13304  * type of \a string_len.
13305  * @return A cookie
13306  *
13307  * Fills the destination rectangle with the background pixel from \a gc, then
13308  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13309  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13310  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13311  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13312  *
13313  * Note that using X core fonts is deprecated (but still supported) in favor of
13314  * client-side rendering using Xft.
13315  *
13316  */
13317 
13318 /*****************************************************************************
13319  **
13320  ** xcb_void_cookie_t xcb_image_text_8
13321  **
13322  ** @param xcb_connection_t *c
13323  ** @param uint8_t           string_len
13324  ** @param xcb_drawable_t    drawable
13325  ** @param xcb_gcontext_t    gc
13326  ** @param int16_t           x
13327  ** @param int16_t           y
13328  ** @param const char       *string
13329  ** @returns xcb_void_cookie_t
13330  **
13331  *****************************************************************************/
13332 
13333 xcb_void_cookie_t
13334 xcb_image_text_8 (xcb_connection_t *c  /**< */,
13335                   uint8_t           string_len  /**< */,
13336                   xcb_drawable_t    drawable  /**< */,
13337                   xcb_gcontext_t    gc  /**< */,
13338                   int16_t           x  /**< */,
13339                   int16_t           y  /**< */,
13340                   const char       *string  /**< */);
13341 
13342 int
13343 xcb_image_text_16_sizeof (const void  *_buffer  /**< */);
13344 
13345 /**
13346  * @brief Draws text
13347  *
13348  * @param c The connection
13349  * @param string_len The length of the \a string in characters. Note that this parameter limited by
13350  * 255 due to using 8 bits!
13351  * @param drawable The drawable (Window or Pixmap) to draw text on.
13352  * @param gc The graphics context to use.
13353  * \n
13354  * The following graphics context components are used: plane-mask, foreground,
13355  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13356  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13357  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13358  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13359  * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
13360  * request's name).
13361  * @return A cookie
13362  *
13363  * Fills the destination rectangle with the background pixel from \a gc, then
13364  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13365  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13366  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13367  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13368  *
13369  * Note that using X core fonts is deprecated (but still supported) in favor of
13370  * client-side rendering using Xft.
13371  *
13372  * This form can be used only if the request will not cause
13373  * a reply to be generated. Any returned error will be
13374  * saved for handling by xcb_request_check().
13375  */
13376 
13377 /*****************************************************************************
13378  **
13379  ** xcb_void_cookie_t xcb_image_text_16_checked
13380  **
13381  ** @param xcb_connection_t   *c
13382  ** @param uint8_t             string_len
13383  ** @param xcb_drawable_t      drawable
13384  ** @param xcb_gcontext_t      gc
13385  ** @param int16_t             x
13386  ** @param int16_t             y
13387  ** @param const xcb_char2b_t *string
13388  ** @returns xcb_void_cookie_t
13389  **
13390  *****************************************************************************/
13391 
13392 xcb_void_cookie_t
13393 xcb_image_text_16_checked (xcb_connection_t   *c  /**< */,
13394                            uint8_t             string_len  /**< */,
13395                            xcb_drawable_t      drawable  /**< */,
13396                            xcb_gcontext_t      gc  /**< */,
13397                            int16_t             x  /**< */,
13398                            int16_t             y  /**< */,
13399                            const xcb_char2b_t *string  /**< */);
13400 
13401 /**
13402  * @brief Draws text
13403  *
13404  * @param c The connection
13405  * @param string_len The length of the \a string in characters. Note that this parameter limited by
13406  * 255 due to using 8 bits!
13407  * @param drawable The drawable (Window or Pixmap) to draw text on.
13408  * @param gc The graphics context to use.
13409  * \n
13410  * The following graphics context components are used: plane-mask, foreground,
13411  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
13412  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
13413  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
13414  * @param string The string to draw. Only the first 255 characters are relevant due to the data
13415  * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
13416  * request's name).
13417  * @return A cookie
13418  *
13419  * Fills the destination rectangle with the background pixel from \a gc, then
13420  * paints the text with the foreground pixel from \a gc. The upper-left corner of
13421  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
13422  * the height is font-ascent + font-descent. The overall-width, font-ascent and
13423  * font-descent are as returned by `xcb_query_text_extents` (TODO).
13424  *
13425  * Note that using X core fonts is deprecated (but still supported) in favor of
13426  * client-side rendering using Xft.
13427  *
13428  */
13429 
13430 /*****************************************************************************
13431  **
13432  ** xcb_void_cookie_t xcb_image_text_16
13433  **
13434  ** @param xcb_connection_t   *c
13435  ** @param uint8_t             string_len
13436  ** @param xcb_drawable_t      drawable
13437  ** @param xcb_gcontext_t      gc
13438  ** @param int16_t             x
13439  ** @param int16_t             y
13440  ** @param const xcb_char2b_t *string
13441  ** @returns xcb_void_cookie_t
13442  **
13443  *****************************************************************************/
13444 
13445 xcb_void_cookie_t
13446 xcb_image_text_16 (xcb_connection_t   *c  /**< */,
13447                    uint8_t             string_len  /**< */,
13448                    xcb_drawable_t      drawable  /**< */,
13449                    xcb_gcontext_t      gc  /**< */,
13450                    int16_t             x  /**< */,
13451                    int16_t             y  /**< */,
13452                    const xcb_char2b_t *string  /**< */);
13453 
13454 /**
13455  *
13456  * @param c The connection
13457  * @return A cookie
13458  *
13459  * Delivers a request to the X server.
13460  *
13461  * This form can be used only if the request will not cause
13462  * a reply to be generated. Any returned error will be
13463  * saved for handling by xcb_request_check().
13464  */
13465 
13466 /*****************************************************************************
13467  **
13468  ** xcb_void_cookie_t xcb_create_colormap_checked
13469  **
13470  ** @param xcb_connection_t *c
13471  ** @param uint8_t           alloc
13472  ** @param xcb_colormap_t    mid
13473  ** @param xcb_window_t      window
13474  ** @param xcb_visualid_t    visual
13475  ** @returns xcb_void_cookie_t
13476  **
13477  *****************************************************************************/
13478 
13479 xcb_void_cookie_t
13480 xcb_create_colormap_checked (xcb_connection_t *c  /**< */,
13481                              uint8_t           alloc  /**< */,
13482                              xcb_colormap_t    mid  /**< */,
13483                              xcb_window_t      window  /**< */,
13484                              xcb_visualid_t    visual  /**< */);
13485 
13486 /**
13487  *
13488  * @param c The connection
13489  * @return A cookie
13490  *
13491  * Delivers a request to the X server.
13492  *
13493  */
13494 
13495 /*****************************************************************************
13496  **
13497  ** xcb_void_cookie_t xcb_create_colormap
13498  **
13499  ** @param xcb_connection_t *c
13500  ** @param uint8_t           alloc
13501  ** @param xcb_colormap_t    mid
13502  ** @param xcb_window_t      window
13503  ** @param xcb_visualid_t    visual
13504  ** @returns xcb_void_cookie_t
13505  **
13506  *****************************************************************************/
13507 
13508 xcb_void_cookie_t
13509 xcb_create_colormap (xcb_connection_t *c  /**< */,
13510                      uint8_t           alloc  /**< */,
13511                      xcb_colormap_t    mid  /**< */,
13512                      xcb_window_t      window  /**< */,
13513                      xcb_visualid_t    visual  /**< */);
13514 
13515 /**
13516  *
13517  * @param c The connection
13518  * @return A cookie
13519  *
13520  * Delivers a request to the X server.
13521  *
13522  * This form can be used only if the request will not cause
13523  * a reply to be generated. Any returned error will be
13524  * saved for handling by xcb_request_check().
13525  */
13526 
13527 /*****************************************************************************
13528  **
13529  ** xcb_void_cookie_t xcb_free_colormap_checked
13530  **
13531  ** @param xcb_connection_t *c
13532  ** @param xcb_colormap_t    cmap
13533  ** @returns xcb_void_cookie_t
13534  **
13535  *****************************************************************************/
13536 
13537 xcb_void_cookie_t
13538 xcb_free_colormap_checked (xcb_connection_t *c  /**< */,
13539                            xcb_colormap_t    cmap  /**< */);
13540 
13541 /**
13542  *
13543  * @param c The connection
13544  * @return A cookie
13545  *
13546  * Delivers a request to the X server.
13547  *
13548  */
13549 
13550 /*****************************************************************************
13551  **
13552  ** xcb_void_cookie_t xcb_free_colormap
13553  **
13554  ** @param xcb_connection_t *c
13555  ** @param xcb_colormap_t    cmap
13556  ** @returns xcb_void_cookie_t
13557  **
13558  *****************************************************************************/
13559 
13560 xcb_void_cookie_t
13561 xcb_free_colormap (xcb_connection_t *c  /**< */,
13562                    xcb_colormap_t    cmap  /**< */);
13563 
13564 /**
13565  *
13566  * @param c The connection
13567  * @return A cookie
13568  *
13569  * Delivers a request to the X server.
13570  *
13571  * This form can be used only if the request will not cause
13572  * a reply to be generated. Any returned error will be
13573  * saved for handling by xcb_request_check().
13574  */
13575 
13576 /*****************************************************************************
13577  **
13578  ** xcb_void_cookie_t xcb_copy_colormap_and_free_checked
13579  **
13580  ** @param xcb_connection_t *c
13581  ** @param xcb_colormap_t    mid
13582  ** @param xcb_colormap_t    src_cmap
13583  ** @returns xcb_void_cookie_t
13584  **
13585  *****************************************************************************/
13586 
13587 xcb_void_cookie_t
13588 xcb_copy_colormap_and_free_checked (xcb_connection_t *c  /**< */,
13589                                     xcb_colormap_t    mid  /**< */,
13590                                     xcb_colormap_t    src_cmap  /**< */);
13591 
13592 /**
13593  *
13594  * @param c The connection
13595  * @return A cookie
13596  *
13597  * Delivers a request to the X server.
13598  *
13599  */
13600 
13601 /*****************************************************************************
13602  **
13603  ** xcb_void_cookie_t xcb_copy_colormap_and_free
13604  **
13605  ** @param xcb_connection_t *c
13606  ** @param xcb_colormap_t    mid
13607  ** @param xcb_colormap_t    src_cmap
13608  ** @returns xcb_void_cookie_t
13609  **
13610  *****************************************************************************/
13611 
13612 xcb_void_cookie_t
13613 xcb_copy_colormap_and_free (xcb_connection_t *c  /**< */,
13614                             xcb_colormap_t    mid  /**< */,
13615                             xcb_colormap_t    src_cmap  /**< */);
13616 
13617 /**
13618  *
13619  * @param c The connection
13620  * @return A cookie
13621  *
13622  * Delivers a request to the X server.
13623  *
13624  * This form can be used only if the request will not cause
13625  * a reply to be generated. Any returned error will be
13626  * saved for handling by xcb_request_check().
13627  */
13628 
13629 /*****************************************************************************
13630  **
13631  ** xcb_void_cookie_t xcb_install_colormap_checked
13632  **
13633  ** @param xcb_connection_t *c
13634  ** @param xcb_colormap_t    cmap
13635  ** @returns xcb_void_cookie_t
13636  **
13637  *****************************************************************************/
13638 
13639 xcb_void_cookie_t
13640 xcb_install_colormap_checked (xcb_connection_t *c  /**< */,
13641                               xcb_colormap_t    cmap  /**< */);
13642 
13643 /**
13644  *
13645  * @param c The connection
13646  * @return A cookie
13647  *
13648  * Delivers a request to the X server.
13649  *
13650  */
13651 
13652 /*****************************************************************************
13653  **
13654  ** xcb_void_cookie_t xcb_install_colormap
13655  **
13656  ** @param xcb_connection_t *c
13657  ** @param xcb_colormap_t    cmap
13658  ** @returns xcb_void_cookie_t
13659  **
13660  *****************************************************************************/
13661 
13662 xcb_void_cookie_t
13663 xcb_install_colormap (xcb_connection_t *c  /**< */,
13664                       xcb_colormap_t    cmap  /**< */);
13665 
13666 /**
13667  *
13668  * @param c The connection
13669  * @return A cookie
13670  *
13671  * Delivers a request to the X server.
13672  *
13673  * This form can be used only if the request will not cause
13674  * a reply to be generated. Any returned error will be
13675  * saved for handling by xcb_request_check().
13676  */
13677 
13678 /*****************************************************************************
13679  **
13680  ** xcb_void_cookie_t xcb_uninstall_colormap_checked
13681  **
13682  ** @param xcb_connection_t *c
13683  ** @param xcb_colormap_t    cmap
13684  ** @returns xcb_void_cookie_t
13685  **
13686  *****************************************************************************/
13687 
13688 xcb_void_cookie_t
13689 xcb_uninstall_colormap_checked (xcb_connection_t *c  /**< */,
13690                                 xcb_colormap_t    cmap  /**< */);
13691 
13692 /**
13693  *
13694  * @param c The connection
13695  * @return A cookie
13696  *
13697  * Delivers a request to the X server.
13698  *
13699  */
13700 
13701 /*****************************************************************************
13702  **
13703  ** xcb_void_cookie_t xcb_uninstall_colormap
13704  **
13705  ** @param xcb_connection_t *c
13706  ** @param xcb_colormap_t    cmap
13707  ** @returns xcb_void_cookie_t
13708  **
13709  *****************************************************************************/
13710 
13711 xcb_void_cookie_t
13712 xcb_uninstall_colormap (xcb_connection_t *c  /**< */,
13713                         xcb_colormap_t    cmap  /**< */);
13714 
13715 int
13716 xcb_list_installed_colormaps_sizeof (const void  *_buffer  /**< */);
13717 
13718 /**
13719  *
13720  * @param c The connection
13721  * @return A cookie
13722  *
13723  * Delivers a request to the X server.
13724  *
13725  */
13726 
13727 /*****************************************************************************
13728  **
13729  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps
13730  **
13731  ** @param xcb_connection_t *c
13732  ** @param xcb_window_t      window
13733  ** @returns xcb_list_installed_colormaps_cookie_t
13734  **
13735  *****************************************************************************/
13736 
13737 xcb_list_installed_colormaps_cookie_t
13738 xcb_list_installed_colormaps (xcb_connection_t *c  /**< */,
13739                               xcb_window_t      window  /**< */);
13740 
13741 /**
13742  *
13743  * @param c The connection
13744  * @return A cookie
13745  *
13746  * Delivers a request to the X server.
13747  *
13748  * This form can be used only if the request will cause
13749  * a reply to be generated. Any returned error will be
13750  * placed in the event queue.
13751  */
13752 
13753 /*****************************************************************************
13754  **
13755  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps_unchecked
13756  **
13757  ** @param xcb_connection_t *c
13758  ** @param xcb_window_t      window
13759  ** @returns xcb_list_installed_colormaps_cookie_t
13760  **
13761  *****************************************************************************/
13762 
13763 xcb_list_installed_colormaps_cookie_t
13764 xcb_list_installed_colormaps_unchecked (xcb_connection_t *c  /**< */,
13765                                         xcb_window_t      window  /**< */);
13766 
13767 
13768 /*****************************************************************************
13769  **
13770  ** xcb_colormap_t * xcb_list_installed_colormaps_cmaps
13771  **
13772  ** @param const xcb_list_installed_colormaps_reply_t *R
13773  ** @returns xcb_colormap_t *
13774  **
13775  *****************************************************************************/
13776 
13777 xcb_colormap_t *
13778 xcb_list_installed_colormaps_cmaps (const xcb_list_installed_colormaps_reply_t *R  /**< */);
13779 
13780 
13781 /*****************************************************************************
13782  **
13783  ** int xcb_list_installed_colormaps_cmaps_length
13784  **
13785  ** @param const xcb_list_installed_colormaps_reply_t *R
13786  ** @returns int
13787  **
13788  *****************************************************************************/
13789 
13790 int
13791 xcb_list_installed_colormaps_cmaps_length (const xcb_list_installed_colormaps_reply_t *R  /**< */);
13792 
13793 
13794 /*****************************************************************************
13795  **
13796  ** xcb_generic_iterator_t xcb_list_installed_colormaps_cmaps_end
13797  **
13798  ** @param const xcb_list_installed_colormaps_reply_t *R
13799  ** @returns xcb_generic_iterator_t
13800  **
13801  *****************************************************************************/
13802 
13803 xcb_generic_iterator_t
13804 xcb_list_installed_colormaps_cmaps_end (const xcb_list_installed_colormaps_reply_t *R  /**< */);
13805 
13806 /**
13807  * Return the reply
13808  * @param c      The connection
13809  * @param cookie The cookie
13810  * @param e      The xcb_generic_error_t supplied
13811  *
13812  * Returns the reply of the request asked by
13813  *
13814  * The parameter @p e supplied to this function must be NULL if
13815  * xcb_list_installed_colormaps_unchecked(). is used.
13816  * Otherwise, it stores the error if any.
13817  *
13818  * The returned value must be freed by the caller using free().
13819  */
13820 
13821 /*****************************************************************************
13822  **
13823  ** xcb_list_installed_colormaps_reply_t * xcb_list_installed_colormaps_reply
13824  **
13825  ** @param xcb_connection_t                       *c
13826  ** @param xcb_list_installed_colormaps_cookie_t   cookie
13827  ** @param xcb_generic_error_t                   **e
13828  ** @returns xcb_list_installed_colormaps_reply_t *
13829  **
13830  *****************************************************************************/
13831 
13832 xcb_list_installed_colormaps_reply_t *
13833 xcb_list_installed_colormaps_reply (xcb_connection_t                       *c  /**< */,
13834                                     xcb_list_installed_colormaps_cookie_t   cookie  /**< */,
13835                                     xcb_generic_error_t                   **e  /**< */);
13836 
13837 /**
13838  * @brief Allocate a color
13839  *
13840  * @param c The connection
13841  * @param cmap TODO
13842  * @param red The red value of your color.
13843  * @param green The green value of your color.
13844  * @param blue The blue value of your color.
13845  * @return A cookie
13846  *
13847  * Allocates a read-only colormap entry corresponding to the closest RGB value
13848  * supported by the hardware. If you are using TrueColor, you can take a shortcut
13849  * and directly calculate the color pixel value to avoid the round trip. But, for
13850  * example, on 16-bit color setups (VNC), you can easily get the closest supported
13851  * RGB value to the RGB value you are specifying.
13852  *
13853  */
13854 
13855 /*****************************************************************************
13856  **
13857  ** xcb_alloc_color_cookie_t xcb_alloc_color
13858  **
13859  ** @param xcb_connection_t *c
13860  ** @param xcb_colormap_t    cmap
13861  ** @param uint16_t          red
13862  ** @param uint16_t          green
13863  ** @param uint16_t          blue
13864  ** @returns xcb_alloc_color_cookie_t
13865  **
13866  *****************************************************************************/
13867 
13868 xcb_alloc_color_cookie_t
13869 xcb_alloc_color (xcb_connection_t *c  /**< */,
13870                  xcb_colormap_t    cmap  /**< */,
13871                  uint16_t          red  /**< */,
13872                  uint16_t          green  /**< */,
13873                  uint16_t          blue  /**< */);
13874 
13875 /**
13876  * @brief Allocate a color
13877  *
13878  * @param c The connection
13879  * @param cmap TODO
13880  * @param red The red value of your color.
13881  * @param green The green value of your color.
13882  * @param blue The blue value of your color.
13883  * @return A cookie
13884  *
13885  * Allocates a read-only colormap entry corresponding to the closest RGB value
13886  * supported by the hardware. If you are using TrueColor, you can take a shortcut
13887  * and directly calculate the color pixel value to avoid the round trip. But, for
13888  * example, on 16-bit color setups (VNC), you can easily get the closest supported
13889  * RGB value to the RGB value you are specifying.
13890  *
13891  * This form can be used only if the request will cause
13892  * a reply to be generated. Any returned error will be
13893  * placed in the event queue.
13894  */
13895 
13896 /*****************************************************************************
13897  **
13898  ** xcb_alloc_color_cookie_t xcb_alloc_color_unchecked
13899  **
13900  ** @param xcb_connection_t *c
13901  ** @param xcb_colormap_t    cmap
13902  ** @param uint16_t          red
13903  ** @param uint16_t          green
13904  ** @param uint16_t          blue
13905  ** @returns xcb_alloc_color_cookie_t
13906  **
13907  *****************************************************************************/
13908 
13909 xcb_alloc_color_cookie_t
13910 xcb_alloc_color_unchecked (xcb_connection_t *c  /**< */,
13911                            xcb_colormap_t    cmap  /**< */,
13912                            uint16_t          red  /**< */,
13913                            uint16_t          green  /**< */,
13914                            uint16_t          blue  /**< */);
13915 
13916 /**
13917  * Return the reply
13918  * @param c      The connection
13919  * @param cookie The cookie
13920  * @param e      The xcb_generic_error_t supplied
13921  *
13922  * Returns the reply of the request asked by
13923  *
13924  * The parameter @p e supplied to this function must be NULL if
13925  * xcb_alloc_color_unchecked(). is used.
13926  * Otherwise, it stores the error if any.
13927  *
13928  * The returned value must be freed by the caller using free().
13929  */
13930 
13931 /*****************************************************************************
13932  **
13933  ** xcb_alloc_color_reply_t * xcb_alloc_color_reply
13934  **
13935  ** @param xcb_connection_t          *c
13936  ** @param xcb_alloc_color_cookie_t   cookie
13937  ** @param xcb_generic_error_t      **e
13938  ** @returns xcb_alloc_color_reply_t *
13939  **
13940  *****************************************************************************/
13941 
13942 xcb_alloc_color_reply_t *
13943 xcb_alloc_color_reply (xcb_connection_t          *c  /**< */,
13944                        xcb_alloc_color_cookie_t   cookie  /**< */,
13945                        xcb_generic_error_t      **e  /**< */);
13946 
13947 int
13948 xcb_alloc_named_color_sizeof (const void  *_buffer  /**< */);
13949 
13950 /**
13951  *
13952  * @param c The connection
13953  * @return A cookie
13954  *
13955  * Delivers a request to the X server.
13956  *
13957  */
13958 
13959 /*****************************************************************************
13960  **
13961  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color
13962  **
13963  ** @param xcb_connection_t *c
13964  ** @param xcb_colormap_t    cmap
13965  ** @param uint16_t          name_len
13966  ** @param const char       *name
13967  ** @returns xcb_alloc_named_color_cookie_t
13968  **
13969  *****************************************************************************/
13970 
13971 xcb_alloc_named_color_cookie_t
13972 xcb_alloc_named_color (xcb_connection_t *c  /**< */,
13973                        xcb_colormap_t    cmap  /**< */,
13974                        uint16_t          name_len  /**< */,
13975                        const char       *name  /**< */);
13976 
13977 /**
13978  *
13979  * @param c The connection
13980  * @return A cookie
13981  *
13982  * Delivers a request to the X server.
13983  *
13984  * This form can be used only if the request will cause
13985  * a reply to be generated. Any returned error will be
13986  * placed in the event queue.
13987  */
13988 
13989 /*****************************************************************************
13990  **
13991  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color_unchecked
13992  **
13993  ** @param xcb_connection_t *c
13994  ** @param xcb_colormap_t    cmap
13995  ** @param uint16_t          name_len
13996  ** @param const char       *name
13997  ** @returns xcb_alloc_named_color_cookie_t
13998  **
13999  *****************************************************************************/
14000 
14001 xcb_alloc_named_color_cookie_t
14002 xcb_alloc_named_color_unchecked (xcb_connection_t *c  /**< */,
14003                                  xcb_colormap_t    cmap  /**< */,
14004                                  uint16_t          name_len  /**< */,
14005                                  const char       *name  /**< */);
14006 
14007 /**
14008  * Return the reply
14009  * @param c      The connection
14010  * @param cookie The cookie
14011  * @param e      The xcb_generic_error_t supplied
14012  *
14013  * Returns the reply of the request asked by
14014  *
14015  * The parameter @p e supplied to this function must be NULL if
14016  * xcb_alloc_named_color_unchecked(). is used.
14017  * Otherwise, it stores the error if any.
14018  *
14019  * The returned value must be freed by the caller using free().
14020  */
14021 
14022 /*****************************************************************************
14023  **
14024  ** xcb_alloc_named_color_reply_t * xcb_alloc_named_color_reply
14025  **
14026  ** @param xcb_connection_t                *c
14027  ** @param xcb_alloc_named_color_cookie_t   cookie
14028  ** @param xcb_generic_error_t            **e
14029  ** @returns xcb_alloc_named_color_reply_t *
14030  **
14031  *****************************************************************************/
14032 
14033 xcb_alloc_named_color_reply_t *
14034 xcb_alloc_named_color_reply (xcb_connection_t                *c  /**< */,
14035                              xcb_alloc_named_color_cookie_t   cookie  /**< */,
14036                              xcb_generic_error_t            **e  /**< */);
14037 
14038 int
14039 xcb_alloc_color_cells_sizeof (const void  *_buffer  /**< */);
14040 
14041 /**
14042  *
14043  * @param c The connection
14044  * @return A cookie
14045  *
14046  * Delivers a request to the X server.
14047  *
14048  */
14049 
14050 /*****************************************************************************
14051  **
14052  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells
14053  **
14054  ** @param xcb_connection_t *c
14055  ** @param uint8_t           contiguous
14056  ** @param xcb_colormap_t    cmap
14057  ** @param uint16_t          colors
14058  ** @param uint16_t          planes
14059  ** @returns xcb_alloc_color_cells_cookie_t
14060  **
14061  *****************************************************************************/
14062 
14063 xcb_alloc_color_cells_cookie_t
14064 xcb_alloc_color_cells (xcb_connection_t *c  /**< */,
14065                        uint8_t           contiguous  /**< */,
14066                        xcb_colormap_t    cmap  /**< */,
14067                        uint16_t          colors  /**< */,
14068                        uint16_t          planes  /**< */);
14069 
14070 /**
14071  *
14072  * @param c The connection
14073  * @return A cookie
14074  *
14075  * Delivers a request to the X server.
14076  *
14077  * This form can be used only if the request will cause
14078  * a reply to be generated. Any returned error will be
14079  * placed in the event queue.
14080  */
14081 
14082 /*****************************************************************************
14083  **
14084  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells_unchecked
14085  **
14086  ** @param xcb_connection_t *c
14087  ** @param uint8_t           contiguous
14088  ** @param xcb_colormap_t    cmap
14089  ** @param uint16_t          colors
14090  ** @param uint16_t          planes
14091  ** @returns xcb_alloc_color_cells_cookie_t
14092  **
14093  *****************************************************************************/
14094 
14095 xcb_alloc_color_cells_cookie_t
14096 xcb_alloc_color_cells_unchecked (xcb_connection_t *c  /**< */,
14097                                  uint8_t           contiguous  /**< */,
14098                                  xcb_colormap_t    cmap  /**< */,
14099                                  uint16_t          colors  /**< */,
14100                                  uint16_t          planes  /**< */);
14101 
14102 
14103 /*****************************************************************************
14104  **
14105  ** uint32_t * xcb_alloc_color_cells_pixels
14106  **
14107  ** @param const xcb_alloc_color_cells_reply_t *R
14108  ** @returns uint32_t *
14109  **
14110  *****************************************************************************/
14111 
14112 uint32_t *
14113 xcb_alloc_color_cells_pixels (const xcb_alloc_color_cells_reply_t *R  /**< */);
14114 
14115 
14116 /*****************************************************************************
14117  **
14118  ** int xcb_alloc_color_cells_pixels_length
14119  **
14120  ** @param const xcb_alloc_color_cells_reply_t *R
14121  ** @returns int
14122  **
14123  *****************************************************************************/
14124 
14125 int
14126 xcb_alloc_color_cells_pixels_length (const xcb_alloc_color_cells_reply_t *R  /**< */);
14127 
14128 
14129 /*****************************************************************************
14130  **
14131  ** xcb_generic_iterator_t xcb_alloc_color_cells_pixels_end
14132  **
14133  ** @param const xcb_alloc_color_cells_reply_t *R
14134  ** @returns xcb_generic_iterator_t
14135  **
14136  *****************************************************************************/
14137 
14138 xcb_generic_iterator_t
14139 xcb_alloc_color_cells_pixels_end (const xcb_alloc_color_cells_reply_t *R  /**< */);
14140 
14141 
14142 /*****************************************************************************
14143  **
14144  ** uint32_t * xcb_alloc_color_cells_masks
14145  **
14146  ** @param const xcb_alloc_color_cells_reply_t *R
14147  ** @returns uint32_t *
14148  **
14149  *****************************************************************************/
14150 
14151 uint32_t *
14152 xcb_alloc_color_cells_masks (const xcb_alloc_color_cells_reply_t *R  /**< */);
14153 
14154 
14155 /*****************************************************************************
14156  **
14157  ** int xcb_alloc_color_cells_masks_length
14158  **
14159  ** @param const xcb_alloc_color_cells_reply_t *R
14160  ** @returns int
14161  **
14162  *****************************************************************************/
14163 
14164 int
14165 xcb_alloc_color_cells_masks_length (const xcb_alloc_color_cells_reply_t *R  /**< */);
14166 
14167 
14168 /*****************************************************************************
14169  **
14170  ** xcb_generic_iterator_t xcb_alloc_color_cells_masks_end
14171  **
14172  ** @param const xcb_alloc_color_cells_reply_t *R
14173  ** @returns xcb_generic_iterator_t
14174  **
14175  *****************************************************************************/
14176 
14177 xcb_generic_iterator_t
14178 xcb_alloc_color_cells_masks_end (const xcb_alloc_color_cells_reply_t *R  /**< */);
14179 
14180 /**
14181  * Return the reply
14182  * @param c      The connection
14183  * @param cookie The cookie
14184  * @param e      The xcb_generic_error_t supplied
14185  *
14186  * Returns the reply of the request asked by
14187  *
14188  * The parameter @p e supplied to this function must be NULL if
14189  * xcb_alloc_color_cells_unchecked(). is used.
14190  * Otherwise, it stores the error if any.
14191  *
14192  * The returned value must be freed by the caller using free().
14193  */
14194 
14195 /*****************************************************************************
14196  **
14197  ** xcb_alloc_color_cells_reply_t * xcb_alloc_color_cells_reply
14198  **
14199  ** @param xcb_connection_t                *c
14200  ** @param xcb_alloc_color_cells_cookie_t   cookie
14201  ** @param xcb_generic_error_t            **e
14202  ** @returns xcb_alloc_color_cells_reply_t *
14203  **
14204  *****************************************************************************/
14205 
14206 xcb_alloc_color_cells_reply_t *
14207 xcb_alloc_color_cells_reply (xcb_connection_t                *c  /**< */,
14208                              xcb_alloc_color_cells_cookie_t   cookie  /**< */,
14209                              xcb_generic_error_t            **e  /**< */);
14210 
14211 int
14212 xcb_alloc_color_planes_sizeof (const void  *_buffer  /**< */);
14213 
14214 /**
14215  *
14216  * @param c The connection
14217  * @return A cookie
14218  *
14219  * Delivers a request to the X server.
14220  *
14221  */
14222 
14223 /*****************************************************************************
14224  **
14225  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes
14226  **
14227  ** @param xcb_connection_t *c
14228  ** @param uint8_t           contiguous
14229  ** @param xcb_colormap_t    cmap
14230  ** @param uint16_t          colors
14231  ** @param uint16_t          reds
14232  ** @param uint16_t          greens
14233  ** @param uint16_t          blues
14234  ** @returns xcb_alloc_color_planes_cookie_t
14235  **
14236  *****************************************************************************/
14237 
14238 xcb_alloc_color_planes_cookie_t
14239 xcb_alloc_color_planes (xcb_connection_t *c  /**< */,
14240                         uint8_t           contiguous  /**< */,
14241                         xcb_colormap_t    cmap  /**< */,
14242                         uint16_t          colors  /**< */,
14243                         uint16_t          reds  /**< */,
14244                         uint16_t          greens  /**< */,
14245                         uint16_t          blues  /**< */);
14246 
14247 /**
14248  *
14249  * @param c The connection
14250  * @return A cookie
14251  *
14252  * Delivers a request to the X server.
14253  *
14254  * This form can be used only if the request will cause
14255  * a reply to be generated. Any returned error will be
14256  * placed in the event queue.
14257  */
14258 
14259 /*****************************************************************************
14260  **
14261  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes_unchecked
14262  **
14263  ** @param xcb_connection_t *c
14264  ** @param uint8_t           contiguous
14265  ** @param xcb_colormap_t    cmap
14266  ** @param uint16_t          colors
14267  ** @param uint16_t          reds
14268  ** @param uint16_t          greens
14269  ** @param uint16_t          blues
14270  ** @returns xcb_alloc_color_planes_cookie_t
14271  **
14272  *****************************************************************************/
14273 
14274 xcb_alloc_color_planes_cookie_t
14275 xcb_alloc_color_planes_unchecked (xcb_connection_t *c  /**< */,
14276                                   uint8_t           contiguous  /**< */,
14277                                   xcb_colormap_t    cmap  /**< */,
14278                                   uint16_t          colors  /**< */,
14279                                   uint16_t          reds  /**< */,
14280                                   uint16_t          greens  /**< */,
14281                                   uint16_t          blues  /**< */);
14282 
14283 
14284 /*****************************************************************************
14285  **
14286  ** uint32_t * xcb_alloc_color_planes_pixels
14287  **
14288  ** @param const xcb_alloc_color_planes_reply_t *R
14289  ** @returns uint32_t *
14290  **
14291  *****************************************************************************/
14292 
14293 uint32_t *
14294 xcb_alloc_color_planes_pixels (const xcb_alloc_color_planes_reply_t *R  /**< */);
14295 
14296 
14297 /*****************************************************************************
14298  **
14299  ** int xcb_alloc_color_planes_pixels_length
14300  **
14301  ** @param const xcb_alloc_color_planes_reply_t *R
14302  ** @returns int
14303  **
14304  *****************************************************************************/
14305 
14306 int
14307 xcb_alloc_color_planes_pixels_length (const xcb_alloc_color_planes_reply_t *R  /**< */);
14308 
14309 
14310 /*****************************************************************************
14311  **
14312  ** xcb_generic_iterator_t xcb_alloc_color_planes_pixels_end
14313  **
14314  ** @param const xcb_alloc_color_planes_reply_t *R
14315  ** @returns xcb_generic_iterator_t
14316  **
14317  *****************************************************************************/
14318 
14319 xcb_generic_iterator_t
14320 xcb_alloc_color_planes_pixels_end (const xcb_alloc_color_planes_reply_t *R  /**< */);
14321 
14322 /**
14323  * Return the reply
14324  * @param c      The connection
14325  * @param cookie The cookie
14326  * @param e      The xcb_generic_error_t supplied
14327  *
14328  * Returns the reply of the request asked by
14329  *
14330  * The parameter @p e supplied to this function must be NULL if
14331  * xcb_alloc_color_planes_unchecked(). is used.
14332  * Otherwise, it stores the error if any.
14333  *
14334  * The returned value must be freed by the caller using free().
14335  */
14336 
14337 /*****************************************************************************
14338  **
14339  ** xcb_alloc_color_planes_reply_t * xcb_alloc_color_planes_reply
14340  **
14341  ** @param xcb_connection_t                 *c
14342  ** @param xcb_alloc_color_planes_cookie_t   cookie
14343  ** @param xcb_generic_error_t             **e
14344  ** @returns xcb_alloc_color_planes_reply_t *
14345  **
14346  *****************************************************************************/
14347 
14348 xcb_alloc_color_planes_reply_t *
14349 xcb_alloc_color_planes_reply (xcb_connection_t                 *c  /**< */,
14350                               xcb_alloc_color_planes_cookie_t   cookie  /**< */,
14351                               xcb_generic_error_t             **e  /**< */);
14352 
14353 int
14354 xcb_free_colors_sizeof (const void  *_buffer  /**< */,
14355                         uint32_t     pixels_len  /**< */);
14356 
14357 /**
14358  *
14359  * @param c The connection
14360  * @return A cookie
14361  *
14362  * Delivers a request to the X server.
14363  *
14364  * This form can be used only if the request will not cause
14365  * a reply to be generated. Any returned error will be
14366  * saved for handling by xcb_request_check().
14367  */
14368 
14369 /*****************************************************************************
14370  **
14371  ** xcb_void_cookie_t xcb_free_colors_checked
14372  **
14373  ** @param xcb_connection_t *c
14374  ** @param xcb_colormap_t    cmap
14375  ** @param uint32_t          plane_mask
14376  ** @param uint32_t          pixels_len
14377  ** @param const uint32_t   *pixels
14378  ** @returns xcb_void_cookie_t
14379  **
14380  *****************************************************************************/
14381 
14382 xcb_void_cookie_t
14383 xcb_free_colors_checked (xcb_connection_t *c  /**< */,
14384                          xcb_colormap_t    cmap  /**< */,
14385                          uint32_t          plane_mask  /**< */,
14386                          uint32_t          pixels_len  /**< */,
14387                          const uint32_t   *pixels  /**< */);
14388 
14389 /**
14390  *
14391  * @param c The connection
14392  * @return A cookie
14393  *
14394  * Delivers a request to the X server.
14395  *
14396  */
14397 
14398 /*****************************************************************************
14399  **
14400  ** xcb_void_cookie_t xcb_free_colors
14401  **
14402  ** @param xcb_connection_t *c
14403  ** @param xcb_colormap_t    cmap
14404  ** @param uint32_t          plane_mask
14405  ** @param uint32_t          pixels_len
14406  ** @param const uint32_t   *pixels
14407  ** @returns xcb_void_cookie_t
14408  **
14409  *****************************************************************************/
14410 
14411 xcb_void_cookie_t
14412 xcb_free_colors (xcb_connection_t *c  /**< */,
14413                  xcb_colormap_t    cmap  /**< */,
14414                  uint32_t          plane_mask  /**< */,
14415                  uint32_t          pixels_len  /**< */,
14416                  const uint32_t   *pixels  /**< */);
14417 
14418 /**
14419  * Get the next element of the iterator
14420  * @param i Pointer to a xcb_coloritem_iterator_t
14421  *
14422  * Get the next element in the iterator. The member rem is
14423  * decreased by one. The member data points to the next
14424  * element. The member index is increased by sizeof(xcb_coloritem_t)
14425  */
14426 
14427 /*****************************************************************************
14428  **
14429  ** void xcb_coloritem_next
14430  **
14431  ** @param xcb_coloritem_iterator_t *i
14432  ** @returns void
14433  **
14434  *****************************************************************************/
14435 
14436 void
14437 xcb_coloritem_next (xcb_coloritem_iterator_t *i  /**< */);
14438 
14439 /**
14440  * Return the iterator pointing to the last element
14441  * @param i An xcb_coloritem_iterator_t
14442  * @return  The iterator pointing to the last element
14443  *
14444  * Set the current element in the iterator to the last element.
14445  * The member rem is set to 0. The member data points to the
14446  * last element.
14447  */
14448 
14449 /*****************************************************************************
14450  **
14451  ** xcb_generic_iterator_t xcb_coloritem_end
14452  **
14453  ** @param xcb_coloritem_iterator_t i
14454  ** @returns xcb_generic_iterator_t
14455  **
14456  *****************************************************************************/
14457 
14458 xcb_generic_iterator_t
14459 xcb_coloritem_end (xcb_coloritem_iterator_t i  /**< */);
14460 
14461 int
14462 xcb_store_colors_sizeof (const void  *_buffer  /**< */,
14463                          uint32_t     items_len  /**< */);
14464 
14465 /**
14466  *
14467  * @param c The connection
14468  * @return A cookie
14469  *
14470  * Delivers a request to the X server.
14471  *
14472  * This form can be used only if the request will not cause
14473  * a reply to be generated. Any returned error will be
14474  * saved for handling by xcb_request_check().
14475  */
14476 
14477 /*****************************************************************************
14478  **
14479  ** xcb_void_cookie_t xcb_store_colors_checked
14480  **
14481  ** @param xcb_connection_t      *c
14482  ** @param xcb_colormap_t         cmap
14483  ** @param uint32_t               items_len
14484  ** @param const xcb_coloritem_t *items
14485  ** @returns xcb_void_cookie_t
14486  **
14487  *****************************************************************************/
14488 
14489 xcb_void_cookie_t
14490 xcb_store_colors_checked (xcb_connection_t      *c  /**< */,
14491                           xcb_colormap_t         cmap  /**< */,
14492                           uint32_t               items_len  /**< */,
14493                           const xcb_coloritem_t *items  /**< */);
14494 
14495 /**
14496  *
14497  * @param c The connection
14498  * @return A cookie
14499  *
14500  * Delivers a request to the X server.
14501  *
14502  */
14503 
14504 /*****************************************************************************
14505  **
14506  ** xcb_void_cookie_t xcb_store_colors
14507  **
14508  ** @param xcb_connection_t      *c
14509  ** @param xcb_colormap_t         cmap
14510  ** @param uint32_t               items_len
14511  ** @param const xcb_coloritem_t *items
14512  ** @returns xcb_void_cookie_t
14513  **
14514  *****************************************************************************/
14515 
14516 xcb_void_cookie_t
14517 xcb_store_colors (xcb_connection_t      *c  /**< */,
14518                   xcb_colormap_t         cmap  /**< */,
14519                   uint32_t               items_len  /**< */,
14520                   const xcb_coloritem_t *items  /**< */);
14521 
14522 int
14523 xcb_store_named_color_sizeof (const void  *_buffer  /**< */);
14524 
14525 /**
14526  *
14527  * @param c The connection
14528  * @return A cookie
14529  *
14530  * Delivers a request to the X server.
14531  *
14532  * This form can be used only if the request will not cause
14533  * a reply to be generated. Any returned error will be
14534  * saved for handling by xcb_request_check().
14535  */
14536 
14537 /*****************************************************************************
14538  **
14539  ** xcb_void_cookie_t xcb_store_named_color_checked
14540  **
14541  ** @param xcb_connection_t *c
14542  ** @param uint8_t           flags
14543  ** @param xcb_colormap_t    cmap
14544  ** @param uint32_t          pixel
14545  ** @param uint16_t          name_len
14546  ** @param const char       *name
14547  ** @returns xcb_void_cookie_t
14548  **
14549  *****************************************************************************/
14550 
14551 xcb_void_cookie_t
14552 xcb_store_named_color_checked (xcb_connection_t *c  /**< */,
14553                                uint8_t           flags  /**< */,
14554                                xcb_colormap_t    cmap  /**< */,
14555                                uint32_t          pixel  /**< */,
14556                                uint16_t          name_len  /**< */,
14557                                const char       *name  /**< */);
14558 
14559 /**
14560  *
14561  * @param c The connection
14562  * @return A cookie
14563  *
14564  * Delivers a request to the X server.
14565  *
14566  */
14567 
14568 /*****************************************************************************
14569  **
14570  ** xcb_void_cookie_t xcb_store_named_color
14571  **
14572  ** @param xcb_connection_t *c
14573  ** @param uint8_t           flags
14574  ** @param xcb_colormap_t    cmap
14575  ** @param uint32_t          pixel
14576  ** @param uint16_t          name_len
14577  ** @param const char       *name
14578  ** @returns xcb_void_cookie_t
14579  **
14580  *****************************************************************************/
14581 
14582 xcb_void_cookie_t
14583 xcb_store_named_color (xcb_connection_t *c  /**< */,
14584                        uint8_t           flags  /**< */,
14585                        xcb_colormap_t    cmap  /**< */,
14586                        uint32_t          pixel  /**< */,
14587                        uint16_t          name_len  /**< */,
14588                        const char       *name  /**< */);
14589 
14590 /**
14591  * Get the next element of the iterator
14592  * @param i Pointer to a xcb_rgb_iterator_t
14593  *
14594  * Get the next element in the iterator. The member rem is
14595  * decreased by one. The member data points to the next
14596  * element. The member index is increased by sizeof(xcb_rgb_t)
14597  */
14598 
14599 /*****************************************************************************
14600  **
14601  ** void xcb_rgb_next
14602  **
14603  ** @param xcb_rgb_iterator_t *i
14604  ** @returns void
14605  **
14606  *****************************************************************************/
14607 
14608 void
14609 xcb_rgb_next (xcb_rgb_iterator_t *i  /**< */);
14610 
14611 /**
14612  * Return the iterator pointing to the last element
14613  * @param i An xcb_rgb_iterator_t
14614  * @return  The iterator pointing to the last element
14615  *
14616  * Set the current element in the iterator to the last element.
14617  * The member rem is set to 0. The member data points to the
14618  * last element.
14619  */
14620 
14621 /*****************************************************************************
14622  **
14623  ** xcb_generic_iterator_t xcb_rgb_end
14624  **
14625  ** @param xcb_rgb_iterator_t i
14626  ** @returns xcb_generic_iterator_t
14627  **
14628  *****************************************************************************/
14629 
14630 xcb_generic_iterator_t
14631 xcb_rgb_end (xcb_rgb_iterator_t i  /**< */);
14632 
14633 int
14634 xcb_query_colors_sizeof (const void  *_buffer  /**< */,
14635                          uint32_t     pixels_len  /**< */);
14636 
14637 /**
14638  *
14639  * @param c The connection
14640  * @return A cookie
14641  *
14642  * Delivers a request to the X server.
14643  *
14644  */
14645 
14646 /*****************************************************************************
14647  **
14648  ** xcb_query_colors_cookie_t xcb_query_colors
14649  **
14650  ** @param xcb_connection_t *c
14651  ** @param xcb_colormap_t    cmap
14652  ** @param uint32_t          pixels_len
14653  ** @param const uint32_t   *pixels
14654  ** @returns xcb_query_colors_cookie_t
14655  **
14656  *****************************************************************************/
14657 
14658 xcb_query_colors_cookie_t
14659 xcb_query_colors (xcb_connection_t *c  /**< */,
14660                   xcb_colormap_t    cmap  /**< */,
14661                   uint32_t          pixels_len  /**< */,
14662                   const uint32_t   *pixels  /**< */);
14663 
14664 /**
14665  *
14666  * @param c The connection
14667  * @return A cookie
14668  *
14669  * Delivers a request to the X server.
14670  *
14671  * This form can be used only if the request will cause
14672  * a reply to be generated. Any returned error will be
14673  * placed in the event queue.
14674  */
14675 
14676 /*****************************************************************************
14677  **
14678  ** xcb_query_colors_cookie_t xcb_query_colors_unchecked
14679  **
14680  ** @param xcb_connection_t *c
14681  ** @param xcb_colormap_t    cmap
14682  ** @param uint32_t          pixels_len
14683  ** @param const uint32_t   *pixels
14684  ** @returns xcb_query_colors_cookie_t
14685  **
14686  *****************************************************************************/
14687 
14688 xcb_query_colors_cookie_t
14689 xcb_query_colors_unchecked (xcb_connection_t *c  /**< */,
14690                             xcb_colormap_t    cmap  /**< */,
14691                             uint32_t          pixels_len  /**< */,
14692                             const uint32_t   *pixels  /**< */);
14693 
14694 
14695 /*****************************************************************************
14696  **
14697  ** xcb_rgb_t * xcb_query_colors_colors
14698  **
14699  ** @param const xcb_query_colors_reply_t *R
14700  ** @returns xcb_rgb_t *
14701  **
14702  *****************************************************************************/
14703 
14704 xcb_rgb_t *
14705 xcb_query_colors_colors (const xcb_query_colors_reply_t *R  /**< */);
14706 
14707 
14708 /*****************************************************************************
14709  **
14710  ** int xcb_query_colors_colors_length
14711  **
14712  ** @param const xcb_query_colors_reply_t *R
14713  ** @returns int
14714  **
14715  *****************************************************************************/
14716 
14717 int
14718 xcb_query_colors_colors_length (const xcb_query_colors_reply_t *R  /**< */);
14719 
14720 
14721 /*****************************************************************************
14722  **
14723  ** xcb_rgb_iterator_t xcb_query_colors_colors_iterator
14724  **
14725  ** @param const xcb_query_colors_reply_t *R
14726  ** @returns xcb_rgb_iterator_t
14727  **
14728  *****************************************************************************/
14729 
14730 xcb_rgb_iterator_t
14731 xcb_query_colors_colors_iterator (const xcb_query_colors_reply_t *R  /**< */);
14732 
14733 /**
14734  * Return the reply
14735  * @param c      The connection
14736  * @param cookie The cookie
14737  * @param e      The xcb_generic_error_t supplied
14738  *
14739  * Returns the reply of the request asked by
14740  *
14741  * The parameter @p e supplied to this function must be NULL if
14742  * xcb_query_colors_unchecked(). is used.
14743  * Otherwise, it stores the error if any.
14744  *
14745  * The returned value must be freed by the caller using free().
14746  */
14747 
14748 /*****************************************************************************
14749  **
14750  ** xcb_query_colors_reply_t * xcb_query_colors_reply
14751  **
14752  ** @param xcb_connection_t           *c
14753  ** @param xcb_query_colors_cookie_t   cookie
14754  ** @param xcb_generic_error_t       **e
14755  ** @returns xcb_query_colors_reply_t *
14756  **
14757  *****************************************************************************/
14758 
14759 xcb_query_colors_reply_t *
14760 xcb_query_colors_reply (xcb_connection_t           *c  /**< */,
14761                         xcb_query_colors_cookie_t   cookie  /**< */,
14762                         xcb_generic_error_t       **e  /**< */);
14763 
14764 int
14765 xcb_lookup_color_sizeof (const void  *_buffer  /**< */);
14766 
14767 /**
14768  *
14769  * @param c The connection
14770  * @return A cookie
14771  *
14772  * Delivers a request to the X server.
14773  *
14774  */
14775 
14776 /*****************************************************************************
14777  **
14778  ** xcb_lookup_color_cookie_t xcb_lookup_color
14779  **
14780  ** @param xcb_connection_t *c
14781  ** @param xcb_colormap_t    cmap
14782  ** @param uint16_t          name_len
14783  ** @param const char       *name
14784  ** @returns xcb_lookup_color_cookie_t
14785  **
14786  *****************************************************************************/
14787 
14788 xcb_lookup_color_cookie_t
14789 xcb_lookup_color (xcb_connection_t *c  /**< */,
14790                   xcb_colormap_t    cmap  /**< */,
14791                   uint16_t          name_len  /**< */,
14792                   const char       *name  /**< */);
14793 
14794 /**
14795  *
14796  * @param c The connection
14797  * @return A cookie
14798  *
14799  * Delivers a request to the X server.
14800  *
14801  * This form can be used only if the request will cause
14802  * a reply to be generated. Any returned error will be
14803  * placed in the event queue.
14804  */
14805 
14806 /*****************************************************************************
14807  **
14808  ** xcb_lookup_color_cookie_t xcb_lookup_color_unchecked
14809  **
14810  ** @param xcb_connection_t *c
14811  ** @param xcb_colormap_t    cmap
14812  ** @param uint16_t          name_len
14813  ** @param const char       *name
14814  ** @returns xcb_lookup_color_cookie_t
14815  **
14816  *****************************************************************************/
14817 
14818 xcb_lookup_color_cookie_t
14819 xcb_lookup_color_unchecked (xcb_connection_t *c  /**< */,
14820                             xcb_colormap_t    cmap  /**< */,
14821                             uint16_t          name_len  /**< */,
14822                             const char       *name  /**< */);
14823 
14824 /**
14825  * Return the reply
14826  * @param c      The connection
14827  * @param cookie The cookie
14828  * @param e      The xcb_generic_error_t supplied
14829  *
14830  * Returns the reply of the request asked by
14831  *
14832  * The parameter @p e supplied to this function must be NULL if
14833  * xcb_lookup_color_unchecked(). is used.
14834  * Otherwise, it stores the error if any.
14835  *
14836  * The returned value must be freed by the caller using free().
14837  */
14838 
14839 /*****************************************************************************
14840  **
14841  ** xcb_lookup_color_reply_t * xcb_lookup_color_reply
14842  **
14843  ** @param xcb_connection_t           *c
14844  ** @param xcb_lookup_color_cookie_t   cookie
14845  ** @param xcb_generic_error_t       **e
14846  ** @returns xcb_lookup_color_reply_t *
14847  **
14848  *****************************************************************************/
14849 
14850 xcb_lookup_color_reply_t *
14851 xcb_lookup_color_reply (xcb_connection_t           *c  /**< */,
14852                         xcb_lookup_color_cookie_t   cookie  /**< */,
14853                         xcb_generic_error_t       **e  /**< */);
14854 
14855 /**
14856  *
14857  * @param c The connection
14858  * @return A cookie
14859  *
14860  * Delivers a request to the X server.
14861  *
14862  * This form can be used only if the request will not cause
14863  * a reply to be generated. Any returned error will be
14864  * saved for handling by xcb_request_check().
14865  */
14866 
14867 /*****************************************************************************
14868  **
14869  ** xcb_void_cookie_t xcb_create_cursor_checked
14870  **
14871  ** @param xcb_connection_t *c
14872  ** @param xcb_cursor_t      cid
14873  ** @param xcb_pixmap_t      source
14874  ** @param xcb_pixmap_t      mask
14875  ** @param uint16_t          fore_red
14876  ** @param uint16_t          fore_green
14877  ** @param uint16_t          fore_blue
14878  ** @param uint16_t          back_red
14879  ** @param uint16_t          back_green
14880  ** @param uint16_t          back_blue
14881  ** @param uint16_t          x
14882  ** @param uint16_t          y
14883  ** @returns xcb_void_cookie_t
14884  **
14885  *****************************************************************************/
14886 
14887 xcb_void_cookie_t
14888 xcb_create_cursor_checked (xcb_connection_t *c  /**< */,
14889                            xcb_cursor_t      cid  /**< */,
14890                            xcb_pixmap_t      source  /**< */,
14891                            xcb_pixmap_t      mask  /**< */,
14892                            uint16_t          fore_red  /**< */,
14893                            uint16_t          fore_green  /**< */,
14894                            uint16_t          fore_blue  /**< */,
14895                            uint16_t          back_red  /**< */,
14896                            uint16_t          back_green  /**< */,
14897                            uint16_t          back_blue  /**< */,
14898                            uint16_t          x  /**< */,
14899                            uint16_t          y  /**< */);
14900 
14901 /**
14902  *
14903  * @param c The connection
14904  * @return A cookie
14905  *
14906  * Delivers a request to the X server.
14907  *
14908  */
14909 
14910 /*****************************************************************************
14911  **
14912  ** xcb_void_cookie_t xcb_create_cursor
14913  **
14914  ** @param xcb_connection_t *c
14915  ** @param xcb_cursor_t      cid
14916  ** @param xcb_pixmap_t      source
14917  ** @param xcb_pixmap_t      mask
14918  ** @param uint16_t          fore_red
14919  ** @param uint16_t          fore_green
14920  ** @param uint16_t          fore_blue
14921  ** @param uint16_t          back_red
14922  ** @param uint16_t          back_green
14923  ** @param uint16_t          back_blue
14924  ** @param uint16_t          x
14925  ** @param uint16_t          y
14926  ** @returns xcb_void_cookie_t
14927  **
14928  *****************************************************************************/
14929 
14930 xcb_void_cookie_t
14931 xcb_create_cursor (xcb_connection_t *c  /**< */,
14932                    xcb_cursor_t      cid  /**< */,
14933                    xcb_pixmap_t      source  /**< */,
14934                    xcb_pixmap_t      mask  /**< */,
14935                    uint16_t          fore_red  /**< */,
14936                    uint16_t          fore_green  /**< */,
14937                    uint16_t          fore_blue  /**< */,
14938                    uint16_t          back_red  /**< */,
14939                    uint16_t          back_green  /**< */,
14940                    uint16_t          back_blue  /**< */,
14941                    uint16_t          x  /**< */,
14942                    uint16_t          y  /**< */);
14943 
14944 /**
14945  * @brief create cursor
14946  *
14947  * @param c The connection
14948  * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
14949  * @param source_font In which font to look for the cursor glyph.
14950  * @param mask_font In which font to look for the mask glyph.
14951  * @param source_char The glyph of \a source_font to use.
14952  * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
14953  * which source pixels are displayed. All pixels which are set to 0 are not
14954  * displayed.
14955  * @param fore_red The red value of the foreground color.
14956  * @param fore_green The green value of the foreground color.
14957  * @param fore_blue The blue value of the foreground color.
14958  * @param back_red The red value of the background color.
14959  * @param back_green The green value of the background color.
14960  * @param back_blue The blue value of the background color.
14961  * @return A cookie
14962  *
14963  * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
14964  * in a special font named cursor. Applications are encouraged to use this
14965  * interface for their cursors because the font can be customized for the
14966  * individual display type.
14967  *
14968  * All pixels which are set to 1 in the source will use the foreground color (as
14969  * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
14970  * will use the background color (as specified by \a back_red, \a back_green and
14971  * \a back_blue).
14972  *
14973  * This form can be used only if the request will not cause
14974  * a reply to be generated. Any returned error will be
14975  * saved for handling by xcb_request_check().
14976  */
14977 
14978 /*****************************************************************************
14979  **
14980  ** xcb_void_cookie_t xcb_create_glyph_cursor_checked
14981  **
14982  ** @param xcb_connection_t *c
14983  ** @param xcb_cursor_t      cid
14984  ** @param xcb_font_t        source_font
14985  ** @param xcb_font_t        mask_font
14986  ** @param uint16_t          source_char
14987  ** @param uint16_t          mask_char
14988  ** @param uint16_t          fore_red
14989  ** @param uint16_t          fore_green
14990  ** @param uint16_t          fore_blue
14991  ** @param uint16_t          back_red
14992  ** @param uint16_t          back_green
14993  ** @param uint16_t          back_blue
14994  ** @returns xcb_void_cookie_t
14995  **
14996  *****************************************************************************/
14997 
14998 xcb_void_cookie_t
14999 xcb_create_glyph_cursor_checked (xcb_connection_t *c  /**< */,
15000                                  xcb_cursor_t      cid  /**< */,
15001                                  xcb_font_t        source_font  /**< */,
15002                                  xcb_font_t        mask_font  /**< */,
15003                                  uint16_t          source_char  /**< */,
15004                                  uint16_t          mask_char  /**< */,
15005                                  uint16_t          fore_red  /**< */,
15006                                  uint16_t          fore_green  /**< */,
15007                                  uint16_t          fore_blue  /**< */,
15008                                  uint16_t          back_red  /**< */,
15009                                  uint16_t          back_green  /**< */,
15010                                  uint16_t          back_blue  /**< */);
15011 
15012 /**
15013  * @brief create cursor
15014  *
15015  * @param c The connection
15016  * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
15017  * @param source_font In which font to look for the cursor glyph.
15018  * @param mask_font In which font to look for the mask glyph.
15019  * @param source_char The glyph of \a source_font to use.
15020  * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
15021  * which source pixels are displayed. All pixels which are set to 0 are not
15022  * displayed.
15023  * @param fore_red The red value of the foreground color.
15024  * @param fore_green The green value of the foreground color.
15025  * @param fore_blue The blue value of the foreground color.
15026  * @param back_red The red value of the background color.
15027  * @param back_green The green value of the background color.
15028  * @param back_blue The blue value of the background color.
15029  * @return A cookie
15030  *
15031  * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
15032  * in a special font named cursor. Applications are encouraged to use this
15033  * interface for their cursors because the font can be customized for the
15034  * individual display type.
15035  *
15036  * All pixels which are set to 1 in the source will use the foreground color (as
15037  * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
15038  * will use the background color (as specified by \a back_red, \a back_green and
15039  * \a back_blue).
15040  *
15041  */
15042 
15043 /*****************************************************************************
15044  **
15045  ** xcb_void_cookie_t xcb_create_glyph_cursor
15046  **
15047  ** @param xcb_connection_t *c
15048  ** @param xcb_cursor_t      cid
15049  ** @param xcb_font_t        source_font
15050  ** @param xcb_font_t        mask_font
15051  ** @param uint16_t          source_char
15052  ** @param uint16_t          mask_char
15053  ** @param uint16_t          fore_red
15054  ** @param uint16_t          fore_green
15055  ** @param uint16_t          fore_blue
15056  ** @param uint16_t          back_red
15057  ** @param uint16_t          back_green
15058  ** @param uint16_t          back_blue
15059  ** @returns xcb_void_cookie_t
15060  **
15061  *****************************************************************************/
15062 
15063 xcb_void_cookie_t
15064 xcb_create_glyph_cursor (xcb_connection_t *c  /**< */,
15065                          xcb_cursor_t      cid  /**< */,
15066                          xcb_font_t        source_font  /**< */,
15067                          xcb_font_t        mask_font  /**< */,
15068                          uint16_t          source_char  /**< */,
15069                          uint16_t          mask_char  /**< */,
15070                          uint16_t          fore_red  /**< */,
15071                          uint16_t          fore_green  /**< */,
15072                          uint16_t          fore_blue  /**< */,
15073                          uint16_t          back_red  /**< */,
15074                          uint16_t          back_green  /**< */,
15075                          uint16_t          back_blue  /**< */);
15076 
15077 /**
15078  * @brief Deletes a cursor
15079  *
15080  * @param c The connection
15081  * @param cursor The cursor to destroy.
15082  * @return A cookie
15083  *
15084  * Deletes the association between the cursor resource ID and the specified
15085  * cursor. The cursor is freed when no other resource references it.
15086  *
15087  * This form can be used only if the request will not cause
15088  * a reply to be generated. Any returned error will be
15089  * saved for handling by xcb_request_check().
15090  */
15091 
15092 /*****************************************************************************
15093  **
15094  ** xcb_void_cookie_t xcb_free_cursor_checked
15095  **
15096  ** @param xcb_connection_t *c
15097  ** @param xcb_cursor_t      cursor
15098  ** @returns xcb_void_cookie_t
15099  **
15100  *****************************************************************************/
15101 
15102 xcb_void_cookie_t
15103 xcb_free_cursor_checked (xcb_connection_t *c  /**< */,
15104                          xcb_cursor_t      cursor  /**< */);
15105 
15106 /**
15107  * @brief Deletes a cursor
15108  *
15109  * @param c The connection
15110  * @param cursor The cursor to destroy.
15111  * @return A cookie
15112  *
15113  * Deletes the association between the cursor resource ID and the specified
15114  * cursor. The cursor is freed when no other resource references it.
15115  *
15116  */
15117 
15118 /*****************************************************************************
15119  **
15120  ** xcb_void_cookie_t xcb_free_cursor
15121  **
15122  ** @param xcb_connection_t *c
15123  ** @param xcb_cursor_t      cursor
15124  ** @returns xcb_void_cookie_t
15125  **
15126  *****************************************************************************/
15127 
15128 xcb_void_cookie_t
15129 xcb_free_cursor (xcb_connection_t *c  /**< */,
15130                  xcb_cursor_t      cursor  /**< */);
15131 
15132 /**
15133  *
15134  * @param c The connection
15135  * @return A cookie
15136  *
15137  * Delivers a request to the X server.
15138  *
15139  * This form can be used only if the request will not cause
15140  * a reply to be generated. Any returned error will be
15141  * saved for handling by xcb_request_check().
15142  */
15143 
15144 /*****************************************************************************
15145  **
15146  ** xcb_void_cookie_t xcb_recolor_cursor_checked
15147  **
15148  ** @param xcb_connection_t *c
15149  ** @param xcb_cursor_t      cursor
15150  ** @param uint16_t          fore_red
15151  ** @param uint16_t          fore_green
15152  ** @param uint16_t          fore_blue
15153  ** @param uint16_t          back_red
15154  ** @param uint16_t          back_green
15155  ** @param uint16_t          back_blue
15156  ** @returns xcb_void_cookie_t
15157  **
15158  *****************************************************************************/
15159 
15160 xcb_void_cookie_t
15161 xcb_recolor_cursor_checked (xcb_connection_t *c  /**< */,
15162                             xcb_cursor_t      cursor  /**< */,
15163                             uint16_t          fore_red  /**< */,
15164                             uint16_t          fore_green  /**< */,
15165                             uint16_t          fore_blue  /**< */,
15166                             uint16_t          back_red  /**< */,
15167                             uint16_t          back_green  /**< */,
15168                             uint16_t          back_blue  /**< */);
15169 
15170 /**
15171  *
15172  * @param c The connection
15173  * @return A cookie
15174  *
15175  * Delivers a request to the X server.
15176  *
15177  */
15178 
15179 /*****************************************************************************
15180  **
15181  ** xcb_void_cookie_t xcb_recolor_cursor
15182  **
15183  ** @param xcb_connection_t *c
15184  ** @param xcb_cursor_t      cursor
15185  ** @param uint16_t          fore_red
15186  ** @param uint16_t          fore_green
15187  ** @param uint16_t          fore_blue
15188  ** @param uint16_t          back_red
15189  ** @param uint16_t          back_green
15190  ** @param uint16_t          back_blue
15191  ** @returns xcb_void_cookie_t
15192  **
15193  *****************************************************************************/
15194 
15195 xcb_void_cookie_t
15196 xcb_recolor_cursor (xcb_connection_t *c  /**< */,
15197                     xcb_cursor_t      cursor  /**< */,
15198                     uint16_t          fore_red  /**< */,
15199                     uint16_t          fore_green  /**< */,
15200                     uint16_t          fore_blue  /**< */,
15201                     uint16_t          back_red  /**< */,
15202                     uint16_t          back_green  /**< */,
15203                     uint16_t          back_blue  /**< */);
15204 
15205 /**
15206  *
15207  * @param c The connection
15208  * @return A cookie
15209  *
15210  * Delivers a request to the X server.
15211  *
15212  */
15213 
15214 /*****************************************************************************
15215  **
15216  ** xcb_query_best_size_cookie_t xcb_query_best_size
15217  **
15218  ** @param xcb_connection_t *c
15219  ** @param uint8_t           _class
15220  ** @param xcb_drawable_t    drawable
15221  ** @param uint16_t          width
15222  ** @param uint16_t          height
15223  ** @returns xcb_query_best_size_cookie_t
15224  **
15225  *****************************************************************************/
15226 
15227 xcb_query_best_size_cookie_t
15228 xcb_query_best_size (xcb_connection_t *c  /**< */,
15229                      uint8_t           _class  /**< */,
15230                      xcb_drawable_t    drawable  /**< */,
15231                      uint16_t          width  /**< */,
15232                      uint16_t          height  /**< */);
15233 
15234 /**
15235  *
15236  * @param c The connection
15237  * @return A cookie
15238  *
15239  * Delivers a request to the X server.
15240  *
15241  * This form can be used only if the request will cause
15242  * a reply to be generated. Any returned error will be
15243  * placed in the event queue.
15244  */
15245 
15246 /*****************************************************************************
15247  **
15248  ** xcb_query_best_size_cookie_t xcb_query_best_size_unchecked
15249  **
15250  ** @param xcb_connection_t *c
15251  ** @param uint8_t           _class
15252  ** @param xcb_drawable_t    drawable
15253  ** @param uint16_t          width
15254  ** @param uint16_t          height
15255  ** @returns xcb_query_best_size_cookie_t
15256  **
15257  *****************************************************************************/
15258 
15259 xcb_query_best_size_cookie_t
15260 xcb_query_best_size_unchecked (xcb_connection_t *c  /**< */,
15261                                uint8_t           _class  /**< */,
15262                                xcb_drawable_t    drawable  /**< */,
15263                                uint16_t          width  /**< */,
15264                                uint16_t          height  /**< */);
15265 
15266 /**
15267  * Return the reply
15268  * @param c      The connection
15269  * @param cookie The cookie
15270  * @param e      The xcb_generic_error_t supplied
15271  *
15272  * Returns the reply of the request asked by
15273  *
15274  * The parameter @p e supplied to this function must be NULL if
15275  * xcb_query_best_size_unchecked(). is used.
15276  * Otherwise, it stores the error if any.
15277  *
15278  * The returned value must be freed by the caller using free().
15279  */
15280 
15281 /*****************************************************************************
15282  **
15283  ** xcb_query_best_size_reply_t * xcb_query_best_size_reply
15284  **
15285  ** @param xcb_connection_t              *c
15286  ** @param xcb_query_best_size_cookie_t   cookie
15287  ** @param xcb_generic_error_t          **e
15288  ** @returns xcb_query_best_size_reply_t *
15289  **
15290  *****************************************************************************/
15291 
15292 xcb_query_best_size_reply_t *
15293 xcb_query_best_size_reply (xcb_connection_t              *c  /**< */,
15294                            xcb_query_best_size_cookie_t   cookie  /**< */,
15295                            xcb_generic_error_t          **e  /**< */);
15296 
15297 int
15298 xcb_query_extension_sizeof (const void  *_buffer  /**< */);
15299 
15300 /**
15301  * @brief check if extension is present
15302  *
15303  * @param c The connection
15304  * @param name_len The length of \a name in bytes.
15305  * @param name The name of the extension to query, for example "RANDR". This is case
15306  * sensitive!
15307  * @return A cookie
15308  *
15309  * Determines if the specified extension is present on this X11 server.
15310  *
15311  * Every extension has a unique `major_opcode` to identify requests, the minor
15312  * opcodes and request formats are extension-specific. If the extension provides
15313  * events and errors, the `first_event` and `first_error` fields in the reply are
15314  * set accordingly.
15315  *
15316  * There should rarely be a need to use this request directly, XCB provides the
15317  * `xcb_get_extension_data` function instead.
15318  *
15319  */
15320 
15321 /*****************************************************************************
15322  **
15323  ** xcb_query_extension_cookie_t xcb_query_extension
15324  **
15325  ** @param xcb_connection_t *c
15326  ** @param uint16_t          name_len
15327  ** @param const char       *name
15328  ** @returns xcb_query_extension_cookie_t
15329  **
15330  *****************************************************************************/
15331 
15332 xcb_query_extension_cookie_t
15333 xcb_query_extension (xcb_connection_t *c  /**< */,
15334                      uint16_t          name_len  /**< */,
15335                      const char       *name  /**< */);
15336 
15337 /**
15338  * @brief check if extension is present
15339  *
15340  * @param c The connection
15341  * @param name_len The length of \a name in bytes.
15342  * @param name The name of the extension to query, for example "RANDR". This is case
15343  * sensitive!
15344  * @return A cookie
15345  *
15346  * Determines if the specified extension is present on this X11 server.
15347  *
15348  * Every extension has a unique `major_opcode` to identify requests, the minor
15349  * opcodes and request formats are extension-specific. If the extension provides
15350  * events and errors, the `first_event` and `first_error` fields in the reply are
15351  * set accordingly.
15352  *
15353  * There should rarely be a need to use this request directly, XCB provides the
15354  * `xcb_get_extension_data` function instead.
15355  *
15356  * This form can be used only if the request will cause
15357  * a reply to be generated. Any returned error will be
15358  * placed in the event queue.
15359  */
15360 
15361 /*****************************************************************************
15362  **
15363  ** xcb_query_extension_cookie_t xcb_query_extension_unchecked
15364  **
15365  ** @param xcb_connection_t *c
15366  ** @param uint16_t          name_len
15367  ** @param const char       *name
15368  ** @returns xcb_query_extension_cookie_t
15369  **
15370  *****************************************************************************/
15371 
15372 xcb_query_extension_cookie_t
15373 xcb_query_extension_unchecked (xcb_connection_t *c  /**< */,
15374                                uint16_t          name_len  /**< */,
15375                                const char       *name  /**< */);
15376 
15377 /**
15378  * Return the reply
15379  * @param c      The connection
15380  * @param cookie The cookie
15381  * @param e      The xcb_generic_error_t supplied
15382  *
15383  * Returns the reply of the request asked by
15384  *
15385  * The parameter @p e supplied to this function must be NULL if
15386  * xcb_query_extension_unchecked(). is used.
15387  * Otherwise, it stores the error if any.
15388  *
15389  * The returned value must be freed by the caller using free().
15390  */
15391 
15392 /*****************************************************************************
15393  **
15394  ** xcb_query_extension_reply_t * xcb_query_extension_reply
15395  **
15396  ** @param xcb_connection_t              *c
15397  ** @param xcb_query_extension_cookie_t   cookie
15398  ** @param xcb_generic_error_t          **e
15399  ** @returns xcb_query_extension_reply_t *
15400  **
15401  *****************************************************************************/
15402 
15403 xcb_query_extension_reply_t *
15404 xcb_query_extension_reply (xcb_connection_t              *c  /**< */,
15405                            xcb_query_extension_cookie_t   cookie  /**< */,
15406                            xcb_generic_error_t          **e  /**< */);
15407 
15408 int
15409 xcb_list_extensions_sizeof (const void  *_buffer  /**< */);
15410 
15411 /**
15412  *
15413  * @param c The connection
15414  * @return A cookie
15415  *
15416  * Delivers a request to the X server.
15417  *
15418  */
15419 
15420 /*****************************************************************************
15421  **
15422  ** xcb_list_extensions_cookie_t xcb_list_extensions
15423  **
15424  ** @param xcb_connection_t *c
15425  ** @returns xcb_list_extensions_cookie_t
15426  **
15427  *****************************************************************************/
15428 
15429 xcb_list_extensions_cookie_t
15430 xcb_list_extensions (xcb_connection_t *c  /**< */);
15431 
15432 /**
15433  *
15434  * @param c The connection
15435  * @return A cookie
15436  *
15437  * Delivers a request to the X server.
15438  *
15439  * This form can be used only if the request will cause
15440  * a reply to be generated. Any returned error will be
15441  * placed in the event queue.
15442  */
15443 
15444 /*****************************************************************************
15445  **
15446  ** xcb_list_extensions_cookie_t xcb_list_extensions_unchecked
15447  **
15448  ** @param xcb_connection_t *c
15449  ** @returns xcb_list_extensions_cookie_t
15450  **
15451  *****************************************************************************/
15452 
15453 xcb_list_extensions_cookie_t
15454 xcb_list_extensions_unchecked (xcb_connection_t *c  /**< */);
15455 
15456 
15457 /*****************************************************************************
15458  **
15459  ** int xcb_list_extensions_names_length
15460  **
15461  ** @param const xcb_list_extensions_reply_t *R
15462  ** @returns int
15463  **
15464  *****************************************************************************/
15465 
15466 int
15467 xcb_list_extensions_names_length (const xcb_list_extensions_reply_t *R  /**< */);
15468 
15469 
15470 /*****************************************************************************
15471  **
15472  ** xcb_str_iterator_t xcb_list_extensions_names_iterator
15473  **
15474  ** @param const xcb_list_extensions_reply_t *R
15475  ** @returns xcb_str_iterator_t
15476  **
15477  *****************************************************************************/
15478 
15479 xcb_str_iterator_t
15480 xcb_list_extensions_names_iterator (const xcb_list_extensions_reply_t *R  /**< */);
15481 
15482 /**
15483  * Return the reply
15484  * @param c      The connection
15485  * @param cookie The cookie
15486  * @param e      The xcb_generic_error_t supplied
15487  *
15488  * Returns the reply of the request asked by
15489  *
15490  * The parameter @p e supplied to this function must be NULL if
15491  * xcb_list_extensions_unchecked(). is used.
15492  * Otherwise, it stores the error if any.
15493  *
15494  * The returned value must be freed by the caller using free().
15495  */
15496 
15497 /*****************************************************************************
15498  **
15499  ** xcb_list_extensions_reply_t * xcb_list_extensions_reply
15500  **
15501  ** @param xcb_connection_t              *c
15502  ** @param xcb_list_extensions_cookie_t   cookie
15503  ** @param xcb_generic_error_t          **e
15504  ** @returns xcb_list_extensions_reply_t *
15505  **
15506  *****************************************************************************/
15507 
15508 xcb_list_extensions_reply_t *
15509 xcb_list_extensions_reply (xcb_connection_t              *c  /**< */,
15510                            xcb_list_extensions_cookie_t   cookie  /**< */,
15511                            xcb_generic_error_t          **e  /**< */);
15512 
15513 int
15514 xcb_change_keyboard_mapping_sizeof (const void  *_buffer  /**< */);
15515 
15516 /**
15517  *
15518  * @param c The connection
15519  * @return A cookie
15520  *
15521  * Delivers a request to the X server.
15522  *
15523  * This form can be used only if the request will not cause
15524  * a reply to be generated. Any returned error will be
15525  * saved for handling by xcb_request_check().
15526  */
15527 
15528 /*****************************************************************************
15529  **
15530  ** xcb_void_cookie_t xcb_change_keyboard_mapping_checked
15531  **
15532  ** @param xcb_connection_t   *c
15533  ** @param uint8_t             keycode_count
15534  ** @param xcb_keycode_t       first_keycode
15535  ** @param uint8_t             keysyms_per_keycode
15536  ** @param const xcb_keysym_t *keysyms
15537  ** @returns xcb_void_cookie_t
15538  **
15539  *****************************************************************************/
15540 
15541 xcb_void_cookie_t
15542 xcb_change_keyboard_mapping_checked (xcb_connection_t   *c  /**< */,
15543                                      uint8_t             keycode_count  /**< */,
15544                                      xcb_keycode_t       first_keycode  /**< */,
15545                                      uint8_t             keysyms_per_keycode  /**< */,
15546                                      const xcb_keysym_t *keysyms  /**< */);
15547 
15548 /**
15549  *
15550  * @param c The connection
15551  * @return A cookie
15552  *
15553  * Delivers a request to the X server.
15554  *
15555  */
15556 
15557 /*****************************************************************************
15558  **
15559  ** xcb_void_cookie_t xcb_change_keyboard_mapping
15560  **
15561  ** @param xcb_connection_t   *c
15562  ** @param uint8_t             keycode_count
15563  ** @param xcb_keycode_t       first_keycode
15564  ** @param uint8_t             keysyms_per_keycode
15565  ** @param const xcb_keysym_t *keysyms
15566  ** @returns xcb_void_cookie_t
15567  **
15568  *****************************************************************************/
15569 
15570 xcb_void_cookie_t
15571 xcb_change_keyboard_mapping (xcb_connection_t   *c  /**< */,
15572                              uint8_t             keycode_count  /**< */,
15573                              xcb_keycode_t       first_keycode  /**< */,
15574                              uint8_t             keysyms_per_keycode  /**< */,
15575                              const xcb_keysym_t *keysyms  /**< */);
15576 
15577 int
15578 xcb_get_keyboard_mapping_sizeof (const void  *_buffer  /**< */);
15579 
15580 /**
15581  *
15582  * @param c The connection
15583  * @return A cookie
15584  *
15585  * Delivers a request to the X server.
15586  *
15587  */
15588 
15589 /*****************************************************************************
15590  **
15591  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping
15592  **
15593  ** @param xcb_connection_t *c
15594  ** @param xcb_keycode_t     first_keycode
15595  ** @param uint8_t           count
15596  ** @returns xcb_get_keyboard_mapping_cookie_t
15597  **
15598  *****************************************************************************/
15599 
15600 xcb_get_keyboard_mapping_cookie_t
15601 xcb_get_keyboard_mapping (xcb_connection_t *c  /**< */,
15602                           xcb_keycode_t     first_keycode  /**< */,
15603                           uint8_t           count  /**< */);
15604 
15605 /**
15606  *
15607  * @param c The connection
15608  * @return A cookie
15609  *
15610  * Delivers a request to the X server.
15611  *
15612  * This form can be used only if the request will cause
15613  * a reply to be generated. Any returned error will be
15614  * placed in the event queue.
15615  */
15616 
15617 /*****************************************************************************
15618  **
15619  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping_unchecked
15620  **
15621  ** @param xcb_connection_t *c
15622  ** @param xcb_keycode_t     first_keycode
15623  ** @param uint8_t           count
15624  ** @returns xcb_get_keyboard_mapping_cookie_t
15625  **
15626  *****************************************************************************/
15627 
15628 xcb_get_keyboard_mapping_cookie_t
15629 xcb_get_keyboard_mapping_unchecked (xcb_connection_t *c  /**< */,
15630                                     xcb_keycode_t     first_keycode  /**< */,
15631                                     uint8_t           count  /**< */);
15632 
15633 
15634 /*****************************************************************************
15635  **
15636  ** xcb_keysym_t * xcb_get_keyboard_mapping_keysyms
15637  **
15638  ** @param const xcb_get_keyboard_mapping_reply_t *R
15639  ** @returns xcb_keysym_t *
15640  **
15641  *****************************************************************************/
15642 
15643 xcb_keysym_t *
15644 xcb_get_keyboard_mapping_keysyms (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
15645 
15646 
15647 /*****************************************************************************
15648  **
15649  ** int xcb_get_keyboard_mapping_keysyms_length
15650  **
15651  ** @param const xcb_get_keyboard_mapping_reply_t *R
15652  ** @returns int
15653  **
15654  *****************************************************************************/
15655 
15656 int
15657 xcb_get_keyboard_mapping_keysyms_length (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
15658 
15659 
15660 /*****************************************************************************
15661  **
15662  ** xcb_generic_iterator_t xcb_get_keyboard_mapping_keysyms_end
15663  **
15664  ** @param const xcb_get_keyboard_mapping_reply_t *R
15665  ** @returns xcb_generic_iterator_t
15666  **
15667  *****************************************************************************/
15668 
15669 xcb_generic_iterator_t
15670 xcb_get_keyboard_mapping_keysyms_end (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
15671 
15672 /**
15673  * Return the reply
15674  * @param c      The connection
15675  * @param cookie The cookie
15676  * @param e      The xcb_generic_error_t supplied
15677  *
15678  * Returns the reply of the request asked by
15679  *
15680  * The parameter @p e supplied to this function must be NULL if
15681  * xcb_get_keyboard_mapping_unchecked(). is used.
15682  * Otherwise, it stores the error if any.
15683  *
15684  * The returned value must be freed by the caller using free().
15685  */
15686 
15687 /*****************************************************************************
15688  **
15689  ** xcb_get_keyboard_mapping_reply_t * xcb_get_keyboard_mapping_reply
15690  **
15691  ** @param xcb_connection_t                   *c
15692  ** @param xcb_get_keyboard_mapping_cookie_t   cookie
15693  ** @param xcb_generic_error_t               **e
15694  ** @returns xcb_get_keyboard_mapping_reply_t *
15695  **
15696  *****************************************************************************/
15697 
15698 xcb_get_keyboard_mapping_reply_t *
15699 xcb_get_keyboard_mapping_reply (xcb_connection_t                   *c  /**< */,
15700                                 xcb_get_keyboard_mapping_cookie_t   cookie  /**< */,
15701                                 xcb_generic_error_t               **e  /**< */);
15702 
15703 int
15704 xcb_change_keyboard_control_sizeof (const void  *_buffer  /**< */);
15705 
15706 /**
15707  *
15708  * @param c The connection
15709  * @return A cookie
15710  *
15711  * Delivers a request to the X server.
15712  *
15713  * This form can be used only if the request will not cause
15714  * a reply to be generated. Any returned error will be
15715  * saved for handling by xcb_request_check().
15716  */
15717 
15718 /*****************************************************************************
15719  **
15720  ** xcb_void_cookie_t xcb_change_keyboard_control_checked
15721  **
15722  ** @param xcb_connection_t *c
15723  ** @param uint32_t          value_mask
15724  ** @param const uint32_t   *value_list
15725  ** @returns xcb_void_cookie_t
15726  **
15727  *****************************************************************************/
15728 
15729 xcb_void_cookie_t
15730 xcb_change_keyboard_control_checked (xcb_connection_t *c  /**< */,
15731                                      uint32_t          value_mask  /**< */,
15732                                      const uint32_t   *value_list  /**< */);
15733 
15734 /**
15735  *
15736  * @param c The connection
15737  * @return A cookie
15738  *
15739  * Delivers a request to the X server.
15740  *
15741  */
15742 
15743 /*****************************************************************************
15744  **
15745  ** xcb_void_cookie_t xcb_change_keyboard_control
15746  **
15747  ** @param xcb_connection_t *c
15748  ** @param uint32_t          value_mask
15749  ** @param const uint32_t   *value_list
15750  ** @returns xcb_void_cookie_t
15751  **
15752  *****************************************************************************/
15753 
15754 xcb_void_cookie_t
15755 xcb_change_keyboard_control (xcb_connection_t *c  /**< */,
15756                              uint32_t          value_mask  /**< */,
15757                              const uint32_t   *value_list  /**< */);
15758 
15759 /**
15760  *
15761  * @param c The connection
15762  * @return A cookie
15763  *
15764  * Delivers a request to the X server.
15765  *
15766  */
15767 
15768 /*****************************************************************************
15769  **
15770  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control
15771  **
15772  ** @param xcb_connection_t *c
15773  ** @returns xcb_get_keyboard_control_cookie_t
15774  **
15775  *****************************************************************************/
15776 
15777 xcb_get_keyboard_control_cookie_t
15778 xcb_get_keyboard_control (xcb_connection_t *c  /**< */);
15779 
15780 /**
15781  *
15782  * @param c The connection
15783  * @return A cookie
15784  *
15785  * Delivers a request to the X server.
15786  *
15787  * This form can be used only if the request will cause
15788  * a reply to be generated. Any returned error will be
15789  * placed in the event queue.
15790  */
15791 
15792 /*****************************************************************************
15793  **
15794  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control_unchecked
15795  **
15796  ** @param xcb_connection_t *c
15797  ** @returns xcb_get_keyboard_control_cookie_t
15798  **
15799  *****************************************************************************/
15800 
15801 xcb_get_keyboard_control_cookie_t
15802 xcb_get_keyboard_control_unchecked (xcb_connection_t *c  /**< */);
15803 
15804 /**
15805  * Return the reply
15806  * @param c      The connection
15807  * @param cookie The cookie
15808  * @param e      The xcb_generic_error_t supplied
15809  *
15810  * Returns the reply of the request asked by
15811  *
15812  * The parameter @p e supplied to this function must be NULL if
15813  * xcb_get_keyboard_control_unchecked(). is used.
15814  * Otherwise, it stores the error if any.
15815  *
15816  * The returned value must be freed by the caller using free().
15817  */
15818 
15819 /*****************************************************************************
15820  **
15821  ** xcb_get_keyboard_control_reply_t * xcb_get_keyboard_control_reply
15822  **
15823  ** @param xcb_connection_t                   *c
15824  ** @param xcb_get_keyboard_control_cookie_t   cookie
15825  ** @param xcb_generic_error_t               **e
15826  ** @returns xcb_get_keyboard_control_reply_t *
15827  **
15828  *****************************************************************************/
15829 
15830 xcb_get_keyboard_control_reply_t *
15831 xcb_get_keyboard_control_reply (xcb_connection_t                   *c  /**< */,
15832                                 xcb_get_keyboard_control_cookie_t   cookie  /**< */,
15833                                 xcb_generic_error_t               **e  /**< */);
15834 
15835 /**
15836  *
15837  * @param c The connection
15838  * @return A cookie
15839  *
15840  * Delivers a request to the X server.
15841  *
15842  * This form can be used only if the request will not cause
15843  * a reply to be generated. Any returned error will be
15844  * saved for handling by xcb_request_check().
15845  */
15846 
15847 /*****************************************************************************
15848  **
15849  ** xcb_void_cookie_t xcb_bell_checked
15850  **
15851  ** @param xcb_connection_t *c
15852  ** @param int8_t            percent
15853  ** @returns xcb_void_cookie_t
15854  **
15855  *****************************************************************************/
15856 
15857 xcb_void_cookie_t
15858 xcb_bell_checked (xcb_connection_t *c  /**< */,
15859                   int8_t            percent  /**< */);
15860 
15861 /**
15862  *
15863  * @param c The connection
15864  * @return A cookie
15865  *
15866  * Delivers a request to the X server.
15867  *
15868  */
15869 
15870 /*****************************************************************************
15871  **
15872  ** xcb_void_cookie_t xcb_bell
15873  **
15874  ** @param xcb_connection_t *c
15875  ** @param int8_t            percent
15876  ** @returns xcb_void_cookie_t
15877  **
15878  *****************************************************************************/
15879 
15880 xcb_void_cookie_t
15881 xcb_bell (xcb_connection_t *c  /**< */,
15882           int8_t            percent  /**< */);
15883 
15884 /**
15885  *
15886  * @param c The connection
15887  * @return A cookie
15888  *
15889  * Delivers a request to the X server.
15890  *
15891  * This form can be used only if the request will not cause
15892  * a reply to be generated. Any returned error will be
15893  * saved for handling by xcb_request_check().
15894  */
15895 
15896 /*****************************************************************************
15897  **
15898  ** xcb_void_cookie_t xcb_change_pointer_control_checked
15899  **
15900  ** @param xcb_connection_t *c
15901  ** @param int16_t           acceleration_numerator
15902  ** @param int16_t           acceleration_denominator
15903  ** @param int16_t           threshold
15904  ** @param uint8_t           do_acceleration
15905  ** @param uint8_t           do_threshold
15906  ** @returns xcb_void_cookie_t
15907  **
15908  *****************************************************************************/
15909 
15910 xcb_void_cookie_t
15911 xcb_change_pointer_control_checked (xcb_connection_t *c  /**< */,
15912                                     int16_t           acceleration_numerator  /**< */,
15913                                     int16_t           acceleration_denominator  /**< */,
15914                                     int16_t           threshold  /**< */,
15915                                     uint8_t           do_acceleration  /**< */,
15916                                     uint8_t           do_threshold  /**< */);
15917 
15918 /**
15919  *
15920  * @param c The connection
15921  * @return A cookie
15922  *
15923  * Delivers a request to the X server.
15924  *
15925  */
15926 
15927 /*****************************************************************************
15928  **
15929  ** xcb_void_cookie_t xcb_change_pointer_control
15930  **
15931  ** @param xcb_connection_t *c
15932  ** @param int16_t           acceleration_numerator
15933  ** @param int16_t           acceleration_denominator
15934  ** @param int16_t           threshold
15935  ** @param uint8_t           do_acceleration
15936  ** @param uint8_t           do_threshold
15937  ** @returns xcb_void_cookie_t
15938  **
15939  *****************************************************************************/
15940 
15941 xcb_void_cookie_t
15942 xcb_change_pointer_control (xcb_connection_t *c  /**< */,
15943                             int16_t           acceleration_numerator  /**< */,
15944                             int16_t           acceleration_denominator  /**< */,
15945                             int16_t           threshold  /**< */,
15946                             uint8_t           do_acceleration  /**< */,
15947                             uint8_t           do_threshold  /**< */);
15948 
15949 /**
15950  *
15951  * @param c The connection
15952  * @return A cookie
15953  *
15954  * Delivers a request to the X server.
15955  *
15956  */
15957 
15958 /*****************************************************************************
15959  **
15960  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control
15961  **
15962  ** @param xcb_connection_t *c
15963  ** @returns xcb_get_pointer_control_cookie_t
15964  **
15965  *****************************************************************************/
15966 
15967 xcb_get_pointer_control_cookie_t
15968 xcb_get_pointer_control (xcb_connection_t *c  /**< */);
15969 
15970 /**
15971  *
15972  * @param c The connection
15973  * @return A cookie
15974  *
15975  * Delivers a request to the X server.
15976  *
15977  * This form can be used only if the request will cause
15978  * a reply to be generated. Any returned error will be
15979  * placed in the event queue.
15980  */
15981 
15982 /*****************************************************************************
15983  **
15984  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control_unchecked
15985  **
15986  ** @param xcb_connection_t *c
15987  ** @returns xcb_get_pointer_control_cookie_t
15988  **
15989  *****************************************************************************/
15990 
15991 xcb_get_pointer_control_cookie_t
15992 xcb_get_pointer_control_unchecked (xcb_connection_t *c  /**< */);
15993 
15994 /**
15995  * Return the reply
15996  * @param c      The connection
15997  * @param cookie The cookie
15998  * @param e      The xcb_generic_error_t supplied
15999  *
16000  * Returns the reply of the request asked by
16001  *
16002  * The parameter @p e supplied to this function must be NULL if
16003  * xcb_get_pointer_control_unchecked(). is used.
16004  * Otherwise, it stores the error if any.
16005  *
16006  * The returned value must be freed by the caller using free().
16007  */
16008 
16009 /*****************************************************************************
16010  **
16011  ** xcb_get_pointer_control_reply_t * xcb_get_pointer_control_reply
16012  **
16013  ** @param xcb_connection_t                  *c
16014  ** @param xcb_get_pointer_control_cookie_t   cookie
16015  ** @param xcb_generic_error_t              **e
16016  ** @returns xcb_get_pointer_control_reply_t *
16017  **
16018  *****************************************************************************/
16019 
16020 xcb_get_pointer_control_reply_t *
16021 xcb_get_pointer_control_reply (xcb_connection_t                  *c  /**< */,
16022                                xcb_get_pointer_control_cookie_t   cookie  /**< */,
16023                                xcb_generic_error_t              **e  /**< */);
16024 
16025 /**
16026  *
16027  * @param c The connection
16028  * @return A cookie
16029  *
16030  * Delivers a request to the X server.
16031  *
16032  * This form can be used only if the request will not cause
16033  * a reply to be generated. Any returned error will be
16034  * saved for handling by xcb_request_check().
16035  */
16036 
16037 /*****************************************************************************
16038  **
16039  ** xcb_void_cookie_t xcb_set_screen_saver_checked
16040  **
16041  ** @param xcb_connection_t *c
16042  ** @param int16_t           timeout
16043  ** @param int16_t           interval
16044  ** @param uint8_t           prefer_blanking
16045  ** @param uint8_t           allow_exposures
16046  ** @returns xcb_void_cookie_t
16047  **
16048  *****************************************************************************/
16049 
16050 xcb_void_cookie_t
16051 xcb_set_screen_saver_checked (xcb_connection_t *c  /**< */,
16052                               int16_t           timeout  /**< */,
16053                               int16_t           interval  /**< */,
16054                               uint8_t           prefer_blanking  /**< */,
16055                               uint8_t           allow_exposures  /**< */);
16056 
16057 /**
16058  *
16059  * @param c The connection
16060  * @return A cookie
16061  *
16062  * Delivers a request to the X server.
16063  *
16064  */
16065 
16066 /*****************************************************************************
16067  **
16068  ** xcb_void_cookie_t xcb_set_screen_saver
16069  **
16070  ** @param xcb_connection_t *c
16071  ** @param int16_t           timeout
16072  ** @param int16_t           interval
16073  ** @param uint8_t           prefer_blanking
16074  ** @param uint8_t           allow_exposures
16075  ** @returns xcb_void_cookie_t
16076  **
16077  *****************************************************************************/
16078 
16079 xcb_void_cookie_t
16080 xcb_set_screen_saver (xcb_connection_t *c  /**< */,
16081                       int16_t           timeout  /**< */,
16082                       int16_t           interval  /**< */,
16083                       uint8_t           prefer_blanking  /**< */,
16084                       uint8_t           allow_exposures  /**< */);
16085 
16086 /**
16087  *
16088  * @param c The connection
16089  * @return A cookie
16090  *
16091  * Delivers a request to the X server.
16092  *
16093  */
16094 
16095 /*****************************************************************************
16096  **
16097  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver
16098  **
16099  ** @param xcb_connection_t *c
16100  ** @returns xcb_get_screen_saver_cookie_t
16101  **
16102  *****************************************************************************/
16103 
16104 xcb_get_screen_saver_cookie_t
16105 xcb_get_screen_saver (xcb_connection_t *c  /**< */);
16106 
16107 /**
16108  *
16109  * @param c The connection
16110  * @return A cookie
16111  *
16112  * Delivers a request to the X server.
16113  *
16114  * This form can be used only if the request will cause
16115  * a reply to be generated. Any returned error will be
16116  * placed in the event queue.
16117  */
16118 
16119 /*****************************************************************************
16120  **
16121  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver_unchecked
16122  **
16123  ** @param xcb_connection_t *c
16124  ** @returns xcb_get_screen_saver_cookie_t
16125  **
16126  *****************************************************************************/
16127 
16128 xcb_get_screen_saver_cookie_t
16129 xcb_get_screen_saver_unchecked (xcb_connection_t *c  /**< */);
16130 
16131 /**
16132  * Return the reply
16133  * @param c      The connection
16134  * @param cookie The cookie
16135  * @param e      The xcb_generic_error_t supplied
16136  *
16137  * Returns the reply of the request asked by
16138  *
16139  * The parameter @p e supplied to this function must be NULL if
16140  * xcb_get_screen_saver_unchecked(). is used.
16141  * Otherwise, it stores the error if any.
16142  *
16143  * The returned value must be freed by the caller using free().
16144  */
16145 
16146 /*****************************************************************************
16147  **
16148  ** xcb_get_screen_saver_reply_t * xcb_get_screen_saver_reply
16149  **
16150  ** @param xcb_connection_t               *c
16151  ** @param xcb_get_screen_saver_cookie_t   cookie
16152  ** @param xcb_generic_error_t           **e
16153  ** @returns xcb_get_screen_saver_reply_t *
16154  **
16155  *****************************************************************************/
16156 
16157 xcb_get_screen_saver_reply_t *
16158 xcb_get_screen_saver_reply (xcb_connection_t               *c  /**< */,
16159                             xcb_get_screen_saver_cookie_t   cookie  /**< */,
16160                             xcb_generic_error_t           **e  /**< */);
16161 
16162 int
16163 xcb_change_hosts_sizeof (const void  *_buffer  /**< */);
16164 
16165 /**
16166  *
16167  * @param c The connection
16168  * @return A cookie
16169  *
16170  * Delivers a request to the X server.
16171  *
16172  * This form can be used only if the request will not cause
16173  * a reply to be generated. Any returned error will be
16174  * saved for handling by xcb_request_check().
16175  */
16176 
16177 /*****************************************************************************
16178  **
16179  ** xcb_void_cookie_t xcb_change_hosts_checked
16180  **
16181  ** @param xcb_connection_t *c
16182  ** @param uint8_t           mode
16183  ** @param uint8_t           family
16184  ** @param uint16_t          address_len
16185  ** @param const uint8_t    *address
16186  ** @returns xcb_void_cookie_t
16187  **
16188  *****************************************************************************/
16189 
16190 xcb_void_cookie_t
16191 xcb_change_hosts_checked (xcb_connection_t *c  /**< */,
16192                           uint8_t           mode  /**< */,
16193                           uint8_t           family  /**< */,
16194                           uint16_t          address_len  /**< */,
16195                           const uint8_t    *address  /**< */);
16196 
16197 /**
16198  *
16199  * @param c The connection
16200  * @return A cookie
16201  *
16202  * Delivers a request to the X server.
16203  *
16204  */
16205 
16206 /*****************************************************************************
16207  **
16208  ** xcb_void_cookie_t xcb_change_hosts
16209  **
16210  ** @param xcb_connection_t *c
16211  ** @param uint8_t           mode
16212  ** @param uint8_t           family
16213  ** @param uint16_t          address_len
16214  ** @param const uint8_t    *address
16215  ** @returns xcb_void_cookie_t
16216  **
16217  *****************************************************************************/
16218 
16219 xcb_void_cookie_t
16220 xcb_change_hosts (xcb_connection_t *c  /**< */,
16221                   uint8_t           mode  /**< */,
16222                   uint8_t           family  /**< */,
16223                   uint16_t          address_len  /**< */,
16224                   const uint8_t    *address  /**< */);
16225 
16226 int
16227 xcb_host_sizeof (const void  *_buffer  /**< */);
16228 
16229 
16230 /*****************************************************************************
16231  **
16232  ** uint8_t * xcb_host_address
16233  **
16234  ** @param const xcb_host_t *R
16235  ** @returns uint8_t *
16236  **
16237  *****************************************************************************/
16238 
16239 uint8_t *
16240 xcb_host_address (const xcb_host_t *R  /**< */);
16241 
16242 
16243 /*****************************************************************************
16244  **
16245  ** int xcb_host_address_length
16246  **
16247  ** @param const xcb_host_t *R
16248  ** @returns int
16249  **
16250  *****************************************************************************/
16251 
16252 int
16253 xcb_host_address_length (const xcb_host_t *R  /**< */);
16254 
16255 
16256 /*****************************************************************************
16257  **
16258  ** xcb_generic_iterator_t xcb_host_address_end
16259  **
16260  ** @param const xcb_host_t *R
16261  ** @returns xcb_generic_iterator_t
16262  **
16263  *****************************************************************************/
16264 
16265 xcb_generic_iterator_t
16266 xcb_host_address_end (const xcb_host_t *R  /**< */);
16267 
16268 /**
16269  * Get the next element of the iterator
16270  * @param i Pointer to a xcb_host_iterator_t
16271  *
16272  * Get the next element in the iterator. The member rem is
16273  * decreased by one. The member data points to the next
16274  * element. The member index is increased by sizeof(xcb_host_t)
16275  */
16276 
16277 /*****************************************************************************
16278  **
16279  ** void xcb_host_next
16280  **
16281  ** @param xcb_host_iterator_t *i
16282  ** @returns void
16283  **
16284  *****************************************************************************/
16285 
16286 void
16287 xcb_host_next (xcb_host_iterator_t *i  /**< */);
16288 
16289 /**
16290  * Return the iterator pointing to the last element
16291  * @param i An xcb_host_iterator_t
16292  * @return  The iterator pointing to the last element
16293  *
16294  * Set the current element in the iterator to the last element.
16295  * The member rem is set to 0. The member data points to the
16296  * last element.
16297  */
16298 
16299 /*****************************************************************************
16300  **
16301  ** xcb_generic_iterator_t xcb_host_end
16302  **
16303  ** @param xcb_host_iterator_t i
16304  ** @returns xcb_generic_iterator_t
16305  **
16306  *****************************************************************************/
16307 
16308 xcb_generic_iterator_t
16309 xcb_host_end (xcb_host_iterator_t i  /**< */);
16310 
16311 int
16312 xcb_list_hosts_sizeof (const void  *_buffer  /**< */);
16313 
16314 /**
16315  *
16316  * @param c The connection
16317  * @return A cookie
16318  *
16319  * Delivers a request to the X server.
16320  *
16321  */
16322 
16323 /*****************************************************************************
16324  **
16325  ** xcb_list_hosts_cookie_t xcb_list_hosts
16326  **
16327  ** @param xcb_connection_t *c
16328  ** @returns xcb_list_hosts_cookie_t
16329  **
16330  *****************************************************************************/
16331 
16332 xcb_list_hosts_cookie_t
16333 xcb_list_hosts (xcb_connection_t *c  /**< */);
16334 
16335 /**
16336  *
16337  * @param c The connection
16338  * @return A cookie
16339  *
16340  * Delivers a request to the X server.
16341  *
16342  * This form can be used only if the request will cause
16343  * a reply to be generated. Any returned error will be
16344  * placed in the event queue.
16345  */
16346 
16347 /*****************************************************************************
16348  **
16349  ** xcb_list_hosts_cookie_t xcb_list_hosts_unchecked
16350  **
16351  ** @param xcb_connection_t *c
16352  ** @returns xcb_list_hosts_cookie_t
16353  **
16354  *****************************************************************************/
16355 
16356 xcb_list_hosts_cookie_t
16357 xcb_list_hosts_unchecked (xcb_connection_t *c  /**< */);
16358 
16359 
16360 /*****************************************************************************
16361  **
16362  ** int xcb_list_hosts_hosts_length
16363  **
16364  ** @param const xcb_list_hosts_reply_t *R
16365  ** @returns int
16366  **
16367  *****************************************************************************/
16368 
16369 int
16370 xcb_list_hosts_hosts_length (const xcb_list_hosts_reply_t *R  /**< */);
16371 
16372 
16373 /*****************************************************************************
16374  **
16375  ** xcb_host_iterator_t xcb_list_hosts_hosts_iterator
16376  **
16377  ** @param const xcb_list_hosts_reply_t *R
16378  ** @returns xcb_host_iterator_t
16379  **
16380  *****************************************************************************/
16381 
16382 xcb_host_iterator_t
16383 xcb_list_hosts_hosts_iterator (const xcb_list_hosts_reply_t *R  /**< */);
16384 
16385 /**
16386  * Return the reply
16387  * @param c      The connection
16388  * @param cookie The cookie
16389  * @param e      The xcb_generic_error_t supplied
16390  *
16391  * Returns the reply of the request asked by
16392  *
16393  * The parameter @p e supplied to this function must be NULL if
16394  * xcb_list_hosts_unchecked(). is used.
16395  * Otherwise, it stores the error if any.
16396  *
16397  * The returned value must be freed by the caller using free().
16398  */
16399 
16400 /*****************************************************************************
16401  **
16402  ** xcb_list_hosts_reply_t * xcb_list_hosts_reply
16403  **
16404  ** @param xcb_connection_t         *c
16405  ** @param xcb_list_hosts_cookie_t   cookie
16406  ** @param xcb_generic_error_t     **e
16407  ** @returns xcb_list_hosts_reply_t *
16408  **
16409  *****************************************************************************/
16410 
16411 xcb_list_hosts_reply_t *
16412 xcb_list_hosts_reply (xcb_connection_t         *c  /**< */,
16413                       xcb_list_hosts_cookie_t   cookie  /**< */,
16414                       xcb_generic_error_t     **e  /**< */);
16415 
16416 /**
16417  *
16418  * @param c The connection
16419  * @return A cookie
16420  *
16421  * Delivers a request to the X server.
16422  *
16423  * This form can be used only if the request will not cause
16424  * a reply to be generated. Any returned error will be
16425  * saved for handling by xcb_request_check().
16426  */
16427 
16428 /*****************************************************************************
16429  **
16430  ** xcb_void_cookie_t xcb_set_access_control_checked
16431  **
16432  ** @param xcb_connection_t *c
16433  ** @param uint8_t           mode
16434  ** @returns xcb_void_cookie_t
16435  **
16436  *****************************************************************************/
16437 
16438 xcb_void_cookie_t
16439 xcb_set_access_control_checked (xcb_connection_t *c  /**< */,
16440                                 uint8_t           mode  /**< */);
16441 
16442 /**
16443  *
16444  * @param c The connection
16445  * @return A cookie
16446  *
16447  * Delivers a request to the X server.
16448  *
16449  */
16450 
16451 /*****************************************************************************
16452  **
16453  ** xcb_void_cookie_t xcb_set_access_control
16454  **
16455  ** @param xcb_connection_t *c
16456  ** @param uint8_t           mode
16457  ** @returns xcb_void_cookie_t
16458  **
16459  *****************************************************************************/
16460 
16461 xcb_void_cookie_t
16462 xcb_set_access_control (xcb_connection_t *c  /**< */,
16463                         uint8_t           mode  /**< */);
16464 
16465 /**
16466  *
16467  * @param c The connection
16468  * @return A cookie
16469  *
16470  * Delivers a request to the X server.
16471  *
16472  * This form can be used only if the request will not cause
16473  * a reply to be generated. Any returned error will be
16474  * saved for handling by xcb_request_check().
16475  */
16476 
16477 /*****************************************************************************
16478  **
16479  ** xcb_void_cookie_t xcb_set_close_down_mode_checked
16480  **
16481  ** @param xcb_connection_t *c
16482  ** @param uint8_t           mode
16483  ** @returns xcb_void_cookie_t
16484  **
16485  *****************************************************************************/
16486 
16487 xcb_void_cookie_t
16488 xcb_set_close_down_mode_checked (xcb_connection_t *c  /**< */,
16489                                  uint8_t           mode  /**< */);
16490 
16491 /**
16492  *
16493  * @param c The connection
16494  * @return A cookie
16495  *
16496  * Delivers a request to the X server.
16497  *
16498  */
16499 
16500 /*****************************************************************************
16501  **
16502  ** xcb_void_cookie_t xcb_set_close_down_mode
16503  **
16504  ** @param xcb_connection_t *c
16505  ** @param uint8_t           mode
16506  ** @returns xcb_void_cookie_t
16507  **
16508  *****************************************************************************/
16509 
16510 xcb_void_cookie_t
16511 xcb_set_close_down_mode (xcb_connection_t *c  /**< */,
16512                          uint8_t           mode  /**< */);
16513 
16514 /**
16515  * @brief kills a client
16516  *
16517  * @param c The connection
16518  * @param resource Any resource belonging to the client (for example a Window), used to identify
16519  * the client connection.
16520  * \n
16521  * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
16522  * that have terminated in `RetainTemporary` (TODO) are destroyed.
16523  * @return A cookie
16524  *
16525  * Forces a close down of the client that created the specified \a resource.
16526  *
16527  * This form can be used only if the request will not cause
16528  * a reply to be generated. Any returned error will be
16529  * saved for handling by xcb_request_check().
16530  */
16531 
16532 /*****************************************************************************
16533  **
16534  ** xcb_void_cookie_t xcb_kill_client_checked
16535  **
16536  ** @param xcb_connection_t *c
16537  ** @param uint32_t          resource
16538  ** @returns xcb_void_cookie_t
16539  **
16540  *****************************************************************************/
16541 
16542 xcb_void_cookie_t
16543 xcb_kill_client_checked (xcb_connection_t *c  /**< */,
16544                          uint32_t          resource  /**< */);
16545 
16546 /**
16547  * @brief kills a client
16548  *
16549  * @param c The connection
16550  * @param resource Any resource belonging to the client (for example a Window), used to identify
16551  * the client connection.
16552  * \n
16553  * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
16554  * that have terminated in `RetainTemporary` (TODO) are destroyed.
16555  * @return A cookie
16556  *
16557  * Forces a close down of the client that created the specified \a resource.
16558  *
16559  */
16560 
16561 /*****************************************************************************
16562  **
16563  ** xcb_void_cookie_t xcb_kill_client
16564  **
16565  ** @param xcb_connection_t *c
16566  ** @param uint32_t          resource
16567  ** @returns xcb_void_cookie_t
16568  **
16569  *****************************************************************************/
16570 
16571 xcb_void_cookie_t
16572 xcb_kill_client (xcb_connection_t *c  /**< */,
16573                  uint32_t          resource  /**< */);
16574 
16575 int
16576 xcb_rotate_properties_sizeof (const void  *_buffer  /**< */);
16577 
16578 /**
16579  *
16580  * @param c The connection
16581  * @return A cookie
16582  *
16583  * Delivers a request to the X server.
16584  *
16585  * This form can be used only if the request will not cause
16586  * a reply to be generated. Any returned error will be
16587  * saved for handling by xcb_request_check().
16588  */
16589 
16590 /*****************************************************************************
16591  **
16592  ** xcb_void_cookie_t xcb_rotate_properties_checked
16593  **
16594  ** @param xcb_connection_t *c
16595  ** @param xcb_window_t      window
16596  ** @param uint16_t          atoms_len
16597  ** @param int16_t           delta
16598  ** @param const xcb_atom_t *atoms
16599  ** @returns xcb_void_cookie_t
16600  **
16601  *****************************************************************************/
16602 
16603 xcb_void_cookie_t
16604 xcb_rotate_properties_checked (xcb_connection_t *c  /**< */,
16605                                xcb_window_t      window  /**< */,
16606                                uint16_t          atoms_len  /**< */,
16607                                int16_t           delta  /**< */,
16608                                const xcb_atom_t *atoms  /**< */);
16609 
16610 /**
16611  *
16612  * @param c The connection
16613  * @return A cookie
16614  *
16615  * Delivers a request to the X server.
16616  *
16617  */
16618 
16619 /*****************************************************************************
16620  **
16621  ** xcb_void_cookie_t xcb_rotate_properties
16622  **
16623  ** @param xcb_connection_t *c
16624  ** @param xcb_window_t      window
16625  ** @param uint16_t          atoms_len
16626  ** @param int16_t           delta
16627  ** @param const xcb_atom_t *atoms
16628  ** @returns xcb_void_cookie_t
16629  **
16630  *****************************************************************************/
16631 
16632 xcb_void_cookie_t
16633 xcb_rotate_properties (xcb_connection_t *c  /**< */,
16634                        xcb_window_t      window  /**< */,
16635                        uint16_t          atoms_len  /**< */,
16636                        int16_t           delta  /**< */,
16637                        const xcb_atom_t *atoms  /**< */);
16638 
16639 /**
16640  *
16641  * @param c The connection
16642  * @return A cookie
16643  *
16644  * Delivers a request to the X server.
16645  *
16646  * This form can be used only if the request will not cause
16647  * a reply to be generated. Any returned error will be
16648  * saved for handling by xcb_request_check().
16649  */
16650 
16651 /*****************************************************************************
16652  **
16653  ** xcb_void_cookie_t xcb_force_screen_saver_checked
16654  **
16655  ** @param xcb_connection_t *c
16656  ** @param uint8_t           mode
16657  ** @returns xcb_void_cookie_t
16658  **
16659  *****************************************************************************/
16660 
16661 xcb_void_cookie_t
16662 xcb_force_screen_saver_checked (xcb_connection_t *c  /**< */,
16663                                 uint8_t           mode  /**< */);
16664 
16665 /**
16666  *
16667  * @param c The connection
16668  * @return A cookie
16669  *
16670  * Delivers a request to the X server.
16671  *
16672  */
16673 
16674 /*****************************************************************************
16675  **
16676  ** xcb_void_cookie_t xcb_force_screen_saver
16677  **
16678  ** @param xcb_connection_t *c
16679  ** @param uint8_t           mode
16680  ** @returns xcb_void_cookie_t
16681  **
16682  *****************************************************************************/
16683 
16684 xcb_void_cookie_t
16685 xcb_force_screen_saver (xcb_connection_t *c  /**< */,
16686                         uint8_t           mode  /**< */);
16687 
16688 int
16689 xcb_set_pointer_mapping_sizeof (const void  *_buffer  /**< */);
16690 
16691 /**
16692  *
16693  * @param c The connection
16694  * @return A cookie
16695  *
16696  * Delivers a request to the X server.
16697  *
16698  */
16699 
16700 /*****************************************************************************
16701  **
16702  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping
16703  **
16704  ** @param xcb_connection_t *c
16705  ** @param uint8_t           map_len
16706  ** @param const uint8_t    *map
16707  ** @returns xcb_set_pointer_mapping_cookie_t
16708  **
16709  *****************************************************************************/
16710 
16711 xcb_set_pointer_mapping_cookie_t
16712 xcb_set_pointer_mapping (xcb_connection_t *c  /**< */,
16713                          uint8_t           map_len  /**< */,
16714                          const uint8_t    *map  /**< */);
16715 
16716 /**
16717  *
16718  * @param c The connection
16719  * @return A cookie
16720  *
16721  * Delivers a request to the X server.
16722  *
16723  * This form can be used only if the request will cause
16724  * a reply to be generated. Any returned error will be
16725  * placed in the event queue.
16726  */
16727 
16728 /*****************************************************************************
16729  **
16730  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping_unchecked
16731  **
16732  ** @param xcb_connection_t *c
16733  ** @param uint8_t           map_len
16734  ** @param const uint8_t    *map
16735  ** @returns xcb_set_pointer_mapping_cookie_t
16736  **
16737  *****************************************************************************/
16738 
16739 xcb_set_pointer_mapping_cookie_t
16740 xcb_set_pointer_mapping_unchecked (xcb_connection_t *c  /**< */,
16741                                    uint8_t           map_len  /**< */,
16742                                    const uint8_t    *map  /**< */);
16743 
16744 /**
16745  * Return the reply
16746  * @param c      The connection
16747  * @param cookie The cookie
16748  * @param e      The xcb_generic_error_t supplied
16749  *
16750  * Returns the reply of the request asked by
16751  *
16752  * The parameter @p e supplied to this function must be NULL if
16753  * xcb_set_pointer_mapping_unchecked(). is used.
16754  * Otherwise, it stores the error if any.
16755  *
16756  * The returned value must be freed by the caller using free().
16757  */
16758 
16759 /*****************************************************************************
16760  **
16761  ** xcb_set_pointer_mapping_reply_t * xcb_set_pointer_mapping_reply
16762  **
16763  ** @param xcb_connection_t                  *c
16764  ** @param xcb_set_pointer_mapping_cookie_t   cookie
16765  ** @param xcb_generic_error_t              **e
16766  ** @returns xcb_set_pointer_mapping_reply_t *
16767  **
16768  *****************************************************************************/
16769 
16770 xcb_set_pointer_mapping_reply_t *
16771 xcb_set_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
16772                                xcb_set_pointer_mapping_cookie_t   cookie  /**< */,
16773                                xcb_generic_error_t              **e  /**< */);
16774 
16775 int
16776 xcb_get_pointer_mapping_sizeof (const void  *_buffer  /**< */);
16777 
16778 /**
16779  *
16780  * @param c The connection
16781  * @return A cookie
16782  *
16783  * Delivers a request to the X server.
16784  *
16785  */
16786 
16787 /*****************************************************************************
16788  **
16789  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping
16790  **
16791  ** @param xcb_connection_t *c
16792  ** @returns xcb_get_pointer_mapping_cookie_t
16793  **
16794  *****************************************************************************/
16795 
16796 xcb_get_pointer_mapping_cookie_t
16797 xcb_get_pointer_mapping (xcb_connection_t *c  /**< */);
16798 
16799 /**
16800  *
16801  * @param c The connection
16802  * @return A cookie
16803  *
16804  * Delivers a request to the X server.
16805  *
16806  * This form can be used only if the request will cause
16807  * a reply to be generated. Any returned error will be
16808  * placed in the event queue.
16809  */
16810 
16811 /*****************************************************************************
16812  **
16813  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping_unchecked
16814  **
16815  ** @param xcb_connection_t *c
16816  ** @returns xcb_get_pointer_mapping_cookie_t
16817  **
16818  *****************************************************************************/
16819 
16820 xcb_get_pointer_mapping_cookie_t
16821 xcb_get_pointer_mapping_unchecked (xcb_connection_t *c  /**< */);
16822 
16823 
16824 /*****************************************************************************
16825  **
16826  ** uint8_t * xcb_get_pointer_mapping_map
16827  **
16828  ** @param const xcb_get_pointer_mapping_reply_t *R
16829  ** @returns uint8_t *
16830  **
16831  *****************************************************************************/
16832 
16833 uint8_t *
16834 xcb_get_pointer_mapping_map (const xcb_get_pointer_mapping_reply_t *R  /**< */);
16835 
16836 
16837 /*****************************************************************************
16838  **
16839  ** int xcb_get_pointer_mapping_map_length
16840  **
16841  ** @param const xcb_get_pointer_mapping_reply_t *R
16842  ** @returns int
16843  **
16844  *****************************************************************************/
16845 
16846 int
16847 xcb_get_pointer_mapping_map_length (const xcb_get_pointer_mapping_reply_t *R  /**< */);
16848 
16849 
16850 /*****************************************************************************
16851  **
16852  ** xcb_generic_iterator_t xcb_get_pointer_mapping_map_end
16853  **
16854  ** @param const xcb_get_pointer_mapping_reply_t *R
16855  ** @returns xcb_generic_iterator_t
16856  **
16857  *****************************************************************************/
16858 
16859 xcb_generic_iterator_t
16860 xcb_get_pointer_mapping_map_end (const xcb_get_pointer_mapping_reply_t *R  /**< */);
16861 
16862 /**
16863  * Return the reply
16864  * @param c      The connection
16865  * @param cookie The cookie
16866  * @param e      The xcb_generic_error_t supplied
16867  *
16868  * Returns the reply of the request asked by
16869  *
16870  * The parameter @p e supplied to this function must be NULL if
16871  * xcb_get_pointer_mapping_unchecked(). is used.
16872  * Otherwise, it stores the error if any.
16873  *
16874  * The returned value must be freed by the caller using free().
16875  */
16876 
16877 /*****************************************************************************
16878  **
16879  ** xcb_get_pointer_mapping_reply_t * xcb_get_pointer_mapping_reply
16880  **
16881  ** @param xcb_connection_t                  *c
16882  ** @param xcb_get_pointer_mapping_cookie_t   cookie
16883  ** @param xcb_generic_error_t              **e
16884  ** @returns xcb_get_pointer_mapping_reply_t *
16885  **
16886  *****************************************************************************/
16887 
16888 xcb_get_pointer_mapping_reply_t *
16889 xcb_get_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
16890                                xcb_get_pointer_mapping_cookie_t   cookie  /**< */,
16891                                xcb_generic_error_t              **e  /**< */);
16892 
16893 int
16894 xcb_set_modifier_mapping_sizeof (const void  *_buffer  /**< */);
16895 
16896 /**
16897  *
16898  * @param c The connection
16899  * @return A cookie
16900  *
16901  * Delivers a request to the X server.
16902  *
16903  */
16904 
16905 /*****************************************************************************
16906  **
16907  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping
16908  **
16909  ** @param xcb_connection_t    *c
16910  ** @param uint8_t              keycodes_per_modifier
16911  ** @param const xcb_keycode_t *keycodes
16912  ** @returns xcb_set_modifier_mapping_cookie_t
16913  **
16914  *****************************************************************************/
16915 
16916 xcb_set_modifier_mapping_cookie_t
16917 xcb_set_modifier_mapping (xcb_connection_t    *c  /**< */,
16918                           uint8_t              keycodes_per_modifier  /**< */,
16919                           const xcb_keycode_t *keycodes  /**< */);
16920 
16921 /**
16922  *
16923  * @param c The connection
16924  * @return A cookie
16925  *
16926  * Delivers a request to the X server.
16927  *
16928  * This form can be used only if the request will cause
16929  * a reply to be generated. Any returned error will be
16930  * placed in the event queue.
16931  */
16932 
16933 /*****************************************************************************
16934  **
16935  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping_unchecked
16936  **
16937  ** @param xcb_connection_t    *c
16938  ** @param uint8_t              keycodes_per_modifier
16939  ** @param const xcb_keycode_t *keycodes
16940  ** @returns xcb_set_modifier_mapping_cookie_t
16941  **
16942  *****************************************************************************/
16943 
16944 xcb_set_modifier_mapping_cookie_t
16945 xcb_set_modifier_mapping_unchecked (xcb_connection_t    *c  /**< */,
16946                                     uint8_t              keycodes_per_modifier  /**< */,
16947                                     const xcb_keycode_t *keycodes  /**< */);
16948 
16949 /**
16950  * Return the reply
16951  * @param c      The connection
16952  * @param cookie The cookie
16953  * @param e      The xcb_generic_error_t supplied
16954  *
16955  * Returns the reply of the request asked by
16956  *
16957  * The parameter @p e supplied to this function must be NULL if
16958  * xcb_set_modifier_mapping_unchecked(). is used.
16959  * Otherwise, it stores the error if any.
16960  *
16961  * The returned value must be freed by the caller using free().
16962  */
16963 
16964 /*****************************************************************************
16965  **
16966  ** xcb_set_modifier_mapping_reply_t * xcb_set_modifier_mapping_reply
16967  **
16968  ** @param xcb_connection_t                   *c
16969  ** @param xcb_set_modifier_mapping_cookie_t   cookie
16970  ** @param xcb_generic_error_t               **e
16971  ** @returns xcb_set_modifier_mapping_reply_t *
16972  **
16973  *****************************************************************************/
16974 
16975 xcb_set_modifier_mapping_reply_t *
16976 xcb_set_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
16977                                 xcb_set_modifier_mapping_cookie_t   cookie  /**< */,
16978                                 xcb_generic_error_t               **e  /**< */);
16979 
16980 int
16981 xcb_get_modifier_mapping_sizeof (const void  *_buffer  /**< */);
16982 
16983 /**
16984  *
16985  * @param c The connection
16986  * @return A cookie
16987  *
16988  * Delivers a request to the X server.
16989  *
16990  */
16991 
16992 /*****************************************************************************
16993  **
16994  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping
16995  **
16996  ** @param xcb_connection_t *c
16997  ** @returns xcb_get_modifier_mapping_cookie_t
16998  **
16999  *****************************************************************************/
17000 
17001 xcb_get_modifier_mapping_cookie_t
17002 xcb_get_modifier_mapping (xcb_connection_t *c  /**< */);
17003 
17004 /**
17005  *
17006  * @param c The connection
17007  * @return A cookie
17008  *
17009  * Delivers a request to the X server.
17010  *
17011  * This form can be used only if the request will cause
17012  * a reply to be generated. Any returned error will be
17013  * placed in the event queue.
17014  */
17015 
17016 /*****************************************************************************
17017  **
17018  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping_unchecked
17019  **
17020  ** @param xcb_connection_t *c
17021  ** @returns xcb_get_modifier_mapping_cookie_t
17022  **
17023  *****************************************************************************/
17024 
17025 xcb_get_modifier_mapping_cookie_t
17026 xcb_get_modifier_mapping_unchecked (xcb_connection_t *c  /**< */);
17027 
17028 
17029 /*****************************************************************************
17030  **
17031  ** xcb_keycode_t * xcb_get_modifier_mapping_keycodes
17032  **
17033  ** @param const xcb_get_modifier_mapping_reply_t *R
17034  ** @returns xcb_keycode_t *
17035  **
17036  *****************************************************************************/
17037 
17038 xcb_keycode_t *
17039 xcb_get_modifier_mapping_keycodes (const xcb_get_modifier_mapping_reply_t *R  /**< */);
17040 
17041 
17042 /*****************************************************************************
17043  **
17044  ** int xcb_get_modifier_mapping_keycodes_length
17045  **
17046  ** @param const xcb_get_modifier_mapping_reply_t *R
17047  ** @returns int
17048  **
17049  *****************************************************************************/
17050 
17051 int
17052 xcb_get_modifier_mapping_keycodes_length (const xcb_get_modifier_mapping_reply_t *R  /**< */);
17053 
17054 
17055 /*****************************************************************************
17056  **
17057  ** xcb_generic_iterator_t xcb_get_modifier_mapping_keycodes_end
17058  **
17059  ** @param const xcb_get_modifier_mapping_reply_t *R
17060  ** @returns xcb_generic_iterator_t
17061  **
17062  *****************************************************************************/
17063 
17064 xcb_generic_iterator_t
17065 xcb_get_modifier_mapping_keycodes_end (const xcb_get_modifier_mapping_reply_t *R  /**< */);
17066 
17067 /**
17068  * Return the reply
17069  * @param c      The connection
17070  * @param cookie The cookie
17071  * @param e      The xcb_generic_error_t supplied
17072  *
17073  * Returns the reply of the request asked by
17074  *
17075  * The parameter @p e supplied to this function must be NULL if
17076  * xcb_get_modifier_mapping_unchecked(). is used.
17077  * Otherwise, it stores the error if any.
17078  *
17079  * The returned value must be freed by the caller using free().
17080  */
17081 
17082 /*****************************************************************************
17083  **
17084  ** xcb_get_modifier_mapping_reply_t * xcb_get_modifier_mapping_reply
17085  **
17086  ** @param xcb_connection_t                   *c
17087  ** @param xcb_get_modifier_mapping_cookie_t   cookie
17088  ** @param xcb_generic_error_t               **e
17089  ** @returns xcb_get_modifier_mapping_reply_t *
17090  **
17091  *****************************************************************************/
17092 
17093 xcb_get_modifier_mapping_reply_t *
17094 xcb_get_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
17095                                 xcb_get_modifier_mapping_cookie_t   cookie  /**< */,
17096                                 xcb_generic_error_t               **e  /**< */);
17097 
17098 /**
17099  *
17100  * @param c The connection
17101  * @return A cookie
17102  *
17103  * Delivers a request to the X server.
17104  *
17105  * This form can be used only if the request will not cause
17106  * a reply to be generated. Any returned error will be
17107  * saved for handling by xcb_request_check().
17108  */
17109 
17110 /*****************************************************************************
17111  **
17112  ** xcb_void_cookie_t xcb_no_operation_checked
17113  **
17114  ** @param xcb_connection_t *c
17115  ** @returns xcb_void_cookie_t
17116  **
17117  *****************************************************************************/
17118 
17119 xcb_void_cookie_t
17120 xcb_no_operation_checked (xcb_connection_t *c  /**< */);
17121 
17122 /**
17123  *
17124  * @param c The connection
17125  * @return A cookie
17126  *
17127  * Delivers a request to the X server.
17128  *
17129  */
17130 
17131 /*****************************************************************************
17132  **
17133  ** xcb_void_cookie_t xcb_no_operation
17134  **
17135  ** @param xcb_connection_t *c
17136  ** @returns xcb_void_cookie_t
17137  **
17138  *****************************************************************************/
17139 
17140 xcb_void_cookie_t
17141 xcb_no_operation (xcb_connection_t *c  /**< */);
17142 
17143 
17144 #ifdef __cplusplus
17145 }
17146 #endif
17147 
17148 #endif
17149 
17150 /**
17151  * @}
17152  */
17153