Home | History | Annotate | Line # | Download | only in files
xproto.h revision 1.1.12.2
      1 /*
      2  * This file generated automatically from xproto.xml by c_client.py.
      3  * Edit at your peril.
      4  */
      5 
      6 /**
      7  * @defgroup XCB__API XCB  API
      8  * @brief  XCB Protocol Implementation.
      9  * @{
     10  **/
     11 
     12 #ifndef __XPROTO_H
     13 #define __XPROTO_H
     14 
     15 #include "xcb.h"
     16 
     17 #ifdef __cplusplus
     18 extern "C" {
     19 #endif
     20 
     21 /**
     22  * @brief xcb_char2b_t
     23  **/
     24 typedef struct xcb_char2b_t {
     25     uint8_t byte1; /**<  */
     26     uint8_t byte2; /**<  */
     27 } xcb_char2b_t;
     28 
     29 /**
     30  * @brief xcb_char2b_iterator_t
     31  **/
     32 typedef struct xcb_char2b_iterator_t {
     33     xcb_char2b_t *data; /**<  */
     34     int           rem; /**<  */
     35     int           index; /**<  */
     36 } xcb_char2b_iterator_t;
     37 
     38 typedef uint32_t xcb_window_t;
     39 
     40 /**
     41  * @brief xcb_window_iterator_t
     42  **/
     43 typedef struct xcb_window_iterator_t {
     44     xcb_window_t *data; /**<  */
     45     int           rem; /**<  */
     46     int           index; /**<  */
     47 } xcb_window_iterator_t;
     48 
     49 typedef uint32_t xcb_pixmap_t;
     50 
     51 /**
     52  * @brief xcb_pixmap_iterator_t
     53  **/
     54 typedef struct xcb_pixmap_iterator_t {
     55     xcb_pixmap_t *data; /**<  */
     56     int           rem; /**<  */
     57     int           index; /**<  */
     58 } xcb_pixmap_iterator_t;
     59 
     60 typedef uint32_t xcb_cursor_t;
     61 
     62 /**
     63  * @brief xcb_cursor_iterator_t
     64  **/
     65 typedef struct xcb_cursor_iterator_t {
     66     xcb_cursor_t *data; /**<  */
     67     int           rem; /**<  */
     68     int           index; /**<  */
     69 } xcb_cursor_iterator_t;
     70 
     71 typedef uint32_t xcb_font_t;
     72 
     73 /**
     74  * @brief xcb_font_iterator_t
     75  **/
     76 typedef struct xcb_font_iterator_t {
     77     xcb_font_t *data; /**<  */
     78     int         rem; /**<  */
     79     int         index; /**<  */
     80 } xcb_font_iterator_t;
     81 
     82 typedef uint32_t xcb_gcontext_t;
     83 
     84 /**
     85  * @brief xcb_gcontext_iterator_t
     86  **/
     87 typedef struct xcb_gcontext_iterator_t {
     88     xcb_gcontext_t *data; /**<  */
     89     int             rem; /**<  */
     90     int             index; /**<  */
     91 } xcb_gcontext_iterator_t;
     92 
     93 typedef uint32_t xcb_colormap_t;
     94 
     95 /**
     96  * @brief xcb_colormap_iterator_t
     97  **/
     98 typedef struct xcb_colormap_iterator_t {
     99     xcb_colormap_t *data; /**<  */
    100     int             rem; /**<  */
    101     int             index; /**<  */
    102 } xcb_colormap_iterator_t;
    103 
    104 typedef uint32_t xcb_atom_t;
    105 
    106 /**
    107  * @brief xcb_atom_iterator_t
    108  **/
    109 typedef struct xcb_atom_iterator_t {
    110     xcb_atom_t *data; /**<  */
    111     int         rem; /**<  */
    112     int         index; /**<  */
    113 } xcb_atom_iterator_t;
    114 
    115 typedef uint32_t xcb_drawable_t;
    116 
    117 /**
    118  * @brief xcb_drawable_iterator_t
    119  **/
    120 typedef struct xcb_drawable_iterator_t {
    121     xcb_drawable_t *data; /**<  */
    122     int             rem; /**<  */
    123     int             index; /**<  */
    124 } xcb_drawable_iterator_t;
    125 
    126 typedef uint32_t xcb_fontable_t;
    127 
    128 /**
    129  * @brief xcb_fontable_iterator_t
    130  **/
    131 typedef struct xcb_fontable_iterator_t {
    132     xcb_fontable_t *data; /**<  */
    133     int             rem; /**<  */
    134     int             index; /**<  */
    135 } xcb_fontable_iterator_t;
    136 
    137 typedef uint32_t xcb_visualid_t;
    138 
    139 /**
    140  * @brief xcb_visualid_iterator_t
    141  **/
    142 typedef struct xcb_visualid_iterator_t {
    143     xcb_visualid_t *data; /**<  */
    144     int             rem; /**<  */
    145     int             index; /**<  */
    146 } xcb_visualid_iterator_t;
    147 
    148 typedef uint32_t xcb_timestamp_t;
    149 
    150 /**
    151  * @brief xcb_timestamp_iterator_t
    152  **/
    153 typedef struct xcb_timestamp_iterator_t {
    154     xcb_timestamp_t *data; /**<  */
    155     int              rem; /**<  */
    156     int              index; /**<  */
    157 } xcb_timestamp_iterator_t;
    158 
    159 typedef uint32_t xcb_keysym_t;
    160 
    161 /**
    162  * @brief xcb_keysym_iterator_t
    163  **/
    164 typedef struct xcb_keysym_iterator_t {
    165     xcb_keysym_t *data; /**<  */
    166     int           rem; /**<  */
    167     int           index; /**<  */
    168 } xcb_keysym_iterator_t;
    169 
    170 typedef uint8_t xcb_keycode_t;
    171 
    172 /**
    173  * @brief xcb_keycode_iterator_t
    174  **/
    175 typedef struct xcb_keycode_iterator_t {
    176     xcb_keycode_t *data; /**<  */
    177     int            rem; /**<  */
    178     int            index; /**<  */
    179 } xcb_keycode_iterator_t;
    180 
    181 typedef uint8_t xcb_button_t;
    182 
    183 /**
    184  * @brief xcb_button_iterator_t
    185  **/
    186 typedef struct xcb_button_iterator_t {
    187     xcb_button_t *data; /**<  */
    188     int           rem; /**<  */
    189     int           index; /**<  */
    190 } xcb_button_iterator_t;
    191 
    192 /**
    193  * @brief xcb_point_t
    194  **/
    195 typedef struct xcb_point_t {
    196     int16_t x; /**<  */
    197     int16_t y; /**<  */
    198 } xcb_point_t;
    199 
    200 /**
    201  * @brief xcb_point_iterator_t
    202  **/
    203 typedef struct xcb_point_iterator_t {
    204     xcb_point_t *data; /**<  */
    205     int          rem; /**<  */
    206     int          index; /**<  */
    207 } xcb_point_iterator_t;
    208 
    209 /**
    210  * @brief xcb_rectangle_t
    211  **/
    212 typedef struct xcb_rectangle_t {
    213     int16_t  x; /**<  */
    214     int16_t  y; /**<  */
    215     uint16_t width; /**<  */
    216     uint16_t height; /**<  */
    217 } xcb_rectangle_t;
    218 
    219 /**
    220  * @brief xcb_rectangle_iterator_t
    221  **/
    222 typedef struct xcb_rectangle_iterator_t {
    223     xcb_rectangle_t *data; /**<  */
    224     int              rem; /**<  */
    225     int              index; /**<  */
    226 } xcb_rectangle_iterator_t;
    227 
    228 /**
    229  * @brief xcb_arc_t
    230  **/
    231 typedef struct xcb_arc_t {
    232     int16_t  x; /**<  */
    233     int16_t  y; /**<  */
    234     uint16_t width; /**<  */
    235     uint16_t height; /**<  */
    236     int16_t  angle1; /**<  */
    237     int16_t  angle2; /**<  */
    238 } xcb_arc_t;
    239 
    240 /**
    241  * @brief xcb_arc_iterator_t
    242  **/
    243 typedef struct xcb_arc_iterator_t {
    244     xcb_arc_t *data; /**<  */
    245     int        rem; /**<  */
    246     int        index; /**<  */
    247 } xcb_arc_iterator_t;
    248 
    249 /**
    250  * @brief xcb_format_t
    251  **/
    252 typedef struct xcb_format_t {
    253     uint8_t depth; /**<  */
    254     uint8_t bits_per_pixel; /**<  */
    255     uint8_t scanline_pad; /**<  */
    256     uint8_t pad0[5]; /**<  */
    257 } xcb_format_t;
    258 
    259 /**
    260  * @brief xcb_format_iterator_t
    261  **/
    262 typedef struct xcb_format_iterator_t {
    263     xcb_format_t *data; /**<  */
    264     int           rem; /**<  */
    265     int           index; /**<  */
    266 } xcb_format_iterator_t;
    267 
    268 typedef enum xcb_visual_class_t {
    269     XCB_VISUAL_CLASS_STATIC_GRAY = 0,
    270     XCB_VISUAL_CLASS_GRAY_SCALE = 1,
    271     XCB_VISUAL_CLASS_STATIC_COLOR = 2,
    272     XCB_VISUAL_CLASS_PSEUDO_COLOR = 3,
    273     XCB_VISUAL_CLASS_TRUE_COLOR = 4,
    274     XCB_VISUAL_CLASS_DIRECT_COLOR = 5
    275 } xcb_visual_class_t;
    276 
    277 /**
    278  * @brief xcb_visualtype_t
    279  **/
    280 typedef struct xcb_visualtype_t {
    281     xcb_visualid_t visual_id; /**<  */
    282     uint8_t        _class; /**<  */
    283     uint8_t        bits_per_rgb_value; /**<  */
    284     uint16_t       colormap_entries; /**<  */
    285     uint32_t       red_mask; /**<  */
    286     uint32_t       green_mask; /**<  */
    287     uint32_t       blue_mask; /**<  */
    288     uint8_t        pad0[4]; /**<  */
    289 } xcb_visualtype_t;
    290 
    291 /**
    292  * @brief xcb_visualtype_iterator_t
    293  **/
    294 typedef struct xcb_visualtype_iterator_t {
    295     xcb_visualtype_t *data; /**<  */
    296     int               rem; /**<  */
    297     int               index; /**<  */
    298 } xcb_visualtype_iterator_t;
    299 
    300 /**
    301  * @brief xcb_depth_t
    302  **/
    303 typedef struct xcb_depth_t {
    304     uint8_t  depth; /**<  */
    305     uint8_t  pad0; /**<  */
    306     uint16_t visuals_len; /**<  */
    307     uint8_t  pad1[4]; /**<  */
    308 } xcb_depth_t;
    309 
    310 /**
    311  * @brief xcb_depth_iterator_t
    312  **/
    313 typedef struct xcb_depth_iterator_t {
    314     xcb_depth_t *data; /**<  */
    315     int          rem; /**<  */
    316     int          index; /**<  */
    317 } xcb_depth_iterator_t;
    318 
    319 typedef enum xcb_event_mask_t {
    320     XCB_EVENT_MASK_NO_EVENT = 0,
    321     XCB_EVENT_MASK_KEY_PRESS = 1,
    322     XCB_EVENT_MASK_KEY_RELEASE = 2,
    323     XCB_EVENT_MASK_BUTTON_PRESS = 4,
    324     XCB_EVENT_MASK_BUTTON_RELEASE = 8,
    325     XCB_EVENT_MASK_ENTER_WINDOW = 16,
    326     XCB_EVENT_MASK_LEAVE_WINDOW = 32,
    327     XCB_EVENT_MASK_POINTER_MOTION = 64,
    328     XCB_EVENT_MASK_POINTER_MOTION_HINT = 128,
    329     XCB_EVENT_MASK_BUTTON_1_MOTION = 256,
    330     XCB_EVENT_MASK_BUTTON_2_MOTION = 512,
    331     XCB_EVENT_MASK_BUTTON_3_MOTION = 1024,
    332     XCB_EVENT_MASK_BUTTON_4_MOTION = 2048,
    333     XCB_EVENT_MASK_BUTTON_5_MOTION = 4096,
    334     XCB_EVENT_MASK_BUTTON_MOTION = 8192,
    335     XCB_EVENT_MASK_KEYMAP_STATE = 16384,
    336     XCB_EVENT_MASK_EXPOSURE = 32768,
    337     XCB_EVENT_MASK_VISIBILITY_CHANGE = 65536,
    338     XCB_EVENT_MASK_STRUCTURE_NOTIFY = 131072,
    339     XCB_EVENT_MASK_RESIZE_REDIRECT = 262144,
    340     XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY = 524288,
    341     XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT = 1048576,
    342     XCB_EVENT_MASK_FOCUS_CHANGE = 2097152,
    343     XCB_EVENT_MASK_PROPERTY_CHANGE = 4194304,
    344     XCB_EVENT_MASK_COLOR_MAP_CHANGE = 8388608,
    345     XCB_EVENT_MASK_OWNER_GRAB_BUTTON = 16777216
    346 } xcb_event_mask_t;
    347 
    348 typedef enum xcb_backing_store_t {
    349     XCB_BACKING_STORE_NOT_USEFUL = 0,
    350     XCB_BACKING_STORE_WHEN_MAPPED = 1,
    351     XCB_BACKING_STORE_ALWAYS = 2
    352 } xcb_backing_store_t;
    353 
    354 /**
    355  * @brief xcb_screen_t
    356  **/
    357 typedef struct xcb_screen_t {
    358     xcb_window_t   root; /**<  */
    359     xcb_colormap_t default_colormap; /**<  */
    360     uint32_t       white_pixel; /**<  */
    361     uint32_t       black_pixel; /**<  */
    362     uint32_t       current_input_masks; /**<  */
    363     uint16_t       width_in_pixels; /**<  */
    364     uint16_t       height_in_pixels; /**<  */
    365     uint16_t       width_in_millimeters; /**<  */
    366     uint16_t       height_in_millimeters; /**<  */
    367     uint16_t       min_installed_maps; /**<  */
    368     uint16_t       max_installed_maps; /**<  */
    369     xcb_visualid_t root_visual; /**<  */
    370     uint8_t        backing_stores; /**<  */
    371     uint8_t        save_unders; /**<  */
    372     uint8_t        root_depth; /**<  */
    373     uint8_t        allowed_depths_len; /**<  */
    374 } xcb_screen_t;
    375 
    376 /**
    377  * @brief xcb_screen_iterator_t
    378  **/
    379 typedef struct xcb_screen_iterator_t {
    380     xcb_screen_t *data; /**<  */
    381     int           rem; /**<  */
    382     int           index; /**<  */
    383 } xcb_screen_iterator_t;
    384 
    385 /**
    386  * @brief xcb_setup_request_t
    387  **/
    388 typedef struct xcb_setup_request_t {
    389     uint8_t  byte_order; /**<  */
    390     uint8_t  pad0; /**<  */
    391     uint16_t protocol_major_version; /**<  */
    392     uint16_t protocol_minor_version; /**<  */
    393     uint16_t authorization_protocol_name_len; /**<  */
    394     uint16_t authorization_protocol_data_len; /**<  */
    395     uint8_t  pad1[2]; /**<  */
    396 } xcb_setup_request_t;
    397 
    398 /**
    399  * @brief xcb_setup_request_iterator_t
    400  **/
    401 typedef struct xcb_setup_request_iterator_t {
    402     xcb_setup_request_t *data; /**<  */
    403     int                  rem; /**<  */
    404     int                  index; /**<  */
    405 } xcb_setup_request_iterator_t;
    406 
    407 /**
    408  * @brief xcb_setup_failed_t
    409  **/
    410 typedef struct xcb_setup_failed_t {
    411     uint8_t  status; /**<  */
    412     uint8_t  reason_len; /**<  */
    413     uint16_t protocol_major_version; /**<  */
    414     uint16_t protocol_minor_version; /**<  */
    415     uint16_t length; /**<  */
    416 } xcb_setup_failed_t;
    417 
    418 /**
    419  * @brief xcb_setup_failed_iterator_t
    420  **/
    421 typedef struct xcb_setup_failed_iterator_t {
    422     xcb_setup_failed_t *data; /**<  */
    423     int                 rem; /**<  */
    424     int                 index; /**<  */
    425 } xcb_setup_failed_iterator_t;
    426 
    427 /**
    428  * @brief xcb_setup_authenticate_t
    429  **/
    430 typedef struct xcb_setup_authenticate_t {
    431     uint8_t  status; /**<  */
    432     uint8_t  pad0[5]; /**<  */
    433     uint16_t length; /**<  */
    434 } xcb_setup_authenticate_t;
    435 
    436 /**
    437  * @brief xcb_setup_authenticate_iterator_t
    438  **/
    439 typedef struct xcb_setup_authenticate_iterator_t {
    440     xcb_setup_authenticate_t *data; /**<  */
    441     int                       rem; /**<  */
    442     int                       index; /**<  */
    443 } xcb_setup_authenticate_iterator_t;
    444 
    445 typedef enum xcb_image_order_t {
    446     XCB_IMAGE_ORDER_LSB_FIRST = 0,
    447     XCB_IMAGE_ORDER_MSB_FIRST = 1
    448 } xcb_image_order_t;
    449 
    450 /**
    451  * @brief xcb_setup_t
    452  **/
    453 typedef struct xcb_setup_t {
    454     uint8_t       status; /**<  */
    455     uint8_t       pad0; /**<  */
    456     uint16_t      protocol_major_version; /**<  */
    457     uint16_t      protocol_minor_version; /**<  */
    458     uint16_t      length; /**<  */
    459     uint32_t      release_number; /**<  */
    460     uint32_t      resource_id_base; /**<  */
    461     uint32_t      resource_id_mask; /**<  */
    462     uint32_t      motion_buffer_size; /**<  */
    463     uint16_t      vendor_len; /**<  */
    464     uint16_t      maximum_request_length; /**<  */
    465     uint8_t       roots_len; /**<  */
    466     uint8_t       pixmap_formats_len; /**<  */
    467     uint8_t       image_byte_order; /**<  */
    468     uint8_t       bitmap_format_bit_order; /**<  */
    469     uint8_t       bitmap_format_scanline_unit; /**<  */
    470     uint8_t       bitmap_format_scanline_pad; /**<  */
    471     xcb_keycode_t min_keycode; /**<  */
    472     xcb_keycode_t max_keycode; /**<  */
    473     uint8_t       pad1[4]; /**<  */
    474 } xcb_setup_t;
    475 
    476 /**
    477  * @brief xcb_setup_iterator_t
    478  **/
    479 typedef struct xcb_setup_iterator_t {
    480     xcb_setup_t *data; /**<  */
    481     int          rem; /**<  */
    482     int          index; /**<  */
    483 } xcb_setup_iterator_t;
    484 
    485 typedef enum xcb_mod_mask_t {
    486     XCB_MOD_MASK_SHIFT = 1,
    487     XCB_MOD_MASK_LOCK = 2,
    488     XCB_MOD_MASK_CONTROL = 4,
    489     XCB_MOD_MASK_1 = 8,
    490     XCB_MOD_MASK_2 = 16,
    491     XCB_MOD_MASK_3 = 32,
    492     XCB_MOD_MASK_4 = 64,
    493     XCB_MOD_MASK_5 = 128,
    494     XCB_MOD_MASK_ANY = 32768
    495 } xcb_mod_mask_t;
    496 
    497 typedef enum xcb_key_but_mask_t {
    498     XCB_KEY_BUT_MASK_SHIFT = 1,
    499     XCB_KEY_BUT_MASK_LOCK = 2,
    500     XCB_KEY_BUT_MASK_CONTROL = 4,
    501     XCB_KEY_BUT_MASK_MOD_1 = 8,
    502     XCB_KEY_BUT_MASK_MOD_2 = 16,
    503     XCB_KEY_BUT_MASK_MOD_3 = 32,
    504     XCB_KEY_BUT_MASK_MOD_4 = 64,
    505     XCB_KEY_BUT_MASK_MOD_5 = 128,
    506     XCB_KEY_BUT_MASK_BUTTON_1 = 256,
    507     XCB_KEY_BUT_MASK_BUTTON_2 = 512,
    508     XCB_KEY_BUT_MASK_BUTTON_3 = 1024,
    509     XCB_KEY_BUT_MASK_BUTTON_4 = 2048,
    510     XCB_KEY_BUT_MASK_BUTTON_5 = 4096
    511 } xcb_key_but_mask_t;
    512 
    513 typedef enum xcb_window_enum_t {
    514     XCB_WINDOW_NONE = 0
    515 } xcb_window_enum_t;
    516 
    517 /** Opcode for xcb_key_press. */
    518 #define XCB_KEY_PRESS 2
    519 
    520 /**
    521  * @brief xcb_key_press_event_t
    522  **/
    523 typedef struct xcb_key_press_event_t {
    524     uint8_t         response_type; /**<  */
    525     xcb_keycode_t   detail; /**<  */
    526     uint16_t        sequence; /**<  */
    527     xcb_timestamp_t time; /**<  */
    528     xcb_window_t    root; /**<  */
    529     xcb_window_t    event; /**<  */
    530     xcb_window_t    child; /**<  */
    531     int16_t         root_x; /**<  */
    532     int16_t         root_y; /**<  */
    533     int16_t         event_x; /**<  */
    534     int16_t         event_y; /**<  */
    535     uint16_t        state; /**<  */
    536     uint8_t         same_screen; /**<  */
    537     uint8_t         pad0; /**<  */
    538 } xcb_key_press_event_t;
    539 
    540 /** Opcode for xcb_key_release. */
    541 #define XCB_KEY_RELEASE 3
    542 
    543 typedef xcb_key_press_event_t xcb_key_release_event_t;
    544 
    545 typedef enum xcb_button_mask_t {
    546     XCB_BUTTON_MASK_1 = 256,
    547     XCB_BUTTON_MASK_2 = 512,
    548     XCB_BUTTON_MASK_3 = 1024,
    549     XCB_BUTTON_MASK_4 = 2048,
    550     XCB_BUTTON_MASK_5 = 4096,
    551     XCB_BUTTON_MASK_ANY = 32768
    552 } xcb_button_mask_t;
    553 
    554 /** Opcode for xcb_button_press. */
    555 #define XCB_BUTTON_PRESS 4
    556 
    557 /**
    558  * @brief xcb_button_press_event_t
    559  **/
    560 typedef struct xcb_button_press_event_t {
    561     uint8_t         response_type; /**<  */
    562     xcb_button_t    detail; /**<  */
    563     uint16_t        sequence; /**<  */
    564     xcb_timestamp_t time; /**<  */
    565     xcb_window_t    root; /**<  */
    566     xcb_window_t    event; /**<  */
    567     xcb_window_t    child; /**<  */
    568     int16_t         root_x; /**<  */
    569     int16_t         root_y; /**<  */
    570     int16_t         event_x; /**<  */
    571     int16_t         event_y; /**<  */
    572     uint16_t        state; /**<  */
    573     uint8_t         same_screen; /**<  */
    574     uint8_t         pad0; /**<  */
    575 } xcb_button_press_event_t;
    576 
    577 /** Opcode for xcb_button_release. */
    578 #define XCB_BUTTON_RELEASE 5
    579 
    580 typedef xcb_button_press_event_t xcb_button_release_event_t;
    581 
    582 typedef enum xcb_motion_t {
    583     XCB_MOTION_NORMAL = 0,
    584     XCB_MOTION_HINT = 1
    585 } xcb_motion_t;
    586 
    587 /** Opcode for xcb_motion_notify. */
    588 #define XCB_MOTION_NOTIFY 6
    589 
    590 /**
    591  * @brief xcb_motion_notify_event_t
    592  **/
    593 typedef struct xcb_motion_notify_event_t {
    594     uint8_t         response_type; /**<  */
    595     uint8_t         detail; /**<  */
    596     uint16_t        sequence; /**<  */
    597     xcb_timestamp_t time; /**<  */
    598     xcb_window_t    root; /**<  */
    599     xcb_window_t    event; /**<  */
    600     xcb_window_t    child; /**<  */
    601     int16_t         root_x; /**<  */
    602     int16_t         root_y; /**<  */
    603     int16_t         event_x; /**<  */
    604     int16_t         event_y; /**<  */
    605     uint16_t        state; /**<  */
    606     uint8_t         same_screen; /**<  */
    607     uint8_t         pad0; /**<  */
    608 } xcb_motion_notify_event_t;
    609 
    610 typedef enum xcb_notify_detail_t {
    611     XCB_NOTIFY_DETAIL_ANCESTOR = 0,
    612     XCB_NOTIFY_DETAIL_VIRTUAL = 1,
    613     XCB_NOTIFY_DETAIL_INFERIOR = 2,
    614     XCB_NOTIFY_DETAIL_NONLINEAR = 3,
    615     XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
    616     XCB_NOTIFY_DETAIL_POINTER = 5,
    617     XCB_NOTIFY_DETAIL_POINTER_ROOT = 6,
    618     XCB_NOTIFY_DETAIL_NONE = 7
    619 } xcb_notify_detail_t;
    620 
    621 typedef enum xcb_notify_mode_t {
    622     XCB_NOTIFY_MODE_NORMAL = 0,
    623     XCB_NOTIFY_MODE_GRAB = 1,
    624     XCB_NOTIFY_MODE_UNGRAB = 2,
    625     XCB_NOTIFY_MODE_WHILE_GRABBED = 3
    626 } xcb_notify_mode_t;
    627 
    628 /** Opcode for xcb_enter_notify. */
    629 #define XCB_ENTER_NOTIFY 7
    630 
    631 /**
    632  * @brief xcb_enter_notify_event_t
    633  **/
    634 typedef struct xcb_enter_notify_event_t {
    635     uint8_t         response_type; /**<  */
    636     uint8_t         detail; /**<  */
    637     uint16_t        sequence; /**<  */
    638     xcb_timestamp_t time; /**<  */
    639     xcb_window_t    root; /**<  */
    640     xcb_window_t    event; /**<  */
    641     xcb_window_t    child; /**<  */
    642     int16_t         root_x; /**<  */
    643     int16_t         root_y; /**<  */
    644     int16_t         event_x; /**<  */
    645     int16_t         event_y; /**<  */
    646     uint16_t        state; /**<  */
    647     uint8_t         mode; /**<  */
    648     uint8_t         same_screen_focus; /**<  */
    649 } xcb_enter_notify_event_t;
    650 
    651 /** Opcode for xcb_leave_notify. */
    652 #define XCB_LEAVE_NOTIFY 8
    653 
    654 typedef xcb_enter_notify_event_t xcb_leave_notify_event_t;
    655 
    656 /** Opcode for xcb_focus_in. */
    657 #define XCB_FOCUS_IN 9
    658 
    659 /**
    660  * @brief xcb_focus_in_event_t
    661  **/
    662 typedef struct xcb_focus_in_event_t {
    663     uint8_t      response_type; /**<  */
    664     uint8_t      detail; /**<  */
    665     uint16_t     sequence; /**<  */
    666     xcb_window_t event; /**<  */
    667     uint8_t      mode; /**<  */
    668     uint8_t      pad0[3]; /**<  */
    669 } xcb_focus_in_event_t;
    670 
    671 /** Opcode for xcb_focus_out. */
    672 #define XCB_FOCUS_OUT 10
    673 
    674 typedef xcb_focus_in_event_t xcb_focus_out_event_t;
    675 
    676 /** Opcode for xcb_keymap_notify. */
    677 #define XCB_KEYMAP_NOTIFY 11
    678 
    679 /**
    680  * @brief xcb_keymap_notify_event_t
    681  **/
    682 typedef struct xcb_keymap_notify_event_t {
    683     uint8_t response_type; /**<  */
    684     uint8_t keys[31]; /**<  */
    685 } xcb_keymap_notify_event_t;
    686 
    687 /** Opcode for xcb_expose. */
    688 #define XCB_EXPOSE 12
    689 
    690 /**
    691  * @brief xcb_expose_event_t
    692  **/
    693 typedef struct xcb_expose_event_t {
    694     uint8_t      response_type; /**<  */
    695     uint8_t      pad0; /**<  */
    696     uint16_t     sequence; /**<  */
    697     xcb_window_t window; /**<  */
    698     uint16_t     x; /**<  */
    699     uint16_t     y; /**<  */
    700     uint16_t     width; /**<  */
    701     uint16_t     height; /**<  */
    702     uint16_t     count; /**<  */
    703     uint8_t      pad1[2]; /**<  */
    704 } xcb_expose_event_t;
    705 
    706 /** Opcode for xcb_graphics_exposure. */
    707 #define XCB_GRAPHICS_EXPOSURE 13
    708 
    709 /**
    710  * @brief xcb_graphics_exposure_event_t
    711  **/
    712 typedef struct xcb_graphics_exposure_event_t {
    713     uint8_t        response_type; /**<  */
    714     uint8_t        pad0; /**<  */
    715     uint16_t       sequence; /**<  */
    716     xcb_drawable_t drawable; /**<  */
    717     uint16_t       x; /**<  */
    718     uint16_t       y; /**<  */
    719     uint16_t       width; /**<  */
    720     uint16_t       height; /**<  */
    721     uint16_t       minor_opcode; /**<  */
    722     uint16_t       count; /**<  */
    723     uint8_t        major_opcode; /**<  */
    724     uint8_t        pad1[3]; /**<  */
    725 } xcb_graphics_exposure_event_t;
    726 
    727 /** Opcode for xcb_no_exposure. */
    728 #define XCB_NO_EXPOSURE 14
    729 
    730 /**
    731  * @brief xcb_no_exposure_event_t
    732  **/
    733 typedef struct xcb_no_exposure_event_t {
    734     uint8_t        response_type; /**<  */
    735     uint8_t        pad0; /**<  */
    736     uint16_t       sequence; /**<  */
    737     xcb_drawable_t drawable; /**<  */
    738     uint16_t       minor_opcode; /**<  */
    739     uint8_t        major_opcode; /**<  */
    740     uint8_t        pad1; /**<  */
    741 } xcb_no_exposure_event_t;
    742 
    743 typedef enum xcb_visibility_t {
    744     XCB_VISIBILITY_UNOBSCURED = 0,
    745     XCB_VISIBILITY_PARTIALLY_OBSCURED = 1,
    746     XCB_VISIBILITY_FULLY_OBSCURED = 2
    747 } xcb_visibility_t;
    748 
    749 /** Opcode for xcb_visibility_notify. */
    750 #define XCB_VISIBILITY_NOTIFY 15
    751 
    752 /**
    753  * @brief xcb_visibility_notify_event_t
    754  **/
    755 typedef struct xcb_visibility_notify_event_t {
    756     uint8_t      response_type; /**<  */
    757     uint8_t      pad0; /**<  */
    758     uint16_t     sequence; /**<  */
    759     xcb_window_t window; /**<  */
    760     uint8_t      state; /**<  */
    761     uint8_t      pad1[3]; /**<  */
    762 } xcb_visibility_notify_event_t;
    763 
    764 /** Opcode for xcb_create_notify. */
    765 #define XCB_CREATE_NOTIFY 16
    766 
    767 /**
    768  * @brief xcb_create_notify_event_t
    769  **/
    770 typedef struct xcb_create_notify_event_t {
    771     uint8_t      response_type; /**<  */
    772     uint8_t      pad0; /**<  */
    773     uint16_t     sequence; /**<  */
    774     xcb_window_t parent; /**<  */
    775     xcb_window_t window; /**<  */
    776     int16_t      x; /**<  */
    777     int16_t      y; /**<  */
    778     uint16_t     width; /**<  */
    779     uint16_t     height; /**<  */
    780     uint16_t     border_width; /**<  */
    781     uint8_t      override_redirect; /**<  */
    782     uint8_t      pad1; /**<  */
    783 } xcb_create_notify_event_t;
    784 
    785 /** Opcode for xcb_destroy_notify. */
    786 #define XCB_DESTROY_NOTIFY 17
    787 
    788 /**
    789  * @brief xcb_destroy_notify_event_t
    790  **/
    791 typedef struct xcb_destroy_notify_event_t {
    792     uint8_t      response_type; /**<  */
    793     uint8_t      pad0; /**<  */
    794     uint16_t     sequence; /**<  */
    795     xcb_window_t event; /**<  */
    796     xcb_window_t window; /**<  */
    797 } xcb_destroy_notify_event_t;
    798 
    799 /** Opcode for xcb_unmap_notify. */
    800 #define XCB_UNMAP_NOTIFY 18
    801 
    802 /**
    803  * @brief xcb_unmap_notify_event_t
    804  **/
    805 typedef struct xcb_unmap_notify_event_t {
    806     uint8_t      response_type; /**<  */
    807     uint8_t      pad0; /**<  */
    808     uint16_t     sequence; /**<  */
    809     xcb_window_t event; /**<  */
    810     xcb_window_t window; /**<  */
    811     uint8_t      from_configure; /**<  */
    812     uint8_t      pad1[3]; /**<  */
    813 } xcb_unmap_notify_event_t;
    814 
    815 /** Opcode for xcb_map_notify. */
    816 #define XCB_MAP_NOTIFY 19
    817 
    818 /**
    819  * @brief xcb_map_notify_event_t
    820  **/
    821 typedef struct xcb_map_notify_event_t {
    822     uint8_t      response_type; /**<  */
    823     uint8_t      pad0; /**<  */
    824     uint16_t     sequence; /**<  */
    825     xcb_window_t event; /**<  */
    826     xcb_window_t window; /**<  */
    827     uint8_t      override_redirect; /**<  */
    828     uint8_t      pad1[3]; /**<  */
    829 } xcb_map_notify_event_t;
    830 
    831 /** Opcode for xcb_map_request. */
    832 #define XCB_MAP_REQUEST 20
    833 
    834 /**
    835  * @brief xcb_map_request_event_t
    836  **/
    837 typedef struct xcb_map_request_event_t {
    838     uint8_t      response_type; /**<  */
    839     uint8_t      pad0; /**<  */
    840     uint16_t     sequence; /**<  */
    841     xcb_window_t parent; /**<  */
    842     xcb_window_t window; /**<  */
    843 } xcb_map_request_event_t;
    844 
    845 /** Opcode for xcb_reparent_notify. */
    846 #define XCB_REPARENT_NOTIFY 21
    847 
    848 /**
    849  * @brief xcb_reparent_notify_event_t
    850  **/
    851 typedef struct xcb_reparent_notify_event_t {
    852     uint8_t      response_type; /**<  */
    853     uint8_t      pad0; /**<  */
    854     uint16_t     sequence; /**<  */
    855     xcb_window_t event; /**<  */
    856     xcb_window_t window; /**<  */
    857     xcb_window_t parent; /**<  */
    858     int16_t      x; /**<  */
    859     int16_t      y; /**<  */
    860     uint8_t      override_redirect; /**<  */
    861     uint8_t      pad1[3]; /**<  */
    862 } xcb_reparent_notify_event_t;
    863 
    864 /** Opcode for xcb_configure_notify. */
    865 #define XCB_CONFIGURE_NOTIFY 22
    866 
    867 /**
    868  * @brief xcb_configure_notify_event_t
    869  **/
    870 typedef struct xcb_configure_notify_event_t {
    871     uint8_t      response_type; /**<  */
    872     uint8_t      pad0; /**<  */
    873     uint16_t     sequence; /**<  */
    874     xcb_window_t event; /**<  */
    875     xcb_window_t window; /**<  */
    876     xcb_window_t above_sibling; /**<  */
    877     int16_t      x; /**<  */
    878     int16_t      y; /**<  */
    879     uint16_t     width; /**<  */
    880     uint16_t     height; /**<  */
    881     uint16_t     border_width; /**<  */
    882     uint8_t      override_redirect; /**<  */
    883     uint8_t      pad1; /**<  */
    884 } xcb_configure_notify_event_t;
    885 
    886 /** Opcode for xcb_configure_request. */
    887 #define XCB_CONFIGURE_REQUEST 23
    888 
    889 /**
    890  * @brief xcb_configure_request_event_t
    891  **/
    892 typedef struct xcb_configure_request_event_t {
    893     uint8_t      response_type; /**<  */
    894     uint8_t      stack_mode; /**<  */
    895     uint16_t     sequence; /**<  */
    896     xcb_window_t parent; /**<  */
    897     xcb_window_t window; /**<  */
    898     xcb_window_t sibling; /**<  */
    899     int16_t      x; /**<  */
    900     int16_t      y; /**<  */
    901     uint16_t     width; /**<  */
    902     uint16_t     height; /**<  */
    903     uint16_t     border_width; /**<  */
    904     uint16_t     value_mask; /**<  */
    905 } xcb_configure_request_event_t;
    906 
    907 /** Opcode for xcb_gravity_notify. */
    908 #define XCB_GRAVITY_NOTIFY 24
    909 
    910 /**
    911  * @brief xcb_gravity_notify_event_t
    912  **/
    913 typedef struct xcb_gravity_notify_event_t {
    914     uint8_t      response_type; /**<  */
    915     uint8_t      pad0; /**<  */
    916     uint16_t     sequence; /**<  */
    917     xcb_window_t event; /**<  */
    918     xcb_window_t window; /**<  */
    919     int16_t      x; /**<  */
    920     int16_t      y; /**<  */
    921 } xcb_gravity_notify_event_t;
    922 
    923 /** Opcode for xcb_resize_request. */
    924 #define XCB_RESIZE_REQUEST 25
    925 
    926 /**
    927  * @brief xcb_resize_request_event_t
    928  **/
    929 typedef struct xcb_resize_request_event_t {
    930     uint8_t      response_type; /**<  */
    931     uint8_t      pad0; /**<  */
    932     uint16_t     sequence; /**<  */
    933     xcb_window_t window; /**<  */
    934     uint16_t     width; /**<  */
    935     uint16_t     height; /**<  */
    936 } xcb_resize_request_event_t;
    937 
    938 typedef enum xcb_place_t {
    939     XCB_PLACE_ON_TOP = 0,
    940 /**< The window is now on top of all siblings. */
    941 
    942     XCB_PLACE_ON_BOTTOM = 1
    943 /**< The window is now below all siblings. */
    944 
    945 } xcb_place_t;
    946 
    947 /** Opcode for xcb_circulate_notify. */
    948 #define XCB_CIRCULATE_NOTIFY 26
    949 
    950 /**
    951  * @brief xcb_circulate_notify_event_t
    952  **/
    953 typedef struct xcb_circulate_notify_event_t {
    954     uint8_t      response_type; /**<  */
    955     uint8_t      pad0; /**<  */
    956     uint16_t     sequence; /**<  */
    957     xcb_window_t event; /**<  */
    958     xcb_window_t window; /**<  */
    959     uint8_t      pad1[4]; /**<  */
    960     uint8_t      place; /**<  */
    961     uint8_t      pad2[3]; /**<  */
    962 } xcb_circulate_notify_event_t;
    963 
    964 /** Opcode for xcb_circulate_request. */
    965 #define XCB_CIRCULATE_REQUEST 27
    966 
    967 typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t;
    968 
    969 typedef enum xcb_property_t {
    970     XCB_PROPERTY_NEW_VALUE = 0,
    971     XCB_PROPERTY_DELETE = 1
    972 } xcb_property_t;
    973 
    974 /** Opcode for xcb_property_notify. */
    975 #define XCB_PROPERTY_NOTIFY 28
    976 
    977 /**
    978  * @brief xcb_property_notify_event_t
    979  **/
    980 typedef struct xcb_property_notify_event_t {
    981     uint8_t         response_type; /**<  */
    982     uint8_t         pad0; /**<  */
    983     uint16_t        sequence; /**<  */
    984     xcb_window_t    window; /**<  */
    985     xcb_atom_t      atom; /**<  */
    986     xcb_timestamp_t time; /**<  */
    987     uint8_t         state; /**<  */
    988     uint8_t         pad1[3]; /**<  */
    989 } xcb_property_notify_event_t;
    990 
    991 /** Opcode for xcb_selection_clear. */
    992 #define XCB_SELECTION_CLEAR 29
    993 
    994 /**
    995  * @brief xcb_selection_clear_event_t
    996  **/
    997 typedef struct xcb_selection_clear_event_t {
    998     uint8_t         response_type; /**<  */
    999     uint8_t         pad0; /**<  */
   1000     uint16_t        sequence; /**<  */
   1001     xcb_timestamp_t time; /**<  */
   1002     xcb_window_t    owner; /**<  */
   1003     xcb_atom_t      selection; /**<  */
   1004 } xcb_selection_clear_event_t;
   1005 
   1006 typedef enum xcb_time_t {
   1007     XCB_TIME_CURRENT_TIME = 0
   1008 } xcb_time_t;
   1009 
   1010 typedef enum xcb_atom_enum_t {
   1011     XCB_ATOM_NONE = 0,
   1012     XCB_ATOM_ANY = 0,
   1013     XCB_ATOM_PRIMARY = 1,
   1014     XCB_ATOM_SECONDARY = 2,
   1015     XCB_ATOM_ARC = 3,
   1016     XCB_ATOM_ATOM = 4,
   1017     XCB_ATOM_BITMAP = 5,
   1018     XCB_ATOM_CARDINAL = 6,
   1019     XCB_ATOM_COLORMAP = 7,
   1020     XCB_ATOM_CURSOR = 8,
   1021     XCB_ATOM_CUT_BUFFER0 = 9,
   1022     XCB_ATOM_CUT_BUFFER1 = 10,
   1023     XCB_ATOM_CUT_BUFFER2 = 11,
   1024     XCB_ATOM_CUT_BUFFER3 = 12,
   1025     XCB_ATOM_CUT_BUFFER4 = 13,
   1026     XCB_ATOM_CUT_BUFFER5 = 14,
   1027     XCB_ATOM_CUT_BUFFER6 = 15,
   1028     XCB_ATOM_CUT_BUFFER7 = 16,
   1029     XCB_ATOM_DRAWABLE = 17,
   1030     XCB_ATOM_FONT = 18,
   1031     XCB_ATOM_INTEGER = 19,
   1032     XCB_ATOM_PIXMAP = 20,
   1033     XCB_ATOM_POINT = 21,
   1034     XCB_ATOM_RECTANGLE = 22,
   1035     XCB_ATOM_RESOURCE_MANAGER = 23,
   1036     XCB_ATOM_RGB_COLOR_MAP = 24,
   1037     XCB_ATOM_RGB_BEST_MAP = 25,
   1038     XCB_ATOM_RGB_BLUE_MAP = 26,
   1039     XCB_ATOM_RGB_DEFAULT_MAP = 27,
   1040     XCB_ATOM_RGB_GRAY_MAP = 28,
   1041     XCB_ATOM_RGB_GREEN_MAP = 29,
   1042     XCB_ATOM_RGB_RED_MAP = 30,
   1043     XCB_ATOM_STRING = 31,
   1044     XCB_ATOM_VISUALID = 32,
   1045     XCB_ATOM_WINDOW = 33,
   1046     XCB_ATOM_WM_COMMAND = 34,
   1047     XCB_ATOM_WM_HINTS = 35,
   1048     XCB_ATOM_WM_CLIENT_MACHINE = 36,
   1049     XCB_ATOM_WM_ICON_NAME = 37,
   1050     XCB_ATOM_WM_ICON_SIZE = 38,
   1051     XCB_ATOM_WM_NAME = 39,
   1052     XCB_ATOM_WM_NORMAL_HINTS = 40,
   1053     XCB_ATOM_WM_SIZE_HINTS = 41,
   1054     XCB_ATOM_WM_ZOOM_HINTS = 42,
   1055     XCB_ATOM_MIN_SPACE = 43,
   1056     XCB_ATOM_NORM_SPACE = 44,
   1057     XCB_ATOM_MAX_SPACE = 45,
   1058     XCB_ATOM_END_SPACE = 46,
   1059     XCB_ATOM_SUPERSCRIPT_X = 47,
   1060     XCB_ATOM_SUPERSCRIPT_Y = 48,
   1061     XCB_ATOM_SUBSCRIPT_X = 49,
   1062     XCB_ATOM_SUBSCRIPT_Y = 50,
   1063     XCB_ATOM_UNDERLINE_POSITION = 51,
   1064     XCB_ATOM_UNDERLINE_THICKNESS = 52,
   1065     XCB_ATOM_STRIKEOUT_ASCENT = 53,
   1066     XCB_ATOM_STRIKEOUT_DESCENT = 54,
   1067     XCB_ATOM_ITALIC_ANGLE = 55,
   1068     XCB_ATOM_X_HEIGHT = 56,
   1069     XCB_ATOM_QUAD_WIDTH = 57,
   1070     XCB_ATOM_WEIGHT = 58,
   1071     XCB_ATOM_POINT_SIZE = 59,
   1072     XCB_ATOM_RESOLUTION = 60,
   1073     XCB_ATOM_COPYRIGHT = 61,
   1074     XCB_ATOM_NOTICE = 62,
   1075     XCB_ATOM_FONT_NAME = 63,
   1076     XCB_ATOM_FAMILY_NAME = 64,
   1077     XCB_ATOM_FULL_NAME = 65,
   1078     XCB_ATOM_CAP_HEIGHT = 66,
   1079     XCB_ATOM_WM_CLASS = 67,
   1080     XCB_ATOM_WM_TRANSIENT_FOR = 68
   1081 } xcb_atom_enum_t;
   1082 
   1083 /** Opcode for xcb_selection_request. */
   1084 #define XCB_SELECTION_REQUEST 30
   1085 
   1086 /**
   1087  * @brief xcb_selection_request_event_t
   1088  **/
   1089 typedef struct xcb_selection_request_event_t {
   1090     uint8_t         response_type; /**<  */
   1091     uint8_t         pad0; /**<  */
   1092     uint16_t        sequence; /**<  */
   1093     xcb_timestamp_t time; /**<  */
   1094     xcb_window_t    owner; /**<  */
   1095     xcb_window_t    requestor; /**<  */
   1096     xcb_atom_t      selection; /**<  */
   1097     xcb_atom_t      target; /**<  */
   1098     xcb_atom_t      property; /**<  */
   1099 } xcb_selection_request_event_t;
   1100 
   1101 /** Opcode for xcb_selection_notify. */
   1102 #define XCB_SELECTION_NOTIFY 31
   1103 
   1104 /**
   1105  * @brief xcb_selection_notify_event_t
   1106  **/
   1107 typedef struct xcb_selection_notify_event_t {
   1108     uint8_t         response_type; /**<  */
   1109     uint8_t         pad0; /**<  */
   1110     uint16_t        sequence; /**<  */
   1111     xcb_timestamp_t time; /**<  */
   1112     xcb_window_t    requestor; /**<  */
   1113     xcb_atom_t      selection; /**<  */
   1114     xcb_atom_t      target; /**<  */
   1115     xcb_atom_t      property; /**<  */
   1116 } xcb_selection_notify_event_t;
   1117 
   1118 typedef enum xcb_colormap_state_t {
   1119     XCB_COLORMAP_STATE_UNINSTALLED = 0,
   1120 /**< The colormap was uninstalled. */
   1121 
   1122     XCB_COLORMAP_STATE_INSTALLED = 1
   1123 /**< The colormap was installed. */
   1124 
   1125 } xcb_colormap_state_t;
   1126 
   1127 typedef enum xcb_colormap_enum_t {
   1128     XCB_COLORMAP_NONE = 0
   1129 } xcb_colormap_enum_t;
   1130 
   1131 /** Opcode for xcb_colormap_notify. */
   1132 #define XCB_COLORMAP_NOTIFY 32
   1133 
   1134 /**
   1135  * @brief xcb_colormap_notify_event_t
   1136  **/
   1137 typedef struct xcb_colormap_notify_event_t {
   1138     uint8_t        response_type; /**<  */
   1139     uint8_t        pad0; /**<  */
   1140     uint16_t       sequence; /**<  */
   1141     xcb_window_t   window; /**<  */
   1142     xcb_colormap_t colormap; /**<  */
   1143     uint8_t        _new; /**<  */
   1144     uint8_t        state; /**<  */
   1145     uint8_t        pad1[2]; /**<  */
   1146 } xcb_colormap_notify_event_t;
   1147 
   1148 /**
   1149  * @brief xcb_client_message_data_t
   1150  **/
   1151 typedef union xcb_client_message_data_t {
   1152     uint8_t  data8[20]; /**<  */
   1153     uint16_t data16[10]; /**<  */
   1154     uint32_t data32[5]; /**<  */
   1155 } xcb_client_message_data_t;
   1156 
   1157 /**
   1158  * @brief xcb_client_message_data_iterator_t
   1159  **/
   1160 typedef struct xcb_client_message_data_iterator_t {
   1161     xcb_client_message_data_t *data; /**<  */
   1162     int                        rem; /**<  */
   1163     int                        index; /**<  */
   1164 } xcb_client_message_data_iterator_t;
   1165 
   1166 /** Opcode for xcb_client_message. */
   1167 #define XCB_CLIENT_MESSAGE 33
   1168 
   1169 /**
   1170  * @brief xcb_client_message_event_t
   1171  **/
   1172 typedef struct xcb_client_message_event_t {
   1173     uint8_t                   response_type; /**<  */
   1174     uint8_t                   format; /**<  */
   1175     uint16_t                  sequence; /**<  */
   1176     xcb_window_t              window; /**<  */
   1177     xcb_atom_t                type; /**<  */
   1178     xcb_client_message_data_t data; /**<  */
   1179 } xcb_client_message_event_t;
   1180 
   1181 typedef enum xcb_mapping_t {
   1182     XCB_MAPPING_MODIFIER = 0,
   1183     XCB_MAPPING_KEYBOARD = 1,
   1184     XCB_MAPPING_POINTER = 2
   1185 } xcb_mapping_t;
   1186 
   1187 /** Opcode for xcb_mapping_notify. */
   1188 #define XCB_MAPPING_NOTIFY 34
   1189 
   1190 /**
   1191  * @brief xcb_mapping_notify_event_t
   1192  **/
   1193 typedef struct xcb_mapping_notify_event_t {
   1194     uint8_t       response_type; /**<  */
   1195     uint8_t       pad0; /**<  */
   1196     uint16_t      sequence; /**<  */
   1197     uint8_t       request; /**<  */
   1198     xcb_keycode_t first_keycode; /**<  */
   1199     uint8_t       count; /**<  */
   1200     uint8_t       pad1; /**<  */
   1201 } xcb_mapping_notify_event_t;
   1202 
   1203 /** Opcode for xcb_ge_generic. */
   1204 #define XCB_GE_GENERIC 35
   1205 
   1206 /**
   1207  * @brief xcb_ge_generic_event_t
   1208  **/
   1209 typedef struct xcb_ge_generic_event_t {
   1210     uint8_t  response_type; /**<  */
   1211     uint8_t  extension; /**<  */
   1212     uint16_t sequence; /**<  */
   1213     uint32_t length; /**<  */
   1214     uint16_t event_type; /**<  */
   1215     uint8_t  pad0[22]; /**<  */
   1216     uint32_t full_sequence; /**<  */
   1217 } xcb_ge_generic_event_t;
   1218 
   1219 /** Opcode for xcb_request. */
   1220 #define XCB_REQUEST 1
   1221 
   1222 /**
   1223  * @brief xcb_request_error_t
   1224  **/
   1225 typedef struct xcb_request_error_t {
   1226     uint8_t  response_type; /**<  */
   1227     uint8_t  error_code; /**<  */
   1228     uint16_t sequence; /**<  */
   1229     uint32_t bad_value; /**<  */
   1230     uint16_t minor_opcode; /**<  */
   1231     uint8_t  major_opcode; /**<  */
   1232     uint8_t  pad0; /**<  */
   1233 } xcb_request_error_t;
   1234 
   1235 /** Opcode for xcb_value. */
   1236 #define XCB_VALUE 2
   1237 
   1238 /**
   1239  * @brief xcb_value_error_t
   1240  **/
   1241 typedef struct xcb_value_error_t {
   1242     uint8_t  response_type; /**<  */
   1243     uint8_t  error_code; /**<  */
   1244     uint16_t sequence; /**<  */
   1245     uint32_t bad_value; /**<  */
   1246     uint16_t minor_opcode; /**<  */
   1247     uint8_t  major_opcode; /**<  */
   1248     uint8_t  pad0; /**<  */
   1249 } xcb_value_error_t;
   1250 
   1251 /** Opcode for xcb_window. */
   1252 #define XCB_WINDOW 3
   1253 
   1254 typedef xcb_value_error_t xcb_window_error_t;
   1255 
   1256 /** Opcode for xcb_pixmap. */
   1257 #define XCB_PIXMAP 4
   1258 
   1259 typedef xcb_value_error_t xcb_pixmap_error_t;
   1260 
   1261 /** Opcode for xcb_atom. */
   1262 #define XCB_ATOM 5
   1263 
   1264 typedef xcb_value_error_t xcb_atom_error_t;
   1265 
   1266 /** Opcode for xcb_cursor. */
   1267 #define XCB_CURSOR 6
   1268 
   1269 typedef xcb_value_error_t xcb_cursor_error_t;
   1270 
   1271 /** Opcode for xcb_font. */
   1272 #define XCB_FONT 7
   1273 
   1274 typedef xcb_value_error_t xcb_font_error_t;
   1275 
   1276 /** Opcode for xcb_match. */
   1277 #define XCB_MATCH 8
   1278 
   1279 typedef xcb_request_error_t xcb_match_error_t;
   1280 
   1281 /** Opcode for xcb_drawable. */
   1282 #define XCB_DRAWABLE 9
   1283 
   1284 typedef xcb_value_error_t xcb_drawable_error_t;
   1285 
   1286 /** Opcode for xcb_access. */
   1287 #define XCB_ACCESS 10
   1288 
   1289 typedef xcb_request_error_t xcb_access_error_t;
   1290 
   1291 /** Opcode for xcb_alloc. */
   1292 #define XCB_ALLOC 11
   1293 
   1294 typedef xcb_request_error_t xcb_alloc_error_t;
   1295 
   1296 /** Opcode for xcb_colormap. */
   1297 #define XCB_COLORMAP 12
   1298 
   1299 typedef xcb_value_error_t xcb_colormap_error_t;
   1300 
   1301 /** Opcode for xcb_g_context. */
   1302 #define XCB_G_CONTEXT 13
   1303 
   1304 typedef xcb_value_error_t xcb_g_context_error_t;
   1305 
   1306 /** Opcode for xcb_id_choice. */
   1307 #define XCB_ID_CHOICE 14
   1308 
   1309 typedef xcb_value_error_t xcb_id_choice_error_t;
   1310 
   1311 /** Opcode for xcb_name. */
   1312 #define XCB_NAME 15
   1313 
   1314 typedef xcb_request_error_t xcb_name_error_t;
   1315 
   1316 /** Opcode for xcb_length. */
   1317 #define XCB_LENGTH 16
   1318 
   1319 typedef xcb_request_error_t xcb_length_error_t;
   1320 
   1321 /** Opcode for xcb_implementation. */
   1322 #define XCB_IMPLEMENTATION 17
   1323 
   1324 typedef xcb_request_error_t xcb_implementation_error_t;
   1325 
   1326 typedef enum xcb_window_class_t {
   1327     XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0,
   1328     XCB_WINDOW_CLASS_INPUT_OUTPUT = 1,
   1329     XCB_WINDOW_CLASS_INPUT_ONLY = 2
   1330 } xcb_window_class_t;
   1331 
   1332 typedef enum xcb_cw_t {
   1333     XCB_CW_BACK_PIXMAP = 1,
   1334 /**< Overrides the default background-pixmap. The background pixmap and window must
   1335 have the same root and same depth. Any size pixmap can be used, although some
   1336 sizes may be faster than others.
   1337 
   1338 If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background.
   1339 The server may fill the contents with the previous screen contents or with
   1340 contents of its own choosing.
   1341 
   1342 If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is
   1343 used, but the window must have the same depth as the parent (or a Match error
   1344 results).   The parent's background is tracked, and the current version is
   1345 used each time the window background is required. */
   1346 
   1347     XCB_CW_BACK_PIXEL = 2,
   1348 /**< Overrides `BackPixmap`. A pixmap of undefined size filled with the specified
   1349 background pixel is used for the background. Range-checking is not performed,
   1350 the background pixel is truncated to the appropriate number of bits. */
   1351 
   1352     XCB_CW_BORDER_PIXMAP = 4,
   1353 /**< Overrides the default border-pixmap. The border pixmap and window must have the
   1354 same root and the same depth. Any size pixmap can be used, although some sizes
   1355 may be faster than others.
   1356 
   1357 The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is
   1358 copied (subsequent changes to the parent's border attribute do not affect the
   1359 child), but the window must have the same depth as the parent. */
   1360 
   1361     XCB_CW_BORDER_PIXEL = 8,
   1362 /**< Overrides `BorderPixmap`. A pixmap of undefined size filled with the specified
   1363 border pixel is used for the border. Range checking is not performed on the
   1364 border-pixel value, it is truncated to the appropriate number of bits. */
   1365 
   1366     XCB_CW_BIT_GRAVITY = 16,
   1367 /**< Defines which region of the window should be retained if the window is resized. */
   1368 
   1369     XCB_CW_WIN_GRAVITY = 32,
   1370 /**< Defines how the window should be repositioned if the parent is resized (see
   1371 `ConfigureWindow`). */
   1372 
   1373     XCB_CW_BACKING_STORE = 64,
   1374 /**< A backing-store of `WhenMapped` advises the server that maintaining contents of
   1375 obscured regions when the window is mapped would be beneficial. A backing-store
   1376 of `Always` advises the server that maintaining contents even when the window
   1377 is unmapped would be beneficial. In this case, the server may generate an
   1378 exposure event when the window is created. A value of `NotUseful` advises the
   1379 server that maintaining contents is unnecessary, although a server may still
   1380 choose to maintain contents while the window is mapped. Note that if the server
   1381 maintains contents, then the server should maintain complete contents not just
   1382 the region within the parent boundaries, even if the window is larger than its
   1383 parent. While the server maintains contents, exposure events will not normally
   1384 be generated, but the server may stop maintaining contents at any time. */
   1385 
   1386     XCB_CW_BACKING_PLANES = 128,
   1387 /**< The backing-planes indicates (with bits set to 1) which bit planes of the
   1388 window hold dynamic data that must be preserved in backing-stores and during
   1389 save-unders. */
   1390 
   1391     XCB_CW_BACKING_PIXEL = 256,
   1392 /**< The backing-pixel specifies what value to use in planes not covered by
   1393 backing-planes. The server is free to save only the specified bit planes in the
   1394 backing-store or save-under and regenerate the remaining planes with the
   1395 specified pixel value. Any bits beyond the specified depth of the window in
   1396 these values are simply ignored. */
   1397 
   1398     XCB_CW_OVERRIDE_REDIRECT = 512,
   1399 /**< The override-redirect specifies whether map and configure requests on this
   1400 window should override a SubstructureRedirect on the parent, typically to
   1401 inform a window manager not to tamper with the window. */
   1402 
   1403     XCB_CW_SAVE_UNDER = 1024,
   1404 /**< If 1, the server is advised that when this window is mapped, saving the
   1405 contents of windows it obscures would be beneficial. */
   1406 
   1407     XCB_CW_EVENT_MASK = 2048,
   1408 /**< The event-mask defines which events the client is interested in for this window
   1409 (or for some event types, inferiors of the window). */
   1410 
   1411     XCB_CW_DONT_PROPAGATE = 4096,
   1412 /**< The do-not-propagate-mask defines which events should not be propagated to
   1413 ancestor windows when no client has the event type selected in this window. */
   1414 
   1415     XCB_CW_COLORMAP = 8192,
   1416 /**< The colormap specifies the colormap that best reflects the true colors of the window. Servers
   1417 capable of supporting multiple hardware colormaps may use this information, and window man-
   1418 agers may use it for InstallColormap requests. The colormap must have the same visual type
   1419 and root as the window (or a Match error results). If CopyFromParent is specified, the parent's
   1420 colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child).
   1421 However, the window must have the same visual type as the parent (or a Match error results),
   1422 and the parent must not have a colormap of None (or a Match error results). For an explanation
   1423 of None, see FreeColormap request. The colormap is copied by sharing the colormap object
   1424 between the child and the parent, not by making a complete copy of the colormap contents. */
   1425 
   1426     XCB_CW_CURSOR = 16384
   1427 /**< If a cursor is specified, it will be used whenever the pointer is in the window. If None is speci-
   1428 fied, the parent's cursor will be used when the pointer is in the window, and any change in the
   1429 parent's cursor will cause an immediate change in the displayed cursor. */
   1430 
   1431 } xcb_cw_t;
   1432 
   1433 typedef enum xcb_back_pixmap_t {
   1434     XCB_BACK_PIXMAP_NONE = 0,
   1435     XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
   1436 } xcb_back_pixmap_t;
   1437 
   1438 typedef enum xcb_gravity_t {
   1439     XCB_GRAVITY_BIT_FORGET = 0,
   1440     XCB_GRAVITY_WIN_UNMAP = 0,
   1441     XCB_GRAVITY_NORTH_WEST = 1,
   1442     XCB_GRAVITY_NORTH = 2,
   1443     XCB_GRAVITY_NORTH_EAST = 3,
   1444     XCB_GRAVITY_WEST = 4,
   1445     XCB_GRAVITY_CENTER = 5,
   1446     XCB_GRAVITY_EAST = 6,
   1447     XCB_GRAVITY_SOUTH_WEST = 7,
   1448     XCB_GRAVITY_SOUTH = 8,
   1449     XCB_GRAVITY_SOUTH_EAST = 9,
   1450     XCB_GRAVITY_STATIC = 10
   1451 } xcb_gravity_t;
   1452 
   1453 /** Opcode for xcb_create_window. */
   1454 #define XCB_CREATE_WINDOW 1
   1455 
   1456 /**
   1457  * @brief xcb_create_window_request_t
   1458  **/
   1459 typedef struct xcb_create_window_request_t {
   1460     uint8_t        major_opcode; /**<  */
   1461     uint8_t        depth; /**<  */
   1462     uint16_t       length; /**<  */
   1463     xcb_window_t   wid; /**<  */
   1464     xcb_window_t   parent; /**<  */
   1465     int16_t        x; /**<  */
   1466     int16_t        y; /**<  */
   1467     uint16_t       width; /**<  */
   1468     uint16_t       height; /**<  */
   1469     uint16_t       border_width; /**<  */
   1470     uint16_t       _class; /**<  */
   1471     xcb_visualid_t visual; /**<  */
   1472     uint32_t       value_mask; /**<  */
   1473 } xcb_create_window_request_t;
   1474 
   1475 /** Opcode for xcb_change_window_attributes. */
   1476 #define XCB_CHANGE_WINDOW_ATTRIBUTES 2
   1477 
   1478 /**
   1479  * @brief xcb_change_window_attributes_request_t
   1480  **/
   1481 typedef struct xcb_change_window_attributes_request_t {
   1482     uint8_t      major_opcode; /**<  */
   1483     uint8_t      pad0; /**<  */
   1484     uint16_t     length; /**<  */
   1485     xcb_window_t window; /**<  */
   1486     uint32_t     value_mask; /**<  */
   1487 } xcb_change_window_attributes_request_t;
   1488 
   1489 typedef enum xcb_map_state_t {
   1490     XCB_MAP_STATE_UNMAPPED = 0,
   1491     XCB_MAP_STATE_UNVIEWABLE = 1,
   1492     XCB_MAP_STATE_VIEWABLE = 2
   1493 } xcb_map_state_t;
   1494 
   1495 /**
   1496  * @brief xcb_get_window_attributes_cookie_t
   1497  **/
   1498 typedef struct xcb_get_window_attributes_cookie_t {
   1499     unsigned int sequence; /**<  */
   1500 } xcb_get_window_attributes_cookie_t;
   1501 
   1502 /** Opcode for xcb_get_window_attributes. */
   1503 #define XCB_GET_WINDOW_ATTRIBUTES 3
   1504 
   1505 /**
   1506  * @brief xcb_get_window_attributes_request_t
   1507  **/
   1508 typedef struct xcb_get_window_attributes_request_t {
   1509     uint8_t      major_opcode; /**<  */
   1510     uint8_t      pad0; /**<  */
   1511     uint16_t     length; /**<  */
   1512     xcb_window_t window; /**<  */
   1513 } xcb_get_window_attributes_request_t;
   1514 
   1515 /**
   1516  * @brief xcb_get_window_attributes_reply_t
   1517  **/
   1518 typedef struct xcb_get_window_attributes_reply_t {
   1519     uint8_t        response_type; /**<  */
   1520     uint8_t        backing_store; /**<  */
   1521     uint16_t       sequence; /**<  */
   1522     uint32_t       length; /**<  */
   1523     xcb_visualid_t visual; /**<  */
   1524     uint16_t       _class; /**<  */
   1525     uint8_t        bit_gravity; /**<  */
   1526     uint8_t        win_gravity; /**<  */
   1527     uint32_t       backing_planes; /**<  */
   1528     uint32_t       backing_pixel; /**<  */
   1529     uint8_t        save_under; /**<  */
   1530     uint8_t        map_is_installed; /**<  */
   1531     uint8_t        map_state; /**<  */
   1532     uint8_t        override_redirect; /**<  */
   1533     xcb_colormap_t colormap; /**<  */
   1534     uint32_t       all_event_masks; /**<  */
   1535     uint32_t       your_event_mask; /**<  */
   1536     uint16_t       do_not_propagate_mask; /**<  */
   1537     uint8_t        pad0[2]; /**<  */
   1538 } xcb_get_window_attributes_reply_t;
   1539 
   1540 /** Opcode for xcb_destroy_window. */
   1541 #define XCB_DESTROY_WINDOW 4
   1542 
   1543 /**
   1544  * @brief xcb_destroy_window_request_t
   1545  **/
   1546 typedef struct xcb_destroy_window_request_t {
   1547     uint8_t      major_opcode; /**<  */
   1548     uint8_t      pad0; /**<  */
   1549     uint16_t     length; /**<  */
   1550     xcb_window_t window; /**<  */
   1551 } xcb_destroy_window_request_t;
   1552 
   1553 /** Opcode for xcb_destroy_subwindows. */
   1554 #define XCB_DESTROY_SUBWINDOWS 5
   1555 
   1556 /**
   1557  * @brief xcb_destroy_subwindows_request_t
   1558  **/
   1559 typedef struct xcb_destroy_subwindows_request_t {
   1560     uint8_t      major_opcode; /**<  */
   1561     uint8_t      pad0; /**<  */
   1562     uint16_t     length; /**<  */
   1563     xcb_window_t window; /**<  */
   1564 } xcb_destroy_subwindows_request_t;
   1565 
   1566 typedef enum xcb_set_mode_t {
   1567     XCB_SET_MODE_INSERT = 0,
   1568     XCB_SET_MODE_DELETE = 1
   1569 } xcb_set_mode_t;
   1570 
   1571 /** Opcode for xcb_change_save_set. */
   1572 #define XCB_CHANGE_SAVE_SET 6
   1573 
   1574 /**
   1575  * @brief xcb_change_save_set_request_t
   1576  **/
   1577 typedef struct xcb_change_save_set_request_t {
   1578     uint8_t      major_opcode; /**<  */
   1579     uint8_t      mode; /**<  */
   1580     uint16_t     length; /**<  */
   1581     xcb_window_t window; /**<  */
   1582 } xcb_change_save_set_request_t;
   1583 
   1584 /** Opcode for xcb_reparent_window. */
   1585 #define XCB_REPARENT_WINDOW 7
   1586 
   1587 /**
   1588  * @brief xcb_reparent_window_request_t
   1589  **/
   1590 typedef struct xcb_reparent_window_request_t {
   1591     uint8_t      major_opcode; /**<  */
   1592     uint8_t      pad0; /**<  */
   1593     uint16_t     length; /**<  */
   1594     xcb_window_t window; /**<  */
   1595     xcb_window_t parent; /**<  */
   1596     int16_t      x; /**<  */
   1597     int16_t      y; /**<  */
   1598 } xcb_reparent_window_request_t;
   1599 
   1600 /** Opcode for xcb_map_window. */
   1601 #define XCB_MAP_WINDOW 8
   1602 
   1603 /**
   1604  * @brief xcb_map_window_request_t
   1605  **/
   1606 typedef struct xcb_map_window_request_t {
   1607     uint8_t      major_opcode; /**<  */
   1608     uint8_t      pad0; /**<  */
   1609     uint16_t     length; /**<  */
   1610     xcb_window_t window; /**<  */
   1611 } xcb_map_window_request_t;
   1612 
   1613 /** Opcode for xcb_map_subwindows. */
   1614 #define XCB_MAP_SUBWINDOWS 9
   1615 
   1616 /**
   1617  * @brief xcb_map_subwindows_request_t
   1618  **/
   1619 typedef struct xcb_map_subwindows_request_t {
   1620     uint8_t      major_opcode; /**<  */
   1621     uint8_t      pad0; /**<  */
   1622     uint16_t     length; /**<  */
   1623     xcb_window_t window; /**<  */
   1624 } xcb_map_subwindows_request_t;
   1625 
   1626 /** Opcode for xcb_unmap_window. */
   1627 #define XCB_UNMAP_WINDOW 10
   1628 
   1629 /**
   1630  * @brief xcb_unmap_window_request_t
   1631  **/
   1632 typedef struct xcb_unmap_window_request_t {
   1633     uint8_t      major_opcode; /**<  */
   1634     uint8_t      pad0; /**<  */
   1635     uint16_t     length; /**<  */
   1636     xcb_window_t window; /**<  */
   1637 } xcb_unmap_window_request_t;
   1638 
   1639 /** Opcode for xcb_unmap_subwindows. */
   1640 #define XCB_UNMAP_SUBWINDOWS 11
   1641 
   1642 /**
   1643  * @brief xcb_unmap_subwindows_request_t
   1644  **/
   1645 typedef struct xcb_unmap_subwindows_request_t {
   1646     uint8_t      major_opcode; /**<  */
   1647     uint8_t      pad0; /**<  */
   1648     uint16_t     length; /**<  */
   1649     xcb_window_t window; /**<  */
   1650 } xcb_unmap_subwindows_request_t;
   1651 
   1652 typedef enum xcb_config_window_t {
   1653     XCB_CONFIG_WINDOW_X = 1,
   1654     XCB_CONFIG_WINDOW_Y = 2,
   1655     XCB_CONFIG_WINDOW_WIDTH = 4,
   1656     XCB_CONFIG_WINDOW_HEIGHT = 8,
   1657     XCB_CONFIG_WINDOW_BORDER_WIDTH = 16,
   1658     XCB_CONFIG_WINDOW_SIBLING = 32,
   1659     XCB_CONFIG_WINDOW_STACK_MODE = 64
   1660 } xcb_config_window_t;
   1661 
   1662 typedef enum xcb_stack_mode_t {
   1663     XCB_STACK_MODE_ABOVE = 0,
   1664     XCB_STACK_MODE_BELOW = 1,
   1665     XCB_STACK_MODE_TOP_IF = 2,
   1666     XCB_STACK_MODE_BOTTOM_IF = 3,
   1667     XCB_STACK_MODE_OPPOSITE = 4
   1668 } xcb_stack_mode_t;
   1669 
   1670 /** Opcode for xcb_configure_window. */
   1671 #define XCB_CONFIGURE_WINDOW 12
   1672 
   1673 /**
   1674  * @brief xcb_configure_window_request_t
   1675  **/
   1676 typedef struct xcb_configure_window_request_t {
   1677     uint8_t      major_opcode; /**<  */
   1678     uint8_t      pad0; /**<  */
   1679     uint16_t     length; /**<  */
   1680     xcb_window_t window; /**<  */
   1681     uint16_t     value_mask; /**<  */
   1682     uint8_t      pad1[2]; /**<  */
   1683 } xcb_configure_window_request_t;
   1684 
   1685 typedef enum xcb_circulate_t {
   1686     XCB_CIRCULATE_RAISE_LOWEST = 0,
   1687     XCB_CIRCULATE_LOWER_HIGHEST = 1
   1688 } xcb_circulate_t;
   1689 
   1690 /** Opcode for xcb_circulate_window. */
   1691 #define XCB_CIRCULATE_WINDOW 13
   1692 
   1693 /**
   1694  * @brief xcb_circulate_window_request_t
   1695  **/
   1696 typedef struct xcb_circulate_window_request_t {
   1697     uint8_t      major_opcode; /**<  */
   1698     uint8_t      direction; /**<  */
   1699     uint16_t     length; /**<  */
   1700     xcb_window_t window; /**<  */
   1701 } xcb_circulate_window_request_t;
   1702 
   1703 /**
   1704  * @brief xcb_get_geometry_cookie_t
   1705  **/
   1706 typedef struct xcb_get_geometry_cookie_t {
   1707     unsigned int sequence; /**<  */
   1708 } xcb_get_geometry_cookie_t;
   1709 
   1710 /** Opcode for xcb_get_geometry. */
   1711 #define XCB_GET_GEOMETRY 14
   1712 
   1713 /**
   1714  * @brief xcb_get_geometry_request_t
   1715  **/
   1716 typedef struct xcb_get_geometry_request_t {
   1717     uint8_t        major_opcode; /**<  */
   1718     uint8_t        pad0; /**<  */
   1719     uint16_t       length; /**<  */
   1720     xcb_drawable_t drawable; /**<  */
   1721 } xcb_get_geometry_request_t;
   1722 
   1723 /**
   1724  * @brief xcb_get_geometry_reply_t
   1725  **/
   1726 typedef struct xcb_get_geometry_reply_t {
   1727     uint8_t      response_type; /**<  */
   1728     uint8_t      depth; /**<  */
   1729     uint16_t     sequence; /**<  */
   1730     uint32_t     length; /**<  */
   1731     xcb_window_t root; /**<  */
   1732     int16_t      x; /**<  */
   1733     int16_t      y; /**<  */
   1734     uint16_t     width; /**<  */
   1735     uint16_t     height; /**<  */
   1736     uint16_t     border_width; /**<  */
   1737     uint8_t      pad0[2]; /**<  */
   1738 } xcb_get_geometry_reply_t;
   1739 
   1740 /**
   1741  * @brief xcb_query_tree_cookie_t
   1742  **/
   1743 typedef struct xcb_query_tree_cookie_t {
   1744     unsigned int sequence; /**<  */
   1745 } xcb_query_tree_cookie_t;
   1746 
   1747 /** Opcode for xcb_query_tree. */
   1748 #define XCB_QUERY_TREE 15
   1749 
   1750 /**
   1751  * @brief xcb_query_tree_request_t
   1752  **/
   1753 typedef struct xcb_query_tree_request_t {
   1754     uint8_t      major_opcode; /**<  */
   1755     uint8_t      pad0; /**<  */
   1756     uint16_t     length; /**<  */
   1757     xcb_window_t window; /**<  */
   1758 } xcb_query_tree_request_t;
   1759 
   1760 /**
   1761  * @brief xcb_query_tree_reply_t
   1762  **/
   1763 typedef struct xcb_query_tree_reply_t {
   1764     uint8_t      response_type; /**<  */
   1765     uint8_t      pad0; /**<  */
   1766     uint16_t     sequence; /**<  */
   1767     uint32_t     length; /**<  */
   1768     xcb_window_t root; /**<  */
   1769     xcb_window_t parent; /**<  */
   1770     uint16_t     children_len; /**<  */
   1771     uint8_t      pad1[14]; /**<  */
   1772 } xcb_query_tree_reply_t;
   1773 
   1774 /**
   1775  * @brief xcb_intern_atom_cookie_t
   1776  **/
   1777 typedef struct xcb_intern_atom_cookie_t {
   1778     unsigned int sequence; /**<  */
   1779 } xcb_intern_atom_cookie_t;
   1780 
   1781 /** Opcode for xcb_intern_atom. */
   1782 #define XCB_INTERN_ATOM 16
   1783 
   1784 /**
   1785  * @brief xcb_intern_atom_request_t
   1786  **/
   1787 typedef struct xcb_intern_atom_request_t {
   1788     uint8_t  major_opcode; /**<  */
   1789     uint8_t  only_if_exists; /**<  */
   1790     uint16_t length; /**<  */
   1791     uint16_t name_len; /**<  */
   1792     uint8_t  pad0[2]; /**<  */
   1793 } xcb_intern_atom_request_t;
   1794 
   1795 /**
   1796  * @brief xcb_intern_atom_reply_t
   1797  **/
   1798 typedef struct xcb_intern_atom_reply_t {
   1799     uint8_t    response_type; /**<  */
   1800     uint8_t    pad0; /**<  */
   1801     uint16_t   sequence; /**<  */
   1802     uint32_t   length; /**<  */
   1803     xcb_atom_t atom; /**<  */
   1804 } xcb_intern_atom_reply_t;
   1805 
   1806 /**
   1807  * @brief xcb_get_atom_name_cookie_t
   1808  **/
   1809 typedef struct xcb_get_atom_name_cookie_t {
   1810     unsigned int sequence; /**<  */
   1811 } xcb_get_atom_name_cookie_t;
   1812 
   1813 /** Opcode for xcb_get_atom_name. */
   1814 #define XCB_GET_ATOM_NAME 17
   1815 
   1816 /**
   1817  * @brief xcb_get_atom_name_request_t
   1818  **/
   1819 typedef struct xcb_get_atom_name_request_t {
   1820     uint8_t    major_opcode; /**<  */
   1821     uint8_t    pad0; /**<  */
   1822     uint16_t   length; /**<  */
   1823     xcb_atom_t atom; /**<  */
   1824 } xcb_get_atom_name_request_t;
   1825 
   1826 /**
   1827  * @brief xcb_get_atom_name_reply_t
   1828  **/
   1829 typedef struct xcb_get_atom_name_reply_t {
   1830     uint8_t  response_type; /**<  */
   1831     uint8_t  pad0; /**<  */
   1832     uint16_t sequence; /**<  */
   1833     uint32_t length; /**<  */
   1834     uint16_t name_len; /**<  */
   1835     uint8_t  pad1[22]; /**<  */
   1836 } xcb_get_atom_name_reply_t;
   1837 
   1838 typedef enum xcb_prop_mode_t {
   1839     XCB_PROP_MODE_REPLACE = 0,
   1840 /**< Discard the previous property value and store the new data. */
   1841 
   1842     XCB_PROP_MODE_PREPEND = 1,
   1843 /**< Insert the new data before the beginning of existing data. The `format` must
   1844 match existing property value. If the property is undefined, it is treated as
   1845 defined with the correct type and format with zero-length data. */
   1846 
   1847     XCB_PROP_MODE_APPEND = 2
   1848 /**< Insert the new data after the beginning of existing data. The `format` must
   1849 match existing property value. If the property is undefined, it is treated as
   1850 defined with the correct type and format with zero-length data. */
   1851 
   1852 } xcb_prop_mode_t;
   1853 
   1854 /** Opcode for xcb_change_property. */
   1855 #define XCB_CHANGE_PROPERTY 18
   1856 
   1857 /**
   1858  * @brief xcb_change_property_request_t
   1859  **/
   1860 typedef struct xcb_change_property_request_t {
   1861     uint8_t      major_opcode; /**<  */
   1862     uint8_t      mode; /**<  */
   1863     uint16_t     length; /**<  */
   1864     xcb_window_t window; /**<  */
   1865     xcb_atom_t   property; /**<  */
   1866     xcb_atom_t   type; /**<  */
   1867     uint8_t      format; /**<  */
   1868     uint8_t      pad0[3]; /**<  */
   1869     uint32_t     data_len; /**<  */
   1870 } xcb_change_property_request_t;
   1871 
   1872 /** Opcode for xcb_delete_property. */
   1873 #define XCB_DELETE_PROPERTY 19
   1874 
   1875 /**
   1876  * @brief xcb_delete_property_request_t
   1877  **/
   1878 typedef struct xcb_delete_property_request_t {
   1879     uint8_t      major_opcode; /**<  */
   1880     uint8_t      pad0; /**<  */
   1881     uint16_t     length; /**<  */
   1882     xcb_window_t window; /**<  */
   1883     xcb_atom_t   property; /**<  */
   1884 } xcb_delete_property_request_t;
   1885 
   1886 typedef enum xcb_get_property_type_t {
   1887     XCB_GET_PROPERTY_TYPE_ANY = 0
   1888 } xcb_get_property_type_t;
   1889 
   1890 /**
   1891  * @brief xcb_get_property_cookie_t
   1892  **/
   1893 typedef struct xcb_get_property_cookie_t {
   1894     unsigned int sequence; /**<  */
   1895 } xcb_get_property_cookie_t;
   1896 
   1897 /** Opcode for xcb_get_property. */
   1898 #define XCB_GET_PROPERTY 20
   1899 
   1900 /**
   1901  * @brief xcb_get_property_request_t
   1902  **/
   1903 typedef struct xcb_get_property_request_t {
   1904     uint8_t      major_opcode; /**<  */
   1905     uint8_t      _delete; /**<  */
   1906     uint16_t     length; /**<  */
   1907     xcb_window_t window; /**<  */
   1908     xcb_atom_t   property; /**<  */
   1909     xcb_atom_t   type; /**<  */
   1910     uint32_t     long_offset; /**<  */
   1911     uint32_t     long_length; /**<  */
   1912 } xcb_get_property_request_t;
   1913 
   1914 /**
   1915  * @brief xcb_get_property_reply_t
   1916  **/
   1917 typedef struct xcb_get_property_reply_t {
   1918     uint8_t    response_type; /**<  */
   1919     uint8_t    format; /**<  */
   1920     uint16_t   sequence; /**<  */
   1921     uint32_t   length; /**<  */
   1922     xcb_atom_t type; /**<  */
   1923     uint32_t   bytes_after; /**<  */
   1924     uint32_t   value_len; /**<  */
   1925     uint8_t    pad0[12]; /**<  */
   1926 } xcb_get_property_reply_t;
   1927 
   1928 /**
   1929  * @brief xcb_list_properties_cookie_t
   1930  **/
   1931 typedef struct xcb_list_properties_cookie_t {
   1932     unsigned int sequence; /**<  */
   1933 } xcb_list_properties_cookie_t;
   1934 
   1935 /** Opcode for xcb_list_properties. */
   1936 #define XCB_LIST_PROPERTIES 21
   1937 
   1938 /**
   1939  * @brief xcb_list_properties_request_t
   1940  **/
   1941 typedef struct xcb_list_properties_request_t {
   1942     uint8_t      major_opcode; /**<  */
   1943     uint8_t      pad0; /**<  */
   1944     uint16_t     length; /**<  */
   1945     xcb_window_t window; /**<  */
   1946 } xcb_list_properties_request_t;
   1947 
   1948 /**
   1949  * @brief xcb_list_properties_reply_t
   1950  **/
   1951 typedef struct xcb_list_properties_reply_t {
   1952     uint8_t  response_type; /**<  */
   1953     uint8_t  pad0; /**<  */
   1954     uint16_t sequence; /**<  */
   1955     uint32_t length; /**<  */
   1956     uint16_t atoms_len; /**<  */
   1957     uint8_t  pad1[22]; /**<  */
   1958 } xcb_list_properties_reply_t;
   1959 
   1960 /** Opcode for xcb_set_selection_owner. */
   1961 #define XCB_SET_SELECTION_OWNER 22
   1962 
   1963 /**
   1964  * @brief xcb_set_selection_owner_request_t
   1965  **/
   1966 typedef struct xcb_set_selection_owner_request_t {
   1967     uint8_t         major_opcode; /**<  */
   1968     uint8_t         pad0; /**<  */
   1969     uint16_t        length; /**<  */
   1970     xcb_window_t    owner; /**<  */
   1971     xcb_atom_t      selection; /**<  */
   1972     xcb_timestamp_t time; /**<  */
   1973 } xcb_set_selection_owner_request_t;
   1974 
   1975 /**
   1976  * @brief xcb_get_selection_owner_cookie_t
   1977  **/
   1978 typedef struct xcb_get_selection_owner_cookie_t {
   1979     unsigned int sequence; /**<  */
   1980 } xcb_get_selection_owner_cookie_t;
   1981 
   1982 /** Opcode for xcb_get_selection_owner. */
   1983 #define XCB_GET_SELECTION_OWNER 23
   1984 
   1985 /**
   1986  * @brief xcb_get_selection_owner_request_t
   1987  **/
   1988 typedef struct xcb_get_selection_owner_request_t {
   1989     uint8_t    major_opcode; /**<  */
   1990     uint8_t    pad0; /**<  */
   1991     uint16_t   length; /**<  */
   1992     xcb_atom_t selection; /**<  */
   1993 } xcb_get_selection_owner_request_t;
   1994 
   1995 /**
   1996  * @brief xcb_get_selection_owner_reply_t
   1997  **/
   1998 typedef struct xcb_get_selection_owner_reply_t {
   1999     uint8_t      response_type; /**<  */
   2000     uint8_t      pad0; /**<  */
   2001     uint16_t     sequence; /**<  */
   2002     uint32_t     length; /**<  */
   2003     xcb_window_t owner; /**<  */
   2004 } xcb_get_selection_owner_reply_t;
   2005 
   2006 /** Opcode for xcb_convert_selection. */
   2007 #define XCB_CONVERT_SELECTION 24
   2008 
   2009 /**
   2010  * @brief xcb_convert_selection_request_t
   2011  **/
   2012 typedef struct xcb_convert_selection_request_t {
   2013     uint8_t         major_opcode; /**<  */
   2014     uint8_t         pad0; /**<  */
   2015     uint16_t        length; /**<  */
   2016     xcb_window_t    requestor; /**<  */
   2017     xcb_atom_t      selection; /**<  */
   2018     xcb_atom_t      target; /**<  */
   2019     xcb_atom_t      property; /**<  */
   2020     xcb_timestamp_t time; /**<  */
   2021 } xcb_convert_selection_request_t;
   2022 
   2023 typedef enum xcb_send_event_dest_t {
   2024     XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0,
   2025     XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1
   2026 } xcb_send_event_dest_t;
   2027 
   2028 /** Opcode for xcb_send_event. */
   2029 #define XCB_SEND_EVENT 25
   2030 
   2031 /**
   2032  * @brief xcb_send_event_request_t
   2033  **/
   2034 typedef struct xcb_send_event_request_t {
   2035     uint8_t      major_opcode; /**<  */
   2036     uint8_t      propagate; /**<  */
   2037     uint16_t     length; /**<  */
   2038     xcb_window_t destination; /**<  */
   2039     uint32_t     event_mask; /**<  */
   2040     char         event[32]; /**<  */
   2041 } xcb_send_event_request_t;
   2042 
   2043 typedef enum xcb_grab_mode_t {
   2044     XCB_GRAB_MODE_SYNC = 0,
   2045 /**< The state of the keyboard appears to freeze: No further keyboard events are
   2046 generated by the server until the grabbing client issues a releasing
   2047 `AllowEvents` request or until the keyboard grab is released. */
   2048 
   2049     XCB_GRAB_MODE_ASYNC = 1
   2050 /**< Keyboard event processing continues normally. */
   2051 
   2052 } xcb_grab_mode_t;
   2053 
   2054 typedef enum xcb_grab_status_t {
   2055     XCB_GRAB_STATUS_SUCCESS = 0,
   2056     XCB_GRAB_STATUS_ALREADY_GRABBED = 1,
   2057     XCB_GRAB_STATUS_INVALID_TIME = 2,
   2058     XCB_GRAB_STATUS_NOT_VIEWABLE = 3,
   2059     XCB_GRAB_STATUS_FROZEN = 4
   2060 } xcb_grab_status_t;
   2061 
   2062 typedef enum xcb_cursor_enum_t {
   2063     XCB_CURSOR_NONE = 0
   2064 } xcb_cursor_enum_t;
   2065 
   2066 /**
   2067  * @brief xcb_grab_pointer_cookie_t
   2068  **/
   2069 typedef struct xcb_grab_pointer_cookie_t {
   2070     unsigned int sequence; /**<  */
   2071 } xcb_grab_pointer_cookie_t;
   2072 
   2073 /** Opcode for xcb_grab_pointer. */
   2074 #define XCB_GRAB_POINTER 26
   2075 
   2076 /**
   2077  * @brief xcb_grab_pointer_request_t
   2078  **/
   2079 typedef struct xcb_grab_pointer_request_t {
   2080     uint8_t         major_opcode; /**<  */
   2081     uint8_t         owner_events; /**<  */
   2082     uint16_t        length; /**<  */
   2083     xcb_window_t    grab_window; /**<  */
   2084     uint16_t        event_mask; /**<  */
   2085     uint8_t         pointer_mode; /**<  */
   2086     uint8_t         keyboard_mode; /**<  */
   2087     xcb_window_t    confine_to; /**<  */
   2088     xcb_cursor_t    cursor; /**<  */
   2089     xcb_timestamp_t time; /**<  */
   2090 } xcb_grab_pointer_request_t;
   2091 
   2092 /**
   2093  * @brief xcb_grab_pointer_reply_t
   2094  **/
   2095 typedef struct xcb_grab_pointer_reply_t {
   2096     uint8_t  response_type; /**<  */
   2097     uint8_t  status; /**<  */
   2098     uint16_t sequence; /**<  */
   2099     uint32_t length; /**<  */
   2100 } xcb_grab_pointer_reply_t;
   2101 
   2102 /** Opcode for xcb_ungrab_pointer. */
   2103 #define XCB_UNGRAB_POINTER 27
   2104 
   2105 /**
   2106  * @brief xcb_ungrab_pointer_request_t
   2107  **/
   2108 typedef struct xcb_ungrab_pointer_request_t {
   2109     uint8_t         major_opcode; /**<  */
   2110     uint8_t         pad0; /**<  */
   2111     uint16_t        length; /**<  */
   2112     xcb_timestamp_t time; /**<  */
   2113 } xcb_ungrab_pointer_request_t;
   2114 
   2115 typedef enum xcb_button_index_t {
   2116     XCB_BUTTON_INDEX_ANY = 0,
   2117 /**< Any of the following (or none): */
   2118 
   2119     XCB_BUTTON_INDEX_1 = 1,
   2120 /**< The left mouse button. */
   2121 
   2122     XCB_BUTTON_INDEX_2 = 2,
   2123 /**< The right mouse button. */
   2124 
   2125     XCB_BUTTON_INDEX_3 = 3,
   2126 /**< The middle mouse button. */
   2127 
   2128     XCB_BUTTON_INDEX_4 = 4,
   2129 /**< Scroll wheel. TODO: direction? */
   2130 
   2131     XCB_BUTTON_INDEX_5 = 5
   2132 /**< Scroll wheel. TODO: direction? */
   2133 
   2134 } xcb_button_index_t;
   2135 
   2136 /** Opcode for xcb_grab_button. */
   2137 #define XCB_GRAB_BUTTON 28
   2138 
   2139 /**
   2140  * @brief xcb_grab_button_request_t
   2141  **/
   2142 typedef struct xcb_grab_button_request_t {
   2143     uint8_t      major_opcode; /**<  */
   2144     uint8_t      owner_events; /**<  */
   2145     uint16_t     length; /**<  */
   2146     xcb_window_t grab_window; /**<  */
   2147     uint16_t     event_mask; /**<  */
   2148     uint8_t      pointer_mode; /**<  */
   2149     uint8_t      keyboard_mode; /**<  */
   2150     xcb_window_t confine_to; /**<  */
   2151     xcb_cursor_t cursor; /**<  */
   2152     uint8_t      button; /**<  */
   2153     uint8_t      pad0; /**<  */
   2154     uint16_t     modifiers; /**<  */
   2155 } xcb_grab_button_request_t;
   2156 
   2157 /** Opcode for xcb_ungrab_button. */
   2158 #define XCB_UNGRAB_BUTTON 29
   2159 
   2160 /**
   2161  * @brief xcb_ungrab_button_request_t
   2162  **/
   2163 typedef struct xcb_ungrab_button_request_t {
   2164     uint8_t      major_opcode; /**<  */
   2165     uint8_t      button; /**<  */
   2166     uint16_t     length; /**<  */
   2167     xcb_window_t grab_window; /**<  */
   2168     uint16_t     modifiers; /**<  */
   2169     uint8_t      pad0[2]; /**<  */
   2170 } xcb_ungrab_button_request_t;
   2171 
   2172 /** Opcode for xcb_change_active_pointer_grab. */
   2173 #define XCB_CHANGE_ACTIVE_POINTER_GRAB 30
   2174 
   2175 /**
   2176  * @brief xcb_change_active_pointer_grab_request_t
   2177  **/
   2178 typedef struct xcb_change_active_pointer_grab_request_t {
   2179     uint8_t         major_opcode; /**<  */
   2180     uint8_t         pad0; /**<  */
   2181     uint16_t        length; /**<  */
   2182     xcb_cursor_t    cursor; /**<  */
   2183     xcb_timestamp_t time; /**<  */
   2184     uint16_t        event_mask; /**<  */
   2185     uint8_t         pad1[2]; /**<  */
   2186 } xcb_change_active_pointer_grab_request_t;
   2187 
   2188 /**
   2189  * @brief xcb_grab_keyboard_cookie_t
   2190  **/
   2191 typedef struct xcb_grab_keyboard_cookie_t {
   2192     unsigned int sequence; /**<  */
   2193 } xcb_grab_keyboard_cookie_t;
   2194 
   2195 /** Opcode for xcb_grab_keyboard. */
   2196 #define XCB_GRAB_KEYBOARD 31
   2197 
   2198 /**
   2199  * @brief xcb_grab_keyboard_request_t
   2200  **/
   2201 typedef struct xcb_grab_keyboard_request_t {
   2202     uint8_t         major_opcode; /**<  */
   2203     uint8_t         owner_events; /**<  */
   2204     uint16_t        length; /**<  */
   2205     xcb_window_t    grab_window; /**<  */
   2206     xcb_timestamp_t time; /**<  */
   2207     uint8_t         pointer_mode; /**<  */
   2208     uint8_t         keyboard_mode; /**<  */
   2209     uint8_t         pad0[2]; /**<  */
   2210 } xcb_grab_keyboard_request_t;
   2211 
   2212 /**
   2213  * @brief xcb_grab_keyboard_reply_t
   2214  **/
   2215 typedef struct xcb_grab_keyboard_reply_t {
   2216     uint8_t  response_type; /**<  */
   2217     uint8_t  status; /**<  */
   2218     uint16_t sequence; /**<  */
   2219     uint32_t length; /**<  */
   2220 } xcb_grab_keyboard_reply_t;
   2221 
   2222 /** Opcode for xcb_ungrab_keyboard. */
   2223 #define XCB_UNGRAB_KEYBOARD 32
   2224 
   2225 /**
   2226  * @brief xcb_ungrab_keyboard_request_t
   2227  **/
   2228 typedef struct xcb_ungrab_keyboard_request_t {
   2229     uint8_t         major_opcode; /**<  */
   2230     uint8_t         pad0; /**<  */
   2231     uint16_t        length; /**<  */
   2232     xcb_timestamp_t time; /**<  */
   2233 } xcb_ungrab_keyboard_request_t;
   2234 
   2235 typedef enum xcb_grab_t {
   2236     XCB_GRAB_ANY = 0
   2237 } xcb_grab_t;
   2238 
   2239 /** Opcode for xcb_grab_key. */
   2240 #define XCB_GRAB_KEY 33
   2241 
   2242 /**
   2243  * @brief xcb_grab_key_request_t
   2244  **/
   2245 typedef struct xcb_grab_key_request_t {
   2246     uint8_t       major_opcode; /**<  */
   2247     uint8_t       owner_events; /**<  */
   2248     uint16_t      length; /**<  */
   2249     xcb_window_t  grab_window; /**<  */
   2250     uint16_t      modifiers; /**<  */
   2251     xcb_keycode_t key; /**<  */
   2252     uint8_t       pointer_mode; /**<  */
   2253     uint8_t       keyboard_mode; /**<  */
   2254     uint8_t       pad0[3]; /**<  */
   2255 } xcb_grab_key_request_t;
   2256 
   2257 /** Opcode for xcb_ungrab_key. */
   2258 #define XCB_UNGRAB_KEY 34
   2259 
   2260 /**
   2261  * @brief xcb_ungrab_key_request_t
   2262  **/
   2263 typedef struct xcb_ungrab_key_request_t {
   2264     uint8_t       major_opcode; /**<  */
   2265     xcb_keycode_t key; /**<  */
   2266     uint16_t      length; /**<  */
   2267     xcb_window_t  grab_window; /**<  */
   2268     uint16_t      modifiers; /**<  */
   2269     uint8_t       pad0[2]; /**<  */
   2270 } xcb_ungrab_key_request_t;
   2271 
   2272 typedef enum xcb_allow_t {
   2273     XCB_ALLOW_ASYNC_POINTER = 0,
   2274 /**< For AsyncPointer, if the pointer is frozen by the client, pointer event
   2275 processing continues normally. If the pointer is frozen twice by the client on
   2276 behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no
   2277 effect if the pointer is not frozen by the client, but the pointer need not be
   2278 grabbed by the client.
   2279 
   2280 TODO: rewrite this in more understandable terms. */
   2281 
   2282     XCB_ALLOW_SYNC_POINTER = 1,
   2283 /**< For SyncPointer, if the pointer is frozen and actively grabbed by the client,
   2284 pointer event processing continues normally until the next ButtonPress or
   2285 ButtonRelease event is reported to the client, at which time the pointer again
   2286 appears to freeze. However, if the reported event causes the pointer grab to be
   2287 released, then the pointer does not freeze. SyncPointer has no effect if the
   2288 pointer is not frozen by the client or if the pointer is not grabbed by the
   2289 client. */
   2290 
   2291     XCB_ALLOW_REPLAY_POINTER = 2,
   2292 /**< For ReplayPointer, if the pointer is actively grabbed by the client and is
   2293 frozen as the result of an event having been sent to the client (either from
   2294 the activation of a GrabButton or from a previous AllowEvents with mode
   2295 SyncPointer but not from a GrabPointer), then the pointer grab is released and
   2296 that event is completely reprocessed, this time ignoring any passive grabs at
   2297 or above (towards the root) the grab-window of the grab just released. The
   2298 request has no effect if the pointer is not grabbed by the client or if the
   2299 pointer is not frozen as the result of an event. */
   2300 
   2301     XCB_ALLOW_ASYNC_KEYBOARD = 3,
   2302 /**< For AsyncKeyboard, if the keyboard is frozen by the client, keyboard event
   2303 processing continues normally. If the keyboard is frozen twice by the client on
   2304 behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has
   2305 no effect if the keyboard is not frozen by the client, but the keyboard need
   2306 not be grabbed by the client. */
   2307 
   2308     XCB_ALLOW_SYNC_KEYBOARD = 4,
   2309 /**< For SyncKeyboard, if the keyboard is frozen and actively grabbed by the client,
   2310 keyboard event processing continues normally until the next KeyPress or
   2311 KeyRelease event is reported to the client, at which time the keyboard again
   2312 appears to freeze. However, if the reported event causes the keyboard grab to
   2313 be released, then the keyboard does not freeze. SyncKeyboard has no effect if
   2314 the keyboard is not frozen by the client or if the keyboard is not grabbed by
   2315 the client. */
   2316 
   2317     XCB_ALLOW_REPLAY_KEYBOARD = 5,
   2318 /**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is
   2319 frozen as the result of an event having been sent to the client (either from
   2320 the activation of a GrabKey or from a previous AllowEvents with mode
   2321 SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released
   2322 and that event is completely reprocessed, this time ignoring any passive grabs
   2323 at or above (towards the root) the grab-window of the grab just released. The
   2324 request has no effect if the keyboard is not grabbed by the client or if the
   2325 keyboard is not frozen as the result of an event. */
   2326 
   2327     XCB_ALLOW_ASYNC_BOTH = 6,
   2328 /**< For AsyncBoth, if the pointer and the keyboard are frozen by the client, event
   2329 processing for both devices continues normally. If a device is frozen twice by
   2330 the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth
   2331 has no effect unless both pointer and keyboard are frozen by the client. */
   2332 
   2333     XCB_ALLOW_SYNC_BOTH = 7
   2334 /**< For SyncBoth, if both pointer and keyboard are frozen by the client, event
   2335 processing (for both devices) continues normally until the next ButtonPress,
   2336 ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a
   2337 grabbed device (button event for the pointer, key event for the keyboard), at
   2338 which time the devices again appear to freeze. However, if the reported event
   2339 causes the grab to be released, then the devices do not freeze (but if the
   2340 other device is still grabbed, then a subsequent event for it will still cause
   2341 both devices to freeze). SyncBoth has no effect unless both pointer and
   2342 keyboard are frozen by the client. If the pointer or keyboard is frozen twice
   2343 by the client on behalf of two separate grabs, SyncBoth thaws for both (but a
   2344 subsequent freeze for SyncBoth will only freeze each device once). */
   2345 
   2346 } xcb_allow_t;
   2347 
   2348 /** Opcode for xcb_allow_events. */
   2349 #define XCB_ALLOW_EVENTS 35
   2350 
   2351 /**
   2352  * @brief xcb_allow_events_request_t
   2353  **/
   2354 typedef struct xcb_allow_events_request_t {
   2355     uint8_t         major_opcode; /**<  */
   2356     uint8_t         mode; /**<  */
   2357     uint16_t        length; /**<  */
   2358     xcb_timestamp_t time; /**<  */
   2359 } xcb_allow_events_request_t;
   2360 
   2361 /** Opcode for xcb_grab_server. */
   2362 #define XCB_GRAB_SERVER 36
   2363 
   2364 /**
   2365  * @brief xcb_grab_server_request_t
   2366  **/
   2367 typedef struct xcb_grab_server_request_t {
   2368     uint8_t  major_opcode; /**<  */
   2369     uint8_t  pad0; /**<  */
   2370     uint16_t length; /**<  */
   2371 } xcb_grab_server_request_t;
   2372 
   2373 /** Opcode for xcb_ungrab_server. */
   2374 #define XCB_UNGRAB_SERVER 37
   2375 
   2376 /**
   2377  * @brief xcb_ungrab_server_request_t
   2378  **/
   2379 typedef struct xcb_ungrab_server_request_t {
   2380     uint8_t  major_opcode; /**<  */
   2381     uint8_t  pad0; /**<  */
   2382     uint16_t length; /**<  */
   2383 } xcb_ungrab_server_request_t;
   2384 
   2385 /**
   2386  * @brief xcb_query_pointer_cookie_t
   2387  **/
   2388 typedef struct xcb_query_pointer_cookie_t {
   2389     unsigned int sequence; /**<  */
   2390 } xcb_query_pointer_cookie_t;
   2391 
   2392 /** Opcode for xcb_query_pointer. */
   2393 #define XCB_QUERY_POINTER 38
   2394 
   2395 /**
   2396  * @brief xcb_query_pointer_request_t
   2397  **/
   2398 typedef struct xcb_query_pointer_request_t {
   2399     uint8_t      major_opcode; /**<  */
   2400     uint8_t      pad0; /**<  */
   2401     uint16_t     length; /**<  */
   2402     xcb_window_t window; /**<  */
   2403 } xcb_query_pointer_request_t;
   2404 
   2405 /**
   2406  * @brief xcb_query_pointer_reply_t
   2407  **/
   2408 typedef struct xcb_query_pointer_reply_t {
   2409     uint8_t      response_type; /**<  */
   2410     uint8_t      same_screen; /**<  */
   2411     uint16_t     sequence; /**<  */
   2412     uint32_t     length; /**<  */
   2413     xcb_window_t root; /**<  */
   2414     xcb_window_t child; /**<  */
   2415     int16_t      root_x; /**<  */
   2416     int16_t      root_y; /**<  */
   2417     int16_t      win_x; /**<  */
   2418     int16_t      win_y; /**<  */
   2419     uint16_t     mask; /**<  */
   2420     uint8_t      pad0[2]; /**<  */
   2421 } xcb_query_pointer_reply_t;
   2422 
   2423 /**
   2424  * @brief xcb_timecoord_t
   2425  **/
   2426 typedef struct xcb_timecoord_t {
   2427     xcb_timestamp_t time; /**<  */
   2428     int16_t         x; /**<  */
   2429     int16_t         y; /**<  */
   2430 } xcb_timecoord_t;
   2431 
   2432 /**
   2433  * @brief xcb_timecoord_iterator_t
   2434  **/
   2435 typedef struct xcb_timecoord_iterator_t {
   2436     xcb_timecoord_t *data; /**<  */
   2437     int              rem; /**<  */
   2438     int              index; /**<  */
   2439 } xcb_timecoord_iterator_t;
   2440 
   2441 /**
   2442  * @brief xcb_get_motion_events_cookie_t
   2443  **/
   2444 typedef struct xcb_get_motion_events_cookie_t {
   2445     unsigned int sequence; /**<  */
   2446 } xcb_get_motion_events_cookie_t;
   2447 
   2448 /** Opcode for xcb_get_motion_events. */
   2449 #define XCB_GET_MOTION_EVENTS 39
   2450 
   2451 /**
   2452  * @brief xcb_get_motion_events_request_t
   2453  **/
   2454 typedef struct xcb_get_motion_events_request_t {
   2455     uint8_t         major_opcode; /**<  */
   2456     uint8_t         pad0; /**<  */
   2457     uint16_t        length; /**<  */
   2458     xcb_window_t    window; /**<  */
   2459     xcb_timestamp_t start; /**<  */
   2460     xcb_timestamp_t stop; /**<  */
   2461 } xcb_get_motion_events_request_t;
   2462 
   2463 /**
   2464  * @brief xcb_get_motion_events_reply_t
   2465  **/
   2466 typedef struct xcb_get_motion_events_reply_t {
   2467     uint8_t  response_type; /**<  */
   2468     uint8_t  pad0; /**<  */
   2469     uint16_t sequence; /**<  */
   2470     uint32_t length; /**<  */
   2471     uint32_t events_len; /**<  */
   2472     uint8_t  pad1[20]; /**<  */
   2473 } xcb_get_motion_events_reply_t;
   2474 
   2475 /**
   2476  * @brief xcb_translate_coordinates_cookie_t
   2477  **/
   2478 typedef struct xcb_translate_coordinates_cookie_t {
   2479     unsigned int sequence; /**<  */
   2480 } xcb_translate_coordinates_cookie_t;
   2481 
   2482 /** Opcode for xcb_translate_coordinates. */
   2483 #define XCB_TRANSLATE_COORDINATES 40
   2484 
   2485 /**
   2486  * @brief xcb_translate_coordinates_request_t
   2487  **/
   2488 typedef struct xcb_translate_coordinates_request_t {
   2489     uint8_t      major_opcode; /**<  */
   2490     uint8_t      pad0; /**<  */
   2491     uint16_t     length; /**<  */
   2492     xcb_window_t src_window; /**<  */
   2493     xcb_window_t dst_window; /**<  */
   2494     int16_t      src_x; /**<  */
   2495     int16_t      src_y; /**<  */
   2496 } xcb_translate_coordinates_request_t;
   2497 
   2498 /**
   2499  * @brief xcb_translate_coordinates_reply_t
   2500  **/
   2501 typedef struct xcb_translate_coordinates_reply_t {
   2502     uint8_t      response_type; /**<  */
   2503     uint8_t      same_screen; /**<  */
   2504     uint16_t     sequence; /**<  */
   2505     uint32_t     length; /**<  */
   2506     xcb_window_t child; /**<  */
   2507     int16_t      dst_x; /**<  */
   2508     int16_t      dst_y; /**<  */
   2509 } xcb_translate_coordinates_reply_t;
   2510 
   2511 /** Opcode for xcb_warp_pointer. */
   2512 #define XCB_WARP_POINTER 41
   2513 
   2514 /**
   2515  * @brief xcb_warp_pointer_request_t
   2516  **/
   2517 typedef struct xcb_warp_pointer_request_t {
   2518     uint8_t      major_opcode; /**<  */
   2519     uint8_t      pad0; /**<  */
   2520     uint16_t     length; /**<  */
   2521     xcb_window_t src_window; /**<  */
   2522     xcb_window_t dst_window; /**<  */
   2523     int16_t      src_x; /**<  */
   2524     int16_t      src_y; /**<  */
   2525     uint16_t     src_width; /**<  */
   2526     uint16_t     src_height; /**<  */
   2527     int16_t      dst_x; /**<  */
   2528     int16_t      dst_y; /**<  */
   2529 } xcb_warp_pointer_request_t;
   2530 
   2531 typedef enum xcb_input_focus_t {
   2532     XCB_INPUT_FOCUS_NONE = 0,
   2533 /**< The focus reverts to `XCB_NONE`, so no window will have the input focus. */
   2534 
   2535     XCB_INPUT_FOCUS_POINTER_ROOT = 1,
   2536 /**< The focus reverts to `XCB_POINTER_ROOT` respectively. When the focus reverts,
   2537 FocusIn and FocusOut events are generated, but the last-focus-change time is
   2538 not changed. */
   2539 
   2540     XCB_INPUT_FOCUS_PARENT = 2,
   2541 /**< The focus reverts to the parent (or closest viewable ancestor) and the new
   2542 revert_to value is `XCB_INPUT_FOCUS_NONE`. */
   2543 
   2544     XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3
   2545 /**< NOT YET DOCUMENTED. Only relevant for the xinput extension. */
   2546 
   2547 } xcb_input_focus_t;
   2548 
   2549 /** Opcode for xcb_set_input_focus. */
   2550 #define XCB_SET_INPUT_FOCUS 42
   2551 
   2552 /**
   2553  * @brief xcb_set_input_focus_request_t
   2554  **/
   2555 typedef struct xcb_set_input_focus_request_t {
   2556     uint8_t         major_opcode; /**<  */
   2557     uint8_t         revert_to; /**<  */
   2558     uint16_t        length; /**<  */
   2559     xcb_window_t    focus; /**<  */
   2560     xcb_timestamp_t time; /**<  */
   2561 } xcb_set_input_focus_request_t;
   2562 
   2563 /**
   2564  * @brief xcb_get_input_focus_cookie_t
   2565  **/
   2566 typedef struct xcb_get_input_focus_cookie_t {
   2567     unsigned int sequence; /**<  */
   2568 } xcb_get_input_focus_cookie_t;
   2569 
   2570 /** Opcode for xcb_get_input_focus. */
   2571 #define XCB_GET_INPUT_FOCUS 43
   2572 
   2573 /**
   2574  * @brief xcb_get_input_focus_request_t
   2575  **/
   2576 typedef struct xcb_get_input_focus_request_t {
   2577     uint8_t  major_opcode; /**<  */
   2578     uint8_t  pad0; /**<  */
   2579     uint16_t length; /**<  */
   2580 } xcb_get_input_focus_request_t;
   2581 
   2582 /**
   2583  * @brief xcb_get_input_focus_reply_t
   2584  **/
   2585 typedef struct xcb_get_input_focus_reply_t {
   2586     uint8_t      response_type; /**<  */
   2587     uint8_t      revert_to; /**<  */
   2588     uint16_t     sequence; /**<  */
   2589     uint32_t     length; /**<  */
   2590     xcb_window_t focus; /**<  */
   2591 } xcb_get_input_focus_reply_t;
   2592 
   2593 /**
   2594  * @brief xcb_query_keymap_cookie_t
   2595  **/
   2596 typedef struct xcb_query_keymap_cookie_t {
   2597     unsigned int sequence; /**<  */
   2598 } xcb_query_keymap_cookie_t;
   2599 
   2600 /** Opcode for xcb_query_keymap. */
   2601 #define XCB_QUERY_KEYMAP 44
   2602 
   2603 /**
   2604  * @brief xcb_query_keymap_request_t
   2605  **/
   2606 typedef struct xcb_query_keymap_request_t {
   2607     uint8_t  major_opcode; /**<  */
   2608     uint8_t  pad0; /**<  */
   2609     uint16_t length; /**<  */
   2610 } xcb_query_keymap_request_t;
   2611 
   2612 /**
   2613  * @brief xcb_query_keymap_reply_t
   2614  **/
   2615 typedef struct xcb_query_keymap_reply_t {
   2616     uint8_t  response_type; /**<  */
   2617     uint8_t  pad0; /**<  */
   2618     uint16_t sequence; /**<  */
   2619     uint32_t length; /**<  */
   2620     uint8_t  keys[32]; /**<  */
   2621 } xcb_query_keymap_reply_t;
   2622 
   2623 /** Opcode for xcb_open_font. */
   2624 #define XCB_OPEN_FONT 45
   2625 
   2626 /**
   2627  * @brief xcb_open_font_request_t
   2628  **/
   2629 typedef struct xcb_open_font_request_t {
   2630     uint8_t    major_opcode; /**<  */
   2631     uint8_t    pad0; /**<  */
   2632     uint16_t   length; /**<  */
   2633     xcb_font_t fid; /**<  */
   2634     uint16_t   name_len; /**<  */
   2635     uint8_t    pad1[2]; /**<  */
   2636 } xcb_open_font_request_t;
   2637 
   2638 /** Opcode for xcb_close_font. */
   2639 #define XCB_CLOSE_FONT 46
   2640 
   2641 /**
   2642  * @brief xcb_close_font_request_t
   2643  **/
   2644 typedef struct xcb_close_font_request_t {
   2645     uint8_t    major_opcode; /**<  */
   2646     uint8_t    pad0; /**<  */
   2647     uint16_t   length; /**<  */
   2648     xcb_font_t font; /**<  */
   2649 } xcb_close_font_request_t;
   2650 
   2651 typedef enum xcb_font_draw_t {
   2652     XCB_FONT_DRAW_LEFT_TO_RIGHT = 0,
   2653     XCB_FONT_DRAW_RIGHT_TO_LEFT = 1
   2654 } xcb_font_draw_t;
   2655 
   2656 /**
   2657  * @brief xcb_fontprop_t
   2658  **/
   2659 typedef struct xcb_fontprop_t {
   2660     xcb_atom_t name; /**<  */
   2661     uint32_t   value; /**<  */
   2662 } xcb_fontprop_t;
   2663 
   2664 /**
   2665  * @brief xcb_fontprop_iterator_t
   2666  **/
   2667 typedef struct xcb_fontprop_iterator_t {
   2668     xcb_fontprop_t *data; /**<  */
   2669     int             rem; /**<  */
   2670     int             index; /**<  */
   2671 } xcb_fontprop_iterator_t;
   2672 
   2673 /**
   2674  * @brief xcb_charinfo_t
   2675  **/
   2676 typedef struct xcb_charinfo_t {
   2677     int16_t  left_side_bearing; /**<  */
   2678     int16_t  right_side_bearing; /**<  */
   2679     int16_t  character_width; /**<  */
   2680     int16_t  ascent; /**<  */
   2681     int16_t  descent; /**<  */
   2682     uint16_t attributes; /**<  */
   2683 } xcb_charinfo_t;
   2684 
   2685 /**
   2686  * @brief xcb_charinfo_iterator_t
   2687  **/
   2688 typedef struct xcb_charinfo_iterator_t {
   2689     xcb_charinfo_t *data; /**<  */
   2690     int             rem; /**<  */
   2691     int             index; /**<  */
   2692 } xcb_charinfo_iterator_t;
   2693 
   2694 /**
   2695  * @brief xcb_query_font_cookie_t
   2696  **/
   2697 typedef struct xcb_query_font_cookie_t {
   2698     unsigned int sequence; /**<  */
   2699 } xcb_query_font_cookie_t;
   2700 
   2701 /** Opcode for xcb_query_font. */
   2702 #define XCB_QUERY_FONT 47
   2703 
   2704 /**
   2705  * @brief xcb_query_font_request_t
   2706  **/
   2707 typedef struct xcb_query_font_request_t {
   2708     uint8_t        major_opcode; /**<  */
   2709     uint8_t        pad0; /**<  */
   2710     uint16_t       length; /**<  */
   2711     xcb_fontable_t font; /**<  */
   2712 } xcb_query_font_request_t;
   2713 
   2714 /**
   2715  * @brief xcb_query_font_reply_t
   2716  **/
   2717 typedef struct xcb_query_font_reply_t {
   2718     uint8_t        response_type; /**<  */
   2719     uint8_t        pad0; /**<  */
   2720     uint16_t       sequence; /**<  */
   2721     uint32_t       length; /**<  */
   2722     xcb_charinfo_t min_bounds; /**<  */
   2723     uint8_t        pad1[4]; /**<  */
   2724     xcb_charinfo_t max_bounds; /**<  */
   2725     uint8_t        pad2[4]; /**<  */
   2726     uint16_t       min_char_or_byte2; /**<  */
   2727     uint16_t       max_char_or_byte2; /**<  */
   2728     uint16_t       default_char; /**<  */
   2729     uint16_t       properties_len; /**<  */
   2730     uint8_t        draw_direction; /**<  */
   2731     uint8_t        min_byte1; /**<  */
   2732     uint8_t        max_byte1; /**<  */
   2733     uint8_t        all_chars_exist; /**<  */
   2734     int16_t        font_ascent; /**<  */
   2735     int16_t        font_descent; /**<  */
   2736     uint32_t       char_infos_len; /**<  */
   2737 } xcb_query_font_reply_t;
   2738 
   2739 /**
   2740  * @brief xcb_query_text_extents_cookie_t
   2741  **/
   2742 typedef struct xcb_query_text_extents_cookie_t {
   2743     unsigned int sequence; /**<  */
   2744 } xcb_query_text_extents_cookie_t;
   2745 
   2746 /** Opcode for xcb_query_text_extents. */
   2747 #define XCB_QUERY_TEXT_EXTENTS 48
   2748 
   2749 /**
   2750  * @brief xcb_query_text_extents_request_t
   2751  **/
   2752 typedef struct xcb_query_text_extents_request_t {
   2753     uint8_t        major_opcode; /**<  */
   2754     uint8_t        odd_length; /**<  */
   2755     uint16_t       length; /**<  */
   2756     xcb_fontable_t font; /**<  */
   2757 } xcb_query_text_extents_request_t;
   2758 
   2759 /**
   2760  * @brief xcb_query_text_extents_reply_t
   2761  **/
   2762 typedef struct xcb_query_text_extents_reply_t {
   2763     uint8_t  response_type; /**<  */
   2764     uint8_t  draw_direction; /**<  */
   2765     uint16_t sequence; /**<  */
   2766     uint32_t length; /**<  */
   2767     int16_t  font_ascent; /**<  */
   2768     int16_t  font_descent; /**<  */
   2769     int16_t  overall_ascent; /**<  */
   2770     int16_t  overall_descent; /**<  */
   2771     int32_t  overall_width; /**<  */
   2772     int32_t  overall_left; /**<  */
   2773     int32_t  overall_right; /**<  */
   2774 } xcb_query_text_extents_reply_t;
   2775 
   2776 /**
   2777  * @brief xcb_str_t
   2778  **/
   2779 typedef struct xcb_str_t {
   2780     uint8_t name_len; /**<  */
   2781 } xcb_str_t;
   2782 
   2783 /**
   2784  * @brief xcb_str_iterator_t
   2785  **/
   2786 typedef struct xcb_str_iterator_t {
   2787     xcb_str_t *data; /**<  */
   2788     int        rem; /**<  */
   2789     int        index; /**<  */
   2790 } xcb_str_iterator_t;
   2791 
   2792 /**
   2793  * @brief xcb_list_fonts_cookie_t
   2794  **/
   2795 typedef struct xcb_list_fonts_cookie_t {
   2796     unsigned int sequence; /**<  */
   2797 } xcb_list_fonts_cookie_t;
   2798 
   2799 /** Opcode for xcb_list_fonts. */
   2800 #define XCB_LIST_FONTS 49
   2801 
   2802 /**
   2803  * @brief xcb_list_fonts_request_t
   2804  **/
   2805 typedef struct xcb_list_fonts_request_t {
   2806     uint8_t  major_opcode; /**<  */
   2807     uint8_t  pad0; /**<  */
   2808     uint16_t length; /**<  */
   2809     uint16_t max_names; /**<  */
   2810     uint16_t pattern_len; /**<  */
   2811 } xcb_list_fonts_request_t;
   2812 
   2813 /**
   2814  * @brief xcb_list_fonts_reply_t
   2815  **/
   2816 typedef struct xcb_list_fonts_reply_t {
   2817     uint8_t  response_type; /**<  */
   2818     uint8_t  pad0; /**<  */
   2819     uint16_t sequence; /**<  */
   2820     uint32_t length; /**<  */
   2821     uint16_t names_len; /**<  */
   2822     uint8_t  pad1[22]; /**<  */
   2823 } xcb_list_fonts_reply_t;
   2824 
   2825 /**
   2826  * @brief xcb_list_fonts_with_info_cookie_t
   2827  **/
   2828 typedef struct xcb_list_fonts_with_info_cookie_t {
   2829     unsigned int sequence; /**<  */
   2830 } xcb_list_fonts_with_info_cookie_t;
   2831 
   2832 /** Opcode for xcb_list_fonts_with_info. */
   2833 #define XCB_LIST_FONTS_WITH_INFO 50
   2834 
   2835 /**
   2836  * @brief xcb_list_fonts_with_info_request_t
   2837  **/
   2838 typedef struct xcb_list_fonts_with_info_request_t {
   2839     uint8_t  major_opcode; /**<  */
   2840     uint8_t  pad0; /**<  */
   2841     uint16_t length; /**<  */
   2842     uint16_t max_names; /**<  */
   2843     uint16_t pattern_len; /**<  */
   2844 } xcb_list_fonts_with_info_request_t;
   2845 
   2846 /**
   2847  * @brief xcb_list_fonts_with_info_reply_t
   2848  **/
   2849 typedef struct xcb_list_fonts_with_info_reply_t {
   2850     uint8_t        response_type; /**<  */
   2851     uint8_t        name_len; /**<  */
   2852     uint16_t       sequence; /**<  */
   2853     uint32_t       length; /**<  */
   2854     xcb_charinfo_t min_bounds; /**<  */
   2855     uint8_t        pad0[4]; /**<  */
   2856     xcb_charinfo_t max_bounds; /**<  */
   2857     uint8_t        pad1[4]; /**<  */
   2858     uint16_t       min_char_or_byte2; /**<  */
   2859     uint16_t       max_char_or_byte2; /**<  */
   2860     uint16_t       default_char; /**<  */
   2861     uint16_t       properties_len; /**<  */
   2862     uint8_t        draw_direction; /**<  */
   2863     uint8_t        min_byte1; /**<  */
   2864     uint8_t        max_byte1; /**<  */
   2865     uint8_t        all_chars_exist; /**<  */
   2866     int16_t        font_ascent; /**<  */
   2867     int16_t        font_descent; /**<  */
   2868     uint32_t       replies_hint; /**<  */
   2869 } xcb_list_fonts_with_info_reply_t;
   2870 
   2871 /** Opcode for xcb_set_font_path. */
   2872 #define XCB_SET_FONT_PATH 51
   2873 
   2874 /**
   2875  * @brief xcb_set_font_path_request_t
   2876  **/
   2877 typedef struct xcb_set_font_path_request_t {
   2878     uint8_t  major_opcode; /**<  */
   2879     uint8_t  pad0; /**<  */
   2880     uint16_t length; /**<  */
   2881     uint16_t font_qty; /**<  */
   2882     uint8_t  pad1[2]; /**<  */
   2883 } xcb_set_font_path_request_t;
   2884 
   2885 /**
   2886  * @brief xcb_get_font_path_cookie_t
   2887  **/
   2888 typedef struct xcb_get_font_path_cookie_t {
   2889     unsigned int sequence; /**<  */
   2890 } xcb_get_font_path_cookie_t;
   2891 
   2892 /** Opcode for xcb_get_font_path. */
   2893 #define XCB_GET_FONT_PATH 52
   2894 
   2895 /**
   2896  * @brief xcb_get_font_path_request_t
   2897  **/
   2898 typedef struct xcb_get_font_path_request_t {
   2899     uint8_t  major_opcode; /**<  */
   2900     uint8_t  pad0; /**<  */
   2901     uint16_t length; /**<  */
   2902 } xcb_get_font_path_request_t;
   2903 
   2904 /**
   2905  * @brief xcb_get_font_path_reply_t
   2906  **/
   2907 typedef struct xcb_get_font_path_reply_t {
   2908     uint8_t  response_type; /**<  */
   2909     uint8_t  pad0; /**<  */
   2910     uint16_t sequence; /**<  */
   2911     uint32_t length; /**<  */
   2912     uint16_t path_len; /**<  */
   2913     uint8_t  pad1[22]; /**<  */
   2914 } xcb_get_font_path_reply_t;
   2915 
   2916 /** Opcode for xcb_create_pixmap. */
   2917 #define XCB_CREATE_PIXMAP 53
   2918 
   2919 /**
   2920  * @brief xcb_create_pixmap_request_t
   2921  **/
   2922 typedef struct xcb_create_pixmap_request_t {
   2923     uint8_t        major_opcode; /**<  */
   2924     uint8_t        depth; /**<  */
   2925     uint16_t       length; /**<  */
   2926     xcb_pixmap_t   pid; /**<  */
   2927     xcb_drawable_t drawable; /**<  */
   2928     uint16_t       width; /**<  */
   2929     uint16_t       height; /**<  */
   2930 } xcb_create_pixmap_request_t;
   2931 
   2932 /** Opcode for xcb_free_pixmap. */
   2933 #define XCB_FREE_PIXMAP 54
   2934 
   2935 /**
   2936  * @brief xcb_free_pixmap_request_t
   2937  **/
   2938 typedef struct xcb_free_pixmap_request_t {
   2939     uint8_t      major_opcode; /**<  */
   2940     uint8_t      pad0; /**<  */
   2941     uint16_t     length; /**<  */
   2942     xcb_pixmap_t pixmap; /**<  */
   2943 } xcb_free_pixmap_request_t;
   2944 
   2945 typedef enum xcb_gc_t {
   2946     XCB_GC_FUNCTION = 1,
   2947 /**< TODO: Refer to GX */
   2948 
   2949     XCB_GC_PLANE_MASK = 2,
   2950 /**< In graphics operations, given a source and destination pixel, the result is
   2951 computed bitwise on corresponding bits of the pixels; that is, a Boolean
   2952 operation is performed in each bit plane. The plane-mask restricts the
   2953 operation to a subset of planes, so the result is:
   2954 
   2955         ((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask)) */
   2956 
   2957     XCB_GC_FOREGROUND = 4,
   2958 /**< Foreground colorpixel. */
   2959 
   2960     XCB_GC_BACKGROUND = 8,
   2961 /**< Background colorpixel. */
   2962 
   2963     XCB_GC_LINE_WIDTH = 16,
   2964 /**< The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the
   2965 special value zero, a thin line. */
   2966 
   2967     XCB_GC_LINE_STYLE = 32,
   2968 /**< The line-style defines which sections of a line are drawn:
   2969 Solid                The full path of the line is drawn.
   2970 DoubleDash           The full path of the line is drawn, but the even dashes are filled differently
   2971                      than the odd dashes (see fill-style), with Butt cap-style used where even and
   2972                      odd dashes meet.
   2973 OnOffDash            Only the even dashes are drawn, and cap-style applies to all internal ends of
   2974                      the individual dashes (except NotLast is treated as Butt). */
   2975 
   2976     XCB_GC_CAP_STYLE = 64,
   2977 /**< The cap-style defines how the endpoints of a path are drawn:
   2978 NotLast    The result is equivalent to Butt, except that for a line-width of zero the final
   2979            endpoint is not drawn.
   2980 Butt       The result is square at the endpoint (perpendicular to the slope of the line)
   2981            with no projection beyond.
   2982 Round      The result is a circular arc with its diameter equal to the line-width, centered
   2983            on the endpoint; it is equivalent to Butt for line-width zero.
   2984 Projecting The result is square at the end, but the path continues beyond the endpoint for
   2985            a distance equal to half the line-width; it is equivalent to Butt for line-width
   2986            zero. */
   2987 
   2988     XCB_GC_JOIN_STYLE = 128,
   2989 /**< The join-style defines how corners are drawn for wide lines:
   2990 Miter               The outer edges of the two lines extend to meet at an angle. However, if the
   2991                     angle is less than 11 degrees, a Bevel join-style is used instead.
   2992 Round               The result is a circular arc with a diameter equal to the line-width, centered
   2993                     on the joinpoint.
   2994 Bevel               The result is Butt endpoint styles, and then the triangular notch is filled. */
   2995 
   2996     XCB_GC_FILL_STYLE = 256,
   2997 /**< The fill-style defines the contents of the source for line, text, and fill requests. For all text and fill
   2998 requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc)
   2999 as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment,
   3000 PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash
   3001 or DoubleDash:
   3002 Solid                     Foreground
   3003 Tiled                     Tile
   3004 OpaqueStippled            A tile with the same width and height as stipple but with background
   3005                           everywhere stipple has a zero and with foreground everywhere stipple
   3006                           has a one
   3007 Stippled                  Foreground masked by stipple
   3008 For the odd dashes for line requests with line-style DoubleDash:
   3009 Solid                     Background
   3010 Tiled                     Same as for even dashes
   3011 OpaqueStippled            Same as for even dashes
   3012 Stippled                  Background masked by stipple */
   3013 
   3014     XCB_GC_FILL_RULE = 512,
   3015 /**<  */
   3016 
   3017     XCB_GC_TILE = 1024,
   3018 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
   3019 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
   3020 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
   3021 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
   3022 origin of whatever destination drawable is specified in a graphics request.
   3023 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
   3024 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
   3025 Match error results). For fill-style Stippled (but not fill-style
   3026 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
   3027 additional clip mask to be ANDed with the clip-mask.
   3028 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
   3029 others. */
   3030 
   3031     XCB_GC_STIPPLE = 2048,
   3032 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
   3033 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
   3034 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
   3035 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
   3036 origin of whatever destination drawable is specified in a graphics request.
   3037 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
   3038 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
   3039 Match error results). For fill-style Stippled (but not fill-style
   3040 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
   3041 additional clip mask to be ANDed with the clip-mask.
   3042 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
   3043 others. */
   3044 
   3045     XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096,
   3046 /**< TODO */
   3047 
   3048     XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192,
   3049 /**< TODO */
   3050 
   3051     XCB_GC_FONT = 16384,
   3052 /**< Which font to use for the `ImageText8` and `ImageText16` requests. */
   3053 
   3054     XCB_GC_SUBWINDOW_MODE = 32768,
   3055 /**< For ClipByChildren, both source and destination windows are additionally
   3056 clipped by all viewable InputOutput children. For IncludeInferiors, neither
   3057 source nor destination window is
   3058 clipped by inferiors. This will result in including subwindow contents in the source and drawing
   3059 through subwindow boundaries of the destination. The use of IncludeInferiors with a source or
   3060 destination window of one depth with mapped inferiors of differing depth is not illegal, but the
   3061 semantics is undefined by the core protocol. */
   3062 
   3063     XCB_GC_GRAPHICS_EXPOSURES = 65536,
   3064 /**< Whether ExposureEvents should be generated (1) or not (0).
   3065 
   3066 The default is 1. */
   3067 
   3068     XCB_GC_CLIP_ORIGIN_X = 131072,
   3069 /**< TODO */
   3070 
   3071     XCB_GC_CLIP_ORIGIN_Y = 262144,
   3072 /**< TODO */
   3073 
   3074     XCB_GC_CLIP_MASK = 524288,
   3075 /**< The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has
   3076 bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where
   3077 the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip
   3078 sources. The clip-mask origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. If a pixmap is specified as the clip-mask, it must have
   3079 depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None,
   3080 then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the
   3081 SetClipRectangles request. */
   3082 
   3083     XCB_GC_DASH_OFFSET = 1048576,
   3084 /**< TODO */
   3085 
   3086     XCB_GC_DASH_LIST = 2097152,
   3087 /**< TODO */
   3088 
   3089     XCB_GC_ARC_MODE = 4194304
   3090 /**< TODO */
   3091 
   3092 } xcb_gc_t;
   3093 
   3094 typedef enum xcb_gx_t {
   3095     XCB_GX_CLEAR = 0,
   3096     XCB_GX_AND = 1,
   3097     XCB_GX_AND_REVERSE = 2,
   3098     XCB_GX_COPY = 3,
   3099     XCB_GX_AND_INVERTED = 4,
   3100     XCB_GX_NOOP = 5,
   3101     XCB_GX_XOR = 6,
   3102     XCB_GX_OR = 7,
   3103     XCB_GX_NOR = 8,
   3104     XCB_GX_EQUIV = 9,
   3105     XCB_GX_INVERT = 10,
   3106     XCB_GX_OR_REVERSE = 11,
   3107     XCB_GX_COPY_INVERTED = 12,
   3108     XCB_GX_OR_INVERTED = 13,
   3109     XCB_GX_NAND = 14,
   3110     XCB_GX_SET = 15
   3111 } xcb_gx_t;
   3112 
   3113 typedef enum xcb_line_style_t {
   3114     XCB_LINE_STYLE_SOLID = 0,
   3115     XCB_LINE_STYLE_ON_OFF_DASH = 1,
   3116     XCB_LINE_STYLE_DOUBLE_DASH = 2
   3117 } xcb_line_style_t;
   3118 
   3119 typedef enum xcb_cap_style_t {
   3120     XCB_CAP_STYLE_NOT_LAST = 0,
   3121     XCB_CAP_STYLE_BUTT = 1,
   3122     XCB_CAP_STYLE_ROUND = 2,
   3123     XCB_CAP_STYLE_PROJECTING = 3
   3124 } xcb_cap_style_t;
   3125 
   3126 typedef enum xcb_join_style_t {
   3127     XCB_JOIN_STYLE_MITER = 0,
   3128     XCB_JOIN_STYLE_ROUND = 1,
   3129     XCB_JOIN_STYLE_BEVEL = 2
   3130 } xcb_join_style_t;
   3131 
   3132 typedef enum xcb_fill_style_t {
   3133     XCB_FILL_STYLE_SOLID = 0,
   3134     XCB_FILL_STYLE_TILED = 1,
   3135     XCB_FILL_STYLE_STIPPLED = 2,
   3136     XCB_FILL_STYLE_OPAQUE_STIPPLED = 3
   3137 } xcb_fill_style_t;
   3138 
   3139 typedef enum xcb_fill_rule_t {
   3140     XCB_FILL_RULE_EVEN_ODD = 0,
   3141     XCB_FILL_RULE_WINDING = 1
   3142 } xcb_fill_rule_t;
   3143 
   3144 typedef enum xcb_subwindow_mode_t {
   3145     XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0,
   3146     XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1
   3147 } xcb_subwindow_mode_t;
   3148 
   3149 typedef enum xcb_arc_mode_t {
   3150     XCB_ARC_MODE_CHORD = 0,
   3151     XCB_ARC_MODE_PIE_SLICE = 1
   3152 } xcb_arc_mode_t;
   3153 
   3154 /** Opcode for xcb_create_gc. */
   3155 #define XCB_CREATE_GC 55
   3156 
   3157 /**
   3158  * @brief xcb_create_gc_request_t
   3159  **/
   3160 typedef struct xcb_create_gc_request_t {
   3161     uint8_t        major_opcode; /**<  */
   3162     uint8_t        pad0; /**<  */
   3163     uint16_t       length; /**<  */
   3164     xcb_gcontext_t cid; /**<  */
   3165     xcb_drawable_t drawable; /**<  */
   3166     uint32_t       value_mask; /**<  */
   3167 } xcb_create_gc_request_t;
   3168 
   3169 /** Opcode for xcb_change_gc. */
   3170 #define XCB_CHANGE_GC 56
   3171 
   3172 /**
   3173  * @brief xcb_change_gc_request_t
   3174  **/
   3175 typedef struct xcb_change_gc_request_t {
   3176     uint8_t        major_opcode; /**<  */
   3177     uint8_t        pad0; /**<  */
   3178     uint16_t       length; /**<  */
   3179     xcb_gcontext_t gc; /**<  */
   3180     uint32_t       value_mask; /**<  */
   3181 } xcb_change_gc_request_t;
   3182 
   3183 /** Opcode for xcb_copy_gc. */
   3184 #define XCB_COPY_GC 57
   3185 
   3186 /**
   3187  * @brief xcb_copy_gc_request_t
   3188  **/
   3189 typedef struct xcb_copy_gc_request_t {
   3190     uint8_t        major_opcode; /**<  */
   3191     uint8_t        pad0; /**<  */
   3192     uint16_t       length; /**<  */
   3193     xcb_gcontext_t src_gc; /**<  */
   3194     xcb_gcontext_t dst_gc; /**<  */
   3195     uint32_t       value_mask; /**<  */
   3196 } xcb_copy_gc_request_t;
   3197 
   3198 /** Opcode for xcb_set_dashes. */
   3199 #define XCB_SET_DASHES 58
   3200 
   3201 /**
   3202  * @brief xcb_set_dashes_request_t
   3203  **/
   3204 typedef struct xcb_set_dashes_request_t {
   3205     uint8_t        major_opcode; /**<  */
   3206     uint8_t        pad0; /**<  */
   3207     uint16_t       length; /**<  */
   3208     xcb_gcontext_t gc; /**<  */
   3209     uint16_t       dash_offset; /**<  */
   3210     uint16_t       dashes_len; /**<  */
   3211 } xcb_set_dashes_request_t;
   3212 
   3213 typedef enum xcb_clip_ordering_t {
   3214     XCB_CLIP_ORDERING_UNSORTED = 0,
   3215     XCB_CLIP_ORDERING_Y_SORTED = 1,
   3216     XCB_CLIP_ORDERING_YX_SORTED = 2,
   3217     XCB_CLIP_ORDERING_YX_BANDED = 3
   3218 } xcb_clip_ordering_t;
   3219 
   3220 /** Opcode for xcb_set_clip_rectangles. */
   3221 #define XCB_SET_CLIP_RECTANGLES 59
   3222 
   3223 /**
   3224  * @brief xcb_set_clip_rectangles_request_t
   3225  **/
   3226 typedef struct xcb_set_clip_rectangles_request_t {
   3227     uint8_t        major_opcode; /**<  */
   3228     uint8_t        ordering; /**<  */
   3229     uint16_t       length; /**<  */
   3230     xcb_gcontext_t gc; /**<  */
   3231     int16_t        clip_x_origin; /**<  */
   3232     int16_t        clip_y_origin; /**<  */
   3233 } xcb_set_clip_rectangles_request_t;
   3234 
   3235 /** Opcode for xcb_free_gc. */
   3236 #define XCB_FREE_GC 60
   3237 
   3238 /**
   3239  * @brief xcb_free_gc_request_t
   3240  **/
   3241 typedef struct xcb_free_gc_request_t {
   3242     uint8_t        major_opcode; /**<  */
   3243     uint8_t        pad0; /**<  */
   3244     uint16_t       length; /**<  */
   3245     xcb_gcontext_t gc; /**<  */
   3246 } xcb_free_gc_request_t;
   3247 
   3248 /** Opcode for xcb_clear_area. */
   3249 #define XCB_CLEAR_AREA 61
   3250 
   3251 /**
   3252  * @brief xcb_clear_area_request_t
   3253  **/
   3254 typedef struct xcb_clear_area_request_t {
   3255     uint8_t      major_opcode; /**<  */
   3256     uint8_t      exposures; /**<  */
   3257     uint16_t     length; /**<  */
   3258     xcb_window_t window; /**<  */
   3259     int16_t      x; /**<  */
   3260     int16_t      y; /**<  */
   3261     uint16_t     width; /**<  */
   3262     uint16_t     height; /**<  */
   3263 } xcb_clear_area_request_t;
   3264 
   3265 /** Opcode for xcb_copy_area. */
   3266 #define XCB_COPY_AREA 62
   3267 
   3268 /**
   3269  * @brief xcb_copy_area_request_t
   3270  **/
   3271 typedef struct xcb_copy_area_request_t {
   3272     uint8_t        major_opcode; /**<  */
   3273     uint8_t        pad0; /**<  */
   3274     uint16_t       length; /**<  */
   3275     xcb_drawable_t src_drawable; /**<  */
   3276     xcb_drawable_t dst_drawable; /**<  */
   3277     xcb_gcontext_t gc; /**<  */
   3278     int16_t        src_x; /**<  */
   3279     int16_t        src_y; /**<  */
   3280     int16_t        dst_x; /**<  */
   3281     int16_t        dst_y; /**<  */
   3282     uint16_t       width; /**<  */
   3283     uint16_t       height; /**<  */
   3284 } xcb_copy_area_request_t;
   3285 
   3286 /** Opcode for xcb_copy_plane. */
   3287 #define XCB_COPY_PLANE 63
   3288 
   3289 /**
   3290  * @brief xcb_copy_plane_request_t
   3291  **/
   3292 typedef struct xcb_copy_plane_request_t {
   3293     uint8_t        major_opcode; /**<  */
   3294     uint8_t        pad0; /**<  */
   3295     uint16_t       length; /**<  */
   3296     xcb_drawable_t src_drawable; /**<  */
   3297     xcb_drawable_t dst_drawable; /**<  */
   3298     xcb_gcontext_t gc; /**<  */
   3299     int16_t        src_x; /**<  */
   3300     int16_t        src_y; /**<  */
   3301     int16_t        dst_x; /**<  */
   3302     int16_t        dst_y; /**<  */
   3303     uint16_t       width; /**<  */
   3304     uint16_t       height; /**<  */
   3305     uint32_t       bit_plane; /**<  */
   3306 } xcb_copy_plane_request_t;
   3307 
   3308 typedef enum xcb_coord_mode_t {
   3309     XCB_COORD_MODE_ORIGIN = 0,
   3310 /**< Treats all coordinates as relative to the origin. */
   3311 
   3312     XCB_COORD_MODE_PREVIOUS = 1
   3313 /**< Treats all coordinates after the first as relative to the previous coordinate. */
   3314 
   3315 } xcb_coord_mode_t;
   3316 
   3317 /** Opcode for xcb_poly_point. */
   3318 #define XCB_POLY_POINT 64
   3319 
   3320 /**
   3321  * @brief xcb_poly_point_request_t
   3322  **/
   3323 typedef struct xcb_poly_point_request_t {
   3324     uint8_t        major_opcode; /**<  */
   3325     uint8_t        coordinate_mode; /**<  */
   3326     uint16_t       length; /**<  */
   3327     xcb_drawable_t drawable; /**<  */
   3328     xcb_gcontext_t gc; /**<  */
   3329 } xcb_poly_point_request_t;
   3330 
   3331 /** Opcode for xcb_poly_line. */
   3332 #define XCB_POLY_LINE 65
   3333 
   3334 /**
   3335  * @brief xcb_poly_line_request_t
   3336  **/
   3337 typedef struct xcb_poly_line_request_t {
   3338     uint8_t        major_opcode; /**<  */
   3339     uint8_t        coordinate_mode; /**<  */
   3340     uint16_t       length; /**<  */
   3341     xcb_drawable_t drawable; /**<  */
   3342     xcb_gcontext_t gc; /**<  */
   3343 } xcb_poly_line_request_t;
   3344 
   3345 /**
   3346  * @brief xcb_segment_t
   3347  **/
   3348 typedef struct xcb_segment_t {
   3349     int16_t x1; /**<  */
   3350     int16_t y1; /**<  */
   3351     int16_t x2; /**<  */
   3352     int16_t y2; /**<  */
   3353 } xcb_segment_t;
   3354 
   3355 /**
   3356  * @brief xcb_segment_iterator_t
   3357  **/
   3358 typedef struct xcb_segment_iterator_t {
   3359     xcb_segment_t *data; /**<  */
   3360     int            rem; /**<  */
   3361     int            index; /**<  */
   3362 } xcb_segment_iterator_t;
   3363 
   3364 /** Opcode for xcb_poly_segment. */
   3365 #define XCB_POLY_SEGMENT 66
   3366 
   3367 /**
   3368  * @brief xcb_poly_segment_request_t
   3369  **/
   3370 typedef struct xcb_poly_segment_request_t {
   3371     uint8_t        major_opcode; /**<  */
   3372     uint8_t        pad0; /**<  */
   3373     uint16_t       length; /**<  */
   3374     xcb_drawable_t drawable; /**<  */
   3375     xcb_gcontext_t gc; /**<  */
   3376 } xcb_poly_segment_request_t;
   3377 
   3378 /** Opcode for xcb_poly_rectangle. */
   3379 #define XCB_POLY_RECTANGLE 67
   3380 
   3381 /**
   3382  * @brief xcb_poly_rectangle_request_t
   3383  **/
   3384 typedef struct xcb_poly_rectangle_request_t {
   3385     uint8_t        major_opcode; /**<  */
   3386     uint8_t        pad0; /**<  */
   3387     uint16_t       length; /**<  */
   3388     xcb_drawable_t drawable; /**<  */
   3389     xcb_gcontext_t gc; /**<  */
   3390 } xcb_poly_rectangle_request_t;
   3391 
   3392 /** Opcode for xcb_poly_arc. */
   3393 #define XCB_POLY_ARC 68
   3394 
   3395 /**
   3396  * @brief xcb_poly_arc_request_t
   3397  **/
   3398 typedef struct xcb_poly_arc_request_t {
   3399     uint8_t        major_opcode; /**<  */
   3400     uint8_t        pad0; /**<  */
   3401     uint16_t       length; /**<  */
   3402     xcb_drawable_t drawable; /**<  */
   3403     xcb_gcontext_t gc; /**<  */
   3404 } xcb_poly_arc_request_t;
   3405 
   3406 typedef enum xcb_poly_shape_t {
   3407     XCB_POLY_SHAPE_COMPLEX = 0,
   3408     XCB_POLY_SHAPE_NONCONVEX = 1,
   3409     XCB_POLY_SHAPE_CONVEX = 2
   3410 } xcb_poly_shape_t;
   3411 
   3412 /** Opcode for xcb_fill_poly. */
   3413 #define XCB_FILL_POLY 69
   3414 
   3415 /**
   3416  * @brief xcb_fill_poly_request_t
   3417  **/
   3418 typedef struct xcb_fill_poly_request_t {
   3419     uint8_t        major_opcode; /**<  */
   3420     uint8_t        pad0; /**<  */
   3421     uint16_t       length; /**<  */
   3422     xcb_drawable_t drawable; /**<  */
   3423     xcb_gcontext_t gc; /**<  */
   3424     uint8_t        shape; /**<  */
   3425     uint8_t        coordinate_mode; /**<  */
   3426     uint8_t        pad1[2]; /**<  */
   3427 } xcb_fill_poly_request_t;
   3428 
   3429 /** Opcode for xcb_poly_fill_rectangle. */
   3430 #define XCB_POLY_FILL_RECTANGLE 70
   3431 
   3432 /**
   3433  * @brief xcb_poly_fill_rectangle_request_t
   3434  **/
   3435 typedef struct xcb_poly_fill_rectangle_request_t {
   3436     uint8_t        major_opcode; /**<  */
   3437     uint8_t        pad0; /**<  */
   3438     uint16_t       length; /**<  */
   3439     xcb_drawable_t drawable; /**<  */
   3440     xcb_gcontext_t gc; /**<  */
   3441 } xcb_poly_fill_rectangle_request_t;
   3442 
   3443 /** Opcode for xcb_poly_fill_arc. */
   3444 #define XCB_POLY_FILL_ARC 71
   3445 
   3446 /**
   3447  * @brief xcb_poly_fill_arc_request_t
   3448  **/
   3449 typedef struct xcb_poly_fill_arc_request_t {
   3450     uint8_t        major_opcode; /**<  */
   3451     uint8_t        pad0; /**<  */
   3452     uint16_t       length; /**<  */
   3453     xcb_drawable_t drawable; /**<  */
   3454     xcb_gcontext_t gc; /**<  */
   3455 } xcb_poly_fill_arc_request_t;
   3456 
   3457 typedef enum xcb_image_format_t {
   3458     XCB_IMAGE_FORMAT_XY_BITMAP = 0,
   3459     XCB_IMAGE_FORMAT_XY_PIXMAP = 1,
   3460     XCB_IMAGE_FORMAT_Z_PIXMAP = 2
   3461 } xcb_image_format_t;
   3462 
   3463 /** Opcode for xcb_put_image. */
   3464 #define XCB_PUT_IMAGE 72
   3465 
   3466 /**
   3467  * @brief xcb_put_image_request_t
   3468  **/
   3469 typedef struct xcb_put_image_request_t {
   3470     uint8_t        major_opcode; /**<  */
   3471     uint8_t        format; /**<  */
   3472     uint16_t       length; /**<  */
   3473     xcb_drawable_t drawable; /**<  */
   3474     xcb_gcontext_t gc; /**<  */
   3475     uint16_t       width; /**<  */
   3476     uint16_t       height; /**<  */
   3477     int16_t        dst_x; /**<  */
   3478     int16_t        dst_y; /**<  */
   3479     uint8_t        left_pad; /**<  */
   3480     uint8_t        depth; /**<  */
   3481     uint8_t        pad0[2]; /**<  */
   3482 } xcb_put_image_request_t;
   3483 
   3484 /**
   3485  * @brief xcb_get_image_cookie_t
   3486  **/
   3487 typedef struct xcb_get_image_cookie_t {
   3488     unsigned int sequence; /**<  */
   3489 } xcb_get_image_cookie_t;
   3490 
   3491 /** Opcode for xcb_get_image. */
   3492 #define XCB_GET_IMAGE 73
   3493 
   3494 /**
   3495  * @brief xcb_get_image_request_t
   3496  **/
   3497 typedef struct xcb_get_image_request_t {
   3498     uint8_t        major_opcode; /**<  */
   3499     uint8_t        format; /**<  */
   3500     uint16_t       length; /**<  */
   3501     xcb_drawable_t drawable; /**<  */
   3502     int16_t        x; /**<  */
   3503     int16_t        y; /**<  */
   3504     uint16_t       width; /**<  */
   3505     uint16_t       height; /**<  */
   3506     uint32_t       plane_mask; /**<  */
   3507 } xcb_get_image_request_t;
   3508 
   3509 /**
   3510  * @brief xcb_get_image_reply_t
   3511  **/
   3512 typedef struct xcb_get_image_reply_t {
   3513     uint8_t        response_type; /**<  */
   3514     uint8_t        depth; /**<  */
   3515     uint16_t       sequence; /**<  */
   3516     uint32_t       length; /**<  */
   3517     xcb_visualid_t visual; /**<  */
   3518     uint8_t        pad0[20]; /**<  */
   3519 } xcb_get_image_reply_t;
   3520 
   3521 /** Opcode for xcb_poly_text_8. */
   3522 #define XCB_POLY_TEXT_8 74
   3523 
   3524 /**
   3525  * @brief xcb_poly_text_8_request_t
   3526  **/
   3527 typedef struct xcb_poly_text_8_request_t {
   3528     uint8_t        major_opcode; /**<  */
   3529     uint8_t        pad0; /**<  */
   3530     uint16_t       length; /**<  */
   3531     xcb_drawable_t drawable; /**<  */
   3532     xcb_gcontext_t gc; /**<  */
   3533     int16_t        x; /**<  */
   3534     int16_t        y; /**<  */
   3535 } xcb_poly_text_8_request_t;
   3536 
   3537 /** Opcode for xcb_poly_text_16. */
   3538 #define XCB_POLY_TEXT_16 75
   3539 
   3540 /**
   3541  * @brief xcb_poly_text_16_request_t
   3542  **/
   3543 typedef struct xcb_poly_text_16_request_t {
   3544     uint8_t        major_opcode; /**<  */
   3545     uint8_t        pad0; /**<  */
   3546     uint16_t       length; /**<  */
   3547     xcb_drawable_t drawable; /**<  */
   3548     xcb_gcontext_t gc; /**<  */
   3549     int16_t        x; /**<  */
   3550     int16_t        y; /**<  */
   3551 } xcb_poly_text_16_request_t;
   3552 
   3553 /** Opcode for xcb_image_text_8. */
   3554 #define XCB_IMAGE_TEXT_8 76
   3555 
   3556 /**
   3557  * @brief xcb_image_text_8_request_t
   3558  **/
   3559 typedef struct xcb_image_text_8_request_t {
   3560     uint8_t        major_opcode; /**<  */
   3561     uint8_t        string_len; /**<  */
   3562     uint16_t       length; /**<  */
   3563     xcb_drawable_t drawable; /**<  */
   3564     xcb_gcontext_t gc; /**<  */
   3565     int16_t        x; /**<  */
   3566     int16_t        y; /**<  */
   3567 } xcb_image_text_8_request_t;
   3568 
   3569 /** Opcode for xcb_image_text_16. */
   3570 #define XCB_IMAGE_TEXT_16 77
   3571 
   3572 /**
   3573  * @brief xcb_image_text_16_request_t
   3574  **/
   3575 typedef struct xcb_image_text_16_request_t {
   3576     uint8_t        major_opcode; /**<  */
   3577     uint8_t        string_len; /**<  */
   3578     uint16_t       length; /**<  */
   3579     xcb_drawable_t drawable; /**<  */
   3580     xcb_gcontext_t gc; /**<  */
   3581     int16_t        x; /**<  */
   3582     int16_t        y; /**<  */
   3583 } xcb_image_text_16_request_t;
   3584 
   3585 typedef enum xcb_colormap_alloc_t {
   3586     XCB_COLORMAP_ALLOC_NONE = 0,
   3587     XCB_COLORMAP_ALLOC_ALL = 1
   3588 } xcb_colormap_alloc_t;
   3589 
   3590 /** Opcode for xcb_create_colormap. */
   3591 #define XCB_CREATE_COLORMAP 78
   3592 
   3593 /**
   3594  * @brief xcb_create_colormap_request_t
   3595  **/
   3596 typedef struct xcb_create_colormap_request_t {
   3597     uint8_t        major_opcode; /**<  */
   3598     uint8_t        alloc; /**<  */
   3599     uint16_t       length; /**<  */
   3600     xcb_colormap_t mid; /**<  */
   3601     xcb_window_t   window; /**<  */
   3602     xcb_visualid_t visual; /**<  */
   3603 } xcb_create_colormap_request_t;
   3604 
   3605 /** Opcode for xcb_free_colormap. */
   3606 #define XCB_FREE_COLORMAP 79
   3607 
   3608 /**
   3609  * @brief xcb_free_colormap_request_t
   3610  **/
   3611 typedef struct xcb_free_colormap_request_t {
   3612     uint8_t        major_opcode; /**<  */
   3613     uint8_t        pad0; /**<  */
   3614     uint16_t       length; /**<  */
   3615     xcb_colormap_t cmap; /**<  */
   3616 } xcb_free_colormap_request_t;
   3617 
   3618 /** Opcode for xcb_copy_colormap_and_free. */
   3619 #define XCB_COPY_COLORMAP_AND_FREE 80
   3620 
   3621 /**
   3622  * @brief xcb_copy_colormap_and_free_request_t
   3623  **/
   3624 typedef struct xcb_copy_colormap_and_free_request_t {
   3625     uint8_t        major_opcode; /**<  */
   3626     uint8_t        pad0; /**<  */
   3627     uint16_t       length; /**<  */
   3628     xcb_colormap_t mid; /**<  */
   3629     xcb_colormap_t src_cmap; /**<  */
   3630 } xcb_copy_colormap_and_free_request_t;
   3631 
   3632 /** Opcode for xcb_install_colormap. */
   3633 #define XCB_INSTALL_COLORMAP 81
   3634 
   3635 /**
   3636  * @brief xcb_install_colormap_request_t
   3637  **/
   3638 typedef struct xcb_install_colormap_request_t {
   3639     uint8_t        major_opcode; /**<  */
   3640     uint8_t        pad0; /**<  */
   3641     uint16_t       length; /**<  */
   3642     xcb_colormap_t cmap; /**<  */
   3643 } xcb_install_colormap_request_t;
   3644 
   3645 /** Opcode for xcb_uninstall_colormap. */
   3646 #define XCB_UNINSTALL_COLORMAP 82
   3647 
   3648 /**
   3649  * @brief xcb_uninstall_colormap_request_t
   3650  **/
   3651 typedef struct xcb_uninstall_colormap_request_t {
   3652     uint8_t        major_opcode; /**<  */
   3653     uint8_t        pad0; /**<  */
   3654     uint16_t       length; /**<  */
   3655     xcb_colormap_t cmap; /**<  */
   3656 } xcb_uninstall_colormap_request_t;
   3657 
   3658 /**
   3659  * @brief xcb_list_installed_colormaps_cookie_t
   3660  **/
   3661 typedef struct xcb_list_installed_colormaps_cookie_t {
   3662     unsigned int sequence; /**<  */
   3663 } xcb_list_installed_colormaps_cookie_t;
   3664 
   3665 /** Opcode for xcb_list_installed_colormaps. */
   3666 #define XCB_LIST_INSTALLED_COLORMAPS 83
   3667 
   3668 /**
   3669  * @brief xcb_list_installed_colormaps_request_t
   3670  **/
   3671 typedef struct xcb_list_installed_colormaps_request_t {
   3672     uint8_t      major_opcode; /**<  */
   3673     uint8_t      pad0; /**<  */
   3674     uint16_t     length; /**<  */
   3675     xcb_window_t window; /**<  */
   3676 } xcb_list_installed_colormaps_request_t;
   3677 
   3678 /**
   3679  * @brief xcb_list_installed_colormaps_reply_t
   3680  **/
   3681 typedef struct xcb_list_installed_colormaps_reply_t {
   3682     uint8_t  response_type; /**<  */
   3683     uint8_t  pad0; /**<  */
   3684     uint16_t sequence; /**<  */
   3685     uint32_t length; /**<  */
   3686     uint16_t cmaps_len; /**<  */
   3687     uint8_t  pad1[22]; /**<  */
   3688 } xcb_list_installed_colormaps_reply_t;
   3689 
   3690 /**
   3691  * @brief xcb_alloc_color_cookie_t
   3692  **/
   3693 typedef struct xcb_alloc_color_cookie_t {
   3694     unsigned int sequence; /**<  */
   3695 } xcb_alloc_color_cookie_t;
   3696 
   3697 /** Opcode for xcb_alloc_color. */
   3698 #define XCB_ALLOC_COLOR 84
   3699 
   3700 /**
   3701  * @brief xcb_alloc_color_request_t
   3702  **/
   3703 typedef struct xcb_alloc_color_request_t {
   3704     uint8_t        major_opcode; /**<  */
   3705     uint8_t        pad0; /**<  */
   3706     uint16_t       length; /**<  */
   3707     xcb_colormap_t cmap; /**<  */
   3708     uint16_t       red; /**<  */
   3709     uint16_t       green; /**<  */
   3710     uint16_t       blue; /**<  */
   3711     uint8_t        pad1[2]; /**<  */
   3712 } xcb_alloc_color_request_t;
   3713 
   3714 /**
   3715  * @brief xcb_alloc_color_reply_t
   3716  **/
   3717 typedef struct xcb_alloc_color_reply_t {
   3718     uint8_t  response_type; /**<  */
   3719     uint8_t  pad0; /**<  */
   3720     uint16_t sequence; /**<  */
   3721     uint32_t length; /**<  */
   3722     uint16_t red; /**<  */
   3723     uint16_t green; /**<  */
   3724     uint16_t blue; /**<  */
   3725     uint8_t  pad1[2]; /**<  */
   3726     uint32_t pixel; /**<  */
   3727 } xcb_alloc_color_reply_t;
   3728 
   3729 /**
   3730  * @brief xcb_alloc_named_color_cookie_t
   3731  **/
   3732 typedef struct xcb_alloc_named_color_cookie_t {
   3733     unsigned int sequence; /**<  */
   3734 } xcb_alloc_named_color_cookie_t;
   3735 
   3736 /** Opcode for xcb_alloc_named_color. */
   3737 #define XCB_ALLOC_NAMED_COLOR 85
   3738 
   3739 /**
   3740  * @brief xcb_alloc_named_color_request_t
   3741  **/
   3742 typedef struct xcb_alloc_named_color_request_t {
   3743     uint8_t        major_opcode; /**<  */
   3744     uint8_t        pad0; /**<  */
   3745     uint16_t       length; /**<  */
   3746     xcb_colormap_t cmap; /**<  */
   3747     uint16_t       name_len; /**<  */
   3748     uint8_t        pad1[2]; /**<  */
   3749 } xcb_alloc_named_color_request_t;
   3750 
   3751 /**
   3752  * @brief xcb_alloc_named_color_reply_t
   3753  **/
   3754 typedef struct xcb_alloc_named_color_reply_t {
   3755     uint8_t  response_type; /**<  */
   3756     uint8_t  pad0; /**<  */
   3757     uint16_t sequence; /**<  */
   3758     uint32_t length; /**<  */
   3759     uint32_t pixel; /**<  */
   3760     uint16_t exact_red; /**<  */
   3761     uint16_t exact_green; /**<  */
   3762     uint16_t exact_blue; /**<  */
   3763     uint16_t visual_red; /**<  */
   3764     uint16_t visual_green; /**<  */
   3765     uint16_t visual_blue; /**<  */
   3766 } xcb_alloc_named_color_reply_t;
   3767 
   3768 /**
   3769  * @brief xcb_alloc_color_cells_cookie_t
   3770  **/
   3771 typedef struct xcb_alloc_color_cells_cookie_t {
   3772     unsigned int sequence; /**<  */
   3773 } xcb_alloc_color_cells_cookie_t;
   3774 
   3775 /** Opcode for xcb_alloc_color_cells. */
   3776 #define XCB_ALLOC_COLOR_CELLS 86
   3777 
   3778 /**
   3779  * @brief xcb_alloc_color_cells_request_t
   3780  **/
   3781 typedef struct xcb_alloc_color_cells_request_t {
   3782     uint8_t        major_opcode; /**<  */
   3783     uint8_t        contiguous; /**<  */
   3784     uint16_t       length; /**<  */
   3785     xcb_colormap_t cmap; /**<  */
   3786     uint16_t       colors; /**<  */
   3787     uint16_t       planes; /**<  */
   3788 } xcb_alloc_color_cells_request_t;
   3789 
   3790 /**
   3791  * @brief xcb_alloc_color_cells_reply_t
   3792  **/
   3793 typedef struct xcb_alloc_color_cells_reply_t {
   3794     uint8_t  response_type; /**<  */
   3795     uint8_t  pad0; /**<  */
   3796     uint16_t sequence; /**<  */
   3797     uint32_t length; /**<  */
   3798     uint16_t pixels_len; /**<  */
   3799     uint16_t masks_len; /**<  */
   3800     uint8_t  pad1[20]; /**<  */
   3801 } xcb_alloc_color_cells_reply_t;
   3802 
   3803 /**
   3804  * @brief xcb_alloc_color_planes_cookie_t
   3805  **/
   3806 typedef struct xcb_alloc_color_planes_cookie_t {
   3807     unsigned int sequence; /**<  */
   3808 } xcb_alloc_color_planes_cookie_t;
   3809 
   3810 /** Opcode for xcb_alloc_color_planes. */
   3811 #define XCB_ALLOC_COLOR_PLANES 87
   3812 
   3813 /**
   3814  * @brief xcb_alloc_color_planes_request_t
   3815  **/
   3816 typedef struct xcb_alloc_color_planes_request_t {
   3817     uint8_t        major_opcode; /**<  */
   3818     uint8_t        contiguous; /**<  */
   3819     uint16_t       length; /**<  */
   3820     xcb_colormap_t cmap; /**<  */
   3821     uint16_t       colors; /**<  */
   3822     uint16_t       reds; /**<  */
   3823     uint16_t       greens; /**<  */
   3824     uint16_t       blues; /**<  */
   3825 } xcb_alloc_color_planes_request_t;
   3826 
   3827 /**
   3828  * @brief xcb_alloc_color_planes_reply_t
   3829  **/
   3830 typedef struct xcb_alloc_color_planes_reply_t {
   3831     uint8_t  response_type; /**<  */
   3832     uint8_t  pad0; /**<  */
   3833     uint16_t sequence; /**<  */
   3834     uint32_t length; /**<  */
   3835     uint16_t pixels_len; /**<  */
   3836     uint8_t  pad1[2]; /**<  */
   3837     uint32_t red_mask; /**<  */
   3838     uint32_t green_mask; /**<  */
   3839     uint32_t blue_mask; /**<  */
   3840     uint8_t  pad2[8]; /**<  */
   3841 } xcb_alloc_color_planes_reply_t;
   3842 
   3843 /** Opcode for xcb_free_colors. */
   3844 #define XCB_FREE_COLORS 88
   3845 
   3846 /**
   3847  * @brief xcb_free_colors_request_t
   3848  **/
   3849 typedef struct xcb_free_colors_request_t {
   3850     uint8_t        major_opcode; /**<  */
   3851     uint8_t        pad0; /**<  */
   3852     uint16_t       length; /**<  */
   3853     xcb_colormap_t cmap; /**<  */
   3854     uint32_t       plane_mask; /**<  */
   3855 } xcb_free_colors_request_t;
   3856 
   3857 typedef enum xcb_color_flag_t {
   3858     XCB_COLOR_FLAG_RED = 1,
   3859     XCB_COLOR_FLAG_GREEN = 2,
   3860     XCB_COLOR_FLAG_BLUE = 4
   3861 } xcb_color_flag_t;
   3862 
   3863 /**
   3864  * @brief xcb_coloritem_t
   3865  **/
   3866 typedef struct xcb_coloritem_t {
   3867     uint32_t pixel; /**<  */
   3868     uint16_t red; /**<  */
   3869     uint16_t green; /**<  */
   3870     uint16_t blue; /**<  */
   3871     uint8_t  flags; /**<  */
   3872     uint8_t  pad0; /**<  */
   3873 } xcb_coloritem_t;
   3874 
   3875 /**
   3876  * @brief xcb_coloritem_iterator_t
   3877  **/
   3878 typedef struct xcb_coloritem_iterator_t {
   3879     xcb_coloritem_t *data; /**<  */
   3880     int              rem; /**<  */
   3881     int              index; /**<  */
   3882 } xcb_coloritem_iterator_t;
   3883 
   3884 /** Opcode for xcb_store_colors. */
   3885 #define XCB_STORE_COLORS 89
   3886 
   3887 /**
   3888  * @brief xcb_store_colors_request_t
   3889  **/
   3890 typedef struct xcb_store_colors_request_t {
   3891     uint8_t        major_opcode; /**<  */
   3892     uint8_t        pad0; /**<  */
   3893     uint16_t       length; /**<  */
   3894     xcb_colormap_t cmap; /**<  */
   3895 } xcb_store_colors_request_t;
   3896 
   3897 /** Opcode for xcb_store_named_color. */
   3898 #define XCB_STORE_NAMED_COLOR 90
   3899 
   3900 /**
   3901  * @brief xcb_store_named_color_request_t
   3902  **/
   3903 typedef struct xcb_store_named_color_request_t {
   3904     uint8_t        major_opcode; /**<  */
   3905     uint8_t        flags; /**<  */
   3906     uint16_t       length; /**<  */
   3907     xcb_colormap_t cmap; /**<  */
   3908     uint32_t       pixel; /**<  */
   3909     uint16_t       name_len; /**<  */
   3910     uint8_t        pad0[2]; /**<  */
   3911 } xcb_store_named_color_request_t;
   3912 
   3913 /**
   3914  * @brief xcb_rgb_t
   3915  **/
   3916 typedef struct xcb_rgb_t {
   3917     uint16_t red; /**<  */
   3918     uint16_t green; /**<  */
   3919     uint16_t blue; /**<  */
   3920     uint8_t  pad0[2]; /**<  */
   3921 } xcb_rgb_t;
   3922 
   3923 /**
   3924  * @brief xcb_rgb_iterator_t
   3925  **/
   3926 typedef struct xcb_rgb_iterator_t {
   3927     xcb_rgb_t *data; /**<  */
   3928     int        rem; /**<  */
   3929     int        index; /**<  */
   3930 } xcb_rgb_iterator_t;
   3931 
   3932 /**
   3933  * @brief xcb_query_colors_cookie_t
   3934  **/
   3935 typedef struct xcb_query_colors_cookie_t {
   3936     unsigned int sequence; /**<  */
   3937 } xcb_query_colors_cookie_t;
   3938 
   3939 /** Opcode for xcb_query_colors. */
   3940 #define XCB_QUERY_COLORS 91
   3941 
   3942 /**
   3943  * @brief xcb_query_colors_request_t
   3944  **/
   3945 typedef struct xcb_query_colors_request_t {
   3946     uint8_t        major_opcode; /**<  */
   3947     uint8_t        pad0; /**<  */
   3948     uint16_t       length; /**<  */
   3949     xcb_colormap_t cmap; /**<  */
   3950 } xcb_query_colors_request_t;
   3951 
   3952 /**
   3953  * @brief xcb_query_colors_reply_t
   3954  **/
   3955 typedef struct xcb_query_colors_reply_t {
   3956     uint8_t  response_type; /**<  */
   3957     uint8_t  pad0; /**<  */
   3958     uint16_t sequence; /**<  */
   3959     uint32_t length; /**<  */
   3960     uint16_t colors_len; /**<  */
   3961     uint8_t  pad1[22]; /**<  */
   3962 } xcb_query_colors_reply_t;
   3963 
   3964 /**
   3965  * @brief xcb_lookup_color_cookie_t
   3966  **/
   3967 typedef struct xcb_lookup_color_cookie_t {
   3968     unsigned int sequence; /**<  */
   3969 } xcb_lookup_color_cookie_t;
   3970 
   3971 /** Opcode for xcb_lookup_color. */
   3972 #define XCB_LOOKUP_COLOR 92
   3973 
   3974 /**
   3975  * @brief xcb_lookup_color_request_t
   3976  **/
   3977 typedef struct xcb_lookup_color_request_t {
   3978     uint8_t        major_opcode; /**<  */
   3979     uint8_t        pad0; /**<  */
   3980     uint16_t       length; /**<  */
   3981     xcb_colormap_t cmap; /**<  */
   3982     uint16_t       name_len; /**<  */
   3983     uint8_t        pad1[2]; /**<  */
   3984 } xcb_lookup_color_request_t;
   3985 
   3986 /**
   3987  * @brief xcb_lookup_color_reply_t
   3988  **/
   3989 typedef struct xcb_lookup_color_reply_t {
   3990     uint8_t  response_type; /**<  */
   3991     uint8_t  pad0; /**<  */
   3992     uint16_t sequence; /**<  */
   3993     uint32_t length; /**<  */
   3994     uint16_t exact_red; /**<  */
   3995     uint16_t exact_green; /**<  */
   3996     uint16_t exact_blue; /**<  */
   3997     uint16_t visual_red; /**<  */
   3998     uint16_t visual_green; /**<  */
   3999     uint16_t visual_blue; /**<  */
   4000 } xcb_lookup_color_reply_t;
   4001 
   4002 typedef enum xcb_pixmap_enum_t {
   4003     XCB_PIXMAP_NONE = 0
   4004 } xcb_pixmap_enum_t;
   4005 
   4006 /** Opcode for xcb_create_cursor. */
   4007 #define XCB_CREATE_CURSOR 93
   4008 
   4009 /**
   4010  * @brief xcb_create_cursor_request_t
   4011  **/
   4012 typedef struct xcb_create_cursor_request_t {
   4013     uint8_t      major_opcode; /**<  */
   4014     uint8_t      pad0; /**<  */
   4015     uint16_t     length; /**<  */
   4016     xcb_cursor_t cid; /**<  */
   4017     xcb_pixmap_t source; /**<  */
   4018     xcb_pixmap_t mask; /**<  */
   4019     uint16_t     fore_red; /**<  */
   4020     uint16_t     fore_green; /**<  */
   4021     uint16_t     fore_blue; /**<  */
   4022     uint16_t     back_red; /**<  */
   4023     uint16_t     back_green; /**<  */
   4024     uint16_t     back_blue; /**<  */
   4025     uint16_t     x; /**<  */
   4026     uint16_t     y; /**<  */
   4027 } xcb_create_cursor_request_t;
   4028 
   4029 typedef enum xcb_font_enum_t {
   4030     XCB_FONT_NONE = 0
   4031 } xcb_font_enum_t;
   4032 
   4033 /** Opcode for xcb_create_glyph_cursor. */
   4034 #define XCB_CREATE_GLYPH_CURSOR 94
   4035 
   4036 /**
   4037  * @brief xcb_create_glyph_cursor_request_t
   4038  **/
   4039 typedef struct xcb_create_glyph_cursor_request_t {
   4040     uint8_t      major_opcode; /**<  */
   4041     uint8_t      pad0; /**<  */
   4042     uint16_t     length; /**<  */
   4043     xcb_cursor_t cid; /**<  */
   4044     xcb_font_t   source_font; /**<  */
   4045     xcb_font_t   mask_font; /**<  */
   4046     uint16_t     source_char; /**<  */
   4047     uint16_t     mask_char; /**<  */
   4048     uint16_t     fore_red; /**<  */
   4049     uint16_t     fore_green; /**<  */
   4050     uint16_t     fore_blue; /**<  */
   4051     uint16_t     back_red; /**<  */
   4052     uint16_t     back_green; /**<  */
   4053     uint16_t     back_blue; /**<  */
   4054 } xcb_create_glyph_cursor_request_t;
   4055 
   4056 /** Opcode for xcb_free_cursor. */
   4057 #define XCB_FREE_CURSOR 95
   4058 
   4059 /**
   4060  * @brief xcb_free_cursor_request_t
   4061  **/
   4062 typedef struct xcb_free_cursor_request_t {
   4063     uint8_t      major_opcode; /**<  */
   4064     uint8_t      pad0; /**<  */
   4065     uint16_t     length; /**<  */
   4066     xcb_cursor_t cursor; /**<  */
   4067 } xcb_free_cursor_request_t;
   4068 
   4069 /** Opcode for xcb_recolor_cursor. */
   4070 #define XCB_RECOLOR_CURSOR 96
   4071 
   4072 /**
   4073  * @brief xcb_recolor_cursor_request_t
   4074  **/
   4075 typedef struct xcb_recolor_cursor_request_t {
   4076     uint8_t      major_opcode; /**<  */
   4077     uint8_t      pad0; /**<  */
   4078     uint16_t     length; /**<  */
   4079     xcb_cursor_t cursor; /**<  */
   4080     uint16_t     fore_red; /**<  */
   4081     uint16_t     fore_green; /**<  */
   4082     uint16_t     fore_blue; /**<  */
   4083     uint16_t     back_red; /**<  */
   4084     uint16_t     back_green; /**<  */
   4085     uint16_t     back_blue; /**<  */
   4086 } xcb_recolor_cursor_request_t;
   4087 
   4088 typedef enum xcb_query_shape_of_t {
   4089     XCB_QUERY_SHAPE_OF_LARGEST_CURSOR = 0,
   4090     XCB_QUERY_SHAPE_OF_FASTEST_TILE = 1,
   4091     XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE = 2
   4092 } xcb_query_shape_of_t;
   4093 
   4094 /**
   4095  * @brief xcb_query_best_size_cookie_t
   4096  **/
   4097 typedef struct xcb_query_best_size_cookie_t {
   4098     unsigned int sequence; /**<  */
   4099 } xcb_query_best_size_cookie_t;
   4100 
   4101 /** Opcode for xcb_query_best_size. */
   4102 #define XCB_QUERY_BEST_SIZE 97
   4103 
   4104 /**
   4105  * @brief xcb_query_best_size_request_t
   4106  **/
   4107 typedef struct xcb_query_best_size_request_t {
   4108     uint8_t        major_opcode; /**<  */
   4109     uint8_t        _class; /**<  */
   4110     uint16_t       length; /**<  */
   4111     xcb_drawable_t drawable; /**<  */
   4112     uint16_t       width; /**<  */
   4113     uint16_t       height; /**<  */
   4114 } xcb_query_best_size_request_t;
   4115 
   4116 /**
   4117  * @brief xcb_query_best_size_reply_t
   4118  **/
   4119 typedef struct xcb_query_best_size_reply_t {
   4120     uint8_t  response_type; /**<  */
   4121     uint8_t  pad0; /**<  */
   4122     uint16_t sequence; /**<  */
   4123     uint32_t length; /**<  */
   4124     uint16_t width; /**<  */
   4125     uint16_t height; /**<  */
   4126 } xcb_query_best_size_reply_t;
   4127 
   4128 /**
   4129  * @brief xcb_query_extension_cookie_t
   4130  **/
   4131 typedef struct xcb_query_extension_cookie_t {
   4132     unsigned int sequence; /**<  */
   4133 } xcb_query_extension_cookie_t;
   4134 
   4135 /** Opcode for xcb_query_extension. */
   4136 #define XCB_QUERY_EXTENSION 98
   4137 
   4138 /**
   4139  * @brief xcb_query_extension_request_t
   4140  **/
   4141 typedef struct xcb_query_extension_request_t {
   4142     uint8_t  major_opcode; /**<  */
   4143     uint8_t  pad0; /**<  */
   4144     uint16_t length; /**<  */
   4145     uint16_t name_len; /**<  */
   4146     uint8_t  pad1[2]; /**<  */
   4147 } xcb_query_extension_request_t;
   4148 
   4149 /**
   4150  * @brief xcb_query_extension_reply_t
   4151  **/
   4152 typedef struct xcb_query_extension_reply_t {
   4153     uint8_t  response_type; /**<  */
   4154     uint8_t  pad0; /**<  */
   4155     uint16_t sequence; /**<  */
   4156     uint32_t length; /**<  */
   4157     uint8_t  present; /**<  */
   4158     uint8_t  major_opcode; /**<  */
   4159     uint8_t  first_event; /**<  */
   4160     uint8_t  first_error; /**<  */
   4161 } xcb_query_extension_reply_t;
   4162 
   4163 /**
   4164  * @brief xcb_list_extensions_cookie_t
   4165  **/
   4166 typedef struct xcb_list_extensions_cookie_t {
   4167     unsigned int sequence; /**<  */
   4168 } xcb_list_extensions_cookie_t;
   4169 
   4170 /** Opcode for xcb_list_extensions. */
   4171 #define XCB_LIST_EXTENSIONS 99
   4172 
   4173 /**
   4174  * @brief xcb_list_extensions_request_t
   4175  **/
   4176 typedef struct xcb_list_extensions_request_t {
   4177     uint8_t  major_opcode; /**<  */
   4178     uint8_t  pad0; /**<  */
   4179     uint16_t length; /**<  */
   4180 } xcb_list_extensions_request_t;
   4181 
   4182 /**
   4183  * @brief xcb_list_extensions_reply_t
   4184  **/
   4185 typedef struct xcb_list_extensions_reply_t {
   4186     uint8_t  response_type; /**<  */
   4187     uint8_t  names_len; /**<  */
   4188     uint16_t sequence; /**<  */
   4189     uint32_t length; /**<  */
   4190     uint8_t  pad0[24]; /**<  */
   4191 } xcb_list_extensions_reply_t;
   4192 
   4193 /** Opcode for xcb_change_keyboard_mapping. */
   4194 #define XCB_CHANGE_KEYBOARD_MAPPING 100
   4195 
   4196 /**
   4197  * @brief xcb_change_keyboard_mapping_request_t
   4198  **/
   4199 typedef struct xcb_change_keyboard_mapping_request_t {
   4200     uint8_t       major_opcode; /**<  */
   4201     uint8_t       keycode_count; /**<  */
   4202     uint16_t      length; /**<  */
   4203     xcb_keycode_t first_keycode; /**<  */
   4204     uint8_t       keysyms_per_keycode; /**<  */
   4205     uint8_t       pad0[2]; /**<  */
   4206 } xcb_change_keyboard_mapping_request_t;
   4207 
   4208 /**
   4209  * @brief xcb_get_keyboard_mapping_cookie_t
   4210  **/
   4211 typedef struct xcb_get_keyboard_mapping_cookie_t {
   4212     unsigned int sequence; /**<  */
   4213 } xcb_get_keyboard_mapping_cookie_t;
   4214 
   4215 /** Opcode for xcb_get_keyboard_mapping. */
   4216 #define XCB_GET_KEYBOARD_MAPPING 101
   4217 
   4218 /**
   4219  * @brief xcb_get_keyboard_mapping_request_t
   4220  **/
   4221 typedef struct xcb_get_keyboard_mapping_request_t {
   4222     uint8_t       major_opcode; /**<  */
   4223     uint8_t       pad0; /**<  */
   4224     uint16_t      length; /**<  */
   4225     xcb_keycode_t first_keycode; /**<  */
   4226     uint8_t       count; /**<  */
   4227 } xcb_get_keyboard_mapping_request_t;
   4228 
   4229 /**
   4230  * @brief xcb_get_keyboard_mapping_reply_t
   4231  **/
   4232 typedef struct xcb_get_keyboard_mapping_reply_t {
   4233     uint8_t  response_type; /**<  */
   4234     uint8_t  keysyms_per_keycode; /**<  */
   4235     uint16_t sequence; /**<  */
   4236     uint32_t length; /**<  */
   4237     uint8_t  pad0[24]; /**<  */
   4238 } xcb_get_keyboard_mapping_reply_t;
   4239 
   4240 typedef enum xcb_kb_t {
   4241     XCB_KB_KEY_CLICK_PERCENT = 1,
   4242     XCB_KB_BELL_PERCENT = 2,
   4243     XCB_KB_BELL_PITCH = 4,
   4244     XCB_KB_BELL_DURATION = 8,
   4245     XCB_KB_LED = 16,
   4246     XCB_KB_LED_MODE = 32,
   4247     XCB_KB_KEY = 64,
   4248     XCB_KB_AUTO_REPEAT_MODE = 128
   4249 } xcb_kb_t;
   4250 
   4251 typedef enum xcb_led_mode_t {
   4252     XCB_LED_MODE_OFF = 0,
   4253     XCB_LED_MODE_ON = 1
   4254 } xcb_led_mode_t;
   4255 
   4256 typedef enum xcb_auto_repeat_mode_t {
   4257     XCB_AUTO_REPEAT_MODE_OFF = 0,
   4258     XCB_AUTO_REPEAT_MODE_ON = 1,
   4259     XCB_AUTO_REPEAT_MODE_DEFAULT = 2
   4260 } xcb_auto_repeat_mode_t;
   4261 
   4262 /** Opcode for xcb_change_keyboard_control. */
   4263 #define XCB_CHANGE_KEYBOARD_CONTROL 102
   4264 
   4265 /**
   4266  * @brief xcb_change_keyboard_control_request_t
   4267  **/
   4268 typedef struct xcb_change_keyboard_control_request_t {
   4269     uint8_t  major_opcode; /**<  */
   4270     uint8_t  pad0; /**<  */
   4271     uint16_t length; /**<  */
   4272     uint32_t value_mask; /**<  */
   4273 } xcb_change_keyboard_control_request_t;
   4274 
   4275 /**
   4276  * @brief xcb_get_keyboard_control_cookie_t
   4277  **/
   4278 typedef struct xcb_get_keyboard_control_cookie_t {
   4279     unsigned int sequence; /**<  */
   4280 } xcb_get_keyboard_control_cookie_t;
   4281 
   4282 /** Opcode for xcb_get_keyboard_control. */
   4283 #define XCB_GET_KEYBOARD_CONTROL 103
   4284 
   4285 /**
   4286  * @brief xcb_get_keyboard_control_request_t
   4287  **/
   4288 typedef struct xcb_get_keyboard_control_request_t {
   4289     uint8_t  major_opcode; /**<  */
   4290     uint8_t  pad0; /**<  */
   4291     uint16_t length; /**<  */
   4292 } xcb_get_keyboard_control_request_t;
   4293 
   4294 /**
   4295  * @brief xcb_get_keyboard_control_reply_t
   4296  **/
   4297 typedef struct xcb_get_keyboard_control_reply_t {
   4298     uint8_t  response_type; /**<  */
   4299     uint8_t  global_auto_repeat; /**<  */
   4300     uint16_t sequence; /**<  */
   4301     uint32_t length; /**<  */
   4302     uint32_t led_mask; /**<  */
   4303     uint8_t  key_click_percent; /**<  */
   4304     uint8_t  bell_percent; /**<  */
   4305     uint16_t bell_pitch; /**<  */
   4306     uint16_t bell_duration; /**<  */
   4307     uint8_t  pad0[2]; /**<  */
   4308     uint8_t  auto_repeats[32]; /**<  */
   4309 } xcb_get_keyboard_control_reply_t;
   4310 
   4311 /** Opcode for xcb_bell. */
   4312 #define XCB_BELL 104
   4313 
   4314 /**
   4315  * @brief xcb_bell_request_t
   4316  **/
   4317 typedef struct xcb_bell_request_t {
   4318     uint8_t  major_opcode; /**<  */
   4319     int8_t   percent; /**<  */
   4320     uint16_t length; /**<  */
   4321 } xcb_bell_request_t;
   4322 
   4323 /** Opcode for xcb_change_pointer_control. */
   4324 #define XCB_CHANGE_POINTER_CONTROL 105
   4325 
   4326 /**
   4327  * @brief xcb_change_pointer_control_request_t
   4328  **/
   4329 typedef struct xcb_change_pointer_control_request_t {
   4330     uint8_t  major_opcode; /**<  */
   4331     uint8_t  pad0; /**<  */
   4332     uint16_t length; /**<  */
   4333     int16_t  acceleration_numerator; /**<  */
   4334     int16_t  acceleration_denominator; /**<  */
   4335     int16_t  threshold; /**<  */
   4336     uint8_t  do_acceleration; /**<  */
   4337     uint8_t  do_threshold; /**<  */
   4338 } xcb_change_pointer_control_request_t;
   4339 
   4340 /**
   4341  * @brief xcb_get_pointer_control_cookie_t
   4342  **/
   4343 typedef struct xcb_get_pointer_control_cookie_t {
   4344     unsigned int sequence; /**<  */
   4345 } xcb_get_pointer_control_cookie_t;
   4346 
   4347 /** Opcode for xcb_get_pointer_control. */
   4348 #define XCB_GET_POINTER_CONTROL 106
   4349 
   4350 /**
   4351  * @brief xcb_get_pointer_control_request_t
   4352  **/
   4353 typedef struct xcb_get_pointer_control_request_t {
   4354     uint8_t  major_opcode; /**<  */
   4355     uint8_t  pad0; /**<  */
   4356     uint16_t length; /**<  */
   4357 } xcb_get_pointer_control_request_t;
   4358 
   4359 /**
   4360  * @brief xcb_get_pointer_control_reply_t
   4361  **/
   4362 typedef struct xcb_get_pointer_control_reply_t {
   4363     uint8_t  response_type; /**<  */
   4364     uint8_t  pad0; /**<  */
   4365     uint16_t sequence; /**<  */
   4366     uint32_t length; /**<  */
   4367     uint16_t acceleration_numerator; /**<  */
   4368     uint16_t acceleration_denominator; /**<  */
   4369     uint16_t threshold; /**<  */
   4370     uint8_t  pad1[18]; /**<  */
   4371 } xcb_get_pointer_control_reply_t;
   4372 
   4373 typedef enum xcb_blanking_t {
   4374     XCB_BLANKING_NOT_PREFERRED = 0,
   4375     XCB_BLANKING_PREFERRED = 1,
   4376     XCB_BLANKING_DEFAULT = 2
   4377 } xcb_blanking_t;
   4378 
   4379 typedef enum xcb_exposures_t {
   4380     XCB_EXPOSURES_NOT_ALLOWED = 0,
   4381     XCB_EXPOSURES_ALLOWED = 1,
   4382     XCB_EXPOSURES_DEFAULT = 2
   4383 } xcb_exposures_t;
   4384 
   4385 /** Opcode for xcb_set_screen_saver. */
   4386 #define XCB_SET_SCREEN_SAVER 107
   4387 
   4388 /**
   4389  * @brief xcb_set_screen_saver_request_t
   4390  **/
   4391 typedef struct xcb_set_screen_saver_request_t {
   4392     uint8_t  major_opcode; /**<  */
   4393     uint8_t  pad0; /**<  */
   4394     uint16_t length; /**<  */
   4395     int16_t  timeout; /**<  */
   4396     int16_t  interval; /**<  */
   4397     uint8_t  prefer_blanking; /**<  */
   4398     uint8_t  allow_exposures; /**<  */
   4399 } xcb_set_screen_saver_request_t;
   4400 
   4401 /**
   4402  * @brief xcb_get_screen_saver_cookie_t
   4403  **/
   4404 typedef struct xcb_get_screen_saver_cookie_t {
   4405     unsigned int sequence; /**<  */
   4406 } xcb_get_screen_saver_cookie_t;
   4407 
   4408 /** Opcode for xcb_get_screen_saver. */
   4409 #define XCB_GET_SCREEN_SAVER 108
   4410 
   4411 /**
   4412  * @brief xcb_get_screen_saver_request_t
   4413  **/
   4414 typedef struct xcb_get_screen_saver_request_t {
   4415     uint8_t  major_opcode; /**<  */
   4416     uint8_t  pad0; /**<  */
   4417     uint16_t length; /**<  */
   4418 } xcb_get_screen_saver_request_t;
   4419 
   4420 /**
   4421  * @brief xcb_get_screen_saver_reply_t
   4422  **/
   4423 typedef struct xcb_get_screen_saver_reply_t {
   4424     uint8_t  response_type; /**<  */
   4425     uint8_t  pad0; /**<  */
   4426     uint16_t sequence; /**<  */
   4427     uint32_t length; /**<  */
   4428     uint16_t timeout; /**<  */
   4429     uint16_t interval; /**<  */
   4430     uint8_t  prefer_blanking; /**<  */
   4431     uint8_t  allow_exposures; /**<  */
   4432     uint8_t  pad1[18]; /**<  */
   4433 } xcb_get_screen_saver_reply_t;
   4434 
   4435 typedef enum xcb_host_mode_t {
   4436     XCB_HOST_MODE_INSERT = 0,
   4437     XCB_HOST_MODE_DELETE = 1
   4438 } xcb_host_mode_t;
   4439 
   4440 typedef enum xcb_family_t {
   4441     XCB_FAMILY_INTERNET = 0,
   4442     XCB_FAMILY_DECNET = 1,
   4443     XCB_FAMILY_CHAOS = 2,
   4444     XCB_FAMILY_SERVER_INTERPRETED = 5,
   4445     XCB_FAMILY_INTERNET_6 = 6
   4446 } xcb_family_t;
   4447 
   4448 /** Opcode for xcb_change_hosts. */
   4449 #define XCB_CHANGE_HOSTS 109
   4450 
   4451 /**
   4452  * @brief xcb_change_hosts_request_t
   4453  **/
   4454 typedef struct xcb_change_hosts_request_t {
   4455     uint8_t  major_opcode; /**<  */
   4456     uint8_t  mode; /**<  */
   4457     uint16_t length; /**<  */
   4458     uint8_t  family; /**<  */
   4459     uint8_t  pad0; /**<  */
   4460     uint16_t address_len; /**<  */
   4461 } xcb_change_hosts_request_t;
   4462 
   4463 /**
   4464  * @brief xcb_host_t
   4465  **/
   4466 typedef struct xcb_host_t {
   4467     uint8_t  family; /**<  */
   4468     uint8_t  pad0; /**<  */
   4469     uint16_t address_len; /**<  */
   4470 } xcb_host_t;
   4471 
   4472 /**
   4473  * @brief xcb_host_iterator_t
   4474  **/
   4475 typedef struct xcb_host_iterator_t {
   4476     xcb_host_t *data; /**<  */
   4477     int         rem; /**<  */
   4478     int         index; /**<  */
   4479 } xcb_host_iterator_t;
   4480 
   4481 /**
   4482  * @brief xcb_list_hosts_cookie_t
   4483  **/
   4484 typedef struct xcb_list_hosts_cookie_t {
   4485     unsigned int sequence; /**<  */
   4486 } xcb_list_hosts_cookie_t;
   4487 
   4488 /** Opcode for xcb_list_hosts. */
   4489 #define XCB_LIST_HOSTS 110
   4490 
   4491 /**
   4492  * @brief xcb_list_hosts_request_t
   4493  **/
   4494 typedef struct xcb_list_hosts_request_t {
   4495     uint8_t  major_opcode; /**<  */
   4496     uint8_t  pad0; /**<  */
   4497     uint16_t length; /**<  */
   4498 } xcb_list_hosts_request_t;
   4499 
   4500 /**
   4501  * @brief xcb_list_hosts_reply_t
   4502  **/
   4503 typedef struct xcb_list_hosts_reply_t {
   4504     uint8_t  response_type; /**<  */
   4505     uint8_t  mode; /**<  */
   4506     uint16_t sequence; /**<  */
   4507     uint32_t length; /**<  */
   4508     uint16_t hosts_len; /**<  */
   4509     uint8_t  pad0[22]; /**<  */
   4510 } xcb_list_hosts_reply_t;
   4511 
   4512 typedef enum xcb_access_control_t {
   4513     XCB_ACCESS_CONTROL_DISABLE = 0,
   4514     XCB_ACCESS_CONTROL_ENABLE = 1
   4515 } xcb_access_control_t;
   4516 
   4517 /** Opcode for xcb_set_access_control. */
   4518 #define XCB_SET_ACCESS_CONTROL 111
   4519 
   4520 /**
   4521  * @brief xcb_set_access_control_request_t
   4522  **/
   4523 typedef struct xcb_set_access_control_request_t {
   4524     uint8_t  major_opcode; /**<  */
   4525     uint8_t  mode; /**<  */
   4526     uint16_t length; /**<  */
   4527 } xcb_set_access_control_request_t;
   4528 
   4529 typedef enum xcb_close_down_t {
   4530     XCB_CLOSE_DOWN_DESTROY_ALL = 0,
   4531     XCB_CLOSE_DOWN_RETAIN_PERMANENT = 1,
   4532     XCB_CLOSE_DOWN_RETAIN_TEMPORARY = 2
   4533 } xcb_close_down_t;
   4534 
   4535 /** Opcode for xcb_set_close_down_mode. */
   4536 #define XCB_SET_CLOSE_DOWN_MODE 112
   4537 
   4538 /**
   4539  * @brief xcb_set_close_down_mode_request_t
   4540  **/
   4541 typedef struct xcb_set_close_down_mode_request_t {
   4542     uint8_t  major_opcode; /**<  */
   4543     uint8_t  mode; /**<  */
   4544     uint16_t length; /**<  */
   4545 } xcb_set_close_down_mode_request_t;
   4546 
   4547 typedef enum xcb_kill_t {
   4548     XCB_KILL_ALL_TEMPORARY = 0
   4549 } xcb_kill_t;
   4550 
   4551 /** Opcode for xcb_kill_client. */
   4552 #define XCB_KILL_CLIENT 113
   4553 
   4554 /**
   4555  * @brief xcb_kill_client_request_t
   4556  **/
   4557 typedef struct xcb_kill_client_request_t {
   4558     uint8_t  major_opcode; /**<  */
   4559     uint8_t  pad0; /**<  */
   4560     uint16_t length; /**<  */
   4561     uint32_t resource; /**<  */
   4562 } xcb_kill_client_request_t;
   4563 
   4564 /** Opcode for xcb_rotate_properties. */
   4565 #define XCB_ROTATE_PROPERTIES 114
   4566 
   4567 /**
   4568  * @brief xcb_rotate_properties_request_t
   4569  **/
   4570 typedef struct xcb_rotate_properties_request_t {
   4571     uint8_t      major_opcode; /**<  */
   4572     uint8_t      pad0; /**<  */
   4573     uint16_t     length; /**<  */
   4574     xcb_window_t window; /**<  */
   4575     uint16_t     atoms_len; /**<  */
   4576     int16_t      delta; /**<  */
   4577 } xcb_rotate_properties_request_t;
   4578 
   4579 typedef enum xcb_screen_saver_t {
   4580     XCB_SCREEN_SAVER_RESET = 0,
   4581     XCB_SCREEN_SAVER_ACTIVE = 1
   4582 } xcb_screen_saver_t;
   4583 
   4584 /** Opcode for xcb_force_screen_saver. */
   4585 #define XCB_FORCE_SCREEN_SAVER 115
   4586 
   4587 /**
   4588  * @brief xcb_force_screen_saver_request_t
   4589  **/
   4590 typedef struct xcb_force_screen_saver_request_t {
   4591     uint8_t  major_opcode; /**<  */
   4592     uint8_t  mode; /**<  */
   4593     uint16_t length; /**<  */
   4594 } xcb_force_screen_saver_request_t;
   4595 
   4596 typedef enum xcb_mapping_status_t {
   4597     XCB_MAPPING_STATUS_SUCCESS = 0,
   4598     XCB_MAPPING_STATUS_BUSY = 1,
   4599     XCB_MAPPING_STATUS_FAILURE = 2
   4600 } xcb_mapping_status_t;
   4601 
   4602 /**
   4603  * @brief xcb_set_pointer_mapping_cookie_t
   4604  **/
   4605 typedef struct xcb_set_pointer_mapping_cookie_t {
   4606     unsigned int sequence; /**<  */
   4607 } xcb_set_pointer_mapping_cookie_t;
   4608 
   4609 /** Opcode for xcb_set_pointer_mapping. */
   4610 #define XCB_SET_POINTER_MAPPING 116
   4611 
   4612 /**
   4613  * @brief xcb_set_pointer_mapping_request_t
   4614  **/
   4615 typedef struct xcb_set_pointer_mapping_request_t {
   4616     uint8_t  major_opcode; /**<  */
   4617     uint8_t  map_len; /**<  */
   4618     uint16_t length; /**<  */
   4619 } xcb_set_pointer_mapping_request_t;
   4620 
   4621 /**
   4622  * @brief xcb_set_pointer_mapping_reply_t
   4623  **/
   4624 typedef struct xcb_set_pointer_mapping_reply_t {
   4625     uint8_t  response_type; /**<  */
   4626     uint8_t  status; /**<  */
   4627     uint16_t sequence; /**<  */
   4628     uint32_t length; /**<  */
   4629 } xcb_set_pointer_mapping_reply_t;
   4630 
   4631 /**
   4632  * @brief xcb_get_pointer_mapping_cookie_t
   4633  **/
   4634 typedef struct xcb_get_pointer_mapping_cookie_t {
   4635     unsigned int sequence; /**<  */
   4636 } xcb_get_pointer_mapping_cookie_t;
   4637 
   4638 /** Opcode for xcb_get_pointer_mapping. */
   4639 #define XCB_GET_POINTER_MAPPING 117
   4640 
   4641 /**
   4642  * @brief xcb_get_pointer_mapping_request_t
   4643  **/
   4644 typedef struct xcb_get_pointer_mapping_request_t {
   4645     uint8_t  major_opcode; /**<  */
   4646     uint8_t  pad0; /**<  */
   4647     uint16_t length; /**<  */
   4648 } xcb_get_pointer_mapping_request_t;
   4649 
   4650 /**
   4651  * @brief xcb_get_pointer_mapping_reply_t
   4652  **/
   4653 typedef struct xcb_get_pointer_mapping_reply_t {
   4654     uint8_t  response_type; /**<  */
   4655     uint8_t  map_len; /**<  */
   4656     uint16_t sequence; /**<  */
   4657     uint32_t length; /**<  */
   4658     uint8_t  pad0[24]; /**<  */
   4659 } xcb_get_pointer_mapping_reply_t;
   4660 
   4661 typedef enum xcb_map_index_t {
   4662     XCB_MAP_INDEX_SHIFT = 0,
   4663     XCB_MAP_INDEX_LOCK = 1,
   4664     XCB_MAP_INDEX_CONTROL = 2,
   4665     XCB_MAP_INDEX_1 = 3,
   4666     XCB_MAP_INDEX_2 = 4,
   4667     XCB_MAP_INDEX_3 = 5,
   4668     XCB_MAP_INDEX_4 = 6,
   4669     XCB_MAP_INDEX_5 = 7
   4670 } xcb_map_index_t;
   4671 
   4672 /**
   4673  * @brief xcb_set_modifier_mapping_cookie_t
   4674  **/
   4675 typedef struct xcb_set_modifier_mapping_cookie_t {
   4676     unsigned int sequence; /**<  */
   4677 } xcb_set_modifier_mapping_cookie_t;
   4678 
   4679 /** Opcode for xcb_set_modifier_mapping. */
   4680 #define XCB_SET_MODIFIER_MAPPING 118
   4681 
   4682 /**
   4683  * @brief xcb_set_modifier_mapping_request_t
   4684  **/
   4685 typedef struct xcb_set_modifier_mapping_request_t {
   4686     uint8_t  major_opcode; /**<  */
   4687     uint8_t  keycodes_per_modifier; /**<  */
   4688     uint16_t length; /**<  */
   4689 } xcb_set_modifier_mapping_request_t;
   4690 
   4691 /**
   4692  * @brief xcb_set_modifier_mapping_reply_t
   4693  **/
   4694 typedef struct xcb_set_modifier_mapping_reply_t {
   4695     uint8_t  response_type; /**<  */
   4696     uint8_t  status; /**<  */
   4697     uint16_t sequence; /**<  */
   4698     uint32_t length; /**<  */
   4699 } xcb_set_modifier_mapping_reply_t;
   4700 
   4701 /**
   4702  * @brief xcb_get_modifier_mapping_cookie_t
   4703  **/
   4704 typedef struct xcb_get_modifier_mapping_cookie_t {
   4705     unsigned int sequence; /**<  */
   4706 } xcb_get_modifier_mapping_cookie_t;
   4707 
   4708 /** Opcode for xcb_get_modifier_mapping. */
   4709 #define XCB_GET_MODIFIER_MAPPING 119
   4710 
   4711 /**
   4712  * @brief xcb_get_modifier_mapping_request_t
   4713  **/
   4714 typedef struct xcb_get_modifier_mapping_request_t {
   4715     uint8_t  major_opcode; /**<  */
   4716     uint8_t  pad0; /**<  */
   4717     uint16_t length; /**<  */
   4718 } xcb_get_modifier_mapping_request_t;
   4719 
   4720 /**
   4721  * @brief xcb_get_modifier_mapping_reply_t
   4722  **/
   4723 typedef struct xcb_get_modifier_mapping_reply_t {
   4724     uint8_t  response_type; /**<  */
   4725     uint8_t  keycodes_per_modifier; /**<  */
   4726     uint16_t sequence; /**<  */
   4727     uint32_t length; /**<  */
   4728     uint8_t  pad0[24]; /**<  */
   4729 } xcb_get_modifier_mapping_reply_t;
   4730 
   4731 /** Opcode for xcb_no_operation. */
   4732 #define XCB_NO_OPERATION 127
   4733 
   4734 /**
   4735  * @brief xcb_no_operation_request_t
   4736  **/
   4737 typedef struct xcb_no_operation_request_t {
   4738     uint8_t  major_opcode; /**<  */
   4739     uint8_t  pad0; /**<  */
   4740     uint16_t length; /**<  */
   4741 } xcb_no_operation_request_t;
   4742 
   4743 /**
   4744  * Get the next element of the iterator
   4745  * @param i Pointer to a xcb_char2b_iterator_t
   4746  *
   4747  * Get the next element in the iterator. The member rem is
   4748  * decreased by one. The member data points to the next
   4749  * element. The member index is increased by sizeof(xcb_char2b_t)
   4750  */
   4751 
   4752 /*****************************************************************************
   4753  **
   4754  ** void xcb_char2b_next
   4755  **
   4756  ** @param xcb_char2b_iterator_t *i
   4757  ** @returns void
   4758  **
   4759  *****************************************************************************/
   4760 
   4761 void
   4762 xcb_char2b_next (xcb_char2b_iterator_t *i  /**< */);
   4763 
   4764 /**
   4765  * Return the iterator pointing to the last element
   4766  * @param i An xcb_char2b_iterator_t
   4767  * @return  The iterator pointing to the last element
   4768  *
   4769  * Set the current element in the iterator to the last element.
   4770  * The member rem is set to 0. The member data points to the
   4771  * last element.
   4772  */
   4773 
   4774 /*****************************************************************************
   4775  **
   4776  ** xcb_generic_iterator_t xcb_char2b_end
   4777  **
   4778  ** @param xcb_char2b_iterator_t i
   4779  ** @returns xcb_generic_iterator_t
   4780  **
   4781  *****************************************************************************/
   4782 
   4783 xcb_generic_iterator_t
   4784 xcb_char2b_end (xcb_char2b_iterator_t i  /**< */);
   4785 
   4786 /**
   4787  * Get the next element of the iterator
   4788  * @param i Pointer to a xcb_window_iterator_t
   4789  *
   4790  * Get the next element in the iterator. The member rem is
   4791  * decreased by one. The member data points to the next
   4792  * element. The member index is increased by sizeof(xcb_window_t)
   4793  */
   4794 
   4795 /*****************************************************************************
   4796  **
   4797  ** void xcb_window_next
   4798  **
   4799  ** @param xcb_window_iterator_t *i
   4800  ** @returns void
   4801  **
   4802  *****************************************************************************/
   4803 
   4804 void
   4805 xcb_window_next (xcb_window_iterator_t *i  /**< */);
   4806 
   4807 /**
   4808  * Return the iterator pointing to the last element
   4809  * @param i An xcb_window_iterator_t
   4810  * @return  The iterator pointing to the last element
   4811  *
   4812  * Set the current element in the iterator to the last element.
   4813  * The member rem is set to 0. The member data points to the
   4814  * last element.
   4815  */
   4816 
   4817 /*****************************************************************************
   4818  **
   4819  ** xcb_generic_iterator_t xcb_window_end
   4820  **
   4821  ** @param xcb_window_iterator_t i
   4822  ** @returns xcb_generic_iterator_t
   4823  **
   4824  *****************************************************************************/
   4825 
   4826 xcb_generic_iterator_t
   4827 xcb_window_end (xcb_window_iterator_t i  /**< */);
   4828 
   4829 /**
   4830  * Get the next element of the iterator
   4831  * @param i Pointer to a xcb_pixmap_iterator_t
   4832  *
   4833  * Get the next element in the iterator. The member rem is
   4834  * decreased by one. The member data points to the next
   4835  * element. The member index is increased by sizeof(xcb_pixmap_t)
   4836  */
   4837 
   4838 /*****************************************************************************
   4839  **
   4840  ** void xcb_pixmap_next
   4841  **
   4842  ** @param xcb_pixmap_iterator_t *i
   4843  ** @returns void
   4844  **
   4845  *****************************************************************************/
   4846 
   4847 void
   4848 xcb_pixmap_next (xcb_pixmap_iterator_t *i  /**< */);
   4849 
   4850 /**
   4851  * Return the iterator pointing to the last element
   4852  * @param i An xcb_pixmap_iterator_t
   4853  * @return  The iterator pointing to the last element
   4854  *
   4855  * Set the current element in the iterator to the last element.
   4856  * The member rem is set to 0. The member data points to the
   4857  * last element.
   4858  */
   4859 
   4860 /*****************************************************************************
   4861  **
   4862  ** xcb_generic_iterator_t xcb_pixmap_end
   4863  **
   4864  ** @param xcb_pixmap_iterator_t i
   4865  ** @returns xcb_generic_iterator_t
   4866  **
   4867  *****************************************************************************/
   4868 
   4869 xcb_generic_iterator_t
   4870 xcb_pixmap_end (xcb_pixmap_iterator_t i  /**< */);
   4871 
   4872 /**
   4873  * Get the next element of the iterator
   4874  * @param i Pointer to a xcb_cursor_iterator_t
   4875  *
   4876  * Get the next element in the iterator. The member rem is
   4877  * decreased by one. The member data points to the next
   4878  * element. The member index is increased by sizeof(xcb_cursor_t)
   4879  */
   4880 
   4881 /*****************************************************************************
   4882  **
   4883  ** void xcb_cursor_next
   4884  **
   4885  ** @param xcb_cursor_iterator_t *i
   4886  ** @returns void
   4887  **
   4888  *****************************************************************************/
   4889 
   4890 void
   4891 xcb_cursor_next (xcb_cursor_iterator_t *i  /**< */);
   4892 
   4893 /**
   4894  * Return the iterator pointing to the last element
   4895  * @param i An xcb_cursor_iterator_t
   4896  * @return  The iterator pointing to the last element
   4897  *
   4898  * Set the current element in the iterator to the last element.
   4899  * The member rem is set to 0. The member data points to the
   4900  * last element.
   4901  */
   4902 
   4903 /*****************************************************************************
   4904  **
   4905  ** xcb_generic_iterator_t xcb_cursor_end
   4906  **
   4907  ** @param xcb_cursor_iterator_t i
   4908  ** @returns xcb_generic_iterator_t
   4909  **
   4910  *****************************************************************************/
   4911 
   4912 xcb_generic_iterator_t
   4913 xcb_cursor_end (xcb_cursor_iterator_t i  /**< */);
   4914 
   4915 /**
   4916  * Get the next element of the iterator
   4917  * @param i Pointer to a xcb_font_iterator_t
   4918  *
   4919  * Get the next element in the iterator. The member rem is
   4920  * decreased by one. The member data points to the next
   4921  * element. The member index is increased by sizeof(xcb_font_t)
   4922  */
   4923 
   4924 /*****************************************************************************
   4925  **
   4926  ** void xcb_font_next
   4927  **
   4928  ** @param xcb_font_iterator_t *i
   4929  ** @returns void
   4930  **
   4931  *****************************************************************************/
   4932 
   4933 void
   4934 xcb_font_next (xcb_font_iterator_t *i  /**< */);
   4935 
   4936 /**
   4937  * Return the iterator pointing to the last element
   4938  * @param i An xcb_font_iterator_t
   4939  * @return  The iterator pointing to the last element
   4940  *
   4941  * Set the current element in the iterator to the last element.
   4942  * The member rem is set to 0. The member data points to the
   4943  * last element.
   4944  */
   4945 
   4946 /*****************************************************************************
   4947  **
   4948  ** xcb_generic_iterator_t xcb_font_end
   4949  **
   4950  ** @param xcb_font_iterator_t i
   4951  ** @returns xcb_generic_iterator_t
   4952  **
   4953  *****************************************************************************/
   4954 
   4955 xcb_generic_iterator_t
   4956 xcb_font_end (xcb_font_iterator_t i  /**< */);
   4957 
   4958 /**
   4959  * Get the next element of the iterator
   4960  * @param i Pointer to a xcb_gcontext_iterator_t
   4961  *
   4962  * Get the next element in the iterator. The member rem is
   4963  * decreased by one. The member data points to the next
   4964  * element. The member index is increased by sizeof(xcb_gcontext_t)
   4965  */
   4966 
   4967 /*****************************************************************************
   4968  **
   4969  ** void xcb_gcontext_next
   4970  **
   4971  ** @param xcb_gcontext_iterator_t *i
   4972  ** @returns void
   4973  **
   4974  *****************************************************************************/
   4975 
   4976 void
   4977 xcb_gcontext_next (xcb_gcontext_iterator_t *i  /**< */);
   4978 
   4979 /**
   4980  * Return the iterator pointing to the last element
   4981  * @param i An xcb_gcontext_iterator_t
   4982  * @return  The iterator pointing to the last element
   4983  *
   4984  * Set the current element in the iterator to the last element.
   4985  * The member rem is set to 0. The member data points to the
   4986  * last element.
   4987  */
   4988 
   4989 /*****************************************************************************
   4990  **
   4991  ** xcb_generic_iterator_t xcb_gcontext_end
   4992  **
   4993  ** @param xcb_gcontext_iterator_t i
   4994  ** @returns xcb_generic_iterator_t
   4995  **
   4996  *****************************************************************************/
   4997 
   4998 xcb_generic_iterator_t
   4999 xcb_gcontext_end (xcb_gcontext_iterator_t i  /**< */);
   5000 
   5001 /**
   5002  * Get the next element of the iterator
   5003  * @param i Pointer to a xcb_colormap_iterator_t
   5004  *
   5005  * Get the next element in the iterator. The member rem is
   5006  * decreased by one. The member data points to the next
   5007  * element. The member index is increased by sizeof(xcb_colormap_t)
   5008  */
   5009 
   5010 /*****************************************************************************
   5011  **
   5012  ** void xcb_colormap_next
   5013  **
   5014  ** @param xcb_colormap_iterator_t *i
   5015  ** @returns void
   5016  **
   5017  *****************************************************************************/
   5018 
   5019 void
   5020 xcb_colormap_next (xcb_colormap_iterator_t *i  /**< */);
   5021 
   5022 /**
   5023  * Return the iterator pointing to the last element
   5024  * @param i An xcb_colormap_iterator_t
   5025  * @return  The iterator pointing to the last element
   5026  *
   5027  * Set the current element in the iterator to the last element.
   5028  * The member rem is set to 0. The member data points to the
   5029  * last element.
   5030  */
   5031 
   5032 /*****************************************************************************
   5033  **
   5034  ** xcb_generic_iterator_t xcb_colormap_end
   5035  **
   5036  ** @param xcb_colormap_iterator_t i
   5037  ** @returns xcb_generic_iterator_t
   5038  **
   5039  *****************************************************************************/
   5040 
   5041 xcb_generic_iterator_t
   5042 xcb_colormap_end (xcb_colormap_iterator_t i  /**< */);
   5043 
   5044 /**
   5045  * Get the next element of the iterator
   5046  * @param i Pointer to a xcb_atom_iterator_t
   5047  *
   5048  * Get the next element in the iterator. The member rem is
   5049  * decreased by one. The member data points to the next
   5050  * element. The member index is increased by sizeof(xcb_atom_t)
   5051  */
   5052 
   5053 /*****************************************************************************
   5054  **
   5055  ** void xcb_atom_next
   5056  **
   5057  ** @param xcb_atom_iterator_t *i
   5058  ** @returns void
   5059  **
   5060  *****************************************************************************/
   5061 
   5062 void
   5063 xcb_atom_next (xcb_atom_iterator_t *i  /**< */);
   5064 
   5065 /**
   5066  * Return the iterator pointing to the last element
   5067  * @param i An xcb_atom_iterator_t
   5068  * @return  The iterator pointing to the last element
   5069  *
   5070  * Set the current element in the iterator to the last element.
   5071  * The member rem is set to 0. The member data points to the
   5072  * last element.
   5073  */
   5074 
   5075 /*****************************************************************************
   5076  **
   5077  ** xcb_generic_iterator_t xcb_atom_end
   5078  **
   5079  ** @param xcb_atom_iterator_t i
   5080  ** @returns xcb_generic_iterator_t
   5081  **
   5082  *****************************************************************************/
   5083 
   5084 xcb_generic_iterator_t
   5085 xcb_atom_end (xcb_atom_iterator_t i  /**< */);
   5086 
   5087 /**
   5088  * Get the next element of the iterator
   5089  * @param i Pointer to a xcb_drawable_iterator_t
   5090  *
   5091  * Get the next element in the iterator. The member rem is
   5092  * decreased by one. The member data points to the next
   5093  * element. The member index is increased by sizeof(xcb_drawable_t)
   5094  */
   5095 
   5096 /*****************************************************************************
   5097  **
   5098  ** void xcb_drawable_next
   5099  **
   5100  ** @param xcb_drawable_iterator_t *i
   5101  ** @returns void
   5102  **
   5103  *****************************************************************************/
   5104 
   5105 void
   5106 xcb_drawable_next (xcb_drawable_iterator_t *i  /**< */);
   5107 
   5108 /**
   5109  * Return the iterator pointing to the last element
   5110  * @param i An xcb_drawable_iterator_t
   5111  * @return  The iterator pointing to the last element
   5112  *
   5113  * Set the current element in the iterator to the last element.
   5114  * The member rem is set to 0. The member data points to the
   5115  * last element.
   5116  */
   5117 
   5118 /*****************************************************************************
   5119  **
   5120  ** xcb_generic_iterator_t xcb_drawable_end
   5121  **
   5122  ** @param xcb_drawable_iterator_t i
   5123  ** @returns xcb_generic_iterator_t
   5124  **
   5125  *****************************************************************************/
   5126 
   5127 xcb_generic_iterator_t
   5128 xcb_drawable_end (xcb_drawable_iterator_t i  /**< */);
   5129 
   5130 /**
   5131  * Get the next element of the iterator
   5132  * @param i Pointer to a xcb_fontable_iterator_t
   5133  *
   5134  * Get the next element in the iterator. The member rem is
   5135  * decreased by one. The member data points to the next
   5136  * element. The member index is increased by sizeof(xcb_fontable_t)
   5137  */
   5138 
   5139 /*****************************************************************************
   5140  **
   5141  ** void xcb_fontable_next
   5142  **
   5143  ** @param xcb_fontable_iterator_t *i
   5144  ** @returns void
   5145  **
   5146  *****************************************************************************/
   5147 
   5148 void
   5149 xcb_fontable_next (xcb_fontable_iterator_t *i  /**< */);
   5150 
   5151 /**
   5152  * Return the iterator pointing to the last element
   5153  * @param i An xcb_fontable_iterator_t
   5154  * @return  The iterator pointing to the last element
   5155  *
   5156  * Set the current element in the iterator to the last element.
   5157  * The member rem is set to 0. The member data points to the
   5158  * last element.
   5159  */
   5160 
   5161 /*****************************************************************************
   5162  **
   5163  ** xcb_generic_iterator_t xcb_fontable_end
   5164  **
   5165  ** @param xcb_fontable_iterator_t i
   5166  ** @returns xcb_generic_iterator_t
   5167  **
   5168  *****************************************************************************/
   5169 
   5170 xcb_generic_iterator_t
   5171 xcb_fontable_end (xcb_fontable_iterator_t i  /**< */);
   5172 
   5173 /**
   5174  * Get the next element of the iterator
   5175  * @param i Pointer to a xcb_visualid_iterator_t
   5176  *
   5177  * Get the next element in the iterator. The member rem is
   5178  * decreased by one. The member data points to the next
   5179  * element. The member index is increased by sizeof(xcb_visualid_t)
   5180  */
   5181 
   5182 /*****************************************************************************
   5183  **
   5184  ** void xcb_visualid_next
   5185  **
   5186  ** @param xcb_visualid_iterator_t *i
   5187  ** @returns void
   5188  **
   5189  *****************************************************************************/
   5190 
   5191 void
   5192 xcb_visualid_next (xcb_visualid_iterator_t *i  /**< */);
   5193 
   5194 /**
   5195  * Return the iterator pointing to the last element
   5196  * @param i An xcb_visualid_iterator_t
   5197  * @return  The iterator pointing to the last element
   5198  *
   5199  * Set the current element in the iterator to the last element.
   5200  * The member rem is set to 0. The member data points to the
   5201  * last element.
   5202  */
   5203 
   5204 /*****************************************************************************
   5205  **
   5206  ** xcb_generic_iterator_t xcb_visualid_end
   5207  **
   5208  ** @param xcb_visualid_iterator_t i
   5209  ** @returns xcb_generic_iterator_t
   5210  **
   5211  *****************************************************************************/
   5212 
   5213 xcb_generic_iterator_t
   5214 xcb_visualid_end (xcb_visualid_iterator_t i  /**< */);
   5215 
   5216 /**
   5217  * Get the next element of the iterator
   5218  * @param i Pointer to a xcb_timestamp_iterator_t
   5219  *
   5220  * Get the next element in the iterator. The member rem is
   5221  * decreased by one. The member data points to the next
   5222  * element. The member index is increased by sizeof(xcb_timestamp_t)
   5223  */
   5224 
   5225 /*****************************************************************************
   5226  **
   5227  ** void xcb_timestamp_next
   5228  **
   5229  ** @param xcb_timestamp_iterator_t *i
   5230  ** @returns void
   5231  **
   5232  *****************************************************************************/
   5233 
   5234 void
   5235 xcb_timestamp_next (xcb_timestamp_iterator_t *i  /**< */);
   5236 
   5237 /**
   5238  * Return the iterator pointing to the last element
   5239  * @param i An xcb_timestamp_iterator_t
   5240  * @return  The iterator pointing to the last element
   5241  *
   5242  * Set the current element in the iterator to the last element.
   5243  * The member rem is set to 0. The member data points to the
   5244  * last element.
   5245  */
   5246 
   5247 /*****************************************************************************
   5248  **
   5249  ** xcb_generic_iterator_t xcb_timestamp_end
   5250  **
   5251  ** @param xcb_timestamp_iterator_t i
   5252  ** @returns xcb_generic_iterator_t
   5253  **
   5254  *****************************************************************************/
   5255 
   5256 xcb_generic_iterator_t
   5257 xcb_timestamp_end (xcb_timestamp_iterator_t i  /**< */);
   5258 
   5259 /**
   5260  * Get the next element of the iterator
   5261  * @param i Pointer to a xcb_keysym_iterator_t
   5262  *
   5263  * Get the next element in the iterator. The member rem is
   5264  * decreased by one. The member data points to the next
   5265  * element. The member index is increased by sizeof(xcb_keysym_t)
   5266  */
   5267 
   5268 /*****************************************************************************
   5269  **
   5270  ** void xcb_keysym_next
   5271  **
   5272  ** @param xcb_keysym_iterator_t *i
   5273  ** @returns void
   5274  **
   5275  *****************************************************************************/
   5276 
   5277 void
   5278 xcb_keysym_next (xcb_keysym_iterator_t *i  /**< */);
   5279 
   5280 /**
   5281  * Return the iterator pointing to the last element
   5282  * @param i An xcb_keysym_iterator_t
   5283  * @return  The iterator pointing to the last element
   5284  *
   5285  * Set the current element in the iterator to the last element.
   5286  * The member rem is set to 0. The member data points to the
   5287  * last element.
   5288  */
   5289 
   5290 /*****************************************************************************
   5291  **
   5292  ** xcb_generic_iterator_t xcb_keysym_end
   5293  **
   5294  ** @param xcb_keysym_iterator_t i
   5295  ** @returns xcb_generic_iterator_t
   5296  **
   5297  *****************************************************************************/
   5298 
   5299 xcb_generic_iterator_t
   5300 xcb_keysym_end (xcb_keysym_iterator_t i  /**< */);
   5301 
   5302 /**
   5303  * Get the next element of the iterator
   5304  * @param i Pointer to a xcb_keycode_iterator_t
   5305  *
   5306  * Get the next element in the iterator. The member rem is
   5307  * decreased by one. The member data points to the next
   5308  * element. The member index is increased by sizeof(xcb_keycode_t)
   5309  */
   5310 
   5311 /*****************************************************************************
   5312  **
   5313  ** void xcb_keycode_next
   5314  **
   5315  ** @param xcb_keycode_iterator_t *i
   5316  ** @returns void
   5317  **
   5318  *****************************************************************************/
   5319 
   5320 void
   5321 xcb_keycode_next (xcb_keycode_iterator_t *i  /**< */);
   5322 
   5323 /**
   5324  * Return the iterator pointing to the last element
   5325  * @param i An xcb_keycode_iterator_t
   5326  * @return  The iterator pointing to the last element
   5327  *
   5328  * Set the current element in the iterator to the last element.
   5329  * The member rem is set to 0. The member data points to the
   5330  * last element.
   5331  */
   5332 
   5333 /*****************************************************************************
   5334  **
   5335  ** xcb_generic_iterator_t xcb_keycode_end
   5336  **
   5337  ** @param xcb_keycode_iterator_t i
   5338  ** @returns xcb_generic_iterator_t
   5339  **
   5340  *****************************************************************************/
   5341 
   5342 xcb_generic_iterator_t
   5343 xcb_keycode_end (xcb_keycode_iterator_t i  /**< */);
   5344 
   5345 /**
   5346  * Get the next element of the iterator
   5347  * @param i Pointer to a xcb_button_iterator_t
   5348  *
   5349  * Get the next element in the iterator. The member rem is
   5350  * decreased by one. The member data points to the next
   5351  * element. The member index is increased by sizeof(xcb_button_t)
   5352  */
   5353 
   5354 /*****************************************************************************
   5355  **
   5356  ** void xcb_button_next
   5357  **
   5358  ** @param xcb_button_iterator_t *i
   5359  ** @returns void
   5360  **
   5361  *****************************************************************************/
   5362 
   5363 void
   5364 xcb_button_next (xcb_button_iterator_t *i  /**< */);
   5365 
   5366 /**
   5367  * Return the iterator pointing to the last element
   5368  * @param i An xcb_button_iterator_t
   5369  * @return  The iterator pointing to the last element
   5370  *
   5371  * Set the current element in the iterator to the last element.
   5372  * The member rem is set to 0. The member data points to the
   5373  * last element.
   5374  */
   5375 
   5376 /*****************************************************************************
   5377  **
   5378  ** xcb_generic_iterator_t xcb_button_end
   5379  **
   5380  ** @param xcb_button_iterator_t i
   5381  ** @returns xcb_generic_iterator_t
   5382  **
   5383  *****************************************************************************/
   5384 
   5385 xcb_generic_iterator_t
   5386 xcb_button_end (xcb_button_iterator_t i  /**< */);
   5387 
   5388 /**
   5389  * Get the next element of the iterator
   5390  * @param i Pointer to a xcb_point_iterator_t
   5391  *
   5392  * Get the next element in the iterator. The member rem is
   5393  * decreased by one. The member data points to the next
   5394  * element. The member index is increased by sizeof(xcb_point_t)
   5395  */
   5396 
   5397 /*****************************************************************************
   5398  **
   5399  ** void xcb_point_next
   5400  **
   5401  ** @param xcb_point_iterator_t *i
   5402  ** @returns void
   5403  **
   5404  *****************************************************************************/
   5405 
   5406 void
   5407 xcb_point_next (xcb_point_iterator_t *i  /**< */);
   5408 
   5409 /**
   5410  * Return the iterator pointing to the last element
   5411  * @param i An xcb_point_iterator_t
   5412  * @return  The iterator pointing to the last element
   5413  *
   5414  * Set the current element in the iterator to the last element.
   5415  * The member rem is set to 0. The member data points to the
   5416  * last element.
   5417  */
   5418 
   5419 /*****************************************************************************
   5420  **
   5421  ** xcb_generic_iterator_t xcb_point_end
   5422  **
   5423  ** @param xcb_point_iterator_t i
   5424  ** @returns xcb_generic_iterator_t
   5425  **
   5426  *****************************************************************************/
   5427 
   5428 xcb_generic_iterator_t
   5429 xcb_point_end (xcb_point_iterator_t i  /**< */);
   5430 
   5431 /**
   5432  * Get the next element of the iterator
   5433  * @param i Pointer to a xcb_rectangle_iterator_t
   5434  *
   5435  * Get the next element in the iterator. The member rem is
   5436  * decreased by one. The member data points to the next
   5437  * element. The member index is increased by sizeof(xcb_rectangle_t)
   5438  */
   5439 
   5440 /*****************************************************************************
   5441  **
   5442  ** void xcb_rectangle_next
   5443  **
   5444  ** @param xcb_rectangle_iterator_t *i
   5445  ** @returns void
   5446  **
   5447  *****************************************************************************/
   5448 
   5449 void
   5450 xcb_rectangle_next (xcb_rectangle_iterator_t *i  /**< */);
   5451 
   5452 /**
   5453  * Return the iterator pointing to the last element
   5454  * @param i An xcb_rectangle_iterator_t
   5455  * @return  The iterator pointing to the last element
   5456  *
   5457  * Set the current element in the iterator to the last element.
   5458  * The member rem is set to 0. The member data points to the
   5459  * last element.
   5460  */
   5461 
   5462 /*****************************************************************************
   5463  **
   5464  ** xcb_generic_iterator_t xcb_rectangle_end
   5465  **
   5466  ** @param xcb_rectangle_iterator_t i
   5467  ** @returns xcb_generic_iterator_t
   5468  **
   5469  *****************************************************************************/
   5470 
   5471 xcb_generic_iterator_t
   5472 xcb_rectangle_end (xcb_rectangle_iterator_t i  /**< */);
   5473 
   5474 /**
   5475  * Get the next element of the iterator
   5476  * @param i Pointer to a xcb_arc_iterator_t
   5477  *
   5478  * Get the next element in the iterator. The member rem is
   5479  * decreased by one. The member data points to the next
   5480  * element. The member index is increased by sizeof(xcb_arc_t)
   5481  */
   5482 
   5483 /*****************************************************************************
   5484  **
   5485  ** void xcb_arc_next
   5486  **
   5487  ** @param xcb_arc_iterator_t *i
   5488  ** @returns void
   5489  **
   5490  *****************************************************************************/
   5491 
   5492 void
   5493 xcb_arc_next (xcb_arc_iterator_t *i  /**< */);
   5494 
   5495 /**
   5496  * Return the iterator pointing to the last element
   5497  * @param i An xcb_arc_iterator_t
   5498  * @return  The iterator pointing to the last element
   5499  *
   5500  * Set the current element in the iterator to the last element.
   5501  * The member rem is set to 0. The member data points to the
   5502  * last element.
   5503  */
   5504 
   5505 /*****************************************************************************
   5506  **
   5507  ** xcb_generic_iterator_t xcb_arc_end
   5508  **
   5509  ** @param xcb_arc_iterator_t i
   5510  ** @returns xcb_generic_iterator_t
   5511  **
   5512  *****************************************************************************/
   5513 
   5514 xcb_generic_iterator_t
   5515 xcb_arc_end (xcb_arc_iterator_t i  /**< */);
   5516 
   5517 /**
   5518  * Get the next element of the iterator
   5519  * @param i Pointer to a xcb_format_iterator_t
   5520  *
   5521  * Get the next element in the iterator. The member rem is
   5522  * decreased by one. The member data points to the next
   5523  * element. The member index is increased by sizeof(xcb_format_t)
   5524  */
   5525 
   5526 /*****************************************************************************
   5527  **
   5528  ** void xcb_format_next
   5529  **
   5530  ** @param xcb_format_iterator_t *i
   5531  ** @returns void
   5532  **
   5533  *****************************************************************************/
   5534 
   5535 void
   5536 xcb_format_next (xcb_format_iterator_t *i  /**< */);
   5537 
   5538 /**
   5539  * Return the iterator pointing to the last element
   5540  * @param i An xcb_format_iterator_t
   5541  * @return  The iterator pointing to the last element
   5542  *
   5543  * Set the current element in the iterator to the last element.
   5544  * The member rem is set to 0. The member data points to the
   5545  * last element.
   5546  */
   5547 
   5548 /*****************************************************************************
   5549  **
   5550  ** xcb_generic_iterator_t xcb_format_end
   5551  **
   5552  ** @param xcb_format_iterator_t i
   5553  ** @returns xcb_generic_iterator_t
   5554  **
   5555  *****************************************************************************/
   5556 
   5557 xcb_generic_iterator_t
   5558 xcb_format_end (xcb_format_iterator_t i  /**< */);
   5559 
   5560 /**
   5561  * Get the next element of the iterator
   5562  * @param i Pointer to a xcb_visualtype_iterator_t
   5563  *
   5564  * Get the next element in the iterator. The member rem is
   5565  * decreased by one. The member data points to the next
   5566  * element. The member index is increased by sizeof(xcb_visualtype_t)
   5567  */
   5568 
   5569 /*****************************************************************************
   5570  **
   5571  ** void xcb_visualtype_next
   5572  **
   5573  ** @param xcb_visualtype_iterator_t *i
   5574  ** @returns void
   5575  **
   5576  *****************************************************************************/
   5577 
   5578 void
   5579 xcb_visualtype_next (xcb_visualtype_iterator_t *i  /**< */);
   5580 
   5581 /**
   5582  * Return the iterator pointing to the last element
   5583  * @param i An xcb_visualtype_iterator_t
   5584  * @return  The iterator pointing to the last element
   5585  *
   5586  * Set the current element in the iterator to the last element.
   5587  * The member rem is set to 0. The member data points to the
   5588  * last element.
   5589  */
   5590 
   5591 /*****************************************************************************
   5592  **
   5593  ** xcb_generic_iterator_t xcb_visualtype_end
   5594  **
   5595  ** @param xcb_visualtype_iterator_t i
   5596  ** @returns xcb_generic_iterator_t
   5597  **
   5598  *****************************************************************************/
   5599 
   5600 xcb_generic_iterator_t
   5601 xcb_visualtype_end (xcb_visualtype_iterator_t i  /**< */);
   5602 
   5603 int
   5604 xcb_depth_sizeof (const void  *_buffer  /**< */);
   5605 
   5606 
   5607 /*****************************************************************************
   5608  **
   5609  ** xcb_visualtype_t * xcb_depth_visuals
   5610  **
   5611  ** @param const xcb_depth_t *R
   5612  ** @returns xcb_visualtype_t *
   5613  **
   5614  *****************************************************************************/
   5615 
   5616 xcb_visualtype_t *
   5617 xcb_depth_visuals (const xcb_depth_t *R  /**< */);
   5618 
   5619 
   5620 /*****************************************************************************
   5621  **
   5622  ** int xcb_depth_visuals_length
   5623  **
   5624  ** @param const xcb_depth_t *R
   5625  ** @returns int
   5626  **
   5627  *****************************************************************************/
   5628 
   5629 int
   5630 xcb_depth_visuals_length (const xcb_depth_t *R  /**< */);
   5631 
   5632 
   5633 /*****************************************************************************
   5634  **
   5635  ** xcb_visualtype_iterator_t xcb_depth_visuals_iterator
   5636  **
   5637  ** @param const xcb_depth_t *R
   5638  ** @returns xcb_visualtype_iterator_t
   5639  **
   5640  *****************************************************************************/
   5641 
   5642 xcb_visualtype_iterator_t
   5643 xcb_depth_visuals_iterator (const xcb_depth_t *R  /**< */);
   5644 
   5645 /**
   5646  * Get the next element of the iterator
   5647  * @param i Pointer to a xcb_depth_iterator_t
   5648  *
   5649  * Get the next element in the iterator. The member rem is
   5650  * decreased by one. The member data points to the next
   5651  * element. The member index is increased by sizeof(xcb_depth_t)
   5652  */
   5653 
   5654 /*****************************************************************************
   5655  **
   5656  ** void xcb_depth_next
   5657  **
   5658  ** @param xcb_depth_iterator_t *i
   5659  ** @returns void
   5660  **
   5661  *****************************************************************************/
   5662 
   5663 void
   5664 xcb_depth_next (xcb_depth_iterator_t *i  /**< */);
   5665 
   5666 /**
   5667  * Return the iterator pointing to the last element
   5668  * @param i An xcb_depth_iterator_t
   5669  * @return  The iterator pointing to the last element
   5670  *
   5671  * Set the current element in the iterator to the last element.
   5672  * The member rem is set to 0. The member data points to the
   5673  * last element.
   5674  */
   5675 
   5676 /*****************************************************************************
   5677  **
   5678  ** xcb_generic_iterator_t xcb_depth_end
   5679  **
   5680  ** @param xcb_depth_iterator_t i
   5681  ** @returns xcb_generic_iterator_t
   5682  **
   5683  *****************************************************************************/
   5684 
   5685 xcb_generic_iterator_t
   5686 xcb_depth_end (xcb_depth_iterator_t i  /**< */);
   5687 
   5688 int
   5689 xcb_screen_sizeof (const void  *_buffer  /**< */);
   5690 
   5691 
   5692 /*****************************************************************************
   5693  **
   5694  ** int xcb_screen_allowed_depths_length
   5695  **
   5696  ** @param const xcb_screen_t *R
   5697  ** @returns int
   5698  **
   5699  *****************************************************************************/
   5700 
   5701 int
   5702 xcb_screen_allowed_depths_length (const xcb_screen_t *R  /**< */);
   5703 
   5704 
   5705 /*****************************************************************************
   5706  **
   5707  ** xcb_depth_iterator_t xcb_screen_allowed_depths_iterator
   5708  **
   5709  ** @param const xcb_screen_t *R
   5710  ** @returns xcb_depth_iterator_t
   5711  **
   5712  *****************************************************************************/
   5713 
   5714 xcb_depth_iterator_t
   5715 xcb_screen_allowed_depths_iterator (const xcb_screen_t *R  /**< */);
   5716 
   5717 /**
   5718  * Get the next element of the iterator
   5719  * @param i Pointer to a xcb_screen_iterator_t
   5720  *
   5721  * Get the next element in the iterator. The member rem is
   5722  * decreased by one. The member data points to the next
   5723  * element. The member index is increased by sizeof(xcb_screen_t)
   5724  */
   5725 
   5726 /*****************************************************************************
   5727  **
   5728  ** void xcb_screen_next
   5729  **
   5730  ** @param xcb_screen_iterator_t *i
   5731  ** @returns void
   5732  **
   5733  *****************************************************************************/
   5734 
   5735 void
   5736 xcb_screen_next (xcb_screen_iterator_t *i  /**< */);
   5737 
   5738 /**
   5739  * Return the iterator pointing to the last element
   5740  * @param i An xcb_screen_iterator_t
   5741  * @return  The iterator pointing to the last element
   5742  *
   5743  * Set the current element in the iterator to the last element.
   5744  * The member rem is set to 0. The member data points to the
   5745  * last element.
   5746  */
   5747 
   5748 /*****************************************************************************
   5749  **
   5750  ** xcb_generic_iterator_t xcb_screen_end
   5751  **
   5752  ** @param xcb_screen_iterator_t i
   5753  ** @returns xcb_generic_iterator_t
   5754  **
   5755  *****************************************************************************/
   5756 
   5757 xcb_generic_iterator_t
   5758 xcb_screen_end (xcb_screen_iterator_t i  /**< */);
   5759 
   5760 int
   5761 xcb_setup_request_sizeof (const void  *_buffer  /**< */);
   5762 
   5763 
   5764 /*****************************************************************************
   5765  **
   5766  ** char * xcb_setup_request_authorization_protocol_name
   5767  **
   5768  ** @param const xcb_setup_request_t *R
   5769  ** @returns char *
   5770  **
   5771  *****************************************************************************/
   5772 
   5773 char *
   5774 xcb_setup_request_authorization_protocol_name (const xcb_setup_request_t *R  /**< */);
   5775 
   5776 
   5777 /*****************************************************************************
   5778  **
   5779  ** int xcb_setup_request_authorization_protocol_name_length
   5780  **
   5781  ** @param const xcb_setup_request_t *R
   5782  ** @returns int
   5783  **
   5784  *****************************************************************************/
   5785 
   5786 int
   5787 xcb_setup_request_authorization_protocol_name_length (const xcb_setup_request_t *R  /**< */);
   5788 
   5789 
   5790 /*****************************************************************************
   5791  **
   5792  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_name_end
   5793  **
   5794  ** @param const xcb_setup_request_t *R
   5795  ** @returns xcb_generic_iterator_t
   5796  **
   5797  *****************************************************************************/
   5798 
   5799 xcb_generic_iterator_t
   5800 xcb_setup_request_authorization_protocol_name_end (const xcb_setup_request_t *R  /**< */);
   5801 
   5802 
   5803 /*****************************************************************************
   5804  **
   5805  ** char * xcb_setup_request_authorization_protocol_data
   5806  **
   5807  ** @param const xcb_setup_request_t *R
   5808  ** @returns char *
   5809  **
   5810  *****************************************************************************/
   5811 
   5812 char *
   5813 xcb_setup_request_authorization_protocol_data (const xcb_setup_request_t *R  /**< */);
   5814 
   5815 
   5816 /*****************************************************************************
   5817  **
   5818  ** int xcb_setup_request_authorization_protocol_data_length
   5819  **
   5820  ** @param const xcb_setup_request_t *R
   5821  ** @returns int
   5822  **
   5823  *****************************************************************************/
   5824 
   5825 int
   5826 xcb_setup_request_authorization_protocol_data_length (const xcb_setup_request_t *R  /**< */);
   5827 
   5828 
   5829 /*****************************************************************************
   5830  **
   5831  ** xcb_generic_iterator_t xcb_setup_request_authorization_protocol_data_end
   5832  **
   5833  ** @param const xcb_setup_request_t *R
   5834  ** @returns xcb_generic_iterator_t
   5835  **
   5836  *****************************************************************************/
   5837 
   5838 xcb_generic_iterator_t
   5839 xcb_setup_request_authorization_protocol_data_end (const xcb_setup_request_t *R  /**< */);
   5840 
   5841 /**
   5842  * Get the next element of the iterator
   5843  * @param i Pointer to a xcb_setup_request_iterator_t
   5844  *
   5845  * Get the next element in the iterator. The member rem is
   5846  * decreased by one. The member data points to the next
   5847  * element. The member index is increased by sizeof(xcb_setup_request_t)
   5848  */
   5849 
   5850 /*****************************************************************************
   5851  **
   5852  ** void xcb_setup_request_next
   5853  **
   5854  ** @param xcb_setup_request_iterator_t *i
   5855  ** @returns void
   5856  **
   5857  *****************************************************************************/
   5858 
   5859 void
   5860 xcb_setup_request_next (xcb_setup_request_iterator_t *i  /**< */);
   5861 
   5862 /**
   5863  * Return the iterator pointing to the last element
   5864  * @param i An xcb_setup_request_iterator_t
   5865  * @return  The iterator pointing to the last element
   5866  *
   5867  * Set the current element in the iterator to the last element.
   5868  * The member rem is set to 0. The member data points to the
   5869  * last element.
   5870  */
   5871 
   5872 /*****************************************************************************
   5873  **
   5874  ** xcb_generic_iterator_t xcb_setup_request_end
   5875  **
   5876  ** @param xcb_setup_request_iterator_t i
   5877  ** @returns xcb_generic_iterator_t
   5878  **
   5879  *****************************************************************************/
   5880 
   5881 xcb_generic_iterator_t
   5882 xcb_setup_request_end (xcb_setup_request_iterator_t i  /**< */);
   5883 
   5884 int
   5885 xcb_setup_failed_sizeof (const void  *_buffer  /**< */);
   5886 
   5887 
   5888 /*****************************************************************************
   5889  **
   5890  ** char * xcb_setup_failed_reason
   5891  **
   5892  ** @param const xcb_setup_failed_t *R
   5893  ** @returns char *
   5894  **
   5895  *****************************************************************************/
   5896 
   5897 char *
   5898 xcb_setup_failed_reason (const xcb_setup_failed_t *R  /**< */);
   5899 
   5900 
   5901 /*****************************************************************************
   5902  **
   5903  ** int xcb_setup_failed_reason_length
   5904  **
   5905  ** @param const xcb_setup_failed_t *R
   5906  ** @returns int
   5907  **
   5908  *****************************************************************************/
   5909 
   5910 int
   5911 xcb_setup_failed_reason_length (const xcb_setup_failed_t *R  /**< */);
   5912 
   5913 
   5914 /*****************************************************************************
   5915  **
   5916  ** xcb_generic_iterator_t xcb_setup_failed_reason_end
   5917  **
   5918  ** @param const xcb_setup_failed_t *R
   5919  ** @returns xcb_generic_iterator_t
   5920  **
   5921  *****************************************************************************/
   5922 
   5923 xcb_generic_iterator_t
   5924 xcb_setup_failed_reason_end (const xcb_setup_failed_t *R  /**< */);
   5925 
   5926 /**
   5927  * Get the next element of the iterator
   5928  * @param i Pointer to a xcb_setup_failed_iterator_t
   5929  *
   5930  * Get the next element in the iterator. The member rem is
   5931  * decreased by one. The member data points to the next
   5932  * element. The member index is increased by sizeof(xcb_setup_failed_t)
   5933  */
   5934 
   5935 /*****************************************************************************
   5936  **
   5937  ** void xcb_setup_failed_next
   5938  **
   5939  ** @param xcb_setup_failed_iterator_t *i
   5940  ** @returns void
   5941  **
   5942  *****************************************************************************/
   5943 
   5944 void
   5945 xcb_setup_failed_next (xcb_setup_failed_iterator_t *i  /**< */);
   5946 
   5947 /**
   5948  * Return the iterator pointing to the last element
   5949  * @param i An xcb_setup_failed_iterator_t
   5950  * @return  The iterator pointing to the last element
   5951  *
   5952  * Set the current element in the iterator to the last element.
   5953  * The member rem is set to 0. The member data points to the
   5954  * last element.
   5955  */
   5956 
   5957 /*****************************************************************************
   5958  **
   5959  ** xcb_generic_iterator_t xcb_setup_failed_end
   5960  **
   5961  ** @param xcb_setup_failed_iterator_t i
   5962  ** @returns xcb_generic_iterator_t
   5963  **
   5964  *****************************************************************************/
   5965 
   5966 xcb_generic_iterator_t
   5967 xcb_setup_failed_end (xcb_setup_failed_iterator_t i  /**< */);
   5968 
   5969 int
   5970 xcb_setup_authenticate_sizeof (const void  *_buffer  /**< */);
   5971 
   5972 
   5973 /*****************************************************************************
   5974  **
   5975  ** char * xcb_setup_authenticate_reason
   5976  **
   5977  ** @param const xcb_setup_authenticate_t *R
   5978  ** @returns char *
   5979  **
   5980  *****************************************************************************/
   5981 
   5982 char *
   5983 xcb_setup_authenticate_reason (const xcb_setup_authenticate_t *R  /**< */);
   5984 
   5985 
   5986 /*****************************************************************************
   5987  **
   5988  ** int xcb_setup_authenticate_reason_length
   5989  **
   5990  ** @param const xcb_setup_authenticate_t *R
   5991  ** @returns int
   5992  **
   5993  *****************************************************************************/
   5994 
   5995 int
   5996 xcb_setup_authenticate_reason_length (const xcb_setup_authenticate_t *R  /**< */);
   5997 
   5998 
   5999 /*****************************************************************************
   6000  **
   6001  ** xcb_generic_iterator_t xcb_setup_authenticate_reason_end
   6002  **
   6003  ** @param const xcb_setup_authenticate_t *R
   6004  ** @returns xcb_generic_iterator_t
   6005  **
   6006  *****************************************************************************/
   6007 
   6008 xcb_generic_iterator_t
   6009 xcb_setup_authenticate_reason_end (const xcb_setup_authenticate_t *R  /**< */);
   6010 
   6011 /**
   6012  * Get the next element of the iterator
   6013  * @param i Pointer to a xcb_setup_authenticate_iterator_t
   6014  *
   6015  * Get the next element in the iterator. The member rem is
   6016  * decreased by one. The member data points to the next
   6017  * element. The member index is increased by sizeof(xcb_setup_authenticate_t)
   6018  */
   6019 
   6020 /*****************************************************************************
   6021  **
   6022  ** void xcb_setup_authenticate_next
   6023  **
   6024  ** @param xcb_setup_authenticate_iterator_t *i
   6025  ** @returns void
   6026  **
   6027  *****************************************************************************/
   6028 
   6029 void
   6030 xcb_setup_authenticate_next (xcb_setup_authenticate_iterator_t *i  /**< */);
   6031 
   6032 /**
   6033  * Return the iterator pointing to the last element
   6034  * @param i An xcb_setup_authenticate_iterator_t
   6035  * @return  The iterator pointing to the last element
   6036  *
   6037  * Set the current element in the iterator to the last element.
   6038  * The member rem is set to 0. The member data points to the
   6039  * last element.
   6040  */
   6041 
   6042 /*****************************************************************************
   6043  **
   6044  ** xcb_generic_iterator_t xcb_setup_authenticate_end
   6045  **
   6046  ** @param xcb_setup_authenticate_iterator_t i
   6047  ** @returns xcb_generic_iterator_t
   6048  **
   6049  *****************************************************************************/
   6050 
   6051 xcb_generic_iterator_t
   6052 xcb_setup_authenticate_end (xcb_setup_authenticate_iterator_t i  /**< */);
   6053 
   6054 int
   6055 xcb_setup_sizeof (const void  *_buffer  /**< */);
   6056 
   6057 
   6058 /*****************************************************************************
   6059  **
   6060  ** char * xcb_setup_vendor
   6061  **
   6062  ** @param const xcb_setup_t *R
   6063  ** @returns char *
   6064  **
   6065  *****************************************************************************/
   6066 
   6067 char *
   6068 xcb_setup_vendor (const xcb_setup_t *R  /**< */);
   6069 
   6070 
   6071 /*****************************************************************************
   6072  **
   6073  ** int xcb_setup_vendor_length
   6074  **
   6075  ** @param const xcb_setup_t *R
   6076  ** @returns int
   6077  **
   6078  *****************************************************************************/
   6079 
   6080 int
   6081 xcb_setup_vendor_length (const xcb_setup_t *R  /**< */);
   6082 
   6083 
   6084 /*****************************************************************************
   6085  **
   6086  ** xcb_generic_iterator_t xcb_setup_vendor_end
   6087  **
   6088  ** @param const xcb_setup_t *R
   6089  ** @returns xcb_generic_iterator_t
   6090  **
   6091  *****************************************************************************/
   6092 
   6093 xcb_generic_iterator_t
   6094 xcb_setup_vendor_end (const xcb_setup_t *R  /**< */);
   6095 
   6096 
   6097 /*****************************************************************************
   6098  **
   6099  ** xcb_format_t * xcb_setup_pixmap_formats
   6100  **
   6101  ** @param const xcb_setup_t *R
   6102  ** @returns xcb_format_t *
   6103  **
   6104  *****************************************************************************/
   6105 
   6106 xcb_format_t *
   6107 xcb_setup_pixmap_formats (const xcb_setup_t *R  /**< */);
   6108 
   6109 
   6110 /*****************************************************************************
   6111  **
   6112  ** int xcb_setup_pixmap_formats_length
   6113  **
   6114  ** @param const xcb_setup_t *R
   6115  ** @returns int
   6116  **
   6117  *****************************************************************************/
   6118 
   6119 int
   6120 xcb_setup_pixmap_formats_length (const xcb_setup_t *R  /**< */);
   6121 
   6122 
   6123 /*****************************************************************************
   6124  **
   6125  ** xcb_format_iterator_t xcb_setup_pixmap_formats_iterator
   6126  **
   6127  ** @param const xcb_setup_t *R
   6128  ** @returns xcb_format_iterator_t
   6129  **
   6130  *****************************************************************************/
   6131 
   6132 xcb_format_iterator_t
   6133 xcb_setup_pixmap_formats_iterator (const xcb_setup_t *R  /**< */);
   6134 
   6135 
   6136 /*****************************************************************************
   6137  **
   6138  ** int xcb_setup_roots_length
   6139  **
   6140  ** @param const xcb_setup_t *R
   6141  ** @returns int
   6142  **
   6143  *****************************************************************************/
   6144 
   6145 int
   6146 xcb_setup_roots_length (const xcb_setup_t *R  /**< */);
   6147 
   6148 
   6149 /*****************************************************************************
   6150  **
   6151  ** xcb_screen_iterator_t xcb_setup_roots_iterator
   6152  **
   6153  ** @param const xcb_setup_t *R
   6154  ** @returns xcb_screen_iterator_t
   6155  **
   6156  *****************************************************************************/
   6157 
   6158 xcb_screen_iterator_t
   6159 xcb_setup_roots_iterator (const xcb_setup_t *R  /**< */);
   6160 
   6161 /**
   6162  * Get the next element of the iterator
   6163  * @param i Pointer to a xcb_setup_iterator_t
   6164  *
   6165  * Get the next element in the iterator. The member rem is
   6166  * decreased by one. The member data points to the next
   6167  * element. The member index is increased by sizeof(xcb_setup_t)
   6168  */
   6169 
   6170 /*****************************************************************************
   6171  **
   6172  ** void xcb_setup_next
   6173  **
   6174  ** @param xcb_setup_iterator_t *i
   6175  ** @returns void
   6176  **
   6177  *****************************************************************************/
   6178 
   6179 void
   6180 xcb_setup_next (xcb_setup_iterator_t *i  /**< */);
   6181 
   6182 /**
   6183  * Return the iterator pointing to the last element
   6184  * @param i An xcb_setup_iterator_t
   6185  * @return  The iterator pointing to the last element
   6186  *
   6187  * Set the current element in the iterator to the last element.
   6188  * The member rem is set to 0. The member data points to the
   6189  * last element.
   6190  */
   6191 
   6192 /*****************************************************************************
   6193  **
   6194  ** xcb_generic_iterator_t xcb_setup_end
   6195  **
   6196  ** @param xcb_setup_iterator_t i
   6197  ** @returns xcb_generic_iterator_t
   6198  **
   6199  *****************************************************************************/
   6200 
   6201 xcb_generic_iterator_t
   6202 xcb_setup_end (xcb_setup_iterator_t i  /**< */);
   6203 
   6204 /**
   6205  * Get the next element of the iterator
   6206  * @param i Pointer to a xcb_client_message_data_iterator_t
   6207  *
   6208  * Get the next element in the iterator. The member rem is
   6209  * decreased by one. The member data points to the next
   6210  * element. The member index is increased by sizeof(xcb_client_message_data_t)
   6211  */
   6212 
   6213 /*****************************************************************************
   6214  **
   6215  ** void xcb_client_message_data_next
   6216  **
   6217  ** @param xcb_client_message_data_iterator_t *i
   6218  ** @returns void
   6219  **
   6220  *****************************************************************************/
   6221 
   6222 void
   6223 xcb_client_message_data_next (xcb_client_message_data_iterator_t *i  /**< */);
   6224 
   6225 /**
   6226  * Return the iterator pointing to the last element
   6227  * @param i An xcb_client_message_data_iterator_t
   6228  * @return  The iterator pointing to the last element
   6229  *
   6230  * Set the current element in the iterator to the last element.
   6231  * The member rem is set to 0. The member data points to the
   6232  * last element.
   6233  */
   6234 
   6235 /*****************************************************************************
   6236  **
   6237  ** xcb_generic_iterator_t xcb_client_message_data_end
   6238  **
   6239  ** @param xcb_client_message_data_iterator_t i
   6240  ** @returns xcb_generic_iterator_t
   6241  **
   6242  *****************************************************************************/
   6243 
   6244 xcb_generic_iterator_t
   6245 xcb_client_message_data_end (xcb_client_message_data_iterator_t i  /**< */);
   6246 
   6247 int
   6248 xcb_create_window_sizeof (const void  *_buffer  /**< */);
   6249 
   6250 /**
   6251  * @brief Creates a window
   6252  *
   6253  * @param c The connection
   6254  * @param depth Specifies the new window's depth (TODO: what unit?).
   6255  * \n
   6256  * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
   6257  * \a parent window.
   6258  * @param wid The ID with which you will refer to the new window, created by
   6259  * `xcb_generate_id`.
   6260  * @param parent The parent window of the new window.
   6261  * @param x The X coordinate of the new window.
   6262  * @param y The Y coordinate of the new window.
   6263  * @param width The width of the new window.
   6264  * @param height The height of the new window.
   6265  * @param border_width TODO:
   6266  * \n
   6267  * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
   6268  * @param _class A bitmask of #xcb_window_class_t values.
   6269  * @param _class \n
   6270  * @param visual Specifies the id for the new window's visual.
   6271  * \n
   6272  * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
   6273  * \a parent window.
   6274  * @param value_mask A bitmask of #xcb_cw_t values.
   6275  * @return A cookie
   6276  *
   6277  * Creates an unmapped window as child of the specified \a parent window. A
   6278  * CreateNotify event will be generated. The new window is placed on top in the
   6279  * stacking order with respect to siblings.
   6280  *
   6281  * The coordinate system has the X axis horizontal and the Y axis vertical with
   6282  * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
   6283  * of pixels, and coincide with pixel centers. Each window and pixmap has its own
   6284  * coordinate system. For a window, the origin is inside the border at the inside,
   6285  * upper-left corner.
   6286  *
   6287  * The created window is not yet displayed (mapped), call `xcb_map_window` to
   6288  * display it.
   6289  *
   6290  * The created window will initially use the same cursor as its parent.
   6291  *
   6292  * This form can be used only if the request will not cause
   6293  * a reply to be generated. Any returned error will be
   6294  * saved for handling by xcb_request_check().
   6295  */
   6296 
   6297 /*****************************************************************************
   6298  **
   6299  ** xcb_void_cookie_t xcb_create_window_checked
   6300  **
   6301  ** @param xcb_connection_t *c
   6302  ** @param uint8_t           depth
   6303  ** @param xcb_window_t      wid
   6304  ** @param xcb_window_t      parent
   6305  ** @param int16_t           x
   6306  ** @param int16_t           y
   6307  ** @param uint16_t          width
   6308  ** @param uint16_t          height
   6309  ** @param uint16_t          border_width
   6310  ** @param uint16_t          _class
   6311  ** @param xcb_visualid_t    visual
   6312  ** @param uint32_t          value_mask
   6313  ** @param const uint32_t   *value_list
   6314  ** @returns xcb_void_cookie_t
   6315  **
   6316  *****************************************************************************/
   6317 
   6318 xcb_void_cookie_t
   6319 xcb_create_window_checked (xcb_connection_t *c  /**< */,
   6320                            uint8_t           depth  /**< */,
   6321                            xcb_window_t      wid  /**< */,
   6322                            xcb_window_t      parent  /**< */,
   6323                            int16_t           x  /**< */,
   6324                            int16_t           y  /**< */,
   6325                            uint16_t          width  /**< */,
   6326                            uint16_t          height  /**< */,
   6327                            uint16_t          border_width  /**< */,
   6328                            uint16_t          _class  /**< */,
   6329                            xcb_visualid_t    visual  /**< */,
   6330                            uint32_t          value_mask  /**< */,
   6331                            const uint32_t   *value_list  /**< */);
   6332 
   6333 /**
   6334  * @brief Creates a window
   6335  *
   6336  * @param c The connection
   6337  * @param depth Specifies the new window's depth (TODO: what unit?).
   6338  * \n
   6339  * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
   6340  * \a parent window.
   6341  * @param wid The ID with which you will refer to the new window, created by
   6342  * `xcb_generate_id`.
   6343  * @param parent The parent window of the new window.
   6344  * @param x The X coordinate of the new window.
   6345  * @param y The Y coordinate of the new window.
   6346  * @param width The width of the new window.
   6347  * @param height The height of the new window.
   6348  * @param border_width TODO:
   6349  * \n
   6350  * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
   6351  * @param _class A bitmask of #xcb_window_class_t values.
   6352  * @param _class \n
   6353  * @param visual Specifies the id for the new window's visual.
   6354  * \n
   6355  * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
   6356  * \a parent window.
   6357  * @param value_mask A bitmask of #xcb_cw_t values.
   6358  * @return A cookie
   6359  *
   6360  * Creates an unmapped window as child of the specified \a parent window. A
   6361  * CreateNotify event will be generated. The new window is placed on top in the
   6362  * stacking order with respect to siblings.
   6363  *
   6364  * The coordinate system has the X axis horizontal and the Y axis vertical with
   6365  * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
   6366  * of pixels, and coincide with pixel centers. Each window and pixmap has its own
   6367  * coordinate system. For a window, the origin is inside the border at the inside,
   6368  * upper-left corner.
   6369  *
   6370  * The created window is not yet displayed (mapped), call `xcb_map_window` to
   6371  * display it.
   6372  *
   6373  * The created window will initially use the same cursor as its parent.
   6374  *
   6375  */
   6376 
   6377 /*****************************************************************************
   6378  **
   6379  ** xcb_void_cookie_t xcb_create_window
   6380  **
   6381  ** @param xcb_connection_t *c
   6382  ** @param uint8_t           depth
   6383  ** @param xcb_window_t      wid
   6384  ** @param xcb_window_t      parent
   6385  ** @param int16_t           x
   6386  ** @param int16_t           y
   6387  ** @param uint16_t          width
   6388  ** @param uint16_t          height
   6389  ** @param uint16_t          border_width
   6390  ** @param uint16_t          _class
   6391  ** @param xcb_visualid_t    visual
   6392  ** @param uint32_t          value_mask
   6393  ** @param const uint32_t   *value_list
   6394  ** @returns xcb_void_cookie_t
   6395  **
   6396  *****************************************************************************/
   6397 
   6398 xcb_void_cookie_t
   6399 xcb_create_window (xcb_connection_t *c  /**< */,
   6400                    uint8_t           depth  /**< */,
   6401                    xcb_window_t      wid  /**< */,
   6402                    xcb_window_t      parent  /**< */,
   6403                    int16_t           x  /**< */,
   6404                    int16_t           y  /**< */,
   6405                    uint16_t          width  /**< */,
   6406                    uint16_t          height  /**< */,
   6407                    uint16_t          border_width  /**< */,
   6408                    uint16_t          _class  /**< */,
   6409                    xcb_visualid_t    visual  /**< */,
   6410                    uint32_t          value_mask  /**< */,
   6411                    const uint32_t   *value_list  /**< */);
   6412 
   6413 int
   6414 xcb_change_window_attributes_sizeof (const void  *_buffer  /**< */);
   6415 
   6416 /**
   6417  * @brief change window attributes
   6418  *
   6419  * @param c The connection
   6420  * @param window The window to change.
   6421  * @param value_mask A bitmask of #xcb_cw_t values.
   6422  * @param value_mask \n
   6423  * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
   6424  * order has to correspond to the order of possible \a value_mask bits. See the
   6425  * example.
   6426  * @return A cookie
   6427  *
   6428  * Changes the attributes specified by \a value_mask for the specified \a window.
   6429  *
   6430  * This form can be used only if the request will not cause
   6431  * a reply to be generated. Any returned error will be
   6432  * saved for handling by xcb_request_check().
   6433  */
   6434 
   6435 /*****************************************************************************
   6436  **
   6437  ** xcb_void_cookie_t xcb_change_window_attributes_checked
   6438  **
   6439  ** @param xcb_connection_t *c
   6440  ** @param xcb_window_t      window
   6441  ** @param uint32_t          value_mask
   6442  ** @param const uint32_t   *value_list
   6443  ** @returns xcb_void_cookie_t
   6444  **
   6445  *****************************************************************************/
   6446 
   6447 xcb_void_cookie_t
   6448 xcb_change_window_attributes_checked (xcb_connection_t *c  /**< */,
   6449                                       xcb_window_t      window  /**< */,
   6450                                       uint32_t          value_mask  /**< */,
   6451                                       const uint32_t   *value_list  /**< */);
   6452 
   6453 /**
   6454  * @brief change window attributes
   6455  *
   6456  * @param c The connection
   6457  * @param window The window to change.
   6458  * @param value_mask A bitmask of #xcb_cw_t values.
   6459  * @param value_mask \n
   6460  * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
   6461  * order has to correspond to the order of possible \a value_mask bits. See the
   6462  * example.
   6463  * @return A cookie
   6464  *
   6465  * Changes the attributes specified by \a value_mask for the specified \a window.
   6466  *
   6467  */
   6468 
   6469 /*****************************************************************************
   6470  **
   6471  ** xcb_void_cookie_t xcb_change_window_attributes
   6472  **
   6473  ** @param xcb_connection_t *c
   6474  ** @param xcb_window_t      window
   6475  ** @param uint32_t          value_mask
   6476  ** @param const uint32_t   *value_list
   6477  ** @returns xcb_void_cookie_t
   6478  **
   6479  *****************************************************************************/
   6480 
   6481 xcb_void_cookie_t
   6482 xcb_change_window_attributes (xcb_connection_t *c  /**< */,
   6483                               xcb_window_t      window  /**< */,
   6484                               uint32_t          value_mask  /**< */,
   6485                               const uint32_t   *value_list  /**< */);
   6486 
   6487 /**
   6488  * @brief Gets window attributes
   6489  *
   6490  * @param c The connection
   6491  * @param window The window to get the attributes from.
   6492  * @return A cookie
   6493  *
   6494  * Gets the current attributes for the specified \a window.
   6495  *
   6496  */
   6497 
   6498 /*****************************************************************************
   6499  **
   6500  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes
   6501  **
   6502  ** @param xcb_connection_t *c
   6503  ** @param xcb_window_t      window
   6504  ** @returns xcb_get_window_attributes_cookie_t
   6505  **
   6506  *****************************************************************************/
   6507 
   6508 xcb_get_window_attributes_cookie_t
   6509 xcb_get_window_attributes (xcb_connection_t *c  /**< */,
   6510                            xcb_window_t      window  /**< */);
   6511 
   6512 /**
   6513  * @brief Gets window attributes
   6514  *
   6515  * @param c The connection
   6516  * @param window The window to get the attributes from.
   6517  * @return A cookie
   6518  *
   6519  * Gets the current attributes for the specified \a window.
   6520  *
   6521  * This form can be used only if the request will cause
   6522  * a reply to be generated. Any returned error will be
   6523  * placed in the event queue.
   6524  */
   6525 
   6526 /*****************************************************************************
   6527  **
   6528  ** xcb_get_window_attributes_cookie_t xcb_get_window_attributes_unchecked
   6529  **
   6530  ** @param xcb_connection_t *c
   6531  ** @param xcb_window_t      window
   6532  ** @returns xcb_get_window_attributes_cookie_t
   6533  **
   6534  *****************************************************************************/
   6535 
   6536 xcb_get_window_attributes_cookie_t
   6537 xcb_get_window_attributes_unchecked (xcb_connection_t *c  /**< */,
   6538                                      xcb_window_t      window  /**< */);
   6539 
   6540 /**
   6541  * Return the reply
   6542  * @param c      The connection
   6543  * @param cookie The cookie
   6544  * @param e      The xcb_generic_error_t supplied
   6545  *
   6546  * Returns the reply of the request asked by
   6547  *
   6548  * The parameter @p e supplied to this function must be NULL if
   6549  * xcb_get_window_attributes_unchecked(). is used.
   6550  * Otherwise, it stores the error if any.
   6551  *
   6552  * The returned value must be freed by the caller using free().
   6553  */
   6554 
   6555 /*****************************************************************************
   6556  **
   6557  ** xcb_get_window_attributes_reply_t * xcb_get_window_attributes_reply
   6558  **
   6559  ** @param xcb_connection_t                    *c
   6560  ** @param xcb_get_window_attributes_cookie_t   cookie
   6561  ** @param xcb_generic_error_t                **e
   6562  ** @returns xcb_get_window_attributes_reply_t *
   6563  **
   6564  *****************************************************************************/
   6565 
   6566 xcb_get_window_attributes_reply_t *
   6567 xcb_get_window_attributes_reply (xcb_connection_t                    *c  /**< */,
   6568                                  xcb_get_window_attributes_cookie_t   cookie  /**< */,
   6569                                  xcb_generic_error_t                **e  /**< */);
   6570 
   6571 /**
   6572  * @brief Destroys a window
   6573  *
   6574  * @param c The connection
   6575  * @param window The window to destroy.
   6576  * @return A cookie
   6577  *
   6578  * Destroys the specified window and all of its subwindows. A DestroyNotify event
   6579  * is generated for each destroyed window (a DestroyNotify event is first generated
   6580  * for any given window's inferiors). If the window was mapped, it will be
   6581  * automatically unmapped before destroying.
   6582  *
   6583  * Calling DestroyWindow on the root window will do nothing.
   6584  *
   6585  * This form can be used only if the request will not cause
   6586  * a reply to be generated. Any returned error will be
   6587  * saved for handling by xcb_request_check().
   6588  */
   6589 
   6590 /*****************************************************************************
   6591  **
   6592  ** xcb_void_cookie_t xcb_destroy_window_checked
   6593  **
   6594  ** @param xcb_connection_t *c
   6595  ** @param xcb_window_t      window
   6596  ** @returns xcb_void_cookie_t
   6597  **
   6598  *****************************************************************************/
   6599 
   6600 xcb_void_cookie_t
   6601 xcb_destroy_window_checked (xcb_connection_t *c  /**< */,
   6602                             xcb_window_t      window  /**< */);
   6603 
   6604 /**
   6605  * @brief Destroys a window
   6606  *
   6607  * @param c The connection
   6608  * @param window The window to destroy.
   6609  * @return A cookie
   6610  *
   6611  * Destroys the specified window and all of its subwindows. A DestroyNotify event
   6612  * is generated for each destroyed window (a DestroyNotify event is first generated
   6613  * for any given window's inferiors). If the window was mapped, it will be
   6614  * automatically unmapped before destroying.
   6615  *
   6616  * Calling DestroyWindow on the root window will do nothing.
   6617  *
   6618  */
   6619 
   6620 /*****************************************************************************
   6621  **
   6622  ** xcb_void_cookie_t xcb_destroy_window
   6623  **
   6624  ** @param xcb_connection_t *c
   6625  ** @param xcb_window_t      window
   6626  ** @returns xcb_void_cookie_t
   6627  **
   6628  *****************************************************************************/
   6629 
   6630 xcb_void_cookie_t
   6631 xcb_destroy_window (xcb_connection_t *c  /**< */,
   6632                     xcb_window_t      window  /**< */);
   6633 
   6634 /**
   6635  *
   6636  * @param c The connection
   6637  * @return A cookie
   6638  *
   6639  * Delivers a request to the X server.
   6640  *
   6641  * This form can be used only if the request will not cause
   6642  * a reply to be generated. Any returned error will be
   6643  * saved for handling by xcb_request_check().
   6644  */
   6645 
   6646 /*****************************************************************************
   6647  **
   6648  ** xcb_void_cookie_t xcb_destroy_subwindows_checked
   6649  **
   6650  ** @param xcb_connection_t *c
   6651  ** @param xcb_window_t      window
   6652  ** @returns xcb_void_cookie_t
   6653  **
   6654  *****************************************************************************/
   6655 
   6656 xcb_void_cookie_t
   6657 xcb_destroy_subwindows_checked (xcb_connection_t *c  /**< */,
   6658                                 xcb_window_t      window  /**< */);
   6659 
   6660 /**
   6661  *
   6662  * @param c The connection
   6663  * @return A cookie
   6664  *
   6665  * Delivers a request to the X server.
   6666  *
   6667  */
   6668 
   6669 /*****************************************************************************
   6670  **
   6671  ** xcb_void_cookie_t xcb_destroy_subwindows
   6672  **
   6673  ** @param xcb_connection_t *c
   6674  ** @param xcb_window_t      window
   6675  ** @returns xcb_void_cookie_t
   6676  **
   6677  *****************************************************************************/
   6678 
   6679 xcb_void_cookie_t
   6680 xcb_destroy_subwindows (xcb_connection_t *c  /**< */,
   6681                         xcb_window_t      window  /**< */);
   6682 
   6683 /**
   6684  * @brief Changes a client's save set
   6685  *
   6686  * @param c The connection
   6687  * @param mode A bitmask of #xcb_set_mode_t values.
   6688  * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
   6689  * @param window The window to add or delete to/from your save set.
   6690  * @return A cookie
   6691  *
   6692  * TODO: explain what the save set is for.
   6693  *
   6694  * This function either adds or removes the specified window to the client's (your
   6695  * application's) save set.
   6696  *
   6697  * This form can be used only if the request will not cause
   6698  * a reply to be generated. Any returned error will be
   6699  * saved for handling by xcb_request_check().
   6700  */
   6701 
   6702 /*****************************************************************************
   6703  **
   6704  ** xcb_void_cookie_t xcb_change_save_set_checked
   6705  **
   6706  ** @param xcb_connection_t *c
   6707  ** @param uint8_t           mode
   6708  ** @param xcb_window_t      window
   6709  ** @returns xcb_void_cookie_t
   6710  **
   6711  *****************************************************************************/
   6712 
   6713 xcb_void_cookie_t
   6714 xcb_change_save_set_checked (xcb_connection_t *c  /**< */,
   6715                              uint8_t           mode  /**< */,
   6716                              xcb_window_t      window  /**< */);
   6717 
   6718 /**
   6719  * @brief Changes a client's save set
   6720  *
   6721  * @param c The connection
   6722  * @param mode A bitmask of #xcb_set_mode_t values.
   6723  * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
   6724  * @param window The window to add or delete to/from your save set.
   6725  * @return A cookie
   6726  *
   6727  * TODO: explain what the save set is for.
   6728  *
   6729  * This function either adds or removes the specified window to the client's (your
   6730  * application's) save set.
   6731  *
   6732  */
   6733 
   6734 /*****************************************************************************
   6735  **
   6736  ** xcb_void_cookie_t xcb_change_save_set
   6737  **
   6738  ** @param xcb_connection_t *c
   6739  ** @param uint8_t           mode
   6740  ** @param xcb_window_t      window
   6741  ** @returns xcb_void_cookie_t
   6742  **
   6743  *****************************************************************************/
   6744 
   6745 xcb_void_cookie_t
   6746 xcb_change_save_set (xcb_connection_t *c  /**< */,
   6747                      uint8_t           mode  /**< */,
   6748                      xcb_window_t      window  /**< */);
   6749 
   6750 /**
   6751  * @brief Reparents a window
   6752  *
   6753  * @param c The connection
   6754  * @param window The window to reparent.
   6755  * @param parent The new parent of the window.
   6756  * @param x The X position of the window within its new parent.
   6757  * @param y The Y position of the window within its new parent.
   6758  * @return A cookie
   6759  *
   6760  * Makes the specified window a child of the specified parent window. If the
   6761  * window is mapped, it will automatically be unmapped before reparenting and
   6762  * re-mapped after reparenting. The window is placed in the stacking order on top
   6763  * with respect to sibling windows.
   6764  *
   6765  * After reparenting, a ReparentNotify event is generated.
   6766  *
   6767  * This form can be used only if the request will not cause
   6768  * a reply to be generated. Any returned error will be
   6769  * saved for handling by xcb_request_check().
   6770  */
   6771 
   6772 /*****************************************************************************
   6773  **
   6774  ** xcb_void_cookie_t xcb_reparent_window_checked
   6775  **
   6776  ** @param xcb_connection_t *c
   6777  ** @param xcb_window_t      window
   6778  ** @param xcb_window_t      parent
   6779  ** @param int16_t           x
   6780  ** @param int16_t           y
   6781  ** @returns xcb_void_cookie_t
   6782  **
   6783  *****************************************************************************/
   6784 
   6785 xcb_void_cookie_t
   6786 xcb_reparent_window_checked (xcb_connection_t *c  /**< */,
   6787                              xcb_window_t      window  /**< */,
   6788                              xcb_window_t      parent  /**< */,
   6789                              int16_t           x  /**< */,
   6790                              int16_t           y  /**< */);
   6791 
   6792 /**
   6793  * @brief Reparents a window
   6794  *
   6795  * @param c The connection
   6796  * @param window The window to reparent.
   6797  * @param parent The new parent of the window.
   6798  * @param x The X position of the window within its new parent.
   6799  * @param y The Y position of the window within its new parent.
   6800  * @return A cookie
   6801  *
   6802  * Makes the specified window a child of the specified parent window. If the
   6803  * window is mapped, it will automatically be unmapped before reparenting and
   6804  * re-mapped after reparenting. The window is placed in the stacking order on top
   6805  * with respect to sibling windows.
   6806  *
   6807  * After reparenting, a ReparentNotify event is generated.
   6808  *
   6809  */
   6810 
   6811 /*****************************************************************************
   6812  **
   6813  ** xcb_void_cookie_t xcb_reparent_window
   6814  **
   6815  ** @param xcb_connection_t *c
   6816  ** @param xcb_window_t      window
   6817  ** @param xcb_window_t      parent
   6818  ** @param int16_t           x
   6819  ** @param int16_t           y
   6820  ** @returns xcb_void_cookie_t
   6821  **
   6822  *****************************************************************************/
   6823 
   6824 xcb_void_cookie_t
   6825 xcb_reparent_window (xcb_connection_t *c  /**< */,
   6826                      xcb_window_t      window  /**< */,
   6827                      xcb_window_t      parent  /**< */,
   6828                      int16_t           x  /**< */,
   6829                      int16_t           y  /**< */);
   6830 
   6831 /**
   6832  * @brief Makes a window visible
   6833  *
   6834  * @param c The connection
   6835  * @param window The window to make visible.
   6836  * @return A cookie
   6837  *
   6838  * Maps the specified window. This means making the window visible (as long as its
   6839  * parent is visible).
   6840  *
   6841  * This MapWindow request will be translated to a MapRequest request if a window
   6842  * manager is running. The window manager then decides to either map the window or
   6843  * not. Set the override-redirect window attribute to true if you want to bypass
   6844  * this mechanism.
   6845  *
   6846  * If the window manager decides to map the window (or if no window manager is
   6847  * running), a MapNotify event is generated.
   6848  *
   6849  * If the window becomes viewable and no earlier contents for it are remembered,
   6850  * the X server tiles the window with its background. If the window's background
   6851  * is undefined, the existing screen contents are not altered, and the X server
   6852  * generates zero or more Expose events.
   6853  *
   6854  * If the window type is InputOutput, an Expose event will be generated when the
   6855  * window becomes visible. The normal response to an Expose event should be to
   6856  * repaint the window.
   6857  *
   6858  * This form can be used only if the request will not cause
   6859  * a reply to be generated. Any returned error will be
   6860  * saved for handling by xcb_request_check().
   6861  */
   6862 
   6863 /*****************************************************************************
   6864  **
   6865  ** xcb_void_cookie_t xcb_map_window_checked
   6866  **
   6867  ** @param xcb_connection_t *c
   6868  ** @param xcb_window_t      window
   6869  ** @returns xcb_void_cookie_t
   6870  **
   6871  *****************************************************************************/
   6872 
   6873 xcb_void_cookie_t
   6874 xcb_map_window_checked (xcb_connection_t *c  /**< */,
   6875                         xcb_window_t      window  /**< */);
   6876 
   6877 /**
   6878  * @brief Makes a window visible
   6879  *
   6880  * @param c The connection
   6881  * @param window The window to make visible.
   6882  * @return A cookie
   6883  *
   6884  * Maps the specified window. This means making the window visible (as long as its
   6885  * parent is visible).
   6886  *
   6887  * This MapWindow request will be translated to a MapRequest request if a window
   6888  * manager is running. The window manager then decides to either map the window or
   6889  * not. Set the override-redirect window attribute to true if you want to bypass
   6890  * this mechanism.
   6891  *
   6892  * If the window manager decides to map the window (or if no window manager is
   6893  * running), a MapNotify event is generated.
   6894  *
   6895  * If the window becomes viewable and no earlier contents for it are remembered,
   6896  * the X server tiles the window with its background. If the window's background
   6897  * is undefined, the existing screen contents are not altered, and the X server
   6898  * generates zero or more Expose events.
   6899  *
   6900  * If the window type is InputOutput, an Expose event will be generated when the
   6901  * window becomes visible. The normal response to an Expose event should be to
   6902  * repaint the window.
   6903  *
   6904  */
   6905 
   6906 /*****************************************************************************
   6907  **
   6908  ** xcb_void_cookie_t xcb_map_window
   6909  **
   6910  ** @param xcb_connection_t *c
   6911  ** @param xcb_window_t      window
   6912  ** @returns xcb_void_cookie_t
   6913  **
   6914  *****************************************************************************/
   6915 
   6916 xcb_void_cookie_t
   6917 xcb_map_window (xcb_connection_t *c  /**< */,
   6918                 xcb_window_t      window  /**< */);
   6919 
   6920 /**
   6921  *
   6922  * @param c The connection
   6923  * @return A cookie
   6924  *
   6925  * Delivers a request to the X server.
   6926  *
   6927  * This form can be used only if the request will not cause
   6928  * a reply to be generated. Any returned error will be
   6929  * saved for handling by xcb_request_check().
   6930  */
   6931 
   6932 /*****************************************************************************
   6933  **
   6934  ** xcb_void_cookie_t xcb_map_subwindows_checked
   6935  **
   6936  ** @param xcb_connection_t *c
   6937  ** @param xcb_window_t      window
   6938  ** @returns xcb_void_cookie_t
   6939  **
   6940  *****************************************************************************/
   6941 
   6942 xcb_void_cookie_t
   6943 xcb_map_subwindows_checked (xcb_connection_t *c  /**< */,
   6944                             xcb_window_t      window  /**< */);
   6945 
   6946 /**
   6947  *
   6948  * @param c The connection
   6949  * @return A cookie
   6950  *
   6951  * Delivers a request to the X server.
   6952  *
   6953  */
   6954 
   6955 /*****************************************************************************
   6956  **
   6957  ** xcb_void_cookie_t xcb_map_subwindows
   6958  **
   6959  ** @param xcb_connection_t *c
   6960  ** @param xcb_window_t      window
   6961  ** @returns xcb_void_cookie_t
   6962  **
   6963  *****************************************************************************/
   6964 
   6965 xcb_void_cookie_t
   6966 xcb_map_subwindows (xcb_connection_t *c  /**< */,
   6967                     xcb_window_t      window  /**< */);
   6968 
   6969 /**
   6970  * @brief Makes a window invisible
   6971  *
   6972  * @param c The connection
   6973  * @param window The window to make invisible.
   6974  * @return A cookie
   6975  *
   6976  * Unmaps the specified window. This means making the window invisible (and all
   6977  * its child windows).
   6978  *
   6979  * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
   6980  * `Expose` events are generated for formerly obscured windows.
   6981  *
   6982  * This form can be used only if the request will not cause
   6983  * a reply to be generated. Any returned error will be
   6984  * saved for handling by xcb_request_check().
   6985  */
   6986 
   6987 /*****************************************************************************
   6988  **
   6989  ** xcb_void_cookie_t xcb_unmap_window_checked
   6990  **
   6991  ** @param xcb_connection_t *c
   6992  ** @param xcb_window_t      window
   6993  ** @returns xcb_void_cookie_t
   6994  **
   6995  *****************************************************************************/
   6996 
   6997 xcb_void_cookie_t
   6998 xcb_unmap_window_checked (xcb_connection_t *c  /**< */,
   6999                           xcb_window_t      window  /**< */);
   7000 
   7001 /**
   7002  * @brief Makes a window invisible
   7003  *
   7004  * @param c The connection
   7005  * @param window The window to make invisible.
   7006  * @return A cookie
   7007  *
   7008  * Unmaps the specified window. This means making the window invisible (and all
   7009  * its child windows).
   7010  *
   7011  * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
   7012  * `Expose` events are generated for formerly obscured windows.
   7013  *
   7014  */
   7015 
   7016 /*****************************************************************************
   7017  **
   7018  ** xcb_void_cookie_t xcb_unmap_window
   7019  **
   7020  ** @param xcb_connection_t *c
   7021  ** @param xcb_window_t      window
   7022  ** @returns xcb_void_cookie_t
   7023  **
   7024  *****************************************************************************/
   7025 
   7026 xcb_void_cookie_t
   7027 xcb_unmap_window (xcb_connection_t *c  /**< */,
   7028                   xcb_window_t      window  /**< */);
   7029 
   7030 /**
   7031  *
   7032  * @param c The connection
   7033  * @return A cookie
   7034  *
   7035  * Delivers a request to the X server.
   7036  *
   7037  * This form can be used only if the request will not cause
   7038  * a reply to be generated. Any returned error will be
   7039  * saved for handling by xcb_request_check().
   7040  */
   7041 
   7042 /*****************************************************************************
   7043  **
   7044  ** xcb_void_cookie_t xcb_unmap_subwindows_checked
   7045  **
   7046  ** @param xcb_connection_t *c
   7047  ** @param xcb_window_t      window
   7048  ** @returns xcb_void_cookie_t
   7049  **
   7050  *****************************************************************************/
   7051 
   7052 xcb_void_cookie_t
   7053 xcb_unmap_subwindows_checked (xcb_connection_t *c  /**< */,
   7054                               xcb_window_t      window  /**< */);
   7055 
   7056 /**
   7057  *
   7058  * @param c The connection
   7059  * @return A cookie
   7060  *
   7061  * Delivers a request to the X server.
   7062  *
   7063  */
   7064 
   7065 /*****************************************************************************
   7066  **
   7067  ** xcb_void_cookie_t xcb_unmap_subwindows
   7068  **
   7069  ** @param xcb_connection_t *c
   7070  ** @param xcb_window_t      window
   7071  ** @returns xcb_void_cookie_t
   7072  **
   7073  *****************************************************************************/
   7074 
   7075 xcb_void_cookie_t
   7076 xcb_unmap_subwindows (xcb_connection_t *c  /**< */,
   7077                       xcb_window_t      window  /**< */);
   7078 
   7079 int
   7080 xcb_configure_window_sizeof (const void  *_buffer  /**< */);
   7081 
   7082 /**
   7083  * @brief Configures window attributes
   7084  *
   7085  * @param c The connection
   7086  * @param window The window to configure.
   7087  * @param value_mask Bitmask of attributes to change.
   7088  * @param value_list New values, corresponding to the attributes in value_mask. The order has to
   7089  * correspond to the order of possible \a value_mask bits. See the example.
   7090  * @return A cookie
   7091  *
   7092  * Configures a window's size, position, border width and stacking order.
   7093  *
   7094  * This form can be used only if the request will not cause
   7095  * a reply to be generated. Any returned error will be
   7096  * saved for handling by xcb_request_check().
   7097  */
   7098 
   7099 /*****************************************************************************
   7100  **
   7101  ** xcb_void_cookie_t xcb_configure_window_checked
   7102  **
   7103  ** @param xcb_connection_t *c
   7104  ** @param xcb_window_t      window
   7105  ** @param uint16_t          value_mask
   7106  ** @param const uint32_t   *value_list
   7107  ** @returns xcb_void_cookie_t
   7108  **
   7109  *****************************************************************************/
   7110 
   7111 xcb_void_cookie_t
   7112 xcb_configure_window_checked (xcb_connection_t *c  /**< */,
   7113                               xcb_window_t      window  /**< */,
   7114                               uint16_t          value_mask  /**< */,
   7115                               const uint32_t   *value_list  /**< */);
   7116 
   7117 /**
   7118  * @brief Configures window attributes
   7119  *
   7120  * @param c The connection
   7121  * @param window The window to configure.
   7122  * @param value_mask Bitmask of attributes to change.
   7123  * @param value_list New values, corresponding to the attributes in value_mask. The order has to
   7124  * correspond to the order of possible \a value_mask bits. See the example.
   7125  * @return A cookie
   7126  *
   7127  * Configures a window's size, position, border width and stacking order.
   7128  *
   7129  */
   7130 
   7131 /*****************************************************************************
   7132  **
   7133  ** xcb_void_cookie_t xcb_configure_window
   7134  **
   7135  ** @param xcb_connection_t *c
   7136  ** @param xcb_window_t      window
   7137  ** @param uint16_t          value_mask
   7138  ** @param const uint32_t   *value_list
   7139  ** @returns xcb_void_cookie_t
   7140  **
   7141  *****************************************************************************/
   7142 
   7143 xcb_void_cookie_t
   7144 xcb_configure_window (xcb_connection_t *c  /**< */,
   7145                       xcb_window_t      window  /**< */,
   7146                       uint16_t          value_mask  /**< */,
   7147                       const uint32_t   *value_list  /**< */);
   7148 
   7149 /**
   7150  * @brief Change window stacking order
   7151  *
   7152  * @param c The connection
   7153  * @param direction A bitmask of #xcb_circulate_t values.
   7154  * @param direction \n
   7155  * @param window The window to raise/lower (depending on \a direction).
   7156  * @return A cookie
   7157  *
   7158  * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
   7159  * any) will be raised to the top of the stack.
   7160  *
   7161  * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
   7162  * be lowered to the bottom of the stack.
   7163  *
   7164  * This form can be used only if the request will not cause
   7165  * a reply to be generated. Any returned error will be
   7166  * saved for handling by xcb_request_check().
   7167  */
   7168 
   7169 /*****************************************************************************
   7170  **
   7171  ** xcb_void_cookie_t xcb_circulate_window_checked
   7172  **
   7173  ** @param xcb_connection_t *c
   7174  ** @param uint8_t           direction
   7175  ** @param xcb_window_t      window
   7176  ** @returns xcb_void_cookie_t
   7177  **
   7178  *****************************************************************************/
   7179 
   7180 xcb_void_cookie_t
   7181 xcb_circulate_window_checked (xcb_connection_t *c  /**< */,
   7182                               uint8_t           direction  /**< */,
   7183                               xcb_window_t      window  /**< */);
   7184 
   7185 /**
   7186  * @brief Change window stacking order
   7187  *
   7188  * @param c The connection
   7189  * @param direction A bitmask of #xcb_circulate_t values.
   7190  * @param direction \n
   7191  * @param window The window to raise/lower (depending on \a direction).
   7192  * @return A cookie
   7193  *
   7194  * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
   7195  * any) will be raised to the top of the stack.
   7196  *
   7197  * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
   7198  * be lowered to the bottom of the stack.
   7199  *
   7200  */
   7201 
   7202 /*****************************************************************************
   7203  **
   7204  ** xcb_void_cookie_t xcb_circulate_window
   7205  **
   7206  ** @param xcb_connection_t *c
   7207  ** @param uint8_t           direction
   7208  ** @param xcb_window_t      window
   7209  ** @returns xcb_void_cookie_t
   7210  **
   7211  *****************************************************************************/
   7212 
   7213 xcb_void_cookie_t
   7214 xcb_circulate_window (xcb_connection_t *c  /**< */,
   7215                       uint8_t           direction  /**< */,
   7216                       xcb_window_t      window  /**< */);
   7217 
   7218 /**
   7219  * @brief Get current window geometry
   7220  *
   7221  * @param c The connection
   7222  * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
   7223  * @return A cookie
   7224  *
   7225  * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
   7226  *
   7227  */
   7228 
   7229 /*****************************************************************************
   7230  **
   7231  ** xcb_get_geometry_cookie_t xcb_get_geometry
   7232  **
   7233  ** @param xcb_connection_t *c
   7234  ** @param xcb_drawable_t    drawable
   7235  ** @returns xcb_get_geometry_cookie_t
   7236  **
   7237  *****************************************************************************/
   7238 
   7239 xcb_get_geometry_cookie_t
   7240 xcb_get_geometry (xcb_connection_t *c  /**< */,
   7241                   xcb_drawable_t    drawable  /**< */);
   7242 
   7243 /**
   7244  * @brief Get current window geometry
   7245  *
   7246  * @param c The connection
   7247  * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
   7248  * @return A cookie
   7249  *
   7250  * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
   7251  *
   7252  * This form can be used only if the request will cause
   7253  * a reply to be generated. Any returned error will be
   7254  * placed in the event queue.
   7255  */
   7256 
   7257 /*****************************************************************************
   7258  **
   7259  ** xcb_get_geometry_cookie_t xcb_get_geometry_unchecked
   7260  **
   7261  ** @param xcb_connection_t *c
   7262  ** @param xcb_drawable_t    drawable
   7263  ** @returns xcb_get_geometry_cookie_t
   7264  **
   7265  *****************************************************************************/
   7266 
   7267 xcb_get_geometry_cookie_t
   7268 xcb_get_geometry_unchecked (xcb_connection_t *c  /**< */,
   7269                             xcb_drawable_t    drawable  /**< */);
   7270 
   7271 /**
   7272  * Return the reply
   7273  * @param c      The connection
   7274  * @param cookie The cookie
   7275  * @param e      The xcb_generic_error_t supplied
   7276  *
   7277  * Returns the reply of the request asked by
   7278  *
   7279  * The parameter @p e supplied to this function must be NULL if
   7280  * xcb_get_geometry_unchecked(). is used.
   7281  * Otherwise, it stores the error if any.
   7282  *
   7283  * The returned value must be freed by the caller using free().
   7284  */
   7285 
   7286 /*****************************************************************************
   7287  **
   7288  ** xcb_get_geometry_reply_t * xcb_get_geometry_reply
   7289  **
   7290  ** @param xcb_connection_t           *c
   7291  ** @param xcb_get_geometry_cookie_t   cookie
   7292  ** @param xcb_generic_error_t       **e
   7293  ** @returns xcb_get_geometry_reply_t *
   7294  **
   7295  *****************************************************************************/
   7296 
   7297 xcb_get_geometry_reply_t *
   7298 xcb_get_geometry_reply (xcb_connection_t           *c  /**< */,
   7299                         xcb_get_geometry_cookie_t   cookie  /**< */,
   7300                         xcb_generic_error_t       **e  /**< */);
   7301 
   7302 int
   7303 xcb_query_tree_sizeof (const void  *_buffer  /**< */);
   7304 
   7305 /**
   7306  * @brief query the window tree
   7307  *
   7308  * @param c The connection
   7309  * @param window The \a window to query.
   7310  * @return A cookie
   7311  *
   7312  * Gets the root window ID, parent window ID and list of children windows for the
   7313  * specified \a window. The children are listed in bottom-to-top stacking order.
   7314  *
   7315  */
   7316 
   7317 /*****************************************************************************
   7318  **
   7319  ** xcb_query_tree_cookie_t xcb_query_tree
   7320  **
   7321  ** @param xcb_connection_t *c
   7322  ** @param xcb_window_t      window
   7323  ** @returns xcb_query_tree_cookie_t
   7324  **
   7325  *****************************************************************************/
   7326 
   7327 xcb_query_tree_cookie_t
   7328 xcb_query_tree (xcb_connection_t *c  /**< */,
   7329                 xcb_window_t      window  /**< */);
   7330 
   7331 /**
   7332  * @brief query the window tree
   7333  *
   7334  * @param c The connection
   7335  * @param window The \a window to query.
   7336  * @return A cookie
   7337  *
   7338  * Gets the root window ID, parent window ID and list of children windows for the
   7339  * specified \a window. The children are listed in bottom-to-top stacking order.
   7340  *
   7341  * This form can be used only if the request will cause
   7342  * a reply to be generated. Any returned error will be
   7343  * placed in the event queue.
   7344  */
   7345 
   7346 /*****************************************************************************
   7347  **
   7348  ** xcb_query_tree_cookie_t xcb_query_tree_unchecked
   7349  **
   7350  ** @param xcb_connection_t *c
   7351  ** @param xcb_window_t      window
   7352  ** @returns xcb_query_tree_cookie_t
   7353  **
   7354  *****************************************************************************/
   7355 
   7356 xcb_query_tree_cookie_t
   7357 xcb_query_tree_unchecked (xcb_connection_t *c  /**< */,
   7358                           xcb_window_t      window  /**< */);
   7359 
   7360 
   7361 /*****************************************************************************
   7362  **
   7363  ** xcb_window_t * xcb_query_tree_children
   7364  **
   7365  ** @param const xcb_query_tree_reply_t *R
   7366  ** @returns xcb_window_t *
   7367  **
   7368  *****************************************************************************/
   7369 
   7370 xcb_window_t *
   7371 xcb_query_tree_children (const xcb_query_tree_reply_t *R  /**< */);
   7372 
   7373 
   7374 /*****************************************************************************
   7375  **
   7376  ** int xcb_query_tree_children_length
   7377  **
   7378  ** @param const xcb_query_tree_reply_t *R
   7379  ** @returns int
   7380  **
   7381  *****************************************************************************/
   7382 
   7383 int
   7384 xcb_query_tree_children_length (const xcb_query_tree_reply_t *R  /**< */);
   7385 
   7386 
   7387 /*****************************************************************************
   7388  **
   7389  ** xcb_generic_iterator_t xcb_query_tree_children_end
   7390  **
   7391  ** @param const xcb_query_tree_reply_t *R
   7392  ** @returns xcb_generic_iterator_t
   7393  **
   7394  *****************************************************************************/
   7395 
   7396 xcb_generic_iterator_t
   7397 xcb_query_tree_children_end (const xcb_query_tree_reply_t *R  /**< */);
   7398 
   7399 /**
   7400  * Return the reply
   7401  * @param c      The connection
   7402  * @param cookie The cookie
   7403  * @param e      The xcb_generic_error_t supplied
   7404  *
   7405  * Returns the reply of the request asked by
   7406  *
   7407  * The parameter @p e supplied to this function must be NULL if
   7408  * xcb_query_tree_unchecked(). is used.
   7409  * Otherwise, it stores the error if any.
   7410  *
   7411  * The returned value must be freed by the caller using free().
   7412  */
   7413 
   7414 /*****************************************************************************
   7415  **
   7416  ** xcb_query_tree_reply_t * xcb_query_tree_reply
   7417  **
   7418  ** @param xcb_connection_t         *c
   7419  ** @param xcb_query_tree_cookie_t   cookie
   7420  ** @param xcb_generic_error_t     **e
   7421  ** @returns xcb_query_tree_reply_t *
   7422  **
   7423  *****************************************************************************/
   7424 
   7425 xcb_query_tree_reply_t *
   7426 xcb_query_tree_reply (xcb_connection_t         *c  /**< */,
   7427                       xcb_query_tree_cookie_t   cookie  /**< */,
   7428                       xcb_generic_error_t     **e  /**< */);
   7429 
   7430 int
   7431 xcb_intern_atom_sizeof (const void  *_buffer  /**< */);
   7432 
   7433 /**
   7434  * @brief Get atom identifier by name
   7435  *
   7436  * @param c The connection
   7437  * @param only_if_exists Return a valid atom id only if the atom already exists.
   7438  * @param name_len The length of the following \a name.
   7439  * @param name The name of the atom.
   7440  * @return A cookie
   7441  *
   7442  * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
   7443  * name. Atoms are used in protocols like EWMH, for example to store window titles
   7444  * (`_NET_WM_NAME` atom) as property of a window.
   7445  *
   7446  * If \a only_if_exists is 0, the atom will be created if it does not already exist.
   7447  * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
   7448  * not yet exist.
   7449  *
   7450  */
   7451 
   7452 /*****************************************************************************
   7453  **
   7454  ** xcb_intern_atom_cookie_t xcb_intern_atom
   7455  **
   7456  ** @param xcb_connection_t *c
   7457  ** @param uint8_t           only_if_exists
   7458  ** @param uint16_t          name_len
   7459  ** @param const char       *name
   7460  ** @returns xcb_intern_atom_cookie_t
   7461  **
   7462  *****************************************************************************/
   7463 
   7464 xcb_intern_atom_cookie_t
   7465 xcb_intern_atom (xcb_connection_t *c  /**< */,
   7466                  uint8_t           only_if_exists  /**< */,
   7467                  uint16_t          name_len  /**< */,
   7468                  const char       *name  /**< */);
   7469 
   7470 /**
   7471  * @brief Get atom identifier by name
   7472  *
   7473  * @param c The connection
   7474  * @param only_if_exists Return a valid atom id only if the atom already exists.
   7475  * @param name_len The length of the following \a name.
   7476  * @param name The name of the atom.
   7477  * @return A cookie
   7478  *
   7479  * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
   7480  * name. Atoms are used in protocols like EWMH, for example to store window titles
   7481  * (`_NET_WM_NAME` atom) as property of a window.
   7482  *
   7483  * If \a only_if_exists is 0, the atom will be created if it does not already exist.
   7484  * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
   7485  * not yet exist.
   7486  *
   7487  * This form can be used only if the request will cause
   7488  * a reply to be generated. Any returned error will be
   7489  * placed in the event queue.
   7490  */
   7491 
   7492 /*****************************************************************************
   7493  **
   7494  ** xcb_intern_atom_cookie_t xcb_intern_atom_unchecked
   7495  **
   7496  ** @param xcb_connection_t *c
   7497  ** @param uint8_t           only_if_exists
   7498  ** @param uint16_t          name_len
   7499  ** @param const char       *name
   7500  ** @returns xcb_intern_atom_cookie_t
   7501  **
   7502  *****************************************************************************/
   7503 
   7504 xcb_intern_atom_cookie_t
   7505 xcb_intern_atom_unchecked (xcb_connection_t *c  /**< */,
   7506                            uint8_t           only_if_exists  /**< */,
   7507                            uint16_t          name_len  /**< */,
   7508                            const char       *name  /**< */);
   7509 
   7510 /**
   7511  * Return the reply
   7512  * @param c      The connection
   7513  * @param cookie The cookie
   7514  * @param e      The xcb_generic_error_t supplied
   7515  *
   7516  * Returns the reply of the request asked by
   7517  *
   7518  * The parameter @p e supplied to this function must be NULL if
   7519  * xcb_intern_atom_unchecked(). is used.
   7520  * Otherwise, it stores the error if any.
   7521  *
   7522  * The returned value must be freed by the caller using free().
   7523  */
   7524 
   7525 /*****************************************************************************
   7526  **
   7527  ** xcb_intern_atom_reply_t * xcb_intern_atom_reply
   7528  **
   7529  ** @param xcb_connection_t          *c
   7530  ** @param xcb_intern_atom_cookie_t   cookie
   7531  ** @param xcb_generic_error_t      **e
   7532  ** @returns xcb_intern_atom_reply_t *
   7533  **
   7534  *****************************************************************************/
   7535 
   7536 xcb_intern_atom_reply_t *
   7537 xcb_intern_atom_reply (xcb_connection_t          *c  /**< */,
   7538                        xcb_intern_atom_cookie_t   cookie  /**< */,
   7539                        xcb_generic_error_t      **e  /**< */);
   7540 
   7541 int
   7542 xcb_get_atom_name_sizeof (const void  *_buffer  /**< */);
   7543 
   7544 /**
   7545  *
   7546  * @param c The connection
   7547  * @return A cookie
   7548  *
   7549  * Delivers a request to the X server.
   7550  *
   7551  */
   7552 
   7553 /*****************************************************************************
   7554  **
   7555  ** xcb_get_atom_name_cookie_t xcb_get_atom_name
   7556  **
   7557  ** @param xcb_connection_t *c
   7558  ** @param xcb_atom_t        atom
   7559  ** @returns xcb_get_atom_name_cookie_t
   7560  **
   7561  *****************************************************************************/
   7562 
   7563 xcb_get_atom_name_cookie_t
   7564 xcb_get_atom_name (xcb_connection_t *c  /**< */,
   7565                    xcb_atom_t        atom  /**< */);
   7566 
   7567 /**
   7568  *
   7569  * @param c The connection
   7570  * @return A cookie
   7571  *
   7572  * Delivers a request to the X server.
   7573  *
   7574  * This form can be used only if the request will cause
   7575  * a reply to be generated. Any returned error will be
   7576  * placed in the event queue.
   7577  */
   7578 
   7579 /*****************************************************************************
   7580  **
   7581  ** xcb_get_atom_name_cookie_t xcb_get_atom_name_unchecked
   7582  **
   7583  ** @param xcb_connection_t *c
   7584  ** @param xcb_atom_t        atom
   7585  ** @returns xcb_get_atom_name_cookie_t
   7586  **
   7587  *****************************************************************************/
   7588 
   7589 xcb_get_atom_name_cookie_t
   7590 xcb_get_atom_name_unchecked (xcb_connection_t *c  /**< */,
   7591                              xcb_atom_t        atom  /**< */);
   7592 
   7593 
   7594 /*****************************************************************************
   7595  **
   7596  ** char * xcb_get_atom_name_name
   7597  **
   7598  ** @param const xcb_get_atom_name_reply_t *R
   7599  ** @returns char *
   7600  **
   7601  *****************************************************************************/
   7602 
   7603 char *
   7604 xcb_get_atom_name_name (const xcb_get_atom_name_reply_t *R  /**< */);
   7605 
   7606 
   7607 /*****************************************************************************
   7608  **
   7609  ** int xcb_get_atom_name_name_length
   7610  **
   7611  ** @param const xcb_get_atom_name_reply_t *R
   7612  ** @returns int
   7613  **
   7614  *****************************************************************************/
   7615 
   7616 int
   7617 xcb_get_atom_name_name_length (const xcb_get_atom_name_reply_t *R  /**< */);
   7618 
   7619 
   7620 /*****************************************************************************
   7621  **
   7622  ** xcb_generic_iterator_t xcb_get_atom_name_name_end
   7623  **
   7624  ** @param const xcb_get_atom_name_reply_t *R
   7625  ** @returns xcb_generic_iterator_t
   7626  **
   7627  *****************************************************************************/
   7628 
   7629 xcb_generic_iterator_t
   7630 xcb_get_atom_name_name_end (const xcb_get_atom_name_reply_t *R  /**< */);
   7631 
   7632 /**
   7633  * Return the reply
   7634  * @param c      The connection
   7635  * @param cookie The cookie
   7636  * @param e      The xcb_generic_error_t supplied
   7637  *
   7638  * Returns the reply of the request asked by
   7639  *
   7640  * The parameter @p e supplied to this function must be NULL if
   7641  * xcb_get_atom_name_unchecked(). is used.
   7642  * Otherwise, it stores the error if any.
   7643  *
   7644  * The returned value must be freed by the caller using free().
   7645  */
   7646 
   7647 /*****************************************************************************
   7648  **
   7649  ** xcb_get_atom_name_reply_t * xcb_get_atom_name_reply
   7650  **
   7651  ** @param xcb_connection_t            *c
   7652  ** @param xcb_get_atom_name_cookie_t   cookie
   7653  ** @param xcb_generic_error_t        **e
   7654  ** @returns xcb_get_atom_name_reply_t *
   7655  **
   7656  *****************************************************************************/
   7657 
   7658 xcb_get_atom_name_reply_t *
   7659 xcb_get_atom_name_reply (xcb_connection_t            *c  /**< */,
   7660                          xcb_get_atom_name_cookie_t   cookie  /**< */,
   7661                          xcb_generic_error_t        **e  /**< */);
   7662 
   7663 int
   7664 xcb_change_property_sizeof (const void  *_buffer  /**< */);
   7665 
   7666 /**
   7667  * @brief Changes a window property
   7668  *
   7669  * @param c The connection
   7670  * @param mode A bitmask of #xcb_prop_mode_t values.
   7671  * @param mode \n
   7672  * @param window The window whose property you want to change.
   7673  * @param property The property you want to change (an atom).
   7674  * @param type The type of the property you want to change (an atom).
   7675  * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
   7676  * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
   7677  * the X server to correctly perform byte-swap operations as necessary.
   7678  * @param data_len Specifies the number of elements (see \a format).
   7679  * @param data The property data.
   7680  * @return A cookie
   7681  *
   7682  * Sets or updates a property on the specified \a window. Properties are for
   7683  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
   7684  * Protocols such as EWMH also use properties - for example EWMH defines the
   7685  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
   7686  *
   7687  * This form can be used only if the request will not cause
   7688  * a reply to be generated. Any returned error will be
   7689  * saved for handling by xcb_request_check().
   7690  */
   7691 
   7692 /*****************************************************************************
   7693  **
   7694  ** xcb_void_cookie_t xcb_change_property_checked
   7695  **
   7696  ** @param xcb_connection_t *c
   7697  ** @param uint8_t           mode
   7698  ** @param xcb_window_t      window
   7699  ** @param xcb_atom_t        property
   7700  ** @param xcb_atom_t        type
   7701  ** @param uint8_t           format
   7702  ** @param uint32_t          data_len
   7703  ** @param const void       *data
   7704  ** @returns xcb_void_cookie_t
   7705  **
   7706  *****************************************************************************/
   7707 
   7708 xcb_void_cookie_t
   7709 xcb_change_property_checked (xcb_connection_t *c  /**< */,
   7710                              uint8_t           mode  /**< */,
   7711                              xcb_window_t      window  /**< */,
   7712                              xcb_atom_t        property  /**< */,
   7713                              xcb_atom_t        type  /**< */,
   7714                              uint8_t           format  /**< */,
   7715                              uint32_t          data_len  /**< */,
   7716                              const void       *data  /**< */);
   7717 
   7718 /**
   7719  * @brief Changes a window property
   7720  *
   7721  * @param c The connection
   7722  * @param mode A bitmask of #xcb_prop_mode_t values.
   7723  * @param mode \n
   7724  * @param window The window whose property you want to change.
   7725  * @param property The property you want to change (an atom).
   7726  * @param type The type of the property you want to change (an atom).
   7727  * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
   7728  * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
   7729  * the X server to correctly perform byte-swap operations as necessary.
   7730  * @param data_len Specifies the number of elements (see \a format).
   7731  * @param data The property data.
   7732  * @return A cookie
   7733  *
   7734  * Sets or updates a property on the specified \a window. Properties are for
   7735  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
   7736  * Protocols such as EWMH also use properties - for example EWMH defines the
   7737  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
   7738  *
   7739  */
   7740 
   7741 /*****************************************************************************
   7742  **
   7743  ** xcb_void_cookie_t xcb_change_property
   7744  **
   7745  ** @param xcb_connection_t *c
   7746  ** @param uint8_t           mode
   7747  ** @param xcb_window_t      window
   7748  ** @param xcb_atom_t        property
   7749  ** @param xcb_atom_t        type
   7750  ** @param uint8_t           format
   7751  ** @param uint32_t          data_len
   7752  ** @param const void       *data
   7753  ** @returns xcb_void_cookie_t
   7754  **
   7755  *****************************************************************************/
   7756 
   7757 xcb_void_cookie_t
   7758 xcb_change_property (xcb_connection_t *c  /**< */,
   7759                      uint8_t           mode  /**< */,
   7760                      xcb_window_t      window  /**< */,
   7761                      xcb_atom_t        property  /**< */,
   7762                      xcb_atom_t        type  /**< */,
   7763                      uint8_t           format  /**< */,
   7764                      uint32_t          data_len  /**< */,
   7765                      const void       *data  /**< */);
   7766 
   7767 /**
   7768  *
   7769  * @param c The connection
   7770  * @return A cookie
   7771  *
   7772  * Delivers a request to the X server.
   7773  *
   7774  * This form can be used only if the request will not cause
   7775  * a reply to be generated. Any returned error will be
   7776  * saved for handling by xcb_request_check().
   7777  */
   7778 
   7779 /*****************************************************************************
   7780  **
   7781  ** xcb_void_cookie_t xcb_delete_property_checked
   7782  **
   7783  ** @param xcb_connection_t *c
   7784  ** @param xcb_window_t      window
   7785  ** @param xcb_atom_t        property
   7786  ** @returns xcb_void_cookie_t
   7787  **
   7788  *****************************************************************************/
   7789 
   7790 xcb_void_cookie_t
   7791 xcb_delete_property_checked (xcb_connection_t *c  /**< */,
   7792                              xcb_window_t      window  /**< */,
   7793                              xcb_atom_t        property  /**< */);
   7794 
   7795 /**
   7796  *
   7797  * @param c The connection
   7798  * @return A cookie
   7799  *
   7800  * Delivers a request to the X server.
   7801  *
   7802  */
   7803 
   7804 /*****************************************************************************
   7805  **
   7806  ** xcb_void_cookie_t xcb_delete_property
   7807  **
   7808  ** @param xcb_connection_t *c
   7809  ** @param xcb_window_t      window
   7810  ** @param xcb_atom_t        property
   7811  ** @returns xcb_void_cookie_t
   7812  **
   7813  *****************************************************************************/
   7814 
   7815 xcb_void_cookie_t
   7816 xcb_delete_property (xcb_connection_t *c  /**< */,
   7817                      xcb_window_t      window  /**< */,
   7818                      xcb_atom_t        property  /**< */);
   7819 
   7820 int
   7821 xcb_get_property_sizeof (const void  *_buffer  /**< */);
   7822 
   7823 /**
   7824  * @brief Gets a window property
   7825  *
   7826  * @param c The connection
   7827  * @param _delete Whether the property should actually be deleted. For deleting a property, the
   7828  * specified \a type has to match the actual property type.
   7829  * @param window The window whose property you want to get.
   7830  * @param property The property you want to get (an atom).
   7831  * @param type The type of the property you want to get (an atom).
   7832  * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
   7833  * data is to be retrieved.
   7834  * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
   7835  * set \a long_length to 4, you will receive 16 bytes of data).
   7836  * @return A cookie
   7837  *
   7838  * Gets the specified \a property from the specified \a window. Properties are for
   7839  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
   7840  * Protocols such as EWMH also use properties - for example EWMH defines the
   7841  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
   7842  *
   7843  * TODO: talk about \a type
   7844  *
   7845  * TODO: talk about `delete`
   7846  *
   7847  * TODO: talk about the offset/length thing. what's a valid use case?
   7848  *
   7849  */
   7850 
   7851 /*****************************************************************************
   7852  **
   7853  ** xcb_get_property_cookie_t xcb_get_property
   7854  **
   7855  ** @param xcb_connection_t *c
   7856  ** @param uint8_t           _delete
   7857  ** @param xcb_window_t      window
   7858  ** @param xcb_atom_t        property
   7859  ** @param xcb_atom_t        type
   7860  ** @param uint32_t          long_offset
   7861  ** @param uint32_t          long_length
   7862  ** @returns xcb_get_property_cookie_t
   7863  **
   7864  *****************************************************************************/
   7865 
   7866 xcb_get_property_cookie_t
   7867 xcb_get_property (xcb_connection_t *c  /**< */,
   7868                   uint8_t           _delete  /**< */,
   7869                   xcb_window_t      window  /**< */,
   7870                   xcb_atom_t        property  /**< */,
   7871                   xcb_atom_t        type  /**< */,
   7872                   uint32_t          long_offset  /**< */,
   7873                   uint32_t          long_length  /**< */);
   7874 
   7875 /**
   7876  * @brief Gets a window property
   7877  *
   7878  * @param c The connection
   7879  * @param _delete Whether the property should actually be deleted. For deleting a property, the
   7880  * specified \a type has to match the actual property type.
   7881  * @param window The window whose property you want to get.
   7882  * @param property The property you want to get (an atom).
   7883  * @param type The type of the property you want to get (an atom).
   7884  * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
   7885  * data is to be retrieved.
   7886  * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
   7887  * set \a long_length to 4, you will receive 16 bytes of data).
   7888  * @return A cookie
   7889  *
   7890  * Gets the specified \a property from the specified \a window. Properties are for
   7891  * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
   7892  * Protocols such as EWMH also use properties - for example EWMH defines the
   7893  * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
   7894  *
   7895  * TODO: talk about \a type
   7896  *
   7897  * TODO: talk about `delete`
   7898  *
   7899  * TODO: talk about the offset/length thing. what's a valid use case?
   7900  *
   7901  * This form can be used only if the request will cause
   7902  * a reply to be generated. Any returned error will be
   7903  * placed in the event queue.
   7904  */
   7905 
   7906 /*****************************************************************************
   7907  **
   7908  ** xcb_get_property_cookie_t xcb_get_property_unchecked
   7909  **
   7910  ** @param xcb_connection_t *c
   7911  ** @param uint8_t           _delete
   7912  ** @param xcb_window_t      window
   7913  ** @param xcb_atom_t        property
   7914  ** @param xcb_atom_t        type
   7915  ** @param uint32_t          long_offset
   7916  ** @param uint32_t          long_length
   7917  ** @returns xcb_get_property_cookie_t
   7918  **
   7919  *****************************************************************************/
   7920 
   7921 xcb_get_property_cookie_t
   7922 xcb_get_property_unchecked (xcb_connection_t *c  /**< */,
   7923                             uint8_t           _delete  /**< */,
   7924                             xcb_window_t      window  /**< */,
   7925                             xcb_atom_t        property  /**< */,
   7926                             xcb_atom_t        type  /**< */,
   7927                             uint32_t          long_offset  /**< */,
   7928                             uint32_t          long_length  /**< */);
   7929 
   7930 
   7931 /*****************************************************************************
   7932  **
   7933  ** void * xcb_get_property_value
   7934  **
   7935  ** @param const xcb_get_property_reply_t *R
   7936  ** @returns void *
   7937  **
   7938  *****************************************************************************/
   7939 
   7940 void *
   7941 xcb_get_property_value (const xcb_get_property_reply_t *R  /**< */);
   7942 
   7943 
   7944 /*****************************************************************************
   7945  **
   7946  ** int xcb_get_property_value_length
   7947  **
   7948  ** @param const xcb_get_property_reply_t *R
   7949  ** @returns int
   7950  **
   7951  *****************************************************************************/
   7952 
   7953 int
   7954 xcb_get_property_value_length (const xcb_get_property_reply_t *R  /**< */);
   7955 
   7956 
   7957 /*****************************************************************************
   7958  **
   7959  ** xcb_generic_iterator_t xcb_get_property_value_end
   7960  **
   7961  ** @param const xcb_get_property_reply_t *R
   7962  ** @returns xcb_generic_iterator_t
   7963  **
   7964  *****************************************************************************/
   7965 
   7966 xcb_generic_iterator_t
   7967 xcb_get_property_value_end (const xcb_get_property_reply_t *R  /**< */);
   7968 
   7969 /**
   7970  * Return the reply
   7971  * @param c      The connection
   7972  * @param cookie The cookie
   7973  * @param e      The xcb_generic_error_t supplied
   7974  *
   7975  * Returns the reply of the request asked by
   7976  *
   7977  * The parameter @p e supplied to this function must be NULL if
   7978  * xcb_get_property_unchecked(). is used.
   7979  * Otherwise, it stores the error if any.
   7980  *
   7981  * The returned value must be freed by the caller using free().
   7982  */
   7983 
   7984 /*****************************************************************************
   7985  **
   7986  ** xcb_get_property_reply_t * xcb_get_property_reply
   7987  **
   7988  ** @param xcb_connection_t           *c
   7989  ** @param xcb_get_property_cookie_t   cookie
   7990  ** @param xcb_generic_error_t       **e
   7991  ** @returns xcb_get_property_reply_t *
   7992  **
   7993  *****************************************************************************/
   7994 
   7995 xcb_get_property_reply_t *
   7996 xcb_get_property_reply (xcb_connection_t           *c  /**< */,
   7997                         xcb_get_property_cookie_t   cookie  /**< */,
   7998                         xcb_generic_error_t       **e  /**< */);
   7999 
   8000 int
   8001 xcb_list_properties_sizeof (const void  *_buffer  /**< */);
   8002 
   8003 /**
   8004  *
   8005  * @param c The connection
   8006  * @return A cookie
   8007  *
   8008  * Delivers a request to the X server.
   8009  *
   8010  */
   8011 
   8012 /*****************************************************************************
   8013  **
   8014  ** xcb_list_properties_cookie_t xcb_list_properties
   8015  **
   8016  ** @param xcb_connection_t *c
   8017  ** @param xcb_window_t      window
   8018  ** @returns xcb_list_properties_cookie_t
   8019  **
   8020  *****************************************************************************/
   8021 
   8022 xcb_list_properties_cookie_t
   8023 xcb_list_properties (xcb_connection_t *c  /**< */,
   8024                      xcb_window_t      window  /**< */);
   8025 
   8026 /**
   8027  *
   8028  * @param c The connection
   8029  * @return A cookie
   8030  *
   8031  * Delivers a request to the X server.
   8032  *
   8033  * This form can be used only if the request will cause
   8034  * a reply to be generated. Any returned error will be
   8035  * placed in the event queue.
   8036  */
   8037 
   8038 /*****************************************************************************
   8039  **
   8040  ** xcb_list_properties_cookie_t xcb_list_properties_unchecked
   8041  **
   8042  ** @param xcb_connection_t *c
   8043  ** @param xcb_window_t      window
   8044  ** @returns xcb_list_properties_cookie_t
   8045  **
   8046  *****************************************************************************/
   8047 
   8048 xcb_list_properties_cookie_t
   8049 xcb_list_properties_unchecked (xcb_connection_t *c  /**< */,
   8050                                xcb_window_t      window  /**< */);
   8051 
   8052 
   8053 /*****************************************************************************
   8054  **
   8055  ** xcb_atom_t * xcb_list_properties_atoms
   8056  **
   8057  ** @param const xcb_list_properties_reply_t *R
   8058  ** @returns xcb_atom_t *
   8059  **
   8060  *****************************************************************************/
   8061 
   8062 xcb_atom_t *
   8063 xcb_list_properties_atoms (const xcb_list_properties_reply_t *R  /**< */);
   8064 
   8065 
   8066 /*****************************************************************************
   8067  **
   8068  ** int xcb_list_properties_atoms_length
   8069  **
   8070  ** @param const xcb_list_properties_reply_t *R
   8071  ** @returns int
   8072  **
   8073  *****************************************************************************/
   8074 
   8075 int
   8076 xcb_list_properties_atoms_length (const xcb_list_properties_reply_t *R  /**< */);
   8077 
   8078 
   8079 /*****************************************************************************
   8080  **
   8081  ** xcb_generic_iterator_t xcb_list_properties_atoms_end
   8082  **
   8083  ** @param const xcb_list_properties_reply_t *R
   8084  ** @returns xcb_generic_iterator_t
   8085  **
   8086  *****************************************************************************/
   8087 
   8088 xcb_generic_iterator_t
   8089 xcb_list_properties_atoms_end (const xcb_list_properties_reply_t *R  /**< */);
   8090 
   8091 /**
   8092  * Return the reply
   8093  * @param c      The connection
   8094  * @param cookie The cookie
   8095  * @param e      The xcb_generic_error_t supplied
   8096  *
   8097  * Returns the reply of the request asked by
   8098  *
   8099  * The parameter @p e supplied to this function must be NULL if
   8100  * xcb_list_properties_unchecked(). is used.
   8101  * Otherwise, it stores the error if any.
   8102  *
   8103  * The returned value must be freed by the caller using free().
   8104  */
   8105 
   8106 /*****************************************************************************
   8107  **
   8108  ** xcb_list_properties_reply_t * xcb_list_properties_reply
   8109  **
   8110  ** @param xcb_connection_t              *c
   8111  ** @param xcb_list_properties_cookie_t   cookie
   8112  ** @param xcb_generic_error_t          **e
   8113  ** @returns xcb_list_properties_reply_t *
   8114  **
   8115  *****************************************************************************/
   8116 
   8117 xcb_list_properties_reply_t *
   8118 xcb_list_properties_reply (xcb_connection_t              *c  /**< */,
   8119                            xcb_list_properties_cookie_t   cookie  /**< */,
   8120                            xcb_generic_error_t          **e  /**< */);
   8121 
   8122 /**
   8123  * @brief Sets the owner of a selection
   8124  *
   8125  * @param c The connection
   8126  * @param owner The new owner of the selection.
   8127  * \n
   8128  * The special value `XCB_NONE` means that the selection will have no owner.
   8129  * @param selection The selection.
   8130  * @param time Timestamp to avoid race conditions when running X over the network.
   8131  * \n
   8132  * The selection will not be changed if \a time is earlier than the current
   8133  * last-change time of the \a selection or is later than the current X server time.
   8134  * Otherwise, the last-change time is set to the specified time.
   8135  * \n
   8136  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   8137  * time.
   8138  * @return A cookie
   8139  *
   8140  * Makes `window` the owner of the selection \a selection and updates the
   8141  * last-change time of the specified selection.
   8142  *
   8143  * TODO: briefly explain what a selection is.
   8144  *
   8145  * This form can be used only if the request will not cause
   8146  * a reply to be generated. Any returned error will be
   8147  * saved for handling by xcb_request_check().
   8148  */
   8149 
   8150 /*****************************************************************************
   8151  **
   8152  ** xcb_void_cookie_t xcb_set_selection_owner_checked
   8153  **
   8154  ** @param xcb_connection_t *c
   8155  ** @param xcb_window_t      owner
   8156  ** @param xcb_atom_t        selection
   8157  ** @param xcb_timestamp_t   time
   8158  ** @returns xcb_void_cookie_t
   8159  **
   8160  *****************************************************************************/
   8161 
   8162 xcb_void_cookie_t
   8163 xcb_set_selection_owner_checked (xcb_connection_t *c  /**< */,
   8164                                  xcb_window_t      owner  /**< */,
   8165                                  xcb_atom_t        selection  /**< */,
   8166                                  xcb_timestamp_t   time  /**< */);
   8167 
   8168 /**
   8169  * @brief Sets the owner of a selection
   8170  *
   8171  * @param c The connection
   8172  * @param owner The new owner of the selection.
   8173  * \n
   8174  * The special value `XCB_NONE` means that the selection will have no owner.
   8175  * @param selection The selection.
   8176  * @param time Timestamp to avoid race conditions when running X over the network.
   8177  * \n
   8178  * The selection will not be changed if \a time is earlier than the current
   8179  * last-change time of the \a selection or is later than the current X server time.
   8180  * Otherwise, the last-change time is set to the specified time.
   8181  * \n
   8182  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   8183  * time.
   8184  * @return A cookie
   8185  *
   8186  * Makes `window` the owner of the selection \a selection and updates the
   8187  * last-change time of the specified selection.
   8188  *
   8189  * TODO: briefly explain what a selection is.
   8190  *
   8191  */
   8192 
   8193 /*****************************************************************************
   8194  **
   8195  ** xcb_void_cookie_t xcb_set_selection_owner
   8196  **
   8197  ** @param xcb_connection_t *c
   8198  ** @param xcb_window_t      owner
   8199  ** @param xcb_atom_t        selection
   8200  ** @param xcb_timestamp_t   time
   8201  ** @returns xcb_void_cookie_t
   8202  **
   8203  *****************************************************************************/
   8204 
   8205 xcb_void_cookie_t
   8206 xcb_set_selection_owner (xcb_connection_t *c  /**< */,
   8207                          xcb_window_t      owner  /**< */,
   8208                          xcb_atom_t        selection  /**< */,
   8209                          xcb_timestamp_t   time  /**< */);
   8210 
   8211 /**
   8212  * @brief Gets the owner of a selection
   8213  *
   8214  * @param c The connection
   8215  * @param selection The selection.
   8216  * @return A cookie
   8217  *
   8218  * Gets the owner of the specified selection.
   8219  *
   8220  * TODO: briefly explain what a selection is.
   8221  *
   8222  */
   8223 
   8224 /*****************************************************************************
   8225  **
   8226  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner
   8227  **
   8228  ** @param xcb_connection_t *c
   8229  ** @param xcb_atom_t        selection
   8230  ** @returns xcb_get_selection_owner_cookie_t
   8231  **
   8232  *****************************************************************************/
   8233 
   8234 xcb_get_selection_owner_cookie_t
   8235 xcb_get_selection_owner (xcb_connection_t *c  /**< */,
   8236                          xcb_atom_t        selection  /**< */);
   8237 
   8238 /**
   8239  * @brief Gets the owner of a selection
   8240  *
   8241  * @param c The connection
   8242  * @param selection The selection.
   8243  * @return A cookie
   8244  *
   8245  * Gets the owner of the specified selection.
   8246  *
   8247  * TODO: briefly explain what a selection is.
   8248  *
   8249  * This form can be used only if the request will cause
   8250  * a reply to be generated. Any returned error will be
   8251  * placed in the event queue.
   8252  */
   8253 
   8254 /*****************************************************************************
   8255  **
   8256  ** xcb_get_selection_owner_cookie_t xcb_get_selection_owner_unchecked
   8257  **
   8258  ** @param xcb_connection_t *c
   8259  ** @param xcb_atom_t        selection
   8260  ** @returns xcb_get_selection_owner_cookie_t
   8261  **
   8262  *****************************************************************************/
   8263 
   8264 xcb_get_selection_owner_cookie_t
   8265 xcb_get_selection_owner_unchecked (xcb_connection_t *c  /**< */,
   8266                                    xcb_atom_t        selection  /**< */);
   8267 
   8268 /**
   8269  * Return the reply
   8270  * @param c      The connection
   8271  * @param cookie The cookie
   8272  * @param e      The xcb_generic_error_t supplied
   8273  *
   8274  * Returns the reply of the request asked by
   8275  *
   8276  * The parameter @p e supplied to this function must be NULL if
   8277  * xcb_get_selection_owner_unchecked(). is used.
   8278  * Otherwise, it stores the error if any.
   8279  *
   8280  * The returned value must be freed by the caller using free().
   8281  */
   8282 
   8283 /*****************************************************************************
   8284  **
   8285  ** xcb_get_selection_owner_reply_t * xcb_get_selection_owner_reply
   8286  **
   8287  ** @param xcb_connection_t                  *c
   8288  ** @param xcb_get_selection_owner_cookie_t   cookie
   8289  ** @param xcb_generic_error_t              **e
   8290  ** @returns xcb_get_selection_owner_reply_t *
   8291  **
   8292  *****************************************************************************/
   8293 
   8294 xcb_get_selection_owner_reply_t *
   8295 xcb_get_selection_owner_reply (xcb_connection_t                  *c  /**< */,
   8296                                xcb_get_selection_owner_cookie_t   cookie  /**< */,
   8297                                xcb_generic_error_t              **e  /**< */);
   8298 
   8299 /**
   8300  *
   8301  * @param c The connection
   8302  * @return A cookie
   8303  *
   8304  * Delivers a request to the X server.
   8305  *
   8306  * This form can be used only if the request will not cause
   8307  * a reply to be generated. Any returned error will be
   8308  * saved for handling by xcb_request_check().
   8309  */
   8310 
   8311 /*****************************************************************************
   8312  **
   8313  ** xcb_void_cookie_t xcb_convert_selection_checked
   8314  **
   8315  ** @param xcb_connection_t *c
   8316  ** @param xcb_window_t      requestor
   8317  ** @param xcb_atom_t        selection
   8318  ** @param xcb_atom_t        target
   8319  ** @param xcb_atom_t        property
   8320  ** @param xcb_timestamp_t   time
   8321  ** @returns xcb_void_cookie_t
   8322  **
   8323  *****************************************************************************/
   8324 
   8325 xcb_void_cookie_t
   8326 xcb_convert_selection_checked (xcb_connection_t *c  /**< */,
   8327                                xcb_window_t      requestor  /**< */,
   8328                                xcb_atom_t        selection  /**< */,
   8329                                xcb_atom_t        target  /**< */,
   8330                                xcb_atom_t        property  /**< */,
   8331                                xcb_timestamp_t   time  /**< */);
   8332 
   8333 /**
   8334  *
   8335  * @param c The connection
   8336  * @return A cookie
   8337  *
   8338  * Delivers a request to the X server.
   8339  *
   8340  */
   8341 
   8342 /*****************************************************************************
   8343  **
   8344  ** xcb_void_cookie_t xcb_convert_selection
   8345  **
   8346  ** @param xcb_connection_t *c
   8347  ** @param xcb_window_t      requestor
   8348  ** @param xcb_atom_t        selection
   8349  ** @param xcb_atom_t        target
   8350  ** @param xcb_atom_t        property
   8351  ** @param xcb_timestamp_t   time
   8352  ** @returns xcb_void_cookie_t
   8353  **
   8354  *****************************************************************************/
   8355 
   8356 xcb_void_cookie_t
   8357 xcb_convert_selection (xcb_connection_t *c  /**< */,
   8358                        xcb_window_t      requestor  /**< */,
   8359                        xcb_atom_t        selection  /**< */,
   8360                        xcb_atom_t        target  /**< */,
   8361                        xcb_atom_t        property  /**< */,
   8362                        xcb_timestamp_t   time  /**< */);
   8363 
   8364 /**
   8365  * @brief send an event
   8366  *
   8367  * @param c The connection
   8368  * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
   8369  * the destination is replaced with the closest ancestor of \a destination for
   8370  * which some client has selected a type in \a event_mask and for which no
   8371  * intervening window has that type in its do-not-propagate-mask. If no such
   8372  * window exists or if the window is an ancestor of the focus window and
   8373  * `InputFocus` was originally specified as the destination, the event is not sent
   8374  * to any clients. Otherwise, the event is reported to every client selecting on
   8375  * the final destination any of the types specified in \a event_mask.
   8376  * @param destination The window to send this event to. Every client which selects any event within
   8377  * \a event_mask on \a destination will get the event.
   8378  * \n
   8379  * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
   8380  * that contains the mouse pointer.
   8381  * \n
   8382  * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
   8383  * has the keyboard focus.
   8384  * @param event_mask Event_mask for determining which clients should receive the specified event.
   8385  * See \a destination and \a propagate.
   8386  * @param event The event to send to the specified \a destination.
   8387  * @return A cookie
   8388  *
   8389  * Identifies the \a destination window, determines which clients should receive
   8390  * the specified event and ignores any active grabs.
   8391  *
   8392  * The \a event must be one of the core events or an event defined by an extension,
   8393  * so that the X server can correctly byte-swap the contents as necessary. The
   8394  * contents of \a event are otherwise unaltered and unchecked except for the
   8395  * `send_event` field which is forced to 'true'.
   8396  *
   8397  * This form can be used only if the request will not cause
   8398  * a reply to be generated. Any returned error will be
   8399  * saved for handling by xcb_request_check().
   8400  */
   8401 
   8402 /*****************************************************************************
   8403  **
   8404  ** xcb_void_cookie_t xcb_send_event_checked
   8405  **
   8406  ** @param xcb_connection_t *c
   8407  ** @param uint8_t           propagate
   8408  ** @param xcb_window_t      destination
   8409  ** @param uint32_t          event_mask
   8410  ** @param const char       *event
   8411  ** @returns xcb_void_cookie_t
   8412  **
   8413  *****************************************************************************/
   8414 
   8415 xcb_void_cookie_t
   8416 xcb_send_event_checked (xcb_connection_t *c  /**< */,
   8417                         uint8_t           propagate  /**< */,
   8418                         xcb_window_t      destination  /**< */,
   8419                         uint32_t          event_mask  /**< */,
   8420                         const char       *event  /**< */);
   8421 
   8422 /**
   8423  * @brief send an event
   8424  *
   8425  * @param c The connection
   8426  * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
   8427  * the destination is replaced with the closest ancestor of \a destination for
   8428  * which some client has selected a type in \a event_mask and for which no
   8429  * intervening window has that type in its do-not-propagate-mask. If no such
   8430  * window exists or if the window is an ancestor of the focus window and
   8431  * `InputFocus` was originally specified as the destination, the event is not sent
   8432  * to any clients. Otherwise, the event is reported to every client selecting on
   8433  * the final destination any of the types specified in \a event_mask.
   8434  * @param destination The window to send this event to. Every client which selects any event within
   8435  * \a event_mask on \a destination will get the event.
   8436  * \n
   8437  * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
   8438  * that contains the mouse pointer.
   8439  * \n
   8440  * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
   8441  * has the keyboard focus.
   8442  * @param event_mask Event_mask for determining which clients should receive the specified event.
   8443  * See \a destination and \a propagate.
   8444  * @param event The event to send to the specified \a destination.
   8445  * @return A cookie
   8446  *
   8447  * Identifies the \a destination window, determines which clients should receive
   8448  * the specified event and ignores any active grabs.
   8449  *
   8450  * The \a event must be one of the core events or an event defined by an extension,
   8451  * so that the X server can correctly byte-swap the contents as necessary. The
   8452  * contents of \a event are otherwise unaltered and unchecked except for the
   8453  * `send_event` field which is forced to 'true'.
   8454  *
   8455  */
   8456 
   8457 /*****************************************************************************
   8458  **
   8459  ** xcb_void_cookie_t xcb_send_event
   8460  **
   8461  ** @param xcb_connection_t *c
   8462  ** @param uint8_t           propagate
   8463  ** @param xcb_window_t      destination
   8464  ** @param uint32_t          event_mask
   8465  ** @param const char       *event
   8466  ** @returns xcb_void_cookie_t
   8467  **
   8468  *****************************************************************************/
   8469 
   8470 xcb_void_cookie_t
   8471 xcb_send_event (xcb_connection_t *c  /**< */,
   8472                 uint8_t           propagate  /**< */,
   8473                 xcb_window_t      destination  /**< */,
   8474                 uint32_t          event_mask  /**< */,
   8475                 const char       *event  /**< */);
   8476 
   8477 /**
   8478  * @brief Grab the pointer
   8479  *
   8480  * @param c The connection
   8481  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   8482  * reported to the \a grab_window.
   8483  * @param grab_window Specifies the window on which the pointer should be grabbed.
   8484  * @param event_mask Specifies which pointer events are reported to the client.
   8485  * \n
   8486  * TODO: which values?
   8487  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   8488  * @param pointer_mode \n
   8489  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   8490  * @param keyboard_mode \n
   8491  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
   8492  * move the pointer out of that window).
   8493  * \n
   8494  * The special value `XCB_NONE` means don't confine the pointer.
   8495  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
   8496  * cursor.
   8497  * @param time The time argument allows you to avoid certain circumstances that come up if
   8498  * applications take a long time to respond or if there are long network delays.
   8499  * Consider a situation where you have two applications, both of which normally
   8500  * grab the pointer when clicked on. If both applications specify the timestamp
   8501  * from the event, the second application may wake up faster and successfully grab
   8502  * the pointer before the first application. The first application then will get
   8503  * an indication that the other application grabbed the pointer before its request
   8504  * was processed.
   8505  * \n
   8506  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   8507  * time.
   8508  * @return A cookie
   8509  *
   8510  * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
   8511  *
   8512  */
   8513 
   8514 /*****************************************************************************
   8515  **
   8516  ** xcb_grab_pointer_cookie_t xcb_grab_pointer
   8517  **
   8518  ** @param xcb_connection_t *c
   8519  ** @param uint8_t           owner_events
   8520  ** @param xcb_window_t      grab_window
   8521  ** @param uint16_t          event_mask
   8522  ** @param uint8_t           pointer_mode
   8523  ** @param uint8_t           keyboard_mode
   8524  ** @param xcb_window_t      confine_to
   8525  ** @param xcb_cursor_t      cursor
   8526  ** @param xcb_timestamp_t   time
   8527  ** @returns xcb_grab_pointer_cookie_t
   8528  **
   8529  *****************************************************************************/
   8530 
   8531 xcb_grab_pointer_cookie_t
   8532 xcb_grab_pointer (xcb_connection_t *c  /**< */,
   8533                   uint8_t           owner_events  /**< */,
   8534                   xcb_window_t      grab_window  /**< */,
   8535                   uint16_t          event_mask  /**< */,
   8536                   uint8_t           pointer_mode  /**< */,
   8537                   uint8_t           keyboard_mode  /**< */,
   8538                   xcb_window_t      confine_to  /**< */,
   8539                   xcb_cursor_t      cursor  /**< */,
   8540                   xcb_timestamp_t   time  /**< */);
   8541 
   8542 /**
   8543  * @brief Grab the pointer
   8544  *
   8545  * @param c The connection
   8546  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   8547  * reported to the \a grab_window.
   8548  * @param grab_window Specifies the window on which the pointer should be grabbed.
   8549  * @param event_mask Specifies which pointer events are reported to the client.
   8550  * \n
   8551  * TODO: which values?
   8552  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   8553  * @param pointer_mode \n
   8554  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   8555  * @param keyboard_mode \n
   8556  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
   8557  * move the pointer out of that window).
   8558  * \n
   8559  * The special value `XCB_NONE` means don't confine the pointer.
   8560  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
   8561  * cursor.
   8562  * @param time The time argument allows you to avoid certain circumstances that come up if
   8563  * applications take a long time to respond or if there are long network delays.
   8564  * Consider a situation where you have two applications, both of which normally
   8565  * grab the pointer when clicked on. If both applications specify the timestamp
   8566  * from the event, the second application may wake up faster and successfully grab
   8567  * the pointer before the first application. The first application then will get
   8568  * an indication that the other application grabbed the pointer before its request
   8569  * was processed.
   8570  * \n
   8571  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   8572  * time.
   8573  * @return A cookie
   8574  *
   8575  * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
   8576  *
   8577  * This form can be used only if the request will cause
   8578  * a reply to be generated. Any returned error will be
   8579  * placed in the event queue.
   8580  */
   8581 
   8582 /*****************************************************************************
   8583  **
   8584  ** xcb_grab_pointer_cookie_t xcb_grab_pointer_unchecked
   8585  **
   8586  ** @param xcb_connection_t *c
   8587  ** @param uint8_t           owner_events
   8588  ** @param xcb_window_t      grab_window
   8589  ** @param uint16_t          event_mask
   8590  ** @param uint8_t           pointer_mode
   8591  ** @param uint8_t           keyboard_mode
   8592  ** @param xcb_window_t      confine_to
   8593  ** @param xcb_cursor_t      cursor
   8594  ** @param xcb_timestamp_t   time
   8595  ** @returns xcb_grab_pointer_cookie_t
   8596  **
   8597  *****************************************************************************/
   8598 
   8599 xcb_grab_pointer_cookie_t
   8600 xcb_grab_pointer_unchecked (xcb_connection_t *c  /**< */,
   8601                             uint8_t           owner_events  /**< */,
   8602                             xcb_window_t      grab_window  /**< */,
   8603                             uint16_t          event_mask  /**< */,
   8604                             uint8_t           pointer_mode  /**< */,
   8605                             uint8_t           keyboard_mode  /**< */,
   8606                             xcb_window_t      confine_to  /**< */,
   8607                             xcb_cursor_t      cursor  /**< */,
   8608                             xcb_timestamp_t   time  /**< */);
   8609 
   8610 /**
   8611  * Return the reply
   8612  * @param c      The connection
   8613  * @param cookie The cookie
   8614  * @param e      The xcb_generic_error_t supplied
   8615  *
   8616  * Returns the reply of the request asked by
   8617  *
   8618  * The parameter @p e supplied to this function must be NULL if
   8619  * xcb_grab_pointer_unchecked(). is used.
   8620  * Otherwise, it stores the error if any.
   8621  *
   8622  * The returned value must be freed by the caller using free().
   8623  */
   8624 
   8625 /*****************************************************************************
   8626  **
   8627  ** xcb_grab_pointer_reply_t * xcb_grab_pointer_reply
   8628  **
   8629  ** @param xcb_connection_t           *c
   8630  ** @param xcb_grab_pointer_cookie_t   cookie
   8631  ** @param xcb_generic_error_t       **e
   8632  ** @returns xcb_grab_pointer_reply_t *
   8633  **
   8634  *****************************************************************************/
   8635 
   8636 xcb_grab_pointer_reply_t *
   8637 xcb_grab_pointer_reply (xcb_connection_t           *c  /**< */,
   8638                         xcb_grab_pointer_cookie_t   cookie  /**< */,
   8639                         xcb_generic_error_t       **e  /**< */);
   8640 
   8641 /**
   8642  * @brief release the pointer
   8643  *
   8644  * @param c The connection
   8645  * @param time Timestamp to avoid race conditions when running X over the network.
   8646  * \n
   8647  * The pointer will not be released if \a time is earlier than the
   8648  * last-pointer-grab time or later than the current X server time.
   8649  * @return A cookie
   8650  *
   8651  * Releases the pointer and any queued events if you actively grabbed the pointer
   8652  * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
   8653  * press.
   8654  *
   8655  * EnterNotify and LeaveNotify events are generated.
   8656  *
   8657  * This form can be used only if the request will not cause
   8658  * a reply to be generated. Any returned error will be
   8659  * saved for handling by xcb_request_check().
   8660  */
   8661 
   8662 /*****************************************************************************
   8663  **
   8664  ** xcb_void_cookie_t xcb_ungrab_pointer_checked
   8665  **
   8666  ** @param xcb_connection_t *c
   8667  ** @param xcb_timestamp_t   time
   8668  ** @returns xcb_void_cookie_t
   8669  **
   8670  *****************************************************************************/
   8671 
   8672 xcb_void_cookie_t
   8673 xcb_ungrab_pointer_checked (xcb_connection_t *c  /**< */,
   8674                             xcb_timestamp_t   time  /**< */);
   8675 
   8676 /**
   8677  * @brief release the pointer
   8678  *
   8679  * @param c The connection
   8680  * @param time Timestamp to avoid race conditions when running X over the network.
   8681  * \n
   8682  * The pointer will not be released if \a time is earlier than the
   8683  * last-pointer-grab time or later than the current X server time.
   8684  * @return A cookie
   8685  *
   8686  * Releases the pointer and any queued events if you actively grabbed the pointer
   8687  * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
   8688  * press.
   8689  *
   8690  * EnterNotify and LeaveNotify events are generated.
   8691  *
   8692  */
   8693 
   8694 /*****************************************************************************
   8695  **
   8696  ** xcb_void_cookie_t xcb_ungrab_pointer
   8697  **
   8698  ** @param xcb_connection_t *c
   8699  ** @param xcb_timestamp_t   time
   8700  ** @returns xcb_void_cookie_t
   8701  **
   8702  *****************************************************************************/
   8703 
   8704 xcb_void_cookie_t
   8705 xcb_ungrab_pointer (xcb_connection_t *c  /**< */,
   8706                     xcb_timestamp_t   time  /**< */);
   8707 
   8708 /**
   8709  * @brief Grab pointer button(s)
   8710  *
   8711  * @param c The connection
   8712  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   8713  * reported to the \a grab_window.
   8714  * @param grab_window Specifies the window on which the pointer should be grabbed.
   8715  * @param event_mask Specifies which pointer events are reported to the client.
   8716  * \n
   8717  * TODO: which values?
   8718  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   8719  * @param pointer_mode \n
   8720  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   8721  * @param keyboard_mode \n
   8722  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
   8723  * move the pointer out of that window).
   8724  * \n
   8725  * The special value `XCB_NONE` means don't confine the pointer.
   8726  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
   8727  * cursor.
   8728  * @param button A bitmask of #xcb_button_index_t values.
   8729  * @param button \n
   8730  * @param modifiers The modifiers to grab.
   8731  * \n
   8732  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
   8733  * possible modifier combinations.
   8734  * @return A cookie
   8735  *
   8736  * This request establishes a passive grab. The pointer is actively grabbed as
   8737  * described in GrabPointer, the last-pointer-grab time is set to the time at
   8738  * which the button was pressed (as transmitted in the ButtonPress event), and the
   8739  * ButtonPress event is reported if all of the following conditions are true:
   8740  *
   8741  * The pointer is not grabbed and the specified button is logically pressed when
   8742  * the specified modifier keys are logically down, and no other buttons or
   8743  * modifier keys are logically down.
   8744  *
   8745  * The grab-window contains the pointer.
   8746  *
   8747  * The confine-to window (if any) is viewable.
   8748  *
   8749  * A passive grab on the same button/key combination does not exist on any
   8750  * ancestor of grab-window.
   8751  *
   8752  * The interpretation of the remaining arguments is the same as for GrabPointer.
   8753  * The active grab is terminated automatically when the logical state of the
   8754  * pointer has all buttons released, independent of the logical state of modifier
   8755  * keys. Note that the logical state of a device (as seen by means of the
   8756  * protocol) may lag the physical state if device event processing is frozen. This
   8757  * request overrides all previous passive grabs by the same client on the same
   8758  * button/key combinations on the same window. A modifier of AnyModifier is
   8759  * equivalent to issuing the request for all possible modifier combinations
   8760  * (including the combination of no modifiers). It is not required that all
   8761  * specified modifiers have currently assigned keycodes. A button of AnyButton is
   8762  * equivalent to issuing the request for all possible buttons. Otherwise, it is
   8763  * not required that the button specified currently be assigned to a physical
   8764  * button.
   8765  *
   8766  * An Access error is generated if some other client has already issued a
   8767  * GrabButton request with the same button/key combination on the same window.
   8768  * When using AnyModifier or AnyButton, the request fails completely (no grabs are
   8769  * established), and an Access error is generated if there is a conflicting grab
   8770  * for any combination. The request has no effect on an active grab.
   8771  *
   8772  * This form can be used only if the request will not cause
   8773  * a reply to be generated. Any returned error will be
   8774  * saved for handling by xcb_request_check().
   8775  */
   8776 
   8777 /*****************************************************************************
   8778  **
   8779  ** xcb_void_cookie_t xcb_grab_button_checked
   8780  **
   8781  ** @param xcb_connection_t *c
   8782  ** @param uint8_t           owner_events
   8783  ** @param xcb_window_t      grab_window
   8784  ** @param uint16_t          event_mask
   8785  ** @param uint8_t           pointer_mode
   8786  ** @param uint8_t           keyboard_mode
   8787  ** @param xcb_window_t      confine_to
   8788  ** @param xcb_cursor_t      cursor
   8789  ** @param uint8_t           button
   8790  ** @param uint16_t          modifiers
   8791  ** @returns xcb_void_cookie_t
   8792  **
   8793  *****************************************************************************/
   8794 
   8795 xcb_void_cookie_t
   8796 xcb_grab_button_checked (xcb_connection_t *c  /**< */,
   8797                          uint8_t           owner_events  /**< */,
   8798                          xcb_window_t      grab_window  /**< */,
   8799                          uint16_t          event_mask  /**< */,
   8800                          uint8_t           pointer_mode  /**< */,
   8801                          uint8_t           keyboard_mode  /**< */,
   8802                          xcb_window_t      confine_to  /**< */,
   8803                          xcb_cursor_t      cursor  /**< */,
   8804                          uint8_t           button  /**< */,
   8805                          uint16_t          modifiers  /**< */);
   8806 
   8807 /**
   8808  * @brief Grab pointer button(s)
   8809  *
   8810  * @param c The connection
   8811  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   8812  * reported to the \a grab_window.
   8813  * @param grab_window Specifies the window on which the pointer should be grabbed.
   8814  * @param event_mask Specifies which pointer events are reported to the client.
   8815  * \n
   8816  * TODO: which values?
   8817  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   8818  * @param pointer_mode \n
   8819  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   8820  * @param keyboard_mode \n
   8821  * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
   8822  * move the pointer out of that window).
   8823  * \n
   8824  * The special value `XCB_NONE` means don't confine the pointer.
   8825  * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
   8826  * cursor.
   8827  * @param button A bitmask of #xcb_button_index_t values.
   8828  * @param button \n
   8829  * @param modifiers The modifiers to grab.
   8830  * \n
   8831  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
   8832  * possible modifier combinations.
   8833  * @return A cookie
   8834  *
   8835  * This request establishes a passive grab. The pointer is actively grabbed as
   8836  * described in GrabPointer, the last-pointer-grab time is set to the time at
   8837  * which the button was pressed (as transmitted in the ButtonPress event), and the
   8838  * ButtonPress event is reported if all of the following conditions are true:
   8839  *
   8840  * The pointer is not grabbed and the specified button is logically pressed when
   8841  * the specified modifier keys are logically down, and no other buttons or
   8842  * modifier keys are logically down.
   8843  *
   8844  * The grab-window contains the pointer.
   8845  *
   8846  * The confine-to window (if any) is viewable.
   8847  *
   8848  * A passive grab on the same button/key combination does not exist on any
   8849  * ancestor of grab-window.
   8850  *
   8851  * The interpretation of the remaining arguments is the same as for GrabPointer.
   8852  * The active grab is terminated automatically when the logical state of the
   8853  * pointer has all buttons released, independent of the logical state of modifier
   8854  * keys. Note that the logical state of a device (as seen by means of the
   8855  * protocol) may lag the physical state if device event processing is frozen. This
   8856  * request overrides all previous passive grabs by the same client on the same
   8857  * button/key combinations on the same window. A modifier of AnyModifier is
   8858  * equivalent to issuing the request for all possible modifier combinations
   8859  * (including the combination of no modifiers). It is not required that all
   8860  * specified modifiers have currently assigned keycodes. A button of AnyButton is
   8861  * equivalent to issuing the request for all possible buttons. Otherwise, it is
   8862  * not required that the button specified currently be assigned to a physical
   8863  * button.
   8864  *
   8865  * An Access error is generated if some other client has already issued a
   8866  * GrabButton request with the same button/key combination on the same window.
   8867  * When using AnyModifier or AnyButton, the request fails completely (no grabs are
   8868  * established), and an Access error is generated if there is a conflicting grab
   8869  * for any combination. The request has no effect on an active grab.
   8870  *
   8871  */
   8872 
   8873 /*****************************************************************************
   8874  **
   8875  ** xcb_void_cookie_t xcb_grab_button
   8876  **
   8877  ** @param xcb_connection_t *c
   8878  ** @param uint8_t           owner_events
   8879  ** @param xcb_window_t      grab_window
   8880  ** @param uint16_t          event_mask
   8881  ** @param uint8_t           pointer_mode
   8882  ** @param uint8_t           keyboard_mode
   8883  ** @param xcb_window_t      confine_to
   8884  ** @param xcb_cursor_t      cursor
   8885  ** @param uint8_t           button
   8886  ** @param uint16_t          modifiers
   8887  ** @returns xcb_void_cookie_t
   8888  **
   8889  *****************************************************************************/
   8890 
   8891 xcb_void_cookie_t
   8892 xcb_grab_button (xcb_connection_t *c  /**< */,
   8893                  uint8_t           owner_events  /**< */,
   8894                  xcb_window_t      grab_window  /**< */,
   8895                  uint16_t          event_mask  /**< */,
   8896                  uint8_t           pointer_mode  /**< */,
   8897                  uint8_t           keyboard_mode  /**< */,
   8898                  xcb_window_t      confine_to  /**< */,
   8899                  xcb_cursor_t      cursor  /**< */,
   8900                  uint8_t           button  /**< */,
   8901                  uint16_t          modifiers  /**< */);
   8902 
   8903 /**
   8904  *
   8905  * @param c The connection
   8906  * @return A cookie
   8907  *
   8908  * Delivers a request to the X server.
   8909  *
   8910  * This form can be used only if the request will not cause
   8911  * a reply to be generated. Any returned error will be
   8912  * saved for handling by xcb_request_check().
   8913  */
   8914 
   8915 /*****************************************************************************
   8916  **
   8917  ** xcb_void_cookie_t xcb_ungrab_button_checked
   8918  **
   8919  ** @param xcb_connection_t *c
   8920  ** @param uint8_t           button
   8921  ** @param xcb_window_t      grab_window
   8922  ** @param uint16_t          modifiers
   8923  ** @returns xcb_void_cookie_t
   8924  **
   8925  *****************************************************************************/
   8926 
   8927 xcb_void_cookie_t
   8928 xcb_ungrab_button_checked (xcb_connection_t *c  /**< */,
   8929                            uint8_t           button  /**< */,
   8930                            xcb_window_t      grab_window  /**< */,
   8931                            uint16_t          modifiers  /**< */);
   8932 
   8933 /**
   8934  *
   8935  * @param c The connection
   8936  * @return A cookie
   8937  *
   8938  * Delivers a request to the X server.
   8939  *
   8940  */
   8941 
   8942 /*****************************************************************************
   8943  **
   8944  ** xcb_void_cookie_t xcb_ungrab_button
   8945  **
   8946  ** @param xcb_connection_t *c
   8947  ** @param uint8_t           button
   8948  ** @param xcb_window_t      grab_window
   8949  ** @param uint16_t          modifiers
   8950  ** @returns xcb_void_cookie_t
   8951  **
   8952  *****************************************************************************/
   8953 
   8954 xcb_void_cookie_t
   8955 xcb_ungrab_button (xcb_connection_t *c  /**< */,
   8956                    uint8_t           button  /**< */,
   8957                    xcb_window_t      grab_window  /**< */,
   8958                    uint16_t          modifiers  /**< */);
   8959 
   8960 /**
   8961  *
   8962  * @param c The connection
   8963  * @return A cookie
   8964  *
   8965  * Delivers a request to the X server.
   8966  *
   8967  * This form can be used only if the request will not cause
   8968  * a reply to be generated. Any returned error will be
   8969  * saved for handling by xcb_request_check().
   8970  */
   8971 
   8972 /*****************************************************************************
   8973  **
   8974  ** xcb_void_cookie_t xcb_change_active_pointer_grab_checked
   8975  **
   8976  ** @param xcb_connection_t *c
   8977  ** @param xcb_cursor_t      cursor
   8978  ** @param xcb_timestamp_t   time
   8979  ** @param uint16_t          event_mask
   8980  ** @returns xcb_void_cookie_t
   8981  **
   8982  *****************************************************************************/
   8983 
   8984 xcb_void_cookie_t
   8985 xcb_change_active_pointer_grab_checked (xcb_connection_t *c  /**< */,
   8986                                         xcb_cursor_t      cursor  /**< */,
   8987                                         xcb_timestamp_t   time  /**< */,
   8988                                         uint16_t          event_mask  /**< */);
   8989 
   8990 /**
   8991  *
   8992  * @param c The connection
   8993  * @return A cookie
   8994  *
   8995  * Delivers a request to the X server.
   8996  *
   8997  */
   8998 
   8999 /*****************************************************************************
   9000  **
   9001  ** xcb_void_cookie_t xcb_change_active_pointer_grab
   9002  **
   9003  ** @param xcb_connection_t *c
   9004  ** @param xcb_cursor_t      cursor
   9005  ** @param xcb_timestamp_t   time
   9006  ** @param uint16_t          event_mask
   9007  ** @returns xcb_void_cookie_t
   9008  **
   9009  *****************************************************************************/
   9010 
   9011 xcb_void_cookie_t
   9012 xcb_change_active_pointer_grab (xcb_connection_t *c  /**< */,
   9013                                 xcb_cursor_t      cursor  /**< */,
   9014                                 xcb_timestamp_t   time  /**< */,
   9015                                 uint16_t          event_mask  /**< */);
   9016 
   9017 /**
   9018  * @brief Grab the keyboard
   9019  *
   9020  * @param c The connection
   9021  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   9022  * reported to the \a grab_window.
   9023  * @param grab_window Specifies the window on which the pointer should be grabbed.
   9024  * @param time Timestamp to avoid race conditions when running X over the network.
   9025  * \n
   9026  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   9027  * time.
   9028  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   9029  * @param pointer_mode \n
   9030  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   9031  * @param keyboard_mode \n
   9032  * @return A cookie
   9033  *
   9034  * Actively grabs control of the keyboard and generates FocusIn and FocusOut
   9035  * events. Further key events are reported only to the grabbing client.
   9036  *
   9037  * Any active keyboard grab by this client is overridden. If the keyboard is
   9038  * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
   9039  * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
   9040  * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
   9041  * specified \a time is earlier than the last-keyboard-grab time or later than the
   9042  * current X server time, `GrabInvalidTime` is returned. Otherwise, the
   9043  * last-keyboard-grab time is set to the specified time.
   9044  *
   9045  */
   9046 
   9047 /*****************************************************************************
   9048  **
   9049  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard
   9050  **
   9051  ** @param xcb_connection_t *c
   9052  ** @param uint8_t           owner_events
   9053  ** @param xcb_window_t      grab_window
   9054  ** @param xcb_timestamp_t   time
   9055  ** @param uint8_t           pointer_mode
   9056  ** @param uint8_t           keyboard_mode
   9057  ** @returns xcb_grab_keyboard_cookie_t
   9058  **
   9059  *****************************************************************************/
   9060 
   9061 xcb_grab_keyboard_cookie_t
   9062 xcb_grab_keyboard (xcb_connection_t *c  /**< */,
   9063                    uint8_t           owner_events  /**< */,
   9064                    xcb_window_t      grab_window  /**< */,
   9065                    xcb_timestamp_t   time  /**< */,
   9066                    uint8_t           pointer_mode  /**< */,
   9067                    uint8_t           keyboard_mode  /**< */);
   9068 
   9069 /**
   9070  * @brief Grab the keyboard
   9071  *
   9072  * @param c The connection
   9073  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   9074  * reported to the \a grab_window.
   9075  * @param grab_window Specifies the window on which the pointer should be grabbed.
   9076  * @param time Timestamp to avoid race conditions when running X over the network.
   9077  * \n
   9078  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   9079  * time.
   9080  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   9081  * @param pointer_mode \n
   9082  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   9083  * @param keyboard_mode \n
   9084  * @return A cookie
   9085  *
   9086  * Actively grabs control of the keyboard and generates FocusIn and FocusOut
   9087  * events. Further key events are reported only to the grabbing client.
   9088  *
   9089  * Any active keyboard grab by this client is overridden. If the keyboard is
   9090  * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
   9091  * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
   9092  * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
   9093  * specified \a time is earlier than the last-keyboard-grab time or later than the
   9094  * current X server time, `GrabInvalidTime` is returned. Otherwise, the
   9095  * last-keyboard-grab time is set to the specified time.
   9096  *
   9097  * This form can be used only if the request will cause
   9098  * a reply to be generated. Any returned error will be
   9099  * placed in the event queue.
   9100  */
   9101 
   9102 /*****************************************************************************
   9103  **
   9104  ** xcb_grab_keyboard_cookie_t xcb_grab_keyboard_unchecked
   9105  **
   9106  ** @param xcb_connection_t *c
   9107  ** @param uint8_t           owner_events
   9108  ** @param xcb_window_t      grab_window
   9109  ** @param xcb_timestamp_t   time
   9110  ** @param uint8_t           pointer_mode
   9111  ** @param uint8_t           keyboard_mode
   9112  ** @returns xcb_grab_keyboard_cookie_t
   9113  **
   9114  *****************************************************************************/
   9115 
   9116 xcb_grab_keyboard_cookie_t
   9117 xcb_grab_keyboard_unchecked (xcb_connection_t *c  /**< */,
   9118                              uint8_t           owner_events  /**< */,
   9119                              xcb_window_t      grab_window  /**< */,
   9120                              xcb_timestamp_t   time  /**< */,
   9121                              uint8_t           pointer_mode  /**< */,
   9122                              uint8_t           keyboard_mode  /**< */);
   9123 
   9124 /**
   9125  * Return the reply
   9126  * @param c      The connection
   9127  * @param cookie The cookie
   9128  * @param e      The xcb_generic_error_t supplied
   9129  *
   9130  * Returns the reply of the request asked by
   9131  *
   9132  * The parameter @p e supplied to this function must be NULL if
   9133  * xcb_grab_keyboard_unchecked(). is used.
   9134  * Otherwise, it stores the error if any.
   9135  *
   9136  * The returned value must be freed by the caller using free().
   9137  */
   9138 
   9139 /*****************************************************************************
   9140  **
   9141  ** xcb_grab_keyboard_reply_t * xcb_grab_keyboard_reply
   9142  **
   9143  ** @param xcb_connection_t            *c
   9144  ** @param xcb_grab_keyboard_cookie_t   cookie
   9145  ** @param xcb_generic_error_t        **e
   9146  ** @returns xcb_grab_keyboard_reply_t *
   9147  **
   9148  *****************************************************************************/
   9149 
   9150 xcb_grab_keyboard_reply_t *
   9151 xcb_grab_keyboard_reply (xcb_connection_t            *c  /**< */,
   9152                          xcb_grab_keyboard_cookie_t   cookie  /**< */,
   9153                          xcb_generic_error_t        **e  /**< */);
   9154 
   9155 /**
   9156  *
   9157  * @param c The connection
   9158  * @return A cookie
   9159  *
   9160  * Delivers a request to the X server.
   9161  *
   9162  * This form can be used only if the request will not cause
   9163  * a reply to be generated. Any returned error will be
   9164  * saved for handling by xcb_request_check().
   9165  */
   9166 
   9167 /*****************************************************************************
   9168  **
   9169  ** xcb_void_cookie_t xcb_ungrab_keyboard_checked
   9170  **
   9171  ** @param xcb_connection_t *c
   9172  ** @param xcb_timestamp_t   time
   9173  ** @returns xcb_void_cookie_t
   9174  **
   9175  *****************************************************************************/
   9176 
   9177 xcb_void_cookie_t
   9178 xcb_ungrab_keyboard_checked (xcb_connection_t *c  /**< */,
   9179                              xcb_timestamp_t   time  /**< */);
   9180 
   9181 /**
   9182  *
   9183  * @param c The connection
   9184  * @return A cookie
   9185  *
   9186  * Delivers a request to the X server.
   9187  *
   9188  */
   9189 
   9190 /*****************************************************************************
   9191  **
   9192  ** xcb_void_cookie_t xcb_ungrab_keyboard
   9193  **
   9194  ** @param xcb_connection_t *c
   9195  ** @param xcb_timestamp_t   time
   9196  ** @returns xcb_void_cookie_t
   9197  **
   9198  *****************************************************************************/
   9199 
   9200 xcb_void_cookie_t
   9201 xcb_ungrab_keyboard (xcb_connection_t *c  /**< */,
   9202                      xcb_timestamp_t   time  /**< */);
   9203 
   9204 /**
   9205  * @brief Grab keyboard key(s)
   9206  *
   9207  * @param c The connection
   9208  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   9209  * reported to the \a grab_window.
   9210  * @param grab_window Specifies the window on which the pointer should be grabbed.
   9211  * @param modifiers The modifiers to grab.
   9212  * \n
   9213  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
   9214  * possible modifier combinations.
   9215  * @param key The keycode of the key to grab.
   9216  * \n
   9217  * The special value `XCB_GRAB_ANY` means grab any key.
   9218  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   9219  * @param pointer_mode \n
   9220  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   9221  * @param keyboard_mode \n
   9222  * @return A cookie
   9223  *
   9224  * Establishes a passive grab on the keyboard. In the future, the keyboard is
   9225  * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
   9226  * the time at which the key was pressed (as transmitted in the KeyPress event),
   9227  * and the KeyPress event is reported if all of the following conditions are true:
   9228  *
   9229  * The keyboard is not grabbed and the specified key (which can itself be a
   9230  * modifier key) is logically pressed when the specified modifier keys are
   9231  * logically down, and no other modifier keys are logically down.
   9232  *
   9233  * Either the grab_window is an ancestor of (or is) the focus window, or the
   9234  * grab_window is a descendant of the focus window and contains the pointer.
   9235  *
   9236  * A passive grab on the same key combination does not exist on any ancestor of
   9237  * grab_window.
   9238  *
   9239  * The interpretation of the remaining arguments is as for XGrabKeyboard.  The active grab is terminated
   9240  * automatically when the logical state of the keyboard has the specified key released (independent of the
   9241  * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
   9242  *
   9243  * Note that the logical state of a device (as seen by client applications) may lag the physical state if
   9244  * device event processing is frozen.
   9245  *
   9246  * A modifiers argument of AnyModifier is equivalent to issuing the request for all possible modifier combinations (including the combination of no modifiers).  It is not required that all modifiers specified
   9247  * have currently assigned KeyCodes.  A keycode argument of AnyKey is equivalent to issuing the request for
   9248  * all possible KeyCodes.  Otherwise, the specified keycode must be in the range specified by min_keycode
   9249  * and max_keycode in the connection setup, or a BadValue error results.
   9250  *
   9251  * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
   9252  * error results.  When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
   9253  * results (no grabs are established) if there is a conflicting grab for any combination.
   9254  *
   9255  * This form can be used only if the request will not cause
   9256  * a reply to be generated. Any returned error will be
   9257  * saved for handling by xcb_request_check().
   9258  */
   9259 
   9260 /*****************************************************************************
   9261  **
   9262  ** xcb_void_cookie_t xcb_grab_key_checked
   9263  **
   9264  ** @param xcb_connection_t *c
   9265  ** @param uint8_t           owner_events
   9266  ** @param xcb_window_t      grab_window
   9267  ** @param uint16_t          modifiers
   9268  ** @param xcb_keycode_t     key
   9269  ** @param uint8_t           pointer_mode
   9270  ** @param uint8_t           keyboard_mode
   9271  ** @returns xcb_void_cookie_t
   9272  **
   9273  *****************************************************************************/
   9274 
   9275 xcb_void_cookie_t
   9276 xcb_grab_key_checked (xcb_connection_t *c  /**< */,
   9277                       uint8_t           owner_events  /**< */,
   9278                       xcb_window_t      grab_window  /**< */,
   9279                       uint16_t          modifiers  /**< */,
   9280                       xcb_keycode_t     key  /**< */,
   9281                       uint8_t           pointer_mode  /**< */,
   9282                       uint8_t           keyboard_mode  /**< */);
   9283 
   9284 /**
   9285  * @brief Grab keyboard key(s)
   9286  *
   9287  * @param c The connection
   9288  * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
   9289  * reported to the \a grab_window.
   9290  * @param grab_window Specifies the window on which the pointer should be grabbed.
   9291  * @param modifiers The modifiers to grab.
   9292  * \n
   9293  * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
   9294  * possible modifier combinations.
   9295  * @param key The keycode of the key to grab.
   9296  * \n
   9297  * The special value `XCB_GRAB_ANY` means grab any key.
   9298  * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
   9299  * @param pointer_mode \n
   9300  * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
   9301  * @param keyboard_mode \n
   9302  * @return A cookie
   9303  *
   9304  * Establishes a passive grab on the keyboard. In the future, the keyboard is
   9305  * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
   9306  * the time at which the key was pressed (as transmitted in the KeyPress event),
   9307  * and the KeyPress event is reported if all of the following conditions are true:
   9308  *
   9309  * The keyboard is not grabbed and the specified key (which can itself be a
   9310  * modifier key) is logically pressed when the specified modifier keys are
   9311  * logically down, and no other modifier keys are logically down.
   9312  *
   9313  * Either the grab_window is an ancestor of (or is) the focus window, or the
   9314  * grab_window is a descendant of the focus window and contains the pointer.
   9315  *
   9316  * A passive grab on the same key combination does not exist on any ancestor of
   9317  * grab_window.
   9318  *
   9319  * The interpretation of the remaining arguments is as for XGrabKeyboard.  The active grab is terminated
   9320  * automatically when the logical state of the keyboard has the specified key released (independent of the
   9321  * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
   9322  *
   9323  * Note that the logical state of a device (as seen by client applications) may lag the physical state if
   9324  * device event processing is frozen.
   9325  *
   9326  * A modifiers argument of AnyModifier is equivalent to issuing the request for all possible modifier combinations (including the combination of no modifiers).  It is not required that all modifiers specified
   9327  * have currently assigned KeyCodes.  A keycode argument of AnyKey is equivalent to issuing the request for
   9328  * all possible KeyCodes.  Otherwise, the specified keycode must be in the range specified by min_keycode
   9329  * and max_keycode in the connection setup, or a BadValue error results.
   9330  *
   9331  * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
   9332  * error results.  When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
   9333  * results (no grabs are established) if there is a conflicting grab for any combination.
   9334  *
   9335  */
   9336 
   9337 /*****************************************************************************
   9338  **
   9339  ** xcb_void_cookie_t xcb_grab_key
   9340  **
   9341  ** @param xcb_connection_t *c
   9342  ** @param uint8_t           owner_events
   9343  ** @param xcb_window_t      grab_window
   9344  ** @param uint16_t          modifiers
   9345  ** @param xcb_keycode_t     key
   9346  ** @param uint8_t           pointer_mode
   9347  ** @param uint8_t           keyboard_mode
   9348  ** @returns xcb_void_cookie_t
   9349  **
   9350  *****************************************************************************/
   9351 
   9352 xcb_void_cookie_t
   9353 xcb_grab_key (xcb_connection_t *c  /**< */,
   9354               uint8_t           owner_events  /**< */,
   9355               xcb_window_t      grab_window  /**< */,
   9356               uint16_t          modifiers  /**< */,
   9357               xcb_keycode_t     key  /**< */,
   9358               uint8_t           pointer_mode  /**< */,
   9359               uint8_t           keyboard_mode  /**< */);
   9360 
   9361 /**
   9362  * @brief release a key combination
   9363  *
   9364  * @param c The connection
   9365  * @param key The keycode of the specified key combination.
   9366  * \n
   9367  * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
   9368  * @param grab_window The window on which the grabbed key combination will be released.
   9369  * @param modifiers The modifiers of the specified key combination.
   9370  * \n
   9371  * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
   9372  * with every possible modifier combination.
   9373  * @return A cookie
   9374  *
   9375  * Releases the key combination on \a grab_window if you grabbed it using
   9376  * `xcb_grab_key` before.
   9377  *
   9378  * This form can be used only if the request will not cause
   9379  * a reply to be generated. Any returned error will be
   9380  * saved for handling by xcb_request_check().
   9381  */
   9382 
   9383 /*****************************************************************************
   9384  **
   9385  ** xcb_void_cookie_t xcb_ungrab_key_checked
   9386  **
   9387  ** @param xcb_connection_t *c
   9388  ** @param xcb_keycode_t     key
   9389  ** @param xcb_window_t      grab_window
   9390  ** @param uint16_t          modifiers
   9391  ** @returns xcb_void_cookie_t
   9392  **
   9393  *****************************************************************************/
   9394 
   9395 xcb_void_cookie_t
   9396 xcb_ungrab_key_checked (xcb_connection_t *c  /**< */,
   9397                         xcb_keycode_t     key  /**< */,
   9398                         xcb_window_t      grab_window  /**< */,
   9399                         uint16_t          modifiers  /**< */);
   9400 
   9401 /**
   9402  * @brief release a key combination
   9403  *
   9404  * @param c The connection
   9405  * @param key The keycode of the specified key combination.
   9406  * \n
   9407  * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
   9408  * @param grab_window The window on which the grabbed key combination will be released.
   9409  * @param modifiers The modifiers of the specified key combination.
   9410  * \n
   9411  * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
   9412  * with every possible modifier combination.
   9413  * @return A cookie
   9414  *
   9415  * Releases the key combination on \a grab_window if you grabbed it using
   9416  * `xcb_grab_key` before.
   9417  *
   9418  */
   9419 
   9420 /*****************************************************************************
   9421  **
   9422  ** xcb_void_cookie_t xcb_ungrab_key
   9423  **
   9424  ** @param xcb_connection_t *c
   9425  ** @param xcb_keycode_t     key
   9426  ** @param xcb_window_t      grab_window
   9427  ** @param uint16_t          modifiers
   9428  ** @returns xcb_void_cookie_t
   9429  **
   9430  *****************************************************************************/
   9431 
   9432 xcb_void_cookie_t
   9433 xcb_ungrab_key (xcb_connection_t *c  /**< */,
   9434                 xcb_keycode_t     key  /**< */,
   9435                 xcb_window_t      grab_window  /**< */,
   9436                 uint16_t          modifiers  /**< */);
   9437 
   9438 /**
   9439  * @brief release queued events
   9440  *
   9441  * @param c The connection
   9442  * @param mode A bitmask of #xcb_allow_t values.
   9443  * @param mode \n
   9444  * @param time Timestamp to avoid race conditions when running X over the network.
   9445  * \n
   9446  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   9447  * time.
   9448  * @return A cookie
   9449  *
   9450  * Releases queued events if the client has caused a device (pointer/keyboard) to
   9451  * freeze due to grabbing it actively. This request has no effect if \a time is
   9452  * earlier than the last-grab time of the most recent active grab for this client
   9453  * or if \a time is later than the current X server time.
   9454  *
   9455  * This form can be used only if the request will not cause
   9456  * a reply to be generated. Any returned error will be
   9457  * saved for handling by xcb_request_check().
   9458  */
   9459 
   9460 /*****************************************************************************
   9461  **
   9462  ** xcb_void_cookie_t xcb_allow_events_checked
   9463  **
   9464  ** @param xcb_connection_t *c
   9465  ** @param uint8_t           mode
   9466  ** @param xcb_timestamp_t   time
   9467  ** @returns xcb_void_cookie_t
   9468  **
   9469  *****************************************************************************/
   9470 
   9471 xcb_void_cookie_t
   9472 xcb_allow_events_checked (xcb_connection_t *c  /**< */,
   9473                           uint8_t           mode  /**< */,
   9474                           xcb_timestamp_t   time  /**< */);
   9475 
   9476 /**
   9477  * @brief release queued events
   9478  *
   9479  * @param c The connection
   9480  * @param mode A bitmask of #xcb_allow_t values.
   9481  * @param mode \n
   9482  * @param time Timestamp to avoid race conditions when running X over the network.
   9483  * \n
   9484  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   9485  * time.
   9486  * @return A cookie
   9487  *
   9488  * Releases queued events if the client has caused a device (pointer/keyboard) to
   9489  * freeze due to grabbing it actively. This request has no effect if \a time is
   9490  * earlier than the last-grab time of the most recent active grab for this client
   9491  * or if \a time is later than the current X server time.
   9492  *
   9493  */
   9494 
   9495 /*****************************************************************************
   9496  **
   9497  ** xcb_void_cookie_t xcb_allow_events
   9498  **
   9499  ** @param xcb_connection_t *c
   9500  ** @param uint8_t           mode
   9501  ** @param xcb_timestamp_t   time
   9502  ** @returns xcb_void_cookie_t
   9503  **
   9504  *****************************************************************************/
   9505 
   9506 xcb_void_cookie_t
   9507 xcb_allow_events (xcb_connection_t *c  /**< */,
   9508                   uint8_t           mode  /**< */,
   9509                   xcb_timestamp_t   time  /**< */);
   9510 
   9511 /**
   9512  *
   9513  * @param c The connection
   9514  * @return A cookie
   9515  *
   9516  * Delivers a request to the X server.
   9517  *
   9518  * This form can be used only if the request will not cause
   9519  * a reply to be generated. Any returned error will be
   9520  * saved for handling by xcb_request_check().
   9521  */
   9522 
   9523 /*****************************************************************************
   9524  **
   9525  ** xcb_void_cookie_t xcb_grab_server_checked
   9526  **
   9527  ** @param xcb_connection_t *c
   9528  ** @returns xcb_void_cookie_t
   9529  **
   9530  *****************************************************************************/
   9531 
   9532 xcb_void_cookie_t
   9533 xcb_grab_server_checked (xcb_connection_t *c  /**< */);
   9534 
   9535 /**
   9536  *
   9537  * @param c The connection
   9538  * @return A cookie
   9539  *
   9540  * Delivers a request to the X server.
   9541  *
   9542  */
   9543 
   9544 /*****************************************************************************
   9545  **
   9546  ** xcb_void_cookie_t xcb_grab_server
   9547  **
   9548  ** @param xcb_connection_t *c
   9549  ** @returns xcb_void_cookie_t
   9550  **
   9551  *****************************************************************************/
   9552 
   9553 xcb_void_cookie_t
   9554 xcb_grab_server (xcb_connection_t *c  /**< */);
   9555 
   9556 /**
   9557  *
   9558  * @param c The connection
   9559  * @return A cookie
   9560  *
   9561  * Delivers a request to the X server.
   9562  *
   9563  * This form can be used only if the request will not cause
   9564  * a reply to be generated. Any returned error will be
   9565  * saved for handling by xcb_request_check().
   9566  */
   9567 
   9568 /*****************************************************************************
   9569  **
   9570  ** xcb_void_cookie_t xcb_ungrab_server_checked
   9571  **
   9572  ** @param xcb_connection_t *c
   9573  ** @returns xcb_void_cookie_t
   9574  **
   9575  *****************************************************************************/
   9576 
   9577 xcb_void_cookie_t
   9578 xcb_ungrab_server_checked (xcb_connection_t *c  /**< */);
   9579 
   9580 /**
   9581  *
   9582  * @param c The connection
   9583  * @return A cookie
   9584  *
   9585  * Delivers a request to the X server.
   9586  *
   9587  */
   9588 
   9589 /*****************************************************************************
   9590  **
   9591  ** xcb_void_cookie_t xcb_ungrab_server
   9592  **
   9593  ** @param xcb_connection_t *c
   9594  ** @returns xcb_void_cookie_t
   9595  **
   9596  *****************************************************************************/
   9597 
   9598 xcb_void_cookie_t
   9599 xcb_ungrab_server (xcb_connection_t *c  /**< */);
   9600 
   9601 /**
   9602  * @brief get pointer coordinates
   9603  *
   9604  * @param c The connection
   9605  * @param window A window to check if the pointer is on the same screen as \a window (see the
   9606  * `same_screen` field in the reply).
   9607  * @return A cookie
   9608  *
   9609  * Gets the root window the pointer is logically on and the pointer coordinates
   9610  * relative to the root window's origin.
   9611  *
   9612  */
   9613 
   9614 /*****************************************************************************
   9615  **
   9616  ** xcb_query_pointer_cookie_t xcb_query_pointer
   9617  **
   9618  ** @param xcb_connection_t *c
   9619  ** @param xcb_window_t      window
   9620  ** @returns xcb_query_pointer_cookie_t
   9621  **
   9622  *****************************************************************************/
   9623 
   9624 xcb_query_pointer_cookie_t
   9625 xcb_query_pointer (xcb_connection_t *c  /**< */,
   9626                    xcb_window_t      window  /**< */);
   9627 
   9628 /**
   9629  * @brief get pointer coordinates
   9630  *
   9631  * @param c The connection
   9632  * @param window A window to check if the pointer is on the same screen as \a window (see the
   9633  * `same_screen` field in the reply).
   9634  * @return A cookie
   9635  *
   9636  * Gets the root window the pointer is logically on and the pointer coordinates
   9637  * relative to the root window's origin.
   9638  *
   9639  * This form can be used only if the request will cause
   9640  * a reply to be generated. Any returned error will be
   9641  * placed in the event queue.
   9642  */
   9643 
   9644 /*****************************************************************************
   9645  **
   9646  ** xcb_query_pointer_cookie_t xcb_query_pointer_unchecked
   9647  **
   9648  ** @param xcb_connection_t *c
   9649  ** @param xcb_window_t      window
   9650  ** @returns xcb_query_pointer_cookie_t
   9651  **
   9652  *****************************************************************************/
   9653 
   9654 xcb_query_pointer_cookie_t
   9655 xcb_query_pointer_unchecked (xcb_connection_t *c  /**< */,
   9656                              xcb_window_t      window  /**< */);
   9657 
   9658 /**
   9659  * Return the reply
   9660  * @param c      The connection
   9661  * @param cookie The cookie
   9662  * @param e      The xcb_generic_error_t supplied
   9663  *
   9664  * Returns the reply of the request asked by
   9665  *
   9666  * The parameter @p e supplied to this function must be NULL if
   9667  * xcb_query_pointer_unchecked(). is used.
   9668  * Otherwise, it stores the error if any.
   9669  *
   9670  * The returned value must be freed by the caller using free().
   9671  */
   9672 
   9673 /*****************************************************************************
   9674  **
   9675  ** xcb_query_pointer_reply_t * xcb_query_pointer_reply
   9676  **
   9677  ** @param xcb_connection_t            *c
   9678  ** @param xcb_query_pointer_cookie_t   cookie
   9679  ** @param xcb_generic_error_t        **e
   9680  ** @returns xcb_query_pointer_reply_t *
   9681  **
   9682  *****************************************************************************/
   9683 
   9684 xcb_query_pointer_reply_t *
   9685 xcb_query_pointer_reply (xcb_connection_t            *c  /**< */,
   9686                          xcb_query_pointer_cookie_t   cookie  /**< */,
   9687                          xcb_generic_error_t        **e  /**< */);
   9688 
   9689 /**
   9690  * Get the next element of the iterator
   9691  * @param i Pointer to a xcb_timecoord_iterator_t
   9692  *
   9693  * Get the next element in the iterator. The member rem is
   9694  * decreased by one. The member data points to the next
   9695  * element. The member index is increased by sizeof(xcb_timecoord_t)
   9696  */
   9697 
   9698 /*****************************************************************************
   9699  **
   9700  ** void xcb_timecoord_next
   9701  **
   9702  ** @param xcb_timecoord_iterator_t *i
   9703  ** @returns void
   9704  **
   9705  *****************************************************************************/
   9706 
   9707 void
   9708 xcb_timecoord_next (xcb_timecoord_iterator_t *i  /**< */);
   9709 
   9710 /**
   9711  * Return the iterator pointing to the last element
   9712  * @param i An xcb_timecoord_iterator_t
   9713  * @return  The iterator pointing to the last element
   9714  *
   9715  * Set the current element in the iterator to the last element.
   9716  * The member rem is set to 0. The member data points to the
   9717  * last element.
   9718  */
   9719 
   9720 /*****************************************************************************
   9721  **
   9722  ** xcb_generic_iterator_t xcb_timecoord_end
   9723  **
   9724  ** @param xcb_timecoord_iterator_t i
   9725  ** @returns xcb_generic_iterator_t
   9726  **
   9727  *****************************************************************************/
   9728 
   9729 xcb_generic_iterator_t
   9730 xcb_timecoord_end (xcb_timecoord_iterator_t i  /**< */);
   9731 
   9732 int
   9733 xcb_get_motion_events_sizeof (const void  *_buffer  /**< */);
   9734 
   9735 /**
   9736  *
   9737  * @param c The connection
   9738  * @return A cookie
   9739  *
   9740  * Delivers a request to the X server.
   9741  *
   9742  */
   9743 
   9744 /*****************************************************************************
   9745  **
   9746  ** xcb_get_motion_events_cookie_t xcb_get_motion_events
   9747  **
   9748  ** @param xcb_connection_t *c
   9749  ** @param xcb_window_t      window
   9750  ** @param xcb_timestamp_t   start
   9751  ** @param xcb_timestamp_t   stop
   9752  ** @returns xcb_get_motion_events_cookie_t
   9753  **
   9754  *****************************************************************************/
   9755 
   9756 xcb_get_motion_events_cookie_t
   9757 xcb_get_motion_events (xcb_connection_t *c  /**< */,
   9758                        xcb_window_t      window  /**< */,
   9759                        xcb_timestamp_t   start  /**< */,
   9760                        xcb_timestamp_t   stop  /**< */);
   9761 
   9762 /**
   9763  *
   9764  * @param c The connection
   9765  * @return A cookie
   9766  *
   9767  * Delivers a request to the X server.
   9768  *
   9769  * This form can be used only if the request will cause
   9770  * a reply to be generated. Any returned error will be
   9771  * placed in the event queue.
   9772  */
   9773 
   9774 /*****************************************************************************
   9775  **
   9776  ** xcb_get_motion_events_cookie_t xcb_get_motion_events_unchecked
   9777  **
   9778  ** @param xcb_connection_t *c
   9779  ** @param xcb_window_t      window
   9780  ** @param xcb_timestamp_t   start
   9781  ** @param xcb_timestamp_t   stop
   9782  ** @returns xcb_get_motion_events_cookie_t
   9783  **
   9784  *****************************************************************************/
   9785 
   9786 xcb_get_motion_events_cookie_t
   9787 xcb_get_motion_events_unchecked (xcb_connection_t *c  /**< */,
   9788                                  xcb_window_t      window  /**< */,
   9789                                  xcb_timestamp_t   start  /**< */,
   9790                                  xcb_timestamp_t   stop  /**< */);
   9791 
   9792 
   9793 /*****************************************************************************
   9794  **
   9795  ** xcb_timecoord_t * xcb_get_motion_events_events
   9796  **
   9797  ** @param const xcb_get_motion_events_reply_t *R
   9798  ** @returns xcb_timecoord_t *
   9799  **
   9800  *****************************************************************************/
   9801 
   9802 xcb_timecoord_t *
   9803 xcb_get_motion_events_events (const xcb_get_motion_events_reply_t *R  /**< */);
   9804 
   9805 
   9806 /*****************************************************************************
   9807  **
   9808  ** int xcb_get_motion_events_events_length
   9809  **
   9810  ** @param const xcb_get_motion_events_reply_t *R
   9811  ** @returns int
   9812  **
   9813  *****************************************************************************/
   9814 
   9815 int
   9816 xcb_get_motion_events_events_length (const xcb_get_motion_events_reply_t *R  /**< */);
   9817 
   9818 
   9819 /*****************************************************************************
   9820  **
   9821  ** xcb_timecoord_iterator_t xcb_get_motion_events_events_iterator
   9822  **
   9823  ** @param const xcb_get_motion_events_reply_t *R
   9824  ** @returns xcb_timecoord_iterator_t
   9825  **
   9826  *****************************************************************************/
   9827 
   9828 xcb_timecoord_iterator_t
   9829 xcb_get_motion_events_events_iterator (const xcb_get_motion_events_reply_t *R  /**< */);
   9830 
   9831 /**
   9832  * Return the reply
   9833  * @param c      The connection
   9834  * @param cookie The cookie
   9835  * @param e      The xcb_generic_error_t supplied
   9836  *
   9837  * Returns the reply of the request asked by
   9838  *
   9839  * The parameter @p e supplied to this function must be NULL if
   9840  * xcb_get_motion_events_unchecked(). is used.
   9841  * Otherwise, it stores the error if any.
   9842  *
   9843  * The returned value must be freed by the caller using free().
   9844  */
   9845 
   9846 /*****************************************************************************
   9847  **
   9848  ** xcb_get_motion_events_reply_t * xcb_get_motion_events_reply
   9849  **
   9850  ** @param xcb_connection_t                *c
   9851  ** @param xcb_get_motion_events_cookie_t   cookie
   9852  ** @param xcb_generic_error_t            **e
   9853  ** @returns xcb_get_motion_events_reply_t *
   9854  **
   9855  *****************************************************************************/
   9856 
   9857 xcb_get_motion_events_reply_t *
   9858 xcb_get_motion_events_reply (xcb_connection_t                *c  /**< */,
   9859                              xcb_get_motion_events_cookie_t   cookie  /**< */,
   9860                              xcb_generic_error_t            **e  /**< */);
   9861 
   9862 /**
   9863  *
   9864  * @param c The connection
   9865  * @return A cookie
   9866  *
   9867  * Delivers a request to the X server.
   9868  *
   9869  */
   9870 
   9871 /*****************************************************************************
   9872  **
   9873  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates
   9874  **
   9875  ** @param xcb_connection_t *c
   9876  ** @param xcb_window_t      src_window
   9877  ** @param xcb_window_t      dst_window
   9878  ** @param int16_t           src_x
   9879  ** @param int16_t           src_y
   9880  ** @returns xcb_translate_coordinates_cookie_t
   9881  **
   9882  *****************************************************************************/
   9883 
   9884 xcb_translate_coordinates_cookie_t
   9885 xcb_translate_coordinates (xcb_connection_t *c  /**< */,
   9886                            xcb_window_t      src_window  /**< */,
   9887                            xcb_window_t      dst_window  /**< */,
   9888                            int16_t           src_x  /**< */,
   9889                            int16_t           src_y  /**< */);
   9890 
   9891 /**
   9892  *
   9893  * @param c The connection
   9894  * @return A cookie
   9895  *
   9896  * Delivers a request to the X server.
   9897  *
   9898  * This form can be used only if the request will cause
   9899  * a reply to be generated. Any returned error will be
   9900  * placed in the event queue.
   9901  */
   9902 
   9903 /*****************************************************************************
   9904  **
   9905  ** xcb_translate_coordinates_cookie_t xcb_translate_coordinates_unchecked
   9906  **
   9907  ** @param xcb_connection_t *c
   9908  ** @param xcb_window_t      src_window
   9909  ** @param xcb_window_t      dst_window
   9910  ** @param int16_t           src_x
   9911  ** @param int16_t           src_y
   9912  ** @returns xcb_translate_coordinates_cookie_t
   9913  **
   9914  *****************************************************************************/
   9915 
   9916 xcb_translate_coordinates_cookie_t
   9917 xcb_translate_coordinates_unchecked (xcb_connection_t *c  /**< */,
   9918                                      xcb_window_t      src_window  /**< */,
   9919                                      xcb_window_t      dst_window  /**< */,
   9920                                      int16_t           src_x  /**< */,
   9921                                      int16_t           src_y  /**< */);
   9922 
   9923 /**
   9924  * Return the reply
   9925  * @param c      The connection
   9926  * @param cookie The cookie
   9927  * @param e      The xcb_generic_error_t supplied
   9928  *
   9929  * Returns the reply of the request asked by
   9930  *
   9931  * The parameter @p e supplied to this function must be NULL if
   9932  * xcb_translate_coordinates_unchecked(). is used.
   9933  * Otherwise, it stores the error if any.
   9934  *
   9935  * The returned value must be freed by the caller using free().
   9936  */
   9937 
   9938 /*****************************************************************************
   9939  **
   9940  ** xcb_translate_coordinates_reply_t * xcb_translate_coordinates_reply
   9941  **
   9942  ** @param xcb_connection_t                    *c
   9943  ** @param xcb_translate_coordinates_cookie_t   cookie
   9944  ** @param xcb_generic_error_t                **e
   9945  ** @returns xcb_translate_coordinates_reply_t *
   9946  **
   9947  *****************************************************************************/
   9948 
   9949 xcb_translate_coordinates_reply_t *
   9950 xcb_translate_coordinates_reply (xcb_connection_t                    *c  /**< */,
   9951                                  xcb_translate_coordinates_cookie_t   cookie  /**< */,
   9952                                  xcb_generic_error_t                **e  /**< */);
   9953 
   9954 /**
   9955  * @brief move mouse pointer
   9956  *
   9957  * @param c The connection
   9958  * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
   9959  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
   9960  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
   9961  * \a src_window.
   9962  * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
   9963  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
   9964  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
   9965  * relative to the current position of the pointer.
   9966  * @return A cookie
   9967  *
   9968  * Moves the mouse pointer to the specified position.
   9969  *
   9970  * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
   9971  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
   9972  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
   9973  * \a src_window.
   9974  *
   9975  * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
   9976  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
   9977  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
   9978  * relative to the current position of the pointer.
   9979  *
   9980  * This form can be used only if the request will not cause
   9981  * a reply to be generated. Any returned error will be
   9982  * saved for handling by xcb_request_check().
   9983  */
   9984 
   9985 /*****************************************************************************
   9986  **
   9987  ** xcb_void_cookie_t xcb_warp_pointer_checked
   9988  **
   9989  ** @param xcb_connection_t *c
   9990  ** @param xcb_window_t      src_window
   9991  ** @param xcb_window_t      dst_window
   9992  ** @param int16_t           src_x
   9993  ** @param int16_t           src_y
   9994  ** @param uint16_t          src_width
   9995  ** @param uint16_t          src_height
   9996  ** @param int16_t           dst_x
   9997  ** @param int16_t           dst_y
   9998  ** @returns xcb_void_cookie_t
   9999  **
   10000  *****************************************************************************/
   10001 
   10002 xcb_void_cookie_t
   10003 xcb_warp_pointer_checked (xcb_connection_t *c  /**< */,
   10004                           xcb_window_t      src_window  /**< */,
   10005                           xcb_window_t      dst_window  /**< */,
   10006                           int16_t           src_x  /**< */,
   10007                           int16_t           src_y  /**< */,
   10008                           uint16_t          src_width  /**< */,
   10009                           uint16_t          src_height  /**< */,
   10010                           int16_t           dst_x  /**< */,
   10011                           int16_t           dst_y  /**< */);
   10012 
   10013 /**
   10014  * @brief move mouse pointer
   10015  *
   10016  * @param c The connection
   10017  * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
   10018  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
   10019  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
   10020  * \a src_window.
   10021  * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
   10022  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
   10023  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
   10024  * relative to the current position of the pointer.
   10025  * @return A cookie
   10026  *
   10027  * Moves the mouse pointer to the specified position.
   10028  *
   10029  * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
   10030  * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
   10031  * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
   10032  * \a src_window.
   10033  *
   10034  * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
   10035  * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
   10036  * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
   10037  * relative to the current position of the pointer.
   10038  *
   10039  */
   10040 
   10041 /*****************************************************************************
   10042  **
   10043  ** xcb_void_cookie_t xcb_warp_pointer
   10044  **
   10045  ** @param xcb_connection_t *c
   10046  ** @param xcb_window_t      src_window
   10047  ** @param xcb_window_t      dst_window
   10048  ** @param int16_t           src_x
   10049  ** @param int16_t           src_y
   10050  ** @param uint16_t          src_width
   10051  ** @param uint16_t          src_height
   10052  ** @param int16_t           dst_x
   10053  ** @param int16_t           dst_y
   10054  ** @returns xcb_void_cookie_t
   10055  **
   10056  *****************************************************************************/
   10057 
   10058 xcb_void_cookie_t
   10059 xcb_warp_pointer (xcb_connection_t *c  /**< */,
   10060                   xcb_window_t      src_window  /**< */,
   10061                   xcb_window_t      dst_window  /**< */,
   10062                   int16_t           src_x  /**< */,
   10063                   int16_t           src_y  /**< */,
   10064                   uint16_t          src_width  /**< */,
   10065                   uint16_t          src_height  /**< */,
   10066                   int16_t           dst_x  /**< */,
   10067                   int16_t           dst_y  /**< */);
   10068 
   10069 /**
   10070  * @brief Sets input focus
   10071  *
   10072  * @param c The connection
   10073  * @param revert_to A bitmask of #xcb_input_focus_t values.
   10074  * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
   10075  * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
   10076  * @param focus The window to focus. All keyboard events will be reported to this window. The
   10077  * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
   10078  * \n
   10079  * If \a focus is `XCB_NONE` (TODO), all keyboard events are
   10080  * discarded until a new focus window is set.
   10081  * \n
   10082  * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
   10083  * screen on which the pointer is on currently.
   10084  * @param time Timestamp to avoid race conditions when running X over the network.
   10085  * \n
   10086  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   10087  * time.
   10088  * @return A cookie
   10089  *
   10090  * Changes the input focus and the last-focus-change time. If the specified \a time
   10091  * is earlier than the current last-focus-change time, the request is ignored (to
   10092  * avoid race conditions when running X over the network).
   10093  *
   10094  * A FocusIn and FocusOut event is generated when focus is changed.
   10095  *
   10096  * This form can be used only if the request will not cause
   10097  * a reply to be generated. Any returned error will be
   10098  * saved for handling by xcb_request_check().
   10099  */
   10100 
   10101 /*****************************************************************************
   10102  **
   10103  ** xcb_void_cookie_t xcb_set_input_focus_checked
   10104  **
   10105  ** @param xcb_connection_t *c
   10106  ** @param uint8_t           revert_to
   10107  ** @param xcb_window_t      focus
   10108  ** @param xcb_timestamp_t   time
   10109  ** @returns xcb_void_cookie_t
   10110  **
   10111  *****************************************************************************/
   10112 
   10113 xcb_void_cookie_t
   10114 xcb_set_input_focus_checked (xcb_connection_t *c  /**< */,
   10115                              uint8_t           revert_to  /**< */,
   10116                              xcb_window_t      focus  /**< */,
   10117                              xcb_timestamp_t   time  /**< */);
   10118 
   10119 /**
   10120  * @brief Sets input focus
   10121  *
   10122  * @param c The connection
   10123  * @param revert_to A bitmask of #xcb_input_focus_t values.
   10124  * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
   10125  * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
   10126  * @param focus The window to focus. All keyboard events will be reported to this window. The
   10127  * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
   10128  * \n
   10129  * If \a focus is `XCB_NONE` (TODO), all keyboard events are
   10130  * discarded until a new focus window is set.
   10131  * \n
   10132  * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
   10133  * screen on which the pointer is on currently.
   10134  * @param time Timestamp to avoid race conditions when running X over the network.
   10135  * \n
   10136  * The special value `XCB_CURRENT_TIME` will be replaced with the current server
   10137  * time.
   10138  * @return A cookie
   10139  *
   10140  * Changes the input focus and the last-focus-change time. If the specified \a time
   10141  * is earlier than the current last-focus-change time, the request is ignored (to
   10142  * avoid race conditions when running X over the network).
   10143  *
   10144  * A FocusIn and FocusOut event is generated when focus is changed.
   10145  *
   10146  */
   10147 
   10148 /*****************************************************************************
   10149  **
   10150  ** xcb_void_cookie_t xcb_set_input_focus
   10151  **
   10152  ** @param xcb_connection_t *c
   10153  ** @param uint8_t           revert_to
   10154  ** @param xcb_window_t      focus
   10155  ** @param xcb_timestamp_t   time
   10156  ** @returns xcb_void_cookie_t
   10157  **
   10158  *****************************************************************************/
   10159 
   10160 xcb_void_cookie_t
   10161 xcb_set_input_focus (xcb_connection_t *c  /**< */,
   10162                      uint8_t           revert_to  /**< */,
   10163                      xcb_window_t      focus  /**< */,
   10164                      xcb_timestamp_t   time  /**< */);
   10165 
   10166 /**
   10167  *
   10168  * @param c The connection
   10169  * @return A cookie
   10170  *
   10171  * Delivers a request to the X server.
   10172  *
   10173  */
   10174 
   10175 /*****************************************************************************
   10176  **
   10177  ** xcb_get_input_focus_cookie_t xcb_get_input_focus
   10178  **
   10179  ** @param xcb_connection_t *c
   10180  ** @returns xcb_get_input_focus_cookie_t
   10181  **
   10182  *****************************************************************************/
   10183 
   10184 xcb_get_input_focus_cookie_t
   10185 xcb_get_input_focus (xcb_connection_t *c  /**< */);
   10186 
   10187 /**
   10188  *
   10189  * @param c The connection
   10190  * @return A cookie
   10191  *
   10192  * Delivers a request to the X server.
   10193  *
   10194  * This form can be used only if the request will cause
   10195  * a reply to be generated. Any returned error will be
   10196  * placed in the event queue.
   10197  */
   10198 
   10199 /*****************************************************************************
   10200  **
   10201  ** xcb_get_input_focus_cookie_t xcb_get_input_focus_unchecked
   10202  **
   10203  ** @param xcb_connection_t *c
   10204  ** @returns xcb_get_input_focus_cookie_t
   10205  **
   10206  *****************************************************************************/
   10207 
   10208 xcb_get_input_focus_cookie_t
   10209 xcb_get_input_focus_unchecked (xcb_connection_t *c  /**< */);
   10210 
   10211 /**
   10212  * Return the reply
   10213  * @param c      The connection
   10214  * @param cookie The cookie
   10215  * @param e      The xcb_generic_error_t supplied
   10216  *
   10217  * Returns the reply of the request asked by
   10218  *
   10219  * The parameter @p e supplied to this function must be NULL if
   10220  * xcb_get_input_focus_unchecked(). is used.
   10221  * Otherwise, it stores the error if any.
   10222  *
   10223  * The returned value must be freed by the caller using free().
   10224  */
   10225 
   10226 /*****************************************************************************
   10227  **
   10228  ** xcb_get_input_focus_reply_t * xcb_get_input_focus_reply
   10229  **
   10230  ** @param xcb_connection_t              *c
   10231  ** @param xcb_get_input_focus_cookie_t   cookie
   10232  ** @param xcb_generic_error_t          **e
   10233  ** @returns xcb_get_input_focus_reply_t *
   10234  **
   10235  *****************************************************************************/
   10236 
   10237 xcb_get_input_focus_reply_t *
   10238 xcb_get_input_focus_reply (xcb_connection_t              *c  /**< */,
   10239                            xcb_get_input_focus_cookie_t   cookie  /**< */,
   10240                            xcb_generic_error_t          **e  /**< */);
   10241 
   10242 /**
   10243  *
   10244  * @param c The connection
   10245  * @return A cookie
   10246  *
   10247  * Delivers a request to the X server.
   10248  *
   10249  */
   10250 
   10251 /*****************************************************************************
   10252  **
   10253  ** xcb_query_keymap_cookie_t xcb_query_keymap
   10254  **
   10255  ** @param xcb_connection_t *c
   10256  ** @returns xcb_query_keymap_cookie_t
   10257  **
   10258  *****************************************************************************/
   10259 
   10260 xcb_query_keymap_cookie_t
   10261 xcb_query_keymap (xcb_connection_t *c  /**< */);
   10262 
   10263 /**
   10264  *
   10265  * @param c The connection
   10266  * @return A cookie
   10267  *
   10268  * Delivers a request to the X server.
   10269  *
   10270  * This form can be used only if the request will cause
   10271  * a reply to be generated. Any returned error will be
   10272  * placed in the event queue.
   10273  */
   10274 
   10275 /*****************************************************************************
   10276  **
   10277  ** xcb_query_keymap_cookie_t xcb_query_keymap_unchecked
   10278  **
   10279  ** @param xcb_connection_t *c
   10280  ** @returns xcb_query_keymap_cookie_t
   10281  **
   10282  *****************************************************************************/
   10283 
   10284 xcb_query_keymap_cookie_t
   10285 xcb_query_keymap_unchecked (xcb_connection_t *c  /**< */);
   10286 
   10287 /**
   10288  * Return the reply
   10289  * @param c      The connection
   10290  * @param cookie The cookie
   10291  * @param e      The xcb_generic_error_t supplied
   10292  *
   10293  * Returns the reply of the request asked by
   10294  *
   10295  * The parameter @p e supplied to this function must be NULL if
   10296  * xcb_query_keymap_unchecked(). is used.
   10297  * Otherwise, it stores the error if any.
   10298  *
   10299  * The returned value must be freed by the caller using free().
   10300  */
   10301 
   10302 /*****************************************************************************
   10303  **
   10304  ** xcb_query_keymap_reply_t * xcb_query_keymap_reply
   10305  **
   10306  ** @param xcb_connection_t           *c
   10307  ** @param xcb_query_keymap_cookie_t   cookie
   10308  ** @param xcb_generic_error_t       **e
   10309  ** @returns xcb_query_keymap_reply_t *
   10310  **
   10311  *****************************************************************************/
   10312 
   10313 xcb_query_keymap_reply_t *
   10314 xcb_query_keymap_reply (xcb_connection_t           *c  /**< */,
   10315                         xcb_query_keymap_cookie_t   cookie  /**< */,
   10316                         xcb_generic_error_t       **e  /**< */);
   10317 
   10318 int
   10319 xcb_open_font_sizeof (const void  *_buffer  /**< */);
   10320 
   10321 /**
   10322  * @brief opens a font
   10323  *
   10324  * @param c The connection
   10325  * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
   10326  * @param name_len Length (in bytes) of \a name.
   10327  * @param name A pattern describing an X core font.
   10328  * @return A cookie
   10329  *
   10330  * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
   10331  *
   10332  * Note that X core fonts are deprecated (but still supported) in favor of
   10333  * client-side rendering using Xft.
   10334  *
   10335  * This form can be used only if the request will not cause
   10336  * a reply to be generated. Any returned error will be
   10337  * saved for handling by xcb_request_check().
   10338  */
   10339 
   10340 /*****************************************************************************
   10341  **
   10342  ** xcb_void_cookie_t xcb_open_font_checked
   10343  **
   10344  ** @param xcb_connection_t *c
   10345  ** @param xcb_font_t        fid
   10346  ** @param uint16_t          name_len
   10347  ** @param const char       *name
   10348  ** @returns xcb_void_cookie_t
   10349  **
   10350  *****************************************************************************/
   10351 
   10352 xcb_void_cookie_t
   10353 xcb_open_font_checked (xcb_connection_t *c  /**< */,
   10354                        xcb_font_t        fid  /**< */,
   10355                        uint16_t          name_len  /**< */,
   10356                        const char       *name  /**< */);
   10357 
   10358 /**
   10359  * @brief opens a font
   10360  *
   10361  * @param c The connection
   10362  * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
   10363  * @param name_len Length (in bytes) of \a name.
   10364  * @param name A pattern describing an X core font.
   10365  * @return A cookie
   10366  *
   10367  * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
   10368  *
   10369  * Note that X core fonts are deprecated (but still supported) in favor of
   10370  * client-side rendering using Xft.
   10371  *
   10372  */
   10373 
   10374 /*****************************************************************************
   10375  **
   10376  ** xcb_void_cookie_t xcb_open_font
   10377  **
   10378  ** @param xcb_connection_t *c
   10379  ** @param xcb_font_t        fid
   10380  ** @param uint16_t          name_len
   10381  ** @param const char       *name
   10382  ** @returns xcb_void_cookie_t
   10383  **
   10384  *****************************************************************************/
   10385 
   10386 xcb_void_cookie_t
   10387 xcb_open_font (xcb_connection_t *c  /**< */,
   10388                xcb_font_t        fid  /**< */,
   10389                uint16_t          name_len  /**< */,
   10390                const char       *name  /**< */);
   10391 
   10392 /**
   10393  *
   10394  * @param c The connection
   10395  * @return A cookie
   10396  *
   10397  * Delivers a request to the X server.
   10398  *
   10399  * This form can be used only if the request will not cause
   10400  * a reply to be generated. Any returned error will be
   10401  * saved for handling by xcb_request_check().
   10402  */
   10403 
   10404 /*****************************************************************************
   10405  **
   10406  ** xcb_void_cookie_t xcb_close_font_checked
   10407  **
   10408  ** @param xcb_connection_t *c
   10409  ** @param xcb_font_t        font
   10410  ** @returns xcb_void_cookie_t
   10411  **
   10412  *****************************************************************************/
   10413 
   10414 xcb_void_cookie_t
   10415 xcb_close_font_checked (xcb_connection_t *c  /**< */,
   10416                         xcb_font_t        font  /**< */);
   10417 
   10418 /**
   10419  *
   10420  * @param c The connection
   10421  * @return A cookie
   10422  *
   10423  * Delivers a request to the X server.
   10424  *
   10425  */
   10426 
   10427 /*****************************************************************************
   10428  **
   10429  ** xcb_void_cookie_t xcb_close_font
   10430  **
   10431  ** @param xcb_connection_t *c
   10432  ** @param xcb_font_t        font
   10433  ** @returns xcb_void_cookie_t
   10434  **
   10435  *****************************************************************************/
   10436 
   10437 xcb_void_cookie_t
   10438 xcb_close_font (xcb_connection_t *c  /**< */,
   10439                 xcb_font_t        font  /**< */);
   10440 
   10441 /**
   10442  * Get the next element of the iterator
   10443  * @param i Pointer to a xcb_fontprop_iterator_t
   10444  *
   10445  * Get the next element in the iterator. The member rem is
   10446  * decreased by one. The member data points to the next
   10447  * element. The member index is increased by sizeof(xcb_fontprop_t)
   10448  */
   10449 
   10450 /*****************************************************************************
   10451  **
   10452  ** void xcb_fontprop_next
   10453  **
   10454  ** @param xcb_fontprop_iterator_t *i
   10455  ** @returns void
   10456  **
   10457  *****************************************************************************/
   10458 
   10459 void
   10460 xcb_fontprop_next (xcb_fontprop_iterator_t *i  /**< */);
   10461 
   10462 /**
   10463  * Return the iterator pointing to the last element
   10464  * @param i An xcb_fontprop_iterator_t
   10465  * @return  The iterator pointing to the last element
   10466  *
   10467  * Set the current element in the iterator to the last element.
   10468  * The member rem is set to 0. The member data points to the
   10469  * last element.
   10470  */
   10471 
   10472 /*****************************************************************************
   10473  **
   10474  ** xcb_generic_iterator_t xcb_fontprop_end
   10475  **
   10476  ** @param xcb_fontprop_iterator_t i
   10477  ** @returns xcb_generic_iterator_t
   10478  **
   10479  *****************************************************************************/
   10480 
   10481 xcb_generic_iterator_t
   10482 xcb_fontprop_end (xcb_fontprop_iterator_t i  /**< */);
   10483 
   10484 /**
   10485  * Get the next element of the iterator
   10486  * @param i Pointer to a xcb_charinfo_iterator_t
   10487  *
   10488  * Get the next element in the iterator. The member rem is
   10489  * decreased by one. The member data points to the next
   10490  * element. The member index is increased by sizeof(xcb_charinfo_t)
   10491  */
   10492 
   10493 /*****************************************************************************
   10494  **
   10495  ** void xcb_charinfo_next
   10496  **
   10497  ** @param xcb_charinfo_iterator_t *i
   10498  ** @returns void
   10499  **
   10500  *****************************************************************************/
   10501 
   10502 void
   10503 xcb_charinfo_next (xcb_charinfo_iterator_t *i  /**< */);
   10504 
   10505 /**
   10506  * Return the iterator pointing to the last element
   10507  * @param i An xcb_charinfo_iterator_t
   10508  * @return  The iterator pointing to the last element
   10509  *
   10510  * Set the current element in the iterator to the last element.
   10511  * The member rem is set to 0. The member data points to the
   10512  * last element.
   10513  */
   10514 
   10515 /*****************************************************************************
   10516  **
   10517  ** xcb_generic_iterator_t xcb_charinfo_end
   10518  **
   10519  ** @param xcb_charinfo_iterator_t i
   10520  ** @returns xcb_generic_iterator_t
   10521  **
   10522  *****************************************************************************/
   10523 
   10524 xcb_generic_iterator_t
   10525 xcb_charinfo_end (xcb_charinfo_iterator_t i  /**< */);
   10526 
   10527 int
   10528 xcb_query_font_sizeof (const void  *_buffer  /**< */);
   10529 
   10530 /**
   10531  * @brief query font metrics
   10532  *
   10533  * @param c The connection
   10534  * @param font The fontable (Font or Graphics Context) to query.
   10535  * @return A cookie
   10536  *
   10537  * Queries information associated with the font.
   10538  *
   10539  */
   10540 
   10541 /*****************************************************************************
   10542  **
   10543  ** xcb_query_font_cookie_t xcb_query_font
   10544  **
   10545  ** @param xcb_connection_t *c
   10546  ** @param xcb_fontable_t    font
   10547  ** @returns xcb_query_font_cookie_t
   10548  **
   10549  *****************************************************************************/
   10550 
   10551 xcb_query_font_cookie_t
   10552 xcb_query_font (xcb_connection_t *c  /**< */,
   10553                 xcb_fontable_t    font  /**< */);
   10554 
   10555 /**
   10556  * @brief query font metrics
   10557  *
   10558  * @param c The connection
   10559  * @param font The fontable (Font or Graphics Context) to query.
   10560  * @return A cookie
   10561  *
   10562  * Queries information associated with the font.
   10563  *
   10564  * This form can be used only if the request will cause
   10565  * a reply to be generated. Any returned error will be
   10566  * placed in the event queue.
   10567  */
   10568 
   10569 /*****************************************************************************
   10570  **
   10571  ** xcb_query_font_cookie_t xcb_query_font_unchecked
   10572  **
   10573  ** @param xcb_connection_t *c
   10574  ** @param xcb_fontable_t    font
   10575  ** @returns xcb_query_font_cookie_t
   10576  **
   10577  *****************************************************************************/
   10578 
   10579 xcb_query_font_cookie_t
   10580 xcb_query_font_unchecked (xcb_connection_t *c  /**< */,
   10581                           xcb_fontable_t    font  /**< */);
   10582 
   10583 
   10584 /*****************************************************************************
   10585  **
   10586  ** xcb_fontprop_t * xcb_query_font_properties
   10587  **
   10588  ** @param const xcb_query_font_reply_t *R
   10589  ** @returns xcb_fontprop_t *
   10590  **
   10591  *****************************************************************************/
   10592 
   10593 xcb_fontprop_t *
   10594 xcb_query_font_properties (const xcb_query_font_reply_t *R  /**< */);
   10595 
   10596 
   10597 /*****************************************************************************
   10598  **
   10599  ** int xcb_query_font_properties_length
   10600  **
   10601  ** @param const xcb_query_font_reply_t *R
   10602  ** @returns int
   10603  **
   10604  *****************************************************************************/
   10605 
   10606 int
   10607 xcb_query_font_properties_length (const xcb_query_font_reply_t *R  /**< */);
   10608 
   10609 
   10610 /*****************************************************************************
   10611  **
   10612  ** xcb_fontprop_iterator_t xcb_query_font_properties_iterator
   10613  **
   10614  ** @param const xcb_query_font_reply_t *R
   10615  ** @returns xcb_fontprop_iterator_t
   10616  **
   10617  *****************************************************************************/
   10618 
   10619 xcb_fontprop_iterator_t
   10620 xcb_query_font_properties_iterator (const xcb_query_font_reply_t *R  /**< */);
   10621 
   10622 
   10623 /*****************************************************************************
   10624  **
   10625  ** xcb_charinfo_t * xcb_query_font_char_infos
   10626  **
   10627  ** @param const xcb_query_font_reply_t *R
   10628  ** @returns xcb_charinfo_t *
   10629  **
   10630  *****************************************************************************/
   10631 
   10632 xcb_charinfo_t *
   10633 xcb_query_font_char_infos (const xcb_query_font_reply_t *R  /**< */);
   10634 
   10635 
   10636 /*****************************************************************************
   10637  **
   10638  ** int xcb_query_font_char_infos_length
   10639  **
   10640  ** @param const xcb_query_font_reply_t *R
   10641  ** @returns int
   10642  **
   10643  *****************************************************************************/
   10644 
   10645 int
   10646 xcb_query_font_char_infos_length (const xcb_query_font_reply_t *R  /**< */);
   10647 
   10648 
   10649 /*****************************************************************************
   10650  **
   10651  ** xcb_charinfo_iterator_t xcb_query_font_char_infos_iterator
   10652  **
   10653  ** @param const xcb_query_font_reply_t *R
   10654  ** @returns xcb_charinfo_iterator_t
   10655  **
   10656  *****************************************************************************/
   10657 
   10658 xcb_charinfo_iterator_t
   10659 xcb_query_font_char_infos_iterator (const xcb_query_font_reply_t *R  /**< */);
   10660 
   10661 /**
   10662  * Return the reply
   10663  * @param c      The connection
   10664  * @param cookie The cookie
   10665  * @param e      The xcb_generic_error_t supplied
   10666  *
   10667  * Returns the reply of the request asked by
   10668  *
   10669  * The parameter @p e supplied to this function must be NULL if
   10670  * xcb_query_font_unchecked(). is used.
   10671  * Otherwise, it stores the error if any.
   10672  *
   10673  * The returned value must be freed by the caller using free().
   10674  */
   10675 
   10676 /*****************************************************************************
   10677  **
   10678  ** xcb_query_font_reply_t * xcb_query_font_reply
   10679  **
   10680  ** @param xcb_connection_t         *c
   10681  ** @param xcb_query_font_cookie_t   cookie
   10682  ** @param xcb_generic_error_t     **e
   10683  ** @returns xcb_query_font_reply_t *
   10684  **
   10685  *****************************************************************************/
   10686 
   10687 xcb_query_font_reply_t *
   10688 xcb_query_font_reply (xcb_connection_t         *c  /**< */,
   10689                       xcb_query_font_cookie_t   cookie  /**< */,
   10690                       xcb_generic_error_t     **e  /**< */);
   10691 
   10692 int
   10693 xcb_query_text_extents_sizeof (const void  *_buffer  /**< */,
   10694                                uint32_t     string_len  /**< */);
   10695 
   10696 /**
   10697  * @brief get text extents
   10698  *
   10699  * @param c The connection
   10700  * @param font The \a font to calculate text extents in. You can also pass a graphics context.
   10701  * @param string_len The number of characters in \a string.
   10702  * @param string The text to get text extents for.
   10703  * @return A cookie
   10704  *
   10705  * Query text extents from the X11 server. This request returns the bounding box
   10706  * of the specified 16-bit character string in the specified \a font or the font
   10707  * contained in the specified graphics context.
   10708  *
   10709  * `font_ascent` is set to the maximum of the ascent metrics of all characters in
   10710  * the string. `font_descent` is set to the maximum of the descent metrics.
   10711  * `overall_width` is set to the sum of the character-width metrics of all
   10712  * characters in the string. For each character in the string, let W be the sum of
   10713  * the character-width metrics of all characters preceding it in the string. Let L
   10714  * be the left-side-bearing metric of the character plus W. Let R be the
   10715  * right-side-bearing metric of the character plus W. The lbearing member is set
   10716  * to the minimum L of all characters in the string. The rbearing member is set to
   10717  * the maximum R.
   10718  *
   10719  * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
   10720  * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
   10721  * most significant byte. If the font has no defined default character, undefined
   10722  * characters in the string are taken to have all zero metrics.
   10723  *
   10724  * Characters with all zero metrics are ignored. If the font has no defined
   10725  * default_char, the undefined characters in the string are also ignored.
   10726  *
   10727  */
   10728 
   10729 /*****************************************************************************
   10730  **
   10731  ** xcb_query_text_extents_cookie_t xcb_query_text_extents
   10732  **
   10733  ** @param xcb_connection_t   *c
   10734  ** @param xcb_fontable_t      font
   10735  ** @param uint32_t            string_len
   10736  ** @param const xcb_char2b_t *string
   10737  ** @returns xcb_query_text_extents_cookie_t
   10738  **
   10739  *****************************************************************************/
   10740 
   10741 xcb_query_text_extents_cookie_t
   10742 xcb_query_text_extents (xcb_connection_t   *c  /**< */,
   10743                         xcb_fontable_t      font  /**< */,
   10744                         uint32_t            string_len  /**< */,
   10745                         const xcb_char2b_t *string  /**< */);
   10746 
   10747 /**
   10748  * @brief get text extents
   10749  *
   10750  * @param c The connection
   10751  * @param font The \a font to calculate text extents in. You can also pass a graphics context.
   10752  * @param string_len The number of characters in \a string.
   10753  * @param string The text to get text extents for.
   10754  * @return A cookie
   10755  *
   10756  * Query text extents from the X11 server. This request returns the bounding box
   10757  * of the specified 16-bit character string in the specified \a font or the font
   10758  * contained in the specified graphics context.
   10759  *
   10760  * `font_ascent` is set to the maximum of the ascent metrics of all characters in
   10761  * the string. `font_descent` is set to the maximum of the descent metrics.
   10762  * `overall_width` is set to the sum of the character-width metrics of all
   10763  * characters in the string. For each character in the string, let W be the sum of
   10764  * the character-width metrics of all characters preceding it in the string. Let L
   10765  * be the left-side-bearing metric of the character plus W. Let R be the
   10766  * right-side-bearing metric of the character plus W. The lbearing member is set
   10767  * to the minimum L of all characters in the string. The rbearing member is set to
   10768  * the maximum R.
   10769  *
   10770  * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
   10771  * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
   10772  * most significant byte. If the font has no defined default character, undefined
   10773  * characters in the string are taken to have all zero metrics.
   10774  *
   10775  * Characters with all zero metrics are ignored. If the font has no defined
   10776  * default_char, the undefined characters in the string are also ignored.
   10777  *
   10778  * This form can be used only if the request will cause
   10779  * a reply to be generated. Any returned error will be
   10780  * placed in the event queue.
   10781  */
   10782 
   10783 /*****************************************************************************
   10784  **
   10785  ** xcb_query_text_extents_cookie_t xcb_query_text_extents_unchecked
   10786  **
   10787  ** @param xcb_connection_t   *c
   10788  ** @param xcb_fontable_t      font
   10789  ** @param uint32_t            string_len
   10790  ** @param const xcb_char2b_t *string
   10791  ** @returns xcb_query_text_extents_cookie_t
   10792  **
   10793  *****************************************************************************/
   10794 
   10795 xcb_query_text_extents_cookie_t
   10796 xcb_query_text_extents_unchecked (xcb_connection_t   *c  /**< */,
   10797                                   xcb_fontable_t      font  /**< */,
   10798                                   uint32_t            string_len  /**< */,
   10799                                   const xcb_char2b_t *string  /**< */);
   10800 
   10801 /**
   10802  * Return the reply
   10803  * @param c      The connection
   10804  * @param cookie The cookie
   10805  * @param e      The xcb_generic_error_t supplied
   10806  *
   10807  * Returns the reply of the request asked by
   10808  *
   10809  * The parameter @p e supplied to this function must be NULL if
   10810  * xcb_query_text_extents_unchecked(). is used.
   10811  * Otherwise, it stores the error if any.
   10812  *
   10813  * The returned value must be freed by the caller using free().
   10814  */
   10815 
   10816 /*****************************************************************************
   10817  **
   10818  ** xcb_query_text_extents_reply_t * xcb_query_text_extents_reply
   10819  **
   10820  ** @param xcb_connection_t                 *c
   10821  ** @param xcb_query_text_extents_cookie_t   cookie
   10822  ** @param xcb_generic_error_t             **e
   10823  ** @returns xcb_query_text_extents_reply_t *
   10824  **
   10825  *****************************************************************************/
   10826 
   10827 xcb_query_text_extents_reply_t *
   10828 xcb_query_text_extents_reply (xcb_connection_t                 *c  /**< */,
   10829                               xcb_query_text_extents_cookie_t   cookie  /**< */,
   10830                               xcb_generic_error_t             **e  /**< */);
   10831 
   10832 int
   10833 xcb_str_sizeof (const void  *_buffer  /**< */);
   10834 
   10835 
   10836 /*****************************************************************************
   10837  **
   10838  ** char * xcb_str_name
   10839  **
   10840  ** @param const xcb_str_t *R
   10841  ** @returns char *
   10842  **
   10843  *****************************************************************************/
   10844 
   10845 char *
   10846 xcb_str_name (const xcb_str_t *R  /**< */);
   10847 
   10848 
   10849 /*****************************************************************************
   10850  **
   10851  ** int xcb_str_name_length
   10852  **
   10853  ** @param const xcb_str_t *R
   10854  ** @returns int
   10855  **
   10856  *****************************************************************************/
   10857 
   10858 int
   10859 xcb_str_name_length (const xcb_str_t *R  /**< */);
   10860 
   10861 
   10862 /*****************************************************************************
   10863  **
   10864  ** xcb_generic_iterator_t xcb_str_name_end
   10865  **
   10866  ** @param const xcb_str_t *R
   10867  ** @returns xcb_generic_iterator_t
   10868  **
   10869  *****************************************************************************/
   10870 
   10871 xcb_generic_iterator_t
   10872 xcb_str_name_end (const xcb_str_t *R  /**< */);
   10873 
   10874 /**
   10875  * Get the next element of the iterator
   10876  * @param i Pointer to a xcb_str_iterator_t
   10877  *
   10878  * Get the next element in the iterator. The member rem is
   10879  * decreased by one. The member data points to the next
   10880  * element. The member index is increased by sizeof(xcb_str_t)
   10881  */
   10882 
   10883 /*****************************************************************************
   10884  **
   10885  ** void xcb_str_next
   10886  **
   10887  ** @param xcb_str_iterator_t *i
   10888  ** @returns void
   10889  **
   10890  *****************************************************************************/
   10891 
   10892 void
   10893 xcb_str_next (xcb_str_iterator_t *i  /**< */);
   10894 
   10895 /**
   10896  * Return the iterator pointing to the last element
   10897  * @param i An xcb_str_iterator_t
   10898  * @return  The iterator pointing to the last element
   10899  *
   10900  * Set the current element in the iterator to the last element.
   10901  * The member rem is set to 0. The member data points to the
   10902  * last element.
   10903  */
   10904 
   10905 /*****************************************************************************
   10906  **
   10907  ** xcb_generic_iterator_t xcb_str_end
   10908  **
   10909  ** @param xcb_str_iterator_t i
   10910  ** @returns xcb_generic_iterator_t
   10911  **
   10912  *****************************************************************************/
   10913 
   10914 xcb_generic_iterator_t
   10915 xcb_str_end (xcb_str_iterator_t i  /**< */);
   10916 
   10917 int
   10918 xcb_list_fonts_sizeof (const void  *_buffer  /**< */);
   10919 
   10920 /**
   10921  * @brief get matching font names
   10922  *
   10923  * @param c The connection
   10924  * @param max_names The maximum number of fonts to be returned.
   10925  * @param pattern_len The length (in bytes) of \a pattern.
   10926  * @param pattern A font pattern, for example "-misc-fixed-*".
   10927  * \n
   10928  * The asterisk (*) is a wildcard for any number of characters. The question mark
   10929  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
   10930  * not matter.
   10931  * @return A cookie
   10932  *
   10933  * Gets a list of available font names which match the given \a pattern.
   10934  *
   10935  */
   10936 
   10937 /*****************************************************************************
   10938  **
   10939  ** xcb_list_fonts_cookie_t xcb_list_fonts
   10940  **
   10941  ** @param xcb_connection_t *c
   10942  ** @param uint16_t          max_names
   10943  ** @param uint16_t          pattern_len
   10944  ** @param const char       *pattern
   10945  ** @returns xcb_list_fonts_cookie_t
   10946  **
   10947  *****************************************************************************/
   10948 
   10949 xcb_list_fonts_cookie_t
   10950 xcb_list_fonts (xcb_connection_t *c  /**< */,
   10951                 uint16_t          max_names  /**< */,
   10952                 uint16_t          pattern_len  /**< */,
   10953                 const char       *pattern  /**< */);
   10954 
   10955 /**
   10956  * @brief get matching font names
   10957  *
   10958  * @param c The connection
   10959  * @param max_names The maximum number of fonts to be returned.
   10960  * @param pattern_len The length (in bytes) of \a pattern.
   10961  * @param pattern A font pattern, for example "-misc-fixed-*".
   10962  * \n
   10963  * The asterisk (*) is a wildcard for any number of characters. The question mark
   10964  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
   10965  * not matter.
   10966  * @return A cookie
   10967  *
   10968  * Gets a list of available font names which match the given \a pattern.
   10969  *
   10970  * This form can be used only if the request will cause
   10971  * a reply to be generated. Any returned error will be
   10972  * placed in the event queue.
   10973  */
   10974 
   10975 /*****************************************************************************
   10976  **
   10977  ** xcb_list_fonts_cookie_t xcb_list_fonts_unchecked
   10978  **
   10979  ** @param xcb_connection_t *c
   10980  ** @param uint16_t          max_names
   10981  ** @param uint16_t          pattern_len
   10982  ** @param const char       *pattern
   10983  ** @returns xcb_list_fonts_cookie_t
   10984  **
   10985  *****************************************************************************/
   10986 
   10987 xcb_list_fonts_cookie_t
   10988 xcb_list_fonts_unchecked (xcb_connection_t *c  /**< */,
   10989                           uint16_t          max_names  /**< */,
   10990                           uint16_t          pattern_len  /**< */,
   10991                           const char       *pattern  /**< */);
   10992 
   10993 
   10994 /*****************************************************************************
   10995  **
   10996  ** int xcb_list_fonts_names_length
   10997  **
   10998  ** @param const xcb_list_fonts_reply_t *R
   10999  ** @returns int
   11000  **
   11001  *****************************************************************************/
   11002 
   11003 int
   11004 xcb_list_fonts_names_length (const xcb_list_fonts_reply_t *R  /**< */);
   11005 
   11006 
   11007 /*****************************************************************************
   11008  **
   11009  ** xcb_str_iterator_t xcb_list_fonts_names_iterator
   11010  **
   11011  ** @param const xcb_list_fonts_reply_t *R
   11012  ** @returns xcb_str_iterator_t
   11013  **
   11014  *****************************************************************************/
   11015 
   11016 xcb_str_iterator_t
   11017 xcb_list_fonts_names_iterator (const xcb_list_fonts_reply_t *R  /**< */);
   11018 
   11019 /**
   11020  * Return the reply
   11021  * @param c      The connection
   11022  * @param cookie The cookie
   11023  * @param e      The xcb_generic_error_t supplied
   11024  *
   11025  * Returns the reply of the request asked by
   11026  *
   11027  * The parameter @p e supplied to this function must be NULL if
   11028  * xcb_list_fonts_unchecked(). is used.
   11029  * Otherwise, it stores the error if any.
   11030  *
   11031  * The returned value must be freed by the caller using free().
   11032  */
   11033 
   11034 /*****************************************************************************
   11035  **
   11036  ** xcb_list_fonts_reply_t * xcb_list_fonts_reply
   11037  **
   11038  ** @param xcb_connection_t         *c
   11039  ** @param xcb_list_fonts_cookie_t   cookie
   11040  ** @param xcb_generic_error_t     **e
   11041  ** @returns xcb_list_fonts_reply_t *
   11042  **
   11043  *****************************************************************************/
   11044 
   11045 xcb_list_fonts_reply_t *
   11046 xcb_list_fonts_reply (xcb_connection_t         *c  /**< */,
   11047                       xcb_list_fonts_cookie_t   cookie  /**< */,
   11048                       xcb_generic_error_t     **e  /**< */);
   11049 
   11050 int
   11051 xcb_list_fonts_with_info_sizeof (const void  *_buffer  /**< */);
   11052 
   11053 /**
   11054  * @brief get matching font names and information
   11055  *
   11056  * @param c The connection
   11057  * @param max_names The maximum number of fonts to be returned.
   11058  * @param pattern_len The length (in bytes) of \a pattern.
   11059  * @param pattern A font pattern, for example "-misc-fixed-*".
   11060  * \n
   11061  * The asterisk (*) is a wildcard for any number of characters. The question mark
   11062  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
   11063  * not matter.
   11064  * @return A cookie
   11065  *
   11066  * Gets a list of available font names which match the given \a pattern.
   11067  *
   11068  */
   11069 
   11070 /*****************************************************************************
   11071  **
   11072  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info
   11073  **
   11074  ** @param xcb_connection_t *c
   11075  ** @param uint16_t          max_names
   11076  ** @param uint16_t          pattern_len
   11077  ** @param const char       *pattern
   11078  ** @returns xcb_list_fonts_with_info_cookie_t
   11079  **
   11080  *****************************************************************************/
   11081 
   11082 xcb_list_fonts_with_info_cookie_t
   11083 xcb_list_fonts_with_info (xcb_connection_t *c  /**< */,
   11084                           uint16_t          max_names  /**< */,
   11085                           uint16_t          pattern_len  /**< */,
   11086                           const char       *pattern  /**< */);
   11087 
   11088 /**
   11089  * @brief get matching font names and information
   11090  *
   11091  * @param c The connection
   11092  * @param max_names The maximum number of fonts to be returned.
   11093  * @param pattern_len The length (in bytes) of \a pattern.
   11094  * @param pattern A font pattern, for example "-misc-fixed-*".
   11095  * \n
   11096  * The asterisk (*) is a wildcard for any number of characters. The question mark
   11097  * (?) is a wildcard for a single character. Use of uppercase or lowercase does
   11098  * not matter.
   11099  * @return A cookie
   11100  *
   11101  * Gets a list of available font names which match the given \a pattern.
   11102  *
   11103  * This form can be used only if the request will cause
   11104  * a reply to be generated. Any returned error will be
   11105  * placed in the event queue.
   11106  */
   11107 
   11108 /*****************************************************************************
   11109  **
   11110  ** xcb_list_fonts_with_info_cookie_t xcb_list_fonts_with_info_unchecked
   11111  **
   11112  ** @param xcb_connection_t *c
   11113  ** @param uint16_t          max_names
   11114  ** @param uint16_t          pattern_len
   11115  ** @param const char       *pattern
   11116  ** @returns xcb_list_fonts_with_info_cookie_t
   11117  **
   11118  *****************************************************************************/
   11119 
   11120 xcb_list_fonts_with_info_cookie_t
   11121 xcb_list_fonts_with_info_unchecked (xcb_connection_t *c  /**< */,
   11122                                     uint16_t          max_names  /**< */,
   11123                                     uint16_t          pattern_len  /**< */,
   11124                                     const char       *pattern  /**< */);
   11125 
   11126 
   11127 /*****************************************************************************
   11128  **
   11129  ** xcb_fontprop_t * xcb_list_fonts_with_info_properties
   11130  **
   11131  ** @param const xcb_list_fonts_with_info_reply_t *R
   11132  ** @returns xcb_fontprop_t *
   11133  **
   11134  *****************************************************************************/
   11135 
   11136 xcb_fontprop_t *
   11137 xcb_list_fonts_with_info_properties (const xcb_list_fonts_with_info_reply_t *R  /**< */);
   11138 
   11139 
   11140 /*****************************************************************************
   11141  **
   11142  ** int xcb_list_fonts_with_info_properties_length
   11143  **
   11144  ** @param const xcb_list_fonts_with_info_reply_t *R
   11145  ** @returns int
   11146  **
   11147  *****************************************************************************/
   11148 
   11149 int
   11150 xcb_list_fonts_with_info_properties_length (const xcb_list_fonts_with_info_reply_t *R  /**< */);
   11151 
   11152 
   11153 /*****************************************************************************
   11154  **
   11155  ** xcb_fontprop_iterator_t xcb_list_fonts_with_info_properties_iterator
   11156  **
   11157  ** @param const xcb_list_fonts_with_info_reply_t *R
   11158  ** @returns xcb_fontprop_iterator_t
   11159  **
   11160  *****************************************************************************/
   11161 
   11162 xcb_fontprop_iterator_t
   11163 xcb_list_fonts_with_info_properties_iterator (const xcb_list_fonts_with_info_reply_t *R  /**< */);
   11164 
   11165 
   11166 /*****************************************************************************
   11167  **
   11168  ** char * xcb_list_fonts_with_info_name
   11169  **
   11170  ** @param const xcb_list_fonts_with_info_reply_t *R
   11171  ** @returns char *
   11172  **
   11173  *****************************************************************************/
   11174 
   11175 char *
   11176 xcb_list_fonts_with_info_name (const xcb_list_fonts_with_info_reply_t *R  /**< */);
   11177 
   11178 
   11179 /*****************************************************************************
   11180  **
   11181  ** int xcb_list_fonts_with_info_name_length
   11182  **
   11183  ** @param const xcb_list_fonts_with_info_reply_t *R
   11184  ** @returns int
   11185  **
   11186  *****************************************************************************/
   11187 
   11188 int
   11189 xcb_list_fonts_with_info_name_length (const xcb_list_fonts_with_info_reply_t *R  /**< */);
   11190 
   11191 
   11192 /*****************************************************************************
   11193  **
   11194  ** xcb_generic_iterator_t xcb_list_fonts_with_info_name_end
   11195  **
   11196  ** @param const xcb_list_fonts_with_info_reply_t *R
   11197  ** @returns xcb_generic_iterator_t
   11198  **
   11199  *****************************************************************************/
   11200 
   11201 xcb_generic_iterator_t
   11202 xcb_list_fonts_with_info_name_end (const xcb_list_fonts_with_info_reply_t *R  /**< */);
   11203 
   11204 /**
   11205  * Return the reply
   11206  * @param c      The connection
   11207  * @param cookie The cookie
   11208  * @param e      The xcb_generic_error_t supplied
   11209  *
   11210  * Returns the reply of the request asked by
   11211  *
   11212  * The parameter @p e supplied to this function must be NULL if
   11213  * xcb_list_fonts_with_info_unchecked(). is used.
   11214  * Otherwise, it stores the error if any.
   11215  *
   11216  * The returned value must be freed by the caller using free().
   11217  */
   11218 
   11219 /*****************************************************************************
   11220  **
   11221  ** xcb_list_fonts_with_info_reply_t * xcb_list_fonts_with_info_reply
   11222  **
   11223  ** @param xcb_connection_t                   *c
   11224  ** @param xcb_list_fonts_with_info_cookie_t   cookie
   11225  ** @param xcb_generic_error_t               **e
   11226  ** @returns xcb_list_fonts_with_info_reply_t *
   11227  **
   11228  *****************************************************************************/
   11229 
   11230 xcb_list_fonts_with_info_reply_t *
   11231 xcb_list_fonts_with_info_reply (xcb_connection_t                   *c  /**< */,
   11232                                 xcb_list_fonts_with_info_cookie_t   cookie  /**< */,
   11233                                 xcb_generic_error_t               **e  /**< */);
   11234 
   11235 int
   11236 xcb_set_font_path_sizeof (const void  *_buffer  /**< */);
   11237 
   11238 /**
   11239  *
   11240  * @param c The connection
   11241  * @return A cookie
   11242  *
   11243  * Delivers a request to the X server.
   11244  *
   11245  * This form can be used only if the request will not cause
   11246  * a reply to be generated. Any returned error will be
   11247  * saved for handling by xcb_request_check().
   11248  */
   11249 
   11250 /*****************************************************************************
   11251  **
   11252  ** xcb_void_cookie_t xcb_set_font_path_checked
   11253  **
   11254  ** @param xcb_connection_t *c
   11255  ** @param uint16_t          font_qty
   11256  ** @param const xcb_str_t  *font
   11257  ** @returns xcb_void_cookie_t
   11258  **
   11259  *****************************************************************************/
   11260 
   11261 xcb_void_cookie_t
   11262 xcb_set_font_path_checked (xcb_connection_t *c  /**< */,
   11263                            uint16_t          font_qty  /**< */,
   11264                            const xcb_str_t  *font  /**< */);
   11265 
   11266 /**
   11267  *
   11268  * @param c The connection
   11269  * @return A cookie
   11270  *
   11271  * Delivers a request to the X server.
   11272  *
   11273  */
   11274 
   11275 /*****************************************************************************
   11276  **
   11277  ** xcb_void_cookie_t xcb_set_font_path
   11278  **
   11279  ** @param xcb_connection_t *c
   11280  ** @param uint16_t          font_qty
   11281  ** @param const xcb_str_t  *font
   11282  ** @returns xcb_void_cookie_t
   11283  **
   11284  *****************************************************************************/
   11285 
   11286 xcb_void_cookie_t
   11287 xcb_set_font_path (xcb_connection_t *c  /**< */,
   11288                    uint16_t          font_qty  /**< */,
   11289                    const xcb_str_t  *font  /**< */);
   11290 
   11291 int
   11292 xcb_get_font_path_sizeof (const void  *_buffer  /**< */);
   11293 
   11294 /**
   11295  *
   11296  * @param c The connection
   11297  * @return A cookie
   11298  *
   11299  * Delivers a request to the X server.
   11300  *
   11301  */
   11302 
   11303 /*****************************************************************************
   11304  **
   11305  ** xcb_get_font_path_cookie_t xcb_get_font_path
   11306  **
   11307  ** @param xcb_connection_t *c
   11308  ** @returns xcb_get_font_path_cookie_t
   11309  **
   11310  *****************************************************************************/
   11311 
   11312 xcb_get_font_path_cookie_t
   11313 xcb_get_font_path (xcb_connection_t *c  /**< */);
   11314 
   11315 /**
   11316  *
   11317  * @param c The connection
   11318  * @return A cookie
   11319  *
   11320  * Delivers a request to the X server.
   11321  *
   11322  * This form can be used only if the request will cause
   11323  * a reply to be generated. Any returned error will be
   11324  * placed in the event queue.
   11325  */
   11326 
   11327 /*****************************************************************************
   11328  **
   11329  ** xcb_get_font_path_cookie_t xcb_get_font_path_unchecked
   11330  **
   11331  ** @param xcb_connection_t *c
   11332  ** @returns xcb_get_font_path_cookie_t
   11333  **
   11334  *****************************************************************************/
   11335 
   11336 xcb_get_font_path_cookie_t
   11337 xcb_get_font_path_unchecked (xcb_connection_t *c  /**< */);
   11338 
   11339 
   11340 /*****************************************************************************
   11341  **
   11342  ** int xcb_get_font_path_path_length
   11343  **
   11344  ** @param const xcb_get_font_path_reply_t *R
   11345  ** @returns int
   11346  **
   11347  *****************************************************************************/
   11348 
   11349 int
   11350 xcb_get_font_path_path_length (const xcb_get_font_path_reply_t *R  /**< */);
   11351 
   11352 
   11353 /*****************************************************************************
   11354  **
   11355  ** xcb_str_iterator_t xcb_get_font_path_path_iterator
   11356  **
   11357  ** @param const xcb_get_font_path_reply_t *R
   11358  ** @returns xcb_str_iterator_t
   11359  **
   11360  *****************************************************************************/
   11361 
   11362 xcb_str_iterator_t
   11363 xcb_get_font_path_path_iterator (const xcb_get_font_path_reply_t *R  /**< */);
   11364 
   11365 /**
   11366  * Return the reply
   11367  * @param c      The connection
   11368  * @param cookie The cookie
   11369  * @param e      The xcb_generic_error_t supplied
   11370  *
   11371  * Returns the reply of the request asked by
   11372  *
   11373  * The parameter @p e supplied to this function must be NULL if
   11374  * xcb_get_font_path_unchecked(). is used.
   11375  * Otherwise, it stores the error if any.
   11376  *
   11377  * The returned value must be freed by the caller using free().
   11378  */
   11379 
   11380 /*****************************************************************************
   11381  **
   11382  ** xcb_get_font_path_reply_t * xcb_get_font_path_reply
   11383  **
   11384  ** @param xcb_connection_t            *c
   11385  ** @param xcb_get_font_path_cookie_t   cookie
   11386  ** @param xcb_generic_error_t        **e
   11387  ** @returns xcb_get_font_path_reply_t *
   11388  **
   11389  *****************************************************************************/
   11390 
   11391 xcb_get_font_path_reply_t *
   11392 xcb_get_font_path_reply (xcb_connection_t            *c  /**< */,
   11393                          xcb_get_font_path_cookie_t   cookie  /**< */,
   11394                          xcb_generic_error_t        **e  /**< */);
   11395 
   11396 /**
   11397  * @brief Creates a pixmap
   11398  *
   11399  * @param c The connection
   11400  * @param depth TODO
   11401  * @param pid The ID with which you will refer to the new pixmap, created by
   11402  * `xcb_generate_id`.
   11403  * @param drawable Drawable to get the screen from.
   11404  * @param width The width of the new pixmap.
   11405  * @param height The height of the new pixmap.
   11406  * @return A cookie
   11407  *
   11408  * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
   11409  * is on and only with drawables of the same \a depth.
   11410  *
   11411  * This form can be used only if the request will not cause
   11412  * a reply to be generated. Any returned error will be
   11413  * saved for handling by xcb_request_check().
   11414  */
   11415 
   11416 /*****************************************************************************
   11417  **
   11418  ** xcb_void_cookie_t xcb_create_pixmap_checked
   11419  **
   11420  ** @param xcb_connection_t *c
   11421  ** @param uint8_t           depth
   11422  ** @param xcb_pixmap_t      pid
   11423  ** @param xcb_drawable_t    drawable
   11424  ** @param uint16_t          width
   11425  ** @param uint16_t          height
   11426  ** @returns xcb_void_cookie_t
   11427  **
   11428  *****************************************************************************/
   11429 
   11430 xcb_void_cookie_t
   11431 xcb_create_pixmap_checked (xcb_connection_t *c  /**< */,
   11432                            uint8_t           depth  /**< */,
   11433                            xcb_pixmap_t      pid  /**< */,
   11434                            xcb_drawable_t    drawable  /**< */,
   11435                            uint16_t          width  /**< */,
   11436                            uint16_t          height  /**< */);
   11437 
   11438 /**
   11439  * @brief Creates a pixmap
   11440  *
   11441  * @param c The connection
   11442  * @param depth TODO
   11443  * @param pid The ID with which you will refer to the new pixmap, created by
   11444  * `xcb_generate_id`.
   11445  * @param drawable Drawable to get the screen from.
   11446  * @param width The width of the new pixmap.
   11447  * @param height The height of the new pixmap.
   11448  * @return A cookie
   11449  *
   11450  * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
   11451  * is on and only with drawables of the same \a depth.
   11452  *
   11453  */
   11454 
   11455 /*****************************************************************************
   11456  **
   11457  ** xcb_void_cookie_t xcb_create_pixmap
   11458  **
   11459  ** @param xcb_connection_t *c
   11460  ** @param uint8_t           depth
   11461  ** @param xcb_pixmap_t      pid
   11462  ** @param xcb_drawable_t    drawable
   11463  ** @param uint16_t          width
   11464  ** @param uint16_t          height
   11465  ** @returns xcb_void_cookie_t
   11466  **
   11467  *****************************************************************************/
   11468 
   11469 xcb_void_cookie_t
   11470 xcb_create_pixmap (xcb_connection_t *c  /**< */,
   11471                    uint8_t           depth  /**< */,
   11472                    xcb_pixmap_t      pid  /**< */,
   11473                    xcb_drawable_t    drawable  /**< */,
   11474                    uint16_t          width  /**< */,
   11475                    uint16_t          height  /**< */);
   11476 
   11477 /**
   11478  * @brief Destroys a pixmap
   11479  *
   11480  * @param c The connection
   11481  * @param pixmap The pixmap to destroy.
   11482  * @return A cookie
   11483  *
   11484  * Deletes the association between the pixmap ID and the pixmap. The pixmap
   11485  * storage will be freed when there are no more references to it.
   11486  *
   11487  * This form can be used only if the request will not cause
   11488  * a reply to be generated. Any returned error will be
   11489  * saved for handling by xcb_request_check().
   11490  */
   11491 
   11492 /*****************************************************************************
   11493  **
   11494  ** xcb_void_cookie_t xcb_free_pixmap_checked
   11495  **
   11496  ** @param xcb_connection_t *c
   11497  ** @param xcb_pixmap_t      pixmap
   11498  ** @returns xcb_void_cookie_t
   11499  **
   11500  *****************************************************************************/
   11501 
   11502 xcb_void_cookie_t
   11503 xcb_free_pixmap_checked (xcb_connection_t *c  /**< */,
   11504                          xcb_pixmap_t      pixmap  /**< */);
   11505 
   11506 /**
   11507  * @brief Destroys a pixmap
   11508  *
   11509  * @param c The connection
   11510  * @param pixmap The pixmap to destroy.
   11511  * @return A cookie
   11512  *
   11513  * Deletes the association between the pixmap ID and the pixmap. The pixmap
   11514  * storage will be freed when there are no more references to it.
   11515  *
   11516  */
   11517 
   11518 /*****************************************************************************
   11519  **
   11520  ** xcb_void_cookie_t xcb_free_pixmap
   11521  **
   11522  ** @param xcb_connection_t *c
   11523  ** @param xcb_pixmap_t      pixmap
   11524  ** @returns xcb_void_cookie_t
   11525  **
   11526  *****************************************************************************/
   11527 
   11528 xcb_void_cookie_t
   11529 xcb_free_pixmap (xcb_connection_t *c  /**< */,
   11530                  xcb_pixmap_t      pixmap  /**< */);
   11531 
   11532 int
   11533 xcb_create_gc_sizeof (const void  *_buffer  /**< */);
   11534 
   11535 /**
   11536  * @brief Creates a graphics context
   11537  *
   11538  * @param c The connection
   11539  * @param cid The ID with which you will refer to the graphics context, created by
   11540  * `xcb_generate_id`.
   11541  * @param drawable Drawable to get the root/depth from.
   11542  * @return A cookie
   11543  *
   11544  * Creates a graphics context. The graphics context can be used with any drawable
   11545  * that has the same root and depth as the specified drawable.
   11546  *
   11547  * This form can be used only if the request will not cause
   11548  * a reply to be generated. Any returned error will be
   11549  * saved for handling by xcb_request_check().
   11550  */
   11551 
   11552 /*****************************************************************************
   11553  **
   11554  ** xcb_void_cookie_t xcb_create_gc_checked
   11555  **
   11556  ** @param xcb_connection_t *c
   11557  ** @param xcb_gcontext_t    cid
   11558  ** @param xcb_drawable_t    drawable
   11559  ** @param uint32_t          value_mask
   11560  ** @param const uint32_t   *value_list
   11561  ** @returns xcb_void_cookie_t
   11562  **
   11563  *****************************************************************************/
   11564 
   11565 xcb_void_cookie_t
   11566 xcb_create_gc_checked (xcb_connection_t *c  /**< */,
   11567                        xcb_gcontext_t    cid  /**< */,
   11568                        xcb_drawable_t    drawable  /**< */,
   11569                        uint32_t          value_mask  /**< */,
   11570                        const uint32_t   *value_list  /**< */);
   11571 
   11572 /**
   11573  * @brief Creates a graphics context
   11574  *
   11575  * @param c The connection
   11576  * @param cid The ID with which you will refer to the graphics context, created by
   11577  * `xcb_generate_id`.
   11578  * @param drawable Drawable to get the root/depth from.
   11579  * @return A cookie
   11580  *
   11581  * Creates a graphics context. The graphics context can be used with any drawable
   11582  * that has the same root and depth as the specified drawable.
   11583  *
   11584  */
   11585 
   11586 /*****************************************************************************
   11587  **
   11588  ** xcb_void_cookie_t xcb_create_gc
   11589  **
   11590  ** @param xcb_connection_t *c
   11591  ** @param xcb_gcontext_t    cid
   11592  ** @param xcb_drawable_t    drawable
   11593  ** @param uint32_t          value_mask
   11594  ** @param const uint32_t   *value_list
   11595  ** @returns xcb_void_cookie_t
   11596  **
   11597  *****************************************************************************/
   11598 
   11599 xcb_void_cookie_t
   11600 xcb_create_gc (xcb_connection_t *c  /**< */,
   11601                xcb_gcontext_t    cid  /**< */,
   11602                xcb_drawable_t    drawable  /**< */,
   11603                uint32_t          value_mask  /**< */,
   11604                const uint32_t   *value_list  /**< */);
   11605 
   11606 int
   11607 xcb_change_gc_sizeof (const void  *_buffer  /**< */);
   11608 
   11609 /**
   11610  * @brief change graphics context components
   11611  *
   11612  * @param c The connection
   11613  * @param gc The graphics context to change.
   11614  * @param value_mask A bitmask of #xcb_gc_t values.
   11615  * @param value_mask \n
   11616  * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
   11617  * order has to correspond to the order of possible \a value_mask bits. See the
   11618  * example.
   11619  * @return A cookie
   11620  *
   11621  * Changes the components specified by \a value_mask for the specified graphics context.
   11622  *
   11623  * This form can be used only if the request will not cause
   11624  * a reply to be generated. Any returned error will be
   11625  * saved for handling by xcb_request_check().
   11626  */
   11627 
   11628 /*****************************************************************************
   11629  **
   11630  ** xcb_void_cookie_t xcb_change_gc_checked
   11631  **
   11632  ** @param xcb_connection_t *c
   11633  ** @param xcb_gcontext_t    gc
   11634  ** @param uint32_t          value_mask
   11635  ** @param const uint32_t   *value_list
   11636  ** @returns xcb_void_cookie_t
   11637  **
   11638  *****************************************************************************/
   11639 
   11640 xcb_void_cookie_t
   11641 xcb_change_gc_checked (xcb_connection_t *c  /**< */,
   11642                        xcb_gcontext_t    gc  /**< */,
   11643                        uint32_t          value_mask  /**< */,
   11644                        const uint32_t   *value_list  /**< */);
   11645 
   11646 /**
   11647  * @brief change graphics context components
   11648  *
   11649  * @param c The connection
   11650  * @param gc The graphics context to change.
   11651  * @param value_mask A bitmask of #xcb_gc_t values.
   11652  * @param value_mask \n
   11653  * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
   11654  * order has to correspond to the order of possible \a value_mask bits. See the
   11655  * example.
   11656  * @return A cookie
   11657  *
   11658  * Changes the components specified by \a value_mask for the specified graphics context.
   11659  *
   11660  */
   11661 
   11662 /*****************************************************************************
   11663  **
   11664  ** xcb_void_cookie_t xcb_change_gc
   11665  **
   11666  ** @param xcb_connection_t *c
   11667  ** @param xcb_gcontext_t    gc
   11668  ** @param uint32_t          value_mask
   11669  ** @param const uint32_t   *value_list
   11670  ** @returns xcb_void_cookie_t
   11671  **
   11672  *****************************************************************************/
   11673 
   11674 xcb_void_cookie_t
   11675 xcb_change_gc (xcb_connection_t *c  /**< */,
   11676                xcb_gcontext_t    gc  /**< */,
   11677                uint32_t          value_mask  /**< */,
   11678                const uint32_t   *value_list  /**< */);
   11679 
   11680 /**
   11681  *
   11682  * @param c The connection
   11683  * @return A cookie
   11684  *
   11685  * Delivers a request to the X server.
   11686  *
   11687  * This form can be used only if the request will not cause
   11688  * a reply to be generated. Any returned error will be
   11689  * saved for handling by xcb_request_check().
   11690  */
   11691 
   11692 /*****************************************************************************
   11693  **
   11694  ** xcb_void_cookie_t xcb_copy_gc_checked
   11695  **
   11696  ** @param xcb_connection_t *c
   11697  ** @param xcb_gcontext_t    src_gc
   11698  ** @param xcb_gcontext_t    dst_gc
   11699  ** @param uint32_t          value_mask
   11700  ** @returns xcb_void_cookie_t
   11701  **
   11702  *****************************************************************************/
   11703 
   11704 xcb_void_cookie_t
   11705 xcb_copy_gc_checked (xcb_connection_t *c  /**< */,
   11706                      xcb_gcontext_t    src_gc  /**< */,
   11707                      xcb_gcontext_t    dst_gc  /**< */,
   11708                      uint32_t          value_mask  /**< */);
   11709 
   11710 /**
   11711  *
   11712  * @param c The connection
   11713  * @return A cookie
   11714  *
   11715  * Delivers a request to the X server.
   11716  *
   11717  */
   11718 
   11719 /*****************************************************************************
   11720  **
   11721  ** xcb_void_cookie_t xcb_copy_gc
   11722  **
   11723  ** @param xcb_connection_t *c
   11724  ** @param xcb_gcontext_t    src_gc
   11725  ** @param xcb_gcontext_t    dst_gc
   11726  ** @param uint32_t          value_mask
   11727  ** @returns xcb_void_cookie_t
   11728  **
   11729  *****************************************************************************/
   11730 
   11731 xcb_void_cookie_t
   11732 xcb_copy_gc (xcb_connection_t *c  /**< */,
   11733              xcb_gcontext_t    src_gc  /**< */,
   11734              xcb_gcontext_t    dst_gc  /**< */,
   11735              uint32_t          value_mask  /**< */);
   11736 
   11737 int
   11738 xcb_set_dashes_sizeof (const void  *_buffer  /**< */);
   11739 
   11740 /**
   11741  *
   11742  * @param c The connection
   11743  * @return A cookie
   11744  *
   11745  * Delivers a request to the X server.
   11746  *
   11747  * This form can be used only if the request will not cause
   11748  * a reply to be generated. Any returned error will be
   11749  * saved for handling by xcb_request_check().
   11750  */
   11751 
   11752 /*****************************************************************************
   11753  **
   11754  ** xcb_void_cookie_t xcb_set_dashes_checked
   11755  **
   11756  ** @param xcb_connection_t *c
   11757  ** @param xcb_gcontext_t    gc
   11758  ** @param uint16_t          dash_offset
   11759  ** @param uint16_t          dashes_len
   11760  ** @param const uint8_t    *dashes
   11761  ** @returns xcb_void_cookie_t
   11762  **
   11763  *****************************************************************************/
   11764 
   11765 xcb_void_cookie_t
   11766 xcb_set_dashes_checked (xcb_connection_t *c  /**< */,
   11767                         xcb_gcontext_t    gc  /**< */,
   11768                         uint16_t          dash_offset  /**< */,
   11769                         uint16_t          dashes_len  /**< */,
   11770                         const uint8_t    *dashes  /**< */);
   11771 
   11772 /**
   11773  *
   11774  * @param c The connection
   11775  * @return A cookie
   11776  *
   11777  * Delivers a request to the X server.
   11778  *
   11779  */
   11780 
   11781 /*****************************************************************************
   11782  **
   11783  ** xcb_void_cookie_t xcb_set_dashes
   11784  **
   11785  ** @param xcb_connection_t *c
   11786  ** @param xcb_gcontext_t    gc
   11787  ** @param uint16_t          dash_offset
   11788  ** @param uint16_t          dashes_len
   11789  ** @param const uint8_t    *dashes
   11790  ** @returns xcb_void_cookie_t
   11791  **
   11792  *****************************************************************************/
   11793 
   11794 xcb_void_cookie_t
   11795 xcb_set_dashes (xcb_connection_t *c  /**< */,
   11796                 xcb_gcontext_t    gc  /**< */,
   11797                 uint16_t          dash_offset  /**< */,
   11798                 uint16_t          dashes_len  /**< */,
   11799                 const uint8_t    *dashes  /**< */);
   11800 
   11801 int
   11802 xcb_set_clip_rectangles_sizeof (const void  *_buffer  /**< */,
   11803                                 uint32_t     rectangles_len  /**< */);
   11804 
   11805 /**
   11806  *
   11807  * @param c The connection
   11808  * @return A cookie
   11809  *
   11810  * Delivers a request to the X server.
   11811  *
   11812  * This form can be used only if the request will not cause
   11813  * a reply to be generated. Any returned error will be
   11814  * saved for handling by xcb_request_check().
   11815  */
   11816 
   11817 /*****************************************************************************
   11818  **
   11819  ** xcb_void_cookie_t xcb_set_clip_rectangles_checked
   11820  **
   11821  ** @param xcb_connection_t      *c
   11822  ** @param uint8_t                ordering
   11823  ** @param xcb_gcontext_t         gc
   11824  ** @param int16_t                clip_x_origin
   11825  ** @param int16_t                clip_y_origin
   11826  ** @param uint32_t               rectangles_len
   11827  ** @param const xcb_rectangle_t *rectangles
   11828  ** @returns xcb_void_cookie_t
   11829  **
   11830  *****************************************************************************/
   11831 
   11832 xcb_void_cookie_t
   11833 xcb_set_clip_rectangles_checked (xcb_connection_t      *c  /**< */,
   11834                                  uint8_t                ordering  /**< */,
   11835                                  xcb_gcontext_t         gc  /**< */,
   11836                                  int16_t                clip_x_origin  /**< */,
   11837                                  int16_t                clip_y_origin  /**< */,
   11838                                  uint32_t               rectangles_len  /**< */,
   11839                                  const xcb_rectangle_t *rectangles  /**< */);
   11840 
   11841 /**
   11842  *
   11843  * @param c The connection
   11844  * @return A cookie
   11845  *
   11846  * Delivers a request to the X server.
   11847  *
   11848  */
   11849 
   11850 /*****************************************************************************
   11851  **
   11852  ** xcb_void_cookie_t xcb_set_clip_rectangles
   11853  **
   11854  ** @param xcb_connection_t      *c
   11855  ** @param uint8_t                ordering
   11856  ** @param xcb_gcontext_t         gc
   11857  ** @param int16_t                clip_x_origin
   11858  ** @param int16_t                clip_y_origin
   11859  ** @param uint32_t               rectangles_len
   11860  ** @param const xcb_rectangle_t *rectangles
   11861  ** @returns xcb_void_cookie_t
   11862  **
   11863  *****************************************************************************/
   11864 
   11865 xcb_void_cookie_t
   11866 xcb_set_clip_rectangles (xcb_connection_t      *c  /**< */,
   11867                          uint8_t                ordering  /**< */,
   11868                          xcb_gcontext_t         gc  /**< */,
   11869                          int16_t                clip_x_origin  /**< */,
   11870                          int16_t                clip_y_origin  /**< */,
   11871                          uint32_t               rectangles_len  /**< */,
   11872                          const xcb_rectangle_t *rectangles  /**< */);
   11873 
   11874 /**
   11875  * @brief Destroys a graphics context
   11876  *
   11877  * @param c The connection
   11878  * @param gc The graphics context to destroy.
   11879  * @return A cookie
   11880  *
   11881  * Destroys the specified \a gc and all associated storage.
   11882  *
   11883  * This form can be used only if the request will not cause
   11884  * a reply to be generated. Any returned error will be
   11885  * saved for handling by xcb_request_check().
   11886  */
   11887 
   11888 /*****************************************************************************
   11889  **
   11890  ** xcb_void_cookie_t xcb_free_gc_checked
   11891  **
   11892  ** @param xcb_connection_t *c
   11893  ** @param xcb_gcontext_t    gc
   11894  ** @returns xcb_void_cookie_t
   11895  **
   11896  *****************************************************************************/
   11897 
   11898 xcb_void_cookie_t
   11899 xcb_free_gc_checked (xcb_connection_t *c  /**< */,
   11900                      xcb_gcontext_t    gc  /**< */);
   11901 
   11902 /**
   11903  * @brief Destroys a graphics context
   11904  *
   11905  * @param c The connection
   11906  * @param gc The graphics context to destroy.
   11907  * @return A cookie
   11908  *
   11909  * Destroys the specified \a gc and all associated storage.
   11910  *
   11911  */
   11912 
   11913 /*****************************************************************************
   11914  **
   11915  ** xcb_void_cookie_t xcb_free_gc
   11916  **
   11917  ** @param xcb_connection_t *c
   11918  ** @param xcb_gcontext_t    gc
   11919  ** @returns xcb_void_cookie_t
   11920  **
   11921  *****************************************************************************/
   11922 
   11923 xcb_void_cookie_t
   11924 xcb_free_gc (xcb_connection_t *c  /**< */,
   11925              xcb_gcontext_t    gc  /**< */);
   11926 
   11927 /**
   11928  *
   11929  * @param c The connection
   11930  * @return A cookie
   11931  *
   11932  * Delivers a request to the X server.
   11933  *
   11934  * This form can be used only if the request will not cause
   11935  * a reply to be generated. Any returned error will be
   11936  * saved for handling by xcb_request_check().
   11937  */
   11938 
   11939 /*****************************************************************************
   11940  **
   11941  ** xcb_void_cookie_t xcb_clear_area_checked
   11942  **
   11943  ** @param xcb_connection_t *c
   11944  ** @param uint8_t           exposures
   11945  ** @param xcb_window_t      window
   11946  ** @param int16_t           x
   11947  ** @param int16_t           y
   11948  ** @param uint16_t          width
   11949  ** @param uint16_t          height
   11950  ** @returns xcb_void_cookie_t
   11951  **
   11952  *****************************************************************************/
   11953 
   11954 xcb_void_cookie_t
   11955 xcb_clear_area_checked (xcb_connection_t *c  /**< */,
   11956                         uint8_t           exposures  /**< */,
   11957                         xcb_window_t      window  /**< */,
   11958                         int16_t           x  /**< */,
   11959                         int16_t           y  /**< */,
   11960                         uint16_t          width  /**< */,
   11961                         uint16_t          height  /**< */);
   11962 
   11963 /**
   11964  *
   11965  * @param c The connection
   11966  * @return A cookie
   11967  *
   11968  * Delivers a request to the X server.
   11969  *
   11970  */
   11971 
   11972 /*****************************************************************************
   11973  **
   11974  ** xcb_void_cookie_t xcb_clear_area
   11975  **
   11976  ** @param xcb_connection_t *c
   11977  ** @param uint8_t           exposures
   11978  ** @param xcb_window_t      window
   11979  ** @param int16_t           x
   11980  ** @param int16_t           y
   11981  ** @param uint16_t          width
   11982  ** @param uint16_t          height
   11983  ** @returns xcb_void_cookie_t
   11984  **
   11985  *****************************************************************************/
   11986 
   11987 xcb_void_cookie_t
   11988 xcb_clear_area (xcb_connection_t *c  /**< */,
   11989                 uint8_t           exposures  /**< */,
   11990                 xcb_window_t      window  /**< */,
   11991                 int16_t           x  /**< */,
   11992                 int16_t           y  /**< */,
   11993                 uint16_t          width  /**< */,
   11994                 uint16_t          height  /**< */);
   11995 
   11996 /**
   11997  * @brief copy areas
   11998  *
   11999  * @param c The connection
   12000  * @param src_drawable The source drawable (Window or Pixmap).
   12001  * @param dst_drawable The destination drawable (Window or Pixmap).
   12002  * @param gc The graphics context to use.
   12003  * @param src_x The source X coordinate.
   12004  * @param src_y The source Y coordinate.
   12005  * @param dst_x The destination X coordinate.
   12006  * @param dst_y The destination Y coordinate.
   12007  * @param width The width of the area to copy (in pixels).
   12008  * @param height The height of the area to copy (in pixels).
   12009  * @return A cookie
   12010  *
   12011  * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
   12012  *
   12013  * This form can be used only if the request will not cause
   12014  * a reply to be generated. Any returned error will be
   12015  * saved for handling by xcb_request_check().
   12016  */
   12017 
   12018 /*****************************************************************************
   12019  **
   12020  ** xcb_void_cookie_t xcb_copy_area_checked
   12021  **
   12022  ** @param xcb_connection_t *c
   12023  ** @param xcb_drawable_t    src_drawable
   12024  ** @param xcb_drawable_t    dst_drawable
   12025  ** @param xcb_gcontext_t    gc
   12026  ** @param int16_t           src_x
   12027  ** @param int16_t           src_y
   12028  ** @param int16_t           dst_x
   12029  ** @param int16_t           dst_y
   12030  ** @param uint16_t          width
   12031  ** @param uint16_t          height
   12032  ** @returns xcb_void_cookie_t
   12033  **
   12034  *****************************************************************************/
   12035 
   12036 xcb_void_cookie_t
   12037 xcb_copy_area_checked (xcb_connection_t *c  /**< */,
   12038                        xcb_drawable_t    src_drawable  /**< */,
   12039                        xcb_drawable_t    dst_drawable  /**< */,
   12040                        xcb_gcontext_t    gc  /**< */,
   12041                        int16_t           src_x  /**< */,
   12042                        int16_t           src_y  /**< */,
   12043                        int16_t           dst_x  /**< */,
   12044                        int16_t           dst_y  /**< */,
   12045                        uint16_t          width  /**< */,
   12046                        uint16_t          height  /**< */);
   12047 
   12048 /**
   12049  * @brief copy areas
   12050  *
   12051  * @param c The connection
   12052  * @param src_drawable The source drawable (Window or Pixmap).
   12053  * @param dst_drawable The destination drawable (Window or Pixmap).
   12054  * @param gc The graphics context to use.
   12055  * @param src_x The source X coordinate.
   12056  * @param src_y The source Y coordinate.
   12057  * @param dst_x The destination X coordinate.
   12058  * @param dst_y The destination Y coordinate.
   12059  * @param width The width of the area to copy (in pixels).
   12060  * @param height The height of the area to copy (in pixels).
   12061  * @return A cookie
   12062  *
   12063  * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
   12064  *
   12065  */
   12066 
   12067 /*****************************************************************************
   12068  **
   12069  ** xcb_void_cookie_t xcb_copy_area
   12070  **
   12071  ** @param xcb_connection_t *c
   12072  ** @param xcb_drawable_t    src_drawable
   12073  ** @param xcb_drawable_t    dst_drawable
   12074  ** @param xcb_gcontext_t    gc
   12075  ** @param int16_t           src_x
   12076  ** @param int16_t           src_y
   12077  ** @param int16_t           dst_x
   12078  ** @param int16_t           dst_y
   12079  ** @param uint16_t          width
   12080  ** @param uint16_t          height
   12081  ** @returns xcb_void_cookie_t
   12082  **
   12083  *****************************************************************************/
   12084 
   12085 xcb_void_cookie_t
   12086 xcb_copy_area (xcb_connection_t *c  /**< */,
   12087                xcb_drawable_t    src_drawable  /**< */,
   12088                xcb_drawable_t    dst_drawable  /**< */,
   12089                xcb_gcontext_t    gc  /**< */,
   12090                int16_t           src_x  /**< */,
   12091                int16_t           src_y  /**< */,
   12092                int16_t           dst_x  /**< */,
   12093                int16_t           dst_y  /**< */,
   12094                uint16_t          width  /**< */,
   12095                uint16_t          height  /**< */);
   12096 
   12097 /**
   12098  *
   12099  * @param c The connection
   12100  * @return A cookie
   12101  *
   12102  * Delivers a request to the X server.
   12103  *
   12104  * This form can be used only if the request will not cause
   12105  * a reply to be generated. Any returned error will be
   12106  * saved for handling by xcb_request_check().
   12107  */
   12108 
   12109 /*****************************************************************************
   12110  **
   12111  ** xcb_void_cookie_t xcb_copy_plane_checked
   12112  **
   12113  ** @param xcb_connection_t *c
   12114  ** @param xcb_drawable_t    src_drawable
   12115  ** @param xcb_drawable_t    dst_drawable
   12116  ** @param xcb_gcontext_t    gc
   12117  ** @param int16_t           src_x
   12118  ** @param int16_t           src_y
   12119  ** @param int16_t           dst_x
   12120  ** @param int16_t           dst_y
   12121  ** @param uint16_t          width
   12122  ** @param uint16_t          height
   12123  ** @param uint32_t          bit_plane
   12124  ** @returns xcb_void_cookie_t
   12125  **
   12126  *****************************************************************************/
   12127 
   12128 xcb_void_cookie_t
   12129 xcb_copy_plane_checked (xcb_connection_t *c  /**< */,
   12130                         xcb_drawable_t    src_drawable  /**< */,
   12131                         xcb_drawable_t    dst_drawable  /**< */,
   12132                         xcb_gcontext_t    gc  /**< */,
   12133                         int16_t           src_x  /**< */,
   12134                         int16_t           src_y  /**< */,
   12135                         int16_t           dst_x  /**< */,
   12136                         int16_t           dst_y  /**< */,
   12137                         uint16_t          width  /**< */,
   12138                         uint16_t          height  /**< */,
   12139                         uint32_t          bit_plane  /**< */);
   12140 
   12141 /**
   12142  *
   12143  * @param c The connection
   12144  * @return A cookie
   12145  *
   12146  * Delivers a request to the X server.
   12147  *
   12148  */
   12149 
   12150 /*****************************************************************************
   12151  **
   12152  ** xcb_void_cookie_t xcb_copy_plane
   12153  **
   12154  ** @param xcb_connection_t *c
   12155  ** @param xcb_drawable_t    src_drawable
   12156  ** @param xcb_drawable_t    dst_drawable
   12157  ** @param xcb_gcontext_t    gc
   12158  ** @param int16_t           src_x
   12159  ** @param int16_t           src_y
   12160  ** @param int16_t           dst_x
   12161  ** @param int16_t           dst_y
   12162  ** @param uint16_t          width
   12163  ** @param uint16_t          height
   12164  ** @param uint32_t          bit_plane
   12165  ** @returns xcb_void_cookie_t
   12166  **
   12167  *****************************************************************************/
   12168 
   12169 xcb_void_cookie_t
   12170 xcb_copy_plane (xcb_connection_t *c  /**< */,
   12171                 xcb_drawable_t    src_drawable  /**< */,
   12172                 xcb_drawable_t    dst_drawable  /**< */,
   12173                 xcb_gcontext_t    gc  /**< */,
   12174                 int16_t           src_x  /**< */,
   12175                 int16_t           src_y  /**< */,
   12176                 int16_t           dst_x  /**< */,
   12177                 int16_t           dst_y  /**< */,
   12178                 uint16_t          width  /**< */,
   12179                 uint16_t          height  /**< */,
   12180                 uint32_t          bit_plane  /**< */);
   12181 
   12182 int
   12183 xcb_poly_point_sizeof (const void  *_buffer  /**< */,
   12184                        uint32_t     points_len  /**< */);
   12185 
   12186 /**
   12187  *
   12188  * @param c The connection
   12189  * @return A cookie
   12190  *
   12191  * Delivers a request to the X server.
   12192  *
   12193  * This form can be used only if the request will not cause
   12194  * a reply to be generated. Any returned error will be
   12195  * saved for handling by xcb_request_check().
   12196  */
   12197 
   12198 /*****************************************************************************
   12199  **
   12200  ** xcb_void_cookie_t xcb_poly_point_checked
   12201  **
   12202  ** @param xcb_connection_t  *c
   12203  ** @param uint8_t            coordinate_mode
   12204  ** @param xcb_drawable_t     drawable
   12205  ** @param xcb_gcontext_t     gc
   12206  ** @param uint32_t           points_len
   12207  ** @param const xcb_point_t *points
   12208  ** @returns xcb_void_cookie_t
   12209  **
   12210  *****************************************************************************/
   12211 
   12212 xcb_void_cookie_t
   12213 xcb_poly_point_checked (xcb_connection_t  *c  /**< */,
   12214                         uint8_t            coordinate_mode  /**< */,
   12215                         xcb_drawable_t     drawable  /**< */,
   12216                         xcb_gcontext_t     gc  /**< */,
   12217                         uint32_t           points_len  /**< */,
   12218                         const xcb_point_t *points  /**< */);
   12219 
   12220 /**
   12221  *
   12222  * @param c The connection
   12223  * @return A cookie
   12224  *
   12225  * Delivers a request to the X server.
   12226  *
   12227  */
   12228 
   12229 /*****************************************************************************
   12230  **
   12231  ** xcb_void_cookie_t xcb_poly_point
   12232  **
   12233  ** @param xcb_connection_t  *c
   12234  ** @param uint8_t            coordinate_mode
   12235  ** @param xcb_drawable_t     drawable
   12236  ** @param xcb_gcontext_t     gc
   12237  ** @param uint32_t           points_len
   12238  ** @param const xcb_point_t *points
   12239  ** @returns xcb_void_cookie_t
   12240  **
   12241  *****************************************************************************/
   12242 
   12243 xcb_void_cookie_t
   12244 xcb_poly_point (xcb_connection_t  *c  /**< */,
   12245                 uint8_t            coordinate_mode  /**< */,
   12246                 xcb_drawable_t     drawable  /**< */,
   12247                 xcb_gcontext_t     gc  /**< */,
   12248                 uint32_t           points_len  /**< */,
   12249                 const xcb_point_t *points  /**< */);
   12250 
   12251 int
   12252 xcb_poly_line_sizeof (const void  *_buffer  /**< */,
   12253                       uint32_t     points_len  /**< */);
   12254 
   12255 /**
   12256  * @brief draw lines
   12257  *
   12258  * @param c The connection
   12259  * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
   12260  * @param coordinate_mode \n
   12261  * @param drawable The drawable to draw the line(s) on.
   12262  * @param gc The graphics context to use.
   12263  * @param points_len The number of `xcb_point_t` structures in \a points.
   12264  * @param points An array of points.
   12265  * @return A cookie
   12266  *
   12267  * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
   12268  * in the \a points array. The lines are drawn in the order listed in the array.
   12269  * They join correctly at all intermediate points, and if the first and last
   12270  * points coincide, the first and last lines also join correctly. For any given
   12271  * line, a pixel is not drawn more than once. If thin (zero line-width) lines
   12272  * intersect, the intersecting pixels are drawn multiple times. If wide lines
   12273  * intersect, the intersecting pixels are drawn only once, as though the entire
   12274  * request were a single, filled shape.
   12275  *
   12276  * This form can be used only if the request will not cause
   12277  * a reply to be generated. Any returned error will be
   12278  * saved for handling by xcb_request_check().
   12279  */
   12280 
   12281 /*****************************************************************************
   12282  **
   12283  ** xcb_void_cookie_t xcb_poly_line_checked
   12284  **
   12285  ** @param xcb_connection_t  *c
   12286  ** @param uint8_t            coordinate_mode
   12287  ** @param xcb_drawable_t     drawable
   12288  ** @param xcb_gcontext_t     gc
   12289  ** @param uint32_t           points_len
   12290  ** @param const xcb_point_t *points
   12291  ** @returns xcb_void_cookie_t
   12292  **
   12293  *****************************************************************************/
   12294 
   12295 xcb_void_cookie_t
   12296 xcb_poly_line_checked (xcb_connection_t  *c  /**< */,
   12297                        uint8_t            coordinate_mode  /**< */,
   12298                        xcb_drawable_t     drawable  /**< */,
   12299                        xcb_gcontext_t     gc  /**< */,
   12300                        uint32_t           points_len  /**< */,
   12301                        const xcb_point_t *points  /**< */);
   12302 
   12303 /**
   12304  * @brief draw lines
   12305  *
   12306  * @param c The connection
   12307  * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
   12308  * @param coordinate_mode \n
   12309  * @param drawable The drawable to draw the line(s) on.
   12310  * @param gc The graphics context to use.
   12311  * @param points_len The number of `xcb_point_t` structures in \a points.
   12312  * @param points An array of points.
   12313  * @return A cookie
   12314  *
   12315  * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
   12316  * in the \a points array. The lines are drawn in the order listed in the array.
   12317  * They join correctly at all intermediate points, and if the first and last
   12318  * points coincide, the first and last lines also join correctly. For any given
   12319  * line, a pixel is not drawn more than once. If thin (zero line-width) lines
   12320  * intersect, the intersecting pixels are drawn multiple times. If wide lines
   12321  * intersect, the intersecting pixels are drawn only once, as though the entire
   12322  * request were a single, filled shape.
   12323  *
   12324  */
   12325 
   12326 /*****************************************************************************
   12327  **
   12328  ** xcb_void_cookie_t xcb_poly_line
   12329  **
   12330  ** @param xcb_connection_t  *c
   12331  ** @param uint8_t            coordinate_mode
   12332  ** @param xcb_drawable_t     drawable
   12333  ** @param xcb_gcontext_t     gc
   12334  ** @param uint32_t           points_len
   12335  ** @param const xcb_point_t *points
   12336  ** @returns xcb_void_cookie_t
   12337  **
   12338  *****************************************************************************/
   12339 
   12340 xcb_void_cookie_t
   12341 xcb_poly_line (xcb_connection_t  *c  /**< */,
   12342                uint8_t            coordinate_mode  /**< */,
   12343                xcb_drawable_t     drawable  /**< */,
   12344                xcb_gcontext_t     gc  /**< */,
   12345                uint32_t           points_len  /**< */,
   12346                const xcb_point_t *points  /**< */);
   12347 
   12348 /**
   12349  * Get the next element of the iterator
   12350  * @param i Pointer to a xcb_segment_iterator_t
   12351  *
   12352  * Get the next element in the iterator. The member rem is
   12353  * decreased by one. The member data points to the next
   12354  * element. The member index is increased by sizeof(xcb_segment_t)
   12355  */
   12356 
   12357 /*****************************************************************************
   12358  **
   12359  ** void xcb_segment_next
   12360  **
   12361  ** @param xcb_segment_iterator_t *i
   12362  ** @returns void
   12363  **
   12364  *****************************************************************************/
   12365 
   12366 void
   12367 xcb_segment_next (xcb_segment_iterator_t *i  /**< */);
   12368 
   12369 /**
   12370  * Return the iterator pointing to the last element
   12371  * @param i An xcb_segment_iterator_t
   12372  * @return  The iterator pointing to the last element
   12373  *
   12374  * Set the current element in the iterator to the last element.
   12375  * The member rem is set to 0. The member data points to the
   12376  * last element.
   12377  */
   12378 
   12379 /*****************************************************************************
   12380  **
   12381  ** xcb_generic_iterator_t xcb_segment_end
   12382  **
   12383  ** @param xcb_segment_iterator_t i
   12384  ** @returns xcb_generic_iterator_t
   12385  **
   12386  *****************************************************************************/
   12387 
   12388 xcb_generic_iterator_t
   12389 xcb_segment_end (xcb_segment_iterator_t i  /**< */);
   12390 
   12391 int
   12392 xcb_poly_segment_sizeof (const void  *_buffer  /**< */,
   12393                          uint32_t     segments_len  /**< */);
   12394 
   12395 /**
   12396  * @brief draw lines
   12397  *
   12398  * @param c The connection
   12399  * @param drawable A drawable (Window or Pixmap) to draw on.
   12400  * @param gc The graphics context to use.
   12401  * \n
   12402  * TODO: document which attributes of a gc are used
   12403  * @param segments_len The number of `xcb_segment_t` structures in \a segments.
   12404  * @param segments An array of `xcb_segment_t` structures.
   12405  * @return A cookie
   12406  *
   12407  * Draws multiple, unconnected lines. For each segment, a line is drawn between
   12408  * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
   12409  * `xcb_segment_t` structures and does not perform joining at coincident
   12410  * endpoints. For any given line, a pixel is not drawn more than once. If lines
   12411  * intersect, the intersecting pixels are drawn multiple times.
   12412  *
   12413  * TODO: include the xcb_segment_t data structure
   12414  *
   12415  * TODO: an example
   12416  *
   12417  * This form can be used only if the request will not cause
   12418  * a reply to be generated. Any returned error will be
   12419  * saved for handling by xcb_request_check().
   12420  */
   12421 
   12422 /*****************************************************************************
   12423  **
   12424  ** xcb_void_cookie_t xcb_poly_segment_checked
   12425  **
   12426  ** @param xcb_connection_t    *c
   12427  ** @param xcb_drawable_t       drawable
   12428  ** @param xcb_gcontext_t       gc
   12429  ** @param uint32_t             segments_len
   12430  ** @param const xcb_segment_t *segments
   12431  ** @returns xcb_void_cookie_t
   12432  **
   12433  *****************************************************************************/
   12434 
   12435 xcb_void_cookie_t
   12436 xcb_poly_segment_checked (xcb_connection_t    *c  /**< */,
   12437                           xcb_drawable_t       drawable  /**< */,
   12438                           xcb_gcontext_t       gc  /**< */,
   12439                           uint32_t             segments_len  /**< */,
   12440                           const xcb_segment_t *segments  /**< */);
   12441 
   12442 /**
   12443  * @brief draw lines
   12444  *
   12445  * @param c The connection
   12446  * @param drawable A drawable (Window or Pixmap) to draw on.
   12447  * @param gc The graphics context to use.
   12448  * \n
   12449  * TODO: document which attributes of a gc are used
   12450  * @param segments_len The number of `xcb_segment_t` structures in \a segments.
   12451  * @param segments An array of `xcb_segment_t` structures.
   12452  * @return A cookie
   12453  *
   12454  * Draws multiple, unconnected lines. For each segment, a line is drawn between
   12455  * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
   12456  * `xcb_segment_t` structures and does not perform joining at coincident
   12457  * endpoints. For any given line, a pixel is not drawn more than once. If lines
   12458  * intersect, the intersecting pixels are drawn multiple times.
   12459  *
   12460  * TODO: include the xcb_segment_t data structure
   12461  *
   12462  * TODO: an example
   12463  *
   12464  */
   12465 
   12466 /*****************************************************************************
   12467  **
   12468  ** xcb_void_cookie_t xcb_poly_segment
   12469  **
   12470  ** @param xcb_connection_t    *c
   12471  ** @param xcb_drawable_t       drawable
   12472  ** @param xcb_gcontext_t       gc
   12473  ** @param uint32_t             segments_len
   12474  ** @param const xcb_segment_t *segments
   12475  ** @returns xcb_void_cookie_t
   12476  **
   12477  *****************************************************************************/
   12478 
   12479 xcb_void_cookie_t
   12480 xcb_poly_segment (xcb_connection_t    *c  /**< */,
   12481                   xcb_drawable_t       drawable  /**< */,
   12482                   xcb_gcontext_t       gc  /**< */,
   12483                   uint32_t             segments_len  /**< */,
   12484                   const xcb_segment_t *segments  /**< */);
   12485 
   12486 int
   12487 xcb_poly_rectangle_sizeof (const void  *_buffer  /**< */,
   12488                            uint32_t     rectangles_len  /**< */);
   12489 
   12490 /**
   12491  *
   12492  * @param c The connection
   12493  * @return A cookie
   12494  *
   12495  * Delivers a request to the X server.
   12496  *
   12497  * This form can be used only if the request will not cause
   12498  * a reply to be generated. Any returned error will be
   12499  * saved for handling by xcb_request_check().
   12500  */
   12501 
   12502 /*****************************************************************************
   12503  **
   12504  ** xcb_void_cookie_t xcb_poly_rectangle_checked
   12505  **
   12506  ** @param xcb_connection_t      *c
   12507  ** @param xcb_drawable_t         drawable
   12508  ** @param xcb_gcontext_t         gc
   12509  ** @param uint32_t               rectangles_len
   12510  ** @param const xcb_rectangle_t *rectangles
   12511  ** @returns xcb_void_cookie_t
   12512  **
   12513  *****************************************************************************/
   12514 
   12515 xcb_void_cookie_t
   12516 xcb_poly_rectangle_checked (xcb_connection_t      *c  /**< */,
   12517                             xcb_drawable_t         drawable  /**< */,
   12518                             xcb_gcontext_t         gc  /**< */,
   12519                             uint32_t               rectangles_len  /**< */,
   12520                             const xcb_rectangle_t *rectangles  /**< */);
   12521 
   12522 /**
   12523  *
   12524  * @param c The connection
   12525  * @return A cookie
   12526  *
   12527  * Delivers a request to the X server.
   12528  *
   12529  */
   12530 
   12531 /*****************************************************************************
   12532  **
   12533  ** xcb_void_cookie_t xcb_poly_rectangle
   12534  **
   12535  ** @param xcb_connection_t      *c
   12536  ** @param xcb_drawable_t         drawable
   12537  ** @param xcb_gcontext_t         gc
   12538  ** @param uint32_t               rectangles_len
   12539  ** @param const xcb_rectangle_t *rectangles
   12540  ** @returns xcb_void_cookie_t
   12541  **
   12542  *****************************************************************************/
   12543 
   12544 xcb_void_cookie_t
   12545 xcb_poly_rectangle (xcb_connection_t      *c  /**< */,
   12546                     xcb_drawable_t         drawable  /**< */,
   12547                     xcb_gcontext_t         gc  /**< */,
   12548                     uint32_t               rectangles_len  /**< */,
   12549                     const xcb_rectangle_t *rectangles  /**< */);
   12550 
   12551 int
   12552 xcb_poly_arc_sizeof (const void  *_buffer  /**< */,
   12553                      uint32_t     arcs_len  /**< */);
   12554 
   12555 /**
   12556  *
   12557  * @param c The connection
   12558  * @return A cookie
   12559  *
   12560  * Delivers a request to the X server.
   12561  *
   12562  * This form can be used only if the request will not cause
   12563  * a reply to be generated. Any returned error will be
   12564  * saved for handling by xcb_request_check().
   12565  */
   12566 
   12567 /*****************************************************************************
   12568  **
   12569  ** xcb_void_cookie_t xcb_poly_arc_checked
   12570  **
   12571  ** @param xcb_connection_t *c
   12572  ** @param xcb_drawable_t    drawable
   12573  ** @param xcb_gcontext_t    gc
   12574  ** @param uint32_t          arcs_len
   12575  ** @param const xcb_arc_t  *arcs
   12576  ** @returns xcb_void_cookie_t
   12577  **
   12578  *****************************************************************************/
   12579 
   12580 xcb_void_cookie_t
   12581 xcb_poly_arc_checked (xcb_connection_t *c  /**< */,
   12582                       xcb_drawable_t    drawable  /**< */,
   12583                       xcb_gcontext_t    gc  /**< */,
   12584                       uint32_t          arcs_len  /**< */,
   12585                       const xcb_arc_t  *arcs  /**< */);
   12586 
   12587 /**
   12588  *
   12589  * @param c The connection
   12590  * @return A cookie
   12591  *
   12592  * Delivers a request to the X server.
   12593  *
   12594  */
   12595 
   12596 /*****************************************************************************
   12597  **
   12598  ** xcb_void_cookie_t xcb_poly_arc
   12599  **
   12600  ** @param xcb_connection_t *c
   12601  ** @param xcb_drawable_t    drawable
   12602  ** @param xcb_gcontext_t    gc
   12603  ** @param uint32_t          arcs_len
   12604  ** @param const xcb_arc_t  *arcs
   12605  ** @returns xcb_void_cookie_t
   12606  **
   12607  *****************************************************************************/
   12608 
   12609 xcb_void_cookie_t
   12610 xcb_poly_arc (xcb_connection_t *c  /**< */,
   12611               xcb_drawable_t    drawable  /**< */,
   12612               xcb_gcontext_t    gc  /**< */,
   12613               uint32_t          arcs_len  /**< */,
   12614               const xcb_arc_t  *arcs  /**< */);
   12615 
   12616 int
   12617 xcb_fill_poly_sizeof (const void  *_buffer  /**< */,
   12618                       uint32_t     points_len  /**< */);
   12619 
   12620 /**
   12621  *
   12622  * @param c The connection
   12623  * @return A cookie
   12624  *
   12625  * Delivers a request to the X server.
   12626  *
   12627  * This form can be used only if the request will not cause
   12628  * a reply to be generated. Any returned error will be
   12629  * saved for handling by xcb_request_check().
   12630  */
   12631 
   12632 /*****************************************************************************
   12633  **
   12634  ** xcb_void_cookie_t xcb_fill_poly_checked
   12635  **
   12636  ** @param xcb_connection_t  *c
   12637  ** @param xcb_drawable_t     drawable
   12638  ** @param xcb_gcontext_t     gc
   12639  ** @param uint8_t            shape
   12640  ** @param uint8_t            coordinate_mode
   12641  ** @param uint32_t           points_len
   12642  ** @param const xcb_point_t *points
   12643  ** @returns xcb_void_cookie_t
   12644  **
   12645  *****************************************************************************/
   12646 
   12647 xcb_void_cookie_t
   12648 xcb_fill_poly_checked (xcb_connection_t  *c  /**< */,
   12649                        xcb_drawable_t     drawable  /**< */,
   12650                        xcb_gcontext_t     gc  /**< */,
   12651                        uint8_t            shape  /**< */,
   12652                        uint8_t            coordinate_mode  /**< */,
   12653                        uint32_t           points_len  /**< */,
   12654                        const xcb_point_t *points  /**< */);
   12655 
   12656 /**
   12657  *
   12658  * @param c The connection
   12659  * @return A cookie
   12660  *
   12661  * Delivers a request to the X server.
   12662  *
   12663  */
   12664 
   12665 /*****************************************************************************
   12666  **
   12667  ** xcb_void_cookie_t xcb_fill_poly
   12668  **
   12669  ** @param xcb_connection_t  *c
   12670  ** @param xcb_drawable_t     drawable
   12671  ** @param xcb_gcontext_t     gc
   12672  ** @param uint8_t            shape
   12673  ** @param uint8_t            coordinate_mode
   12674  ** @param uint32_t           points_len
   12675  ** @param const xcb_point_t *points
   12676  ** @returns xcb_void_cookie_t
   12677  **
   12678  *****************************************************************************/
   12679 
   12680 xcb_void_cookie_t
   12681 xcb_fill_poly (xcb_connection_t  *c  /**< */,
   12682                xcb_drawable_t     drawable  /**< */,
   12683                xcb_gcontext_t     gc  /**< */,
   12684                uint8_t            shape  /**< */,
   12685                uint8_t            coordinate_mode  /**< */,
   12686                uint32_t           points_len  /**< */,
   12687                const xcb_point_t *points  /**< */);
   12688 
   12689 int
   12690 xcb_poly_fill_rectangle_sizeof (const void  *_buffer  /**< */,
   12691                                 uint32_t     rectangles_len  /**< */);
   12692 
   12693 /**
   12694  * @brief Fills rectangles
   12695  *
   12696  * @param c The connection
   12697  * @param drawable The drawable (Window or Pixmap) to draw on.
   12698  * @param gc The graphics context to use.
   12699  * \n
   12700  * The following graphics context components are used: function, plane-mask,
   12701  * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
   12702  * \n
   12703  * The following graphics context mode-dependent components are used:
   12704  * foreground, background, tile, stipple, tile-stipple-x-origin, and
   12705  * tile-stipple-y-origin.
   12706  * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
   12707  * @param rectangles The rectangles to fill.
   12708  * @return A cookie
   12709  *
   12710  * Fills the specified rectangle(s) in the order listed in the array. For any
   12711  * given rectangle, each pixel is not drawn more than once. If rectangles
   12712  * intersect, the intersecting pixels are drawn multiple times.
   12713  *
   12714  * This form can be used only if the request will not cause
   12715  * a reply to be generated. Any returned error will be
   12716  * saved for handling by xcb_request_check().
   12717  */
   12718 
   12719 /*****************************************************************************
   12720  **
   12721  ** xcb_void_cookie_t xcb_poly_fill_rectangle_checked
   12722  **
   12723  ** @param xcb_connection_t      *c
   12724  ** @param xcb_drawable_t         drawable
   12725  ** @param xcb_gcontext_t         gc
   12726  ** @param uint32_t               rectangles_len
   12727  ** @param const xcb_rectangle_t *rectangles
   12728  ** @returns xcb_void_cookie_t
   12729  **
   12730  *****************************************************************************/
   12731 
   12732 xcb_void_cookie_t
   12733 xcb_poly_fill_rectangle_checked (xcb_connection_t      *c  /**< */,
   12734                                  xcb_drawable_t         drawable  /**< */,
   12735                                  xcb_gcontext_t         gc  /**< */,
   12736                                  uint32_t               rectangles_len  /**< */,
   12737                                  const xcb_rectangle_t *rectangles  /**< */);
   12738 
   12739 /**
   12740  * @brief Fills rectangles
   12741  *
   12742  * @param c The connection
   12743  * @param drawable The drawable (Window or Pixmap) to draw on.
   12744  * @param gc The graphics context to use.
   12745  * \n
   12746  * The following graphics context components are used: function, plane-mask,
   12747  * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
   12748  * \n
   12749  * The following graphics context mode-dependent components are used:
   12750  * foreground, background, tile, stipple, tile-stipple-x-origin, and
   12751  * tile-stipple-y-origin.
   12752  * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
   12753  * @param rectangles The rectangles to fill.
   12754  * @return A cookie
   12755  *
   12756  * Fills the specified rectangle(s) in the order listed in the array. For any
   12757  * given rectangle, each pixel is not drawn more than once. If rectangles
   12758  * intersect, the intersecting pixels are drawn multiple times.
   12759  *
   12760  */
   12761 
   12762 /*****************************************************************************
   12763  **
   12764  ** xcb_void_cookie_t xcb_poly_fill_rectangle
   12765  **
   12766  ** @param xcb_connection_t      *c
   12767  ** @param xcb_drawable_t         drawable
   12768  ** @param xcb_gcontext_t         gc
   12769  ** @param uint32_t               rectangles_len
   12770  ** @param const xcb_rectangle_t *rectangles
   12771  ** @returns xcb_void_cookie_t
   12772  **
   12773  *****************************************************************************/
   12774 
   12775 xcb_void_cookie_t
   12776 xcb_poly_fill_rectangle (xcb_connection_t      *c  /**< */,
   12777                          xcb_drawable_t         drawable  /**< */,
   12778                          xcb_gcontext_t         gc  /**< */,
   12779                          uint32_t               rectangles_len  /**< */,
   12780                          const xcb_rectangle_t *rectangles  /**< */);
   12781 
   12782 int
   12783 xcb_poly_fill_arc_sizeof (const void  *_buffer  /**< */,
   12784                           uint32_t     arcs_len  /**< */);
   12785 
   12786 /**
   12787  *
   12788  * @param c The connection
   12789  * @return A cookie
   12790  *
   12791  * Delivers a request to the X server.
   12792  *
   12793  * This form can be used only if the request will not cause
   12794  * a reply to be generated. Any returned error will be
   12795  * saved for handling by xcb_request_check().
   12796  */
   12797 
   12798 /*****************************************************************************
   12799  **
   12800  ** xcb_void_cookie_t xcb_poly_fill_arc_checked
   12801  **
   12802  ** @param xcb_connection_t *c
   12803  ** @param xcb_drawable_t    drawable
   12804  ** @param xcb_gcontext_t    gc
   12805  ** @param uint32_t          arcs_len
   12806  ** @param const xcb_arc_t  *arcs
   12807  ** @returns xcb_void_cookie_t
   12808  **
   12809  *****************************************************************************/
   12810 
   12811 xcb_void_cookie_t
   12812 xcb_poly_fill_arc_checked (xcb_connection_t *c  /**< */,
   12813                            xcb_drawable_t    drawable  /**< */,
   12814                            xcb_gcontext_t    gc  /**< */,
   12815                            uint32_t          arcs_len  /**< */,
   12816                            const xcb_arc_t  *arcs  /**< */);
   12817 
   12818 /**
   12819  *
   12820  * @param c The connection
   12821  * @return A cookie
   12822  *
   12823  * Delivers a request to the X server.
   12824  *
   12825  */
   12826 
   12827 /*****************************************************************************
   12828  **
   12829  ** xcb_void_cookie_t xcb_poly_fill_arc
   12830  **
   12831  ** @param xcb_connection_t *c
   12832  ** @param xcb_drawable_t    drawable
   12833  ** @param xcb_gcontext_t    gc
   12834  ** @param uint32_t          arcs_len
   12835  ** @param const xcb_arc_t  *arcs
   12836  ** @returns xcb_void_cookie_t
   12837  **
   12838  *****************************************************************************/
   12839 
   12840 xcb_void_cookie_t
   12841 xcb_poly_fill_arc (xcb_connection_t *c  /**< */,
   12842                    xcb_drawable_t    drawable  /**< */,
   12843                    xcb_gcontext_t    gc  /**< */,
   12844                    uint32_t          arcs_len  /**< */,
   12845                    const xcb_arc_t  *arcs  /**< */);
   12846 
   12847 int
   12848 xcb_put_image_sizeof (const void  *_buffer  /**< */,
   12849                       uint32_t     data_len  /**< */);
   12850 
   12851 /**
   12852  *
   12853  * @param c The connection
   12854  * @return A cookie
   12855  *
   12856  * Delivers a request to the X server.
   12857  *
   12858  * This form can be used only if the request will not cause
   12859  * a reply to be generated. Any returned error will be
   12860  * saved for handling by xcb_request_check().
   12861  */
   12862 
   12863 /*****************************************************************************
   12864  **
   12865  ** xcb_void_cookie_t xcb_put_image_checked
   12866  **
   12867  ** @param xcb_connection_t *c
   12868  ** @param uint8_t           format
   12869  ** @param xcb_drawable_t    drawable
   12870  ** @param xcb_gcontext_t    gc
   12871  ** @param uint16_t          width
   12872  ** @param uint16_t          height
   12873  ** @param int16_t           dst_x
   12874  ** @param int16_t           dst_y
   12875  ** @param uint8_t           left_pad
   12876  ** @param uint8_t           depth
   12877  ** @param uint32_t          data_len
   12878  ** @param const uint8_t    *data
   12879  ** @returns xcb_void_cookie_t
   12880  **
   12881  *****************************************************************************/
   12882 
   12883 xcb_void_cookie_t
   12884 xcb_put_image_checked (xcb_connection_t *c  /**< */,
   12885                        uint8_t           format  /**< */,
   12886                        xcb_drawable_t    drawable  /**< */,
   12887                        xcb_gcontext_t    gc  /**< */,
   12888                        uint16_t          width  /**< */,
   12889                        uint16_t          height  /**< */,
   12890                        int16_t           dst_x  /**< */,
   12891                        int16_t           dst_y  /**< */,
   12892                        uint8_t           left_pad  /**< */,
   12893                        uint8_t           depth  /**< */,
   12894                        uint32_t          data_len  /**< */,
   12895                        const uint8_t    *data  /**< */);
   12896 
   12897 /**
   12898  *
   12899  * @param c The connection
   12900  * @return A cookie
   12901  *
   12902  * Delivers a request to the X server.
   12903  *
   12904  */
   12905 
   12906 /*****************************************************************************
   12907  **
   12908  ** xcb_void_cookie_t xcb_put_image
   12909  **
   12910  ** @param xcb_connection_t *c
   12911  ** @param uint8_t           format
   12912  ** @param xcb_drawable_t    drawable
   12913  ** @param xcb_gcontext_t    gc
   12914  ** @param uint16_t          width
   12915  ** @param uint16_t          height
   12916  ** @param int16_t           dst_x
   12917  ** @param int16_t           dst_y
   12918  ** @param uint8_t           left_pad
   12919  ** @param uint8_t           depth
   12920  ** @param uint32_t          data_len
   12921  ** @param const uint8_t    *data
   12922  ** @returns xcb_void_cookie_t
   12923  **
   12924  *****************************************************************************/
   12925 
   12926 xcb_void_cookie_t
   12927 xcb_put_image (xcb_connection_t *c  /**< */,
   12928                uint8_t           format  /**< */,
   12929                xcb_drawable_t    drawable  /**< */,
   12930                xcb_gcontext_t    gc  /**< */,
   12931                uint16_t          width  /**< */,
   12932                uint16_t          height  /**< */,
   12933                int16_t           dst_x  /**< */,
   12934                int16_t           dst_y  /**< */,
   12935                uint8_t           left_pad  /**< */,
   12936                uint8_t           depth  /**< */,
   12937                uint32_t          data_len  /**< */,
   12938                const uint8_t    *data  /**< */);
   12939 
   12940 int
   12941 xcb_get_image_sizeof (const void  *_buffer  /**< */);
   12942 
   12943 /**
   12944  *
   12945  * @param c The connection
   12946  * @return A cookie
   12947  *
   12948  * Delivers a request to the X server.
   12949  *
   12950  */
   12951 
   12952 /*****************************************************************************
   12953  **
   12954  ** xcb_get_image_cookie_t xcb_get_image
   12955  **
   12956  ** @param xcb_connection_t *c
   12957  ** @param uint8_t           format
   12958  ** @param xcb_drawable_t    drawable
   12959  ** @param int16_t           x
   12960  ** @param int16_t           y
   12961  ** @param uint16_t          width
   12962  ** @param uint16_t          height
   12963  ** @param uint32_t          plane_mask
   12964  ** @returns xcb_get_image_cookie_t
   12965  **
   12966  *****************************************************************************/
   12967 
   12968 xcb_get_image_cookie_t
   12969 xcb_get_image (xcb_connection_t *c  /**< */,
   12970                uint8_t           format  /**< */,
   12971                xcb_drawable_t    drawable  /**< */,
   12972                int16_t           x  /**< */,
   12973                int16_t           y  /**< */,
   12974                uint16_t          width  /**< */,
   12975                uint16_t          height  /**< */,
   12976                uint32_t          plane_mask  /**< */);
   12977 
   12978 /**
   12979  *
   12980  * @param c The connection
   12981  * @return A cookie
   12982  *
   12983  * Delivers a request to the X server.
   12984  *
   12985  * This form can be used only if the request will cause
   12986  * a reply to be generated. Any returned error will be
   12987  * placed in the event queue.
   12988  */
   12989 
   12990 /*****************************************************************************
   12991  **
   12992  ** xcb_get_image_cookie_t xcb_get_image_unchecked
   12993  **
   12994  ** @param xcb_connection_t *c
   12995  ** @param uint8_t           format
   12996  ** @param xcb_drawable_t    drawable
   12997  ** @param int16_t           x
   12998  ** @param int16_t           y
   12999  ** @param uint16_t          width
   13000  ** @param uint16_t          height
   13001  ** @param uint32_t          plane_mask
   13002  ** @returns xcb_get_image_cookie_t
   13003  **
   13004  *****************************************************************************/
   13005 
   13006 xcb_get_image_cookie_t
   13007 xcb_get_image_unchecked (xcb_connection_t *c  /**< */,
   13008                          uint8_t           format  /**< */,
   13009                          xcb_drawable_t    drawable  /**< */,
   13010                          int16_t           x  /**< */,
   13011                          int16_t           y  /**< */,
   13012                          uint16_t          width  /**< */,
   13013                          uint16_t          height  /**< */,
   13014                          uint32_t          plane_mask  /**< */);
   13015 
   13016 
   13017 /*****************************************************************************
   13018  **
   13019  ** uint8_t * xcb_get_image_data
   13020  **
   13021  ** @param const xcb_get_image_reply_t *R
   13022  ** @returns uint8_t *
   13023  **
   13024  *****************************************************************************/
   13025 
   13026 uint8_t *
   13027 xcb_get_image_data (const xcb_get_image_reply_t *R  /**< */);
   13028 
   13029 
   13030 /*****************************************************************************
   13031  **
   13032  ** int xcb_get_image_data_length
   13033  **
   13034  ** @param const xcb_get_image_reply_t *R
   13035  ** @returns int
   13036  **
   13037  *****************************************************************************/
   13038 
   13039 int
   13040 xcb_get_image_data_length (const xcb_get_image_reply_t *R  /**< */);
   13041 
   13042 
   13043 /*****************************************************************************
   13044  **
   13045  ** xcb_generic_iterator_t xcb_get_image_data_end
   13046  **
   13047  ** @param const xcb_get_image_reply_t *R
   13048  ** @returns xcb_generic_iterator_t
   13049  **
   13050  *****************************************************************************/
   13051 
   13052 xcb_generic_iterator_t
   13053 xcb_get_image_data_end (const xcb_get_image_reply_t *R  /**< */);
   13054 
   13055 /**
   13056  * Return the reply
   13057  * @param c      The connection
   13058  * @param cookie The cookie
   13059  * @param e      The xcb_generic_error_t supplied
   13060  *
   13061  * Returns the reply of the request asked by
   13062  *
   13063  * The parameter @p e supplied to this function must be NULL if
   13064  * xcb_get_image_unchecked(). is used.
   13065  * Otherwise, it stores the error if any.
   13066  *
   13067  * The returned value must be freed by the caller using free().
   13068  */
   13069 
   13070 /*****************************************************************************
   13071  **
   13072  ** xcb_get_image_reply_t * xcb_get_image_reply
   13073  **
   13074  ** @param xcb_connection_t        *c
   13075  ** @param xcb_get_image_cookie_t   cookie
   13076  ** @param xcb_generic_error_t    **e
   13077  ** @returns xcb_get_image_reply_t *
   13078  **
   13079  *****************************************************************************/
   13080 
   13081 xcb_get_image_reply_t *
   13082 xcb_get_image_reply (xcb_connection_t        *c  /**< */,
   13083                      xcb_get_image_cookie_t   cookie  /**< */,
   13084                      xcb_generic_error_t    **e  /**< */);
   13085 
   13086 int
   13087 xcb_poly_text_8_sizeof (const void  *_buffer  /**< */,
   13088                         uint32_t     items_len  /**< */);
   13089 
   13090 /**
   13091  *
   13092  * @param c The connection
   13093  * @return A cookie
   13094  *
   13095  * Delivers a request to the X server.
   13096  *
   13097  * This form can be used only if the request will not cause
   13098  * a reply to be generated. Any returned error will be
   13099  * saved for handling by xcb_request_check().
   13100  */
   13101 
   13102 /*****************************************************************************
   13103  **
   13104  ** xcb_void_cookie_t xcb_poly_text_8_checked
   13105  **
   13106  ** @param xcb_connection_t *c
   13107  ** @param xcb_drawable_t    drawable
   13108  ** @param xcb_gcontext_t    gc
   13109  ** @param int16_t           x
   13110  ** @param int16_t           y
   13111  ** @param uint32_t          items_len
   13112  ** @param const uint8_t    *items
   13113  ** @returns xcb_void_cookie_t
   13114  **
   13115  *****************************************************************************/
   13116 
   13117 xcb_void_cookie_t
   13118 xcb_poly_text_8_checked (xcb_connection_t *c  /**< */,
   13119                          xcb_drawable_t    drawable  /**< */,
   13120                          xcb_gcontext_t    gc  /**< */,
   13121                          int16_t           x  /**< */,
   13122                          int16_t           y  /**< */,
   13123                          uint32_t          items_len  /**< */,
   13124                          const uint8_t    *items  /**< */);
   13125 
   13126 /**
   13127  *
   13128  * @param c The connection
   13129  * @return A cookie
   13130  *
   13131  * Delivers a request to the X server.
   13132  *
   13133  */
   13134 
   13135 /*****************************************************************************
   13136  **
   13137  ** xcb_void_cookie_t xcb_poly_text_8
   13138  **
   13139  ** @param xcb_connection_t *c
   13140  ** @param xcb_drawable_t    drawable
   13141  ** @param xcb_gcontext_t    gc
   13142  ** @param int16_t           x
   13143  ** @param int16_t           y
   13144  ** @param uint32_t          items_len
   13145  ** @param const uint8_t    *items
   13146  ** @returns xcb_void_cookie_t
   13147  **
   13148  *****************************************************************************/
   13149 
   13150 xcb_void_cookie_t
   13151 xcb_poly_text_8 (xcb_connection_t *c  /**< */,
   13152                  xcb_drawable_t    drawable  /**< */,
   13153                  xcb_gcontext_t    gc  /**< */,
   13154                  int16_t           x  /**< */,
   13155                  int16_t           y  /**< */,
   13156                  uint32_t          items_len  /**< */,
   13157                  const uint8_t    *items  /**< */);
   13158 
   13159 int
   13160 xcb_poly_text_16_sizeof (const void  *_buffer  /**< */,
   13161                          uint32_t     items_len  /**< */);
   13162 
   13163 /**
   13164  *
   13165  * @param c The connection
   13166  * @return A cookie
   13167  *
   13168  * Delivers a request to the X server.
   13169  *
   13170  * This form can be used only if the request will not cause
   13171  * a reply to be generated. Any returned error will be
   13172  * saved for handling by xcb_request_check().
   13173  */
   13174 
   13175 /*****************************************************************************
   13176  **
   13177  ** xcb_void_cookie_t xcb_poly_text_16_checked
   13178  **
   13179  ** @param xcb_connection_t *c
   13180  ** @param xcb_drawable_t    drawable
   13181  ** @param xcb_gcontext_t    gc
   13182  ** @param int16_t           x
   13183  ** @param int16_t           y
   13184  ** @param uint32_t          items_len
   13185  ** @param const uint8_t    *items
   13186  ** @returns xcb_void_cookie_t
   13187  **
   13188  *****************************************************************************/
   13189 
   13190 xcb_void_cookie_t
   13191 xcb_poly_text_16_checked (xcb_connection_t *c  /**< */,
   13192                           xcb_drawable_t    drawable  /**< */,
   13193                           xcb_gcontext_t    gc  /**< */,
   13194                           int16_t           x  /**< */,
   13195                           int16_t           y  /**< */,
   13196                           uint32_t          items_len  /**< */,
   13197                           const uint8_t    *items  /**< */);
   13198 
   13199 /**
   13200  *
   13201  * @param c The connection
   13202  * @return A cookie
   13203  *
   13204  * Delivers a request to the X server.
   13205  *
   13206  */
   13207 
   13208 /*****************************************************************************
   13209  **
   13210  ** xcb_void_cookie_t xcb_poly_text_16
   13211  **
   13212  ** @param xcb_connection_t *c
   13213  ** @param xcb_drawable_t    drawable
   13214  ** @param xcb_gcontext_t    gc
   13215  ** @param int16_t           x
   13216  ** @param int16_t           y
   13217  ** @param uint32_t          items_len
   13218  ** @param const uint8_t    *items
   13219  ** @returns xcb_void_cookie_t
   13220  **
   13221  *****************************************************************************/
   13222 
   13223 xcb_void_cookie_t
   13224 xcb_poly_text_16 (xcb_connection_t *c  /**< */,
   13225                   xcb_drawable_t    drawable  /**< */,
   13226                   xcb_gcontext_t    gc  /**< */,
   13227                   int16_t           x  /**< */,
   13228                   int16_t           y  /**< */,
   13229                   uint32_t          items_len  /**< */,
   13230                   const uint8_t    *items  /**< */);
   13231 
   13232 int
   13233 xcb_image_text_8_sizeof (const void  *_buffer  /**< */);
   13234 
   13235 /**
   13236  * @brief Draws text
   13237  *
   13238  * @param c The connection
   13239  * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
   13240  * using 8 bits!
   13241  * @param drawable The drawable (Window or Pixmap) to draw text on.
   13242  * @param gc The graphics context to use.
   13243  * \n
   13244  * The following graphics context components are used: plane-mask, foreground,
   13245  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
   13246  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
   13247  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
   13248  * @param string The string to draw. Only the first 255 characters are relevant due to the data
   13249  * type of \a string_len.
   13250  * @return A cookie
   13251  *
   13252  * Fills the destination rectangle with the background pixel from \a gc, then
   13253  * paints the text with the foreground pixel from \a gc. The upper-left corner of
   13254  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
   13255  * the height is font-ascent + font-descent. The overall-width, font-ascent and
   13256  * font-descent are as returned by `xcb_query_text_extents` (TODO).
   13257  *
   13258  * Note that using X core fonts is deprecated (but still supported) in favor of
   13259  * client-side rendering using Xft.
   13260  *
   13261  * This form can be used only if the request will not cause
   13262  * a reply to be generated. Any returned error will be
   13263  * saved for handling by xcb_request_check().
   13264  */
   13265 
   13266 /*****************************************************************************
   13267  **
   13268  ** xcb_void_cookie_t xcb_image_text_8_checked
   13269  **
   13270  ** @param xcb_connection_t *c
   13271  ** @param uint8_t           string_len
   13272  ** @param xcb_drawable_t    drawable
   13273  ** @param xcb_gcontext_t    gc
   13274  ** @param int16_t           x
   13275  ** @param int16_t           y
   13276  ** @param const char       *string
   13277  ** @returns xcb_void_cookie_t
   13278  **
   13279  *****************************************************************************/
   13280 
   13281 xcb_void_cookie_t
   13282 xcb_image_text_8_checked (xcb_connection_t *c  /**< */,
   13283                           uint8_t           string_len  /**< */,
   13284                           xcb_drawable_t    drawable  /**< */,
   13285                           xcb_gcontext_t    gc  /**< */,
   13286                           int16_t           x  /**< */,
   13287                           int16_t           y  /**< */,
   13288                           const char       *string  /**< */);
   13289 
   13290 /**
   13291  * @brief Draws text
   13292  *
   13293  * @param c The connection
   13294  * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
   13295  * using 8 bits!
   13296  * @param drawable The drawable (Window or Pixmap) to draw text on.
   13297  * @param gc The graphics context to use.
   13298  * \n
   13299  * The following graphics context components are used: plane-mask, foreground,
   13300  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
   13301  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
   13302  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
   13303  * @param string The string to draw. Only the first 255 characters are relevant due to the data
   13304  * type of \a string_len.
   13305  * @return A cookie
   13306  *
   13307  * Fills the destination rectangle with the background pixel from \a gc, then
   13308  * paints the text with the foreground pixel from \a gc. The upper-left corner of
   13309  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
   13310  * the height is font-ascent + font-descent. The overall-width, font-ascent and
   13311  * font-descent are as returned by `xcb_query_text_extents` (TODO).
   13312  *
   13313  * Note that using X core fonts is deprecated (but still supported) in favor of
   13314  * client-side rendering using Xft.
   13315  *
   13316  */
   13317 
   13318 /*****************************************************************************
   13319  **
   13320  ** xcb_void_cookie_t xcb_image_text_8
   13321  **
   13322  ** @param xcb_connection_t *c
   13323  ** @param uint8_t           string_len
   13324  ** @param xcb_drawable_t    drawable
   13325  ** @param xcb_gcontext_t    gc
   13326  ** @param int16_t           x
   13327  ** @param int16_t           y
   13328  ** @param const char       *string
   13329  ** @returns xcb_void_cookie_t
   13330  **
   13331  *****************************************************************************/
   13332 
   13333 xcb_void_cookie_t
   13334 xcb_image_text_8 (xcb_connection_t *c  /**< */,
   13335                   uint8_t           string_len  /**< */,
   13336                   xcb_drawable_t    drawable  /**< */,
   13337                   xcb_gcontext_t    gc  /**< */,
   13338                   int16_t           x  /**< */,
   13339                   int16_t           y  /**< */,
   13340                   const char       *string  /**< */);
   13341 
   13342 int
   13343 xcb_image_text_16_sizeof (const void  *_buffer  /**< */);
   13344 
   13345 /**
   13346  * @brief Draws text
   13347  *
   13348  * @param c The connection
   13349  * @param string_len The length of the \a string in characters. Note that this parameter limited by
   13350  * 255 due to using 8 bits!
   13351  * @param drawable The drawable (Window or Pixmap) to draw text on.
   13352  * @param gc The graphics context to use.
   13353  * \n
   13354  * The following graphics context components are used: plane-mask, foreground,
   13355  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
   13356  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
   13357  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
   13358  * @param string The string to draw. Only the first 255 characters are relevant due to the data
   13359  * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
   13360  * request's name).
   13361  * @return A cookie
   13362  *
   13363  * Fills the destination rectangle with the background pixel from \a gc, then
   13364  * paints the text with the foreground pixel from \a gc. The upper-left corner of
   13365  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
   13366  * the height is font-ascent + font-descent. The overall-width, font-ascent and
   13367  * font-descent are as returned by `xcb_query_text_extents` (TODO).
   13368  *
   13369  * Note that using X core fonts is deprecated (but still supported) in favor of
   13370  * client-side rendering using Xft.
   13371  *
   13372  * This form can be used only if the request will not cause
   13373  * a reply to be generated. Any returned error will be
   13374  * saved for handling by xcb_request_check().
   13375  */
   13376 
   13377 /*****************************************************************************
   13378  **
   13379  ** xcb_void_cookie_t xcb_image_text_16_checked
   13380  **
   13381  ** @param xcb_connection_t   *c
   13382  ** @param uint8_t             string_len
   13383  ** @param xcb_drawable_t      drawable
   13384  ** @param xcb_gcontext_t      gc
   13385  ** @param int16_t             x
   13386  ** @param int16_t             y
   13387  ** @param const xcb_char2b_t *string
   13388  ** @returns xcb_void_cookie_t
   13389  **
   13390  *****************************************************************************/
   13391 
   13392 xcb_void_cookie_t
   13393 xcb_image_text_16_checked (xcb_connection_t   *c  /**< */,
   13394                            uint8_t             string_len  /**< */,
   13395                            xcb_drawable_t      drawable  /**< */,
   13396                            xcb_gcontext_t      gc  /**< */,
   13397                            int16_t             x  /**< */,
   13398                            int16_t             y  /**< */,
   13399                            const xcb_char2b_t *string  /**< */);
   13400 
   13401 /**
   13402  * @brief Draws text
   13403  *
   13404  * @param c The connection
   13405  * @param string_len The length of the \a string in characters. Note that this parameter limited by
   13406  * 255 due to using 8 bits!
   13407  * @param drawable The drawable (Window or Pixmap) to draw text on.
   13408  * @param gc The graphics context to use.
   13409  * \n
   13410  * The following graphics context components are used: plane-mask, foreground,
   13411  * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
   13412  * @param x The x coordinate of the first character, relative to the origin of \a drawable.
   13413  * @param y The y coordinate of the first character, relative to the origin of \a drawable.
   13414  * @param string The string to draw. Only the first 255 characters are relevant due to the data
   13415  * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
   13416  * request's name).
   13417  * @return A cookie
   13418  *
   13419  * Fills the destination rectangle with the background pixel from \a gc, then
   13420  * paints the text with the foreground pixel from \a gc. The upper-left corner of
   13421  * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
   13422  * the height is font-ascent + font-descent. The overall-width, font-ascent and
   13423  * font-descent are as returned by `xcb_query_text_extents` (TODO).
   13424  *
   13425  * Note that using X core fonts is deprecated (but still supported) in favor of
   13426  * client-side rendering using Xft.
   13427  *
   13428  */
   13429 
   13430 /*****************************************************************************
   13431  **
   13432  ** xcb_void_cookie_t xcb_image_text_16
   13433  **
   13434  ** @param xcb_connection_t   *c
   13435  ** @param uint8_t             string_len
   13436  ** @param xcb_drawable_t      drawable
   13437  ** @param xcb_gcontext_t      gc
   13438  ** @param int16_t             x
   13439  ** @param int16_t             y
   13440  ** @param const xcb_char2b_t *string
   13441  ** @returns xcb_void_cookie_t
   13442  **
   13443  *****************************************************************************/
   13444 
   13445 xcb_void_cookie_t
   13446 xcb_image_text_16 (xcb_connection_t   *c  /**< */,
   13447                    uint8_t             string_len  /**< */,
   13448                    xcb_drawable_t      drawable  /**< */,
   13449                    xcb_gcontext_t      gc  /**< */,
   13450                    int16_t             x  /**< */,
   13451                    int16_t             y  /**< */,
   13452                    const xcb_char2b_t *string  /**< */);
   13453 
   13454 /**
   13455  *
   13456  * @param c The connection
   13457  * @return A cookie
   13458  *
   13459  * Delivers a request to the X server.
   13460  *
   13461  * This form can be used only if the request will not cause
   13462  * a reply to be generated. Any returned error will be
   13463  * saved for handling by xcb_request_check().
   13464  */
   13465 
   13466 /*****************************************************************************
   13467  **
   13468  ** xcb_void_cookie_t xcb_create_colormap_checked
   13469  **
   13470  ** @param xcb_connection_t *c
   13471  ** @param uint8_t           alloc
   13472  ** @param xcb_colormap_t    mid
   13473  ** @param xcb_window_t      window
   13474  ** @param xcb_visualid_t    visual
   13475  ** @returns xcb_void_cookie_t
   13476  **
   13477  *****************************************************************************/
   13478 
   13479 xcb_void_cookie_t
   13480 xcb_create_colormap_checked (xcb_connection_t *c  /**< */,
   13481                              uint8_t           alloc  /**< */,
   13482                              xcb_colormap_t    mid  /**< */,
   13483                              xcb_window_t      window  /**< */,
   13484                              xcb_visualid_t    visual  /**< */);
   13485 
   13486 /**
   13487  *
   13488  * @param c The connection
   13489  * @return A cookie
   13490  *
   13491  * Delivers a request to the X server.
   13492  *
   13493  */
   13494 
   13495 /*****************************************************************************
   13496  **
   13497  ** xcb_void_cookie_t xcb_create_colormap
   13498  **
   13499  ** @param xcb_connection_t *c
   13500  ** @param uint8_t           alloc
   13501  ** @param xcb_colormap_t    mid
   13502  ** @param xcb_window_t      window
   13503  ** @param xcb_visualid_t    visual
   13504  ** @returns xcb_void_cookie_t
   13505  **
   13506  *****************************************************************************/
   13507 
   13508 xcb_void_cookie_t
   13509 xcb_create_colormap (xcb_connection_t *c  /**< */,
   13510                      uint8_t           alloc  /**< */,
   13511                      xcb_colormap_t    mid  /**< */,
   13512                      xcb_window_t      window  /**< */,
   13513                      xcb_visualid_t    visual  /**< */);
   13514 
   13515 /**
   13516  *
   13517  * @param c The connection
   13518  * @return A cookie
   13519  *
   13520  * Delivers a request to the X server.
   13521  *
   13522  * This form can be used only if the request will not cause
   13523  * a reply to be generated. Any returned error will be
   13524  * saved for handling by xcb_request_check().
   13525  */
   13526 
   13527 /*****************************************************************************
   13528  **
   13529  ** xcb_void_cookie_t xcb_free_colormap_checked
   13530  **
   13531  ** @param xcb_connection_t *c
   13532  ** @param xcb_colormap_t    cmap
   13533  ** @returns xcb_void_cookie_t
   13534  **
   13535  *****************************************************************************/
   13536 
   13537 xcb_void_cookie_t
   13538 xcb_free_colormap_checked (xcb_connection_t *c  /**< */,
   13539                            xcb_colormap_t    cmap  /**< */);
   13540 
   13541 /**
   13542  *
   13543  * @param c The connection
   13544  * @return A cookie
   13545  *
   13546  * Delivers a request to the X server.
   13547  *
   13548  */
   13549 
   13550 /*****************************************************************************
   13551  **
   13552  ** xcb_void_cookie_t xcb_free_colormap
   13553  **
   13554  ** @param xcb_connection_t *c
   13555  ** @param xcb_colormap_t    cmap
   13556  ** @returns xcb_void_cookie_t
   13557  **
   13558  *****************************************************************************/
   13559 
   13560 xcb_void_cookie_t
   13561 xcb_free_colormap (xcb_connection_t *c  /**< */,
   13562                    xcb_colormap_t    cmap  /**< */);
   13563 
   13564 /**
   13565  *
   13566  * @param c The connection
   13567  * @return A cookie
   13568  *
   13569  * Delivers a request to the X server.
   13570  *
   13571  * This form can be used only if the request will not cause
   13572  * a reply to be generated. Any returned error will be
   13573  * saved for handling by xcb_request_check().
   13574  */
   13575 
   13576 /*****************************************************************************
   13577  **
   13578  ** xcb_void_cookie_t xcb_copy_colormap_and_free_checked
   13579  **
   13580  ** @param xcb_connection_t *c
   13581  ** @param xcb_colormap_t    mid
   13582  ** @param xcb_colormap_t    src_cmap
   13583  ** @returns xcb_void_cookie_t
   13584  **
   13585  *****************************************************************************/
   13586 
   13587 xcb_void_cookie_t
   13588 xcb_copy_colormap_and_free_checked (xcb_connection_t *c  /**< */,
   13589                                     xcb_colormap_t    mid  /**< */,
   13590                                     xcb_colormap_t    src_cmap  /**< */);
   13591 
   13592 /**
   13593  *
   13594  * @param c The connection
   13595  * @return A cookie
   13596  *
   13597  * Delivers a request to the X server.
   13598  *
   13599  */
   13600 
   13601 /*****************************************************************************
   13602  **
   13603  ** xcb_void_cookie_t xcb_copy_colormap_and_free
   13604  **
   13605  ** @param xcb_connection_t *c
   13606  ** @param xcb_colormap_t    mid
   13607  ** @param xcb_colormap_t    src_cmap
   13608  ** @returns xcb_void_cookie_t
   13609  **
   13610  *****************************************************************************/
   13611 
   13612 xcb_void_cookie_t
   13613 xcb_copy_colormap_and_free (xcb_connection_t *c  /**< */,
   13614                             xcb_colormap_t    mid  /**< */,
   13615                             xcb_colormap_t    src_cmap  /**< */);
   13616 
   13617 /**
   13618  *
   13619  * @param c The connection
   13620  * @return A cookie
   13621  *
   13622  * Delivers a request to the X server.
   13623  *
   13624  * This form can be used only if the request will not cause
   13625  * a reply to be generated. Any returned error will be
   13626  * saved for handling by xcb_request_check().
   13627  */
   13628 
   13629 /*****************************************************************************
   13630  **
   13631  ** xcb_void_cookie_t xcb_install_colormap_checked
   13632  **
   13633  ** @param xcb_connection_t *c
   13634  ** @param xcb_colormap_t    cmap
   13635  ** @returns xcb_void_cookie_t
   13636  **
   13637  *****************************************************************************/
   13638 
   13639 xcb_void_cookie_t
   13640 xcb_install_colormap_checked (xcb_connection_t *c  /**< */,
   13641                               xcb_colormap_t    cmap  /**< */);
   13642 
   13643 /**
   13644  *
   13645  * @param c The connection
   13646  * @return A cookie
   13647  *
   13648  * Delivers a request to the X server.
   13649  *
   13650  */
   13651 
   13652 /*****************************************************************************
   13653  **
   13654  ** xcb_void_cookie_t xcb_install_colormap
   13655  **
   13656  ** @param xcb_connection_t *c
   13657  ** @param xcb_colormap_t    cmap
   13658  ** @returns xcb_void_cookie_t
   13659  **
   13660  *****************************************************************************/
   13661 
   13662 xcb_void_cookie_t
   13663 xcb_install_colormap (xcb_connection_t *c  /**< */,
   13664                       xcb_colormap_t    cmap  /**< */);
   13665 
   13666 /**
   13667  *
   13668  * @param c The connection
   13669  * @return A cookie
   13670  *
   13671  * Delivers a request to the X server.
   13672  *
   13673  * This form can be used only if the request will not cause
   13674  * a reply to be generated. Any returned error will be
   13675  * saved for handling by xcb_request_check().
   13676  */
   13677 
   13678 /*****************************************************************************
   13679  **
   13680  ** xcb_void_cookie_t xcb_uninstall_colormap_checked
   13681  **
   13682  ** @param xcb_connection_t *c
   13683  ** @param xcb_colormap_t    cmap
   13684  ** @returns xcb_void_cookie_t
   13685  **
   13686  *****************************************************************************/
   13687 
   13688 xcb_void_cookie_t
   13689 xcb_uninstall_colormap_checked (xcb_connection_t *c  /**< */,
   13690                                 xcb_colormap_t    cmap  /**< */);
   13691 
   13692 /**
   13693  *
   13694  * @param c The connection
   13695  * @return A cookie
   13696  *
   13697  * Delivers a request to the X server.
   13698  *
   13699  */
   13700 
   13701 /*****************************************************************************
   13702  **
   13703  ** xcb_void_cookie_t xcb_uninstall_colormap
   13704  **
   13705  ** @param xcb_connection_t *c
   13706  ** @param xcb_colormap_t    cmap
   13707  ** @returns xcb_void_cookie_t
   13708  **
   13709  *****************************************************************************/
   13710 
   13711 xcb_void_cookie_t
   13712 xcb_uninstall_colormap (xcb_connection_t *c  /**< */,
   13713                         xcb_colormap_t    cmap  /**< */);
   13714 
   13715 int
   13716 xcb_list_installed_colormaps_sizeof (const void  *_buffer  /**< */);
   13717 
   13718 /**
   13719  *
   13720  * @param c The connection
   13721  * @return A cookie
   13722  *
   13723  * Delivers a request to the X server.
   13724  *
   13725  */
   13726 
   13727 /*****************************************************************************
   13728  **
   13729  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps
   13730  **
   13731  ** @param xcb_connection_t *c
   13732  ** @param xcb_window_t      window
   13733  ** @returns xcb_list_installed_colormaps_cookie_t
   13734  **
   13735  *****************************************************************************/
   13736 
   13737 xcb_list_installed_colormaps_cookie_t
   13738 xcb_list_installed_colormaps (xcb_connection_t *c  /**< */,
   13739                               xcb_window_t      window  /**< */);
   13740 
   13741 /**
   13742  *
   13743  * @param c The connection
   13744  * @return A cookie
   13745  *
   13746  * Delivers a request to the X server.
   13747  *
   13748  * This form can be used only if the request will cause
   13749  * a reply to be generated. Any returned error will be
   13750  * placed in the event queue.
   13751  */
   13752 
   13753 /*****************************************************************************
   13754  **
   13755  ** xcb_list_installed_colormaps_cookie_t xcb_list_installed_colormaps_unchecked
   13756  **
   13757  ** @param xcb_connection_t *c
   13758  ** @param xcb_window_t      window
   13759  ** @returns xcb_list_installed_colormaps_cookie_t
   13760  **
   13761  *****************************************************************************/
   13762 
   13763 xcb_list_installed_colormaps_cookie_t
   13764 xcb_list_installed_colormaps_unchecked (xcb_connection_t *c  /**< */,
   13765                                         xcb_window_t      window  /**< */);
   13766 
   13767 
   13768 /*****************************************************************************
   13769  **
   13770  ** xcb_colormap_t * xcb_list_installed_colormaps_cmaps
   13771  **
   13772  ** @param const xcb_list_installed_colormaps_reply_t *R
   13773  ** @returns xcb_colormap_t *
   13774  **
   13775  *****************************************************************************/
   13776 
   13777 xcb_colormap_t *
   13778 xcb_list_installed_colormaps_cmaps (const xcb_list_installed_colormaps_reply_t *R  /**< */);
   13779 
   13780 
   13781 /*****************************************************************************
   13782  **
   13783  ** int xcb_list_installed_colormaps_cmaps_length
   13784  **
   13785  ** @param const xcb_list_installed_colormaps_reply_t *R
   13786  ** @returns int
   13787  **
   13788  *****************************************************************************/
   13789 
   13790 int
   13791 xcb_list_installed_colormaps_cmaps_length (const xcb_list_installed_colormaps_reply_t *R  /**< */);
   13792 
   13793 
   13794 /*****************************************************************************
   13795  **
   13796  ** xcb_generic_iterator_t xcb_list_installed_colormaps_cmaps_end
   13797  **
   13798  ** @param const xcb_list_installed_colormaps_reply_t *R
   13799  ** @returns xcb_generic_iterator_t
   13800  **
   13801  *****************************************************************************/
   13802 
   13803 xcb_generic_iterator_t
   13804 xcb_list_installed_colormaps_cmaps_end (const xcb_list_installed_colormaps_reply_t *R  /**< */);
   13805 
   13806 /**
   13807  * Return the reply
   13808  * @param c      The connection
   13809  * @param cookie The cookie
   13810  * @param e      The xcb_generic_error_t supplied
   13811  *
   13812  * Returns the reply of the request asked by
   13813  *
   13814  * The parameter @p e supplied to this function must be NULL if
   13815  * xcb_list_installed_colormaps_unchecked(). is used.
   13816  * Otherwise, it stores the error if any.
   13817  *
   13818  * The returned value must be freed by the caller using free().
   13819  */
   13820 
   13821 /*****************************************************************************
   13822  **
   13823  ** xcb_list_installed_colormaps_reply_t * xcb_list_installed_colormaps_reply
   13824  **
   13825  ** @param xcb_connection_t                       *c
   13826  ** @param xcb_list_installed_colormaps_cookie_t   cookie
   13827  ** @param xcb_generic_error_t                   **e
   13828  ** @returns xcb_list_installed_colormaps_reply_t *
   13829  **
   13830  *****************************************************************************/
   13831 
   13832 xcb_list_installed_colormaps_reply_t *
   13833 xcb_list_installed_colormaps_reply (xcb_connection_t                       *c  /**< */,
   13834                                     xcb_list_installed_colormaps_cookie_t   cookie  /**< */,
   13835                                     xcb_generic_error_t                   **e  /**< */);
   13836 
   13837 /**
   13838  * @brief Allocate a color
   13839  *
   13840  * @param c The connection
   13841  * @param cmap TODO
   13842  * @param red The red value of your color.
   13843  * @param green The green value of your color.
   13844  * @param blue The blue value of your color.
   13845  * @return A cookie
   13846  *
   13847  * Allocates a read-only colormap entry corresponding to the closest RGB value
   13848  * supported by the hardware. If you are using TrueColor, you can take a shortcut
   13849  * and directly calculate the color pixel value to avoid the round trip. But, for
   13850  * example, on 16-bit color setups (VNC), you can easily get the closest supported
   13851  * RGB value to the RGB value you are specifying.
   13852  *
   13853  */
   13854 
   13855 /*****************************************************************************
   13856  **
   13857  ** xcb_alloc_color_cookie_t xcb_alloc_color
   13858  **
   13859  ** @param xcb_connection_t *c
   13860  ** @param xcb_colormap_t    cmap
   13861  ** @param uint16_t          red
   13862  ** @param uint16_t          green
   13863  ** @param uint16_t          blue
   13864  ** @returns xcb_alloc_color_cookie_t
   13865  **
   13866  *****************************************************************************/
   13867 
   13868 xcb_alloc_color_cookie_t
   13869 xcb_alloc_color (xcb_connection_t *c  /**< */,
   13870                  xcb_colormap_t    cmap  /**< */,
   13871                  uint16_t          red  /**< */,
   13872                  uint16_t          green  /**< */,
   13873                  uint16_t          blue  /**< */);
   13874 
   13875 /**
   13876  * @brief Allocate a color
   13877  *
   13878  * @param c The connection
   13879  * @param cmap TODO
   13880  * @param red The red value of your color.
   13881  * @param green The green value of your color.
   13882  * @param blue The blue value of your color.
   13883  * @return A cookie
   13884  *
   13885  * Allocates a read-only colormap entry corresponding to the closest RGB value
   13886  * supported by the hardware. If you are using TrueColor, you can take a shortcut
   13887  * and directly calculate the color pixel value to avoid the round trip. But, for
   13888  * example, on 16-bit color setups (VNC), you can easily get the closest supported
   13889  * RGB value to the RGB value you are specifying.
   13890  *
   13891  * This form can be used only if the request will cause
   13892  * a reply to be generated. Any returned error will be
   13893  * placed in the event queue.
   13894  */
   13895 
   13896 /*****************************************************************************
   13897  **
   13898  ** xcb_alloc_color_cookie_t xcb_alloc_color_unchecked
   13899  **
   13900  ** @param xcb_connection_t *c
   13901  ** @param xcb_colormap_t    cmap
   13902  ** @param uint16_t          red
   13903  ** @param uint16_t          green
   13904  ** @param uint16_t          blue
   13905  ** @returns xcb_alloc_color_cookie_t
   13906  **
   13907  *****************************************************************************/
   13908 
   13909 xcb_alloc_color_cookie_t
   13910 xcb_alloc_color_unchecked (xcb_connection_t *c  /**< */,
   13911                            xcb_colormap_t    cmap  /**< */,
   13912                            uint16_t          red  /**< */,
   13913                            uint16_t          green  /**< */,
   13914                            uint16_t          blue  /**< */);
   13915 
   13916 /**
   13917  * Return the reply
   13918  * @param c      The connection
   13919  * @param cookie The cookie
   13920  * @param e      The xcb_generic_error_t supplied
   13921  *
   13922  * Returns the reply of the request asked by
   13923  *
   13924  * The parameter @p e supplied to this function must be NULL if
   13925  * xcb_alloc_color_unchecked(). is used.
   13926  * Otherwise, it stores the error if any.
   13927  *
   13928  * The returned value must be freed by the caller using free().
   13929  */
   13930 
   13931 /*****************************************************************************
   13932  **
   13933  ** xcb_alloc_color_reply_t * xcb_alloc_color_reply
   13934  **
   13935  ** @param xcb_connection_t          *c
   13936  ** @param xcb_alloc_color_cookie_t   cookie
   13937  ** @param xcb_generic_error_t      **e
   13938  ** @returns xcb_alloc_color_reply_t *
   13939  **
   13940  *****************************************************************************/
   13941 
   13942 xcb_alloc_color_reply_t *
   13943 xcb_alloc_color_reply (xcb_connection_t          *c  /**< */,
   13944                        xcb_alloc_color_cookie_t   cookie  /**< */,
   13945                        xcb_generic_error_t      **e  /**< */);
   13946 
   13947 int
   13948 xcb_alloc_named_color_sizeof (const void  *_buffer  /**< */);
   13949 
   13950 /**
   13951  *
   13952  * @param c The connection
   13953  * @return A cookie
   13954  *
   13955  * Delivers a request to the X server.
   13956  *
   13957  */
   13958 
   13959 /*****************************************************************************
   13960  **
   13961  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color
   13962  **
   13963  ** @param xcb_connection_t *c
   13964  ** @param xcb_colormap_t    cmap
   13965  ** @param uint16_t          name_len
   13966  ** @param const char       *name
   13967  ** @returns xcb_alloc_named_color_cookie_t
   13968  **
   13969  *****************************************************************************/
   13970 
   13971 xcb_alloc_named_color_cookie_t
   13972 xcb_alloc_named_color (xcb_connection_t *c  /**< */,
   13973                        xcb_colormap_t    cmap  /**< */,
   13974                        uint16_t          name_len  /**< */,
   13975                        const char       *name  /**< */);
   13976 
   13977 /**
   13978  *
   13979  * @param c The connection
   13980  * @return A cookie
   13981  *
   13982  * Delivers a request to the X server.
   13983  *
   13984  * This form can be used only if the request will cause
   13985  * a reply to be generated. Any returned error will be
   13986  * placed in the event queue.
   13987  */
   13988 
   13989 /*****************************************************************************
   13990  **
   13991  ** xcb_alloc_named_color_cookie_t xcb_alloc_named_color_unchecked
   13992  **
   13993  ** @param xcb_connection_t *c
   13994  ** @param xcb_colormap_t    cmap
   13995  ** @param uint16_t          name_len
   13996  ** @param const char       *name
   13997  ** @returns xcb_alloc_named_color_cookie_t
   13998  **
   13999  *****************************************************************************/
   14000 
   14001 xcb_alloc_named_color_cookie_t
   14002 xcb_alloc_named_color_unchecked (xcb_connection_t *c  /**< */,
   14003                                  xcb_colormap_t    cmap  /**< */,
   14004                                  uint16_t          name_len  /**< */,
   14005                                  const char       *name  /**< */);
   14006 
   14007 /**
   14008  * Return the reply
   14009  * @param c      The connection
   14010  * @param cookie The cookie
   14011  * @param e      The xcb_generic_error_t supplied
   14012  *
   14013  * Returns the reply of the request asked by
   14014  *
   14015  * The parameter @p e supplied to this function must be NULL if
   14016  * xcb_alloc_named_color_unchecked(). is used.
   14017  * Otherwise, it stores the error if any.
   14018  *
   14019  * The returned value must be freed by the caller using free().
   14020  */
   14021 
   14022 /*****************************************************************************
   14023  **
   14024  ** xcb_alloc_named_color_reply_t * xcb_alloc_named_color_reply
   14025  **
   14026  ** @param xcb_connection_t                *c
   14027  ** @param xcb_alloc_named_color_cookie_t   cookie
   14028  ** @param xcb_generic_error_t            **e
   14029  ** @returns xcb_alloc_named_color_reply_t *
   14030  **
   14031  *****************************************************************************/
   14032 
   14033 xcb_alloc_named_color_reply_t *
   14034 xcb_alloc_named_color_reply (xcb_connection_t                *c  /**< */,
   14035                              xcb_alloc_named_color_cookie_t   cookie  /**< */,
   14036                              xcb_generic_error_t            **e  /**< */);
   14037 
   14038 int
   14039 xcb_alloc_color_cells_sizeof (const void  *_buffer  /**< */);
   14040 
   14041 /**
   14042  *
   14043  * @param c The connection
   14044  * @return A cookie
   14045  *
   14046  * Delivers a request to the X server.
   14047  *
   14048  */
   14049 
   14050 /*****************************************************************************
   14051  **
   14052  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells
   14053  **
   14054  ** @param xcb_connection_t *c
   14055  ** @param uint8_t           contiguous
   14056  ** @param xcb_colormap_t    cmap
   14057  ** @param uint16_t          colors
   14058  ** @param uint16_t          planes
   14059  ** @returns xcb_alloc_color_cells_cookie_t
   14060  **
   14061  *****************************************************************************/
   14062 
   14063 xcb_alloc_color_cells_cookie_t
   14064 xcb_alloc_color_cells (xcb_connection_t *c  /**< */,
   14065                        uint8_t           contiguous  /**< */,
   14066                        xcb_colormap_t    cmap  /**< */,
   14067                        uint16_t          colors  /**< */,
   14068                        uint16_t          planes  /**< */);
   14069 
   14070 /**
   14071  *
   14072  * @param c The connection
   14073  * @return A cookie
   14074  *
   14075  * Delivers a request to the X server.
   14076  *
   14077  * This form can be used only if the request will cause
   14078  * a reply to be generated. Any returned error will be
   14079  * placed in the event queue.
   14080  */
   14081 
   14082 /*****************************************************************************
   14083  **
   14084  ** xcb_alloc_color_cells_cookie_t xcb_alloc_color_cells_unchecked
   14085  **
   14086  ** @param xcb_connection_t *c
   14087  ** @param uint8_t           contiguous
   14088  ** @param xcb_colormap_t    cmap
   14089  ** @param uint16_t          colors
   14090  ** @param uint16_t          planes
   14091  ** @returns xcb_alloc_color_cells_cookie_t
   14092  **
   14093  *****************************************************************************/
   14094 
   14095 xcb_alloc_color_cells_cookie_t
   14096 xcb_alloc_color_cells_unchecked (xcb_connection_t *c  /**< */,
   14097                                  uint8_t           contiguous  /**< */,
   14098                                  xcb_colormap_t    cmap  /**< */,
   14099                                  uint16_t          colors  /**< */,
   14100                                  uint16_t          planes  /**< */);
   14101 
   14102 
   14103 /*****************************************************************************
   14104  **
   14105  ** uint32_t * xcb_alloc_color_cells_pixels
   14106  **
   14107  ** @param const xcb_alloc_color_cells_reply_t *R
   14108  ** @returns uint32_t *
   14109  **
   14110  *****************************************************************************/
   14111 
   14112 uint32_t *
   14113 xcb_alloc_color_cells_pixels (const xcb_alloc_color_cells_reply_t *R  /**< */);
   14114 
   14115 
   14116 /*****************************************************************************
   14117  **
   14118  ** int xcb_alloc_color_cells_pixels_length
   14119  **
   14120  ** @param const xcb_alloc_color_cells_reply_t *R
   14121  ** @returns int
   14122  **
   14123  *****************************************************************************/
   14124 
   14125 int
   14126 xcb_alloc_color_cells_pixels_length (const xcb_alloc_color_cells_reply_t *R  /**< */);
   14127 
   14128 
   14129 /*****************************************************************************
   14130  **
   14131  ** xcb_generic_iterator_t xcb_alloc_color_cells_pixels_end
   14132  **
   14133  ** @param const xcb_alloc_color_cells_reply_t *R
   14134  ** @returns xcb_generic_iterator_t
   14135  **
   14136  *****************************************************************************/
   14137 
   14138 xcb_generic_iterator_t
   14139 xcb_alloc_color_cells_pixels_end (const xcb_alloc_color_cells_reply_t *R  /**< */);
   14140 
   14141 
   14142 /*****************************************************************************
   14143  **
   14144  ** uint32_t * xcb_alloc_color_cells_masks
   14145  **
   14146  ** @param const xcb_alloc_color_cells_reply_t *R
   14147  ** @returns uint32_t *
   14148  **
   14149  *****************************************************************************/
   14150 
   14151 uint32_t *
   14152 xcb_alloc_color_cells_masks (const xcb_alloc_color_cells_reply_t *R  /**< */);
   14153 
   14154 
   14155 /*****************************************************************************
   14156  **
   14157  ** int xcb_alloc_color_cells_masks_length
   14158  **
   14159  ** @param const xcb_alloc_color_cells_reply_t *R
   14160  ** @returns int
   14161  **
   14162  *****************************************************************************/
   14163 
   14164 int
   14165 xcb_alloc_color_cells_masks_length (const xcb_alloc_color_cells_reply_t *R  /**< */);
   14166 
   14167 
   14168 /*****************************************************************************
   14169  **
   14170  ** xcb_generic_iterator_t xcb_alloc_color_cells_masks_end
   14171  **
   14172  ** @param const xcb_alloc_color_cells_reply_t *R
   14173  ** @returns xcb_generic_iterator_t
   14174  **
   14175  *****************************************************************************/
   14176 
   14177 xcb_generic_iterator_t
   14178 xcb_alloc_color_cells_masks_end (const xcb_alloc_color_cells_reply_t *R  /**< */);
   14179 
   14180 /**
   14181  * Return the reply
   14182  * @param c      The connection
   14183  * @param cookie The cookie
   14184  * @param e      The xcb_generic_error_t supplied
   14185  *
   14186  * Returns the reply of the request asked by
   14187  *
   14188  * The parameter @p e supplied to this function must be NULL if
   14189  * xcb_alloc_color_cells_unchecked(). is used.
   14190  * Otherwise, it stores the error if any.
   14191  *
   14192  * The returned value must be freed by the caller using free().
   14193  */
   14194 
   14195 /*****************************************************************************
   14196  **
   14197  ** xcb_alloc_color_cells_reply_t * xcb_alloc_color_cells_reply
   14198  **
   14199  ** @param xcb_connection_t                *c
   14200  ** @param xcb_alloc_color_cells_cookie_t   cookie
   14201  ** @param xcb_generic_error_t            **e
   14202  ** @returns xcb_alloc_color_cells_reply_t *
   14203  **
   14204  *****************************************************************************/
   14205 
   14206 xcb_alloc_color_cells_reply_t *
   14207 xcb_alloc_color_cells_reply (xcb_connection_t                *c  /**< */,
   14208                              xcb_alloc_color_cells_cookie_t   cookie  /**< */,
   14209                              xcb_generic_error_t            **e  /**< */);
   14210 
   14211 int
   14212 xcb_alloc_color_planes_sizeof (const void  *_buffer  /**< */);
   14213 
   14214 /**
   14215  *
   14216  * @param c The connection
   14217  * @return A cookie
   14218  *
   14219  * Delivers a request to the X server.
   14220  *
   14221  */
   14222 
   14223 /*****************************************************************************
   14224  **
   14225  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes
   14226  **
   14227  ** @param xcb_connection_t *c
   14228  ** @param uint8_t           contiguous
   14229  ** @param xcb_colormap_t    cmap
   14230  ** @param uint16_t          colors
   14231  ** @param uint16_t          reds
   14232  ** @param uint16_t          greens
   14233  ** @param uint16_t          blues
   14234  ** @returns xcb_alloc_color_planes_cookie_t
   14235  **
   14236  *****************************************************************************/
   14237 
   14238 xcb_alloc_color_planes_cookie_t
   14239 xcb_alloc_color_planes (xcb_connection_t *c  /**< */,
   14240                         uint8_t           contiguous  /**< */,
   14241                         xcb_colormap_t    cmap  /**< */,
   14242                         uint16_t          colors  /**< */,
   14243                         uint16_t          reds  /**< */,
   14244                         uint16_t          greens  /**< */,
   14245                         uint16_t          blues  /**< */);
   14246 
   14247 /**
   14248  *
   14249  * @param c The connection
   14250  * @return A cookie
   14251  *
   14252  * Delivers a request to the X server.
   14253  *
   14254  * This form can be used only if the request will cause
   14255  * a reply to be generated. Any returned error will be
   14256  * placed in the event queue.
   14257  */
   14258 
   14259 /*****************************************************************************
   14260  **
   14261  ** xcb_alloc_color_planes_cookie_t xcb_alloc_color_planes_unchecked
   14262  **
   14263  ** @param xcb_connection_t *c
   14264  ** @param uint8_t           contiguous
   14265  ** @param xcb_colormap_t    cmap
   14266  ** @param uint16_t          colors
   14267  ** @param uint16_t          reds
   14268  ** @param uint16_t          greens
   14269  ** @param uint16_t          blues
   14270  ** @returns xcb_alloc_color_planes_cookie_t
   14271  **
   14272  *****************************************************************************/
   14273 
   14274 xcb_alloc_color_planes_cookie_t
   14275 xcb_alloc_color_planes_unchecked (xcb_connection_t *c  /**< */,
   14276                                   uint8_t           contiguous  /**< */,
   14277                                   xcb_colormap_t    cmap  /**< */,
   14278                                   uint16_t          colors  /**< */,
   14279                                   uint16_t          reds  /**< */,
   14280                                   uint16_t          greens  /**< */,
   14281                                   uint16_t          blues  /**< */);
   14282 
   14283 
   14284 /*****************************************************************************
   14285  **
   14286  ** uint32_t * xcb_alloc_color_planes_pixels
   14287  **
   14288  ** @param const xcb_alloc_color_planes_reply_t *R
   14289  ** @returns uint32_t *
   14290  **
   14291  *****************************************************************************/
   14292 
   14293 uint32_t *
   14294 xcb_alloc_color_planes_pixels (const xcb_alloc_color_planes_reply_t *R  /**< */);
   14295 
   14296 
   14297 /*****************************************************************************
   14298  **
   14299  ** int xcb_alloc_color_planes_pixels_length
   14300  **
   14301  ** @param const xcb_alloc_color_planes_reply_t *R
   14302  ** @returns int
   14303  **
   14304  *****************************************************************************/
   14305 
   14306 int
   14307 xcb_alloc_color_planes_pixels_length (const xcb_alloc_color_planes_reply_t *R  /**< */);
   14308 
   14309 
   14310 /*****************************************************************************
   14311  **
   14312  ** xcb_generic_iterator_t xcb_alloc_color_planes_pixels_end
   14313  **
   14314  ** @param const xcb_alloc_color_planes_reply_t *R
   14315  ** @returns xcb_generic_iterator_t
   14316  **
   14317  *****************************************************************************/
   14318 
   14319 xcb_generic_iterator_t
   14320 xcb_alloc_color_planes_pixels_end (const xcb_alloc_color_planes_reply_t *R  /**< */);
   14321 
   14322 /**
   14323  * Return the reply
   14324  * @param c      The connection
   14325  * @param cookie The cookie
   14326  * @param e      The xcb_generic_error_t supplied
   14327  *
   14328  * Returns the reply of the request asked by
   14329  *
   14330  * The parameter @p e supplied to this function must be NULL if
   14331  * xcb_alloc_color_planes_unchecked(). is used.
   14332  * Otherwise, it stores the error if any.
   14333  *
   14334  * The returned value must be freed by the caller using free().
   14335  */
   14336 
   14337 /*****************************************************************************
   14338  **
   14339  ** xcb_alloc_color_planes_reply_t * xcb_alloc_color_planes_reply
   14340  **
   14341  ** @param xcb_connection_t                 *c
   14342  ** @param xcb_alloc_color_planes_cookie_t   cookie
   14343  ** @param xcb_generic_error_t             **e
   14344  ** @returns xcb_alloc_color_planes_reply_t *
   14345  **
   14346  *****************************************************************************/
   14347 
   14348 xcb_alloc_color_planes_reply_t *
   14349 xcb_alloc_color_planes_reply (xcb_connection_t                 *c  /**< */,
   14350                               xcb_alloc_color_planes_cookie_t   cookie  /**< */,
   14351                               xcb_generic_error_t             **e  /**< */);
   14352 
   14353 int
   14354 xcb_free_colors_sizeof (const void  *_buffer  /**< */,
   14355                         uint32_t     pixels_len  /**< */);
   14356 
   14357 /**
   14358  *
   14359  * @param c The connection
   14360  * @return A cookie
   14361  *
   14362  * Delivers a request to the X server.
   14363  *
   14364  * This form can be used only if the request will not cause
   14365  * a reply to be generated. Any returned error will be
   14366  * saved for handling by xcb_request_check().
   14367  */
   14368 
   14369 /*****************************************************************************
   14370  **
   14371  ** xcb_void_cookie_t xcb_free_colors_checked
   14372  **
   14373  ** @param xcb_connection_t *c
   14374  ** @param xcb_colormap_t    cmap
   14375  ** @param uint32_t          plane_mask
   14376  ** @param uint32_t          pixels_len
   14377  ** @param const uint32_t   *pixels
   14378  ** @returns xcb_void_cookie_t
   14379  **
   14380  *****************************************************************************/
   14381 
   14382 xcb_void_cookie_t
   14383 xcb_free_colors_checked (xcb_connection_t *c  /**< */,
   14384                          xcb_colormap_t    cmap  /**< */,
   14385                          uint32_t          plane_mask  /**< */,
   14386                          uint32_t          pixels_len  /**< */,
   14387                          const uint32_t   *pixels  /**< */);
   14388 
   14389 /**
   14390  *
   14391  * @param c The connection
   14392  * @return A cookie
   14393  *
   14394  * Delivers a request to the X server.
   14395  *
   14396  */
   14397 
   14398 /*****************************************************************************
   14399  **
   14400  ** xcb_void_cookie_t xcb_free_colors
   14401  **
   14402  ** @param xcb_connection_t *c
   14403  ** @param xcb_colormap_t    cmap
   14404  ** @param uint32_t          plane_mask
   14405  ** @param uint32_t          pixels_len
   14406  ** @param const uint32_t   *pixels
   14407  ** @returns xcb_void_cookie_t
   14408  **
   14409  *****************************************************************************/
   14410 
   14411 xcb_void_cookie_t
   14412 xcb_free_colors (xcb_connection_t *c  /**< */,
   14413                  xcb_colormap_t    cmap  /**< */,
   14414                  uint32_t          plane_mask  /**< */,
   14415                  uint32_t          pixels_len  /**< */,
   14416                  const uint32_t   *pixels  /**< */);
   14417 
   14418 /**
   14419  * Get the next element of the iterator
   14420  * @param i Pointer to a xcb_coloritem_iterator_t
   14421  *
   14422  * Get the next element in the iterator. The member rem is
   14423  * decreased by one. The member data points to the next
   14424  * element. The member index is increased by sizeof(xcb_coloritem_t)
   14425  */
   14426 
   14427 /*****************************************************************************
   14428  **
   14429  ** void xcb_coloritem_next
   14430  **
   14431  ** @param xcb_coloritem_iterator_t *i
   14432  ** @returns void
   14433  **
   14434  *****************************************************************************/
   14435 
   14436 void
   14437 xcb_coloritem_next (xcb_coloritem_iterator_t *i  /**< */);
   14438 
   14439 /**
   14440  * Return the iterator pointing to the last element
   14441  * @param i An xcb_coloritem_iterator_t
   14442  * @return  The iterator pointing to the last element
   14443  *
   14444  * Set the current element in the iterator to the last element.
   14445  * The member rem is set to 0. The member data points to the
   14446  * last element.
   14447  */
   14448 
   14449 /*****************************************************************************
   14450  **
   14451  ** xcb_generic_iterator_t xcb_coloritem_end
   14452  **
   14453  ** @param xcb_coloritem_iterator_t i
   14454  ** @returns xcb_generic_iterator_t
   14455  **
   14456  *****************************************************************************/
   14457 
   14458 xcb_generic_iterator_t
   14459 xcb_coloritem_end (xcb_coloritem_iterator_t i  /**< */);
   14460 
   14461 int
   14462 xcb_store_colors_sizeof (const void  *_buffer  /**< */,
   14463                          uint32_t     items_len  /**< */);
   14464 
   14465 /**
   14466  *
   14467  * @param c The connection
   14468  * @return A cookie
   14469  *
   14470  * Delivers a request to the X server.
   14471  *
   14472  * This form can be used only if the request will not cause
   14473  * a reply to be generated. Any returned error will be
   14474  * saved for handling by xcb_request_check().
   14475  */
   14476 
   14477 /*****************************************************************************
   14478  **
   14479  ** xcb_void_cookie_t xcb_store_colors_checked
   14480  **
   14481  ** @param xcb_connection_t      *c
   14482  ** @param xcb_colormap_t         cmap
   14483  ** @param uint32_t               items_len
   14484  ** @param const xcb_coloritem_t *items
   14485  ** @returns xcb_void_cookie_t
   14486  **
   14487  *****************************************************************************/
   14488 
   14489 xcb_void_cookie_t
   14490 xcb_store_colors_checked (xcb_connection_t      *c  /**< */,
   14491                           xcb_colormap_t         cmap  /**< */,
   14492                           uint32_t               items_len  /**< */,
   14493                           const xcb_coloritem_t *items  /**< */);
   14494 
   14495 /**
   14496  *
   14497  * @param c The connection
   14498  * @return A cookie
   14499  *
   14500  * Delivers a request to the X server.
   14501  *
   14502  */
   14503 
   14504 /*****************************************************************************
   14505  **
   14506  ** xcb_void_cookie_t xcb_store_colors
   14507  **
   14508  ** @param xcb_connection_t      *c
   14509  ** @param xcb_colormap_t         cmap
   14510  ** @param uint32_t               items_len
   14511  ** @param const xcb_coloritem_t *items
   14512  ** @returns xcb_void_cookie_t
   14513  **
   14514  *****************************************************************************/
   14515 
   14516 xcb_void_cookie_t
   14517 xcb_store_colors (xcb_connection_t      *c  /**< */,
   14518                   xcb_colormap_t         cmap  /**< */,
   14519                   uint32_t               items_len  /**< */,
   14520                   const xcb_coloritem_t *items  /**< */);
   14521 
   14522 int
   14523 xcb_store_named_color_sizeof (const void  *_buffer  /**< */);
   14524 
   14525 /**
   14526  *
   14527  * @param c The connection
   14528  * @return A cookie
   14529  *
   14530  * Delivers a request to the X server.
   14531  *
   14532  * This form can be used only if the request will not cause
   14533  * a reply to be generated. Any returned error will be
   14534  * saved for handling by xcb_request_check().
   14535  */
   14536 
   14537 /*****************************************************************************
   14538  **
   14539  ** xcb_void_cookie_t xcb_store_named_color_checked
   14540  **
   14541  ** @param xcb_connection_t *c
   14542  ** @param uint8_t           flags
   14543  ** @param xcb_colormap_t    cmap
   14544  ** @param uint32_t          pixel
   14545  ** @param uint16_t          name_len
   14546  ** @param const char       *name
   14547  ** @returns xcb_void_cookie_t
   14548  **
   14549  *****************************************************************************/
   14550 
   14551 xcb_void_cookie_t
   14552 xcb_store_named_color_checked (xcb_connection_t *c  /**< */,
   14553                                uint8_t           flags  /**< */,
   14554                                xcb_colormap_t    cmap  /**< */,
   14555                                uint32_t          pixel  /**< */,
   14556                                uint16_t          name_len  /**< */,
   14557                                const char       *name  /**< */);
   14558 
   14559 /**
   14560  *
   14561  * @param c The connection
   14562  * @return A cookie
   14563  *
   14564  * Delivers a request to the X server.
   14565  *
   14566  */
   14567 
   14568 /*****************************************************************************
   14569  **
   14570  ** xcb_void_cookie_t xcb_store_named_color
   14571  **
   14572  ** @param xcb_connection_t *c
   14573  ** @param uint8_t           flags
   14574  ** @param xcb_colormap_t    cmap
   14575  ** @param uint32_t          pixel
   14576  ** @param uint16_t          name_len
   14577  ** @param const char       *name
   14578  ** @returns xcb_void_cookie_t
   14579  **
   14580  *****************************************************************************/
   14581 
   14582 xcb_void_cookie_t
   14583 xcb_store_named_color (xcb_connection_t *c  /**< */,
   14584                        uint8_t           flags  /**< */,
   14585                        xcb_colormap_t    cmap  /**< */,
   14586                        uint32_t          pixel  /**< */,
   14587                        uint16_t          name_len  /**< */,
   14588                        const char       *name  /**< */);
   14589 
   14590 /**
   14591  * Get the next element of the iterator
   14592  * @param i Pointer to a xcb_rgb_iterator_t
   14593  *
   14594  * Get the next element in the iterator. The member rem is
   14595  * decreased by one. The member data points to the next
   14596  * element. The member index is increased by sizeof(xcb_rgb_t)
   14597  */
   14598 
   14599 /*****************************************************************************
   14600  **
   14601  ** void xcb_rgb_next
   14602  **
   14603  ** @param xcb_rgb_iterator_t *i
   14604  ** @returns void
   14605  **
   14606  *****************************************************************************/
   14607 
   14608 void
   14609 xcb_rgb_next (xcb_rgb_iterator_t *i  /**< */);
   14610 
   14611 /**
   14612  * Return the iterator pointing to the last element
   14613  * @param i An xcb_rgb_iterator_t
   14614  * @return  The iterator pointing to the last element
   14615  *
   14616  * Set the current element in the iterator to the last element.
   14617  * The member rem is set to 0. The member data points to the
   14618  * last element.
   14619  */
   14620 
   14621 /*****************************************************************************
   14622  **
   14623  ** xcb_generic_iterator_t xcb_rgb_end
   14624  **
   14625  ** @param xcb_rgb_iterator_t i
   14626  ** @returns xcb_generic_iterator_t
   14627  **
   14628  *****************************************************************************/
   14629 
   14630 xcb_generic_iterator_t
   14631 xcb_rgb_end (xcb_rgb_iterator_t i  /**< */);
   14632 
   14633 int
   14634 xcb_query_colors_sizeof (const void  *_buffer  /**< */,
   14635                          uint32_t     pixels_len  /**< */);
   14636 
   14637 /**
   14638  *
   14639  * @param c The connection
   14640  * @return A cookie
   14641  *
   14642  * Delivers a request to the X server.
   14643  *
   14644  */
   14645 
   14646 /*****************************************************************************
   14647  **
   14648  ** xcb_query_colors_cookie_t xcb_query_colors
   14649  **
   14650  ** @param xcb_connection_t *c
   14651  ** @param xcb_colormap_t    cmap
   14652  ** @param uint32_t          pixels_len
   14653  ** @param const uint32_t   *pixels
   14654  ** @returns xcb_query_colors_cookie_t
   14655  **
   14656  *****************************************************************************/
   14657 
   14658 xcb_query_colors_cookie_t
   14659 xcb_query_colors (xcb_connection_t *c  /**< */,
   14660                   xcb_colormap_t    cmap  /**< */,
   14661                   uint32_t          pixels_len  /**< */,
   14662                   const uint32_t   *pixels  /**< */);
   14663 
   14664 /**
   14665  *
   14666  * @param c The connection
   14667  * @return A cookie
   14668  *
   14669  * Delivers a request to the X server.
   14670  *
   14671  * This form can be used only if the request will cause
   14672  * a reply to be generated. Any returned error will be
   14673  * placed in the event queue.
   14674  */
   14675 
   14676 /*****************************************************************************
   14677  **
   14678  ** xcb_query_colors_cookie_t xcb_query_colors_unchecked
   14679  **
   14680  ** @param xcb_connection_t *c
   14681  ** @param xcb_colormap_t    cmap
   14682  ** @param uint32_t          pixels_len
   14683  ** @param const uint32_t   *pixels
   14684  ** @returns xcb_query_colors_cookie_t
   14685  **
   14686  *****************************************************************************/
   14687 
   14688 xcb_query_colors_cookie_t
   14689 xcb_query_colors_unchecked (xcb_connection_t *c  /**< */,
   14690                             xcb_colormap_t    cmap  /**< */,
   14691                             uint32_t          pixels_len  /**< */,
   14692                             const uint32_t   *pixels  /**< */);
   14693 
   14694 
   14695 /*****************************************************************************
   14696  **
   14697  ** xcb_rgb_t * xcb_query_colors_colors
   14698  **
   14699  ** @param const xcb_query_colors_reply_t *R
   14700  ** @returns xcb_rgb_t *
   14701  **
   14702  *****************************************************************************/
   14703 
   14704 xcb_rgb_t *
   14705 xcb_query_colors_colors (const xcb_query_colors_reply_t *R  /**< */);
   14706 
   14707 
   14708 /*****************************************************************************
   14709  **
   14710  ** int xcb_query_colors_colors_length
   14711  **
   14712  ** @param const xcb_query_colors_reply_t *R
   14713  ** @returns int
   14714  **
   14715  *****************************************************************************/
   14716 
   14717 int
   14718 xcb_query_colors_colors_length (const xcb_query_colors_reply_t *R  /**< */);
   14719 
   14720 
   14721 /*****************************************************************************
   14722  **
   14723  ** xcb_rgb_iterator_t xcb_query_colors_colors_iterator
   14724  **
   14725  ** @param const xcb_query_colors_reply_t *R
   14726  ** @returns xcb_rgb_iterator_t
   14727  **
   14728  *****************************************************************************/
   14729 
   14730 xcb_rgb_iterator_t
   14731 xcb_query_colors_colors_iterator (const xcb_query_colors_reply_t *R  /**< */);
   14732 
   14733 /**
   14734  * Return the reply
   14735  * @param c      The connection
   14736  * @param cookie The cookie
   14737  * @param e      The xcb_generic_error_t supplied
   14738  *
   14739  * Returns the reply of the request asked by
   14740  *
   14741  * The parameter @p e supplied to this function must be NULL if
   14742  * xcb_query_colors_unchecked(). is used.
   14743  * Otherwise, it stores the error if any.
   14744  *
   14745  * The returned value must be freed by the caller using free().
   14746  */
   14747 
   14748 /*****************************************************************************
   14749  **
   14750  ** xcb_query_colors_reply_t * xcb_query_colors_reply
   14751  **
   14752  ** @param xcb_connection_t           *c
   14753  ** @param xcb_query_colors_cookie_t   cookie
   14754  ** @param xcb_generic_error_t       **e
   14755  ** @returns xcb_query_colors_reply_t *
   14756  **
   14757  *****************************************************************************/
   14758 
   14759 xcb_query_colors_reply_t *
   14760 xcb_query_colors_reply (xcb_connection_t           *c  /**< */,
   14761                         xcb_query_colors_cookie_t   cookie  /**< */,
   14762                         xcb_generic_error_t       **e  /**< */);
   14763 
   14764 int
   14765 xcb_lookup_color_sizeof (const void  *_buffer  /**< */);
   14766 
   14767 /**
   14768  *
   14769  * @param c The connection
   14770  * @return A cookie
   14771  *
   14772  * Delivers a request to the X server.
   14773  *
   14774  */
   14775 
   14776 /*****************************************************************************
   14777  **
   14778  ** xcb_lookup_color_cookie_t xcb_lookup_color
   14779  **
   14780  ** @param xcb_connection_t *c
   14781  ** @param xcb_colormap_t    cmap
   14782  ** @param uint16_t          name_len
   14783  ** @param const char       *name
   14784  ** @returns xcb_lookup_color_cookie_t
   14785  **
   14786  *****************************************************************************/
   14787 
   14788 xcb_lookup_color_cookie_t
   14789 xcb_lookup_color (xcb_connection_t *c  /**< */,
   14790                   xcb_colormap_t    cmap  /**< */,
   14791                   uint16_t          name_len  /**< */,
   14792                   const char       *name  /**< */);
   14793 
   14794 /**
   14795  *
   14796  * @param c The connection
   14797  * @return A cookie
   14798  *
   14799  * Delivers a request to the X server.
   14800  *
   14801  * This form can be used only if the request will cause
   14802  * a reply to be generated. Any returned error will be
   14803  * placed in the event queue.
   14804  */
   14805 
   14806 /*****************************************************************************
   14807  **
   14808  ** xcb_lookup_color_cookie_t xcb_lookup_color_unchecked
   14809  **
   14810  ** @param xcb_connection_t *c
   14811  ** @param xcb_colormap_t    cmap
   14812  ** @param uint16_t          name_len
   14813  ** @param const char       *name
   14814  ** @returns xcb_lookup_color_cookie_t
   14815  **
   14816  *****************************************************************************/
   14817 
   14818 xcb_lookup_color_cookie_t
   14819 xcb_lookup_color_unchecked (xcb_connection_t *c  /**< */,
   14820                             xcb_colormap_t    cmap  /**< */,
   14821                             uint16_t          name_len  /**< */,
   14822                             const char       *name  /**< */);
   14823 
   14824 /**
   14825  * Return the reply
   14826  * @param c      The connection
   14827  * @param cookie The cookie
   14828  * @param e      The xcb_generic_error_t supplied
   14829  *
   14830  * Returns the reply of the request asked by
   14831  *
   14832  * The parameter @p e supplied to this function must be NULL if
   14833  * xcb_lookup_color_unchecked(). is used.
   14834  * Otherwise, it stores the error if any.
   14835  *
   14836  * The returned value must be freed by the caller using free().
   14837  */
   14838 
   14839 /*****************************************************************************
   14840  **
   14841  ** xcb_lookup_color_reply_t * xcb_lookup_color_reply
   14842  **
   14843  ** @param xcb_connection_t           *c
   14844  ** @param xcb_lookup_color_cookie_t   cookie
   14845  ** @param xcb_generic_error_t       **e
   14846  ** @returns xcb_lookup_color_reply_t *
   14847  **
   14848  *****************************************************************************/
   14849 
   14850 xcb_lookup_color_reply_t *
   14851 xcb_lookup_color_reply (xcb_connection_t           *c  /**< */,
   14852                         xcb_lookup_color_cookie_t   cookie  /**< */,
   14853                         xcb_generic_error_t       **e  /**< */);
   14854 
   14855 /**
   14856  *
   14857  * @param c The connection
   14858  * @return A cookie
   14859  *
   14860  * Delivers a request to the X server.
   14861  *
   14862  * This form can be used only if the request will not cause
   14863  * a reply to be generated. Any returned error will be
   14864  * saved for handling by xcb_request_check().
   14865  */
   14866 
   14867 /*****************************************************************************
   14868  **
   14869  ** xcb_void_cookie_t xcb_create_cursor_checked
   14870  **
   14871  ** @param xcb_connection_t *c
   14872  ** @param xcb_cursor_t      cid
   14873  ** @param xcb_pixmap_t      source
   14874  ** @param xcb_pixmap_t      mask
   14875  ** @param uint16_t          fore_red
   14876  ** @param uint16_t          fore_green
   14877  ** @param uint16_t          fore_blue
   14878  ** @param uint16_t          back_red
   14879  ** @param uint16_t          back_green
   14880  ** @param uint16_t          back_blue
   14881  ** @param uint16_t          x
   14882  ** @param uint16_t          y
   14883  ** @returns xcb_void_cookie_t
   14884  **
   14885  *****************************************************************************/
   14886 
   14887 xcb_void_cookie_t
   14888 xcb_create_cursor_checked (xcb_connection_t *c  /**< */,
   14889                            xcb_cursor_t      cid  /**< */,
   14890                            xcb_pixmap_t      source  /**< */,
   14891                            xcb_pixmap_t      mask  /**< */,
   14892                            uint16_t          fore_red  /**< */,
   14893                            uint16_t          fore_green  /**< */,
   14894                            uint16_t          fore_blue  /**< */,
   14895                            uint16_t          back_red  /**< */,
   14896                            uint16_t          back_green  /**< */,
   14897                            uint16_t          back_blue  /**< */,
   14898                            uint16_t          x  /**< */,
   14899                            uint16_t          y  /**< */);
   14900 
   14901 /**
   14902  *
   14903  * @param c The connection
   14904  * @return A cookie
   14905  *
   14906  * Delivers a request to the X server.
   14907  *
   14908  */
   14909 
   14910 /*****************************************************************************
   14911  **
   14912  ** xcb_void_cookie_t xcb_create_cursor
   14913  **
   14914  ** @param xcb_connection_t *c
   14915  ** @param xcb_cursor_t      cid
   14916  ** @param xcb_pixmap_t      source
   14917  ** @param xcb_pixmap_t      mask
   14918  ** @param uint16_t          fore_red
   14919  ** @param uint16_t          fore_green
   14920  ** @param uint16_t          fore_blue
   14921  ** @param uint16_t          back_red
   14922  ** @param uint16_t          back_green
   14923  ** @param uint16_t          back_blue
   14924  ** @param uint16_t          x
   14925  ** @param uint16_t          y
   14926  ** @returns xcb_void_cookie_t
   14927  **
   14928  *****************************************************************************/
   14929 
   14930 xcb_void_cookie_t
   14931 xcb_create_cursor (xcb_connection_t *c  /**< */,
   14932                    xcb_cursor_t      cid  /**< */,
   14933                    xcb_pixmap_t      source  /**< */,
   14934                    xcb_pixmap_t      mask  /**< */,
   14935                    uint16_t          fore_red  /**< */,
   14936                    uint16_t          fore_green  /**< */,
   14937                    uint16_t          fore_blue  /**< */,
   14938                    uint16_t          back_red  /**< */,
   14939                    uint16_t          back_green  /**< */,
   14940                    uint16_t          back_blue  /**< */,
   14941                    uint16_t          x  /**< */,
   14942                    uint16_t          y  /**< */);
   14943 
   14944 /**
   14945  * @brief create cursor
   14946  *
   14947  * @param c The connection
   14948  * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
   14949  * @param source_font In which font to look for the cursor glyph.
   14950  * @param mask_font In which font to look for the mask glyph.
   14951  * @param source_char The glyph of \a source_font to use.
   14952  * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
   14953  * which source pixels are displayed. All pixels which are set to 0 are not
   14954  * displayed.
   14955  * @param fore_red The red value of the foreground color.
   14956  * @param fore_green The green value of the foreground color.
   14957  * @param fore_blue The blue value of the foreground color.
   14958  * @param back_red The red value of the background color.
   14959  * @param back_green The green value of the background color.
   14960  * @param back_blue The blue value of the background color.
   14961  * @return A cookie
   14962  *
   14963  * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
   14964  * in a special font named cursor. Applications are encouraged to use this
   14965  * interface for their cursors because the font can be customized for the
   14966  * individual display type.
   14967  *
   14968  * All pixels which are set to 1 in the source will use the foreground color (as
   14969  * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
   14970  * will use the background color (as specified by \a back_red, \a back_green and
   14971  * \a back_blue).
   14972  *
   14973  * This form can be used only if the request will not cause
   14974  * a reply to be generated. Any returned error will be
   14975  * saved for handling by xcb_request_check().
   14976  */
   14977 
   14978 /*****************************************************************************
   14979  **
   14980  ** xcb_void_cookie_t xcb_create_glyph_cursor_checked
   14981  **
   14982  ** @param xcb_connection_t *c
   14983  ** @param xcb_cursor_t      cid
   14984  ** @param xcb_font_t        source_font
   14985  ** @param xcb_font_t        mask_font
   14986  ** @param uint16_t          source_char
   14987  ** @param uint16_t          mask_char
   14988  ** @param uint16_t          fore_red
   14989  ** @param uint16_t          fore_green
   14990  ** @param uint16_t          fore_blue
   14991  ** @param uint16_t          back_red
   14992  ** @param uint16_t          back_green
   14993  ** @param uint16_t          back_blue
   14994  ** @returns xcb_void_cookie_t
   14995  **
   14996  *****************************************************************************/
   14997 
   14998 xcb_void_cookie_t
   14999 xcb_create_glyph_cursor_checked (xcb_connection_t *c  /**< */,
   15000                                  xcb_cursor_t      cid  /**< */,
   15001                                  xcb_font_t        source_font  /**< */,
   15002                                  xcb_font_t        mask_font  /**< */,
   15003                                  uint16_t          source_char  /**< */,
   15004                                  uint16_t          mask_char  /**< */,
   15005                                  uint16_t          fore_red  /**< */,
   15006                                  uint16_t          fore_green  /**< */,
   15007                                  uint16_t          fore_blue  /**< */,
   15008                                  uint16_t          back_red  /**< */,
   15009                                  uint16_t          back_green  /**< */,
   15010                                  uint16_t          back_blue  /**< */);
   15011 
   15012 /**
   15013  * @brief create cursor
   15014  *
   15015  * @param c The connection
   15016  * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
   15017  * @param source_font In which font to look for the cursor glyph.
   15018  * @param mask_font In which font to look for the mask glyph.
   15019  * @param source_char The glyph of \a source_font to use.
   15020  * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
   15021  * which source pixels are displayed. All pixels which are set to 0 are not
   15022  * displayed.
   15023  * @param fore_red The red value of the foreground color.
   15024  * @param fore_green The green value of the foreground color.
   15025  * @param fore_blue The blue value of the foreground color.
   15026  * @param back_red The red value of the background color.
   15027  * @param back_green The green value of the background color.
   15028  * @param back_blue The blue value of the background color.
   15029  * @return A cookie
   15030  *
   15031  * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
   15032  * in a special font named cursor. Applications are encouraged to use this
   15033  * interface for their cursors because the font can be customized for the
   15034  * individual display type.
   15035  *
   15036  * All pixels which are set to 1 in the source will use the foreground color (as
   15037  * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
   15038  * will use the background color (as specified by \a back_red, \a back_green and
   15039  * \a back_blue).
   15040  *
   15041  */
   15042 
   15043 /*****************************************************************************
   15044  **
   15045  ** xcb_void_cookie_t xcb_create_glyph_cursor
   15046  **
   15047  ** @param xcb_connection_t *c
   15048  ** @param xcb_cursor_t      cid
   15049  ** @param xcb_font_t        source_font
   15050  ** @param xcb_font_t        mask_font
   15051  ** @param uint16_t          source_char
   15052  ** @param uint16_t          mask_char
   15053  ** @param uint16_t          fore_red
   15054  ** @param uint16_t          fore_green
   15055  ** @param uint16_t          fore_blue
   15056  ** @param uint16_t          back_red
   15057  ** @param uint16_t          back_green
   15058  ** @param uint16_t          back_blue
   15059  ** @returns xcb_void_cookie_t
   15060  **
   15061  *****************************************************************************/
   15062 
   15063 xcb_void_cookie_t
   15064 xcb_create_glyph_cursor (xcb_connection_t *c  /**< */,
   15065                          xcb_cursor_t      cid  /**< */,
   15066                          xcb_font_t        source_font  /**< */,
   15067                          xcb_font_t        mask_font  /**< */,
   15068                          uint16_t          source_char  /**< */,
   15069                          uint16_t          mask_char  /**< */,
   15070                          uint16_t          fore_red  /**< */,
   15071                          uint16_t          fore_green  /**< */,
   15072                          uint16_t          fore_blue  /**< */,
   15073                          uint16_t          back_red  /**< */,
   15074                          uint16_t          back_green  /**< */,
   15075                          uint16_t          back_blue  /**< */);
   15076 
   15077 /**
   15078  * @brief Deletes a cursor
   15079  *
   15080  * @param c The connection
   15081  * @param cursor The cursor to destroy.
   15082  * @return A cookie
   15083  *
   15084  * Deletes the association between the cursor resource ID and the specified
   15085  * cursor. The cursor is freed when no other resource references it.
   15086  *
   15087  * This form can be used only if the request will not cause
   15088  * a reply to be generated. Any returned error will be
   15089  * saved for handling by xcb_request_check().
   15090  */
   15091 
   15092 /*****************************************************************************
   15093  **
   15094  ** xcb_void_cookie_t xcb_free_cursor_checked
   15095  **
   15096  ** @param xcb_connection_t *c
   15097  ** @param xcb_cursor_t      cursor
   15098  ** @returns xcb_void_cookie_t
   15099  **
   15100  *****************************************************************************/
   15101 
   15102 xcb_void_cookie_t
   15103 xcb_free_cursor_checked (xcb_connection_t *c  /**< */,
   15104                          xcb_cursor_t      cursor  /**< */);
   15105 
   15106 /**
   15107  * @brief Deletes a cursor
   15108  *
   15109  * @param c The connection
   15110  * @param cursor The cursor to destroy.
   15111  * @return A cookie
   15112  *
   15113  * Deletes the association between the cursor resource ID and the specified
   15114  * cursor. The cursor is freed when no other resource references it.
   15115  *
   15116  */
   15117 
   15118 /*****************************************************************************
   15119  **
   15120  ** xcb_void_cookie_t xcb_free_cursor
   15121  **
   15122  ** @param xcb_connection_t *c
   15123  ** @param xcb_cursor_t      cursor
   15124  ** @returns xcb_void_cookie_t
   15125  **
   15126  *****************************************************************************/
   15127 
   15128 xcb_void_cookie_t
   15129 xcb_free_cursor (xcb_connection_t *c  /**< */,
   15130                  xcb_cursor_t      cursor  /**< */);
   15131 
   15132 /**
   15133  *
   15134  * @param c The connection
   15135  * @return A cookie
   15136  *
   15137  * Delivers a request to the X server.
   15138  *
   15139  * This form can be used only if the request will not cause
   15140  * a reply to be generated. Any returned error will be
   15141  * saved for handling by xcb_request_check().
   15142  */
   15143 
   15144 /*****************************************************************************
   15145  **
   15146  ** xcb_void_cookie_t xcb_recolor_cursor_checked
   15147  **
   15148  ** @param xcb_connection_t *c
   15149  ** @param xcb_cursor_t      cursor
   15150  ** @param uint16_t          fore_red
   15151  ** @param uint16_t          fore_green
   15152  ** @param uint16_t          fore_blue
   15153  ** @param uint16_t          back_red
   15154  ** @param uint16_t          back_green
   15155  ** @param uint16_t          back_blue
   15156  ** @returns xcb_void_cookie_t
   15157  **
   15158  *****************************************************************************/
   15159 
   15160 xcb_void_cookie_t
   15161 xcb_recolor_cursor_checked (xcb_connection_t *c  /**< */,
   15162                             xcb_cursor_t      cursor  /**< */,
   15163                             uint16_t          fore_red  /**< */,
   15164                             uint16_t          fore_green  /**< */,
   15165                             uint16_t          fore_blue  /**< */,
   15166                             uint16_t          back_red  /**< */,
   15167                             uint16_t          back_green  /**< */,
   15168                             uint16_t          back_blue  /**< */);
   15169 
   15170 /**
   15171  *
   15172  * @param c The connection
   15173  * @return A cookie
   15174  *
   15175  * Delivers a request to the X server.
   15176  *
   15177  */
   15178 
   15179 /*****************************************************************************
   15180  **
   15181  ** xcb_void_cookie_t xcb_recolor_cursor
   15182  **
   15183  ** @param xcb_connection_t *c
   15184  ** @param xcb_cursor_t      cursor
   15185  ** @param uint16_t          fore_red
   15186  ** @param uint16_t          fore_green
   15187  ** @param uint16_t          fore_blue
   15188  ** @param uint16_t          back_red
   15189  ** @param uint16_t          back_green
   15190  ** @param uint16_t          back_blue
   15191  ** @returns xcb_void_cookie_t
   15192  **
   15193  *****************************************************************************/
   15194 
   15195 xcb_void_cookie_t
   15196 xcb_recolor_cursor (xcb_connection_t *c  /**< */,
   15197                     xcb_cursor_t      cursor  /**< */,
   15198                     uint16_t          fore_red  /**< */,
   15199                     uint16_t          fore_green  /**< */,
   15200                     uint16_t          fore_blue  /**< */,
   15201                     uint16_t          back_red  /**< */,
   15202                     uint16_t          back_green  /**< */,
   15203                     uint16_t          back_blue  /**< */);
   15204 
   15205 /**
   15206  *
   15207  * @param c The connection
   15208  * @return A cookie
   15209  *
   15210  * Delivers a request to the X server.
   15211  *
   15212  */
   15213 
   15214 /*****************************************************************************
   15215  **
   15216  ** xcb_query_best_size_cookie_t xcb_query_best_size
   15217  **
   15218  ** @param xcb_connection_t *c
   15219  ** @param uint8_t           _class
   15220  ** @param xcb_drawable_t    drawable
   15221  ** @param uint16_t          width
   15222  ** @param uint16_t          height
   15223  ** @returns xcb_query_best_size_cookie_t
   15224  **
   15225  *****************************************************************************/
   15226 
   15227 xcb_query_best_size_cookie_t
   15228 xcb_query_best_size (xcb_connection_t *c  /**< */,
   15229                      uint8_t           _class  /**< */,
   15230                      xcb_drawable_t    drawable  /**< */,
   15231                      uint16_t          width  /**< */,
   15232                      uint16_t          height  /**< */);
   15233 
   15234 /**
   15235  *
   15236  * @param c The connection
   15237  * @return A cookie
   15238  *
   15239  * Delivers a request to the X server.
   15240  *
   15241  * This form can be used only if the request will cause
   15242  * a reply to be generated. Any returned error will be
   15243  * placed in the event queue.
   15244  */
   15245 
   15246 /*****************************************************************************
   15247  **
   15248  ** xcb_query_best_size_cookie_t xcb_query_best_size_unchecked
   15249  **
   15250  ** @param xcb_connection_t *c
   15251  ** @param uint8_t           _class
   15252  ** @param xcb_drawable_t    drawable
   15253  ** @param uint16_t          width
   15254  ** @param uint16_t          height
   15255  ** @returns xcb_query_best_size_cookie_t
   15256  **
   15257  *****************************************************************************/
   15258 
   15259 xcb_query_best_size_cookie_t
   15260 xcb_query_best_size_unchecked (xcb_connection_t *c  /**< */,
   15261                                uint8_t           _class  /**< */,
   15262                                xcb_drawable_t    drawable  /**< */,
   15263                                uint16_t          width  /**< */,
   15264                                uint16_t          height  /**< */);
   15265 
   15266 /**
   15267  * Return the reply
   15268  * @param c      The connection
   15269  * @param cookie The cookie
   15270  * @param e      The xcb_generic_error_t supplied
   15271  *
   15272  * Returns the reply of the request asked by
   15273  *
   15274  * The parameter @p e supplied to this function must be NULL if
   15275  * xcb_query_best_size_unchecked(). is used.
   15276  * Otherwise, it stores the error if any.
   15277  *
   15278  * The returned value must be freed by the caller using free().
   15279  */
   15280 
   15281 /*****************************************************************************
   15282  **
   15283  ** xcb_query_best_size_reply_t * xcb_query_best_size_reply
   15284  **
   15285  ** @param xcb_connection_t              *c
   15286  ** @param xcb_query_best_size_cookie_t   cookie
   15287  ** @param xcb_generic_error_t          **e
   15288  ** @returns xcb_query_best_size_reply_t *
   15289  **
   15290  *****************************************************************************/
   15291 
   15292 xcb_query_best_size_reply_t *
   15293 xcb_query_best_size_reply (xcb_connection_t              *c  /**< */,
   15294                            xcb_query_best_size_cookie_t   cookie  /**< */,
   15295                            xcb_generic_error_t          **e  /**< */);
   15296 
   15297 int
   15298 xcb_query_extension_sizeof (const void  *_buffer  /**< */);
   15299 
   15300 /**
   15301  * @brief check if extension is present
   15302  *
   15303  * @param c The connection
   15304  * @param name_len The length of \a name in bytes.
   15305  * @param name The name of the extension to query, for example "RANDR". This is case
   15306  * sensitive!
   15307  * @return A cookie
   15308  *
   15309  * Determines if the specified extension is present on this X11 server.
   15310  *
   15311  * Every extension has a unique `major_opcode` to identify requests, the minor
   15312  * opcodes and request formats are extension-specific. If the extension provides
   15313  * events and errors, the `first_event` and `first_error` fields in the reply are
   15314  * set accordingly.
   15315  *
   15316  * There should rarely be a need to use this request directly, XCB provides the
   15317  * `xcb_get_extension_data` function instead.
   15318  *
   15319  */
   15320 
   15321 /*****************************************************************************
   15322  **
   15323  ** xcb_query_extension_cookie_t xcb_query_extension
   15324  **
   15325  ** @param xcb_connection_t *c
   15326  ** @param uint16_t          name_len
   15327  ** @param const char       *name
   15328  ** @returns xcb_query_extension_cookie_t
   15329  **
   15330  *****************************************************************************/
   15331 
   15332 xcb_query_extension_cookie_t
   15333 xcb_query_extension (xcb_connection_t *c  /**< */,
   15334                      uint16_t          name_len  /**< */,
   15335                      const char       *name  /**< */);
   15336 
   15337 /**
   15338  * @brief check if extension is present
   15339  *
   15340  * @param c The connection
   15341  * @param name_len The length of \a name in bytes.
   15342  * @param name The name of the extension to query, for example "RANDR". This is case
   15343  * sensitive!
   15344  * @return A cookie
   15345  *
   15346  * Determines if the specified extension is present on this X11 server.
   15347  *
   15348  * Every extension has a unique `major_opcode` to identify requests, the minor
   15349  * opcodes and request formats are extension-specific. If the extension provides
   15350  * events and errors, the `first_event` and `first_error` fields in the reply are
   15351  * set accordingly.
   15352  *
   15353  * There should rarely be a need to use this request directly, XCB provides the
   15354  * `xcb_get_extension_data` function instead.
   15355  *
   15356  * This form can be used only if the request will cause
   15357  * a reply to be generated. Any returned error will be
   15358  * placed in the event queue.
   15359  */
   15360 
   15361 /*****************************************************************************
   15362  **
   15363  ** xcb_query_extension_cookie_t xcb_query_extension_unchecked
   15364  **
   15365  ** @param xcb_connection_t *c
   15366  ** @param uint16_t          name_len
   15367  ** @param const char       *name
   15368  ** @returns xcb_query_extension_cookie_t
   15369  **
   15370  *****************************************************************************/
   15371 
   15372 xcb_query_extension_cookie_t
   15373 xcb_query_extension_unchecked (xcb_connection_t *c  /**< */,
   15374                                uint16_t          name_len  /**< */,
   15375                                const char       *name  /**< */);
   15376 
   15377 /**
   15378  * Return the reply
   15379  * @param c      The connection
   15380  * @param cookie The cookie
   15381  * @param e      The xcb_generic_error_t supplied
   15382  *
   15383  * Returns the reply of the request asked by
   15384  *
   15385  * The parameter @p e supplied to this function must be NULL if
   15386  * xcb_query_extension_unchecked(). is used.
   15387  * Otherwise, it stores the error if any.
   15388  *
   15389  * The returned value must be freed by the caller using free().
   15390  */
   15391 
   15392 /*****************************************************************************
   15393  **
   15394  ** xcb_query_extension_reply_t * xcb_query_extension_reply
   15395  **
   15396  ** @param xcb_connection_t              *c
   15397  ** @param xcb_query_extension_cookie_t   cookie
   15398  ** @param xcb_generic_error_t          **e
   15399  ** @returns xcb_query_extension_reply_t *
   15400  **
   15401  *****************************************************************************/
   15402 
   15403 xcb_query_extension_reply_t *
   15404 xcb_query_extension_reply (xcb_connection_t              *c  /**< */,
   15405                            xcb_query_extension_cookie_t   cookie  /**< */,
   15406                            xcb_generic_error_t          **e  /**< */);
   15407 
   15408 int
   15409 xcb_list_extensions_sizeof (const void  *_buffer  /**< */);
   15410 
   15411 /**
   15412  *
   15413  * @param c The connection
   15414  * @return A cookie
   15415  *
   15416  * Delivers a request to the X server.
   15417  *
   15418  */
   15419 
   15420 /*****************************************************************************
   15421  **
   15422  ** xcb_list_extensions_cookie_t xcb_list_extensions
   15423  **
   15424  ** @param xcb_connection_t *c
   15425  ** @returns xcb_list_extensions_cookie_t
   15426  **
   15427  *****************************************************************************/
   15428 
   15429 xcb_list_extensions_cookie_t
   15430 xcb_list_extensions (xcb_connection_t *c  /**< */);
   15431 
   15432 /**
   15433  *
   15434  * @param c The connection
   15435  * @return A cookie
   15436  *
   15437  * Delivers a request to the X server.
   15438  *
   15439  * This form can be used only if the request will cause
   15440  * a reply to be generated. Any returned error will be
   15441  * placed in the event queue.
   15442  */
   15443 
   15444 /*****************************************************************************
   15445  **
   15446  ** xcb_list_extensions_cookie_t xcb_list_extensions_unchecked
   15447  **
   15448  ** @param xcb_connection_t *c
   15449  ** @returns xcb_list_extensions_cookie_t
   15450  **
   15451  *****************************************************************************/
   15452 
   15453 xcb_list_extensions_cookie_t
   15454 xcb_list_extensions_unchecked (xcb_connection_t *c  /**< */);
   15455 
   15456 
   15457 /*****************************************************************************
   15458  **
   15459  ** int xcb_list_extensions_names_length
   15460  **
   15461  ** @param const xcb_list_extensions_reply_t *R
   15462  ** @returns int
   15463  **
   15464  *****************************************************************************/
   15465 
   15466 int
   15467 xcb_list_extensions_names_length (const xcb_list_extensions_reply_t *R  /**< */);
   15468 
   15469 
   15470 /*****************************************************************************
   15471  **
   15472  ** xcb_str_iterator_t xcb_list_extensions_names_iterator
   15473  **
   15474  ** @param const xcb_list_extensions_reply_t *R
   15475  ** @returns xcb_str_iterator_t
   15476  **
   15477  *****************************************************************************/
   15478 
   15479 xcb_str_iterator_t
   15480 xcb_list_extensions_names_iterator (const xcb_list_extensions_reply_t *R  /**< */);
   15481 
   15482 /**
   15483  * Return the reply
   15484  * @param c      The connection
   15485  * @param cookie The cookie
   15486  * @param e      The xcb_generic_error_t supplied
   15487  *
   15488  * Returns the reply of the request asked by
   15489  *
   15490  * The parameter @p e supplied to this function must be NULL if
   15491  * xcb_list_extensions_unchecked(). is used.
   15492  * Otherwise, it stores the error if any.
   15493  *
   15494  * The returned value must be freed by the caller using free().
   15495  */
   15496 
   15497 /*****************************************************************************
   15498  **
   15499  ** xcb_list_extensions_reply_t * xcb_list_extensions_reply
   15500  **
   15501  ** @param xcb_connection_t              *c
   15502  ** @param xcb_list_extensions_cookie_t   cookie
   15503  ** @param xcb_generic_error_t          **e
   15504  ** @returns xcb_list_extensions_reply_t *
   15505  **
   15506  *****************************************************************************/
   15507 
   15508 xcb_list_extensions_reply_t *
   15509 xcb_list_extensions_reply (xcb_connection_t              *c  /**< */,
   15510                            xcb_list_extensions_cookie_t   cookie  /**< */,
   15511                            xcb_generic_error_t          **e  /**< */);
   15512 
   15513 int
   15514 xcb_change_keyboard_mapping_sizeof (const void  *_buffer  /**< */);
   15515 
   15516 /**
   15517  *
   15518  * @param c The connection
   15519  * @return A cookie
   15520  *
   15521  * Delivers a request to the X server.
   15522  *
   15523  * This form can be used only if the request will not cause
   15524  * a reply to be generated. Any returned error will be
   15525  * saved for handling by xcb_request_check().
   15526  */
   15527 
   15528 /*****************************************************************************
   15529  **
   15530  ** xcb_void_cookie_t xcb_change_keyboard_mapping_checked
   15531  **
   15532  ** @param xcb_connection_t   *c
   15533  ** @param uint8_t             keycode_count
   15534  ** @param xcb_keycode_t       first_keycode
   15535  ** @param uint8_t             keysyms_per_keycode
   15536  ** @param const xcb_keysym_t *keysyms
   15537  ** @returns xcb_void_cookie_t
   15538  **
   15539  *****************************************************************************/
   15540 
   15541 xcb_void_cookie_t
   15542 xcb_change_keyboard_mapping_checked (xcb_connection_t   *c  /**< */,
   15543                                      uint8_t             keycode_count  /**< */,
   15544                                      xcb_keycode_t       first_keycode  /**< */,
   15545                                      uint8_t             keysyms_per_keycode  /**< */,
   15546                                      const xcb_keysym_t *keysyms  /**< */);
   15547 
   15548 /**
   15549  *
   15550  * @param c The connection
   15551  * @return A cookie
   15552  *
   15553  * Delivers a request to the X server.
   15554  *
   15555  */
   15556 
   15557 /*****************************************************************************
   15558  **
   15559  ** xcb_void_cookie_t xcb_change_keyboard_mapping
   15560  **
   15561  ** @param xcb_connection_t   *c
   15562  ** @param uint8_t             keycode_count
   15563  ** @param xcb_keycode_t       first_keycode
   15564  ** @param uint8_t             keysyms_per_keycode
   15565  ** @param const xcb_keysym_t *keysyms
   15566  ** @returns xcb_void_cookie_t
   15567  **
   15568  *****************************************************************************/
   15569 
   15570 xcb_void_cookie_t
   15571 xcb_change_keyboard_mapping (xcb_connection_t   *c  /**< */,
   15572                              uint8_t             keycode_count  /**< */,
   15573                              xcb_keycode_t       first_keycode  /**< */,
   15574                              uint8_t             keysyms_per_keycode  /**< */,
   15575                              const xcb_keysym_t *keysyms  /**< */);
   15576 
   15577 int
   15578 xcb_get_keyboard_mapping_sizeof (const void  *_buffer  /**< */);
   15579 
   15580 /**
   15581  *
   15582  * @param c The connection
   15583  * @return A cookie
   15584  *
   15585  * Delivers a request to the X server.
   15586  *
   15587  */
   15588 
   15589 /*****************************************************************************
   15590  **
   15591  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping
   15592  **
   15593  ** @param xcb_connection_t *c
   15594  ** @param xcb_keycode_t     first_keycode
   15595  ** @param uint8_t           count
   15596  ** @returns xcb_get_keyboard_mapping_cookie_t
   15597  **
   15598  *****************************************************************************/
   15599 
   15600 xcb_get_keyboard_mapping_cookie_t
   15601 xcb_get_keyboard_mapping (xcb_connection_t *c  /**< */,
   15602                           xcb_keycode_t     first_keycode  /**< */,
   15603                           uint8_t           count  /**< */);
   15604 
   15605 /**
   15606  *
   15607  * @param c The connection
   15608  * @return A cookie
   15609  *
   15610  * Delivers a request to the X server.
   15611  *
   15612  * This form can be used only if the request will cause
   15613  * a reply to be generated. Any returned error will be
   15614  * placed in the event queue.
   15615  */
   15616 
   15617 /*****************************************************************************
   15618  **
   15619  ** xcb_get_keyboard_mapping_cookie_t xcb_get_keyboard_mapping_unchecked
   15620  **
   15621  ** @param xcb_connection_t *c
   15622  ** @param xcb_keycode_t     first_keycode
   15623  ** @param uint8_t           count
   15624  ** @returns xcb_get_keyboard_mapping_cookie_t
   15625  **
   15626  *****************************************************************************/
   15627 
   15628 xcb_get_keyboard_mapping_cookie_t
   15629 xcb_get_keyboard_mapping_unchecked (xcb_connection_t *c  /**< */,
   15630                                     xcb_keycode_t     first_keycode  /**< */,
   15631                                     uint8_t           count  /**< */);
   15632 
   15633 
   15634 /*****************************************************************************
   15635  **
   15636  ** xcb_keysym_t * xcb_get_keyboard_mapping_keysyms
   15637  **
   15638  ** @param const xcb_get_keyboard_mapping_reply_t *R
   15639  ** @returns xcb_keysym_t *
   15640  **
   15641  *****************************************************************************/
   15642 
   15643 xcb_keysym_t *
   15644 xcb_get_keyboard_mapping_keysyms (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
   15645 
   15646 
   15647 /*****************************************************************************
   15648  **
   15649  ** int xcb_get_keyboard_mapping_keysyms_length
   15650  **
   15651  ** @param const xcb_get_keyboard_mapping_reply_t *R
   15652  ** @returns int
   15653  **
   15654  *****************************************************************************/
   15655 
   15656 int
   15657 xcb_get_keyboard_mapping_keysyms_length (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
   15658 
   15659 
   15660 /*****************************************************************************
   15661  **
   15662  ** xcb_generic_iterator_t xcb_get_keyboard_mapping_keysyms_end
   15663  **
   15664  ** @param const xcb_get_keyboard_mapping_reply_t *R
   15665  ** @returns xcb_generic_iterator_t
   15666  **
   15667  *****************************************************************************/
   15668 
   15669 xcb_generic_iterator_t
   15670 xcb_get_keyboard_mapping_keysyms_end (const xcb_get_keyboard_mapping_reply_t *R  /**< */);
   15671 
   15672 /**
   15673  * Return the reply
   15674  * @param c      The connection
   15675  * @param cookie The cookie
   15676  * @param e      The xcb_generic_error_t supplied
   15677  *
   15678  * Returns the reply of the request asked by
   15679  *
   15680  * The parameter @p e supplied to this function must be NULL if
   15681  * xcb_get_keyboard_mapping_unchecked(). is used.
   15682  * Otherwise, it stores the error if any.
   15683  *
   15684  * The returned value must be freed by the caller using free().
   15685  */
   15686 
   15687 /*****************************************************************************
   15688  **
   15689  ** xcb_get_keyboard_mapping_reply_t * xcb_get_keyboard_mapping_reply
   15690  **
   15691  ** @param xcb_connection_t                   *c
   15692  ** @param xcb_get_keyboard_mapping_cookie_t   cookie
   15693  ** @param xcb_generic_error_t               **e
   15694  ** @returns xcb_get_keyboard_mapping_reply_t *
   15695  **
   15696  *****************************************************************************/
   15697 
   15698 xcb_get_keyboard_mapping_reply_t *
   15699 xcb_get_keyboard_mapping_reply (xcb_connection_t                   *c  /**< */,
   15700                                 xcb_get_keyboard_mapping_cookie_t   cookie  /**< */,
   15701                                 xcb_generic_error_t               **e  /**< */);
   15702 
   15703 int
   15704 xcb_change_keyboard_control_sizeof (const void  *_buffer  /**< */);
   15705 
   15706 /**
   15707  *
   15708  * @param c The connection
   15709  * @return A cookie
   15710  *
   15711  * Delivers a request to the X server.
   15712  *
   15713  * This form can be used only if the request will not cause
   15714  * a reply to be generated. Any returned error will be
   15715  * saved for handling by xcb_request_check().
   15716  */
   15717 
   15718 /*****************************************************************************
   15719  **
   15720  ** xcb_void_cookie_t xcb_change_keyboard_control_checked
   15721  **
   15722  ** @param xcb_connection_t *c
   15723  ** @param uint32_t          value_mask
   15724  ** @param const uint32_t   *value_list
   15725  ** @returns xcb_void_cookie_t
   15726  **
   15727  *****************************************************************************/
   15728 
   15729 xcb_void_cookie_t
   15730 xcb_change_keyboard_control_checked (xcb_connection_t *c  /**< */,
   15731                                      uint32_t          value_mask  /**< */,
   15732                                      const uint32_t   *value_list  /**< */);
   15733 
   15734 /**
   15735  *
   15736  * @param c The connection
   15737  * @return A cookie
   15738  *
   15739  * Delivers a request to the X server.
   15740  *
   15741  */
   15742 
   15743 /*****************************************************************************
   15744  **
   15745  ** xcb_void_cookie_t xcb_change_keyboard_control
   15746  **
   15747  ** @param xcb_connection_t *c
   15748  ** @param uint32_t          value_mask
   15749  ** @param const uint32_t   *value_list
   15750  ** @returns xcb_void_cookie_t
   15751  **
   15752  *****************************************************************************/
   15753 
   15754 xcb_void_cookie_t
   15755 xcb_change_keyboard_control (xcb_connection_t *c  /**< */,
   15756                              uint32_t          value_mask  /**< */,
   15757                              const uint32_t   *value_list  /**< */);
   15758 
   15759 /**
   15760  *
   15761  * @param c The connection
   15762  * @return A cookie
   15763  *
   15764  * Delivers a request to the X server.
   15765  *
   15766  */
   15767 
   15768 /*****************************************************************************
   15769  **
   15770  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control
   15771  **
   15772  ** @param xcb_connection_t *c
   15773  ** @returns xcb_get_keyboard_control_cookie_t
   15774  **
   15775  *****************************************************************************/
   15776 
   15777 xcb_get_keyboard_control_cookie_t
   15778 xcb_get_keyboard_control (xcb_connection_t *c  /**< */);
   15779 
   15780 /**
   15781  *
   15782  * @param c The connection
   15783  * @return A cookie
   15784  *
   15785  * Delivers a request to the X server.
   15786  *
   15787  * This form can be used only if the request will cause
   15788  * a reply to be generated. Any returned error will be
   15789  * placed in the event queue.
   15790  */
   15791 
   15792 /*****************************************************************************
   15793  **
   15794  ** xcb_get_keyboard_control_cookie_t xcb_get_keyboard_control_unchecked
   15795  **
   15796  ** @param xcb_connection_t *c
   15797  ** @returns xcb_get_keyboard_control_cookie_t
   15798  **
   15799  *****************************************************************************/
   15800 
   15801 xcb_get_keyboard_control_cookie_t
   15802 xcb_get_keyboard_control_unchecked (xcb_connection_t *c  /**< */);
   15803 
   15804 /**
   15805  * Return the reply
   15806  * @param c      The connection
   15807  * @param cookie The cookie
   15808  * @param e      The xcb_generic_error_t supplied
   15809  *
   15810  * Returns the reply of the request asked by
   15811  *
   15812  * The parameter @p e supplied to this function must be NULL if
   15813  * xcb_get_keyboard_control_unchecked(). is used.
   15814  * Otherwise, it stores the error if any.
   15815  *
   15816  * The returned value must be freed by the caller using free().
   15817  */
   15818 
   15819 /*****************************************************************************
   15820  **
   15821  ** xcb_get_keyboard_control_reply_t * xcb_get_keyboard_control_reply
   15822  **
   15823  ** @param xcb_connection_t                   *c
   15824  ** @param xcb_get_keyboard_control_cookie_t   cookie
   15825  ** @param xcb_generic_error_t               **e
   15826  ** @returns xcb_get_keyboard_control_reply_t *
   15827  **
   15828  *****************************************************************************/
   15829 
   15830 xcb_get_keyboard_control_reply_t *
   15831 xcb_get_keyboard_control_reply (xcb_connection_t                   *c  /**< */,
   15832                                 xcb_get_keyboard_control_cookie_t   cookie  /**< */,
   15833                                 xcb_generic_error_t               **e  /**< */);
   15834 
   15835 /**
   15836  *
   15837  * @param c The connection
   15838  * @return A cookie
   15839  *
   15840  * Delivers a request to the X server.
   15841  *
   15842  * This form can be used only if the request will not cause
   15843  * a reply to be generated. Any returned error will be
   15844  * saved for handling by xcb_request_check().
   15845  */
   15846 
   15847 /*****************************************************************************
   15848  **
   15849  ** xcb_void_cookie_t xcb_bell_checked
   15850  **
   15851  ** @param xcb_connection_t *c
   15852  ** @param int8_t            percent
   15853  ** @returns xcb_void_cookie_t
   15854  **
   15855  *****************************************************************************/
   15856 
   15857 xcb_void_cookie_t
   15858 xcb_bell_checked (xcb_connection_t *c  /**< */,
   15859                   int8_t            percent  /**< */);
   15860 
   15861 /**
   15862  *
   15863  * @param c The connection
   15864  * @return A cookie
   15865  *
   15866  * Delivers a request to the X server.
   15867  *
   15868  */
   15869 
   15870 /*****************************************************************************
   15871  **
   15872  ** xcb_void_cookie_t xcb_bell
   15873  **
   15874  ** @param xcb_connection_t *c
   15875  ** @param int8_t            percent
   15876  ** @returns xcb_void_cookie_t
   15877  **
   15878  *****************************************************************************/
   15879 
   15880 xcb_void_cookie_t
   15881 xcb_bell (xcb_connection_t *c  /**< */,
   15882           int8_t            percent  /**< */);
   15883 
   15884 /**
   15885  *
   15886  * @param c The connection
   15887  * @return A cookie
   15888  *
   15889  * Delivers a request to the X server.
   15890  *
   15891  * This form can be used only if the request will not cause
   15892  * a reply to be generated. Any returned error will be
   15893  * saved for handling by xcb_request_check().
   15894  */
   15895 
   15896 /*****************************************************************************
   15897  **
   15898  ** xcb_void_cookie_t xcb_change_pointer_control_checked
   15899  **
   15900  ** @param xcb_connection_t *c
   15901  ** @param int16_t           acceleration_numerator
   15902  ** @param int16_t           acceleration_denominator
   15903  ** @param int16_t           threshold
   15904  ** @param uint8_t           do_acceleration
   15905  ** @param uint8_t           do_threshold
   15906  ** @returns xcb_void_cookie_t
   15907  **
   15908  *****************************************************************************/
   15909 
   15910 xcb_void_cookie_t
   15911 xcb_change_pointer_control_checked (xcb_connection_t *c  /**< */,
   15912                                     int16_t           acceleration_numerator  /**< */,
   15913                                     int16_t           acceleration_denominator  /**< */,
   15914                                     int16_t           threshold  /**< */,
   15915                                     uint8_t           do_acceleration  /**< */,
   15916                                     uint8_t           do_threshold  /**< */);
   15917 
   15918 /**
   15919  *
   15920  * @param c The connection
   15921  * @return A cookie
   15922  *
   15923  * Delivers a request to the X server.
   15924  *
   15925  */
   15926 
   15927 /*****************************************************************************
   15928  **
   15929  ** xcb_void_cookie_t xcb_change_pointer_control
   15930  **
   15931  ** @param xcb_connection_t *c
   15932  ** @param int16_t           acceleration_numerator
   15933  ** @param int16_t           acceleration_denominator
   15934  ** @param int16_t           threshold
   15935  ** @param uint8_t           do_acceleration
   15936  ** @param uint8_t           do_threshold
   15937  ** @returns xcb_void_cookie_t
   15938  **
   15939  *****************************************************************************/
   15940 
   15941 xcb_void_cookie_t
   15942 xcb_change_pointer_control (xcb_connection_t *c  /**< */,
   15943                             int16_t           acceleration_numerator  /**< */,
   15944                             int16_t           acceleration_denominator  /**< */,
   15945                             int16_t           threshold  /**< */,
   15946                             uint8_t           do_acceleration  /**< */,
   15947                             uint8_t           do_threshold  /**< */);
   15948 
   15949 /**
   15950  *
   15951  * @param c The connection
   15952  * @return A cookie
   15953  *
   15954  * Delivers a request to the X server.
   15955  *
   15956  */
   15957 
   15958 /*****************************************************************************
   15959  **
   15960  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control
   15961  **
   15962  ** @param xcb_connection_t *c
   15963  ** @returns xcb_get_pointer_control_cookie_t
   15964  **
   15965  *****************************************************************************/
   15966 
   15967 xcb_get_pointer_control_cookie_t
   15968 xcb_get_pointer_control (xcb_connection_t *c  /**< */);
   15969 
   15970 /**
   15971  *
   15972  * @param c The connection
   15973  * @return A cookie
   15974  *
   15975  * Delivers a request to the X server.
   15976  *
   15977  * This form can be used only if the request will cause
   15978  * a reply to be generated. Any returned error will be
   15979  * placed in the event queue.
   15980  */
   15981 
   15982 /*****************************************************************************
   15983  **
   15984  ** xcb_get_pointer_control_cookie_t xcb_get_pointer_control_unchecked
   15985  **
   15986  ** @param xcb_connection_t *c
   15987  ** @returns xcb_get_pointer_control_cookie_t
   15988  **
   15989  *****************************************************************************/
   15990 
   15991 xcb_get_pointer_control_cookie_t
   15992 xcb_get_pointer_control_unchecked (xcb_connection_t *c  /**< */);
   15993 
   15994 /**
   15995  * Return the reply
   15996  * @param c      The connection
   15997  * @param cookie The cookie
   15998  * @param e      The xcb_generic_error_t supplied
   15999  *
   16000  * Returns the reply of the request asked by
   16001  *
   16002  * The parameter @p e supplied to this function must be NULL if
   16003  * xcb_get_pointer_control_unchecked(). is used.
   16004  * Otherwise, it stores the error if any.
   16005  *
   16006  * The returned value must be freed by the caller using free().
   16007  */
   16008 
   16009 /*****************************************************************************
   16010  **
   16011  ** xcb_get_pointer_control_reply_t * xcb_get_pointer_control_reply
   16012  **
   16013  ** @param xcb_connection_t                  *c
   16014  ** @param xcb_get_pointer_control_cookie_t   cookie
   16015  ** @param xcb_generic_error_t              **e
   16016  ** @returns xcb_get_pointer_control_reply_t *
   16017  **
   16018  *****************************************************************************/
   16019 
   16020 xcb_get_pointer_control_reply_t *
   16021 xcb_get_pointer_control_reply (xcb_connection_t                  *c  /**< */,
   16022                                xcb_get_pointer_control_cookie_t   cookie  /**< */,
   16023                                xcb_generic_error_t              **e  /**< */);
   16024 
   16025 /**
   16026  *
   16027  * @param c The connection
   16028  * @return A cookie
   16029  *
   16030  * Delivers a request to the X server.
   16031  *
   16032  * This form can be used only if the request will not cause
   16033  * a reply to be generated. Any returned error will be
   16034  * saved for handling by xcb_request_check().
   16035  */
   16036 
   16037 /*****************************************************************************
   16038  **
   16039  ** xcb_void_cookie_t xcb_set_screen_saver_checked
   16040  **
   16041  ** @param xcb_connection_t *c
   16042  ** @param int16_t           timeout
   16043  ** @param int16_t           interval
   16044  ** @param uint8_t           prefer_blanking
   16045  ** @param uint8_t           allow_exposures
   16046  ** @returns xcb_void_cookie_t
   16047  **
   16048  *****************************************************************************/
   16049 
   16050 xcb_void_cookie_t
   16051 xcb_set_screen_saver_checked (xcb_connection_t *c  /**< */,
   16052                               int16_t           timeout  /**< */,
   16053                               int16_t           interval  /**< */,
   16054                               uint8_t           prefer_blanking  /**< */,
   16055                               uint8_t           allow_exposures  /**< */);
   16056 
   16057 /**
   16058  *
   16059  * @param c The connection
   16060  * @return A cookie
   16061  *
   16062  * Delivers a request to the X server.
   16063  *
   16064  */
   16065 
   16066 /*****************************************************************************
   16067  **
   16068  ** xcb_void_cookie_t xcb_set_screen_saver
   16069  **
   16070  ** @param xcb_connection_t *c
   16071  ** @param int16_t           timeout
   16072  ** @param int16_t           interval
   16073  ** @param uint8_t           prefer_blanking
   16074  ** @param uint8_t           allow_exposures
   16075  ** @returns xcb_void_cookie_t
   16076  **
   16077  *****************************************************************************/
   16078 
   16079 xcb_void_cookie_t
   16080 xcb_set_screen_saver (xcb_connection_t *c  /**< */,
   16081                       int16_t           timeout  /**< */,
   16082                       int16_t           interval  /**< */,
   16083                       uint8_t           prefer_blanking  /**< */,
   16084                       uint8_t           allow_exposures  /**< */);
   16085 
   16086 /**
   16087  *
   16088  * @param c The connection
   16089  * @return A cookie
   16090  *
   16091  * Delivers a request to the X server.
   16092  *
   16093  */
   16094 
   16095 /*****************************************************************************
   16096  **
   16097  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver
   16098  **
   16099  ** @param xcb_connection_t *c
   16100  ** @returns xcb_get_screen_saver_cookie_t
   16101  **
   16102  *****************************************************************************/
   16103 
   16104 xcb_get_screen_saver_cookie_t
   16105 xcb_get_screen_saver (xcb_connection_t *c  /**< */);
   16106 
   16107 /**
   16108  *
   16109  * @param c The connection
   16110  * @return A cookie
   16111  *
   16112  * Delivers a request to the X server.
   16113  *
   16114  * This form can be used only if the request will cause
   16115  * a reply to be generated. Any returned error will be
   16116  * placed in the event queue.
   16117  */
   16118 
   16119 /*****************************************************************************
   16120  **
   16121  ** xcb_get_screen_saver_cookie_t xcb_get_screen_saver_unchecked
   16122  **
   16123  ** @param xcb_connection_t *c
   16124  ** @returns xcb_get_screen_saver_cookie_t
   16125  **
   16126  *****************************************************************************/
   16127 
   16128 xcb_get_screen_saver_cookie_t
   16129 xcb_get_screen_saver_unchecked (xcb_connection_t *c  /**< */);
   16130 
   16131 /**
   16132  * Return the reply
   16133  * @param c      The connection
   16134  * @param cookie The cookie
   16135  * @param e      The xcb_generic_error_t supplied
   16136  *
   16137  * Returns the reply of the request asked by
   16138  *
   16139  * The parameter @p e supplied to this function must be NULL if
   16140  * xcb_get_screen_saver_unchecked(). is used.
   16141  * Otherwise, it stores the error if any.
   16142  *
   16143  * The returned value must be freed by the caller using free().
   16144  */
   16145 
   16146 /*****************************************************************************
   16147  **
   16148  ** xcb_get_screen_saver_reply_t * xcb_get_screen_saver_reply
   16149  **
   16150  ** @param xcb_connection_t               *c
   16151  ** @param xcb_get_screen_saver_cookie_t   cookie
   16152  ** @param xcb_generic_error_t           **e
   16153  ** @returns xcb_get_screen_saver_reply_t *
   16154  **
   16155  *****************************************************************************/
   16156 
   16157 xcb_get_screen_saver_reply_t *
   16158 xcb_get_screen_saver_reply (xcb_connection_t               *c  /**< */,
   16159                             xcb_get_screen_saver_cookie_t   cookie  /**< */,
   16160                             xcb_generic_error_t           **e  /**< */);
   16161 
   16162 int
   16163 xcb_change_hosts_sizeof (const void  *_buffer  /**< */);
   16164 
   16165 /**
   16166  *
   16167  * @param c The connection
   16168  * @return A cookie
   16169  *
   16170  * Delivers a request to the X server.
   16171  *
   16172  * This form can be used only if the request will not cause
   16173  * a reply to be generated. Any returned error will be
   16174  * saved for handling by xcb_request_check().
   16175  */
   16176 
   16177 /*****************************************************************************
   16178  **
   16179  ** xcb_void_cookie_t xcb_change_hosts_checked
   16180  **
   16181  ** @param xcb_connection_t *c
   16182  ** @param uint8_t           mode
   16183  ** @param uint8_t           family
   16184  ** @param uint16_t          address_len
   16185  ** @param const uint8_t    *address
   16186  ** @returns xcb_void_cookie_t
   16187  **
   16188  *****************************************************************************/
   16189 
   16190 xcb_void_cookie_t
   16191 xcb_change_hosts_checked (xcb_connection_t *c  /**< */,
   16192                           uint8_t           mode  /**< */,
   16193                           uint8_t           family  /**< */,
   16194                           uint16_t          address_len  /**< */,
   16195                           const uint8_t    *address  /**< */);
   16196 
   16197 /**
   16198  *
   16199  * @param c The connection
   16200  * @return A cookie
   16201  *
   16202  * Delivers a request to the X server.
   16203  *
   16204  */
   16205 
   16206 /*****************************************************************************
   16207  **
   16208  ** xcb_void_cookie_t xcb_change_hosts
   16209  **
   16210  ** @param xcb_connection_t *c
   16211  ** @param uint8_t           mode
   16212  ** @param uint8_t           family
   16213  ** @param uint16_t          address_len
   16214  ** @param const uint8_t    *address
   16215  ** @returns xcb_void_cookie_t
   16216  **
   16217  *****************************************************************************/
   16218 
   16219 xcb_void_cookie_t
   16220 xcb_change_hosts (xcb_connection_t *c  /**< */,
   16221                   uint8_t           mode  /**< */,
   16222                   uint8_t           family  /**< */,
   16223                   uint16_t          address_len  /**< */,
   16224                   const uint8_t    *address  /**< */);
   16225 
   16226 int
   16227 xcb_host_sizeof (const void  *_buffer  /**< */);
   16228 
   16229 
   16230 /*****************************************************************************
   16231  **
   16232  ** uint8_t * xcb_host_address
   16233  **
   16234  ** @param const xcb_host_t *R
   16235  ** @returns uint8_t *
   16236  **
   16237  *****************************************************************************/
   16238 
   16239 uint8_t *
   16240 xcb_host_address (const xcb_host_t *R  /**< */);
   16241 
   16242 
   16243 /*****************************************************************************
   16244  **
   16245  ** int xcb_host_address_length
   16246  **
   16247  ** @param const xcb_host_t *R
   16248  ** @returns int
   16249  **
   16250  *****************************************************************************/
   16251 
   16252 int
   16253 xcb_host_address_length (const xcb_host_t *R  /**< */);
   16254 
   16255 
   16256 /*****************************************************************************
   16257  **
   16258  ** xcb_generic_iterator_t xcb_host_address_end
   16259  **
   16260  ** @param const xcb_host_t *R
   16261  ** @returns xcb_generic_iterator_t
   16262  **
   16263  *****************************************************************************/
   16264 
   16265 xcb_generic_iterator_t
   16266 xcb_host_address_end (const xcb_host_t *R  /**< */);
   16267 
   16268 /**
   16269  * Get the next element of the iterator
   16270  * @param i Pointer to a xcb_host_iterator_t
   16271  *
   16272  * Get the next element in the iterator. The member rem is
   16273  * decreased by one. The member data points to the next
   16274  * element. The member index is increased by sizeof(xcb_host_t)
   16275  */
   16276 
   16277 /*****************************************************************************
   16278  **
   16279  ** void xcb_host_next
   16280  **
   16281  ** @param xcb_host_iterator_t *i
   16282  ** @returns void
   16283  **
   16284  *****************************************************************************/
   16285 
   16286 void
   16287 xcb_host_next (xcb_host_iterator_t *i  /**< */);
   16288 
   16289 /**
   16290  * Return the iterator pointing to the last element
   16291  * @param i An xcb_host_iterator_t
   16292  * @return  The iterator pointing to the last element
   16293  *
   16294  * Set the current element in the iterator to the last element.
   16295  * The member rem is set to 0. The member data points to the
   16296  * last element.
   16297  */
   16298 
   16299 /*****************************************************************************
   16300  **
   16301  ** xcb_generic_iterator_t xcb_host_end
   16302  **
   16303  ** @param xcb_host_iterator_t i
   16304  ** @returns xcb_generic_iterator_t
   16305  **
   16306  *****************************************************************************/
   16307 
   16308 xcb_generic_iterator_t
   16309 xcb_host_end (xcb_host_iterator_t i  /**< */);
   16310 
   16311 int
   16312 xcb_list_hosts_sizeof (const void  *_buffer  /**< */);
   16313 
   16314 /**
   16315  *
   16316  * @param c The connection
   16317  * @return A cookie
   16318  *
   16319  * Delivers a request to the X server.
   16320  *
   16321  */
   16322 
   16323 /*****************************************************************************
   16324  **
   16325  ** xcb_list_hosts_cookie_t xcb_list_hosts
   16326  **
   16327  ** @param xcb_connection_t *c
   16328  ** @returns xcb_list_hosts_cookie_t
   16329  **
   16330  *****************************************************************************/
   16331 
   16332 xcb_list_hosts_cookie_t
   16333 xcb_list_hosts (xcb_connection_t *c  /**< */);
   16334 
   16335 /**
   16336  *
   16337  * @param c The connection
   16338  * @return A cookie
   16339  *
   16340  * Delivers a request to the X server.
   16341  *
   16342  * This form can be used only if the request will cause
   16343  * a reply to be generated. Any returned error will be
   16344  * placed in the event queue.
   16345  */
   16346 
   16347 /*****************************************************************************
   16348  **
   16349  ** xcb_list_hosts_cookie_t xcb_list_hosts_unchecked
   16350  **
   16351  ** @param xcb_connection_t *c
   16352  ** @returns xcb_list_hosts_cookie_t
   16353  **
   16354  *****************************************************************************/
   16355 
   16356 xcb_list_hosts_cookie_t
   16357 xcb_list_hosts_unchecked (xcb_connection_t *c  /**< */);
   16358 
   16359 
   16360 /*****************************************************************************
   16361  **
   16362  ** int xcb_list_hosts_hosts_length
   16363  **
   16364  ** @param const xcb_list_hosts_reply_t *R
   16365  ** @returns int
   16366  **
   16367  *****************************************************************************/
   16368 
   16369 int
   16370 xcb_list_hosts_hosts_length (const xcb_list_hosts_reply_t *R  /**< */);
   16371 
   16372 
   16373 /*****************************************************************************
   16374  **
   16375  ** xcb_host_iterator_t xcb_list_hosts_hosts_iterator
   16376  **
   16377  ** @param const xcb_list_hosts_reply_t *R
   16378  ** @returns xcb_host_iterator_t
   16379  **
   16380  *****************************************************************************/
   16381 
   16382 xcb_host_iterator_t
   16383 xcb_list_hosts_hosts_iterator (const xcb_list_hosts_reply_t *R  /**< */);
   16384 
   16385 /**
   16386  * Return the reply
   16387  * @param c      The connection
   16388  * @param cookie The cookie
   16389  * @param e      The xcb_generic_error_t supplied
   16390  *
   16391  * Returns the reply of the request asked by
   16392  *
   16393  * The parameter @p e supplied to this function must be NULL if
   16394  * xcb_list_hosts_unchecked(). is used.
   16395  * Otherwise, it stores the error if any.
   16396  *
   16397  * The returned value must be freed by the caller using free().
   16398  */
   16399 
   16400 /*****************************************************************************
   16401  **
   16402  ** xcb_list_hosts_reply_t * xcb_list_hosts_reply
   16403  **
   16404  ** @param xcb_connection_t         *c
   16405  ** @param xcb_list_hosts_cookie_t   cookie
   16406  ** @param xcb_generic_error_t     **e
   16407  ** @returns xcb_list_hosts_reply_t *
   16408  **
   16409  *****************************************************************************/
   16410 
   16411 xcb_list_hosts_reply_t *
   16412 xcb_list_hosts_reply (xcb_connection_t         *c  /**< */,
   16413                       xcb_list_hosts_cookie_t   cookie  /**< */,
   16414                       xcb_generic_error_t     **e  /**< */);
   16415 
   16416 /**
   16417  *
   16418  * @param c The connection
   16419  * @return A cookie
   16420  *
   16421  * Delivers a request to the X server.
   16422  *
   16423  * This form can be used only if the request will not cause
   16424  * a reply to be generated. Any returned error will be
   16425  * saved for handling by xcb_request_check().
   16426  */
   16427 
   16428 /*****************************************************************************
   16429  **
   16430  ** xcb_void_cookie_t xcb_set_access_control_checked
   16431  **
   16432  ** @param xcb_connection_t *c
   16433  ** @param uint8_t           mode
   16434  ** @returns xcb_void_cookie_t
   16435  **
   16436  *****************************************************************************/
   16437 
   16438 xcb_void_cookie_t
   16439 xcb_set_access_control_checked (xcb_connection_t *c  /**< */,
   16440                                 uint8_t           mode  /**< */);
   16441 
   16442 /**
   16443  *
   16444  * @param c The connection
   16445  * @return A cookie
   16446  *
   16447  * Delivers a request to the X server.
   16448  *
   16449  */
   16450 
   16451 /*****************************************************************************
   16452  **
   16453  ** xcb_void_cookie_t xcb_set_access_control
   16454  **
   16455  ** @param xcb_connection_t *c
   16456  ** @param uint8_t           mode
   16457  ** @returns xcb_void_cookie_t
   16458  **
   16459  *****************************************************************************/
   16460 
   16461 xcb_void_cookie_t
   16462 xcb_set_access_control (xcb_connection_t *c  /**< */,
   16463                         uint8_t           mode  /**< */);
   16464 
   16465 /**
   16466  *
   16467  * @param c The connection
   16468  * @return A cookie
   16469  *
   16470  * Delivers a request to the X server.
   16471  *
   16472  * This form can be used only if the request will not cause
   16473  * a reply to be generated. Any returned error will be
   16474  * saved for handling by xcb_request_check().
   16475  */
   16476 
   16477 /*****************************************************************************
   16478  **
   16479  ** xcb_void_cookie_t xcb_set_close_down_mode_checked
   16480  **
   16481  ** @param xcb_connection_t *c
   16482  ** @param uint8_t           mode
   16483  ** @returns xcb_void_cookie_t
   16484  **
   16485  *****************************************************************************/
   16486 
   16487 xcb_void_cookie_t
   16488 xcb_set_close_down_mode_checked (xcb_connection_t *c  /**< */,
   16489                                  uint8_t           mode  /**< */);
   16490 
   16491 /**
   16492  *
   16493  * @param c The connection
   16494  * @return A cookie
   16495  *
   16496  * Delivers a request to the X server.
   16497  *
   16498  */
   16499 
   16500 /*****************************************************************************
   16501  **
   16502  ** xcb_void_cookie_t xcb_set_close_down_mode
   16503  **
   16504  ** @param xcb_connection_t *c
   16505  ** @param uint8_t           mode
   16506  ** @returns xcb_void_cookie_t
   16507  **
   16508  *****************************************************************************/
   16509 
   16510 xcb_void_cookie_t
   16511 xcb_set_close_down_mode (xcb_connection_t *c  /**< */,
   16512                          uint8_t           mode  /**< */);
   16513 
   16514 /**
   16515  * @brief kills a client
   16516  *
   16517  * @param c The connection
   16518  * @param resource Any resource belonging to the client (for example a Window), used to identify
   16519  * the client connection.
   16520  * \n
   16521  * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
   16522  * that have terminated in `RetainTemporary` (TODO) are destroyed.
   16523  * @return A cookie
   16524  *
   16525  * Forces a close down of the client that created the specified \a resource.
   16526  *
   16527  * This form can be used only if the request will not cause
   16528  * a reply to be generated. Any returned error will be
   16529  * saved for handling by xcb_request_check().
   16530  */
   16531 
   16532 /*****************************************************************************
   16533  **
   16534  ** xcb_void_cookie_t xcb_kill_client_checked
   16535  **
   16536  ** @param xcb_connection_t *c
   16537  ** @param uint32_t          resource
   16538  ** @returns xcb_void_cookie_t
   16539  **
   16540  *****************************************************************************/
   16541 
   16542 xcb_void_cookie_t
   16543 xcb_kill_client_checked (xcb_connection_t *c  /**< */,
   16544                          uint32_t          resource  /**< */);
   16545 
   16546 /**
   16547  * @brief kills a client
   16548  *
   16549  * @param c The connection
   16550  * @param resource Any resource belonging to the client (for example a Window), used to identify
   16551  * the client connection.
   16552  * \n
   16553  * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
   16554  * that have terminated in `RetainTemporary` (TODO) are destroyed.
   16555  * @return A cookie
   16556  *
   16557  * Forces a close down of the client that created the specified \a resource.
   16558  *
   16559  */
   16560 
   16561 /*****************************************************************************
   16562  **
   16563  ** xcb_void_cookie_t xcb_kill_client
   16564  **
   16565  ** @param xcb_connection_t *c
   16566  ** @param uint32_t          resource
   16567  ** @returns xcb_void_cookie_t
   16568  **
   16569  *****************************************************************************/
   16570 
   16571 xcb_void_cookie_t
   16572 xcb_kill_client (xcb_connection_t *c  /**< */,
   16573                  uint32_t          resource  /**< */);
   16574 
   16575 int
   16576 xcb_rotate_properties_sizeof (const void  *_buffer  /**< */);
   16577 
   16578 /**
   16579  *
   16580  * @param c The connection
   16581  * @return A cookie
   16582  *
   16583  * Delivers a request to the X server.
   16584  *
   16585  * This form can be used only if the request will not cause
   16586  * a reply to be generated. Any returned error will be
   16587  * saved for handling by xcb_request_check().
   16588  */
   16589 
   16590 /*****************************************************************************
   16591  **
   16592  ** xcb_void_cookie_t xcb_rotate_properties_checked
   16593  **
   16594  ** @param xcb_connection_t *c
   16595  ** @param xcb_window_t      window
   16596  ** @param uint16_t          atoms_len
   16597  ** @param int16_t           delta
   16598  ** @param const xcb_atom_t *atoms
   16599  ** @returns xcb_void_cookie_t
   16600  **
   16601  *****************************************************************************/
   16602 
   16603 xcb_void_cookie_t
   16604 xcb_rotate_properties_checked (xcb_connection_t *c  /**< */,
   16605                                xcb_window_t      window  /**< */,
   16606                                uint16_t          atoms_len  /**< */,
   16607                                int16_t           delta  /**< */,
   16608                                const xcb_atom_t *atoms  /**< */);
   16609 
   16610 /**
   16611  *
   16612  * @param c The connection
   16613  * @return A cookie
   16614  *
   16615  * Delivers a request to the X server.
   16616  *
   16617  */
   16618 
   16619 /*****************************************************************************
   16620  **
   16621  ** xcb_void_cookie_t xcb_rotate_properties
   16622  **
   16623  ** @param xcb_connection_t *c
   16624  ** @param xcb_window_t      window
   16625  ** @param uint16_t          atoms_len
   16626  ** @param int16_t           delta
   16627  ** @param const xcb_atom_t *atoms
   16628  ** @returns xcb_void_cookie_t
   16629  **
   16630  *****************************************************************************/
   16631 
   16632 xcb_void_cookie_t
   16633 xcb_rotate_properties (xcb_connection_t *c  /**< */,
   16634                        xcb_window_t      window  /**< */,
   16635                        uint16_t          atoms_len  /**< */,
   16636                        int16_t           delta  /**< */,
   16637                        const xcb_atom_t *atoms  /**< */);
   16638 
   16639 /**
   16640  *
   16641  * @param c The connection
   16642  * @return A cookie
   16643  *
   16644  * Delivers a request to the X server.
   16645  *
   16646  * This form can be used only if the request will not cause
   16647  * a reply to be generated. Any returned error will be
   16648  * saved for handling by xcb_request_check().
   16649  */
   16650 
   16651 /*****************************************************************************
   16652  **
   16653  ** xcb_void_cookie_t xcb_force_screen_saver_checked
   16654  **
   16655  ** @param xcb_connection_t *c
   16656  ** @param uint8_t           mode
   16657  ** @returns xcb_void_cookie_t
   16658  **
   16659  *****************************************************************************/
   16660 
   16661 xcb_void_cookie_t
   16662 xcb_force_screen_saver_checked (xcb_connection_t *c  /**< */,
   16663                                 uint8_t           mode  /**< */);
   16664 
   16665 /**
   16666  *
   16667  * @param c The connection
   16668  * @return A cookie
   16669  *
   16670  * Delivers a request to the X server.
   16671  *
   16672  */
   16673 
   16674 /*****************************************************************************
   16675  **
   16676  ** xcb_void_cookie_t xcb_force_screen_saver
   16677  **
   16678  ** @param xcb_connection_t *c
   16679  ** @param uint8_t           mode
   16680  ** @returns xcb_void_cookie_t
   16681  **
   16682  *****************************************************************************/
   16683 
   16684 xcb_void_cookie_t
   16685 xcb_force_screen_saver (xcb_connection_t *c  /**< */,
   16686                         uint8_t           mode  /**< */);
   16687 
   16688 int
   16689 xcb_set_pointer_mapping_sizeof (const void  *_buffer  /**< */);
   16690 
   16691 /**
   16692  *
   16693  * @param c The connection
   16694  * @return A cookie
   16695  *
   16696  * Delivers a request to the X server.
   16697  *
   16698  */
   16699 
   16700 /*****************************************************************************
   16701  **
   16702  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping
   16703  **
   16704  ** @param xcb_connection_t *c
   16705  ** @param uint8_t           map_len
   16706  ** @param const uint8_t    *map
   16707  ** @returns xcb_set_pointer_mapping_cookie_t
   16708  **
   16709  *****************************************************************************/
   16710 
   16711 xcb_set_pointer_mapping_cookie_t
   16712 xcb_set_pointer_mapping (xcb_connection_t *c  /**< */,
   16713                          uint8_t           map_len  /**< */,
   16714                          const uint8_t    *map  /**< */);
   16715 
   16716 /**
   16717  *
   16718  * @param c The connection
   16719  * @return A cookie
   16720  *
   16721  * Delivers a request to the X server.
   16722  *
   16723  * This form can be used only if the request will cause
   16724  * a reply to be generated. Any returned error will be
   16725  * placed in the event queue.
   16726  */
   16727 
   16728 /*****************************************************************************
   16729  **
   16730  ** xcb_set_pointer_mapping_cookie_t xcb_set_pointer_mapping_unchecked
   16731  **
   16732  ** @param xcb_connection_t *c
   16733  ** @param uint8_t           map_len
   16734  ** @param const uint8_t    *map
   16735  ** @returns xcb_set_pointer_mapping_cookie_t
   16736  **
   16737  *****************************************************************************/
   16738 
   16739 xcb_set_pointer_mapping_cookie_t
   16740 xcb_set_pointer_mapping_unchecked (xcb_connection_t *c  /**< */,
   16741                                    uint8_t           map_len  /**< */,
   16742                                    const uint8_t    *map  /**< */);
   16743 
   16744 /**
   16745  * Return the reply
   16746  * @param c      The connection
   16747  * @param cookie The cookie
   16748  * @param e      The xcb_generic_error_t supplied
   16749  *
   16750  * Returns the reply of the request asked by
   16751  *
   16752  * The parameter @p e supplied to this function must be NULL if
   16753  * xcb_set_pointer_mapping_unchecked(). is used.
   16754  * Otherwise, it stores the error if any.
   16755  *
   16756  * The returned value must be freed by the caller using free().
   16757  */
   16758 
   16759 /*****************************************************************************
   16760  **
   16761  ** xcb_set_pointer_mapping_reply_t * xcb_set_pointer_mapping_reply
   16762  **
   16763  ** @param xcb_connection_t                  *c
   16764  ** @param xcb_set_pointer_mapping_cookie_t   cookie
   16765  ** @param xcb_generic_error_t              **e
   16766  ** @returns xcb_set_pointer_mapping_reply_t *
   16767  **
   16768  *****************************************************************************/
   16769 
   16770 xcb_set_pointer_mapping_reply_t *
   16771 xcb_set_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
   16772                                xcb_set_pointer_mapping_cookie_t   cookie  /**< */,
   16773                                xcb_generic_error_t              **e  /**< */);
   16774 
   16775 int
   16776 xcb_get_pointer_mapping_sizeof (const void  *_buffer  /**< */);
   16777 
   16778 /**
   16779  *
   16780  * @param c The connection
   16781  * @return A cookie
   16782  *
   16783  * Delivers a request to the X server.
   16784  *
   16785  */
   16786 
   16787 /*****************************************************************************
   16788  **
   16789  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping
   16790  **
   16791  ** @param xcb_connection_t *c
   16792  ** @returns xcb_get_pointer_mapping_cookie_t
   16793  **
   16794  *****************************************************************************/
   16795 
   16796 xcb_get_pointer_mapping_cookie_t
   16797 xcb_get_pointer_mapping (xcb_connection_t *c  /**< */);
   16798 
   16799 /**
   16800  *
   16801  * @param c The connection
   16802  * @return A cookie
   16803  *
   16804  * Delivers a request to the X server.
   16805  *
   16806  * This form can be used only if the request will cause
   16807  * a reply to be generated. Any returned error will be
   16808  * placed in the event queue.
   16809  */
   16810 
   16811 /*****************************************************************************
   16812  **
   16813  ** xcb_get_pointer_mapping_cookie_t xcb_get_pointer_mapping_unchecked
   16814  **
   16815  ** @param xcb_connection_t *c
   16816  ** @returns xcb_get_pointer_mapping_cookie_t
   16817  **
   16818  *****************************************************************************/
   16819 
   16820 xcb_get_pointer_mapping_cookie_t
   16821 xcb_get_pointer_mapping_unchecked (xcb_connection_t *c  /**< */);
   16822 
   16823 
   16824 /*****************************************************************************
   16825  **
   16826  ** uint8_t * xcb_get_pointer_mapping_map
   16827  **
   16828  ** @param const xcb_get_pointer_mapping_reply_t *R
   16829  ** @returns uint8_t *
   16830  **
   16831  *****************************************************************************/
   16832 
   16833 uint8_t *
   16834 xcb_get_pointer_mapping_map (const xcb_get_pointer_mapping_reply_t *R  /**< */);
   16835 
   16836 
   16837 /*****************************************************************************
   16838  **
   16839  ** int xcb_get_pointer_mapping_map_length
   16840  **
   16841  ** @param const xcb_get_pointer_mapping_reply_t *R
   16842  ** @returns int
   16843  **
   16844  *****************************************************************************/
   16845 
   16846 int
   16847 xcb_get_pointer_mapping_map_length (const xcb_get_pointer_mapping_reply_t *R  /**< */);
   16848 
   16849 
   16850 /*****************************************************************************
   16851  **
   16852  ** xcb_generic_iterator_t xcb_get_pointer_mapping_map_end
   16853  **
   16854  ** @param const xcb_get_pointer_mapping_reply_t *R
   16855  ** @returns xcb_generic_iterator_t
   16856  **
   16857  *****************************************************************************/
   16858 
   16859 xcb_generic_iterator_t
   16860 xcb_get_pointer_mapping_map_end (const xcb_get_pointer_mapping_reply_t *R  /**< */);
   16861 
   16862 /**
   16863  * Return the reply
   16864  * @param c      The connection
   16865  * @param cookie The cookie
   16866  * @param e      The xcb_generic_error_t supplied
   16867  *
   16868  * Returns the reply of the request asked by
   16869  *
   16870  * The parameter @p e supplied to this function must be NULL if
   16871  * xcb_get_pointer_mapping_unchecked(). is used.
   16872  * Otherwise, it stores the error if any.
   16873  *
   16874  * The returned value must be freed by the caller using free().
   16875  */
   16876 
   16877 /*****************************************************************************
   16878  **
   16879  ** xcb_get_pointer_mapping_reply_t * xcb_get_pointer_mapping_reply
   16880  **
   16881  ** @param xcb_connection_t                  *c
   16882  ** @param xcb_get_pointer_mapping_cookie_t   cookie
   16883  ** @param xcb_generic_error_t              **e
   16884  ** @returns xcb_get_pointer_mapping_reply_t *
   16885  **
   16886  *****************************************************************************/
   16887 
   16888 xcb_get_pointer_mapping_reply_t *
   16889 xcb_get_pointer_mapping_reply (xcb_connection_t                  *c  /**< */,
   16890                                xcb_get_pointer_mapping_cookie_t   cookie  /**< */,
   16891                                xcb_generic_error_t              **e  /**< */);
   16892 
   16893 int
   16894 xcb_set_modifier_mapping_sizeof (const void  *_buffer  /**< */);
   16895 
   16896 /**
   16897  *
   16898  * @param c The connection
   16899  * @return A cookie
   16900  *
   16901  * Delivers a request to the X server.
   16902  *
   16903  */
   16904 
   16905 /*****************************************************************************
   16906  **
   16907  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping
   16908  **
   16909  ** @param xcb_connection_t    *c
   16910  ** @param uint8_t              keycodes_per_modifier
   16911  ** @param const xcb_keycode_t *keycodes
   16912  ** @returns xcb_set_modifier_mapping_cookie_t
   16913  **
   16914  *****************************************************************************/
   16915 
   16916 xcb_set_modifier_mapping_cookie_t
   16917 xcb_set_modifier_mapping (xcb_connection_t    *c  /**< */,
   16918                           uint8_t              keycodes_per_modifier  /**< */,
   16919                           const xcb_keycode_t *keycodes  /**< */);
   16920 
   16921 /**
   16922  *
   16923  * @param c The connection
   16924  * @return A cookie
   16925  *
   16926  * Delivers a request to the X server.
   16927  *
   16928  * This form can be used only if the request will cause
   16929  * a reply to be generated. Any returned error will be
   16930  * placed in the event queue.
   16931  */
   16932 
   16933 /*****************************************************************************
   16934  **
   16935  ** xcb_set_modifier_mapping_cookie_t xcb_set_modifier_mapping_unchecked
   16936  **
   16937  ** @param xcb_connection_t    *c
   16938  ** @param uint8_t              keycodes_per_modifier
   16939  ** @param const xcb_keycode_t *keycodes
   16940  ** @returns xcb_set_modifier_mapping_cookie_t
   16941  **
   16942  *****************************************************************************/
   16943 
   16944 xcb_set_modifier_mapping_cookie_t
   16945 xcb_set_modifier_mapping_unchecked (xcb_connection_t    *c  /**< */,
   16946                                     uint8_t              keycodes_per_modifier  /**< */,
   16947                                     const xcb_keycode_t *keycodes  /**< */);
   16948 
   16949 /**
   16950  * Return the reply
   16951  * @param c      The connection
   16952  * @param cookie The cookie
   16953  * @param e      The xcb_generic_error_t supplied
   16954  *
   16955  * Returns the reply of the request asked by
   16956  *
   16957  * The parameter @p e supplied to this function must be NULL if
   16958  * xcb_set_modifier_mapping_unchecked(). is used.
   16959  * Otherwise, it stores the error if any.
   16960  *
   16961  * The returned value must be freed by the caller using free().
   16962  */
   16963 
   16964 /*****************************************************************************
   16965  **
   16966  ** xcb_set_modifier_mapping_reply_t * xcb_set_modifier_mapping_reply
   16967  **
   16968  ** @param xcb_connection_t                   *c
   16969  ** @param xcb_set_modifier_mapping_cookie_t   cookie
   16970  ** @param xcb_generic_error_t               **e
   16971  ** @returns xcb_set_modifier_mapping_reply_t *
   16972  **
   16973  *****************************************************************************/
   16974 
   16975 xcb_set_modifier_mapping_reply_t *
   16976 xcb_set_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
   16977                                 xcb_set_modifier_mapping_cookie_t   cookie  /**< */,
   16978                                 xcb_generic_error_t               **e  /**< */);
   16979 
   16980 int
   16981 xcb_get_modifier_mapping_sizeof (const void  *_buffer  /**< */);
   16982 
   16983 /**
   16984  *
   16985  * @param c The connection
   16986  * @return A cookie
   16987  *
   16988  * Delivers a request to the X server.
   16989  *
   16990  */
   16991 
   16992 /*****************************************************************************
   16993  **
   16994  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping
   16995  **
   16996  ** @param xcb_connection_t *c
   16997  ** @returns xcb_get_modifier_mapping_cookie_t
   16998  **
   16999  *****************************************************************************/
   17000 
   17001 xcb_get_modifier_mapping_cookie_t
   17002 xcb_get_modifier_mapping (xcb_connection_t *c  /**< */);
   17003 
   17004 /**
   17005  *
   17006  * @param c The connection
   17007  * @return A cookie
   17008  *
   17009  * Delivers a request to the X server.
   17010  *
   17011  * This form can be used only if the request will cause
   17012  * a reply to be generated. Any returned error will be
   17013  * placed in the event queue.
   17014  */
   17015 
   17016 /*****************************************************************************
   17017  **
   17018  ** xcb_get_modifier_mapping_cookie_t xcb_get_modifier_mapping_unchecked
   17019  **
   17020  ** @param xcb_connection_t *c
   17021  ** @returns xcb_get_modifier_mapping_cookie_t
   17022  **
   17023  *****************************************************************************/
   17024 
   17025 xcb_get_modifier_mapping_cookie_t
   17026 xcb_get_modifier_mapping_unchecked (xcb_connection_t *c  /**< */);
   17027 
   17028 
   17029 /*****************************************************************************
   17030  **
   17031  ** xcb_keycode_t * xcb_get_modifier_mapping_keycodes
   17032  **
   17033  ** @param const xcb_get_modifier_mapping_reply_t *R
   17034  ** @returns xcb_keycode_t *
   17035  **
   17036  *****************************************************************************/
   17037 
   17038 xcb_keycode_t *
   17039 xcb_get_modifier_mapping_keycodes (const xcb_get_modifier_mapping_reply_t *R  /**< */);
   17040 
   17041 
   17042 /*****************************************************************************
   17043  **
   17044  ** int xcb_get_modifier_mapping_keycodes_length
   17045  **
   17046  ** @param const xcb_get_modifier_mapping_reply_t *R
   17047  ** @returns int
   17048  **
   17049  *****************************************************************************/
   17050 
   17051 int
   17052 xcb_get_modifier_mapping_keycodes_length (const xcb_get_modifier_mapping_reply_t *R  /**< */);
   17053 
   17054 
   17055 /*****************************************************************************
   17056  **
   17057  ** xcb_generic_iterator_t xcb_get_modifier_mapping_keycodes_end
   17058  **
   17059  ** @param const xcb_get_modifier_mapping_reply_t *R
   17060  ** @returns xcb_generic_iterator_t
   17061  **
   17062  *****************************************************************************/
   17063 
   17064 xcb_generic_iterator_t
   17065 xcb_get_modifier_mapping_keycodes_end (const xcb_get_modifier_mapping_reply_t *R  /**< */);
   17066 
   17067 /**
   17068  * Return the reply
   17069  * @param c      The connection
   17070  * @param cookie The cookie
   17071  * @param e      The xcb_generic_error_t supplied
   17072  *
   17073  * Returns the reply of the request asked by
   17074  *
   17075  * The parameter @p e supplied to this function must be NULL if
   17076  * xcb_get_modifier_mapping_unchecked(). is used.
   17077  * Otherwise, it stores the error if any.
   17078  *
   17079  * The returned value must be freed by the caller using free().
   17080  */
   17081 
   17082 /*****************************************************************************
   17083  **
   17084  ** xcb_get_modifier_mapping_reply_t * xcb_get_modifier_mapping_reply
   17085  **
   17086  ** @param xcb_connection_t                   *c
   17087  ** @param xcb_get_modifier_mapping_cookie_t   cookie
   17088  ** @param xcb_generic_error_t               **e
   17089  ** @returns xcb_get_modifier_mapping_reply_t *
   17090  **
   17091  *****************************************************************************/
   17092 
   17093 xcb_get_modifier_mapping_reply_t *
   17094 xcb_get_modifier_mapping_reply (xcb_connection_t                   *c  /**< */,
   17095                                 xcb_get_modifier_mapping_cookie_t   cookie  /**< */,
   17096                                 xcb_generic_error_t               **e  /**< */);
   17097 
   17098 /**
   17099  *
   17100  * @param c The connection
   17101  * @return A cookie
   17102  *
   17103  * Delivers a request to the X server.
   17104  *
   17105  * This form can be used only if the request will not cause
   17106  * a reply to be generated. Any returned error will be
   17107  * saved for handling by xcb_request_check().
   17108  */
   17109 
   17110 /*****************************************************************************
   17111  **
   17112  ** xcb_void_cookie_t xcb_no_operation_checked
   17113  **
   17114  ** @param xcb_connection_t *c
   17115  ** @returns xcb_void_cookie_t
   17116  **
   17117  *****************************************************************************/
   17118 
   17119 xcb_void_cookie_t
   17120 xcb_no_operation_checked (xcb_connection_t *c  /**< */);
   17121 
   17122 /**
   17123  *
   17124  * @param c The connection
   17125  * @return A cookie
   17126  *
   17127  * Delivers a request to the X server.
   17128  *
   17129  */
   17130 
   17131 /*****************************************************************************
   17132  **
   17133  ** xcb_void_cookie_t xcb_no_operation
   17134  **
   17135  ** @param xcb_connection_t *c
   17136  ** @returns xcb_void_cookie_t
   17137  **
   17138  *****************************************************************************/
   17139 
   17140 xcb_void_cookie_t
   17141 xcb_no_operation (xcb_connection_t *c  /**< */);
   17142 
   17143 
   17144 #ifdef __cplusplus
   17145 }
   17146 #endif
   17147 
   17148 #endif
   17149 
   17150 /**
   17151  * @}
   17152  */
   17153