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
18extern "C" {
19#endif
20
21/**
22 * @brief xcb_char2b_t
23 **/
24typedef 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 **/
32typedef struct xcb_char2b_iterator_t {
33 xcb_char2b_t *data; /**< */
34 int rem; /**< */
35 int index; /**< */
36} xcb_char2b_iterator_t;
37
38typedef uint32_t xcb_window_t;
39
40/**
41 * @brief xcb_window_iterator_t
42 **/
43typedef struct xcb_window_iterator_t {
44 xcb_window_t *data; /**< */
45 int rem; /**< */
46 int index; /**< */
47} xcb_window_iterator_t;
48
49typedef uint32_t xcb_pixmap_t;
50
51/**
52 * @brief xcb_pixmap_iterator_t
53 **/
54typedef struct xcb_pixmap_iterator_t {
55 xcb_pixmap_t *data; /**< */
56 int rem; /**< */
57 int index; /**< */
58} xcb_pixmap_iterator_t;
59
60typedef uint32_t xcb_cursor_t;
61
62/**
63 * @brief xcb_cursor_iterator_t
64 **/
65typedef struct xcb_cursor_iterator_t {
66 xcb_cursor_t *data; /**< */
67 int rem; /**< */
68 int index; /**< */
69} xcb_cursor_iterator_t;
70
71typedef uint32_t xcb_font_t;
72
73/**
74 * @brief xcb_font_iterator_t
75 **/
76typedef struct xcb_font_iterator_t {
77 xcb_font_t *data; /**< */
78 int rem; /**< */
79 int index; /**< */
80} xcb_font_iterator_t;
81
82typedef uint32_t xcb_gcontext_t;
83
84/**
85 * @brief xcb_gcontext_iterator_t
86 **/
87typedef struct xcb_gcontext_iterator_t {
88 xcb_gcontext_t *data; /**< */
89 int rem; /**< */
90 int index; /**< */
91} xcb_gcontext_iterator_t;
92
93typedef uint32_t xcb_colormap_t;
94
95/**
96 * @brief xcb_colormap_iterator_t
97 **/
98typedef struct xcb_colormap_iterator_t {
99 xcb_colormap_t *data; /**< */
100 int rem; /**< */
101 int index; /**< */
102} xcb_colormap_iterator_t;
103
104typedef uint32_t xcb_atom_t;
105
106/**
107 * @brief xcb_atom_iterator_t
108 **/
109typedef struct xcb_atom_iterator_t {
110 xcb_atom_t *data; /**< */
111 int rem; /**< */
112 int index; /**< */
113} xcb_atom_iterator_t;
114
115typedef uint32_t xcb_drawable_t;
116
117/**
118 * @brief xcb_drawable_iterator_t
119 **/
120typedef struct xcb_drawable_iterator_t {
121 xcb_drawable_t *data; /**< */
122 int rem; /**< */
123 int index; /**< */
124} xcb_drawable_iterator_t;
125
126typedef uint32_t xcb_fontable_t;
127
128/**
129 * @brief xcb_fontable_iterator_t
130 **/
131typedef struct xcb_fontable_iterator_t {
132 xcb_fontable_t *data; /**< */
133 int rem; /**< */
134 int index; /**< */
135} xcb_fontable_iterator_t;
136
137typedef uint32_t xcb_visualid_t;
138
139/**
140 * @brief xcb_visualid_iterator_t
141 **/
142typedef struct xcb_visualid_iterator_t {
143 xcb_visualid_t *data; /**< */
144 int rem; /**< */
145 int index; /**< */
146} xcb_visualid_iterator_t;
147
148typedef uint32_t xcb_timestamp_t;
149
150/**
151 * @brief xcb_timestamp_iterator_t
152 **/
153typedef struct xcb_timestamp_iterator_t {
154 xcb_timestamp_t *data; /**< */
155 int rem; /**< */
156 int index; /**< */
157} xcb_timestamp_iterator_t;
158
159typedef uint32_t xcb_keysym_t;
160
161/**
162 * @brief xcb_keysym_iterator_t
163 **/
164typedef struct xcb_keysym_iterator_t {
165 xcb_keysym_t *data; /**< */
166 int rem; /**< */
167 int index; /**< */
168} xcb_keysym_iterator_t;
169
170typedef uint8_t xcb_keycode_t;
171
172/**
173 * @brief xcb_keycode_iterator_t
174 **/
175typedef struct xcb_keycode_iterator_t {
176 xcb_keycode_t *data; /**< */
177 int rem; /**< */
178 int index; /**< */
179} xcb_keycode_iterator_t;
180
181typedef uint8_t xcb_button_t;
182
183/**
184 * @brief xcb_button_iterator_t
185 **/
186typedef 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 **/
195typedef 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 **/
203typedef 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 **/
212typedef 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 **/
222typedef 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 **/
231typedef 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 **/
243typedef 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 **/
252typedef 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 **/
262typedef struct xcb_format_iterator_t {
263 xcb_format_t *data; /**< */
264 int rem; /**< */
265 int index; /**< */
266} xcb_format_iterator_t;
267
268typedef 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 **/
280typedef 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 **/
294typedef 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 **/
303typedef 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 **/
313typedef struct xcb_depth_iterator_t {
314 xcb_depth_t *data; /**< */
315 int rem; /**< */
316 int index; /**< */
317} xcb_depth_iterator_t;
318
319typedef 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
348typedef 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 **/
357typedef 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 **/
379typedef 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 **/
388typedef 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 **/
401typedef 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 **/
410typedef 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 **/
421typedef 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 **/
430typedef 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 **/
439typedef 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
445typedef 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 **/
453typedef 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 **/
479typedef struct xcb_setup_iterator_t {
480 xcb_setup_t *data; /**< */
481 int rem; /**< */
482 int index; /**< */
483} xcb_setup_iterator_t;
484
485typedef 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
497typedef 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
513typedef 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 **/
523typedef 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
543typedef xcb_key_press_event_t xcb_key_release_event_t;
544
545typedef 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 **/
560typedef 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
580typedef xcb_button_press_event_t xcb_button_release_event_t;
581
582typedef 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 **/
593typedef 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
610typedef 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
621typedef 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 **/
634typedef 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
654typedef 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 **/
662typedef 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
674typedef 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 **/
682typedef 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 **/
693typedef 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 **/
712typedef 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 **/
733typedef 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
743typedef 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 **/
755typedef 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 **/
770typedef 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 **/
791typedef 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 **/
805typedef 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 **/
821typedef 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 **/
837typedef 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 **/
851typedef 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 **/
870typedef 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 **/
892typedef 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 **/
913typedef 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 **/
929typedef 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
938typedef 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 **/
953typedef 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
967typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t;
968
969typedef 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 **/
980typedef 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 **/
997typedef 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
1006typedef enum xcb_time_t {
1007 XCB_TIME_CURRENT_TIME = 0
1008} xcb_time_t;
1009
1010typedef 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 **/
1089typedef 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 **/
1107typedef 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
1118typedef 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
1127typedef 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 **/
1137typedef 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 **/
1151typedef 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 **/
1160typedef 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 **/
1172typedef 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
1181typedef 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 **/
1193typedef 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 **/
1209typedef 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 **/
1225typedef 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 **/
1241typedef 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
1254typedef xcb_value_error_t xcb_window_error_t;
1255
1256/** Opcode for xcb_pixmap. */
1257#define XCB_PIXMAP 4
1258
1259typedef xcb_value_error_t xcb_pixmap_error_t;
1260
1261/** Opcode for xcb_atom. */
1262#define XCB_ATOM 5
1263
1264typedef xcb_value_error_t xcb_atom_error_t;
1265
1266/** Opcode for xcb_cursor. */
1267#define XCB_CURSOR 6
1268
1269typedef xcb_value_error_t xcb_cursor_error_t;
1270
1271/** Opcode for xcb_font. */
1272#define XCB_FONT 7
1273
1274typedef xcb_value_error_t xcb_font_error_t;
1275
1276/** Opcode for xcb_match. */
1277#define XCB_MATCH 8
1278
1279typedef xcb_request_error_t xcb_match_error_t;
1280
1281/** Opcode for xcb_drawable. */
1282#define XCB_DRAWABLE 9
1283
1284typedef xcb_value_error_t xcb_drawable_error_t;
1285
1286/** Opcode for xcb_access. */
1287#define XCB_ACCESS 10
1288
1289typedef xcb_request_error_t xcb_access_error_t;
1290
1291/** Opcode for xcb_alloc. */
1292#define XCB_ALLOC 11
1293
1294typedef xcb_request_error_t xcb_alloc_error_t;
1295
1296/** Opcode for xcb_colormap. */
1297#define XCB_COLORMAP 12
1298
1299typedef xcb_value_error_t xcb_colormap_error_t;
1300
1301/** Opcode for xcb_g_context. */
1302#define XCB_G_CONTEXT 13
1303
1304typedef xcb_value_error_t xcb_g_context_error_t;
1305
1306/** Opcode for xcb_id_choice. */
1307#define XCB_ID_CHOICE 14
1308
1309typedef xcb_value_error_t xcb_id_choice_error_t;
1310
1311/** Opcode for xcb_name. */
1312#define XCB_NAME 15
1313
1314typedef xcb_request_error_t xcb_name_error_t;
1315
1316/** Opcode for xcb_length. */
1317#define XCB_LENGTH 16
1318
1319typedef xcb_request_error_t xcb_length_error_t;
1320
1321/** Opcode for xcb_implementation. */
1322#define XCB_IMPLEMENTATION 17
1323
1324typedef xcb_request_error_t xcb_implementation_error_t;
1325
1326typedef 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
1332typedef enum xcb_cw_t {
1333 XCB_CW_BACK_PIXMAP = 1,
1334/**< Overrides the default background-pixmap. The background pixmap and window must
1335have the same root and same depth. Any size pixmap can be used, although some
1336sizes may be faster than others.
1337
1338If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background.
1339The server may fill the contents with the previous screen contents or with
1340contents of its own choosing.
1341
1342If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is
1343used, but the window must have the same depth as the parent (or a Match error
1344results). The parent's background is tracked, and the current version is
1345used 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
1349background pixel is used for the background. Range-checking is not performed,
1350the 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
1354same root and the same depth. Any size pixmap can be used, although some sizes
1355may be faster than others.
1356
1357The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is
1358copied (subsequent changes to the parent's border attribute do not affect the
1359child), 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
1363border pixel is used for the border. Range checking is not performed on the
1364border-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
1375obscured regions when the window is mapped would be beneficial. A backing-store
1376of `Always` advises the server that maintaining contents even when the window
1377is unmapped would be beneficial. In this case, the server may generate an
1378exposure event when the window is created. A value of `NotUseful` advises the
1379server that maintaining contents is unnecessary, although a server may still
1380choose to maintain contents while the window is mapped. Note that if the server
1381maintains contents, then the server should maintain complete contents not just
1382the region within the parent boundaries, even if the window is larger than its
1383parent. While the server maintains contents, exposure events will not normally
1384be 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
1388window hold dynamic data that must be preserved in backing-stores and during
1389save-unders. */
1390
1391 XCB_CW_BACKING_PIXEL = 256,
1392/**< The backing-pixel specifies what value to use in planes not covered by
1393backing-planes. The server is free to save only the specified bit planes in the
1394backing-store or save-under and regenerate the remaining planes with the
1395specified pixel value. Any bits beyond the specified depth of the window in
1396these values are simply ignored. */
1397
1398 XCB_CW_OVERRIDE_REDIRECT = 512,
1399/**< The override-redirect specifies whether map and configure requests on this
1400window should override a SubstructureRedirect on the parent, typically to
1401inform 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
1405contents 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
1413ancestor 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
1417capable of supporting multiple hardware colormaps may use this information, and window man-
1418agers may use it for InstallColormap requests. The colormap must have the same visual type
1419and root as the window (or a Match error results). If CopyFromParent is specified, the parent's
1420colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child).
1421However, the window must have the same visual type as the parent (or a Match error results),
1422and the parent must not have a colormap of None (or a Match error results). For an explanation
1423of None, see FreeColormap request. The colormap is copied by sharing the colormap object
1424between 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-
1428fied, the parent's cursor will be used when the pointer is in the window, and any change in the
1429parent's cursor will cause an immediate change in the displayed cursor. */
1430
1431} xcb_cw_t;
1432
1433typedef enum xcb_back_pixmap_t {
1434 XCB_BACK_PIXMAP_NONE = 0,
1435 XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
1436} xcb_back_pixmap_t;
1437
1438typedef 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 **/
1459typedef 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 **/
1481typedef 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
1489typedef 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 **/
1498typedef 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 **/
1508typedef 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 **/
1518typedef 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 **/
1546typedef 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 **/
1559typedef 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
1566typedef 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 **/
1577typedef 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 **/
1590typedef 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 **/
1606typedef 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 **/
1619typedef 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 **/
1632typedef 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 **/
1645typedef 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
1652typedef 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
1662typedef 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 **/
1676typedef 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
1685typedef 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 **/
1696typedef 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 **/
1706typedef 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 **/
1716typedef 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 **/
1726typedef 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 **/
1743typedef 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 **/
1753typedef 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 **/
1763typedef 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 **/
1777typedef 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 **/
1787typedef 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 **/
1798typedef 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 **/
1809typedef 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 **/
1819typedef 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 **/
1829typedef 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
1838typedef 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
1844match existing property value. If the property is undefined, it is treated as
1845defined 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
1849match existing property value. If the property is undefined, it is treated as
1850defined 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 **/
1860typedef 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 **/
1878typedef 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
1886typedef 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 **/
1893typedef 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 **/
1903typedef 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 **/
1917typedef 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 **/
1931typedef 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 **/
1941typedef 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 **/
1951typedef 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 **/
1966typedef 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 **/
1978typedef 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 **/
1988typedef 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 **/
1998typedef 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 **/
2012typedef 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
2023typedef 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 **/
2034typedef 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
2043typedef 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
2046generated 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
2054typedef 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
2062typedef 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 **/
2069typedef 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 **/
2079typedef 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 **/
2095typedef 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 **/
2108typedef 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
2115typedef 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 **/
2142typedef 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 **/
2163typedef 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 **/
2178typedef 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 **/
2191typedef 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 **/
2201typedef 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 **/
2215typedef 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 **/
2228typedef 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
2235typedef 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 **/
2245typedef 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 **/
2263typedef 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
2272typedef enum xcb_allow_t {
2273 XCB_ALLOW_ASYNC_POINTER = 0,
2274/**< For AsyncPointer, if the pointer is frozen by the client, pointer event
2275processing continues normally. If the pointer is frozen twice by the client on
2276behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no
2277effect if the pointer is not frozen by the client, but the pointer need not be
2278grabbed by the client.
2279
2280TODO: 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,
2284pointer event processing continues normally until the next ButtonPress or
2285ButtonRelease event is reported to the client, at which time the pointer again
2286appears to freeze. However, if the reported event causes the pointer grab to be
2287released, then the pointer does not freeze. SyncPointer has no effect if the
2288pointer is not frozen by the client or if the pointer is not grabbed by the
2289client. */
2290
2291 XCB_ALLOW_REPLAY_POINTER = 2,
2292/**< For ReplayPointer, if the pointer is actively grabbed by the client and is
2293frozen as the result of an event having been sent to the client (either from
2294the activation of a GrabButton or from a previous AllowEvents with mode
2295SyncPointer but not from a GrabPointer), then the pointer grab is released and
2296that event is completely reprocessed, this time ignoring any passive grabs at
2297or above (towards the root) the grab-window of the grab just released. The
2298request has no effect if the pointer is not grabbed by the client or if the
2299pointer 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
2303processing continues normally. If the keyboard is frozen twice by the client on
2304behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has
2305no effect if the keyboard is not frozen by the client, but the keyboard need
2306not 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,
2310keyboard event processing continues normally until the next KeyPress or
2311KeyRelease event is reported to the client, at which time the keyboard again
2312appears to freeze. However, if the reported event causes the keyboard grab to
2313be released, then the keyboard does not freeze. SyncKeyboard has no effect if
2314the keyboard is not frozen by the client or if the keyboard is not grabbed by
2315the client. */
2316
2317 XCB_ALLOW_REPLAY_KEYBOARD = 5,
2318/**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is
2319frozen as the result of an event having been sent to the client (either from
2320the activation of a GrabKey or from a previous AllowEvents with mode
2321SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released
2322and that event is completely reprocessed, this time ignoring any passive grabs
2323at or above (towards the root) the grab-window of the grab just released. The
2324request has no effect if the keyboard is not grabbed by the client or if the
2325keyboard 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
2329processing for both devices continues normally. If a device is frozen twice by
2330the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth
2331has 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
2335processing (for both devices) continues normally until the next ButtonPress,
2336ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a
2337grabbed device (button event for the pointer, key event for the keyboard), at
2338which time the devices again appear to freeze. However, if the reported event
2339causes the grab to be released, then the devices do not freeze (but if the
2340other device is still grabbed, then a subsequent event for it will still cause
2341both devices to freeze). SyncBoth has no effect unless both pointer and
2342keyboard are frozen by the client. If the pointer or keyboard is frozen twice
2343by the client on behalf of two separate grabs, SyncBoth thaws for both (but a
2344subsequent 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 **/
2354typedef 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 **/
2367typedef 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 **/
2379typedef 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 **/
2388typedef 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 **/
2398typedef 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 **/
2408typedef 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 **/
2426typedef 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 **/
2435typedef 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 **/
2444typedef 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 **/
2454typedef 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 **/
2466typedef 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 **/
2478typedef 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 **/
2488typedef 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 **/
2501typedef 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 **/
2517typedef 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
2531typedef 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,
2537FocusIn and FocusOut events are generated, but the last-focus-change time is
2538not changed. */
2539
2540 XCB_INPUT_FOCUS_PARENT = 2,
2541/**< The focus reverts to the parent (or closest viewable ancestor) and the new
2542revert_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 **/
2555typedef 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 **/
2566typedef 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 **/
2576typedef 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 **/
2585typedef 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 **/
2596typedef 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 **/
2606typedef 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 **/
2615typedef 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 **/
2629typedef 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 **/
2644typedef 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
2651typedef 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 **/
2659typedef 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 **/
2667typedef 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 **/
2676typedef 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 **/
2688typedef 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 **/
2697typedef 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 **/
2707typedef 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 **/
2717typedef 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 **/
2742typedef 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 **/
2752typedef 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 **/
2762typedef 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 **/
2779typedef struct xcb_str_t {
2780 uint8_t name_len; /**< */
2781} xcb_str_t;
2782
2783/**
2784 * @brief xcb_str_iterator_t
2785 **/
2786typedef 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 **/
2795typedef 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 **/
2805typedef 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 **/
2816typedef 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 **/
2828typedef 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 **/
2838typedef 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 **/
2849typedef 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 **/
2877typedef 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 **/
2888typedef 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 **/
2898typedef 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 **/
2907typedef 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 **/
2922typedef 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 **/
2938typedef 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
2945typedef 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
2951computed bitwise on corresponding bits of the pixels; that is, a Boolean
2952operation is performed in each bit plane. The plane-mask restricts the
2953operation 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
2965special value zero, a thin line. */
2966
2967 XCB_GC_LINE_STYLE = 32,
2968/**< The line-style defines which sections of a line are drawn:
2969Solid The full path of the line is drawn.
2970DoubleDash 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.
2973OnOffDash 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:
2978NotLast The result is equivalent to Butt, except that for a line-width of zero the final
2979 endpoint is not drawn.
2980Butt The result is square at the endpoint (perpendicular to the slope of the line)
2981 with no projection beyond.
2982Round 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.
2984Projecting 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:
2990Miter 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.
2992Round The result is a circular arc with a diameter equal to the line-width, centered
2993 on the joinpoint.
2994Bevel 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
2998requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc)
2999as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment,
3000PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash
3001or DoubleDash:
3002Solid Foreground
3003Tiled Tile
3004OpaqueStippled 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
3007Stippled Foreground masked by stipple
3008For the odd dashes for line requests with line-style DoubleDash:
3009Solid Background
3010Tiled Same as for even dashes
3011OpaqueStippled Same as for even dashes
3012Stippled 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
3019dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
3020the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
3021specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
3022origin of whatever destination drawable is specified in a graphics request.
3023The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
3024The stipple pixmap must have depth one and must have the same root as the gcontext (or a
3025Match error results). For fill-style Stippled (but not fill-style
3026OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
3027additional clip mask to be ANDed with the clip-mask.
3028Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
3029others. */
3030
3031 XCB_GC_STIPPLE = 2048,
3032/**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
3033dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
3034the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
3035specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
3036origin of whatever destination drawable is specified in a graphics request.
3037The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
3038The stipple pixmap must have depth one and must have the same root as the gcontext (or a
3039Match error results). For fill-style Stippled (but not fill-style
3040OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
3041additional clip mask to be ANDed with the clip-mask.
3042Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
3043others. */
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
3056clipped by all viewable InputOutput children. For IncludeInferiors, neither
3057source nor destination window is
3058clipped by inferiors. This will result in including subwindow contents in the source and drawing
3059through subwindow boundaries of the destination. The use of IncludeInferiors with a source or
3060destination window of one depth with mapped inferiors of differing depth is not illegal, but the
3061semantics is undefined by the core protocol. */
3062
3063 XCB_GC_GRAPHICS_EXPOSURES = 65536,
3064/**< Whether ExposureEvents should be generated (1) or not (0).
3065
3066The 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
3076bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where
3077the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip
3078sources. 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
3079depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None,
3080then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the
3081SetClipRectangles 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
3094typedef 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
3113typedef 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
3119typedef 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
3126typedef 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
3132typedef 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
3139typedef enum xcb_fill_rule_t {
3140 XCB_FILL_RULE_EVEN_ODD = 0,
3141 XCB_FILL_RULE_WINDING = 1
3142} xcb_fill_rule_t;
3143
3144typedef 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
3149typedef 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 **/
3160typedef 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 **/
3175typedef 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 **/
3189typedef 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 **/
3204typedef 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
3213typedef 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 **/
3226typedef 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 **/
3241typedef 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 **/
3254typedef 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 **/
3271typedef 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 **/
3292typedef 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
3308typedef 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 **/
3323typedef 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 **/
3337typedef 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 **/
3348typedef 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 **/
3358typedef 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 **/
3370typedef 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 **/
3384typedef 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 **/
3398typedef 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
3406typedef 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 **/
3418typedef 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 **/
3435typedef 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 **/
3449typedef 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
3457typedef 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 **/
3469typedef 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 **/
3487typedef 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 **/
3497typedef 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 **/
3512typedef 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 **/
3527typedef 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 **/
3543typedef 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 **/
3559typedef 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 **/
3575typedef 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
3585typedef 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 **/
3596typedef 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 **/
3611typedef 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 **/
3624typedef 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 **/
3638typedef 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 **/
3651typedef 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 **/
3661typedef 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 **/
3671typedef 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 **/
3681typedef 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 **/
3693typedef 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 **/
3703typedef 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 **/
3717typedef 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 **/
3732typedef 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 **/
3742typedef 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 **/
3754typedef 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 **/
3771typedef 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 **/
3781typedef 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 **/
3793typedef 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 **/
3806typedef 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 **/
3816typedef 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 **/
3830typedef 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 **/
3849typedef 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
3857typedef 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 **/
3866typedef 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 **/
3878typedef 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 **/
3890typedef 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 **/
3903typedef 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 **/
3916typedef 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 **/
3926typedef 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 **/
3935typedef 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 **/
3945typedef 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 **/
3955typedef 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 **/
3967typedef 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 **/
3977typedef 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 **/
3989typedef 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
4002typedef 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 **/
4012typedef 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
4029typedef 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 **/
4039typedef 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 **/
4062typedef 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 **/
4075typedef 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
4088typedef 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 **/
4097typedef 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 **/
4107typedef 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 **/
4119typedef 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 **/
4131typedef 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 **/
4141typedef 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 **/
4152typedef 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 **/
4166typedef 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 **/
4176typedef 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 **/
4185typedef 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 **/
4199typedef 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 **/
4211typedef 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 **/
4221typedef 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 **/
4232typedef 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
4240typedef 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
4251typedef enum xcb_led_mode_t {
4252 XCB_LED_MODE_OFF = 0,
4253 XCB_LED_MODE_ON = 1
4254} xcb_led_mode_t;
4255
4256typedef 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 **/
4268typedef 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 **/
4278typedef 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 **/
4288typedef 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 **/
4297typedef 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 **/
4317typedef 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 **/
4329typedef 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 **/
4343typedef 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 **/
4353typedef 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 **/
4362typedef 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
4373typedef 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
4379typedef 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 **/
4391typedef 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 **/
4404typedef 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 **/
4414typedef 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 **/
4423typedef 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
4435typedef enum xcb_host_mode_t {
4436 XCB_HOST_MODE_INSERT = 0,
4437 XCB_HOST_MODE_DELETE = 1
4438} xcb_host_mode_t;
4439
4440typedef 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 **/
4454typedef 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 **/
4466typedef 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 **/
4475typedef 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 **/
4484typedef 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 **/
4494typedef 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 **/
4503typedef 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
4512typedef 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 **/
4523typedef 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
4529typedef 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 **/
4541typedef 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
4547typedef 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 **/
4557typedef 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 **/
4570typedef 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
4579typedef 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 **/
4590typedef 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
4596typedef 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 **/
4605typedef 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 **/
4615typedef 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 **/
4624typedef 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 **/
4634typedef 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 **/
4644typedef 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 **/
4653typedef 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
4661typedef 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 **/
4675typedef 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 **/
4685typedef 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 **/
4694typedef 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 **/
4704typedef 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 **/
4714typedef 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 **/
4723typedef 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 **/
4737typedef 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
4761void
4762xcb_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
4783xcb_generic_iterator_t
4784xcb_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
4804void
4805xcb_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
4826xcb_generic_iterator_t
4827xcb_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
4847void
4848xcb_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
4869xcb_generic_iterator_t
4870xcb_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
4890void
4891xcb_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
4912xcb_generic_iterator_t
4913xcb_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
4933void
4934xcb_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
4955xcb_generic_iterator_t
4956xcb_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
4976void
4977xcb_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
4998xcb_generic_iterator_t
4999xcb_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
5019void
5020xcb_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
5041xcb_generic_iterator_t
5042xcb_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
5062void
5063xcb_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
5084xcb_generic_iterator_t
5085xcb_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
5105void
5106xcb_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
5127xcb_generic_iterator_t
5128xcb_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
5148void
5149xcb_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
5170xcb_generic_iterator_t
5171xcb_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
5191void
5192xcb_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
5213xcb_generic_iterator_t
5214xcb_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
5234void
5235xcb_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
5256xcb_generic_iterator_t
5257xcb_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
5277void
5278xcb_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
5299xcb_generic_iterator_t
5300xcb_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