Home | History | Annotate | Line # | Download | only in files
xkb.c revision 1.2
      1 /*
      2  * This file generated automatically from xkb.xml by c_client.py.
      3  * Edit at your peril.
      4  */
      5 
      6 #ifdef HAVE_CONFIG_H
      7 #include "config.h"
      8 #endif
      9 #include <stdlib.h>
     10 #include <string.h>
     11 #include <assert.h>
     12 #include <stddef.h>  /* for offsetof() */
     13 #include "xcbext.h"
     14 #include "xkb.h"
     15 
     16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member)
     17 #include "xproto.h"
     18 
     19 xcb_extension_t xcb_xkb_id = { "XKEYBOARD", 0 };
     20 
     21 
     22 /*****************************************************************************
     23  **
     24  ** void xcb_xkb_device_spec_next
     25  **
     26  ** @param xcb_xkb_device_spec_iterator_t *i
     27  ** @returns void
     28  **
     29  *****************************************************************************/
     30 
     31 void
     32 xcb_xkb_device_spec_next (xcb_xkb_device_spec_iterator_t *i  /**< */)
     33 {
     34     --i->rem;
     35     ++i->data;
     36     i->index += sizeof(xcb_xkb_device_spec_t);
     37 }
     38 
     39 
     40 /*****************************************************************************
     41  **
     42  ** xcb_generic_iterator_t xcb_xkb_device_spec_end
     43  **
     44  ** @param xcb_xkb_device_spec_iterator_t i
     45  ** @returns xcb_generic_iterator_t
     46  **
     47  *****************************************************************************/
     48 
     49 xcb_generic_iterator_t
     50 xcb_xkb_device_spec_end (xcb_xkb_device_spec_iterator_t i  /**< */)
     51 {
     52     xcb_generic_iterator_t ret;
     53     ret.data = i.data + i.rem;
     54     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     55     ret.rem = 0;
     56     return ret;
     57 }
     58 
     59 
     60 /*****************************************************************************
     61  **
     62  ** void xcb_xkb_led_class_spec_next
     63  **
     64  ** @param xcb_xkb_led_class_spec_iterator_t *i
     65  ** @returns void
     66  **
     67  *****************************************************************************/
     68 
     69 void
     70 xcb_xkb_led_class_spec_next (xcb_xkb_led_class_spec_iterator_t *i  /**< */)
     71 {
     72     --i->rem;
     73     ++i->data;
     74     i->index += sizeof(xcb_xkb_led_class_spec_t);
     75 }
     76 
     77 
     78 /*****************************************************************************
     79  **
     80  ** xcb_generic_iterator_t xcb_xkb_led_class_spec_end
     81  **
     82  ** @param xcb_xkb_led_class_spec_iterator_t i
     83  ** @returns xcb_generic_iterator_t
     84  **
     85  *****************************************************************************/
     86 
     87 xcb_generic_iterator_t
     88 xcb_xkb_led_class_spec_end (xcb_xkb_led_class_spec_iterator_t i  /**< */)
     89 {
     90     xcb_generic_iterator_t ret;
     91     ret.data = i.data + i.rem;
     92     ret.index = i.index + ((char *) ret.data - (char *) i.data);
     93     ret.rem = 0;
     94     return ret;
     95 }
     96 
     97 
     98 /*****************************************************************************
     99  **
    100  ** void xcb_xkb_bell_class_spec_next
    101  **
    102  ** @param xcb_xkb_bell_class_spec_iterator_t *i
    103  ** @returns void
    104  **
    105  *****************************************************************************/
    106 
    107 void
    108 xcb_xkb_bell_class_spec_next (xcb_xkb_bell_class_spec_iterator_t *i  /**< */)
    109 {
    110     --i->rem;
    111     ++i->data;
    112     i->index += sizeof(xcb_xkb_bell_class_spec_t);
    113 }
    114 
    115 
    116 /*****************************************************************************
    117  **
    118  ** xcb_generic_iterator_t xcb_xkb_bell_class_spec_end
    119  **
    120  ** @param xcb_xkb_bell_class_spec_iterator_t i
    121  ** @returns xcb_generic_iterator_t
    122  **
    123  *****************************************************************************/
    124 
    125 xcb_generic_iterator_t
    126 xcb_xkb_bell_class_spec_end (xcb_xkb_bell_class_spec_iterator_t i  /**< */)
    127 {
    128     xcb_generic_iterator_t ret;
    129     ret.data = i.data + i.rem;
    130     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    131     ret.rem = 0;
    132     return ret;
    133 }
    134 
    135 
    136 /*****************************************************************************
    137  **
    138  ** void xcb_xkb_id_spec_next
    139  **
    140  ** @param xcb_xkb_id_spec_iterator_t *i
    141  ** @returns void
    142  **
    143  *****************************************************************************/
    144 
    145 void
    146 xcb_xkb_id_spec_next (xcb_xkb_id_spec_iterator_t *i  /**< */)
    147 {
    148     --i->rem;
    149     ++i->data;
    150     i->index += sizeof(xcb_xkb_id_spec_t);
    151 }
    152 
    153 
    154 /*****************************************************************************
    155  **
    156  ** xcb_generic_iterator_t xcb_xkb_id_spec_end
    157  **
    158  ** @param xcb_xkb_id_spec_iterator_t i
    159  ** @returns xcb_generic_iterator_t
    160  **
    161  *****************************************************************************/
    162 
    163 xcb_generic_iterator_t
    164 xcb_xkb_id_spec_end (xcb_xkb_id_spec_iterator_t i  /**< */)
    165 {
    166     xcb_generic_iterator_t ret;
    167     ret.data = i.data + i.rem;
    168     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    169     ret.rem = 0;
    170     return ret;
    171 }
    172 
    173 
    174 /*****************************************************************************
    175  **
    176  ** void xcb_xkb_indicator_map_next
    177  **
    178  ** @param xcb_xkb_indicator_map_iterator_t *i
    179  ** @returns void
    180  **
    181  *****************************************************************************/
    182 
    183 void
    184 xcb_xkb_indicator_map_next (xcb_xkb_indicator_map_iterator_t *i  /**< */)
    185 {
    186     --i->rem;
    187     ++i->data;
    188     i->index += sizeof(xcb_xkb_indicator_map_t);
    189 }
    190 
    191 
    192 /*****************************************************************************
    193  **
    194  ** xcb_generic_iterator_t xcb_xkb_indicator_map_end
    195  **
    196  ** @param xcb_xkb_indicator_map_iterator_t i
    197  ** @returns xcb_generic_iterator_t
    198  **
    199  *****************************************************************************/
    200 
    201 xcb_generic_iterator_t
    202 xcb_xkb_indicator_map_end (xcb_xkb_indicator_map_iterator_t i  /**< */)
    203 {
    204     xcb_generic_iterator_t ret;
    205     ret.data = i.data + i.rem;
    206     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    207     ret.rem = 0;
    208     return ret;
    209 }
    210 
    211 
    212 /*****************************************************************************
    213  **
    214  ** void xcb_xkb_mod_def_next
    215  **
    216  ** @param xcb_xkb_mod_def_iterator_t *i
    217  ** @returns void
    218  **
    219  *****************************************************************************/
    220 
    221 void
    222 xcb_xkb_mod_def_next (xcb_xkb_mod_def_iterator_t *i  /**< */)
    223 {
    224     --i->rem;
    225     ++i->data;
    226     i->index += sizeof(xcb_xkb_mod_def_t);
    227 }
    228 
    229 
    230 /*****************************************************************************
    231  **
    232  ** xcb_generic_iterator_t xcb_xkb_mod_def_end
    233  **
    234  ** @param xcb_xkb_mod_def_iterator_t i
    235  ** @returns xcb_generic_iterator_t
    236  **
    237  *****************************************************************************/
    238 
    239 xcb_generic_iterator_t
    240 xcb_xkb_mod_def_end (xcb_xkb_mod_def_iterator_t i  /**< */)
    241 {
    242     xcb_generic_iterator_t ret;
    243     ret.data = i.data + i.rem;
    244     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    245     ret.rem = 0;
    246     return ret;
    247 }
    248 
    249 
    250 /*****************************************************************************
    251  **
    252  ** void xcb_xkb_key_name_next
    253  **
    254  ** @param xcb_xkb_key_name_iterator_t *i
    255  ** @returns void
    256  **
    257  *****************************************************************************/
    258 
    259 void
    260 xcb_xkb_key_name_next (xcb_xkb_key_name_iterator_t *i  /**< */)
    261 {
    262     --i->rem;
    263     ++i->data;
    264     i->index += sizeof(xcb_xkb_key_name_t);
    265 }
    266 
    267 
    268 /*****************************************************************************
    269  **
    270  ** xcb_generic_iterator_t xcb_xkb_key_name_end
    271  **
    272  ** @param xcb_xkb_key_name_iterator_t i
    273  ** @returns xcb_generic_iterator_t
    274  **
    275  *****************************************************************************/
    276 
    277 xcb_generic_iterator_t
    278 xcb_xkb_key_name_end (xcb_xkb_key_name_iterator_t i  /**< */)
    279 {
    280     xcb_generic_iterator_t ret;
    281     ret.data = i.data + i.rem;
    282     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    283     ret.rem = 0;
    284     return ret;
    285 }
    286 
    287 
    288 /*****************************************************************************
    289  **
    290  ** void xcb_xkb_key_alias_next
    291  **
    292  ** @param xcb_xkb_key_alias_iterator_t *i
    293  ** @returns void
    294  **
    295  *****************************************************************************/
    296 
    297 void
    298 xcb_xkb_key_alias_next (xcb_xkb_key_alias_iterator_t *i  /**< */)
    299 {
    300     --i->rem;
    301     ++i->data;
    302     i->index += sizeof(xcb_xkb_key_alias_t);
    303 }
    304 
    305 
    306 /*****************************************************************************
    307  **
    308  ** xcb_generic_iterator_t xcb_xkb_key_alias_end
    309  **
    310  ** @param xcb_xkb_key_alias_iterator_t i
    311  ** @returns xcb_generic_iterator_t
    312  **
    313  *****************************************************************************/
    314 
    315 xcb_generic_iterator_t
    316 xcb_xkb_key_alias_end (xcb_xkb_key_alias_iterator_t i  /**< */)
    317 {
    318     xcb_generic_iterator_t ret;
    319     ret.data = i.data + i.rem;
    320     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    321     ret.rem = 0;
    322     return ret;
    323 }
    324 
    325 int
    326 xcb_xkb_counted_string_16_sizeof (const void  *_buffer  /**< */)
    327 {
    328     char *xcb_tmp = (char *)_buffer;
    329     const xcb_xkb_counted_string_16_t *_aux = (xcb_xkb_counted_string_16_t *)_buffer;
    330     unsigned int xcb_buffer_len = 0;
    331     unsigned int xcb_block_len = 0;
    332     unsigned int xcb_pad = 0;
    333     unsigned int xcb_align_to = 0;
    334 
    335 
    336     xcb_block_len += sizeof(xcb_xkb_counted_string_16_t);
    337     xcb_tmp += xcb_block_len;
    338     xcb_buffer_len += xcb_block_len;
    339     xcb_block_len = 0;
    340     /* string */
    341     xcb_block_len += _aux->length * sizeof(char);
    342     xcb_tmp += xcb_block_len;
    343     xcb_align_to = ALIGNOF(char);
    344     /* insert padding */
    345     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    346     xcb_buffer_len += xcb_block_len + xcb_pad;
    347     if (0 != xcb_pad) {
    348         xcb_tmp += xcb_pad;
    349         xcb_pad = 0;
    350     }
    351     xcb_block_len = 0;
    352     /* alignment_pad */
    353     xcb_block_len += (((_aux->length + 5) & (~3)) - (_aux->length + 2)) * sizeof(char);
    354     xcb_tmp += xcb_block_len;
    355     xcb_align_to = ALIGNOF(char);
    356     /* insert padding */
    357     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    358     xcb_buffer_len += xcb_block_len + xcb_pad;
    359     if (0 != xcb_pad) {
    360         xcb_tmp += xcb_pad;
    361         xcb_pad = 0;
    362     }
    363     xcb_block_len = 0;
    364 
    365     return xcb_buffer_len;
    366 }
    367 
    368 
    369 /*****************************************************************************
    370  **
    371  ** char * xcb_xkb_counted_string_16_string
    372  **
    373  ** @param const xcb_xkb_counted_string_16_t *R
    374  ** @returns char *
    375  **
    376  *****************************************************************************/
    377 
    378 char *
    379 xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R  /**< */)
    380 {
    381     return (char *) (R + 1);
    382 }
    383 
    384 
    385 /*****************************************************************************
    386  **
    387  ** int xcb_xkb_counted_string_16_string_length
    388  **
    389  ** @param const xcb_xkb_counted_string_16_t *R
    390  ** @returns int
    391  **
    392  *****************************************************************************/
    393 
    394 int
    395 xcb_xkb_counted_string_16_string_length (const xcb_xkb_counted_string_16_t *R  /**< */)
    396 {
    397     return R->length;
    398 }
    399 
    400 
    401 /*****************************************************************************
    402  **
    403  ** xcb_generic_iterator_t xcb_xkb_counted_string_16_string_end
    404  **
    405  ** @param const xcb_xkb_counted_string_16_t *R
    406  ** @returns xcb_generic_iterator_t
    407  **
    408  *****************************************************************************/
    409 
    410 xcb_generic_iterator_t
    411 xcb_xkb_counted_string_16_string_end (const xcb_xkb_counted_string_16_t *R  /**< */)
    412 {
    413     xcb_generic_iterator_t i;
    414     i.data = ((char *) (R + 1)) + (R->length);
    415     i.rem = 0;
    416     i.index = (char *) i.data - (char *) R;
    417     return i;
    418 }
    419 
    420 
    421 /*****************************************************************************
    422  **
    423  ** void * xcb_xkb_counted_string_16_alignment_pad
    424  **
    425  ** @param const xcb_xkb_counted_string_16_t *R
    426  ** @returns void *
    427  **
    428  *****************************************************************************/
    429 
    430 void *
    431 xcb_xkb_counted_string_16_alignment_pad (const xcb_xkb_counted_string_16_t *R  /**< */)
    432 {
    433     xcb_generic_iterator_t prev = xcb_xkb_counted_string_16_string_end(R);
    434     return (void *) ((char *) prev.data + XCB_TYPE_PAD(char, prev.index) + 0);
    435 }
    436 
    437 
    438 /*****************************************************************************
    439  **
    440  ** int xcb_xkb_counted_string_16_alignment_pad_length
    441  **
    442  ** @param const xcb_xkb_counted_string_16_t *R
    443  ** @returns int
    444  **
    445  *****************************************************************************/
    446 
    447 int
    448 xcb_xkb_counted_string_16_alignment_pad_length (const xcb_xkb_counted_string_16_t *R  /**< */)
    449 {
    450     return (((R->length + 5) & (~3)) - (R->length + 2));
    451 }
    452 
    453 
    454 /*****************************************************************************
    455  **
    456  ** xcb_generic_iterator_t xcb_xkb_counted_string_16_alignment_pad_end
    457  **
    458  ** @param const xcb_xkb_counted_string_16_t *R
    459  ** @returns xcb_generic_iterator_t
    460  **
    461  *****************************************************************************/
    462 
    463 xcb_generic_iterator_t
    464 xcb_xkb_counted_string_16_alignment_pad_end (const xcb_xkb_counted_string_16_t *R  /**< */)
    465 {
    466     xcb_generic_iterator_t i;
    467     xcb_generic_iterator_t child = xcb_xkb_counted_string_16_string_end(R);
    468     i.data = ((char *) child.data) + ((((R->length + 5) & (~3)) - (R->length + 2)));
    469     i.rem = 0;
    470     i.index = (char *) i.data - (char *) R;
    471     return i;
    472 }
    473 
    474 
    475 /*****************************************************************************
    476  **
    477  ** void xcb_xkb_counted_string_16_next
    478  **
    479  ** @param xcb_xkb_counted_string_16_iterator_t *i
    480  ** @returns void
    481  **
    482  *****************************************************************************/
    483 
    484 void
    485 xcb_xkb_counted_string_16_next (xcb_xkb_counted_string_16_iterator_t *i  /**< */)
    486 {
    487     xcb_xkb_counted_string_16_t *R = i->data;
    488     xcb_generic_iterator_t child;
    489     child.data = (xcb_xkb_counted_string_16_t *)(((char *)R) + xcb_xkb_counted_string_16_sizeof(R));
    490     i->index = (char *) child.data - (char *) i->data;
    491     --i->rem;
    492     i->data = (xcb_xkb_counted_string_16_t *) child.data;
    493 }
    494 
    495 
    496 /*****************************************************************************
    497  **
    498  ** xcb_generic_iterator_t xcb_xkb_counted_string_16_end
    499  **
    500  ** @param xcb_xkb_counted_string_16_iterator_t i
    501  ** @returns xcb_generic_iterator_t
    502  **
    503  *****************************************************************************/
    504 
    505 xcb_generic_iterator_t
    506 xcb_xkb_counted_string_16_end (xcb_xkb_counted_string_16_iterator_t i  /**< */)
    507 {
    508     xcb_generic_iterator_t ret;
    509     while(i.rem > 0)
    510         xcb_xkb_counted_string_16_next(&i);
    511     ret.data = i.data;
    512     ret.rem = i.rem;
    513     ret.index = i.index;
    514     return ret;
    515 }
    516 
    517 
    518 /*****************************************************************************
    519  **
    520  ** void xcb_xkb_kt_map_entry_next
    521  **
    522  ** @param xcb_xkb_kt_map_entry_iterator_t *i
    523  ** @returns void
    524  **
    525  *****************************************************************************/
    526 
    527 void
    528 xcb_xkb_kt_map_entry_next (xcb_xkb_kt_map_entry_iterator_t *i  /**< */)
    529 {
    530     --i->rem;
    531     ++i->data;
    532     i->index += sizeof(xcb_xkb_kt_map_entry_t);
    533 }
    534 
    535 
    536 /*****************************************************************************
    537  **
    538  ** xcb_generic_iterator_t xcb_xkb_kt_map_entry_end
    539  **
    540  ** @param xcb_xkb_kt_map_entry_iterator_t i
    541  ** @returns xcb_generic_iterator_t
    542  **
    543  *****************************************************************************/
    544 
    545 xcb_generic_iterator_t
    546 xcb_xkb_kt_map_entry_end (xcb_xkb_kt_map_entry_iterator_t i  /**< */)
    547 {
    548     xcb_generic_iterator_t ret;
    549     ret.data = i.data + i.rem;
    550     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    551     ret.rem = 0;
    552     return ret;
    553 }
    554 
    555 int
    556 xcb_xkb_key_type_sizeof (const void  *_buffer  /**< */)
    557 {
    558     char *xcb_tmp = (char *)_buffer;
    559     const xcb_xkb_key_type_t *_aux = (xcb_xkb_key_type_t *)_buffer;
    560     unsigned int xcb_buffer_len = 0;
    561     unsigned int xcb_block_len = 0;
    562     unsigned int xcb_pad = 0;
    563     unsigned int xcb_align_to = 0;
    564 
    565 
    566     xcb_block_len += sizeof(xcb_xkb_key_type_t);
    567     xcb_tmp += xcb_block_len;
    568     xcb_buffer_len += xcb_block_len;
    569     xcb_block_len = 0;
    570     /* map */
    571     xcb_block_len += _aux->nMapEntries * sizeof(xcb_xkb_kt_map_entry_t);
    572     xcb_tmp += xcb_block_len;
    573     xcb_align_to = ALIGNOF(xcb_xkb_kt_map_entry_t);
    574     /* insert padding */
    575     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    576     xcb_buffer_len += xcb_block_len + xcb_pad;
    577     if (0 != xcb_pad) {
    578         xcb_tmp += xcb_pad;
    579         xcb_pad = 0;
    580     }
    581     xcb_block_len = 0;
    582     /* preserve */
    583     xcb_block_len += (_aux->hasPreserve * _aux->nMapEntries) * sizeof(xcb_xkb_mod_def_t);
    584     xcb_tmp += xcb_block_len;
    585     xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
    586     /* insert padding */
    587     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    588     xcb_buffer_len += xcb_block_len + xcb_pad;
    589     if (0 != xcb_pad) {
    590         xcb_tmp += xcb_pad;
    591         xcb_pad = 0;
    592     }
    593     xcb_block_len = 0;
    594 
    595     return xcb_buffer_len;
    596 }
    597 
    598 
    599 /*****************************************************************************
    600  **
    601  ** xcb_xkb_kt_map_entry_t * xcb_xkb_key_type_map
    602  **
    603  ** @param const xcb_xkb_key_type_t *R
    604  ** @returns xcb_xkb_kt_map_entry_t *
    605  **
    606  *****************************************************************************/
    607 
    608 xcb_xkb_kt_map_entry_t *
    609 xcb_xkb_key_type_map (const xcb_xkb_key_type_t *R  /**< */)
    610 {
    611     return (xcb_xkb_kt_map_entry_t *) (R + 1);
    612 }
    613 
    614 
    615 /*****************************************************************************
    616  **
    617  ** int xcb_xkb_key_type_map_length
    618  **
    619  ** @param const xcb_xkb_key_type_t *R
    620  ** @returns int
    621  **
    622  *****************************************************************************/
    623 
    624 int
    625 xcb_xkb_key_type_map_length (const xcb_xkb_key_type_t *R  /**< */)
    626 {
    627     return R->nMapEntries;
    628 }
    629 
    630 
    631 /*****************************************************************************
    632  **
    633  ** xcb_xkb_kt_map_entry_iterator_t xcb_xkb_key_type_map_iterator
    634  **
    635  ** @param const xcb_xkb_key_type_t *R
    636  ** @returns xcb_xkb_kt_map_entry_iterator_t
    637  **
    638  *****************************************************************************/
    639 
    640 xcb_xkb_kt_map_entry_iterator_t
    641 xcb_xkb_key_type_map_iterator (const xcb_xkb_key_type_t *R  /**< */)
    642 {
    643     xcb_xkb_kt_map_entry_iterator_t i;
    644     i.data = (xcb_xkb_kt_map_entry_t *) (R + 1);
    645     i.rem = R->nMapEntries;
    646     i.index = (char *) i.data - (char *) R;
    647     return i;
    648 }
    649 
    650 
    651 /*****************************************************************************
    652  **
    653  ** xcb_xkb_mod_def_t * xcb_xkb_key_type_preserve
    654  **
    655  ** @param const xcb_xkb_key_type_t *R
    656  ** @returns xcb_xkb_mod_def_t *
    657  **
    658  *****************************************************************************/
    659 
    660 xcb_xkb_mod_def_t *
    661 xcb_xkb_key_type_preserve (const xcb_xkb_key_type_t *R  /**< */)
    662 {
    663     xcb_generic_iterator_t prev = xcb_xkb_kt_map_entry_end(xcb_xkb_key_type_map_iterator(R));
    664     return (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index) + 0);
    665 }
    666 
    667 
    668 /*****************************************************************************
    669  **
    670  ** int xcb_xkb_key_type_preserve_length
    671  **
    672  ** @param const xcb_xkb_key_type_t *R
    673  ** @returns int
    674  **
    675  *****************************************************************************/
    676 
    677 int
    678 xcb_xkb_key_type_preserve_length (const xcb_xkb_key_type_t *R  /**< */)
    679 {
    680     return (R->hasPreserve * R->nMapEntries);
    681 }
    682 
    683 
    684 /*****************************************************************************
    685  **
    686  ** xcb_xkb_mod_def_iterator_t xcb_xkb_key_type_preserve_iterator
    687  **
    688  ** @param const xcb_xkb_key_type_t *R
    689  ** @returns xcb_xkb_mod_def_iterator_t
    690  **
    691  *****************************************************************************/
    692 
    693 xcb_xkb_mod_def_iterator_t
    694 xcb_xkb_key_type_preserve_iterator (const xcb_xkb_key_type_t *R  /**< */)
    695 {
    696     xcb_xkb_mod_def_iterator_t i;
    697     xcb_generic_iterator_t prev = xcb_xkb_kt_map_entry_end(xcb_xkb_key_type_map_iterator(R));
    698     i.data = (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index));
    699     i.rem = (R->hasPreserve * R->nMapEntries);
    700     i.index = (char *) i.data - (char *) R;
    701     return i;
    702 }
    703 
    704 
    705 /*****************************************************************************
    706  **
    707  ** void xcb_xkb_key_type_next
    708  **
    709  ** @param xcb_xkb_key_type_iterator_t *i
    710  ** @returns void
    711  **
    712  *****************************************************************************/
    713 
    714 void
    715 xcb_xkb_key_type_next (xcb_xkb_key_type_iterator_t *i  /**< */)
    716 {
    717     xcb_xkb_key_type_t *R = i->data;
    718     xcb_generic_iterator_t child;
    719     child.data = (xcb_xkb_key_type_t *)(((char *)R) + xcb_xkb_key_type_sizeof(R));
    720     i->index = (char *) child.data - (char *) i->data;
    721     --i->rem;
    722     i->data = (xcb_xkb_key_type_t *) child.data;
    723 }
    724 
    725 
    726 /*****************************************************************************
    727  **
    728  ** xcb_generic_iterator_t xcb_xkb_key_type_end
    729  **
    730  ** @param xcb_xkb_key_type_iterator_t i
    731  ** @returns xcb_generic_iterator_t
    732  **
    733  *****************************************************************************/
    734 
    735 xcb_generic_iterator_t
    736 xcb_xkb_key_type_end (xcb_xkb_key_type_iterator_t i  /**< */)
    737 {
    738     xcb_generic_iterator_t ret;
    739     while(i.rem > 0)
    740         xcb_xkb_key_type_next(&i);
    741     ret.data = i.data;
    742     ret.rem = i.rem;
    743     ret.index = i.index;
    744     return ret;
    745 }
    746 
    747 int
    748 xcb_xkb_key_sym_map_sizeof (const void  *_buffer  /**< */)
    749 {
    750     char *xcb_tmp = (char *)_buffer;
    751     const xcb_xkb_key_sym_map_t *_aux = (xcb_xkb_key_sym_map_t *)_buffer;
    752     unsigned int xcb_buffer_len = 0;
    753     unsigned int xcb_block_len = 0;
    754     unsigned int xcb_pad = 0;
    755     unsigned int xcb_align_to = 0;
    756 
    757 
    758     xcb_block_len += sizeof(xcb_xkb_key_sym_map_t);
    759     xcb_tmp += xcb_block_len;
    760     xcb_buffer_len += xcb_block_len;
    761     xcb_block_len = 0;
    762     /* syms */
    763     xcb_block_len += _aux->nSyms * sizeof(xcb_keysym_t);
    764     xcb_tmp += xcb_block_len;
    765     xcb_align_to = ALIGNOF(xcb_keysym_t);
    766     /* insert padding */
    767     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
    768     xcb_buffer_len += xcb_block_len + xcb_pad;
    769     if (0 != xcb_pad) {
    770         xcb_tmp += xcb_pad;
    771         xcb_pad = 0;
    772     }
    773     xcb_block_len = 0;
    774 
    775     return xcb_buffer_len;
    776 }
    777 
    778 
    779 /*****************************************************************************
    780  **
    781  ** xcb_keysym_t * xcb_xkb_key_sym_map_syms
    782  **
    783  ** @param const xcb_xkb_key_sym_map_t *R
    784  ** @returns xcb_keysym_t *
    785  **
    786  *****************************************************************************/
    787 
    788 xcb_keysym_t *
    789 xcb_xkb_key_sym_map_syms (const xcb_xkb_key_sym_map_t *R  /**< */)
    790 {
    791     return (xcb_keysym_t *) (R + 1);
    792 }
    793 
    794 
    795 /*****************************************************************************
    796  **
    797  ** int xcb_xkb_key_sym_map_syms_length
    798  **
    799  ** @param const xcb_xkb_key_sym_map_t *R
    800  ** @returns int
    801  **
    802  *****************************************************************************/
    803 
    804 int
    805 xcb_xkb_key_sym_map_syms_length (const xcb_xkb_key_sym_map_t *R  /**< */)
    806 {
    807     return R->nSyms;
    808 }
    809 
    810 
    811 /*****************************************************************************
    812  **
    813  ** xcb_generic_iterator_t xcb_xkb_key_sym_map_syms_end
    814  **
    815  ** @param const xcb_xkb_key_sym_map_t *R
    816  ** @returns xcb_generic_iterator_t
    817  **
    818  *****************************************************************************/
    819 
    820 xcb_generic_iterator_t
    821 xcb_xkb_key_sym_map_syms_end (const xcb_xkb_key_sym_map_t *R  /**< */)
    822 {
    823     xcb_generic_iterator_t i;
    824     i.data = ((xcb_keysym_t *) (R + 1)) + (R->nSyms);
    825     i.rem = 0;
    826     i.index = (char *) i.data - (char *) R;
    827     return i;
    828 }
    829 
    830 
    831 /*****************************************************************************
    832  **
    833  ** void xcb_xkb_key_sym_map_next
    834  **
    835  ** @param xcb_xkb_key_sym_map_iterator_t *i
    836  ** @returns void
    837  **
    838  *****************************************************************************/
    839 
    840 void
    841 xcb_xkb_key_sym_map_next (xcb_xkb_key_sym_map_iterator_t *i  /**< */)
    842 {
    843     xcb_xkb_key_sym_map_t *R = i->data;
    844     xcb_generic_iterator_t child;
    845     child.data = (xcb_xkb_key_sym_map_t *)(((char *)R) + xcb_xkb_key_sym_map_sizeof(R));
    846     i->index = (char *) child.data - (char *) i->data;
    847     --i->rem;
    848     i->data = (xcb_xkb_key_sym_map_t *) child.data;
    849 }
    850 
    851 
    852 /*****************************************************************************
    853  **
    854  ** xcb_generic_iterator_t xcb_xkb_key_sym_map_end
    855  **
    856  ** @param xcb_xkb_key_sym_map_iterator_t i
    857  ** @returns xcb_generic_iterator_t
    858  **
    859  *****************************************************************************/
    860 
    861 xcb_generic_iterator_t
    862 xcb_xkb_key_sym_map_end (xcb_xkb_key_sym_map_iterator_t i  /**< */)
    863 {
    864     xcb_generic_iterator_t ret;
    865     while(i.rem > 0)
    866         xcb_xkb_key_sym_map_next(&i);
    867     ret.data = i.data;
    868     ret.rem = i.rem;
    869     ret.index = i.index;
    870     return ret;
    871 }
    872 
    873 
    874 /*****************************************************************************
    875  **
    876  ** void xcb_xkb_common_behavior_next
    877  **
    878  ** @param xcb_xkb_common_behavior_iterator_t *i
    879  ** @returns void
    880  **
    881  *****************************************************************************/
    882 
    883 void
    884 xcb_xkb_common_behavior_next (xcb_xkb_common_behavior_iterator_t *i  /**< */)
    885 {
    886     --i->rem;
    887     ++i->data;
    888     i->index += sizeof(xcb_xkb_common_behavior_t);
    889 }
    890 
    891 
    892 /*****************************************************************************
    893  **
    894  ** xcb_generic_iterator_t xcb_xkb_common_behavior_end
    895  **
    896  ** @param xcb_xkb_common_behavior_iterator_t i
    897  ** @returns xcb_generic_iterator_t
    898  **
    899  *****************************************************************************/
    900 
    901 xcb_generic_iterator_t
    902 xcb_xkb_common_behavior_end (xcb_xkb_common_behavior_iterator_t i  /**< */)
    903 {
    904     xcb_generic_iterator_t ret;
    905     ret.data = i.data + i.rem;
    906     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    907     ret.rem = 0;
    908     return ret;
    909 }
    910 
    911 
    912 /*****************************************************************************
    913  **
    914  ** void xcb_xkb_default_behavior_next
    915  **
    916  ** @param xcb_xkb_default_behavior_iterator_t *i
    917  ** @returns void
    918  **
    919  *****************************************************************************/
    920 
    921 void
    922 xcb_xkb_default_behavior_next (xcb_xkb_default_behavior_iterator_t *i  /**< */)
    923 {
    924     --i->rem;
    925     ++i->data;
    926     i->index += sizeof(xcb_xkb_default_behavior_t);
    927 }
    928 
    929 
    930 /*****************************************************************************
    931  **
    932  ** xcb_generic_iterator_t xcb_xkb_default_behavior_end
    933  **
    934  ** @param xcb_xkb_default_behavior_iterator_t i
    935  ** @returns xcb_generic_iterator_t
    936  **
    937  *****************************************************************************/
    938 
    939 xcb_generic_iterator_t
    940 xcb_xkb_default_behavior_end (xcb_xkb_default_behavior_iterator_t i  /**< */)
    941 {
    942     xcb_generic_iterator_t ret;
    943     ret.data = i.data + i.rem;
    944     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    945     ret.rem = 0;
    946     return ret;
    947 }
    948 
    949 
    950 /*****************************************************************************
    951  **
    952  ** void xcb_xkb_lock_behavior_next
    953  **
    954  ** @param xcb_xkb_lock_behavior_iterator_t *i
    955  ** @returns void
    956  **
    957  *****************************************************************************/
    958 
    959 void
    960 xcb_xkb_lock_behavior_next (xcb_xkb_lock_behavior_iterator_t *i  /**< */)
    961 {
    962     --i->rem;
    963     ++i->data;
    964     i->index += sizeof(xcb_xkb_lock_behavior_t);
    965 }
    966 
    967 
    968 /*****************************************************************************
    969  **
    970  ** xcb_generic_iterator_t xcb_xkb_lock_behavior_end
    971  **
    972  ** @param xcb_xkb_lock_behavior_iterator_t i
    973  ** @returns xcb_generic_iterator_t
    974  **
    975  *****************************************************************************/
    976 
    977 xcb_generic_iterator_t
    978 xcb_xkb_lock_behavior_end (xcb_xkb_lock_behavior_iterator_t i  /**< */)
    979 {
    980     xcb_generic_iterator_t ret;
    981     ret.data = i.data + i.rem;
    982     ret.index = i.index + ((char *) ret.data - (char *) i.data);
    983     ret.rem = 0;
    984     return ret;
    985 }
    986 
    987 
    988 /*****************************************************************************
    989  **
    990  ** void xcb_xkb_radio_group_behavior_next
    991  **
    992  ** @param xcb_xkb_radio_group_behavior_iterator_t *i
    993  ** @returns void
    994  **
    995  *****************************************************************************/
    996 
    997 void
    998 xcb_xkb_radio_group_behavior_next (xcb_xkb_radio_group_behavior_iterator_t *i  /**< */)
    999 {
   1000     --i->rem;
   1001     ++i->data;
   1002     i->index += sizeof(xcb_xkb_radio_group_behavior_t);
   1003 }
   1004 
   1005 
   1006 /*****************************************************************************
   1007  **
   1008  ** xcb_generic_iterator_t xcb_xkb_radio_group_behavior_end
   1009  **
   1010  ** @param xcb_xkb_radio_group_behavior_iterator_t i
   1011  ** @returns xcb_generic_iterator_t
   1012  **
   1013  *****************************************************************************/
   1014 
   1015 xcb_generic_iterator_t
   1016 xcb_xkb_radio_group_behavior_end (xcb_xkb_radio_group_behavior_iterator_t i  /**< */)
   1017 {
   1018     xcb_generic_iterator_t ret;
   1019     ret.data = i.data + i.rem;
   1020     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1021     ret.rem = 0;
   1022     return ret;
   1023 }
   1024 
   1025 
   1026 /*****************************************************************************
   1027  **
   1028  ** void xcb_xkb_overlay_behavior_next
   1029  **
   1030  ** @param xcb_xkb_overlay_behavior_iterator_t *i
   1031  ** @returns void
   1032  **
   1033  *****************************************************************************/
   1034 
   1035 void
   1036 xcb_xkb_overlay_behavior_next (xcb_xkb_overlay_behavior_iterator_t *i  /**< */)
   1037 {
   1038     --i->rem;
   1039     ++i->data;
   1040     i->index += sizeof(xcb_xkb_overlay_behavior_t);
   1041 }
   1042 
   1043 
   1044 /*****************************************************************************
   1045  **
   1046  ** xcb_generic_iterator_t xcb_xkb_overlay_behavior_end
   1047  **
   1048  ** @param xcb_xkb_overlay_behavior_iterator_t i
   1049  ** @returns xcb_generic_iterator_t
   1050  **
   1051  *****************************************************************************/
   1052 
   1053 xcb_generic_iterator_t
   1054 xcb_xkb_overlay_behavior_end (xcb_xkb_overlay_behavior_iterator_t i  /**< */)
   1055 {
   1056     xcb_generic_iterator_t ret;
   1057     ret.data = i.data + i.rem;
   1058     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1059     ret.rem = 0;
   1060     return ret;
   1061 }
   1062 
   1063 
   1064 /*****************************************************************************
   1065  **
   1066  ** void xcb_xkb_permament_lock_behavior_next
   1067  **
   1068  ** @param xcb_xkb_permament_lock_behavior_iterator_t *i
   1069  ** @returns void
   1070  **
   1071  *****************************************************************************/
   1072 
   1073 void
   1074 xcb_xkb_permament_lock_behavior_next (xcb_xkb_permament_lock_behavior_iterator_t *i  /**< */)
   1075 {
   1076     --i->rem;
   1077     ++i->data;
   1078     i->index += sizeof(xcb_xkb_permament_lock_behavior_t);
   1079 }
   1080 
   1081 
   1082 /*****************************************************************************
   1083  **
   1084  ** xcb_generic_iterator_t xcb_xkb_permament_lock_behavior_end
   1085  **
   1086  ** @param xcb_xkb_permament_lock_behavior_iterator_t i
   1087  ** @returns xcb_generic_iterator_t
   1088  **
   1089  *****************************************************************************/
   1090 
   1091 xcb_generic_iterator_t
   1092 xcb_xkb_permament_lock_behavior_end (xcb_xkb_permament_lock_behavior_iterator_t i  /**< */)
   1093 {
   1094     xcb_generic_iterator_t ret;
   1095     ret.data = i.data + i.rem;
   1096     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1097     ret.rem = 0;
   1098     return ret;
   1099 }
   1100 
   1101 
   1102 /*****************************************************************************
   1103  **
   1104  ** void xcb_xkb_permament_radio_group_behavior_next
   1105  **
   1106  ** @param xcb_xkb_permament_radio_group_behavior_iterator_t *i
   1107  ** @returns void
   1108  **
   1109  *****************************************************************************/
   1110 
   1111 void
   1112 xcb_xkb_permament_radio_group_behavior_next (xcb_xkb_permament_radio_group_behavior_iterator_t *i  /**< */)
   1113 {
   1114     --i->rem;
   1115     ++i->data;
   1116     i->index += sizeof(xcb_xkb_permament_radio_group_behavior_t);
   1117 }
   1118 
   1119 
   1120 /*****************************************************************************
   1121  **
   1122  ** xcb_generic_iterator_t xcb_xkb_permament_radio_group_behavior_end
   1123  **
   1124  ** @param xcb_xkb_permament_radio_group_behavior_iterator_t i
   1125  ** @returns xcb_generic_iterator_t
   1126  **
   1127  *****************************************************************************/
   1128 
   1129 xcb_generic_iterator_t
   1130 xcb_xkb_permament_radio_group_behavior_end (xcb_xkb_permament_radio_group_behavior_iterator_t i  /**< */)
   1131 {
   1132     xcb_generic_iterator_t ret;
   1133     ret.data = i.data + i.rem;
   1134     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1135     ret.rem = 0;
   1136     return ret;
   1137 }
   1138 
   1139 
   1140 /*****************************************************************************
   1141  **
   1142  ** void xcb_xkb_permament_overlay_behavior_next
   1143  **
   1144  ** @param xcb_xkb_permament_overlay_behavior_iterator_t *i
   1145  ** @returns void
   1146  **
   1147  *****************************************************************************/
   1148 
   1149 void
   1150 xcb_xkb_permament_overlay_behavior_next (xcb_xkb_permament_overlay_behavior_iterator_t *i  /**< */)
   1151 {
   1152     --i->rem;
   1153     ++i->data;
   1154     i->index += sizeof(xcb_xkb_permament_overlay_behavior_t);
   1155 }
   1156 
   1157 
   1158 /*****************************************************************************
   1159  **
   1160  ** xcb_generic_iterator_t xcb_xkb_permament_overlay_behavior_end
   1161  **
   1162  ** @param xcb_xkb_permament_overlay_behavior_iterator_t i
   1163  ** @returns xcb_generic_iterator_t
   1164  **
   1165  *****************************************************************************/
   1166 
   1167 xcb_generic_iterator_t
   1168 xcb_xkb_permament_overlay_behavior_end (xcb_xkb_permament_overlay_behavior_iterator_t i  /**< */)
   1169 {
   1170     xcb_generic_iterator_t ret;
   1171     ret.data = i.data + i.rem;
   1172     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1173     ret.rem = 0;
   1174     return ret;
   1175 }
   1176 
   1177 
   1178 /*****************************************************************************
   1179  **
   1180  ** void xcb_xkb_behavior_next
   1181  **
   1182  ** @param xcb_xkb_behavior_iterator_t *i
   1183  ** @returns void
   1184  **
   1185  *****************************************************************************/
   1186 
   1187 void
   1188 xcb_xkb_behavior_next (xcb_xkb_behavior_iterator_t *i  /**< */)
   1189 {
   1190     --i->rem;
   1191     ++i->data;
   1192     i->index += sizeof(xcb_xkb_behavior_t);
   1193 }
   1194 
   1195 
   1196 /*****************************************************************************
   1197  **
   1198  ** xcb_generic_iterator_t xcb_xkb_behavior_end
   1199  **
   1200  ** @param xcb_xkb_behavior_iterator_t i
   1201  ** @returns xcb_generic_iterator_t
   1202  **
   1203  *****************************************************************************/
   1204 
   1205 xcb_generic_iterator_t
   1206 xcb_xkb_behavior_end (xcb_xkb_behavior_iterator_t i  /**< */)
   1207 {
   1208     xcb_generic_iterator_t ret;
   1209     ret.data = i.data + i.rem;
   1210     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1211     ret.rem = 0;
   1212     return ret;
   1213 }
   1214 
   1215 
   1216 /*****************************************************************************
   1217  **
   1218  ** void xcb_xkb_set_behavior_next
   1219  **
   1220  ** @param xcb_xkb_set_behavior_iterator_t *i
   1221  ** @returns void
   1222  **
   1223  *****************************************************************************/
   1224 
   1225 void
   1226 xcb_xkb_set_behavior_next (xcb_xkb_set_behavior_iterator_t *i  /**< */)
   1227 {
   1228     --i->rem;
   1229     ++i->data;
   1230     i->index += sizeof(xcb_xkb_set_behavior_t);
   1231 }
   1232 
   1233 
   1234 /*****************************************************************************
   1235  **
   1236  ** xcb_generic_iterator_t xcb_xkb_set_behavior_end
   1237  **
   1238  ** @param xcb_xkb_set_behavior_iterator_t i
   1239  ** @returns xcb_generic_iterator_t
   1240  **
   1241  *****************************************************************************/
   1242 
   1243 xcb_generic_iterator_t
   1244 xcb_xkb_set_behavior_end (xcb_xkb_set_behavior_iterator_t i  /**< */)
   1245 {
   1246     xcb_generic_iterator_t ret;
   1247     ret.data = i.data + i.rem;
   1248     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1249     ret.rem = 0;
   1250     return ret;
   1251 }
   1252 
   1253 
   1254 /*****************************************************************************
   1255  **
   1256  ** void xcb_xkb_set_explicit_next
   1257  **
   1258  ** @param xcb_xkb_set_explicit_iterator_t *i
   1259  ** @returns void
   1260  **
   1261  *****************************************************************************/
   1262 
   1263 void
   1264 xcb_xkb_set_explicit_next (xcb_xkb_set_explicit_iterator_t *i  /**< */)
   1265 {
   1266     --i->rem;
   1267     ++i->data;
   1268     i->index += sizeof(xcb_xkb_set_explicit_t);
   1269 }
   1270 
   1271 
   1272 /*****************************************************************************
   1273  **
   1274  ** xcb_generic_iterator_t xcb_xkb_set_explicit_end
   1275  **
   1276  ** @param xcb_xkb_set_explicit_iterator_t i
   1277  ** @returns xcb_generic_iterator_t
   1278  **
   1279  *****************************************************************************/
   1280 
   1281 xcb_generic_iterator_t
   1282 xcb_xkb_set_explicit_end (xcb_xkb_set_explicit_iterator_t i  /**< */)
   1283 {
   1284     xcb_generic_iterator_t ret;
   1285     ret.data = i.data + i.rem;
   1286     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1287     ret.rem = 0;
   1288     return ret;
   1289 }
   1290 
   1291 
   1292 /*****************************************************************************
   1293  **
   1294  ** void xcb_xkb_key_mod_map_next
   1295  **
   1296  ** @param xcb_xkb_key_mod_map_iterator_t *i
   1297  ** @returns void
   1298  **
   1299  *****************************************************************************/
   1300 
   1301 void
   1302 xcb_xkb_key_mod_map_next (xcb_xkb_key_mod_map_iterator_t *i  /**< */)
   1303 {
   1304     --i->rem;
   1305     ++i->data;
   1306     i->index += sizeof(xcb_xkb_key_mod_map_t);
   1307 }
   1308 
   1309 
   1310 /*****************************************************************************
   1311  **
   1312  ** xcb_generic_iterator_t xcb_xkb_key_mod_map_end
   1313  **
   1314  ** @param xcb_xkb_key_mod_map_iterator_t i
   1315  ** @returns xcb_generic_iterator_t
   1316  **
   1317  *****************************************************************************/
   1318 
   1319 xcb_generic_iterator_t
   1320 xcb_xkb_key_mod_map_end (xcb_xkb_key_mod_map_iterator_t i  /**< */)
   1321 {
   1322     xcb_generic_iterator_t ret;
   1323     ret.data = i.data + i.rem;
   1324     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1325     ret.rem = 0;
   1326     return ret;
   1327 }
   1328 
   1329 
   1330 /*****************************************************************************
   1331  **
   1332  ** void xcb_xkb_key_v_mod_map_next
   1333  **
   1334  ** @param xcb_xkb_key_v_mod_map_iterator_t *i
   1335  ** @returns void
   1336  **
   1337  *****************************************************************************/
   1338 
   1339 void
   1340 xcb_xkb_key_v_mod_map_next (xcb_xkb_key_v_mod_map_iterator_t *i  /**< */)
   1341 {
   1342     --i->rem;
   1343     ++i->data;
   1344     i->index += sizeof(xcb_xkb_key_v_mod_map_t);
   1345 }
   1346 
   1347 
   1348 /*****************************************************************************
   1349  **
   1350  ** xcb_generic_iterator_t xcb_xkb_key_v_mod_map_end
   1351  **
   1352  ** @param xcb_xkb_key_v_mod_map_iterator_t i
   1353  ** @returns xcb_generic_iterator_t
   1354  **
   1355  *****************************************************************************/
   1356 
   1357 xcb_generic_iterator_t
   1358 xcb_xkb_key_v_mod_map_end (xcb_xkb_key_v_mod_map_iterator_t i  /**< */)
   1359 {
   1360     xcb_generic_iterator_t ret;
   1361     ret.data = i.data + i.rem;
   1362     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1363     ret.rem = 0;
   1364     return ret;
   1365 }
   1366 
   1367 
   1368 /*****************************************************************************
   1369  **
   1370  ** void xcb_xkb_kt_set_map_entry_next
   1371  **
   1372  ** @param xcb_xkb_kt_set_map_entry_iterator_t *i
   1373  ** @returns void
   1374  **
   1375  *****************************************************************************/
   1376 
   1377 void
   1378 xcb_xkb_kt_set_map_entry_next (xcb_xkb_kt_set_map_entry_iterator_t *i  /**< */)
   1379 {
   1380     --i->rem;
   1381     ++i->data;
   1382     i->index += sizeof(xcb_xkb_kt_set_map_entry_t);
   1383 }
   1384 
   1385 
   1386 /*****************************************************************************
   1387  **
   1388  ** xcb_generic_iterator_t xcb_xkb_kt_set_map_entry_end
   1389  **
   1390  ** @param xcb_xkb_kt_set_map_entry_iterator_t i
   1391  ** @returns xcb_generic_iterator_t
   1392  **
   1393  *****************************************************************************/
   1394 
   1395 xcb_generic_iterator_t
   1396 xcb_xkb_kt_set_map_entry_end (xcb_xkb_kt_set_map_entry_iterator_t i  /**< */)
   1397 {
   1398     xcb_generic_iterator_t ret;
   1399     ret.data = i.data + i.rem;
   1400     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1401     ret.rem = 0;
   1402     return ret;
   1403 }
   1404 
   1405 int
   1406 xcb_xkb_set_key_type_sizeof (const void  *_buffer  /**< */)
   1407 {
   1408     char *xcb_tmp = (char *)_buffer;
   1409     const xcb_xkb_set_key_type_t *_aux = (xcb_xkb_set_key_type_t *)_buffer;
   1410     unsigned int xcb_buffer_len = 0;
   1411     unsigned int xcb_block_len = 0;
   1412     unsigned int xcb_pad = 0;
   1413     unsigned int xcb_align_to = 0;
   1414 
   1415 
   1416     xcb_block_len += sizeof(xcb_xkb_set_key_type_t);
   1417     xcb_tmp += xcb_block_len;
   1418     xcb_buffer_len += xcb_block_len;
   1419     xcb_block_len = 0;
   1420     /* entries */
   1421     xcb_block_len += _aux->nMapEntries * sizeof(xcb_xkb_kt_set_map_entry_t);
   1422     xcb_tmp += xcb_block_len;
   1423     xcb_align_to = ALIGNOF(xcb_xkb_kt_set_map_entry_t);
   1424     /* insert padding */
   1425     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1426     xcb_buffer_len += xcb_block_len + xcb_pad;
   1427     if (0 != xcb_pad) {
   1428         xcb_tmp += xcb_pad;
   1429         xcb_pad = 0;
   1430     }
   1431     xcb_block_len = 0;
   1432     /* preserve_entries */
   1433     xcb_block_len += (_aux->preserve * _aux->nMapEntries) * sizeof(xcb_xkb_kt_set_map_entry_t);
   1434     xcb_tmp += xcb_block_len;
   1435     xcb_align_to = ALIGNOF(xcb_xkb_kt_set_map_entry_t);
   1436     /* insert padding */
   1437     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1438     xcb_buffer_len += xcb_block_len + xcb_pad;
   1439     if (0 != xcb_pad) {
   1440         xcb_tmp += xcb_pad;
   1441         xcb_pad = 0;
   1442     }
   1443     xcb_block_len = 0;
   1444 
   1445     return xcb_buffer_len;
   1446 }
   1447 
   1448 
   1449 /*****************************************************************************
   1450  **
   1451  ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_entries
   1452  **
   1453  ** @param const xcb_xkb_set_key_type_t *R
   1454  ** @returns xcb_xkb_kt_set_map_entry_t *
   1455  **
   1456  *****************************************************************************/
   1457 
   1458 xcb_xkb_kt_set_map_entry_t *
   1459 xcb_xkb_set_key_type_entries (const xcb_xkb_set_key_type_t *R  /**< */)
   1460 {
   1461     return (xcb_xkb_kt_set_map_entry_t *) (R + 1);
   1462 }
   1463 
   1464 
   1465 /*****************************************************************************
   1466  **
   1467  ** int xcb_xkb_set_key_type_entries_length
   1468  **
   1469  ** @param const xcb_xkb_set_key_type_t *R
   1470  ** @returns int
   1471  **
   1472  *****************************************************************************/
   1473 
   1474 int
   1475 xcb_xkb_set_key_type_entries_length (const xcb_xkb_set_key_type_t *R  /**< */)
   1476 {
   1477     return R->nMapEntries;
   1478 }
   1479 
   1480 
   1481 /*****************************************************************************
   1482  **
   1483  ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_entries_iterator
   1484  **
   1485  ** @param const xcb_xkb_set_key_type_t *R
   1486  ** @returns xcb_xkb_kt_set_map_entry_iterator_t
   1487  **
   1488  *****************************************************************************/
   1489 
   1490 xcb_xkb_kt_set_map_entry_iterator_t
   1491 xcb_xkb_set_key_type_entries_iterator (const xcb_xkb_set_key_type_t *R  /**< */)
   1492 {
   1493     xcb_xkb_kt_set_map_entry_iterator_t i;
   1494     i.data = (xcb_xkb_kt_set_map_entry_t *) (R + 1);
   1495     i.rem = R->nMapEntries;
   1496     i.index = (char *) i.data - (char *) R;
   1497     return i;
   1498 }
   1499 
   1500 
   1501 /*****************************************************************************
   1502  **
   1503  ** xcb_xkb_kt_set_map_entry_t * xcb_xkb_set_key_type_preserve_entries
   1504  **
   1505  ** @param const xcb_xkb_set_key_type_t *R
   1506  ** @returns xcb_xkb_kt_set_map_entry_t *
   1507  **
   1508  *****************************************************************************/
   1509 
   1510 xcb_xkb_kt_set_map_entry_t *
   1511 xcb_xkb_set_key_type_preserve_entries (const xcb_xkb_set_key_type_t *R  /**< */)
   1512 {
   1513     xcb_generic_iterator_t prev = xcb_xkb_kt_set_map_entry_end(xcb_xkb_set_key_type_entries_iterator(R));
   1514     return (xcb_xkb_kt_set_map_entry_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_kt_set_map_entry_t, prev.index) + 0);
   1515 }
   1516 
   1517 
   1518 /*****************************************************************************
   1519  **
   1520  ** int xcb_xkb_set_key_type_preserve_entries_length
   1521  **
   1522  ** @param const xcb_xkb_set_key_type_t *R
   1523  ** @returns int
   1524  **
   1525  *****************************************************************************/
   1526 
   1527 int
   1528 xcb_xkb_set_key_type_preserve_entries_length (const xcb_xkb_set_key_type_t *R  /**< */)
   1529 {
   1530     return (R->preserve * R->nMapEntries);
   1531 }
   1532 
   1533 
   1534 /*****************************************************************************
   1535  **
   1536  ** xcb_xkb_kt_set_map_entry_iterator_t xcb_xkb_set_key_type_preserve_entries_iterator
   1537  **
   1538  ** @param const xcb_xkb_set_key_type_t *R
   1539  ** @returns xcb_xkb_kt_set_map_entry_iterator_t
   1540  **
   1541  *****************************************************************************/
   1542 
   1543 xcb_xkb_kt_set_map_entry_iterator_t
   1544 xcb_xkb_set_key_type_preserve_entries_iterator (const xcb_xkb_set_key_type_t *R  /**< */)
   1545 {
   1546     xcb_xkb_kt_set_map_entry_iterator_t i;
   1547     xcb_generic_iterator_t prev = xcb_xkb_kt_set_map_entry_end(xcb_xkb_set_key_type_entries_iterator(R));
   1548     i.data = (xcb_xkb_kt_set_map_entry_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_kt_set_map_entry_t, prev.index));
   1549     i.rem = (R->preserve * R->nMapEntries);
   1550     i.index = (char *) i.data - (char *) R;
   1551     return i;
   1552 }
   1553 
   1554 
   1555 /*****************************************************************************
   1556  **
   1557  ** void xcb_xkb_set_key_type_next
   1558  **
   1559  ** @param xcb_xkb_set_key_type_iterator_t *i
   1560  ** @returns void
   1561  **
   1562  *****************************************************************************/
   1563 
   1564 void
   1565 xcb_xkb_set_key_type_next (xcb_xkb_set_key_type_iterator_t *i  /**< */)
   1566 {
   1567     xcb_xkb_set_key_type_t *R = i->data;
   1568     xcb_generic_iterator_t child;
   1569     child.data = (xcb_xkb_set_key_type_t *)(((char *)R) + xcb_xkb_set_key_type_sizeof(R));
   1570     i->index = (char *) child.data - (char *) i->data;
   1571     --i->rem;
   1572     i->data = (xcb_xkb_set_key_type_t *) child.data;
   1573 }
   1574 
   1575 
   1576 /*****************************************************************************
   1577  **
   1578  ** xcb_generic_iterator_t xcb_xkb_set_key_type_end
   1579  **
   1580  ** @param xcb_xkb_set_key_type_iterator_t i
   1581  ** @returns xcb_generic_iterator_t
   1582  **
   1583  *****************************************************************************/
   1584 
   1585 xcb_generic_iterator_t
   1586 xcb_xkb_set_key_type_end (xcb_xkb_set_key_type_iterator_t i  /**< */)
   1587 {
   1588     xcb_generic_iterator_t ret;
   1589     while(i.rem > 0)
   1590         xcb_xkb_set_key_type_next(&i);
   1591     ret.data = i.data;
   1592     ret.rem = i.rem;
   1593     ret.index = i.index;
   1594     return ret;
   1595 }
   1596 
   1597 
   1598 /*****************************************************************************
   1599  **
   1600  ** void xcb_xkb_string8_next
   1601  **
   1602  ** @param xcb_xkb_string8_iterator_t *i
   1603  ** @returns void
   1604  **
   1605  *****************************************************************************/
   1606 
   1607 void
   1608 xcb_xkb_string8_next (xcb_xkb_string8_iterator_t *i  /**< */)
   1609 {
   1610     --i->rem;
   1611     ++i->data;
   1612     i->index += sizeof(xcb_xkb_string8_t);
   1613 }
   1614 
   1615 
   1616 /*****************************************************************************
   1617  **
   1618  ** xcb_generic_iterator_t xcb_xkb_string8_end
   1619  **
   1620  ** @param xcb_xkb_string8_iterator_t i
   1621  ** @returns xcb_generic_iterator_t
   1622  **
   1623  *****************************************************************************/
   1624 
   1625 xcb_generic_iterator_t
   1626 xcb_xkb_string8_end (xcb_xkb_string8_iterator_t i  /**< */)
   1627 {
   1628     xcb_generic_iterator_t ret;
   1629     ret.data = i.data + i.rem;
   1630     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1631     ret.rem = 0;
   1632     return ret;
   1633 }
   1634 
   1635 int
   1636 xcb_xkb_outline_sizeof (const void  *_buffer  /**< */)
   1637 {
   1638     char *xcb_tmp = (char *)_buffer;
   1639     const xcb_xkb_outline_t *_aux = (xcb_xkb_outline_t *)_buffer;
   1640     unsigned int xcb_buffer_len = 0;
   1641     unsigned int xcb_block_len = 0;
   1642     unsigned int xcb_pad = 0;
   1643     unsigned int xcb_align_to = 0;
   1644 
   1645 
   1646     xcb_block_len += sizeof(xcb_xkb_outline_t);
   1647     xcb_tmp += xcb_block_len;
   1648     xcb_buffer_len += xcb_block_len;
   1649     xcb_block_len = 0;
   1650     /* points */
   1651     xcb_block_len += _aux->nPoints * sizeof(xcb_point_t);
   1652     xcb_tmp += xcb_block_len;
   1653     xcb_align_to = ALIGNOF(xcb_point_t);
   1654     /* insert padding */
   1655     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1656     xcb_buffer_len += xcb_block_len + xcb_pad;
   1657     if (0 != xcb_pad) {
   1658         xcb_tmp += xcb_pad;
   1659         xcb_pad = 0;
   1660     }
   1661     xcb_block_len = 0;
   1662 
   1663     return xcb_buffer_len;
   1664 }
   1665 
   1666 
   1667 /*****************************************************************************
   1668  **
   1669  ** xcb_point_t * xcb_xkb_outline_points
   1670  **
   1671  ** @param const xcb_xkb_outline_t *R
   1672  ** @returns xcb_point_t *
   1673  **
   1674  *****************************************************************************/
   1675 
   1676 xcb_point_t *
   1677 xcb_xkb_outline_points (const xcb_xkb_outline_t *R  /**< */)
   1678 {
   1679     return (xcb_point_t *) (R + 1);
   1680 }
   1681 
   1682 
   1683 /*****************************************************************************
   1684  **
   1685  ** int xcb_xkb_outline_points_length
   1686  **
   1687  ** @param const xcb_xkb_outline_t *R
   1688  ** @returns int
   1689  **
   1690  *****************************************************************************/
   1691 
   1692 int
   1693 xcb_xkb_outline_points_length (const xcb_xkb_outline_t *R  /**< */)
   1694 {
   1695     return R->nPoints;
   1696 }
   1697 
   1698 
   1699 /*****************************************************************************
   1700  **
   1701  ** xcb_point_iterator_t xcb_xkb_outline_points_iterator
   1702  **
   1703  ** @param const xcb_xkb_outline_t *R
   1704  ** @returns xcb_point_iterator_t
   1705  **
   1706  *****************************************************************************/
   1707 
   1708 xcb_point_iterator_t
   1709 xcb_xkb_outline_points_iterator (const xcb_xkb_outline_t *R  /**< */)
   1710 {
   1711     xcb_point_iterator_t i;
   1712     i.data = (xcb_point_t *) (R + 1);
   1713     i.rem = R->nPoints;
   1714     i.index = (char *) i.data - (char *) R;
   1715     return i;
   1716 }
   1717 
   1718 
   1719 /*****************************************************************************
   1720  **
   1721  ** void xcb_xkb_outline_next
   1722  **
   1723  ** @param xcb_xkb_outline_iterator_t *i
   1724  ** @returns void
   1725  **
   1726  *****************************************************************************/
   1727 
   1728 void
   1729 xcb_xkb_outline_next (xcb_xkb_outline_iterator_t *i  /**< */)
   1730 {
   1731     xcb_xkb_outline_t *R = i->data;
   1732     xcb_generic_iterator_t child;
   1733     child.data = (xcb_xkb_outline_t *)(((char *)R) + xcb_xkb_outline_sizeof(R));
   1734     i->index = (char *) child.data - (char *) i->data;
   1735     --i->rem;
   1736     i->data = (xcb_xkb_outline_t *) child.data;
   1737 }
   1738 
   1739 
   1740 /*****************************************************************************
   1741  **
   1742  ** xcb_generic_iterator_t xcb_xkb_outline_end
   1743  **
   1744  ** @param xcb_xkb_outline_iterator_t i
   1745  ** @returns xcb_generic_iterator_t
   1746  **
   1747  *****************************************************************************/
   1748 
   1749 xcb_generic_iterator_t
   1750 xcb_xkb_outline_end (xcb_xkb_outline_iterator_t i  /**< */)
   1751 {
   1752     xcb_generic_iterator_t ret;
   1753     while(i.rem > 0)
   1754         xcb_xkb_outline_next(&i);
   1755     ret.data = i.data;
   1756     ret.rem = i.rem;
   1757     ret.index = i.index;
   1758     return ret;
   1759 }
   1760 
   1761 int
   1762 xcb_xkb_shape_sizeof (const void  *_buffer  /**< */)
   1763 {
   1764     char *xcb_tmp = (char *)_buffer;
   1765     const xcb_xkb_shape_t *_aux = (xcb_xkb_shape_t *)_buffer;
   1766     unsigned int xcb_buffer_len = 0;
   1767     unsigned int xcb_block_len = 0;
   1768     unsigned int xcb_pad = 0;
   1769     unsigned int xcb_align_to = 0;
   1770 
   1771     unsigned int i;
   1772     unsigned int xcb_tmp_len;
   1773 
   1774     xcb_block_len += sizeof(xcb_xkb_shape_t);
   1775     xcb_tmp += xcb_block_len;
   1776     xcb_buffer_len += xcb_block_len;
   1777     xcb_block_len = 0;
   1778     /* outlines */
   1779     for(i=0; i<_aux->nOutlines; i++) {
   1780         xcb_tmp_len = xcb_xkb_outline_sizeof(xcb_tmp);
   1781         xcb_block_len += xcb_tmp_len;
   1782         xcb_tmp += xcb_tmp_len;
   1783     }
   1784     xcb_align_to = ALIGNOF(xcb_xkb_outline_t);
   1785     /* insert padding */
   1786     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1787     xcb_buffer_len += xcb_block_len + xcb_pad;
   1788     if (0 != xcb_pad) {
   1789         xcb_tmp += xcb_pad;
   1790         xcb_pad = 0;
   1791     }
   1792     xcb_block_len = 0;
   1793 
   1794     return xcb_buffer_len;
   1795 }
   1796 
   1797 
   1798 /*****************************************************************************
   1799  **
   1800  ** int xcb_xkb_shape_outlines_length
   1801  **
   1802  ** @param const xcb_xkb_shape_t *R
   1803  ** @returns int
   1804  **
   1805  *****************************************************************************/
   1806 
   1807 int
   1808 xcb_xkb_shape_outlines_length (const xcb_xkb_shape_t *R  /**< */)
   1809 {
   1810     return R->nOutlines;
   1811 }
   1812 
   1813 
   1814 /*****************************************************************************
   1815  **
   1816  ** xcb_xkb_outline_iterator_t xcb_xkb_shape_outlines_iterator
   1817  **
   1818  ** @param const xcb_xkb_shape_t *R
   1819  ** @returns xcb_xkb_outline_iterator_t
   1820  **
   1821  *****************************************************************************/
   1822 
   1823 xcb_xkb_outline_iterator_t
   1824 xcb_xkb_shape_outlines_iterator (const xcb_xkb_shape_t *R  /**< */)
   1825 {
   1826     xcb_xkb_outline_iterator_t i;
   1827     i.data = (xcb_xkb_outline_t *) (R + 1);
   1828     i.rem = R->nOutlines;
   1829     i.index = (char *) i.data - (char *) R;
   1830     return i;
   1831 }
   1832 
   1833 
   1834 /*****************************************************************************
   1835  **
   1836  ** void xcb_xkb_shape_next
   1837  **
   1838  ** @param xcb_xkb_shape_iterator_t *i
   1839  ** @returns void
   1840  **
   1841  *****************************************************************************/
   1842 
   1843 void
   1844 xcb_xkb_shape_next (xcb_xkb_shape_iterator_t *i  /**< */)
   1845 {
   1846     xcb_xkb_shape_t *R = i->data;
   1847     xcb_generic_iterator_t child;
   1848     child.data = (xcb_xkb_shape_t *)(((char *)R) + xcb_xkb_shape_sizeof(R));
   1849     i->index = (char *) child.data - (char *) i->data;
   1850     --i->rem;
   1851     i->data = (xcb_xkb_shape_t *) child.data;
   1852 }
   1853 
   1854 
   1855 /*****************************************************************************
   1856  **
   1857  ** xcb_generic_iterator_t xcb_xkb_shape_end
   1858  **
   1859  ** @param xcb_xkb_shape_iterator_t i
   1860  ** @returns xcb_generic_iterator_t
   1861  **
   1862  *****************************************************************************/
   1863 
   1864 xcb_generic_iterator_t
   1865 xcb_xkb_shape_end (xcb_xkb_shape_iterator_t i  /**< */)
   1866 {
   1867     xcb_generic_iterator_t ret;
   1868     while(i.rem > 0)
   1869         xcb_xkb_shape_next(&i);
   1870     ret.data = i.data;
   1871     ret.rem = i.rem;
   1872     ret.index = i.index;
   1873     return ret;
   1874 }
   1875 
   1876 
   1877 /*****************************************************************************
   1878  **
   1879  ** void xcb_xkb_key_next
   1880  **
   1881  ** @param xcb_xkb_key_iterator_t *i
   1882  ** @returns void
   1883  **
   1884  *****************************************************************************/
   1885 
   1886 void
   1887 xcb_xkb_key_next (xcb_xkb_key_iterator_t *i  /**< */)
   1888 {
   1889     --i->rem;
   1890     ++i->data;
   1891     i->index += sizeof(xcb_xkb_key_t);
   1892 }
   1893 
   1894 
   1895 /*****************************************************************************
   1896  **
   1897  ** xcb_generic_iterator_t xcb_xkb_key_end
   1898  **
   1899  ** @param xcb_xkb_key_iterator_t i
   1900  ** @returns xcb_generic_iterator_t
   1901  **
   1902  *****************************************************************************/
   1903 
   1904 xcb_generic_iterator_t
   1905 xcb_xkb_key_end (xcb_xkb_key_iterator_t i  /**< */)
   1906 {
   1907     xcb_generic_iterator_t ret;
   1908     ret.data = i.data + i.rem;
   1909     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1910     ret.rem = 0;
   1911     return ret;
   1912 }
   1913 
   1914 
   1915 /*****************************************************************************
   1916  **
   1917  ** void xcb_xkb_overlay_key_next
   1918  **
   1919  ** @param xcb_xkb_overlay_key_iterator_t *i
   1920  ** @returns void
   1921  **
   1922  *****************************************************************************/
   1923 
   1924 void
   1925 xcb_xkb_overlay_key_next (xcb_xkb_overlay_key_iterator_t *i  /**< */)
   1926 {
   1927     --i->rem;
   1928     ++i->data;
   1929     i->index += sizeof(xcb_xkb_overlay_key_t);
   1930 }
   1931 
   1932 
   1933 /*****************************************************************************
   1934  **
   1935  ** xcb_generic_iterator_t xcb_xkb_overlay_key_end
   1936  **
   1937  ** @param xcb_xkb_overlay_key_iterator_t i
   1938  ** @returns xcb_generic_iterator_t
   1939  **
   1940  *****************************************************************************/
   1941 
   1942 xcb_generic_iterator_t
   1943 xcb_xkb_overlay_key_end (xcb_xkb_overlay_key_iterator_t i  /**< */)
   1944 {
   1945     xcb_generic_iterator_t ret;
   1946     ret.data = i.data + i.rem;
   1947     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   1948     ret.rem = 0;
   1949     return ret;
   1950 }
   1951 
   1952 int
   1953 xcb_xkb_overlay_row_sizeof (const void  *_buffer  /**< */)
   1954 {
   1955     char *xcb_tmp = (char *)_buffer;
   1956     const xcb_xkb_overlay_row_t *_aux = (xcb_xkb_overlay_row_t *)_buffer;
   1957     unsigned int xcb_buffer_len = 0;
   1958     unsigned int xcb_block_len = 0;
   1959     unsigned int xcb_pad = 0;
   1960     unsigned int xcb_align_to = 0;
   1961 
   1962 
   1963     xcb_block_len += sizeof(xcb_xkb_overlay_row_t);
   1964     xcb_tmp += xcb_block_len;
   1965     xcb_buffer_len += xcb_block_len;
   1966     xcb_block_len = 0;
   1967     /* keys */
   1968     xcb_block_len += _aux->nKeys * sizeof(xcb_xkb_overlay_key_t);
   1969     xcb_tmp += xcb_block_len;
   1970     xcb_align_to = ALIGNOF(xcb_xkb_overlay_key_t);
   1971     /* insert padding */
   1972     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   1973     xcb_buffer_len += xcb_block_len + xcb_pad;
   1974     if (0 != xcb_pad) {
   1975         xcb_tmp += xcb_pad;
   1976         xcb_pad = 0;
   1977     }
   1978     xcb_block_len = 0;
   1979 
   1980     return xcb_buffer_len;
   1981 }
   1982 
   1983 
   1984 /*****************************************************************************
   1985  **
   1986  ** xcb_xkb_overlay_key_t * xcb_xkb_overlay_row_keys
   1987  **
   1988  ** @param const xcb_xkb_overlay_row_t *R
   1989  ** @returns xcb_xkb_overlay_key_t *
   1990  **
   1991  *****************************************************************************/
   1992 
   1993 xcb_xkb_overlay_key_t *
   1994 xcb_xkb_overlay_row_keys (const xcb_xkb_overlay_row_t *R  /**< */)
   1995 {
   1996     return (xcb_xkb_overlay_key_t *) (R + 1);
   1997 }
   1998 
   1999 
   2000 /*****************************************************************************
   2001  **
   2002  ** int xcb_xkb_overlay_row_keys_length
   2003  **
   2004  ** @param const xcb_xkb_overlay_row_t *R
   2005  ** @returns int
   2006  **
   2007  *****************************************************************************/
   2008 
   2009 int
   2010 xcb_xkb_overlay_row_keys_length (const xcb_xkb_overlay_row_t *R  /**< */)
   2011 {
   2012     return R->nKeys;
   2013 }
   2014 
   2015 
   2016 /*****************************************************************************
   2017  **
   2018  ** xcb_xkb_overlay_key_iterator_t xcb_xkb_overlay_row_keys_iterator
   2019  **
   2020  ** @param const xcb_xkb_overlay_row_t *R
   2021  ** @returns xcb_xkb_overlay_key_iterator_t
   2022  **
   2023  *****************************************************************************/
   2024 
   2025 xcb_xkb_overlay_key_iterator_t
   2026 xcb_xkb_overlay_row_keys_iterator (const xcb_xkb_overlay_row_t *R  /**< */)
   2027 {
   2028     xcb_xkb_overlay_key_iterator_t i;
   2029     i.data = (xcb_xkb_overlay_key_t *) (R + 1);
   2030     i.rem = R->nKeys;
   2031     i.index = (char *) i.data - (char *) R;
   2032     return i;
   2033 }
   2034 
   2035 
   2036 /*****************************************************************************
   2037  **
   2038  ** void xcb_xkb_overlay_row_next
   2039  **
   2040  ** @param xcb_xkb_overlay_row_iterator_t *i
   2041  ** @returns void
   2042  **
   2043  *****************************************************************************/
   2044 
   2045 void
   2046 xcb_xkb_overlay_row_next (xcb_xkb_overlay_row_iterator_t *i  /**< */)
   2047 {
   2048     xcb_xkb_overlay_row_t *R = i->data;
   2049     xcb_generic_iterator_t child;
   2050     child.data = (xcb_xkb_overlay_row_t *)(((char *)R) + xcb_xkb_overlay_row_sizeof(R));
   2051     i->index = (char *) child.data - (char *) i->data;
   2052     --i->rem;
   2053     i->data = (xcb_xkb_overlay_row_t *) child.data;
   2054 }
   2055 
   2056 
   2057 /*****************************************************************************
   2058  **
   2059  ** xcb_generic_iterator_t xcb_xkb_overlay_row_end
   2060  **
   2061  ** @param xcb_xkb_overlay_row_iterator_t i
   2062  ** @returns xcb_generic_iterator_t
   2063  **
   2064  *****************************************************************************/
   2065 
   2066 xcb_generic_iterator_t
   2067 xcb_xkb_overlay_row_end (xcb_xkb_overlay_row_iterator_t i  /**< */)
   2068 {
   2069     xcb_generic_iterator_t ret;
   2070     while(i.rem > 0)
   2071         xcb_xkb_overlay_row_next(&i);
   2072     ret.data = i.data;
   2073     ret.rem = i.rem;
   2074     ret.index = i.index;
   2075     return ret;
   2076 }
   2077 
   2078 int
   2079 xcb_xkb_overlay_sizeof (const void  *_buffer  /**< */)
   2080 {
   2081     char *xcb_tmp = (char *)_buffer;
   2082     const xcb_xkb_overlay_t *_aux = (xcb_xkb_overlay_t *)_buffer;
   2083     unsigned int xcb_buffer_len = 0;
   2084     unsigned int xcb_block_len = 0;
   2085     unsigned int xcb_pad = 0;
   2086     unsigned int xcb_align_to = 0;
   2087 
   2088     unsigned int i;
   2089     unsigned int xcb_tmp_len;
   2090 
   2091     xcb_block_len += sizeof(xcb_xkb_overlay_t);
   2092     xcb_tmp += xcb_block_len;
   2093     xcb_buffer_len += xcb_block_len;
   2094     xcb_block_len = 0;
   2095     /* rows */
   2096     for(i=0; i<_aux->nRows; i++) {
   2097         xcb_tmp_len = xcb_xkb_overlay_row_sizeof(xcb_tmp);
   2098         xcb_block_len += xcb_tmp_len;
   2099         xcb_tmp += xcb_tmp_len;
   2100     }
   2101     xcb_align_to = ALIGNOF(xcb_xkb_overlay_row_t);
   2102     /* insert padding */
   2103     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2104     xcb_buffer_len += xcb_block_len + xcb_pad;
   2105     if (0 != xcb_pad) {
   2106         xcb_tmp += xcb_pad;
   2107         xcb_pad = 0;
   2108     }
   2109     xcb_block_len = 0;
   2110 
   2111     return xcb_buffer_len;
   2112 }
   2113 
   2114 
   2115 /*****************************************************************************
   2116  **
   2117  ** int xcb_xkb_overlay_rows_length
   2118  **
   2119  ** @param const xcb_xkb_overlay_t *R
   2120  ** @returns int
   2121  **
   2122  *****************************************************************************/
   2123 
   2124 int
   2125 xcb_xkb_overlay_rows_length (const xcb_xkb_overlay_t *R  /**< */)
   2126 {
   2127     return R->nRows;
   2128 }
   2129 
   2130 
   2131 /*****************************************************************************
   2132  **
   2133  ** xcb_xkb_overlay_row_iterator_t xcb_xkb_overlay_rows_iterator
   2134  **
   2135  ** @param const xcb_xkb_overlay_t *R
   2136  ** @returns xcb_xkb_overlay_row_iterator_t
   2137  **
   2138  *****************************************************************************/
   2139 
   2140 xcb_xkb_overlay_row_iterator_t
   2141 xcb_xkb_overlay_rows_iterator (const xcb_xkb_overlay_t *R  /**< */)
   2142 {
   2143     xcb_xkb_overlay_row_iterator_t i;
   2144     i.data = (xcb_xkb_overlay_row_t *) (R + 1);
   2145     i.rem = R->nRows;
   2146     i.index = (char *) i.data - (char *) R;
   2147     return i;
   2148 }
   2149 
   2150 
   2151 /*****************************************************************************
   2152  **
   2153  ** void xcb_xkb_overlay_next
   2154  **
   2155  ** @param xcb_xkb_overlay_iterator_t *i
   2156  ** @returns void
   2157  **
   2158  *****************************************************************************/
   2159 
   2160 void
   2161 xcb_xkb_overlay_next (xcb_xkb_overlay_iterator_t *i  /**< */)
   2162 {
   2163     xcb_xkb_overlay_t *R = i->data;
   2164     xcb_generic_iterator_t child;
   2165     child.data = (xcb_xkb_overlay_t *)(((char *)R) + xcb_xkb_overlay_sizeof(R));
   2166     i->index = (char *) child.data - (char *) i->data;
   2167     --i->rem;
   2168     i->data = (xcb_xkb_overlay_t *) child.data;
   2169 }
   2170 
   2171 
   2172 /*****************************************************************************
   2173  **
   2174  ** xcb_generic_iterator_t xcb_xkb_overlay_end
   2175  **
   2176  ** @param xcb_xkb_overlay_iterator_t i
   2177  ** @returns xcb_generic_iterator_t
   2178  **
   2179  *****************************************************************************/
   2180 
   2181 xcb_generic_iterator_t
   2182 xcb_xkb_overlay_end (xcb_xkb_overlay_iterator_t i  /**< */)
   2183 {
   2184     xcb_generic_iterator_t ret;
   2185     while(i.rem > 0)
   2186         xcb_xkb_overlay_next(&i);
   2187     ret.data = i.data;
   2188     ret.rem = i.rem;
   2189     ret.index = i.index;
   2190     return ret;
   2191 }
   2192 
   2193 int
   2194 xcb_xkb_row_sizeof (const void  *_buffer  /**< */)
   2195 {
   2196     char *xcb_tmp = (char *)_buffer;
   2197     const xcb_xkb_row_t *_aux = (xcb_xkb_row_t *)_buffer;
   2198     unsigned int xcb_buffer_len = 0;
   2199     unsigned int xcb_block_len = 0;
   2200     unsigned int xcb_pad = 0;
   2201     unsigned int xcb_align_to = 0;
   2202 
   2203 
   2204     xcb_block_len += sizeof(xcb_xkb_row_t);
   2205     xcb_tmp += xcb_block_len;
   2206     xcb_buffer_len += xcb_block_len;
   2207     xcb_block_len = 0;
   2208     /* keys */
   2209     xcb_block_len += _aux->nKeys * sizeof(xcb_xkb_key_t);
   2210     xcb_tmp += xcb_block_len;
   2211     xcb_align_to = ALIGNOF(xcb_xkb_key_t);
   2212     /* insert padding */
   2213     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2214     xcb_buffer_len += xcb_block_len + xcb_pad;
   2215     if (0 != xcb_pad) {
   2216         xcb_tmp += xcb_pad;
   2217         xcb_pad = 0;
   2218     }
   2219     xcb_block_len = 0;
   2220 
   2221     return xcb_buffer_len;
   2222 }
   2223 
   2224 
   2225 /*****************************************************************************
   2226  **
   2227  ** xcb_xkb_key_t * xcb_xkb_row_keys
   2228  **
   2229  ** @param const xcb_xkb_row_t *R
   2230  ** @returns xcb_xkb_key_t *
   2231  **
   2232  *****************************************************************************/
   2233 
   2234 xcb_xkb_key_t *
   2235 xcb_xkb_row_keys (const xcb_xkb_row_t *R  /**< */)
   2236 {
   2237     return (xcb_xkb_key_t *) (R + 1);
   2238 }
   2239 
   2240 
   2241 /*****************************************************************************
   2242  **
   2243  ** int xcb_xkb_row_keys_length
   2244  **
   2245  ** @param const xcb_xkb_row_t *R
   2246  ** @returns int
   2247  **
   2248  *****************************************************************************/
   2249 
   2250 int
   2251 xcb_xkb_row_keys_length (const xcb_xkb_row_t *R  /**< */)
   2252 {
   2253     return R->nKeys;
   2254 }
   2255 
   2256 
   2257 /*****************************************************************************
   2258  **
   2259  ** xcb_xkb_key_iterator_t xcb_xkb_row_keys_iterator
   2260  **
   2261  ** @param const xcb_xkb_row_t *R
   2262  ** @returns xcb_xkb_key_iterator_t
   2263  **
   2264  *****************************************************************************/
   2265 
   2266 xcb_xkb_key_iterator_t
   2267 xcb_xkb_row_keys_iterator (const xcb_xkb_row_t *R  /**< */)
   2268 {
   2269     xcb_xkb_key_iterator_t i;
   2270     i.data = (xcb_xkb_key_t *) (R + 1);
   2271     i.rem = R->nKeys;
   2272     i.index = (char *) i.data - (char *) R;
   2273     return i;
   2274 }
   2275 
   2276 
   2277 /*****************************************************************************
   2278  **
   2279  ** void xcb_xkb_row_next
   2280  **
   2281  ** @param xcb_xkb_row_iterator_t *i
   2282  ** @returns void
   2283  **
   2284  *****************************************************************************/
   2285 
   2286 void
   2287 xcb_xkb_row_next (xcb_xkb_row_iterator_t *i  /**< */)
   2288 {
   2289     xcb_xkb_row_t *R = i->data;
   2290     xcb_generic_iterator_t child;
   2291     child.data = (xcb_xkb_row_t *)(((char *)R) + xcb_xkb_row_sizeof(R));
   2292     i->index = (char *) child.data - (char *) i->data;
   2293     --i->rem;
   2294     i->data = (xcb_xkb_row_t *) child.data;
   2295 }
   2296 
   2297 
   2298 /*****************************************************************************
   2299  **
   2300  ** xcb_generic_iterator_t xcb_xkb_row_end
   2301  **
   2302  ** @param xcb_xkb_row_iterator_t i
   2303  ** @returns xcb_generic_iterator_t
   2304  **
   2305  *****************************************************************************/
   2306 
   2307 xcb_generic_iterator_t
   2308 xcb_xkb_row_end (xcb_xkb_row_iterator_t i  /**< */)
   2309 {
   2310     xcb_generic_iterator_t ret;
   2311     while(i.rem > 0)
   2312         xcb_xkb_row_next(&i);
   2313     ret.data = i.data;
   2314     ret.rem = i.rem;
   2315     ret.index = i.index;
   2316     return ret;
   2317 }
   2318 
   2319 int
   2320 xcb_xkb_listing_sizeof (const void  *_buffer  /**< */)
   2321 {
   2322     char *xcb_tmp = (char *)_buffer;
   2323     const xcb_xkb_listing_t *_aux = (xcb_xkb_listing_t *)_buffer;
   2324     unsigned int xcb_buffer_len = 0;
   2325     unsigned int xcb_block_len = 0;
   2326     unsigned int xcb_pad = 0;
   2327     unsigned int xcb_align_to = 0;
   2328 
   2329 
   2330     xcb_block_len += sizeof(xcb_xkb_listing_t);
   2331     xcb_tmp += xcb_block_len;
   2332     xcb_buffer_len += xcb_block_len;
   2333     xcb_block_len = 0;
   2334     /* string */
   2335     xcb_block_len += _aux->length * sizeof(xcb_xkb_string8_t);
   2336     xcb_tmp += xcb_block_len;
   2337     xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
   2338     /* insert padding */
   2339     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2340     xcb_buffer_len += xcb_block_len + xcb_pad;
   2341     if (0 != xcb_pad) {
   2342         xcb_tmp += xcb_pad;
   2343         xcb_pad = 0;
   2344     }
   2345     xcb_block_len = 0;
   2346 
   2347     return xcb_buffer_len;
   2348 }
   2349 
   2350 
   2351 /*****************************************************************************
   2352  **
   2353  ** xcb_xkb_string8_t * xcb_xkb_listing_string
   2354  **
   2355  ** @param const xcb_xkb_listing_t *R
   2356  ** @returns xcb_xkb_string8_t *
   2357  **
   2358  *****************************************************************************/
   2359 
   2360 xcb_xkb_string8_t *
   2361 xcb_xkb_listing_string (const xcb_xkb_listing_t *R  /**< */)
   2362 {
   2363     return (xcb_xkb_string8_t *) (R + 1);
   2364 }
   2365 
   2366 
   2367 /*****************************************************************************
   2368  **
   2369  ** int xcb_xkb_listing_string_length
   2370  **
   2371  ** @param const xcb_xkb_listing_t *R
   2372  ** @returns int
   2373  **
   2374  *****************************************************************************/
   2375 
   2376 int
   2377 xcb_xkb_listing_string_length (const xcb_xkb_listing_t *R  /**< */)
   2378 {
   2379     return R->length;
   2380 }
   2381 
   2382 
   2383 /*****************************************************************************
   2384  **
   2385  ** xcb_generic_iterator_t xcb_xkb_listing_string_end
   2386  **
   2387  ** @param const xcb_xkb_listing_t *R
   2388  ** @returns xcb_generic_iterator_t
   2389  **
   2390  *****************************************************************************/
   2391 
   2392 xcb_generic_iterator_t
   2393 xcb_xkb_listing_string_end (const xcb_xkb_listing_t *R  /**< */)
   2394 {
   2395     xcb_generic_iterator_t i;
   2396     i.data = ((xcb_xkb_string8_t *) (R + 1)) + (R->length);
   2397     i.rem = 0;
   2398     i.index = (char *) i.data - (char *) R;
   2399     return i;
   2400 }
   2401 
   2402 
   2403 /*****************************************************************************
   2404  **
   2405  ** void xcb_xkb_listing_next
   2406  **
   2407  ** @param xcb_xkb_listing_iterator_t *i
   2408  ** @returns void
   2409  **
   2410  *****************************************************************************/
   2411 
   2412 void
   2413 xcb_xkb_listing_next (xcb_xkb_listing_iterator_t *i  /**< */)
   2414 {
   2415     xcb_xkb_listing_t *R = i->data;
   2416     xcb_generic_iterator_t child;
   2417     child.data = (xcb_xkb_listing_t *)(((char *)R) + xcb_xkb_listing_sizeof(R));
   2418     i->index = (char *) child.data - (char *) i->data;
   2419     --i->rem;
   2420     i->data = (xcb_xkb_listing_t *) child.data;
   2421 }
   2422 
   2423 
   2424 /*****************************************************************************
   2425  **
   2426  ** xcb_generic_iterator_t xcb_xkb_listing_end
   2427  **
   2428  ** @param xcb_xkb_listing_iterator_t i
   2429  ** @returns xcb_generic_iterator_t
   2430  **
   2431  *****************************************************************************/
   2432 
   2433 xcb_generic_iterator_t
   2434 xcb_xkb_listing_end (xcb_xkb_listing_iterator_t i  /**< */)
   2435 {
   2436     xcb_generic_iterator_t ret;
   2437     while(i.rem > 0)
   2438         xcb_xkb_listing_next(&i);
   2439     ret.data = i.data;
   2440     ret.rem = i.rem;
   2441     ret.index = i.index;
   2442     return ret;
   2443 }
   2444 
   2445 int
   2446 xcb_xkb_device_led_info_sizeof (const void  *_buffer  /**< */)
   2447 {
   2448     char *xcb_tmp = (char *)_buffer;
   2449     const xcb_xkb_device_led_info_t *_aux = (xcb_xkb_device_led_info_t *)_buffer;
   2450     unsigned int xcb_buffer_len = 0;
   2451     unsigned int xcb_block_len = 0;
   2452     unsigned int xcb_pad = 0;
   2453     unsigned int xcb_align_to = 0;
   2454 
   2455 
   2456     xcb_block_len += sizeof(xcb_xkb_device_led_info_t);
   2457     xcb_tmp += xcb_block_len;
   2458     xcb_buffer_len += xcb_block_len;
   2459     xcb_block_len = 0;
   2460     /* names */
   2461     xcb_block_len += xcb_popcount(_aux->namesPresent) * sizeof(uint32_t);
   2462     xcb_tmp += xcb_block_len;
   2463     xcb_align_to = ALIGNOF(xcb_atom_t);
   2464     /* insert padding */
   2465     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2466     xcb_buffer_len += xcb_block_len + xcb_pad;
   2467     if (0 != xcb_pad) {
   2468         xcb_tmp += xcb_pad;
   2469         xcb_pad = 0;
   2470     }
   2471     xcb_block_len = 0;
   2472     /* maps */
   2473     xcb_block_len += xcb_popcount(_aux->mapsPresent) * sizeof(xcb_xkb_indicator_map_t);
   2474     xcb_tmp += xcb_block_len;
   2475     xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
   2476     /* insert padding */
   2477     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   2478     xcb_buffer_len += xcb_block_len + xcb_pad;
   2479     if (0 != xcb_pad) {
   2480         xcb_tmp += xcb_pad;
   2481         xcb_pad = 0;
   2482     }
   2483     xcb_block_len = 0;
   2484 
   2485     return xcb_buffer_len;
   2486 }
   2487 
   2488 
   2489 /*****************************************************************************
   2490  **
   2491  ** xcb_atom_t * xcb_xkb_device_led_info_names
   2492  **
   2493  ** @param const xcb_xkb_device_led_info_t *R
   2494  ** @returns xcb_atom_t *
   2495  **
   2496  *****************************************************************************/
   2497 
   2498 xcb_atom_t *
   2499 xcb_xkb_device_led_info_names (const xcb_xkb_device_led_info_t *R  /**< */)
   2500 {
   2501     return (xcb_atom_t *) (R + 1);
   2502 }
   2503 
   2504 
   2505 /*****************************************************************************
   2506  **
   2507  ** int xcb_xkb_device_led_info_names_length
   2508  **
   2509  ** @param const xcb_xkb_device_led_info_t *R
   2510  ** @returns int
   2511  **
   2512  *****************************************************************************/
   2513 
   2514 int
   2515 xcb_xkb_device_led_info_names_length (const xcb_xkb_device_led_info_t *R  /**< */)
   2516 {
   2517     return xcb_popcount(R->namesPresent);
   2518 }
   2519 
   2520 
   2521 /*****************************************************************************
   2522  **
   2523  ** xcb_generic_iterator_t xcb_xkb_device_led_info_names_end
   2524  **
   2525  ** @param const xcb_xkb_device_led_info_t *R
   2526  ** @returns xcb_generic_iterator_t
   2527  **
   2528  *****************************************************************************/
   2529 
   2530 xcb_generic_iterator_t
   2531 xcb_xkb_device_led_info_names_end (const xcb_xkb_device_led_info_t *R  /**< */)
   2532 {
   2533     xcb_generic_iterator_t i;
   2534     i.data = ((xcb_atom_t *) (R + 1)) + (xcb_popcount(R->namesPresent));
   2535     i.rem = 0;
   2536     i.index = (char *) i.data - (char *) R;
   2537     return i;
   2538 }
   2539 
   2540 
   2541 /*****************************************************************************
   2542  **
   2543  ** xcb_xkb_indicator_map_t * xcb_xkb_device_led_info_maps
   2544  **
   2545  ** @param const xcb_xkb_device_led_info_t *R
   2546  ** @returns xcb_xkb_indicator_map_t *
   2547  **
   2548  *****************************************************************************/
   2549 
   2550 xcb_xkb_indicator_map_t *
   2551 xcb_xkb_device_led_info_maps (const xcb_xkb_device_led_info_t *R  /**< */)
   2552 {
   2553     xcb_generic_iterator_t prev = xcb_xkb_device_led_info_names_end(R);
   2554     return (xcb_xkb_indicator_map_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_indicator_map_t, prev.index) + 0);
   2555 }
   2556 
   2557 
   2558 /*****************************************************************************
   2559  **
   2560  ** int xcb_xkb_device_led_info_maps_length
   2561  **
   2562  ** @param const xcb_xkb_device_led_info_t *R
   2563  ** @returns int
   2564  **
   2565  *****************************************************************************/
   2566 
   2567 int
   2568 xcb_xkb_device_led_info_maps_length (const xcb_xkb_device_led_info_t *R  /**< */)
   2569 {
   2570     return xcb_popcount(R->mapsPresent);
   2571 }
   2572 
   2573 
   2574 /*****************************************************************************
   2575  **
   2576  ** xcb_xkb_indicator_map_iterator_t xcb_xkb_device_led_info_maps_iterator
   2577  **
   2578  ** @param const xcb_xkb_device_led_info_t *R
   2579  ** @returns xcb_xkb_indicator_map_iterator_t
   2580  **
   2581  *****************************************************************************/
   2582 
   2583 xcb_xkb_indicator_map_iterator_t
   2584 xcb_xkb_device_led_info_maps_iterator (const xcb_xkb_device_led_info_t *R  /**< */)
   2585 {
   2586     xcb_xkb_indicator_map_iterator_t i;
   2587     xcb_generic_iterator_t prev = xcb_xkb_device_led_info_names_end(R);
   2588     i.data = (xcb_xkb_indicator_map_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_indicator_map_t, prev.index));
   2589     i.rem = xcb_popcount(R->mapsPresent);
   2590     i.index = (char *) i.data - (char *) R;
   2591     return i;
   2592 }
   2593 
   2594 
   2595 /*****************************************************************************
   2596  **
   2597  ** void xcb_xkb_device_led_info_next
   2598  **
   2599  ** @param xcb_xkb_device_led_info_iterator_t *i
   2600  ** @returns void
   2601  **
   2602  *****************************************************************************/
   2603 
   2604 void
   2605 xcb_xkb_device_led_info_next (xcb_xkb_device_led_info_iterator_t *i  /**< */)
   2606 {
   2607     xcb_xkb_device_led_info_t *R = i->data;
   2608     xcb_generic_iterator_t child;
   2609     child.data = (xcb_xkb_device_led_info_t *)(((char *)R) + xcb_xkb_device_led_info_sizeof(R));
   2610     i->index = (char *) child.data - (char *) i->data;
   2611     --i->rem;
   2612     i->data = (xcb_xkb_device_led_info_t *) child.data;
   2613 }
   2614 
   2615 
   2616 /*****************************************************************************
   2617  **
   2618  ** xcb_generic_iterator_t xcb_xkb_device_led_info_end
   2619  **
   2620  ** @param xcb_xkb_device_led_info_iterator_t i
   2621  ** @returns xcb_generic_iterator_t
   2622  **
   2623  *****************************************************************************/
   2624 
   2625 xcb_generic_iterator_t
   2626 xcb_xkb_device_led_info_end (xcb_xkb_device_led_info_iterator_t i  /**< */)
   2627 {
   2628     xcb_generic_iterator_t ret;
   2629     while(i.rem > 0)
   2630         xcb_xkb_device_led_info_next(&i);
   2631     ret.data = i.data;
   2632     ret.rem = i.rem;
   2633     ret.index = i.index;
   2634     return ret;
   2635 }
   2636 
   2637 
   2638 /*****************************************************************************
   2639  **
   2640  ** void xcb_xkb_sa_no_action_next
   2641  **
   2642  ** @param xcb_xkb_sa_no_action_iterator_t *i
   2643  ** @returns void
   2644  **
   2645  *****************************************************************************/
   2646 
   2647 void
   2648 xcb_xkb_sa_no_action_next (xcb_xkb_sa_no_action_iterator_t *i  /**< */)
   2649 {
   2650     --i->rem;
   2651     ++i->data;
   2652     i->index += sizeof(xcb_xkb_sa_no_action_t);
   2653 }
   2654 
   2655 
   2656 /*****************************************************************************
   2657  **
   2658  ** xcb_generic_iterator_t xcb_xkb_sa_no_action_end
   2659  **
   2660  ** @param xcb_xkb_sa_no_action_iterator_t i
   2661  ** @returns xcb_generic_iterator_t
   2662  **
   2663  *****************************************************************************/
   2664 
   2665 xcb_generic_iterator_t
   2666 xcb_xkb_sa_no_action_end (xcb_xkb_sa_no_action_iterator_t i  /**< */)
   2667 {
   2668     xcb_generic_iterator_t ret;
   2669     ret.data = i.data + i.rem;
   2670     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2671     ret.rem = 0;
   2672     return ret;
   2673 }
   2674 
   2675 
   2676 /*****************************************************************************
   2677  **
   2678  ** void xcb_xkb_sa_set_mods_next
   2679  **
   2680  ** @param xcb_xkb_sa_set_mods_iterator_t *i
   2681  ** @returns void
   2682  **
   2683  *****************************************************************************/
   2684 
   2685 void
   2686 xcb_xkb_sa_set_mods_next (xcb_xkb_sa_set_mods_iterator_t *i  /**< */)
   2687 {
   2688     --i->rem;
   2689     ++i->data;
   2690     i->index += sizeof(xcb_xkb_sa_set_mods_t);
   2691 }
   2692 
   2693 
   2694 /*****************************************************************************
   2695  **
   2696  ** xcb_generic_iterator_t xcb_xkb_sa_set_mods_end
   2697  **
   2698  ** @param xcb_xkb_sa_set_mods_iterator_t i
   2699  ** @returns xcb_generic_iterator_t
   2700  **
   2701  *****************************************************************************/
   2702 
   2703 xcb_generic_iterator_t
   2704 xcb_xkb_sa_set_mods_end (xcb_xkb_sa_set_mods_iterator_t i  /**< */)
   2705 {
   2706     xcb_generic_iterator_t ret;
   2707     ret.data = i.data + i.rem;
   2708     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2709     ret.rem = 0;
   2710     return ret;
   2711 }
   2712 
   2713 
   2714 /*****************************************************************************
   2715  **
   2716  ** void xcb_xkb_sa_latch_mods_next
   2717  **
   2718  ** @param xcb_xkb_sa_latch_mods_iterator_t *i
   2719  ** @returns void
   2720  **
   2721  *****************************************************************************/
   2722 
   2723 void
   2724 xcb_xkb_sa_latch_mods_next (xcb_xkb_sa_latch_mods_iterator_t *i  /**< */)
   2725 {
   2726     --i->rem;
   2727     ++i->data;
   2728     i->index += sizeof(xcb_xkb_sa_latch_mods_t);
   2729 }
   2730 
   2731 
   2732 /*****************************************************************************
   2733  **
   2734  ** xcb_generic_iterator_t xcb_xkb_sa_latch_mods_end
   2735  **
   2736  ** @param xcb_xkb_sa_latch_mods_iterator_t i
   2737  ** @returns xcb_generic_iterator_t
   2738  **
   2739  *****************************************************************************/
   2740 
   2741 xcb_generic_iterator_t
   2742 xcb_xkb_sa_latch_mods_end (xcb_xkb_sa_latch_mods_iterator_t i  /**< */)
   2743 {
   2744     xcb_generic_iterator_t ret;
   2745     ret.data = i.data + i.rem;
   2746     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2747     ret.rem = 0;
   2748     return ret;
   2749 }
   2750 
   2751 
   2752 /*****************************************************************************
   2753  **
   2754  ** void xcb_xkb_sa_lock_mods_next
   2755  **
   2756  ** @param xcb_xkb_sa_lock_mods_iterator_t *i
   2757  ** @returns void
   2758  **
   2759  *****************************************************************************/
   2760 
   2761 void
   2762 xcb_xkb_sa_lock_mods_next (xcb_xkb_sa_lock_mods_iterator_t *i  /**< */)
   2763 {
   2764     --i->rem;
   2765     ++i->data;
   2766     i->index += sizeof(xcb_xkb_sa_lock_mods_t);
   2767 }
   2768 
   2769 
   2770 /*****************************************************************************
   2771  **
   2772  ** xcb_generic_iterator_t xcb_xkb_sa_lock_mods_end
   2773  **
   2774  ** @param xcb_xkb_sa_lock_mods_iterator_t i
   2775  ** @returns xcb_generic_iterator_t
   2776  **
   2777  *****************************************************************************/
   2778 
   2779 xcb_generic_iterator_t
   2780 xcb_xkb_sa_lock_mods_end (xcb_xkb_sa_lock_mods_iterator_t i  /**< */)
   2781 {
   2782     xcb_generic_iterator_t ret;
   2783     ret.data = i.data + i.rem;
   2784     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2785     ret.rem = 0;
   2786     return ret;
   2787 }
   2788 
   2789 
   2790 /*****************************************************************************
   2791  **
   2792  ** void xcb_xkb_sa_set_group_next
   2793  **
   2794  ** @param xcb_xkb_sa_set_group_iterator_t *i
   2795  ** @returns void
   2796  **
   2797  *****************************************************************************/
   2798 
   2799 void
   2800 xcb_xkb_sa_set_group_next (xcb_xkb_sa_set_group_iterator_t *i  /**< */)
   2801 {
   2802     --i->rem;
   2803     ++i->data;
   2804     i->index += sizeof(xcb_xkb_sa_set_group_t);
   2805 }
   2806 
   2807 
   2808 /*****************************************************************************
   2809  **
   2810  ** xcb_generic_iterator_t xcb_xkb_sa_set_group_end
   2811  **
   2812  ** @param xcb_xkb_sa_set_group_iterator_t i
   2813  ** @returns xcb_generic_iterator_t
   2814  **
   2815  *****************************************************************************/
   2816 
   2817 xcb_generic_iterator_t
   2818 xcb_xkb_sa_set_group_end (xcb_xkb_sa_set_group_iterator_t i  /**< */)
   2819 {
   2820     xcb_generic_iterator_t ret;
   2821     ret.data = i.data + i.rem;
   2822     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2823     ret.rem = 0;
   2824     return ret;
   2825 }
   2826 
   2827 
   2828 /*****************************************************************************
   2829  **
   2830  ** void xcb_xkb_sa_latch_group_next
   2831  **
   2832  ** @param xcb_xkb_sa_latch_group_iterator_t *i
   2833  ** @returns void
   2834  **
   2835  *****************************************************************************/
   2836 
   2837 void
   2838 xcb_xkb_sa_latch_group_next (xcb_xkb_sa_latch_group_iterator_t *i  /**< */)
   2839 {
   2840     --i->rem;
   2841     ++i->data;
   2842     i->index += sizeof(xcb_xkb_sa_latch_group_t);
   2843 }
   2844 
   2845 
   2846 /*****************************************************************************
   2847  **
   2848  ** xcb_generic_iterator_t xcb_xkb_sa_latch_group_end
   2849  **
   2850  ** @param xcb_xkb_sa_latch_group_iterator_t i
   2851  ** @returns xcb_generic_iterator_t
   2852  **
   2853  *****************************************************************************/
   2854 
   2855 xcb_generic_iterator_t
   2856 xcb_xkb_sa_latch_group_end (xcb_xkb_sa_latch_group_iterator_t i  /**< */)
   2857 {
   2858     xcb_generic_iterator_t ret;
   2859     ret.data = i.data + i.rem;
   2860     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2861     ret.rem = 0;
   2862     return ret;
   2863 }
   2864 
   2865 
   2866 /*****************************************************************************
   2867  **
   2868  ** void xcb_xkb_sa_lock_group_next
   2869  **
   2870  ** @param xcb_xkb_sa_lock_group_iterator_t *i
   2871  ** @returns void
   2872  **
   2873  *****************************************************************************/
   2874 
   2875 void
   2876 xcb_xkb_sa_lock_group_next (xcb_xkb_sa_lock_group_iterator_t *i  /**< */)
   2877 {
   2878     --i->rem;
   2879     ++i->data;
   2880     i->index += sizeof(xcb_xkb_sa_lock_group_t);
   2881 }
   2882 
   2883 
   2884 /*****************************************************************************
   2885  **
   2886  ** xcb_generic_iterator_t xcb_xkb_sa_lock_group_end
   2887  **
   2888  ** @param xcb_xkb_sa_lock_group_iterator_t i
   2889  ** @returns xcb_generic_iterator_t
   2890  **
   2891  *****************************************************************************/
   2892 
   2893 xcb_generic_iterator_t
   2894 xcb_xkb_sa_lock_group_end (xcb_xkb_sa_lock_group_iterator_t i  /**< */)
   2895 {
   2896     xcb_generic_iterator_t ret;
   2897     ret.data = i.data + i.rem;
   2898     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2899     ret.rem = 0;
   2900     return ret;
   2901 }
   2902 
   2903 
   2904 /*****************************************************************************
   2905  **
   2906  ** void xcb_xkb_sa_move_ptr_next
   2907  **
   2908  ** @param xcb_xkb_sa_move_ptr_iterator_t *i
   2909  ** @returns void
   2910  **
   2911  *****************************************************************************/
   2912 
   2913 void
   2914 xcb_xkb_sa_move_ptr_next (xcb_xkb_sa_move_ptr_iterator_t *i  /**< */)
   2915 {
   2916     --i->rem;
   2917     ++i->data;
   2918     i->index += sizeof(xcb_xkb_sa_move_ptr_t);
   2919 }
   2920 
   2921 
   2922 /*****************************************************************************
   2923  **
   2924  ** xcb_generic_iterator_t xcb_xkb_sa_move_ptr_end
   2925  **
   2926  ** @param xcb_xkb_sa_move_ptr_iterator_t i
   2927  ** @returns xcb_generic_iterator_t
   2928  **
   2929  *****************************************************************************/
   2930 
   2931 xcb_generic_iterator_t
   2932 xcb_xkb_sa_move_ptr_end (xcb_xkb_sa_move_ptr_iterator_t i  /**< */)
   2933 {
   2934     xcb_generic_iterator_t ret;
   2935     ret.data = i.data + i.rem;
   2936     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2937     ret.rem = 0;
   2938     return ret;
   2939 }
   2940 
   2941 
   2942 /*****************************************************************************
   2943  **
   2944  ** void xcb_xkb_sa_ptr_btn_next
   2945  **
   2946  ** @param xcb_xkb_sa_ptr_btn_iterator_t *i
   2947  ** @returns void
   2948  **
   2949  *****************************************************************************/
   2950 
   2951 void
   2952 xcb_xkb_sa_ptr_btn_next (xcb_xkb_sa_ptr_btn_iterator_t *i  /**< */)
   2953 {
   2954     --i->rem;
   2955     ++i->data;
   2956     i->index += sizeof(xcb_xkb_sa_ptr_btn_t);
   2957 }
   2958 
   2959 
   2960 /*****************************************************************************
   2961  **
   2962  ** xcb_generic_iterator_t xcb_xkb_sa_ptr_btn_end
   2963  **
   2964  ** @param xcb_xkb_sa_ptr_btn_iterator_t i
   2965  ** @returns xcb_generic_iterator_t
   2966  **
   2967  *****************************************************************************/
   2968 
   2969 xcb_generic_iterator_t
   2970 xcb_xkb_sa_ptr_btn_end (xcb_xkb_sa_ptr_btn_iterator_t i  /**< */)
   2971 {
   2972     xcb_generic_iterator_t ret;
   2973     ret.data = i.data + i.rem;
   2974     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   2975     ret.rem = 0;
   2976     return ret;
   2977 }
   2978 
   2979 
   2980 /*****************************************************************************
   2981  **
   2982  ** void xcb_xkb_sa_lock_ptr_btn_next
   2983  **
   2984  ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t *i
   2985  ** @returns void
   2986  **
   2987  *****************************************************************************/
   2988 
   2989 void
   2990 xcb_xkb_sa_lock_ptr_btn_next (xcb_xkb_sa_lock_ptr_btn_iterator_t *i  /**< */)
   2991 {
   2992     --i->rem;
   2993     ++i->data;
   2994     i->index += sizeof(xcb_xkb_sa_lock_ptr_btn_t);
   2995 }
   2996 
   2997 
   2998 /*****************************************************************************
   2999  **
   3000  ** xcb_generic_iterator_t xcb_xkb_sa_lock_ptr_btn_end
   3001  **
   3002  ** @param xcb_xkb_sa_lock_ptr_btn_iterator_t i
   3003  ** @returns xcb_generic_iterator_t
   3004  **
   3005  *****************************************************************************/
   3006 
   3007 xcb_generic_iterator_t
   3008 xcb_xkb_sa_lock_ptr_btn_end (xcb_xkb_sa_lock_ptr_btn_iterator_t i  /**< */)
   3009 {
   3010     xcb_generic_iterator_t ret;
   3011     ret.data = i.data + i.rem;
   3012     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3013     ret.rem = 0;
   3014     return ret;
   3015 }
   3016 
   3017 
   3018 /*****************************************************************************
   3019  **
   3020  ** void xcb_xkb_sa_set_ptr_dflt_next
   3021  **
   3022  ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t *i
   3023  ** @returns void
   3024  **
   3025  *****************************************************************************/
   3026 
   3027 void
   3028 xcb_xkb_sa_set_ptr_dflt_next (xcb_xkb_sa_set_ptr_dflt_iterator_t *i  /**< */)
   3029 {
   3030     --i->rem;
   3031     ++i->data;
   3032     i->index += sizeof(xcb_xkb_sa_set_ptr_dflt_t);
   3033 }
   3034 
   3035 
   3036 /*****************************************************************************
   3037  **
   3038  ** xcb_generic_iterator_t xcb_xkb_sa_set_ptr_dflt_end
   3039  **
   3040  ** @param xcb_xkb_sa_set_ptr_dflt_iterator_t i
   3041  ** @returns xcb_generic_iterator_t
   3042  **
   3043  *****************************************************************************/
   3044 
   3045 xcb_generic_iterator_t
   3046 xcb_xkb_sa_set_ptr_dflt_end (xcb_xkb_sa_set_ptr_dflt_iterator_t i  /**< */)
   3047 {
   3048     xcb_generic_iterator_t ret;
   3049     ret.data = i.data + i.rem;
   3050     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3051     ret.rem = 0;
   3052     return ret;
   3053 }
   3054 
   3055 
   3056 /*****************************************************************************
   3057  **
   3058  ** void xcb_xkb_sa_iso_lock_next
   3059  **
   3060  ** @param xcb_xkb_sa_iso_lock_iterator_t *i
   3061  ** @returns void
   3062  **
   3063  *****************************************************************************/
   3064 
   3065 void
   3066 xcb_xkb_sa_iso_lock_next (xcb_xkb_sa_iso_lock_iterator_t *i  /**< */)
   3067 {
   3068     --i->rem;
   3069     ++i->data;
   3070     i->index += sizeof(xcb_xkb_sa_iso_lock_t);
   3071 }
   3072 
   3073 
   3074 /*****************************************************************************
   3075  **
   3076  ** xcb_generic_iterator_t xcb_xkb_sa_iso_lock_end
   3077  **
   3078  ** @param xcb_xkb_sa_iso_lock_iterator_t i
   3079  ** @returns xcb_generic_iterator_t
   3080  **
   3081  *****************************************************************************/
   3082 
   3083 xcb_generic_iterator_t
   3084 xcb_xkb_sa_iso_lock_end (xcb_xkb_sa_iso_lock_iterator_t i  /**< */)
   3085 {
   3086     xcb_generic_iterator_t ret;
   3087     ret.data = i.data + i.rem;
   3088     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3089     ret.rem = 0;
   3090     return ret;
   3091 }
   3092 
   3093 
   3094 /*****************************************************************************
   3095  **
   3096  ** void xcb_xkb_sa_terminate_next
   3097  **
   3098  ** @param xcb_xkb_sa_terminate_iterator_t *i
   3099  ** @returns void
   3100  **
   3101  *****************************************************************************/
   3102 
   3103 void
   3104 xcb_xkb_sa_terminate_next (xcb_xkb_sa_terminate_iterator_t *i  /**< */)
   3105 {
   3106     --i->rem;
   3107     ++i->data;
   3108     i->index += sizeof(xcb_xkb_sa_terminate_t);
   3109 }
   3110 
   3111 
   3112 /*****************************************************************************
   3113  **
   3114  ** xcb_generic_iterator_t xcb_xkb_sa_terminate_end
   3115  **
   3116  ** @param xcb_xkb_sa_terminate_iterator_t i
   3117  ** @returns xcb_generic_iterator_t
   3118  **
   3119  *****************************************************************************/
   3120 
   3121 xcb_generic_iterator_t
   3122 xcb_xkb_sa_terminate_end (xcb_xkb_sa_terminate_iterator_t i  /**< */)
   3123 {
   3124     xcb_generic_iterator_t ret;
   3125     ret.data = i.data + i.rem;
   3126     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3127     ret.rem = 0;
   3128     return ret;
   3129 }
   3130 
   3131 
   3132 /*****************************************************************************
   3133  **
   3134  ** void xcb_xkb_sa_switch_screen_next
   3135  **
   3136  ** @param xcb_xkb_sa_switch_screen_iterator_t *i
   3137  ** @returns void
   3138  **
   3139  *****************************************************************************/
   3140 
   3141 void
   3142 xcb_xkb_sa_switch_screen_next (xcb_xkb_sa_switch_screen_iterator_t *i  /**< */)
   3143 {
   3144     --i->rem;
   3145     ++i->data;
   3146     i->index += sizeof(xcb_xkb_sa_switch_screen_t);
   3147 }
   3148 
   3149 
   3150 /*****************************************************************************
   3151  **
   3152  ** xcb_generic_iterator_t xcb_xkb_sa_switch_screen_end
   3153  **
   3154  ** @param xcb_xkb_sa_switch_screen_iterator_t i
   3155  ** @returns xcb_generic_iterator_t
   3156  **
   3157  *****************************************************************************/
   3158 
   3159 xcb_generic_iterator_t
   3160 xcb_xkb_sa_switch_screen_end (xcb_xkb_sa_switch_screen_iterator_t i  /**< */)
   3161 {
   3162     xcb_generic_iterator_t ret;
   3163     ret.data = i.data + i.rem;
   3164     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3165     ret.rem = 0;
   3166     return ret;
   3167 }
   3168 
   3169 
   3170 /*****************************************************************************
   3171  **
   3172  ** void xcb_xkb_sa_set_controls_next
   3173  **
   3174  ** @param xcb_xkb_sa_set_controls_iterator_t *i
   3175  ** @returns void
   3176  **
   3177  *****************************************************************************/
   3178 
   3179 void
   3180 xcb_xkb_sa_set_controls_next (xcb_xkb_sa_set_controls_iterator_t *i  /**< */)
   3181 {
   3182     --i->rem;
   3183     ++i->data;
   3184     i->index += sizeof(xcb_xkb_sa_set_controls_t);
   3185 }
   3186 
   3187 
   3188 /*****************************************************************************
   3189  **
   3190  ** xcb_generic_iterator_t xcb_xkb_sa_set_controls_end
   3191  **
   3192  ** @param xcb_xkb_sa_set_controls_iterator_t i
   3193  ** @returns xcb_generic_iterator_t
   3194  **
   3195  *****************************************************************************/
   3196 
   3197 xcb_generic_iterator_t
   3198 xcb_xkb_sa_set_controls_end (xcb_xkb_sa_set_controls_iterator_t i  /**< */)
   3199 {
   3200     xcb_generic_iterator_t ret;
   3201     ret.data = i.data + i.rem;
   3202     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3203     ret.rem = 0;
   3204     return ret;
   3205 }
   3206 
   3207 
   3208 /*****************************************************************************
   3209  **
   3210  ** void xcb_xkb_sa_lock_controls_next
   3211  **
   3212  ** @param xcb_xkb_sa_lock_controls_iterator_t *i
   3213  ** @returns void
   3214  **
   3215  *****************************************************************************/
   3216 
   3217 void
   3218 xcb_xkb_sa_lock_controls_next (xcb_xkb_sa_lock_controls_iterator_t *i  /**< */)
   3219 {
   3220     --i->rem;
   3221     ++i->data;
   3222     i->index += sizeof(xcb_xkb_sa_lock_controls_t);
   3223 }
   3224 
   3225 
   3226 /*****************************************************************************
   3227  **
   3228  ** xcb_generic_iterator_t xcb_xkb_sa_lock_controls_end
   3229  **
   3230  ** @param xcb_xkb_sa_lock_controls_iterator_t i
   3231  ** @returns xcb_generic_iterator_t
   3232  **
   3233  *****************************************************************************/
   3234 
   3235 xcb_generic_iterator_t
   3236 xcb_xkb_sa_lock_controls_end (xcb_xkb_sa_lock_controls_iterator_t i  /**< */)
   3237 {
   3238     xcb_generic_iterator_t ret;
   3239     ret.data = i.data + i.rem;
   3240     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3241     ret.rem = 0;
   3242     return ret;
   3243 }
   3244 
   3245 
   3246 /*****************************************************************************
   3247  **
   3248  ** void xcb_xkb_sa_action_message_next
   3249  **
   3250  ** @param xcb_xkb_sa_action_message_iterator_t *i
   3251  ** @returns void
   3252  **
   3253  *****************************************************************************/
   3254 
   3255 void
   3256 xcb_xkb_sa_action_message_next (xcb_xkb_sa_action_message_iterator_t *i  /**< */)
   3257 {
   3258     --i->rem;
   3259     ++i->data;
   3260     i->index += sizeof(xcb_xkb_sa_action_message_t);
   3261 }
   3262 
   3263 
   3264 /*****************************************************************************
   3265  **
   3266  ** xcb_generic_iterator_t xcb_xkb_sa_action_message_end
   3267  **
   3268  ** @param xcb_xkb_sa_action_message_iterator_t i
   3269  ** @returns xcb_generic_iterator_t
   3270  **
   3271  *****************************************************************************/
   3272 
   3273 xcb_generic_iterator_t
   3274 xcb_xkb_sa_action_message_end (xcb_xkb_sa_action_message_iterator_t i  /**< */)
   3275 {
   3276     xcb_generic_iterator_t ret;
   3277     ret.data = i.data + i.rem;
   3278     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3279     ret.rem = 0;
   3280     return ret;
   3281 }
   3282 
   3283 
   3284 /*****************************************************************************
   3285  **
   3286  ** void xcb_xkb_sa_redirect_key_next
   3287  **
   3288  ** @param xcb_xkb_sa_redirect_key_iterator_t *i
   3289  ** @returns void
   3290  **
   3291  *****************************************************************************/
   3292 
   3293 void
   3294 xcb_xkb_sa_redirect_key_next (xcb_xkb_sa_redirect_key_iterator_t *i  /**< */)
   3295 {
   3296     --i->rem;
   3297     ++i->data;
   3298     i->index += sizeof(xcb_xkb_sa_redirect_key_t);
   3299 }
   3300 
   3301 
   3302 /*****************************************************************************
   3303  **
   3304  ** xcb_generic_iterator_t xcb_xkb_sa_redirect_key_end
   3305  **
   3306  ** @param xcb_xkb_sa_redirect_key_iterator_t i
   3307  ** @returns xcb_generic_iterator_t
   3308  **
   3309  *****************************************************************************/
   3310 
   3311 xcb_generic_iterator_t
   3312 xcb_xkb_sa_redirect_key_end (xcb_xkb_sa_redirect_key_iterator_t i  /**< */)
   3313 {
   3314     xcb_generic_iterator_t ret;
   3315     ret.data = i.data + i.rem;
   3316     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3317     ret.rem = 0;
   3318     return ret;
   3319 }
   3320 
   3321 
   3322 /*****************************************************************************
   3323  **
   3324  ** void xcb_xkb_sa_device_btn_next
   3325  **
   3326  ** @param xcb_xkb_sa_device_btn_iterator_t *i
   3327  ** @returns void
   3328  **
   3329  *****************************************************************************/
   3330 
   3331 void
   3332 xcb_xkb_sa_device_btn_next (xcb_xkb_sa_device_btn_iterator_t *i  /**< */)
   3333 {
   3334     --i->rem;
   3335     ++i->data;
   3336     i->index += sizeof(xcb_xkb_sa_device_btn_t);
   3337 }
   3338 
   3339 
   3340 /*****************************************************************************
   3341  **
   3342  ** xcb_generic_iterator_t xcb_xkb_sa_device_btn_end
   3343  **
   3344  ** @param xcb_xkb_sa_device_btn_iterator_t i
   3345  ** @returns xcb_generic_iterator_t
   3346  **
   3347  *****************************************************************************/
   3348 
   3349 xcb_generic_iterator_t
   3350 xcb_xkb_sa_device_btn_end (xcb_xkb_sa_device_btn_iterator_t i  /**< */)
   3351 {
   3352     xcb_generic_iterator_t ret;
   3353     ret.data = i.data + i.rem;
   3354     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3355     ret.rem = 0;
   3356     return ret;
   3357 }
   3358 
   3359 
   3360 /*****************************************************************************
   3361  **
   3362  ** void xcb_xkb_sa_lock_device_btn_next
   3363  **
   3364  ** @param xcb_xkb_sa_lock_device_btn_iterator_t *i
   3365  ** @returns void
   3366  **
   3367  *****************************************************************************/
   3368 
   3369 void
   3370 xcb_xkb_sa_lock_device_btn_next (xcb_xkb_sa_lock_device_btn_iterator_t *i  /**< */)
   3371 {
   3372     --i->rem;
   3373     ++i->data;
   3374     i->index += sizeof(xcb_xkb_sa_lock_device_btn_t);
   3375 }
   3376 
   3377 
   3378 /*****************************************************************************
   3379  **
   3380  ** xcb_generic_iterator_t xcb_xkb_sa_lock_device_btn_end
   3381  **
   3382  ** @param xcb_xkb_sa_lock_device_btn_iterator_t i
   3383  ** @returns xcb_generic_iterator_t
   3384  **
   3385  *****************************************************************************/
   3386 
   3387 xcb_generic_iterator_t
   3388 xcb_xkb_sa_lock_device_btn_end (xcb_xkb_sa_lock_device_btn_iterator_t i  /**< */)
   3389 {
   3390     xcb_generic_iterator_t ret;
   3391     ret.data = i.data + i.rem;
   3392     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3393     ret.rem = 0;
   3394     return ret;
   3395 }
   3396 
   3397 
   3398 /*****************************************************************************
   3399  **
   3400  ** void xcb_xkb_sa_device_valuator_next
   3401  **
   3402  ** @param xcb_xkb_sa_device_valuator_iterator_t *i
   3403  ** @returns void
   3404  **
   3405  *****************************************************************************/
   3406 
   3407 void
   3408 xcb_xkb_sa_device_valuator_next (xcb_xkb_sa_device_valuator_iterator_t *i  /**< */)
   3409 {
   3410     --i->rem;
   3411     ++i->data;
   3412     i->index += sizeof(xcb_xkb_sa_device_valuator_t);
   3413 }
   3414 
   3415 
   3416 /*****************************************************************************
   3417  **
   3418  ** xcb_generic_iterator_t xcb_xkb_sa_device_valuator_end
   3419  **
   3420  ** @param xcb_xkb_sa_device_valuator_iterator_t i
   3421  ** @returns xcb_generic_iterator_t
   3422  **
   3423  *****************************************************************************/
   3424 
   3425 xcb_generic_iterator_t
   3426 xcb_xkb_sa_device_valuator_end (xcb_xkb_sa_device_valuator_iterator_t i  /**< */)
   3427 {
   3428     xcb_generic_iterator_t ret;
   3429     ret.data = i.data + i.rem;
   3430     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3431     ret.rem = 0;
   3432     return ret;
   3433 }
   3434 
   3435 
   3436 /*****************************************************************************
   3437  **
   3438  ** void xcb_xkb_si_action_next
   3439  **
   3440  ** @param xcb_xkb_si_action_iterator_t *i
   3441  ** @returns void
   3442  **
   3443  *****************************************************************************/
   3444 
   3445 void
   3446 xcb_xkb_si_action_next (xcb_xkb_si_action_iterator_t *i  /**< */)
   3447 {
   3448     --i->rem;
   3449     ++i->data;
   3450     i->index += sizeof(xcb_xkb_si_action_t);
   3451 }
   3452 
   3453 
   3454 /*****************************************************************************
   3455  **
   3456  ** xcb_generic_iterator_t xcb_xkb_si_action_end
   3457  **
   3458  ** @param xcb_xkb_si_action_iterator_t i
   3459  ** @returns xcb_generic_iterator_t
   3460  **
   3461  *****************************************************************************/
   3462 
   3463 xcb_generic_iterator_t
   3464 xcb_xkb_si_action_end (xcb_xkb_si_action_iterator_t i  /**< */)
   3465 {
   3466     xcb_generic_iterator_t ret;
   3467     ret.data = i.data + i.rem;
   3468     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3469     ret.rem = 0;
   3470     return ret;
   3471 }
   3472 
   3473 
   3474 /*****************************************************************************
   3475  **
   3476  ** void xcb_xkb_sym_interpret_next
   3477  **
   3478  ** @param xcb_xkb_sym_interpret_iterator_t *i
   3479  ** @returns void
   3480  **
   3481  *****************************************************************************/
   3482 
   3483 void
   3484 xcb_xkb_sym_interpret_next (xcb_xkb_sym_interpret_iterator_t *i  /**< */)
   3485 {
   3486     --i->rem;
   3487     ++i->data;
   3488     i->index += sizeof(xcb_xkb_sym_interpret_t);
   3489 }
   3490 
   3491 
   3492 /*****************************************************************************
   3493  **
   3494  ** xcb_generic_iterator_t xcb_xkb_sym_interpret_end
   3495  **
   3496  ** @param xcb_xkb_sym_interpret_iterator_t i
   3497  ** @returns xcb_generic_iterator_t
   3498  **
   3499  *****************************************************************************/
   3500 
   3501 xcb_generic_iterator_t
   3502 xcb_xkb_sym_interpret_end (xcb_xkb_sym_interpret_iterator_t i  /**< */)
   3503 {
   3504     xcb_generic_iterator_t ret;
   3505     ret.data = i.data + i.rem;
   3506     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3507     ret.rem = 0;
   3508     return ret;
   3509 }
   3510 
   3511 
   3512 /*****************************************************************************
   3513  **
   3514  ** void xcb_xkb_action_next
   3515  **
   3516  ** @param xcb_xkb_action_iterator_t *i
   3517  ** @returns void
   3518  **
   3519  *****************************************************************************/
   3520 
   3521 void
   3522 xcb_xkb_action_next (xcb_xkb_action_iterator_t *i  /**< */)
   3523 {
   3524     --i->rem;
   3525     ++i->data;
   3526     i->index += sizeof(xcb_xkb_action_t);
   3527 }
   3528 
   3529 
   3530 /*****************************************************************************
   3531  **
   3532  ** xcb_generic_iterator_t xcb_xkb_action_end
   3533  **
   3534  ** @param xcb_xkb_action_iterator_t i
   3535  ** @returns xcb_generic_iterator_t
   3536  **
   3537  *****************************************************************************/
   3538 
   3539 xcb_generic_iterator_t
   3540 xcb_xkb_action_end (xcb_xkb_action_iterator_t i  /**< */)
   3541 {
   3542     xcb_generic_iterator_t ret;
   3543     ret.data = i.data + i.rem;
   3544     ret.index = i.index + ((char *) ret.data - (char *) i.data);
   3545     ret.rem = 0;
   3546     return ret;
   3547 }
   3548 
   3549 
   3550 /*****************************************************************************
   3551  **
   3552  ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension
   3553  **
   3554  ** @param xcb_connection_t *c
   3555  ** @param uint16_t          wantedMajor
   3556  ** @param uint16_t          wantedMinor
   3557  ** @returns xcb_xkb_use_extension_cookie_t
   3558  **
   3559  *****************************************************************************/
   3560 
   3561 xcb_xkb_use_extension_cookie_t
   3562 xcb_xkb_use_extension (xcb_connection_t *c  /**< */,
   3563                        uint16_t          wantedMajor  /**< */,
   3564                        uint16_t          wantedMinor  /**< */)
   3565 {
   3566     static const xcb_protocol_request_t xcb_req = {
   3567         /* count */ 2,
   3568         /* ext */ &xcb_xkb_id,
   3569         /* opcode */ XCB_XKB_USE_EXTENSION,
   3570         /* isvoid */ 0
   3571     };
   3572 
   3573     struct iovec xcb_parts[4];
   3574     xcb_xkb_use_extension_cookie_t xcb_ret;
   3575     xcb_xkb_use_extension_request_t xcb_out;
   3576 
   3577     xcb_out.wantedMajor = wantedMajor;
   3578     xcb_out.wantedMinor = wantedMinor;
   3579 
   3580     xcb_parts[2].iov_base = (char *) &xcb_out;
   3581     xcb_parts[2].iov_len = sizeof(xcb_out);
   3582     xcb_parts[3].iov_base = 0;
   3583     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3584 
   3585     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   3586     return xcb_ret;
   3587 }
   3588 
   3589 
   3590 /*****************************************************************************
   3591  **
   3592  ** xcb_xkb_use_extension_cookie_t xcb_xkb_use_extension_unchecked
   3593  **
   3594  ** @param xcb_connection_t *c
   3595  ** @param uint16_t          wantedMajor
   3596  ** @param uint16_t          wantedMinor
   3597  ** @returns xcb_xkb_use_extension_cookie_t
   3598  **
   3599  *****************************************************************************/
   3600 
   3601 xcb_xkb_use_extension_cookie_t
   3602 xcb_xkb_use_extension_unchecked (xcb_connection_t *c  /**< */,
   3603                                  uint16_t          wantedMajor  /**< */,
   3604                                  uint16_t          wantedMinor  /**< */)
   3605 {
   3606     static const xcb_protocol_request_t xcb_req = {
   3607         /* count */ 2,
   3608         /* ext */ &xcb_xkb_id,
   3609         /* opcode */ XCB_XKB_USE_EXTENSION,
   3610         /* isvoid */ 0
   3611     };
   3612 
   3613     struct iovec xcb_parts[4];
   3614     xcb_xkb_use_extension_cookie_t xcb_ret;
   3615     xcb_xkb_use_extension_request_t xcb_out;
   3616 
   3617     xcb_out.wantedMajor = wantedMajor;
   3618     xcb_out.wantedMinor = wantedMinor;
   3619 
   3620     xcb_parts[2].iov_base = (char *) &xcb_out;
   3621     xcb_parts[2].iov_len = sizeof(xcb_out);
   3622     xcb_parts[3].iov_base = 0;
   3623     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   3624 
   3625     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   3626     return xcb_ret;
   3627 }
   3628 
   3629 
   3630 /*****************************************************************************
   3631  **
   3632  ** xcb_xkb_use_extension_reply_t * xcb_xkb_use_extension_reply
   3633  **
   3634  ** @param xcb_connection_t                *c
   3635  ** @param xcb_xkb_use_extension_cookie_t   cookie
   3636  ** @param xcb_generic_error_t            **e
   3637  ** @returns xcb_xkb_use_extension_reply_t *
   3638  **
   3639  *****************************************************************************/
   3640 
   3641 xcb_xkb_use_extension_reply_t *
   3642 xcb_xkb_use_extension_reply (xcb_connection_t                *c  /**< */,
   3643                              xcb_xkb_use_extension_cookie_t   cookie  /**< */,
   3644                              xcb_generic_error_t            **e  /**< */)
   3645 {
   3646     return (xcb_xkb_use_extension_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   3647 }
   3648 
   3649 int
   3650 xcb_xkb_select_events_details_serialize (void                                  **_buffer  /**< */,
   3651                                          uint16_t                                affectWhich  /**< */,
   3652                                          uint16_t                                clear  /**< */,
   3653                                          uint16_t                                selectAll  /**< */,
   3654                                          const xcb_xkb_select_events_details_t  *_aux  /**< */)
   3655 {
   3656     char *xcb_out = *_buffer;
   3657     unsigned int xcb_buffer_len = 0;
   3658     unsigned int xcb_align_to = 0;
   3659 
   3660     unsigned int xcb_pad = 0;
   3661     char xcb_pad0[3] = {0, 0, 0};
   3662     struct iovec xcb_parts[23];
   3663     unsigned int xcb_parts_idx = 0;
   3664     unsigned int xcb_block_len = 0;
   3665     unsigned int i;
   3666     char *xcb_tmp;
   3667 
   3668     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY) {
   3669         /* xcb_xkb_select_events_details_t.affectNewKeyboard */
   3670         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectNewKeyboard;
   3671         xcb_block_len += sizeof(uint16_t);
   3672         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3673         xcb_parts_idx++;
   3674         xcb_align_to = ALIGNOF(uint16_t);
   3675         /* xcb_xkb_select_events_details_t.newKeyboardDetails */
   3676         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->newKeyboardDetails;
   3677         xcb_block_len += sizeof(uint16_t);
   3678         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3679         xcb_parts_idx++;
   3680         xcb_align_to = ALIGNOF(uint16_t);
   3681     }
   3682     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_STATE_NOTIFY) {
   3683         /* xcb_xkb_select_events_details_t.affectState */
   3684         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectState;
   3685         xcb_block_len += sizeof(uint16_t);
   3686         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3687         xcb_parts_idx++;
   3688         xcb_align_to = ALIGNOF(uint16_t);
   3689         /* xcb_xkb_select_events_details_t.stateDetails */
   3690         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->stateDetails;
   3691         xcb_block_len += sizeof(uint16_t);
   3692         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3693         xcb_parts_idx++;
   3694         xcb_align_to = ALIGNOF(uint16_t);
   3695     }
   3696     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY) {
   3697         /* xcb_xkb_select_events_details_t.affectCtrls */
   3698         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectCtrls;
   3699         xcb_block_len += sizeof(uint32_t);
   3700         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   3701         xcb_parts_idx++;
   3702         xcb_align_to = ALIGNOF(uint32_t);
   3703         /* xcb_xkb_select_events_details_t.ctrlDetails */
   3704         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->ctrlDetails;
   3705         xcb_block_len += sizeof(uint32_t);
   3706         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   3707         xcb_parts_idx++;
   3708         xcb_align_to = ALIGNOF(uint32_t);
   3709     }
   3710     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY) {
   3711         /* xcb_xkb_select_events_details_t.affectIndicatorState */
   3712         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectIndicatorState;
   3713         xcb_block_len += sizeof(uint32_t);
   3714         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   3715         xcb_parts_idx++;
   3716         xcb_align_to = ALIGNOF(uint32_t);
   3717         /* xcb_xkb_select_events_details_t.indicatorStateDetails */
   3718         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicatorStateDetails;
   3719         xcb_block_len += sizeof(uint32_t);
   3720         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   3721         xcb_parts_idx++;
   3722         xcb_align_to = ALIGNOF(uint32_t);
   3723     }
   3724     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY) {
   3725         /* xcb_xkb_select_events_details_t.affectIndicatorMap */
   3726         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectIndicatorMap;
   3727         xcb_block_len += sizeof(uint32_t);
   3728         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   3729         xcb_parts_idx++;
   3730         xcb_align_to = ALIGNOF(uint32_t);
   3731         /* xcb_xkb_select_events_details_t.indicatorMapDetails */
   3732         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicatorMapDetails;
   3733         xcb_block_len += sizeof(uint32_t);
   3734         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   3735         xcb_parts_idx++;
   3736         xcb_align_to = ALIGNOF(uint32_t);
   3737     }
   3738     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NAMES_NOTIFY) {
   3739         /* xcb_xkb_select_events_details_t.affectNames */
   3740         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectNames;
   3741         xcb_block_len += sizeof(uint16_t);
   3742         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3743         xcb_parts_idx++;
   3744         xcb_align_to = ALIGNOF(uint16_t);
   3745         /* xcb_xkb_select_events_details_t.namesDetails */
   3746         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->namesDetails;
   3747         xcb_block_len += sizeof(uint16_t);
   3748         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3749         xcb_parts_idx++;
   3750         xcb_align_to = ALIGNOF(uint16_t);
   3751     }
   3752     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY) {
   3753         /* xcb_xkb_select_events_details_t.affectCompat */
   3754         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectCompat;
   3755         xcb_block_len += sizeof(uint8_t);
   3756         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   3757         xcb_parts_idx++;
   3758         xcb_align_to = ALIGNOF(uint8_t);
   3759         /* xcb_xkb_select_events_details_t.compatDetails */
   3760         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatDetails;
   3761         xcb_block_len += sizeof(uint8_t);
   3762         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   3763         xcb_parts_idx++;
   3764         xcb_align_to = ALIGNOF(uint8_t);
   3765     }
   3766     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_BELL_NOTIFY) {
   3767         /* xcb_xkb_select_events_details_t.affectBell */
   3768         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectBell;
   3769         xcb_block_len += sizeof(uint8_t);
   3770         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   3771         xcb_parts_idx++;
   3772         xcb_align_to = ALIGNOF(uint8_t);
   3773         /* xcb_xkb_select_events_details_t.bellDetails */
   3774         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->bellDetails;
   3775         xcb_block_len += sizeof(uint8_t);
   3776         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   3777         xcb_parts_idx++;
   3778         xcb_align_to = ALIGNOF(uint8_t);
   3779     }
   3780     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACTION_MESSAGE) {
   3781         /* xcb_xkb_select_events_details_t.affectMsgDetails */
   3782         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectMsgDetails;
   3783         xcb_block_len += sizeof(uint8_t);
   3784         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   3785         xcb_parts_idx++;
   3786         xcb_align_to = ALIGNOF(uint8_t);
   3787         /* xcb_xkb_select_events_details_t.msgDetails */
   3788         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->msgDetails;
   3789         xcb_block_len += sizeof(uint8_t);
   3790         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   3791         xcb_parts_idx++;
   3792         xcb_align_to = ALIGNOF(uint8_t);
   3793     }
   3794     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY) {
   3795         /* xcb_xkb_select_events_details_t.affectAccessX */
   3796         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectAccessX;
   3797         xcb_block_len += sizeof(uint16_t);
   3798         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3799         xcb_parts_idx++;
   3800         xcb_align_to = ALIGNOF(uint16_t);
   3801         /* xcb_xkb_select_events_details_t.accessXDetails */
   3802         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->accessXDetails;
   3803         xcb_block_len += sizeof(uint16_t);
   3804         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3805         xcb_parts_idx++;
   3806         xcb_align_to = ALIGNOF(uint16_t);
   3807     }
   3808     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY) {
   3809         /* xcb_xkb_select_events_details_t.affectExtDev */
   3810         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->affectExtDev;
   3811         xcb_block_len += sizeof(uint16_t);
   3812         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3813         xcb_parts_idx++;
   3814         xcb_align_to = ALIGNOF(uint16_t);
   3815         /* xcb_xkb_select_events_details_t.extdevDetails */
   3816         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->extdevDetails;
   3817         xcb_block_len += sizeof(uint16_t);
   3818         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   3819         xcb_parts_idx++;
   3820         xcb_align_to = ALIGNOF(uint16_t);
   3821     }
   3822     /* insert padding */
   3823     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3824     xcb_buffer_len += xcb_block_len + xcb_pad;
   3825     if (0 != xcb_pad) {
   3826         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   3827         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   3828         xcb_parts_idx++;
   3829         xcb_pad = 0;
   3830     }
   3831     xcb_block_len = 0;
   3832 
   3833     if (NULL == xcb_out) {
   3834         /* allocate memory */
   3835         xcb_out = malloc(xcb_buffer_len);
   3836         *_buffer = xcb_out;
   3837     }
   3838 
   3839     xcb_tmp = xcb_out;
   3840     for(i=0; i<xcb_parts_idx; i++) {
   3841         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   3842             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   3843         if (0 != xcb_parts[i].iov_len)
   3844             xcb_tmp += xcb_parts[i].iov_len;
   3845     }
   3846 
   3847     return xcb_buffer_len;
   3848 }
   3849 
   3850 int
   3851 xcb_xkb_select_events_details_unpack (const void                       *_buffer  /**< */,
   3852                                       uint16_t                          affectWhich  /**< */,
   3853                                       uint16_t                          clear  /**< */,
   3854                                       uint16_t                          selectAll  /**< */,
   3855                                       xcb_xkb_select_events_details_t  *_aux  /**< */)
   3856 {
   3857     char *xcb_tmp = (char *)_buffer;
   3858     unsigned int xcb_buffer_len = 0;
   3859     unsigned int xcb_block_len = 0;
   3860     unsigned int xcb_pad = 0;
   3861     unsigned int xcb_align_to = 0;
   3862 
   3863 
   3864     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY) {
   3865         /* xcb_xkb_select_events_details_t.affectNewKeyboard */
   3866         _aux->affectNewKeyboard = *(uint16_t *)xcb_tmp;
   3867         xcb_block_len += sizeof(uint16_t);
   3868         xcb_tmp += sizeof(uint16_t);
   3869         xcb_align_to = ALIGNOF(uint16_t);
   3870         /* xcb_xkb_select_events_details_t.newKeyboardDetails */
   3871         _aux->newKeyboardDetails = *(uint16_t *)xcb_tmp;
   3872         xcb_block_len += sizeof(uint16_t);
   3873         xcb_tmp += sizeof(uint16_t);
   3874         xcb_align_to = ALIGNOF(uint16_t);
   3875     }
   3876     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_STATE_NOTIFY) {
   3877         /* xcb_xkb_select_events_details_t.affectState */
   3878         _aux->affectState = *(uint16_t *)xcb_tmp;
   3879         xcb_block_len += sizeof(uint16_t);
   3880         xcb_tmp += sizeof(uint16_t);
   3881         xcb_align_to = ALIGNOF(uint16_t);
   3882         /* xcb_xkb_select_events_details_t.stateDetails */
   3883         _aux->stateDetails = *(uint16_t *)xcb_tmp;
   3884         xcb_block_len += sizeof(uint16_t);
   3885         xcb_tmp += sizeof(uint16_t);
   3886         xcb_align_to = ALIGNOF(uint16_t);
   3887     }
   3888     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY) {
   3889         /* xcb_xkb_select_events_details_t.affectCtrls */
   3890         _aux->affectCtrls = *(uint32_t *)xcb_tmp;
   3891         xcb_block_len += sizeof(uint32_t);
   3892         xcb_tmp += sizeof(uint32_t);
   3893         xcb_align_to = ALIGNOF(uint32_t);
   3894         /* xcb_xkb_select_events_details_t.ctrlDetails */
   3895         _aux->ctrlDetails = *(uint32_t *)xcb_tmp;
   3896         xcb_block_len += sizeof(uint32_t);
   3897         xcb_tmp += sizeof(uint32_t);
   3898         xcb_align_to = ALIGNOF(uint32_t);
   3899     }
   3900     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY) {
   3901         /* xcb_xkb_select_events_details_t.affectIndicatorState */
   3902         _aux->affectIndicatorState = *(uint32_t *)xcb_tmp;
   3903         xcb_block_len += sizeof(uint32_t);
   3904         xcb_tmp += sizeof(uint32_t);
   3905         xcb_align_to = ALIGNOF(uint32_t);
   3906         /* xcb_xkb_select_events_details_t.indicatorStateDetails */
   3907         _aux->indicatorStateDetails = *(uint32_t *)xcb_tmp;
   3908         xcb_block_len += sizeof(uint32_t);
   3909         xcb_tmp += sizeof(uint32_t);
   3910         xcb_align_to = ALIGNOF(uint32_t);
   3911     }
   3912     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY) {
   3913         /* xcb_xkb_select_events_details_t.affectIndicatorMap */
   3914         _aux->affectIndicatorMap = *(uint32_t *)xcb_tmp;
   3915         xcb_block_len += sizeof(uint32_t);
   3916         xcb_tmp += sizeof(uint32_t);
   3917         xcb_align_to = ALIGNOF(uint32_t);
   3918         /* xcb_xkb_select_events_details_t.indicatorMapDetails */
   3919         _aux->indicatorMapDetails = *(uint32_t *)xcb_tmp;
   3920         xcb_block_len += sizeof(uint32_t);
   3921         xcb_tmp += sizeof(uint32_t);
   3922         xcb_align_to = ALIGNOF(uint32_t);
   3923     }
   3924     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_NAMES_NOTIFY) {
   3925         /* xcb_xkb_select_events_details_t.affectNames */
   3926         _aux->affectNames = *(uint16_t *)xcb_tmp;
   3927         xcb_block_len += sizeof(uint16_t);
   3928         xcb_tmp += sizeof(uint16_t);
   3929         xcb_align_to = ALIGNOF(uint16_t);
   3930         /* xcb_xkb_select_events_details_t.namesDetails */
   3931         _aux->namesDetails = *(uint16_t *)xcb_tmp;
   3932         xcb_block_len += sizeof(uint16_t);
   3933         xcb_tmp += sizeof(uint16_t);
   3934         xcb_align_to = ALIGNOF(uint16_t);
   3935     }
   3936     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY) {
   3937         /* xcb_xkb_select_events_details_t.affectCompat */
   3938         _aux->affectCompat = *(uint8_t *)xcb_tmp;
   3939         xcb_block_len += sizeof(uint8_t);
   3940         xcb_tmp += sizeof(uint8_t);
   3941         xcb_align_to = ALIGNOF(uint8_t);
   3942         /* xcb_xkb_select_events_details_t.compatDetails */
   3943         _aux->compatDetails = *(uint8_t *)xcb_tmp;
   3944         xcb_block_len += sizeof(uint8_t);
   3945         xcb_tmp += sizeof(uint8_t);
   3946         xcb_align_to = ALIGNOF(uint8_t);
   3947     }
   3948     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_BELL_NOTIFY) {
   3949         /* xcb_xkb_select_events_details_t.affectBell */
   3950         _aux->affectBell = *(uint8_t *)xcb_tmp;
   3951         xcb_block_len += sizeof(uint8_t);
   3952         xcb_tmp += sizeof(uint8_t);
   3953         xcb_align_to = ALIGNOF(uint8_t);
   3954         /* xcb_xkb_select_events_details_t.bellDetails */
   3955         _aux->bellDetails = *(uint8_t *)xcb_tmp;
   3956         xcb_block_len += sizeof(uint8_t);
   3957         xcb_tmp += sizeof(uint8_t);
   3958         xcb_align_to = ALIGNOF(uint8_t);
   3959     }
   3960     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACTION_MESSAGE) {
   3961         /* xcb_xkb_select_events_details_t.affectMsgDetails */
   3962         _aux->affectMsgDetails = *(uint8_t *)xcb_tmp;
   3963         xcb_block_len += sizeof(uint8_t);
   3964         xcb_tmp += sizeof(uint8_t);
   3965         xcb_align_to = ALIGNOF(uint8_t);
   3966         /* xcb_xkb_select_events_details_t.msgDetails */
   3967         _aux->msgDetails = *(uint8_t *)xcb_tmp;
   3968         xcb_block_len += sizeof(uint8_t);
   3969         xcb_tmp += sizeof(uint8_t);
   3970         xcb_align_to = ALIGNOF(uint8_t);
   3971     }
   3972     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY) {
   3973         /* xcb_xkb_select_events_details_t.affectAccessX */
   3974         _aux->affectAccessX = *(uint16_t *)xcb_tmp;
   3975         xcb_block_len += sizeof(uint16_t);
   3976         xcb_tmp += sizeof(uint16_t);
   3977         xcb_align_to = ALIGNOF(uint16_t);
   3978         /* xcb_xkb_select_events_details_t.accessXDetails */
   3979         _aux->accessXDetails = *(uint16_t *)xcb_tmp;
   3980         xcb_block_len += sizeof(uint16_t);
   3981         xcb_tmp += sizeof(uint16_t);
   3982         xcb_align_to = ALIGNOF(uint16_t);
   3983     }
   3984     if((affectWhich & ((~clear) & (~selectAll))) & XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY) {
   3985         /* xcb_xkb_select_events_details_t.affectExtDev */
   3986         _aux->affectExtDev = *(uint16_t *)xcb_tmp;
   3987         xcb_block_len += sizeof(uint16_t);
   3988         xcb_tmp += sizeof(uint16_t);
   3989         xcb_align_to = ALIGNOF(uint16_t);
   3990         /* xcb_xkb_select_events_details_t.extdevDetails */
   3991         _aux->extdevDetails = *(uint16_t *)xcb_tmp;
   3992         xcb_block_len += sizeof(uint16_t);
   3993         xcb_tmp += sizeof(uint16_t);
   3994         xcb_align_to = ALIGNOF(uint16_t);
   3995     }
   3996     /* insert padding */
   3997     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   3998     xcb_buffer_len += xcb_block_len + xcb_pad;
   3999     if (0 != xcb_pad) {
   4000         xcb_tmp += xcb_pad;
   4001         xcb_pad = 0;
   4002     }
   4003     xcb_block_len = 0;
   4004 
   4005     return xcb_buffer_len;
   4006 }
   4007 
   4008 int
   4009 xcb_xkb_select_events_details_sizeof (const void  *_buffer  /**< */,
   4010                                       uint16_t     affectWhich  /**< */,
   4011                                       uint16_t     clear  /**< */,
   4012                                       uint16_t     selectAll  /**< */)
   4013 {
   4014     xcb_xkb_select_events_details_t _aux;
   4015     return xcb_xkb_select_events_details_unpack(_buffer, affectWhich, clear, selectAll, &_aux);
   4016 }
   4017 
   4018 
   4019 /*****************************************************************************
   4020  **
   4021  ** xcb_void_cookie_t xcb_xkb_select_events_checked
   4022  **
   4023  ** @param xcb_connection_t      *c
   4024  ** @param xcb_xkb_device_spec_t  deviceSpec
   4025  ** @param uint16_t               affectWhich
   4026  ** @param uint16_t               clear
   4027  ** @param uint16_t               selectAll
   4028  ** @param uint16_t               affectMap
   4029  ** @param uint16_t               map
   4030  ** @param const void            *details
   4031  ** @returns xcb_void_cookie_t
   4032  **
   4033  *****************************************************************************/
   4034 
   4035 xcb_void_cookie_t
   4036 xcb_xkb_select_events_checked (xcb_connection_t      *c  /**< */,
   4037                                xcb_xkb_device_spec_t  deviceSpec  /**< */,
   4038                                uint16_t               affectWhich  /**< */,
   4039                                uint16_t               clear  /**< */,
   4040                                uint16_t               selectAll  /**< */,
   4041                                uint16_t               affectMap  /**< */,
   4042                                uint16_t               map  /**< */,
   4043                                const void            *details  /**< */)
   4044 {
   4045     static const xcb_protocol_request_t xcb_req = {
   4046         /* count */ 3,
   4047         /* ext */ &xcb_xkb_id,
   4048         /* opcode */ XCB_XKB_SELECT_EVENTS,
   4049         /* isvoid */ 1
   4050     };
   4051 
   4052     struct iovec xcb_parts[5];
   4053     xcb_void_cookie_t xcb_ret;
   4054     xcb_xkb_select_events_request_t xcb_out;
   4055 
   4056     xcb_out.deviceSpec = deviceSpec;
   4057     xcb_out.affectWhich = affectWhich;
   4058     xcb_out.clear = clear;
   4059     xcb_out.selectAll = selectAll;
   4060     xcb_out.affectMap = affectMap;
   4061     xcb_out.map = map;
   4062 
   4063     xcb_parts[2].iov_base = (char *) &xcb_out;
   4064     xcb_parts[2].iov_len = sizeof(xcb_out);
   4065     xcb_parts[3].iov_base = 0;
   4066     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4067     /* xcb_xkb_select_events_details_t details */
   4068     xcb_parts[4].iov_base = (char *) details;
   4069     xcb_parts[4].iov_len =
   4070       xcb_xkb_select_events_details_sizeof (details, affectWhich, clear, selectAll);
   4071 
   4072     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4073     return xcb_ret;
   4074 }
   4075 
   4076 
   4077 /*****************************************************************************
   4078  **
   4079  ** xcb_void_cookie_t xcb_xkb_select_events
   4080  **
   4081  ** @param xcb_connection_t      *c
   4082  ** @param xcb_xkb_device_spec_t  deviceSpec
   4083  ** @param uint16_t               affectWhich
   4084  ** @param uint16_t               clear
   4085  ** @param uint16_t               selectAll
   4086  ** @param uint16_t               affectMap
   4087  ** @param uint16_t               map
   4088  ** @param const void            *details
   4089  ** @returns xcb_void_cookie_t
   4090  **
   4091  *****************************************************************************/
   4092 
   4093 xcb_void_cookie_t
   4094 xcb_xkb_select_events (xcb_connection_t      *c  /**< */,
   4095                        xcb_xkb_device_spec_t  deviceSpec  /**< */,
   4096                        uint16_t               affectWhich  /**< */,
   4097                        uint16_t               clear  /**< */,
   4098                        uint16_t               selectAll  /**< */,
   4099                        uint16_t               affectMap  /**< */,
   4100                        uint16_t               map  /**< */,
   4101                        const void            *details  /**< */)
   4102 {
   4103     static const xcb_protocol_request_t xcb_req = {
   4104         /* count */ 3,
   4105         /* ext */ &xcb_xkb_id,
   4106         /* opcode */ XCB_XKB_SELECT_EVENTS,
   4107         /* isvoid */ 1
   4108     };
   4109 
   4110     struct iovec xcb_parts[5];
   4111     xcb_void_cookie_t xcb_ret;
   4112     xcb_xkb_select_events_request_t xcb_out;
   4113 
   4114     xcb_out.deviceSpec = deviceSpec;
   4115     xcb_out.affectWhich = affectWhich;
   4116     xcb_out.clear = clear;
   4117     xcb_out.selectAll = selectAll;
   4118     xcb_out.affectMap = affectMap;
   4119     xcb_out.map = map;
   4120 
   4121     xcb_parts[2].iov_base = (char *) &xcb_out;
   4122     xcb_parts[2].iov_len = sizeof(xcb_out);
   4123     xcb_parts[3].iov_base = 0;
   4124     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4125     /* xcb_xkb_select_events_details_t details */
   4126     xcb_parts[4].iov_base = (char *) details;
   4127     xcb_parts[4].iov_len =
   4128       xcb_xkb_select_events_details_sizeof (details, affectWhich, clear, selectAll);
   4129 
   4130     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4131     return xcb_ret;
   4132 }
   4133 
   4134 
   4135 /*****************************************************************************
   4136  **
   4137  ** xcb_void_cookie_t xcb_xkb_select_events_aux_checked
   4138  **
   4139  ** @param xcb_connection_t                      *c
   4140  ** @param xcb_xkb_device_spec_t                  deviceSpec
   4141  ** @param uint16_t                               affectWhich
   4142  ** @param uint16_t                               clear
   4143  ** @param uint16_t                               selectAll
   4144  ** @param uint16_t                               affectMap
   4145  ** @param uint16_t                               map
   4146  ** @param const xcb_xkb_select_events_details_t *details
   4147  ** @returns xcb_void_cookie_t
   4148  **
   4149  *****************************************************************************/
   4150 
   4151 xcb_void_cookie_t
   4152 xcb_xkb_select_events_aux_checked (xcb_connection_t                      *c  /**< */,
   4153                                    xcb_xkb_device_spec_t                  deviceSpec  /**< */,
   4154                                    uint16_t                               affectWhich  /**< */,
   4155                                    uint16_t                               clear  /**< */,
   4156                                    uint16_t                               selectAll  /**< */,
   4157                                    uint16_t                               affectMap  /**< */,
   4158                                    uint16_t                               map  /**< */,
   4159                                    const xcb_xkb_select_events_details_t *details  /**< */)
   4160 {
   4161     static const xcb_protocol_request_t xcb_req = {
   4162         /* count */ 3,
   4163         /* ext */ &xcb_xkb_id,
   4164         /* opcode */ XCB_XKB_SELECT_EVENTS,
   4165         /* isvoid */ 1
   4166     };
   4167 
   4168     struct iovec xcb_parts[5];
   4169     xcb_void_cookie_t xcb_ret;
   4170     xcb_xkb_select_events_request_t xcb_out;
   4171     void *xcb_aux0 = 0;
   4172 
   4173     xcb_out.deviceSpec = deviceSpec;
   4174     xcb_out.affectWhich = affectWhich;
   4175     xcb_out.clear = clear;
   4176     xcb_out.selectAll = selectAll;
   4177     xcb_out.affectMap = affectMap;
   4178     xcb_out.map = map;
   4179 
   4180     xcb_parts[2].iov_base = (char *) &xcb_out;
   4181     xcb_parts[2].iov_len = sizeof(xcb_out);
   4182     xcb_parts[3].iov_base = 0;
   4183     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4184     /* xcb_xkb_select_events_details_t details */
   4185     xcb_parts[4].iov_len =
   4186       xcb_xkb_select_events_details_serialize (&xcb_aux0, affectWhich, clear, selectAll, details);
   4187     xcb_parts[4].iov_base = xcb_aux0;
   4188 
   4189     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4190     free(xcb_aux0);
   4191     return xcb_ret;
   4192 }
   4193 
   4194 
   4195 /*****************************************************************************
   4196  **
   4197  ** xcb_void_cookie_t xcb_xkb_select_events_aux
   4198  **
   4199  ** @param xcb_connection_t                      *c
   4200  ** @param xcb_xkb_device_spec_t                  deviceSpec
   4201  ** @param uint16_t                               affectWhich
   4202  ** @param uint16_t                               clear
   4203  ** @param uint16_t                               selectAll
   4204  ** @param uint16_t                               affectMap
   4205  ** @param uint16_t                               map
   4206  ** @param const xcb_xkb_select_events_details_t *details
   4207  ** @returns xcb_void_cookie_t
   4208  **
   4209  *****************************************************************************/
   4210 
   4211 xcb_void_cookie_t
   4212 xcb_xkb_select_events_aux (xcb_connection_t                      *c  /**< */,
   4213                            xcb_xkb_device_spec_t                  deviceSpec  /**< */,
   4214                            uint16_t                               affectWhich  /**< */,
   4215                            uint16_t                               clear  /**< */,
   4216                            uint16_t                               selectAll  /**< */,
   4217                            uint16_t                               affectMap  /**< */,
   4218                            uint16_t                               map  /**< */,
   4219                            const xcb_xkb_select_events_details_t *details  /**< */)
   4220 {
   4221     static const xcb_protocol_request_t xcb_req = {
   4222         /* count */ 3,
   4223         /* ext */ &xcb_xkb_id,
   4224         /* opcode */ XCB_XKB_SELECT_EVENTS,
   4225         /* isvoid */ 1
   4226     };
   4227 
   4228     struct iovec xcb_parts[5];
   4229     xcb_void_cookie_t xcb_ret;
   4230     xcb_xkb_select_events_request_t xcb_out;
   4231     void *xcb_aux0 = 0;
   4232 
   4233     xcb_out.deviceSpec = deviceSpec;
   4234     xcb_out.affectWhich = affectWhich;
   4235     xcb_out.clear = clear;
   4236     xcb_out.selectAll = selectAll;
   4237     xcb_out.affectMap = affectMap;
   4238     xcb_out.map = map;
   4239 
   4240     xcb_parts[2].iov_base = (char *) &xcb_out;
   4241     xcb_parts[2].iov_len = sizeof(xcb_out);
   4242     xcb_parts[3].iov_base = 0;
   4243     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4244     /* xcb_xkb_select_events_details_t details */
   4245     xcb_parts[4].iov_len =
   4246       xcb_xkb_select_events_details_serialize (&xcb_aux0, affectWhich, clear, selectAll, details);
   4247     xcb_parts[4].iov_base = xcb_aux0;
   4248 
   4249     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4250     free(xcb_aux0);
   4251     return xcb_ret;
   4252 }
   4253 
   4254 
   4255 /*****************************************************************************
   4256  **
   4257  ** xcb_void_cookie_t xcb_xkb_bell_checked
   4258  **
   4259  ** @param xcb_connection_t          *c
   4260  ** @param xcb_xkb_device_spec_t      deviceSpec
   4261  ** @param xcb_xkb_bell_class_spec_t  bellClass
   4262  ** @param xcb_xkb_id_spec_t          bellID
   4263  ** @param int8_t                     percent
   4264  ** @param uint8_t                    forceSound
   4265  ** @param uint8_t                    eventOnly
   4266  ** @param int16_t                    pitch
   4267  ** @param int16_t                    duration
   4268  ** @param xcb_atom_t                 name
   4269  ** @param xcb_window_t               window
   4270  ** @returns xcb_void_cookie_t
   4271  **
   4272  *****************************************************************************/
   4273 
   4274 xcb_void_cookie_t
   4275 xcb_xkb_bell_checked (xcb_connection_t          *c  /**< */,
   4276                       xcb_xkb_device_spec_t      deviceSpec  /**< */,
   4277                       xcb_xkb_bell_class_spec_t  bellClass  /**< */,
   4278                       xcb_xkb_id_spec_t          bellID  /**< */,
   4279                       int8_t                     percent  /**< */,
   4280                       uint8_t                    forceSound  /**< */,
   4281                       uint8_t                    eventOnly  /**< */,
   4282                       int16_t                    pitch  /**< */,
   4283                       int16_t                    duration  /**< */,
   4284                       xcb_atom_t                 name  /**< */,
   4285                       xcb_window_t               window  /**< */)
   4286 {
   4287     static const xcb_protocol_request_t xcb_req = {
   4288         /* count */ 2,
   4289         /* ext */ &xcb_xkb_id,
   4290         /* opcode */ XCB_XKB_BELL,
   4291         /* isvoid */ 1
   4292     };
   4293 
   4294     struct iovec xcb_parts[4];
   4295     xcb_void_cookie_t xcb_ret;
   4296     xcb_xkb_bell_request_t xcb_out;
   4297 
   4298     xcb_out.deviceSpec = deviceSpec;
   4299     xcb_out.bellClass = bellClass;
   4300     xcb_out.bellID = bellID;
   4301     xcb_out.percent = percent;
   4302     xcb_out.forceSound = forceSound;
   4303     xcb_out.eventOnly = eventOnly;
   4304     xcb_out.pad0 = 0;
   4305     xcb_out.pitch = pitch;
   4306     xcb_out.duration = duration;
   4307     memset(xcb_out.pad1, 0, 2);
   4308     xcb_out.name = name;
   4309     xcb_out.window = window;
   4310 
   4311     xcb_parts[2].iov_base = (char *) &xcb_out;
   4312     xcb_parts[2].iov_len = sizeof(xcb_out);
   4313     xcb_parts[3].iov_base = 0;
   4314     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4315 
   4316     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4317     return xcb_ret;
   4318 }
   4319 
   4320 
   4321 /*****************************************************************************
   4322  **
   4323  ** xcb_void_cookie_t xcb_xkb_bell
   4324  **
   4325  ** @param xcb_connection_t          *c
   4326  ** @param xcb_xkb_device_spec_t      deviceSpec
   4327  ** @param xcb_xkb_bell_class_spec_t  bellClass
   4328  ** @param xcb_xkb_id_spec_t          bellID
   4329  ** @param int8_t                     percent
   4330  ** @param uint8_t                    forceSound
   4331  ** @param uint8_t                    eventOnly
   4332  ** @param int16_t                    pitch
   4333  ** @param int16_t                    duration
   4334  ** @param xcb_atom_t                 name
   4335  ** @param xcb_window_t               window
   4336  ** @returns xcb_void_cookie_t
   4337  **
   4338  *****************************************************************************/
   4339 
   4340 xcb_void_cookie_t
   4341 xcb_xkb_bell (xcb_connection_t          *c  /**< */,
   4342               xcb_xkb_device_spec_t      deviceSpec  /**< */,
   4343               xcb_xkb_bell_class_spec_t  bellClass  /**< */,
   4344               xcb_xkb_id_spec_t          bellID  /**< */,
   4345               int8_t                     percent  /**< */,
   4346               uint8_t                    forceSound  /**< */,
   4347               uint8_t                    eventOnly  /**< */,
   4348               int16_t                    pitch  /**< */,
   4349               int16_t                    duration  /**< */,
   4350               xcb_atom_t                 name  /**< */,
   4351               xcb_window_t               window  /**< */)
   4352 {
   4353     static const xcb_protocol_request_t xcb_req = {
   4354         /* count */ 2,
   4355         /* ext */ &xcb_xkb_id,
   4356         /* opcode */ XCB_XKB_BELL,
   4357         /* isvoid */ 1
   4358     };
   4359 
   4360     struct iovec xcb_parts[4];
   4361     xcb_void_cookie_t xcb_ret;
   4362     xcb_xkb_bell_request_t xcb_out;
   4363 
   4364     xcb_out.deviceSpec = deviceSpec;
   4365     xcb_out.bellClass = bellClass;
   4366     xcb_out.bellID = bellID;
   4367     xcb_out.percent = percent;
   4368     xcb_out.forceSound = forceSound;
   4369     xcb_out.eventOnly = eventOnly;
   4370     xcb_out.pad0 = 0;
   4371     xcb_out.pitch = pitch;
   4372     xcb_out.duration = duration;
   4373     memset(xcb_out.pad1, 0, 2);
   4374     xcb_out.name = name;
   4375     xcb_out.window = window;
   4376 
   4377     xcb_parts[2].iov_base = (char *) &xcb_out;
   4378     xcb_parts[2].iov_len = sizeof(xcb_out);
   4379     xcb_parts[3].iov_base = 0;
   4380     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4381 
   4382     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4383     return xcb_ret;
   4384 }
   4385 
   4386 
   4387 /*****************************************************************************
   4388  **
   4389  ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state
   4390  **
   4391  ** @param xcb_connection_t      *c
   4392  ** @param xcb_xkb_device_spec_t  deviceSpec
   4393  ** @returns xcb_xkb_get_state_cookie_t
   4394  **
   4395  *****************************************************************************/
   4396 
   4397 xcb_xkb_get_state_cookie_t
   4398 xcb_xkb_get_state (xcb_connection_t      *c  /**< */,
   4399                    xcb_xkb_device_spec_t  deviceSpec  /**< */)
   4400 {
   4401     static const xcb_protocol_request_t xcb_req = {
   4402         /* count */ 2,
   4403         /* ext */ &xcb_xkb_id,
   4404         /* opcode */ XCB_XKB_GET_STATE,
   4405         /* isvoid */ 0
   4406     };
   4407 
   4408     struct iovec xcb_parts[4];
   4409     xcb_xkb_get_state_cookie_t xcb_ret;
   4410     xcb_xkb_get_state_request_t xcb_out;
   4411 
   4412     xcb_out.deviceSpec = deviceSpec;
   4413     memset(xcb_out.pad0, 0, 2);
   4414 
   4415     xcb_parts[2].iov_base = (char *) &xcb_out;
   4416     xcb_parts[2].iov_len = sizeof(xcb_out);
   4417     xcb_parts[3].iov_base = 0;
   4418     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4419 
   4420     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4421     return xcb_ret;
   4422 }
   4423 
   4424 
   4425 /*****************************************************************************
   4426  **
   4427  ** xcb_xkb_get_state_cookie_t xcb_xkb_get_state_unchecked
   4428  **
   4429  ** @param xcb_connection_t      *c
   4430  ** @param xcb_xkb_device_spec_t  deviceSpec
   4431  ** @returns xcb_xkb_get_state_cookie_t
   4432  **
   4433  *****************************************************************************/
   4434 
   4435 xcb_xkb_get_state_cookie_t
   4436 xcb_xkb_get_state_unchecked (xcb_connection_t      *c  /**< */,
   4437                              xcb_xkb_device_spec_t  deviceSpec  /**< */)
   4438 {
   4439     static const xcb_protocol_request_t xcb_req = {
   4440         /* count */ 2,
   4441         /* ext */ &xcb_xkb_id,
   4442         /* opcode */ XCB_XKB_GET_STATE,
   4443         /* isvoid */ 0
   4444     };
   4445 
   4446     struct iovec xcb_parts[4];
   4447     xcb_xkb_get_state_cookie_t xcb_ret;
   4448     xcb_xkb_get_state_request_t xcb_out;
   4449 
   4450     xcb_out.deviceSpec = deviceSpec;
   4451     memset(xcb_out.pad0, 0, 2);
   4452 
   4453     xcb_parts[2].iov_base = (char *) &xcb_out;
   4454     xcb_parts[2].iov_len = sizeof(xcb_out);
   4455     xcb_parts[3].iov_base = 0;
   4456     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4457 
   4458     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4459     return xcb_ret;
   4460 }
   4461 
   4462 
   4463 /*****************************************************************************
   4464  **
   4465  ** xcb_xkb_get_state_reply_t * xcb_xkb_get_state_reply
   4466  **
   4467  ** @param xcb_connection_t            *c
   4468  ** @param xcb_xkb_get_state_cookie_t   cookie
   4469  ** @param xcb_generic_error_t        **e
   4470  ** @returns xcb_xkb_get_state_reply_t *
   4471  **
   4472  *****************************************************************************/
   4473 
   4474 xcb_xkb_get_state_reply_t *
   4475 xcb_xkb_get_state_reply (xcb_connection_t            *c  /**< */,
   4476                          xcb_xkb_get_state_cookie_t   cookie  /**< */,
   4477                          xcb_generic_error_t        **e  /**< */)
   4478 {
   4479     return (xcb_xkb_get_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   4480 }
   4481 
   4482 
   4483 /*****************************************************************************
   4484  **
   4485  ** xcb_void_cookie_t xcb_xkb_latch_lock_state_checked
   4486  **
   4487  ** @param xcb_connection_t      *c
   4488  ** @param xcb_xkb_device_spec_t  deviceSpec
   4489  ** @param uint8_t                affectModLocks
   4490  ** @param uint8_t                modLocks
   4491  ** @param uint8_t                lockGroup
   4492  ** @param uint8_t                groupLock
   4493  ** @param uint8_t                affectModLatches
   4494  ** @param uint8_t                latchGroup
   4495  ** @param uint16_t               groupLatch
   4496  ** @returns xcb_void_cookie_t
   4497  **
   4498  *****************************************************************************/
   4499 
   4500 xcb_void_cookie_t
   4501 xcb_xkb_latch_lock_state_checked (xcb_connection_t      *c  /**< */,
   4502                                   xcb_xkb_device_spec_t  deviceSpec  /**< */,
   4503                                   uint8_t                affectModLocks  /**< */,
   4504                                   uint8_t                modLocks  /**< */,
   4505                                   uint8_t                lockGroup  /**< */,
   4506                                   uint8_t                groupLock  /**< */,
   4507                                   uint8_t                affectModLatches  /**< */,
   4508                                   uint8_t                latchGroup  /**< */,
   4509                                   uint16_t               groupLatch  /**< */)
   4510 {
   4511     static const xcb_protocol_request_t xcb_req = {
   4512         /* count */ 2,
   4513         /* ext */ &xcb_xkb_id,
   4514         /* opcode */ XCB_XKB_LATCH_LOCK_STATE,
   4515         /* isvoid */ 1
   4516     };
   4517 
   4518     struct iovec xcb_parts[4];
   4519     xcb_void_cookie_t xcb_ret;
   4520     xcb_xkb_latch_lock_state_request_t xcb_out;
   4521 
   4522     xcb_out.deviceSpec = deviceSpec;
   4523     xcb_out.affectModLocks = affectModLocks;
   4524     xcb_out.modLocks = modLocks;
   4525     xcb_out.lockGroup = lockGroup;
   4526     xcb_out.groupLock = groupLock;
   4527     xcb_out.affectModLatches = affectModLatches;
   4528     xcb_out.pad0 = 0;
   4529     xcb_out.latchGroup = latchGroup;
   4530     xcb_out.groupLatch = groupLatch;
   4531 
   4532     xcb_parts[2].iov_base = (char *) &xcb_out;
   4533     xcb_parts[2].iov_len = sizeof(xcb_out);
   4534     xcb_parts[3].iov_base = 0;
   4535     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4536 
   4537     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4538     return xcb_ret;
   4539 }
   4540 
   4541 
   4542 /*****************************************************************************
   4543  **
   4544  ** xcb_void_cookie_t xcb_xkb_latch_lock_state
   4545  **
   4546  ** @param xcb_connection_t      *c
   4547  ** @param xcb_xkb_device_spec_t  deviceSpec
   4548  ** @param uint8_t                affectModLocks
   4549  ** @param uint8_t                modLocks
   4550  ** @param uint8_t                lockGroup
   4551  ** @param uint8_t                groupLock
   4552  ** @param uint8_t                affectModLatches
   4553  ** @param uint8_t                latchGroup
   4554  ** @param uint16_t               groupLatch
   4555  ** @returns xcb_void_cookie_t
   4556  **
   4557  *****************************************************************************/
   4558 
   4559 xcb_void_cookie_t
   4560 xcb_xkb_latch_lock_state (xcb_connection_t      *c  /**< */,
   4561                           xcb_xkb_device_spec_t  deviceSpec  /**< */,
   4562                           uint8_t                affectModLocks  /**< */,
   4563                           uint8_t                modLocks  /**< */,
   4564                           uint8_t                lockGroup  /**< */,
   4565                           uint8_t                groupLock  /**< */,
   4566                           uint8_t                affectModLatches  /**< */,
   4567                           uint8_t                latchGroup  /**< */,
   4568                           uint16_t               groupLatch  /**< */)
   4569 {
   4570     static const xcb_protocol_request_t xcb_req = {
   4571         /* count */ 2,
   4572         /* ext */ &xcb_xkb_id,
   4573         /* opcode */ XCB_XKB_LATCH_LOCK_STATE,
   4574         /* isvoid */ 1
   4575     };
   4576 
   4577     struct iovec xcb_parts[4];
   4578     xcb_void_cookie_t xcb_ret;
   4579     xcb_xkb_latch_lock_state_request_t xcb_out;
   4580 
   4581     xcb_out.deviceSpec = deviceSpec;
   4582     xcb_out.affectModLocks = affectModLocks;
   4583     xcb_out.modLocks = modLocks;
   4584     xcb_out.lockGroup = lockGroup;
   4585     xcb_out.groupLock = groupLock;
   4586     xcb_out.affectModLatches = affectModLatches;
   4587     xcb_out.pad0 = 0;
   4588     xcb_out.latchGroup = latchGroup;
   4589     xcb_out.groupLatch = groupLatch;
   4590 
   4591     xcb_parts[2].iov_base = (char *) &xcb_out;
   4592     xcb_parts[2].iov_len = sizeof(xcb_out);
   4593     xcb_parts[3].iov_base = 0;
   4594     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4595 
   4596     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4597     return xcb_ret;
   4598 }
   4599 
   4600 
   4601 /*****************************************************************************
   4602  **
   4603  ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls
   4604  **
   4605  ** @param xcb_connection_t      *c
   4606  ** @param xcb_xkb_device_spec_t  deviceSpec
   4607  ** @returns xcb_xkb_get_controls_cookie_t
   4608  **
   4609  *****************************************************************************/
   4610 
   4611 xcb_xkb_get_controls_cookie_t
   4612 xcb_xkb_get_controls (xcb_connection_t      *c  /**< */,
   4613                       xcb_xkb_device_spec_t  deviceSpec  /**< */)
   4614 {
   4615     static const xcb_protocol_request_t xcb_req = {
   4616         /* count */ 2,
   4617         /* ext */ &xcb_xkb_id,
   4618         /* opcode */ XCB_XKB_GET_CONTROLS,
   4619         /* isvoid */ 0
   4620     };
   4621 
   4622     struct iovec xcb_parts[4];
   4623     xcb_xkb_get_controls_cookie_t xcb_ret;
   4624     xcb_xkb_get_controls_request_t xcb_out;
   4625 
   4626     xcb_out.deviceSpec = deviceSpec;
   4627     memset(xcb_out.pad0, 0, 2);
   4628 
   4629     xcb_parts[2].iov_base = (char *) &xcb_out;
   4630     xcb_parts[2].iov_len = sizeof(xcb_out);
   4631     xcb_parts[3].iov_base = 0;
   4632     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4633 
   4634     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4635     return xcb_ret;
   4636 }
   4637 
   4638 
   4639 /*****************************************************************************
   4640  **
   4641  ** xcb_xkb_get_controls_cookie_t xcb_xkb_get_controls_unchecked
   4642  **
   4643  ** @param xcb_connection_t      *c
   4644  ** @param xcb_xkb_device_spec_t  deviceSpec
   4645  ** @returns xcb_xkb_get_controls_cookie_t
   4646  **
   4647  *****************************************************************************/
   4648 
   4649 xcb_xkb_get_controls_cookie_t
   4650 xcb_xkb_get_controls_unchecked (xcb_connection_t      *c  /**< */,
   4651                                 xcb_xkb_device_spec_t  deviceSpec  /**< */)
   4652 {
   4653     static const xcb_protocol_request_t xcb_req = {
   4654         /* count */ 2,
   4655         /* ext */ &xcb_xkb_id,
   4656         /* opcode */ XCB_XKB_GET_CONTROLS,
   4657         /* isvoid */ 0
   4658     };
   4659 
   4660     struct iovec xcb_parts[4];
   4661     xcb_xkb_get_controls_cookie_t xcb_ret;
   4662     xcb_xkb_get_controls_request_t xcb_out;
   4663 
   4664     xcb_out.deviceSpec = deviceSpec;
   4665     memset(xcb_out.pad0, 0, 2);
   4666 
   4667     xcb_parts[2].iov_base = (char *) &xcb_out;
   4668     xcb_parts[2].iov_len = sizeof(xcb_out);
   4669     xcb_parts[3].iov_base = 0;
   4670     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4671 
   4672     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4673     return xcb_ret;
   4674 }
   4675 
   4676 
   4677 /*****************************************************************************
   4678  **
   4679  ** xcb_xkb_get_controls_reply_t * xcb_xkb_get_controls_reply
   4680  **
   4681  ** @param xcb_connection_t               *c
   4682  ** @param xcb_xkb_get_controls_cookie_t   cookie
   4683  ** @param xcb_generic_error_t           **e
   4684  ** @returns xcb_xkb_get_controls_reply_t *
   4685  **
   4686  *****************************************************************************/
   4687 
   4688 xcb_xkb_get_controls_reply_t *
   4689 xcb_xkb_get_controls_reply (xcb_connection_t               *c  /**< */,
   4690                             xcb_xkb_get_controls_cookie_t   cookie  /**< */,
   4691                             xcb_generic_error_t           **e  /**< */)
   4692 {
   4693     return (xcb_xkb_get_controls_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   4694 }
   4695 
   4696 
   4697 /*****************************************************************************
   4698  **
   4699  ** xcb_void_cookie_t xcb_xkb_set_controls_checked
   4700  **
   4701  ** @param xcb_connection_t      *c
   4702  ** @param xcb_xkb_device_spec_t  deviceSpec
   4703  ** @param uint8_t                affectInternalRealMods
   4704  ** @param uint8_t                internalRealMods
   4705  ** @param uint8_t                affectIgnoreLockRealMods
   4706  ** @param uint8_t                ignoreLockRealMods
   4707  ** @param uint16_t               affectInternalVirtualMods
   4708  ** @param uint16_t               internalVirtualMods
   4709  ** @param uint16_t               affectIgnoreLockVirtualMods
   4710  ** @param uint16_t               ignoreLockVirtualMods
   4711  ** @param uint8_t                mouseKeysDfltBtn
   4712  ** @param uint8_t                groupsWrap
   4713  ** @param uint16_t               accessXOptions
   4714  ** @param uint32_t               affectEnabledControls
   4715  ** @param uint32_t               enabledControls
   4716  ** @param uint32_t               changeControls
   4717  ** @param uint16_t               repeatDelay
   4718  ** @param uint16_t               repeatInterval
   4719  ** @param uint16_t               slowKeysDelay
   4720  ** @param uint16_t               debounceDelay
   4721  ** @param uint16_t               mouseKeysDelay
   4722  ** @param uint16_t               mouseKeysInterval
   4723  ** @param uint16_t               mouseKeysTimeToMax
   4724  ** @param uint16_t               mouseKeysMaxSpeed
   4725  ** @param int16_t                mouseKeysCurve
   4726  ** @param uint16_t               accessXTimeout
   4727  ** @param uint32_t               accessXTimeoutMask
   4728  ** @param uint32_t               accessXTimeoutValues
   4729  ** @param uint16_t               accessXTimeoutOptionsMask
   4730  ** @param uint16_t               accessXTimeoutOptionsValues
   4731  ** @param const uint8_t         *perKeyRepeat
   4732  ** @returns xcb_void_cookie_t
   4733  **
   4734  *****************************************************************************/
   4735 
   4736 xcb_void_cookie_t
   4737 xcb_xkb_set_controls_checked (xcb_connection_t      *c  /**< */,
   4738                               xcb_xkb_device_spec_t  deviceSpec  /**< */,
   4739                               uint8_t                affectInternalRealMods  /**< */,
   4740                               uint8_t                internalRealMods  /**< */,
   4741                               uint8_t                affectIgnoreLockRealMods  /**< */,
   4742                               uint8_t                ignoreLockRealMods  /**< */,
   4743                               uint16_t               affectInternalVirtualMods  /**< */,
   4744                               uint16_t               internalVirtualMods  /**< */,
   4745                               uint16_t               affectIgnoreLockVirtualMods  /**< */,
   4746                               uint16_t               ignoreLockVirtualMods  /**< */,
   4747                               uint8_t                mouseKeysDfltBtn  /**< */,
   4748                               uint8_t                groupsWrap  /**< */,
   4749                               uint16_t               accessXOptions  /**< */,
   4750                               uint32_t               affectEnabledControls  /**< */,
   4751                               uint32_t               enabledControls  /**< */,
   4752                               uint32_t               changeControls  /**< */,
   4753                               uint16_t               repeatDelay  /**< */,
   4754                               uint16_t               repeatInterval  /**< */,
   4755                               uint16_t               slowKeysDelay  /**< */,
   4756                               uint16_t               debounceDelay  /**< */,
   4757                               uint16_t               mouseKeysDelay  /**< */,
   4758                               uint16_t               mouseKeysInterval  /**< */,
   4759                               uint16_t               mouseKeysTimeToMax  /**< */,
   4760                               uint16_t               mouseKeysMaxSpeed  /**< */,
   4761                               int16_t                mouseKeysCurve  /**< */,
   4762                               uint16_t               accessXTimeout  /**< */,
   4763                               uint32_t               accessXTimeoutMask  /**< */,
   4764                               uint32_t               accessXTimeoutValues  /**< */,
   4765                               uint16_t               accessXTimeoutOptionsMask  /**< */,
   4766                               uint16_t               accessXTimeoutOptionsValues  /**< */,
   4767                               const uint8_t         *perKeyRepeat  /**< */)
   4768 {
   4769     static const xcb_protocol_request_t xcb_req = {
   4770         /* count */ 2,
   4771         /* ext */ &xcb_xkb_id,
   4772         /* opcode */ XCB_XKB_SET_CONTROLS,
   4773         /* isvoid */ 1
   4774     };
   4775 
   4776     struct iovec xcb_parts[4];
   4777     xcb_void_cookie_t xcb_ret;
   4778     xcb_xkb_set_controls_request_t xcb_out;
   4779 
   4780     xcb_out.deviceSpec = deviceSpec;
   4781     xcb_out.affectInternalRealMods = affectInternalRealMods;
   4782     xcb_out.internalRealMods = internalRealMods;
   4783     xcb_out.affectIgnoreLockRealMods = affectIgnoreLockRealMods;
   4784     xcb_out.ignoreLockRealMods = ignoreLockRealMods;
   4785     xcb_out.affectInternalVirtualMods = affectInternalVirtualMods;
   4786     xcb_out.internalVirtualMods = internalVirtualMods;
   4787     xcb_out.affectIgnoreLockVirtualMods = affectIgnoreLockVirtualMods;
   4788     xcb_out.ignoreLockVirtualMods = ignoreLockVirtualMods;
   4789     xcb_out.mouseKeysDfltBtn = mouseKeysDfltBtn;
   4790     xcb_out.groupsWrap = groupsWrap;
   4791     xcb_out.accessXOptions = accessXOptions;
   4792     memset(xcb_out.pad0, 0, 2);
   4793     xcb_out.affectEnabledControls = affectEnabledControls;
   4794     xcb_out.enabledControls = enabledControls;
   4795     xcb_out.changeControls = changeControls;
   4796     xcb_out.repeatDelay = repeatDelay;
   4797     xcb_out.repeatInterval = repeatInterval;
   4798     xcb_out.slowKeysDelay = slowKeysDelay;
   4799     xcb_out.debounceDelay = debounceDelay;
   4800     xcb_out.mouseKeysDelay = mouseKeysDelay;
   4801     xcb_out.mouseKeysInterval = mouseKeysInterval;
   4802     xcb_out.mouseKeysTimeToMax = mouseKeysTimeToMax;
   4803     xcb_out.mouseKeysMaxSpeed = mouseKeysMaxSpeed;
   4804     xcb_out.mouseKeysCurve = mouseKeysCurve;
   4805     xcb_out.accessXTimeout = accessXTimeout;
   4806     xcb_out.accessXTimeoutMask = accessXTimeoutMask;
   4807     xcb_out.accessXTimeoutValues = accessXTimeoutValues;
   4808     xcb_out.accessXTimeoutOptionsMask = accessXTimeoutOptionsMask;
   4809     xcb_out.accessXTimeoutOptionsValues = accessXTimeoutOptionsValues;
   4810     memcpy(xcb_out.perKeyRepeat, perKeyRepeat, 32);
   4811 
   4812     xcb_parts[2].iov_base = (char *) &xcb_out;
   4813     xcb_parts[2].iov_len = sizeof(xcb_out);
   4814     xcb_parts[3].iov_base = 0;
   4815     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4816 
   4817     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   4818     return xcb_ret;
   4819 }
   4820 
   4821 
   4822 /*****************************************************************************
   4823  **
   4824  ** xcb_void_cookie_t xcb_xkb_set_controls
   4825  **
   4826  ** @param xcb_connection_t      *c
   4827  ** @param xcb_xkb_device_spec_t  deviceSpec
   4828  ** @param uint8_t                affectInternalRealMods
   4829  ** @param uint8_t                internalRealMods
   4830  ** @param uint8_t                affectIgnoreLockRealMods
   4831  ** @param uint8_t                ignoreLockRealMods
   4832  ** @param uint16_t               affectInternalVirtualMods
   4833  ** @param uint16_t               internalVirtualMods
   4834  ** @param uint16_t               affectIgnoreLockVirtualMods
   4835  ** @param uint16_t               ignoreLockVirtualMods
   4836  ** @param uint8_t                mouseKeysDfltBtn
   4837  ** @param uint8_t                groupsWrap
   4838  ** @param uint16_t               accessXOptions
   4839  ** @param uint32_t               affectEnabledControls
   4840  ** @param uint32_t               enabledControls
   4841  ** @param uint32_t               changeControls
   4842  ** @param uint16_t               repeatDelay
   4843  ** @param uint16_t               repeatInterval
   4844  ** @param uint16_t               slowKeysDelay
   4845  ** @param uint16_t               debounceDelay
   4846  ** @param uint16_t               mouseKeysDelay
   4847  ** @param uint16_t               mouseKeysInterval
   4848  ** @param uint16_t               mouseKeysTimeToMax
   4849  ** @param uint16_t               mouseKeysMaxSpeed
   4850  ** @param int16_t                mouseKeysCurve
   4851  ** @param uint16_t               accessXTimeout
   4852  ** @param uint32_t               accessXTimeoutMask
   4853  ** @param uint32_t               accessXTimeoutValues
   4854  ** @param uint16_t               accessXTimeoutOptionsMask
   4855  ** @param uint16_t               accessXTimeoutOptionsValues
   4856  ** @param const uint8_t         *perKeyRepeat
   4857  ** @returns xcb_void_cookie_t
   4858  **
   4859  *****************************************************************************/
   4860 
   4861 xcb_void_cookie_t
   4862 xcb_xkb_set_controls (xcb_connection_t      *c  /**< */,
   4863                       xcb_xkb_device_spec_t  deviceSpec  /**< */,
   4864                       uint8_t                affectInternalRealMods  /**< */,
   4865                       uint8_t                internalRealMods  /**< */,
   4866                       uint8_t                affectIgnoreLockRealMods  /**< */,
   4867                       uint8_t                ignoreLockRealMods  /**< */,
   4868                       uint16_t               affectInternalVirtualMods  /**< */,
   4869                       uint16_t               internalVirtualMods  /**< */,
   4870                       uint16_t               affectIgnoreLockVirtualMods  /**< */,
   4871                       uint16_t               ignoreLockVirtualMods  /**< */,
   4872                       uint8_t                mouseKeysDfltBtn  /**< */,
   4873                       uint8_t                groupsWrap  /**< */,
   4874                       uint16_t               accessXOptions  /**< */,
   4875                       uint32_t               affectEnabledControls  /**< */,
   4876                       uint32_t               enabledControls  /**< */,
   4877                       uint32_t               changeControls  /**< */,
   4878                       uint16_t               repeatDelay  /**< */,
   4879                       uint16_t               repeatInterval  /**< */,
   4880                       uint16_t               slowKeysDelay  /**< */,
   4881                       uint16_t               debounceDelay  /**< */,
   4882                       uint16_t               mouseKeysDelay  /**< */,
   4883                       uint16_t               mouseKeysInterval  /**< */,
   4884                       uint16_t               mouseKeysTimeToMax  /**< */,
   4885                       uint16_t               mouseKeysMaxSpeed  /**< */,
   4886                       int16_t                mouseKeysCurve  /**< */,
   4887                       uint16_t               accessXTimeout  /**< */,
   4888                       uint32_t               accessXTimeoutMask  /**< */,
   4889                       uint32_t               accessXTimeoutValues  /**< */,
   4890                       uint16_t               accessXTimeoutOptionsMask  /**< */,
   4891                       uint16_t               accessXTimeoutOptionsValues  /**< */,
   4892                       const uint8_t         *perKeyRepeat  /**< */)
   4893 {
   4894     static const xcb_protocol_request_t xcb_req = {
   4895         /* count */ 2,
   4896         /* ext */ &xcb_xkb_id,
   4897         /* opcode */ XCB_XKB_SET_CONTROLS,
   4898         /* isvoid */ 1
   4899     };
   4900 
   4901     struct iovec xcb_parts[4];
   4902     xcb_void_cookie_t xcb_ret;
   4903     xcb_xkb_set_controls_request_t xcb_out;
   4904 
   4905     xcb_out.deviceSpec = deviceSpec;
   4906     xcb_out.affectInternalRealMods = affectInternalRealMods;
   4907     xcb_out.internalRealMods = internalRealMods;
   4908     xcb_out.affectIgnoreLockRealMods = affectIgnoreLockRealMods;
   4909     xcb_out.ignoreLockRealMods = ignoreLockRealMods;
   4910     xcb_out.affectInternalVirtualMods = affectInternalVirtualMods;
   4911     xcb_out.internalVirtualMods = internalVirtualMods;
   4912     xcb_out.affectIgnoreLockVirtualMods = affectIgnoreLockVirtualMods;
   4913     xcb_out.ignoreLockVirtualMods = ignoreLockVirtualMods;
   4914     xcb_out.mouseKeysDfltBtn = mouseKeysDfltBtn;
   4915     xcb_out.groupsWrap = groupsWrap;
   4916     xcb_out.accessXOptions = accessXOptions;
   4917     memset(xcb_out.pad0, 0, 2);
   4918     xcb_out.affectEnabledControls = affectEnabledControls;
   4919     xcb_out.enabledControls = enabledControls;
   4920     xcb_out.changeControls = changeControls;
   4921     xcb_out.repeatDelay = repeatDelay;
   4922     xcb_out.repeatInterval = repeatInterval;
   4923     xcb_out.slowKeysDelay = slowKeysDelay;
   4924     xcb_out.debounceDelay = debounceDelay;
   4925     xcb_out.mouseKeysDelay = mouseKeysDelay;
   4926     xcb_out.mouseKeysInterval = mouseKeysInterval;
   4927     xcb_out.mouseKeysTimeToMax = mouseKeysTimeToMax;
   4928     xcb_out.mouseKeysMaxSpeed = mouseKeysMaxSpeed;
   4929     xcb_out.mouseKeysCurve = mouseKeysCurve;
   4930     xcb_out.accessXTimeout = accessXTimeout;
   4931     xcb_out.accessXTimeoutMask = accessXTimeoutMask;
   4932     xcb_out.accessXTimeoutValues = accessXTimeoutValues;
   4933     xcb_out.accessXTimeoutOptionsMask = accessXTimeoutOptionsMask;
   4934     xcb_out.accessXTimeoutOptionsValues = accessXTimeoutOptionsValues;
   4935     memcpy(xcb_out.perKeyRepeat, perKeyRepeat, 32);
   4936 
   4937     xcb_parts[2].iov_base = (char *) &xcb_out;
   4938     xcb_parts[2].iov_len = sizeof(xcb_out);
   4939     xcb_parts[3].iov_base = 0;
   4940     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   4941 
   4942     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   4943     return xcb_ret;
   4944 }
   4945 
   4946 
   4947 /*****************************************************************************
   4948  **
   4949  ** int xcb_xkb_get_map_map_types_rtrn_length
   4950  **
   4951  ** @param const xcb_xkb_get_map_map_t *R
   4952  ** @returns int
   4953  **
   4954  *****************************************************************************/
   4955 
   4956 int
   4957 xcb_xkb_get_map_map_types_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   4958                                        const xcb_xkb_get_map_map_t *S  /**< */)
   4959 {
   4960     return R->nTypes;
   4961 }
   4962 
   4963 
   4964 /*****************************************************************************
   4965  **
   4966  ** xcb_xkb_key_type_iterator_t xcb_xkb_get_map_map_types_rtrn_iterator
   4967  **
   4968  ** @param const xcb_xkb_get_map_map_t *R
   4969  ** @returns xcb_xkb_key_type_iterator_t
   4970  **
   4971  *****************************************************************************/
   4972 
   4973 xcb_xkb_key_type_iterator_t
   4974 xcb_xkb_get_map_map_types_rtrn_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   4975                                          const xcb_xkb_get_map_map_t *S  /**< */)
   4976 {
   4977     xcb_xkb_key_type_iterator_t i;
   4978     i.data = /* map */ S->types_rtrn;
   4979     i.rem = R->nTypes;
   4980     i.index = (char *) i.data - (char *) S;
   4981     return i;
   4982 }
   4983 
   4984 
   4985 /*****************************************************************************
   4986  **
   4987  ** int xcb_xkb_get_map_map_syms_rtrn_length
   4988  **
   4989  ** @param const xcb_xkb_get_map_map_t *R
   4990  ** @returns int
   4991  **
   4992  *****************************************************************************/
   4993 
   4994 int
   4995 xcb_xkb_get_map_map_syms_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   4996                                       const xcb_xkb_get_map_map_t *S  /**< */)
   4997 {
   4998     return R->nKeySyms;
   4999 }
   5000 
   5001 
   5002 /*****************************************************************************
   5003  **
   5004  ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_map_map_syms_rtrn_iterator
   5005  **
   5006  ** @param const xcb_xkb_get_map_map_t *R
   5007  ** @returns xcb_xkb_key_sym_map_iterator_t
   5008  **
   5009  *****************************************************************************/
   5010 
   5011 xcb_xkb_key_sym_map_iterator_t
   5012 xcb_xkb_get_map_map_syms_rtrn_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   5013                                         const xcb_xkb_get_map_map_t *S  /**< */)
   5014 {
   5015     xcb_xkb_key_sym_map_iterator_t i;
   5016     i.data = /* map */ S->syms_rtrn;
   5017     i.rem = R->nKeySyms;
   5018     i.index = (char *) i.data - (char *) S;
   5019     return i;
   5020 }
   5021 
   5022 
   5023 /*****************************************************************************
   5024  **
   5025  ** uint8_t * xcb_xkb_get_map_map_acts_rtrn_count
   5026  **
   5027  ** @param const xcb_xkb_get_map_map_t *S
   5028  ** @returns uint8_t *
   5029  **
   5030  *****************************************************************************/
   5031 
   5032 uint8_t *
   5033 xcb_xkb_get_map_map_acts_rtrn_count (const xcb_xkb_get_map_map_t *S  /**< */)
   5034 {
   5035     return /* map */ S->acts_rtrn_count;
   5036 }
   5037 
   5038 
   5039 /*****************************************************************************
   5040  **
   5041  ** int xcb_xkb_get_map_map_acts_rtrn_count_length
   5042  **
   5043  ** @param const xcb_xkb_get_map_map_t *R
   5044  ** @returns int
   5045  **
   5046  *****************************************************************************/
   5047 
   5048 int
   5049 xcb_xkb_get_map_map_acts_rtrn_count_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5050                                             const xcb_xkb_get_map_map_t *S  /**< */)
   5051 {
   5052     return R->nKeyActions;
   5053 }
   5054 
   5055 
   5056 /*****************************************************************************
   5057  **
   5058  ** xcb_generic_iterator_t xcb_xkb_get_map_map_acts_rtrn_count_end
   5059  **
   5060  ** @param const xcb_xkb_get_map_map_t *R
   5061  ** @returns xcb_generic_iterator_t
   5062  **
   5063  *****************************************************************************/
   5064 
   5065 xcb_generic_iterator_t
   5066 xcb_xkb_get_map_map_acts_rtrn_count_end (const xcb_xkb_get_map_reply_t *R  /**< */,
   5067                                          const xcb_xkb_get_map_map_t *S  /**< */)
   5068 {
   5069     xcb_generic_iterator_t i;
   5070     i.data = /* map */ S->acts_rtrn_count + R->nKeyActions;
   5071     i.rem = 0;
   5072     i.index = (char *) i.data - (char *) S;
   5073     return i;
   5074 }
   5075 
   5076 
   5077 /*****************************************************************************
   5078  **
   5079  ** uint8_t * xcb_xkb_get_map_map_alignment_pad
   5080  **
   5081  ** @param const xcb_xkb_get_map_map_t *S
   5082  ** @returns uint8_t *
   5083  **
   5084  *****************************************************************************/
   5085 
   5086 uint8_t *
   5087 xcb_xkb_get_map_map_alignment_pad (const xcb_xkb_get_map_map_t *S  /**< */)
   5088 {
   5089     return /* map */ S->alignment_pad;
   5090 }
   5091 
   5092 
   5093 /*****************************************************************************
   5094  **
   5095  ** int xcb_xkb_get_map_map_alignment_pad_length
   5096  **
   5097  ** @param const xcb_xkb_get_map_map_t *R
   5098  ** @returns int
   5099  **
   5100  *****************************************************************************/
   5101 
   5102 int
   5103 xcb_xkb_get_map_map_alignment_pad_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5104                                           const xcb_xkb_get_map_map_t *S  /**< */)
   5105 {
   5106     return (((R->nKeyActions + 3) & (~3)) - R->nKeyActions);
   5107 }
   5108 
   5109 
   5110 /*****************************************************************************
   5111  **
   5112  ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_end
   5113  **
   5114  ** @param const xcb_xkb_get_map_map_t *R
   5115  ** @returns xcb_generic_iterator_t
   5116  **
   5117  *****************************************************************************/
   5118 
   5119 xcb_generic_iterator_t
   5120 xcb_xkb_get_map_map_alignment_pad_end (const xcb_xkb_get_map_reply_t *R  /**< */,
   5121                                        const xcb_xkb_get_map_map_t *S  /**< */)
   5122 {
   5123     xcb_generic_iterator_t i;
   5124     i.data = /* map */ S->alignment_pad + (((R->nKeyActions + 3) & (~3)) - R->nKeyActions);
   5125     i.rem = 0;
   5126     i.index = (char *) i.data - (char *) S;
   5127     return i;
   5128 }
   5129 
   5130 
   5131 /*****************************************************************************
   5132  **
   5133  ** xcb_xkb_action_t * xcb_xkb_get_map_map_acts_rtrn_acts
   5134  **
   5135  ** @param const xcb_xkb_get_map_map_t *S
   5136  ** @returns xcb_xkb_action_t *
   5137  **
   5138  *****************************************************************************/
   5139 
   5140 xcb_xkb_action_t *
   5141 xcb_xkb_get_map_map_acts_rtrn_acts (const xcb_xkb_get_map_map_t *S  /**< */)
   5142 {
   5143     return /* map */ S->acts_rtrn_acts;
   5144 }
   5145 
   5146 
   5147 /*****************************************************************************
   5148  **
   5149  ** int xcb_xkb_get_map_map_acts_rtrn_acts_length
   5150  **
   5151  ** @param const xcb_xkb_get_map_map_t *R
   5152  ** @returns int
   5153  **
   5154  *****************************************************************************/
   5155 
   5156 int
   5157 xcb_xkb_get_map_map_acts_rtrn_acts_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5158                                            const xcb_xkb_get_map_map_t *S  /**< */)
   5159 {
   5160     return R->totalActions;
   5161 }
   5162 
   5163 
   5164 /*****************************************************************************
   5165  **
   5166  ** xcb_xkb_action_iterator_t xcb_xkb_get_map_map_acts_rtrn_acts_iterator
   5167  **
   5168  ** @param const xcb_xkb_get_map_map_t *R
   5169  ** @returns xcb_xkb_action_iterator_t
   5170  **
   5171  *****************************************************************************/
   5172 
   5173 xcb_xkb_action_iterator_t
   5174 xcb_xkb_get_map_map_acts_rtrn_acts_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   5175                                              const xcb_xkb_get_map_map_t *S  /**< */)
   5176 {
   5177     xcb_xkb_action_iterator_t i;
   5178     i.data = /* map */ S->acts_rtrn_acts;
   5179     i.rem = R->totalActions;
   5180     i.index = (char *) i.data - (char *) S;
   5181     return i;
   5182 }
   5183 
   5184 
   5185 /*****************************************************************************
   5186  **
   5187  ** xcb_xkb_set_behavior_t * xcb_xkb_get_map_map_behaviors_rtrn
   5188  **
   5189  ** @param const xcb_xkb_get_map_map_t *S
   5190  ** @returns xcb_xkb_set_behavior_t *
   5191  **
   5192  *****************************************************************************/
   5193 
   5194 xcb_xkb_set_behavior_t *
   5195 xcb_xkb_get_map_map_behaviors_rtrn (const xcb_xkb_get_map_map_t *S  /**< */)
   5196 {
   5197     return /* map */ S->behaviors_rtrn;
   5198 }
   5199 
   5200 
   5201 /*****************************************************************************
   5202  **
   5203  ** int xcb_xkb_get_map_map_behaviors_rtrn_length
   5204  **
   5205  ** @param const xcb_xkb_get_map_map_t *R
   5206  ** @returns int
   5207  **
   5208  *****************************************************************************/
   5209 
   5210 int
   5211 xcb_xkb_get_map_map_behaviors_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5212                                            const xcb_xkb_get_map_map_t *S  /**< */)
   5213 {
   5214     return R->totalKeyBehaviors;
   5215 }
   5216 
   5217 
   5218 /*****************************************************************************
   5219  **
   5220  ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_map_map_behaviors_rtrn_iterator
   5221  **
   5222  ** @param const xcb_xkb_get_map_map_t *R
   5223  ** @returns xcb_xkb_set_behavior_iterator_t
   5224  **
   5225  *****************************************************************************/
   5226 
   5227 xcb_xkb_set_behavior_iterator_t
   5228 xcb_xkb_get_map_map_behaviors_rtrn_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   5229                                              const xcb_xkb_get_map_map_t *S  /**< */)
   5230 {
   5231     xcb_xkb_set_behavior_iterator_t i;
   5232     i.data = /* map */ S->behaviors_rtrn;
   5233     i.rem = R->totalKeyBehaviors;
   5234     i.index = (char *) i.data - (char *) S;
   5235     return i;
   5236 }
   5237 
   5238 
   5239 /*****************************************************************************
   5240  **
   5241  ** uint8_t * xcb_xkb_get_map_map_vmods_rtrn
   5242  **
   5243  ** @param const xcb_xkb_get_map_map_t *S
   5244  ** @returns uint8_t *
   5245  **
   5246  *****************************************************************************/
   5247 
   5248 uint8_t *
   5249 xcb_xkb_get_map_map_vmods_rtrn (const xcb_xkb_get_map_map_t *S  /**< */)
   5250 {
   5251     return /* map */ S->vmods_rtrn;
   5252 }
   5253 
   5254 
   5255 /*****************************************************************************
   5256  **
   5257  ** int xcb_xkb_get_map_map_vmods_rtrn_length
   5258  **
   5259  ** @param const xcb_xkb_get_map_map_t *R
   5260  ** @returns int
   5261  **
   5262  *****************************************************************************/
   5263 
   5264 int
   5265 xcb_xkb_get_map_map_vmods_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5266                                        const xcb_xkb_get_map_map_t *S  /**< */)
   5267 {
   5268     return xcb_popcount(R->virtualMods);
   5269 }
   5270 
   5271 
   5272 /*****************************************************************************
   5273  **
   5274  ** xcb_generic_iterator_t xcb_xkb_get_map_map_vmods_rtrn_end
   5275  **
   5276  ** @param const xcb_xkb_get_map_map_t *R
   5277  ** @returns xcb_generic_iterator_t
   5278  **
   5279  *****************************************************************************/
   5280 
   5281 xcb_generic_iterator_t
   5282 xcb_xkb_get_map_map_vmods_rtrn_end (const xcb_xkb_get_map_reply_t *R  /**< */,
   5283                                     const xcb_xkb_get_map_map_t *S  /**< */)
   5284 {
   5285     xcb_generic_iterator_t i;
   5286     i.data = /* map */ S->vmods_rtrn + xcb_popcount(R->virtualMods);
   5287     i.rem = 0;
   5288     i.index = (char *) i.data - (char *) S;
   5289     return i;
   5290 }
   5291 
   5292 
   5293 /*****************************************************************************
   5294  **
   5295  ** uint8_t * xcb_xkb_get_map_map_alignment_pad_2
   5296  **
   5297  ** @param const xcb_xkb_get_map_map_t *S
   5298  ** @returns uint8_t *
   5299  **
   5300  *****************************************************************************/
   5301 
   5302 uint8_t *
   5303 xcb_xkb_get_map_map_alignment_pad_2 (const xcb_xkb_get_map_map_t *S  /**< */)
   5304 {
   5305     return /* map */ S->alignment_pad2;
   5306 }
   5307 
   5308 
   5309 /*****************************************************************************
   5310  **
   5311  ** int xcb_xkb_get_map_map_alignment_pad_2_length
   5312  **
   5313  ** @param const xcb_xkb_get_map_map_t *R
   5314  ** @returns int
   5315  **
   5316  *****************************************************************************/
   5317 
   5318 int
   5319 xcb_xkb_get_map_map_alignment_pad_2_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5320                                             const xcb_xkb_get_map_map_t *S  /**< */)
   5321 {
   5322     return (((xcb_popcount(R->virtualMods) + 3) & (~3)) - xcb_popcount(R->virtualMods));
   5323 }
   5324 
   5325 
   5326 /*****************************************************************************
   5327  **
   5328  ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_2_end
   5329  **
   5330  ** @param const xcb_xkb_get_map_map_t *R
   5331  ** @returns xcb_generic_iterator_t
   5332  **
   5333  *****************************************************************************/
   5334 
   5335 xcb_generic_iterator_t
   5336 xcb_xkb_get_map_map_alignment_pad_2_end (const xcb_xkb_get_map_reply_t *R  /**< */,
   5337                                          const xcb_xkb_get_map_map_t *S  /**< */)
   5338 {
   5339     xcb_generic_iterator_t i;
   5340     i.data = /* map */ S->alignment_pad2 + (((xcb_popcount(R->virtualMods) + 3) & (~3)) - xcb_popcount(R->virtualMods));
   5341     i.rem = 0;
   5342     i.index = (char *) i.data - (char *) S;
   5343     return i;
   5344 }
   5345 
   5346 
   5347 /*****************************************************************************
   5348  **
   5349  ** xcb_xkb_set_explicit_t * xcb_xkb_get_map_map_explicit_rtrn
   5350  **
   5351  ** @param const xcb_xkb_get_map_map_t *S
   5352  ** @returns xcb_xkb_set_explicit_t *
   5353  **
   5354  *****************************************************************************/
   5355 
   5356 xcb_xkb_set_explicit_t *
   5357 xcb_xkb_get_map_map_explicit_rtrn (const xcb_xkb_get_map_map_t *S  /**< */)
   5358 {
   5359     return /* map */ S->explicit_rtrn;
   5360 }
   5361 
   5362 
   5363 /*****************************************************************************
   5364  **
   5365  ** int xcb_xkb_get_map_map_explicit_rtrn_length
   5366  **
   5367  ** @param const xcb_xkb_get_map_map_t *R
   5368  ** @returns int
   5369  **
   5370  *****************************************************************************/
   5371 
   5372 int
   5373 xcb_xkb_get_map_map_explicit_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5374                                           const xcb_xkb_get_map_map_t *S  /**< */)
   5375 {
   5376     return R->totalKeyExplicit;
   5377 }
   5378 
   5379 
   5380 /*****************************************************************************
   5381  **
   5382  ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_map_map_explicit_rtrn_iterator
   5383  **
   5384  ** @param const xcb_xkb_get_map_map_t *R
   5385  ** @returns xcb_xkb_set_explicit_iterator_t
   5386  **
   5387  *****************************************************************************/
   5388 
   5389 xcb_xkb_set_explicit_iterator_t
   5390 xcb_xkb_get_map_map_explicit_rtrn_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   5391                                             const xcb_xkb_get_map_map_t *S  /**< */)
   5392 {
   5393     xcb_xkb_set_explicit_iterator_t i;
   5394     i.data = /* map */ S->explicit_rtrn;
   5395     i.rem = R->totalKeyExplicit;
   5396     i.index = (char *) i.data - (char *) S;
   5397     return i;
   5398 }
   5399 
   5400 
   5401 /*****************************************************************************
   5402  **
   5403  ** uint16_t * xcb_xkb_get_map_map_alignment_pad_3
   5404  **
   5405  ** @param const xcb_xkb_get_map_map_t *S
   5406  ** @returns uint16_t *
   5407  **
   5408  *****************************************************************************/
   5409 
   5410 uint16_t *
   5411 xcb_xkb_get_map_map_alignment_pad_3 (const xcb_xkb_get_map_map_t *S  /**< */)
   5412 {
   5413     return /* map */ S->alignment_pad3;
   5414 }
   5415 
   5416 
   5417 /*****************************************************************************
   5418  **
   5419  ** int xcb_xkb_get_map_map_alignment_pad_3_length
   5420  **
   5421  ** @param const xcb_xkb_get_map_map_t *R
   5422  ** @returns int
   5423  **
   5424  *****************************************************************************/
   5425 
   5426 int
   5427 xcb_xkb_get_map_map_alignment_pad_3_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5428                                             const xcb_xkb_get_map_map_t *S  /**< */)
   5429 {
   5430     return (((R->totalKeyExplicit + 1) & (~1)) - R->totalKeyExplicit);
   5431 }
   5432 
   5433 
   5434 /*****************************************************************************
   5435  **
   5436  ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_3_end
   5437  **
   5438  ** @param const xcb_xkb_get_map_map_t *R
   5439  ** @returns xcb_generic_iterator_t
   5440  **
   5441  *****************************************************************************/
   5442 
   5443 xcb_generic_iterator_t
   5444 xcb_xkb_get_map_map_alignment_pad_3_end (const xcb_xkb_get_map_reply_t *R  /**< */,
   5445                                          const xcb_xkb_get_map_map_t *S  /**< */)
   5446 {
   5447     xcb_generic_iterator_t i;
   5448     i.data = /* map */ S->alignment_pad3 + (((R->totalKeyExplicit + 1) & (~1)) - R->totalKeyExplicit);
   5449     i.rem = 0;
   5450     i.index = (char *) i.data - (char *) S;
   5451     return i;
   5452 }
   5453 
   5454 
   5455 /*****************************************************************************
   5456  **
   5457  ** xcb_xkb_key_mod_map_t * xcb_xkb_get_map_map_modmap_rtrn
   5458  **
   5459  ** @param const xcb_xkb_get_map_map_t *S
   5460  ** @returns xcb_xkb_key_mod_map_t *
   5461  **
   5462  *****************************************************************************/
   5463 
   5464 xcb_xkb_key_mod_map_t *
   5465 xcb_xkb_get_map_map_modmap_rtrn (const xcb_xkb_get_map_map_t *S  /**< */)
   5466 {
   5467     return /* map */ S->modmap_rtrn;
   5468 }
   5469 
   5470 
   5471 /*****************************************************************************
   5472  **
   5473  ** int xcb_xkb_get_map_map_modmap_rtrn_length
   5474  **
   5475  ** @param const xcb_xkb_get_map_map_t *R
   5476  ** @returns int
   5477  **
   5478  *****************************************************************************/
   5479 
   5480 int
   5481 xcb_xkb_get_map_map_modmap_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5482                                         const xcb_xkb_get_map_map_t *S  /**< */)
   5483 {
   5484     return R->totalModMapKeys;
   5485 }
   5486 
   5487 
   5488 /*****************************************************************************
   5489  **
   5490  ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_map_map_modmap_rtrn_iterator
   5491  **
   5492  ** @param const xcb_xkb_get_map_map_t *R
   5493  ** @returns xcb_xkb_key_mod_map_iterator_t
   5494  **
   5495  *****************************************************************************/
   5496 
   5497 xcb_xkb_key_mod_map_iterator_t
   5498 xcb_xkb_get_map_map_modmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   5499                                           const xcb_xkb_get_map_map_t *S  /**< */)
   5500 {
   5501     xcb_xkb_key_mod_map_iterator_t i;
   5502     i.data = /* map */ S->modmap_rtrn;
   5503     i.rem = R->totalModMapKeys;
   5504     i.index = (char *) i.data - (char *) S;
   5505     return i;
   5506 }
   5507 
   5508 
   5509 /*****************************************************************************
   5510  **
   5511  ** uint16_t * xcb_xkb_get_map_map_alignment_pad_4
   5512  **
   5513  ** @param const xcb_xkb_get_map_map_t *S
   5514  ** @returns uint16_t *
   5515  **
   5516  *****************************************************************************/
   5517 
   5518 uint16_t *
   5519 xcb_xkb_get_map_map_alignment_pad_4 (const xcb_xkb_get_map_map_t *S  /**< */)
   5520 {
   5521     return /* map */ S->alignment_pad4;
   5522 }
   5523 
   5524 
   5525 /*****************************************************************************
   5526  **
   5527  ** int xcb_xkb_get_map_map_alignment_pad_4_length
   5528  **
   5529  ** @param const xcb_xkb_get_map_map_t *R
   5530  ** @returns int
   5531  **
   5532  *****************************************************************************/
   5533 
   5534 int
   5535 xcb_xkb_get_map_map_alignment_pad_4_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5536                                             const xcb_xkb_get_map_map_t *S  /**< */)
   5537 {
   5538     return (((R->totalModMapKeys + 1) & (~1)) - R->totalModMapKeys);
   5539 }
   5540 
   5541 
   5542 /*****************************************************************************
   5543  **
   5544  ** xcb_generic_iterator_t xcb_xkb_get_map_map_alignment_pad_4_end
   5545  **
   5546  ** @param const xcb_xkb_get_map_map_t *R
   5547  ** @returns xcb_generic_iterator_t
   5548  **
   5549  *****************************************************************************/
   5550 
   5551 xcb_generic_iterator_t
   5552 xcb_xkb_get_map_map_alignment_pad_4_end (const xcb_xkb_get_map_reply_t *R  /**< */,
   5553                                          const xcb_xkb_get_map_map_t *S  /**< */)
   5554 {
   5555     xcb_generic_iterator_t i;
   5556     i.data = /* map */ S->alignment_pad4 + (((R->totalModMapKeys + 1) & (~1)) - R->totalModMapKeys);
   5557     i.rem = 0;
   5558     i.index = (char *) i.data - (char *) S;
   5559     return i;
   5560 }
   5561 
   5562 
   5563 /*****************************************************************************
   5564  **
   5565  ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_map_map_vmodmap_rtrn
   5566  **
   5567  ** @param const xcb_xkb_get_map_map_t *S
   5568  ** @returns xcb_xkb_key_v_mod_map_t *
   5569  **
   5570  *****************************************************************************/
   5571 
   5572 xcb_xkb_key_v_mod_map_t *
   5573 xcb_xkb_get_map_map_vmodmap_rtrn (const xcb_xkb_get_map_map_t *S  /**< */)
   5574 {
   5575     return /* map */ S->vmodmap_rtrn;
   5576 }
   5577 
   5578 
   5579 /*****************************************************************************
   5580  **
   5581  ** int xcb_xkb_get_map_map_vmodmap_rtrn_length
   5582  **
   5583  ** @param const xcb_xkb_get_map_map_t *R
   5584  ** @returns int
   5585  **
   5586  *****************************************************************************/
   5587 
   5588 int
   5589 xcb_xkb_get_map_map_vmodmap_rtrn_length (const xcb_xkb_get_map_reply_t *R  /**< */,
   5590                                          const xcb_xkb_get_map_map_t *S  /**< */)
   5591 {
   5592     return R->totalVModMapKeys;
   5593 }
   5594 
   5595 
   5596 /*****************************************************************************
   5597  **
   5598  ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_map_map_vmodmap_rtrn_iterator
   5599  **
   5600  ** @param const xcb_xkb_get_map_map_t *R
   5601  ** @returns xcb_xkb_key_v_mod_map_iterator_t
   5602  **
   5603  *****************************************************************************/
   5604 
   5605 xcb_xkb_key_v_mod_map_iterator_t
   5606 xcb_xkb_get_map_map_vmodmap_rtrn_iterator (const xcb_xkb_get_map_reply_t *R  /**< */,
   5607                                            const xcb_xkb_get_map_map_t *S  /**< */)
   5608 {
   5609     xcb_xkb_key_v_mod_map_iterator_t i;
   5610     i.data = /* map */ S->vmodmap_rtrn;
   5611     i.rem = R->totalVModMapKeys;
   5612     i.index = (char *) i.data - (char *) S;
   5613     return i;
   5614 }
   5615 
   5616 int
   5617 xcb_xkb_get_map_map_serialize (void                        **_buffer  /**< */,
   5618                                uint8_t                       nTypes  /**< */,
   5619                                uint8_t                       nKeySyms  /**< */,
   5620                                uint8_t                       nKeyActions  /**< */,
   5621                                uint16_t                      totalActions  /**< */,
   5622                                uint8_t                       totalKeyBehaviors  /**< */,
   5623                                uint16_t                      virtualMods  /**< */,
   5624                                uint8_t                       totalKeyExplicit  /**< */,
   5625                                uint8_t                       totalModMapKeys  /**< */,
   5626                                uint8_t                       totalVModMapKeys  /**< */,
   5627                                uint16_t                      present  /**< */,
   5628                                const xcb_xkb_get_map_map_t  *_aux  /**< */)
   5629 {
   5630     char *xcb_out = *_buffer;
   5631     unsigned int xcb_buffer_len = 0;
   5632     unsigned int xcb_align_to = 0;
   5633 
   5634     unsigned int xcb_pad = 0;
   5635     char xcb_pad0[3] = {0, 0, 0};
   5636     struct iovec xcb_parts[27];
   5637     unsigned int xcb_parts_idx = 0;
   5638     unsigned int xcb_block_len = 0;
   5639     unsigned int i;
   5640     char *xcb_tmp;
   5641 
   5642     if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
   5643         /* insert padding */
   5644         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5645         xcb_buffer_len += xcb_block_len + xcb_pad;
   5646         if (0 != xcb_pad) {
   5647             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5648             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5649             xcb_parts_idx++;
   5650             xcb_pad = 0;
   5651         }
   5652         xcb_block_len = 0;
   5653         /* types_rtrn */
   5654         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types_rtrn;
   5655         xcb_parts[xcb_parts_idx].iov_len = 0;
   5656         xcb_tmp = (char *) _aux->types_rtrn;
   5657         for(i=0; i<nTypes; i++) {
   5658             xcb_block_len = xcb_xkb_key_type_sizeof(xcb_tmp);
   5659             xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
   5660         }
   5661         xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
   5662         xcb_parts_idx++;
   5663         xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
   5664     }
   5665     if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
   5666         /* insert padding */
   5667         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5668         xcb_buffer_len += xcb_block_len + xcb_pad;
   5669         if (0 != xcb_pad) {
   5670             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5671             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5672             xcb_parts_idx++;
   5673             xcb_pad = 0;
   5674         }
   5675         xcb_block_len = 0;
   5676         /* syms_rtrn */
   5677         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms_rtrn;
   5678         xcb_parts[xcb_parts_idx].iov_len = 0;
   5679         xcb_tmp = (char *) _aux->syms_rtrn;
   5680         for(i=0; i<nKeySyms; i++) {
   5681             xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
   5682             xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
   5683         }
   5684         xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
   5685         xcb_parts_idx++;
   5686         xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
   5687     }
   5688     if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
   5689         /* insert padding */
   5690         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5691         xcb_buffer_len += xcb_block_len + xcb_pad;
   5692         if (0 != xcb_pad) {
   5693             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5694             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5695             xcb_parts_idx++;
   5696             xcb_pad = 0;
   5697         }
   5698         xcb_block_len = 0;
   5699         /* acts_rtrn_count */
   5700         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_count;
   5701         xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
   5702         xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t);
   5703         xcb_parts_idx++;
   5704         xcb_align_to = ALIGNOF(uint8_t);
   5705         /* insert padding */
   5706         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5707         xcb_buffer_len += xcb_block_len + xcb_pad;
   5708         if (0 != xcb_pad) {
   5709             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5710             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5711             xcb_parts_idx++;
   5712             xcb_pad = 0;
   5713         }
   5714         xcb_block_len = 0;
   5715         /* alignment_pad */
   5716         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad;
   5717         xcb_block_len += (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t);
   5718         xcb_parts[xcb_parts_idx].iov_len = (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t);
   5719         xcb_parts_idx++;
   5720         xcb_align_to = ALIGNOF(uint8_t);
   5721         /* insert padding */
   5722         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5723         xcb_buffer_len += xcb_block_len + xcb_pad;
   5724         if (0 != xcb_pad) {
   5725             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5726             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5727             xcb_parts_idx++;
   5728             xcb_pad = 0;
   5729         }
   5730         xcb_block_len = 0;
   5731         /* acts_rtrn_acts */
   5732         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_acts;
   5733         xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
   5734         xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t);
   5735         xcb_parts_idx++;
   5736         xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   5737     }
   5738     if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
   5739         /* insert padding */
   5740         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5741         xcb_buffer_len += xcb_block_len + xcb_pad;
   5742         if (0 != xcb_pad) {
   5743             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5744             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5745             xcb_parts_idx++;
   5746             xcb_pad = 0;
   5747         }
   5748         xcb_block_len = 0;
   5749         /* behaviors_rtrn */
   5750         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors_rtrn;
   5751         xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   5752         xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   5753         xcb_parts_idx++;
   5754         xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
   5755     }
   5756     if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
   5757         /* insert padding */
   5758         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5759         xcb_buffer_len += xcb_block_len + xcb_pad;
   5760         if (0 != xcb_pad) {
   5761             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5762             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5763             xcb_parts_idx++;
   5764             xcb_pad = 0;
   5765         }
   5766         xcb_block_len = 0;
   5767         /* vmods_rtrn */
   5768         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods_rtrn;
   5769         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   5770         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   5771         xcb_parts_idx++;
   5772         xcb_align_to = ALIGNOF(uint8_t);
   5773         /* insert padding */
   5774         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5775         xcb_buffer_len += xcb_block_len + xcb_pad;
   5776         if (0 != xcb_pad) {
   5777             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5778             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5779             xcb_parts_idx++;
   5780             xcb_pad = 0;
   5781         }
   5782         xcb_block_len = 0;
   5783         /* alignment_pad2 */
   5784         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad2;
   5785         xcb_block_len += (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t);
   5786         xcb_parts[xcb_parts_idx].iov_len = (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t);
   5787         xcb_parts_idx++;
   5788         xcb_align_to = ALIGNOF(uint8_t);
   5789     }
   5790     if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
   5791         /* insert padding */
   5792         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5793         xcb_buffer_len += xcb_block_len + xcb_pad;
   5794         if (0 != xcb_pad) {
   5795             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5796             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5797             xcb_parts_idx++;
   5798             xcb_pad = 0;
   5799         }
   5800         xcb_block_len = 0;
   5801         /* explicit_rtrn */
   5802         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit_rtrn;
   5803         xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   5804         xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   5805         xcb_parts_idx++;
   5806         xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
   5807         /* insert padding */
   5808         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5809         xcb_buffer_len += xcb_block_len + xcb_pad;
   5810         if (0 != xcb_pad) {
   5811             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5812             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5813             xcb_parts_idx++;
   5814             xcb_pad = 0;
   5815         }
   5816         xcb_block_len = 0;
   5817         /* alignment_pad3 */
   5818         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad3;
   5819         xcb_block_len += (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t);
   5820         xcb_parts[xcb_parts_idx].iov_len = (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t);
   5821         xcb_parts_idx++;
   5822         xcb_align_to = ALIGNOF(uint16_t);
   5823     }
   5824     if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
   5825         /* insert padding */
   5826         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5827         xcb_buffer_len += xcb_block_len + xcb_pad;
   5828         if (0 != xcb_pad) {
   5829             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5830             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5831             xcb_parts_idx++;
   5832             xcb_pad = 0;
   5833         }
   5834         xcb_block_len = 0;
   5835         /* modmap_rtrn */
   5836         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap_rtrn;
   5837         xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   5838         xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   5839         xcb_parts_idx++;
   5840         xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
   5841         /* insert padding */
   5842         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5843         xcb_buffer_len += xcb_block_len + xcb_pad;
   5844         if (0 != xcb_pad) {
   5845             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5846             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5847             xcb_parts_idx++;
   5848             xcb_pad = 0;
   5849         }
   5850         xcb_block_len = 0;
   5851         /* alignment_pad4 */
   5852         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad4;
   5853         xcb_block_len += (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t);
   5854         xcb_parts[xcb_parts_idx].iov_len = (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t);
   5855         xcb_parts_idx++;
   5856         xcb_align_to = ALIGNOF(uint16_t);
   5857     }
   5858     if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
   5859         /* insert padding */
   5860         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5861         xcb_buffer_len += xcb_block_len + xcb_pad;
   5862         if (0 != xcb_pad) {
   5863             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5864             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5865             xcb_parts_idx++;
   5866             xcb_pad = 0;
   5867         }
   5868         xcb_block_len = 0;
   5869         /* vmodmap_rtrn */
   5870         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap_rtrn;
   5871         xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   5872         xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   5873         xcb_parts_idx++;
   5874         xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
   5875     }
   5876     /* insert padding */
   5877     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5878     xcb_buffer_len += xcb_block_len + xcb_pad;
   5879     if (0 != xcb_pad) {
   5880         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   5881         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   5882         xcb_parts_idx++;
   5883         xcb_pad = 0;
   5884     }
   5885     xcb_block_len = 0;
   5886 
   5887     if (NULL == xcb_out) {
   5888         /* allocate memory */
   5889         xcb_out = malloc(xcb_buffer_len);
   5890         *_buffer = xcb_out;
   5891     }
   5892 
   5893     xcb_tmp = xcb_out;
   5894     for(i=0; i<xcb_parts_idx; i++) {
   5895         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   5896             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   5897         if (0 != xcb_parts[i].iov_len)
   5898             xcb_tmp += xcb_parts[i].iov_len;
   5899     }
   5900 
   5901     return xcb_buffer_len;
   5902 }
   5903 
   5904 int
   5905 xcb_xkb_get_map_map_unpack (const void             *_buffer  /**< */,
   5906                             uint8_t                 nTypes  /**< */,
   5907                             uint8_t                 nKeySyms  /**< */,
   5908                             uint8_t                 nKeyActions  /**< */,
   5909                             uint16_t                totalActions  /**< */,
   5910                             uint8_t                 totalKeyBehaviors  /**< */,
   5911                             uint16_t                virtualMods  /**< */,
   5912                             uint8_t                 totalKeyExplicit  /**< */,
   5913                             uint8_t                 totalModMapKeys  /**< */,
   5914                             uint8_t                 totalVModMapKeys  /**< */,
   5915                             uint16_t                present  /**< */,
   5916                             xcb_xkb_get_map_map_t  *_aux  /**< */)
   5917 {
   5918     char *xcb_tmp = (char *)_buffer;
   5919     unsigned int xcb_buffer_len = 0;
   5920     unsigned int xcb_block_len = 0;
   5921     unsigned int xcb_pad = 0;
   5922     unsigned int xcb_align_to = 0;
   5923 
   5924     unsigned int i;
   5925     unsigned int xcb_tmp_len;
   5926 
   5927     if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
   5928         /* insert padding */
   5929         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5930         xcb_buffer_len += xcb_block_len + xcb_pad;
   5931         if (0 != xcb_pad) {
   5932             xcb_tmp += xcb_pad;
   5933             xcb_pad = 0;
   5934         }
   5935         xcb_block_len = 0;
   5936         /* types_rtrn */
   5937         _aux->types_rtrn = (xcb_xkb_key_type_t *)xcb_tmp;
   5938         for(i=0; i<nTypes; i++) {
   5939             xcb_tmp_len = xcb_xkb_key_type_sizeof(xcb_tmp);
   5940             xcb_block_len += xcb_tmp_len;
   5941             xcb_tmp += xcb_tmp_len;
   5942         }
   5943         xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
   5944     }
   5945     if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
   5946         /* insert padding */
   5947         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5948         xcb_buffer_len += xcb_block_len + xcb_pad;
   5949         if (0 != xcb_pad) {
   5950             xcb_tmp += xcb_pad;
   5951             xcb_pad = 0;
   5952         }
   5953         xcb_block_len = 0;
   5954         /* syms_rtrn */
   5955         _aux->syms_rtrn = (xcb_xkb_key_sym_map_t *)xcb_tmp;
   5956         for(i=0; i<nKeySyms; i++) {
   5957             xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
   5958             xcb_block_len += xcb_tmp_len;
   5959             xcb_tmp += xcb_tmp_len;
   5960         }
   5961         xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
   5962     }
   5963     if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
   5964         /* insert padding */
   5965         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5966         xcb_buffer_len += xcb_block_len + xcb_pad;
   5967         if (0 != xcb_pad) {
   5968             xcb_tmp += xcb_pad;
   5969             xcb_pad = 0;
   5970         }
   5971         xcb_block_len = 0;
   5972         /* acts_rtrn_count */
   5973         _aux->acts_rtrn_count = (uint8_t *)xcb_tmp;
   5974         xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
   5975         xcb_tmp += xcb_block_len;
   5976         xcb_align_to = ALIGNOF(uint8_t);
   5977         /* insert padding */
   5978         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5979         xcb_buffer_len += xcb_block_len + xcb_pad;
   5980         if (0 != xcb_pad) {
   5981             xcb_tmp += xcb_pad;
   5982             xcb_pad = 0;
   5983         }
   5984         xcb_block_len = 0;
   5985         /* alignment_pad */
   5986         _aux->alignment_pad = (uint8_t *)xcb_tmp;
   5987         xcb_block_len += (((nKeyActions + 3) & (~3)) - nKeyActions) * sizeof(xcb_keycode_t);
   5988         xcb_tmp += xcb_block_len;
   5989         xcb_align_to = ALIGNOF(uint8_t);
   5990         /* insert padding */
   5991         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   5992         xcb_buffer_len += xcb_block_len + xcb_pad;
   5993         if (0 != xcb_pad) {
   5994             xcb_tmp += xcb_pad;
   5995             xcb_pad = 0;
   5996         }
   5997         xcb_block_len = 0;
   5998         /* acts_rtrn_acts */
   5999         _aux->acts_rtrn_acts = (xcb_xkb_action_t *)xcb_tmp;
   6000         xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
   6001         xcb_tmp += xcb_block_len;
   6002         xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   6003     }
   6004     if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
   6005         /* insert padding */
   6006         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6007         xcb_buffer_len += xcb_block_len + xcb_pad;
   6008         if (0 != xcb_pad) {
   6009             xcb_tmp += xcb_pad;
   6010             xcb_pad = 0;
   6011         }
   6012         xcb_block_len = 0;
   6013         /* behaviors_rtrn */
   6014         _aux->behaviors_rtrn = (xcb_xkb_set_behavior_t *)xcb_tmp;
   6015         xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   6016         xcb_tmp += xcb_block_len;
   6017         xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
   6018     }
   6019     if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
   6020         /* insert padding */
   6021         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6022         xcb_buffer_len += xcb_block_len + xcb_pad;
   6023         if (0 != xcb_pad) {
   6024             xcb_tmp += xcb_pad;
   6025             xcb_pad = 0;
   6026         }
   6027         xcb_block_len = 0;
   6028         /* vmods_rtrn */
   6029         _aux->vmods_rtrn = (uint8_t *)xcb_tmp;
   6030         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   6031         xcb_tmp += xcb_block_len;
   6032         xcb_align_to = ALIGNOF(uint8_t);
   6033         /* insert padding */
   6034         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6035         xcb_buffer_len += xcb_block_len + xcb_pad;
   6036         if (0 != xcb_pad) {
   6037             xcb_tmp += xcb_pad;
   6038             xcb_pad = 0;
   6039         }
   6040         xcb_block_len = 0;
   6041         /* alignment_pad2 */
   6042         _aux->alignment_pad2 = (uint8_t *)xcb_tmp;
   6043         xcb_block_len += (((xcb_popcount(virtualMods) + 3) & (~3)) - xcb_popcount(virtualMods)) * sizeof(xcb_keycode_t);
   6044         xcb_tmp += xcb_block_len;
   6045         xcb_align_to = ALIGNOF(uint8_t);
   6046     }
   6047     if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
   6048         /* insert padding */
   6049         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6050         xcb_buffer_len += xcb_block_len + xcb_pad;
   6051         if (0 != xcb_pad) {
   6052             xcb_tmp += xcb_pad;
   6053             xcb_pad = 0;
   6054         }
   6055         xcb_block_len = 0;
   6056         /* explicit_rtrn */
   6057         _aux->explicit_rtrn = (xcb_xkb_set_explicit_t *)xcb_tmp;
   6058         xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   6059         xcb_tmp += xcb_block_len;
   6060         xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
   6061         /* insert padding */
   6062         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6063         xcb_buffer_len += xcb_block_len + xcb_pad;
   6064         if (0 != xcb_pad) {
   6065             xcb_tmp += xcb_pad;
   6066             xcb_pad = 0;
   6067         }
   6068         xcb_block_len = 0;
   6069         /* alignment_pad3 */
   6070         _aux->alignment_pad3 = (uint16_t *)xcb_tmp;
   6071         xcb_block_len += (((totalKeyExplicit + 1) & (~1)) - totalKeyExplicit) * sizeof(uint16_t);
   6072         xcb_tmp += xcb_block_len;
   6073         xcb_align_to = ALIGNOF(uint16_t);
   6074     }
   6075     if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
   6076         /* insert padding */
   6077         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6078         xcb_buffer_len += xcb_block_len + xcb_pad;
   6079         if (0 != xcb_pad) {
   6080             xcb_tmp += xcb_pad;
   6081             xcb_pad = 0;
   6082         }
   6083         xcb_block_len = 0;
   6084         /* modmap_rtrn */
   6085         _aux->modmap_rtrn = (xcb_xkb_key_mod_map_t *)xcb_tmp;
   6086         xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   6087         xcb_tmp += xcb_block_len;
   6088         xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
   6089         /* insert padding */
   6090         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6091         xcb_buffer_len += xcb_block_len + xcb_pad;
   6092         if (0 != xcb_pad) {
   6093             xcb_tmp += xcb_pad;
   6094             xcb_pad = 0;
   6095         }
   6096         xcb_block_len = 0;
   6097         /* alignment_pad4 */
   6098         _aux->alignment_pad4 = (uint16_t *)xcb_tmp;
   6099         xcb_block_len += (((totalModMapKeys + 1) & (~1)) - totalModMapKeys) * sizeof(uint16_t);
   6100         xcb_tmp += xcb_block_len;
   6101         xcb_align_to = ALIGNOF(uint16_t);
   6102     }
   6103     if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
   6104         /* insert padding */
   6105         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6106         xcb_buffer_len += xcb_block_len + xcb_pad;
   6107         if (0 != xcb_pad) {
   6108             xcb_tmp += xcb_pad;
   6109             xcb_pad = 0;
   6110         }
   6111         xcb_block_len = 0;
   6112         /* vmodmap_rtrn */
   6113         _aux->vmodmap_rtrn = (xcb_xkb_key_v_mod_map_t *)xcb_tmp;
   6114         xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   6115         xcb_tmp += xcb_block_len;
   6116         xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
   6117     }
   6118     /* insert padding */
   6119     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6120     xcb_buffer_len += xcb_block_len + xcb_pad;
   6121     if (0 != xcb_pad) {
   6122         xcb_tmp += xcb_pad;
   6123         xcb_pad = 0;
   6124     }
   6125     xcb_block_len = 0;
   6126 
   6127     return xcb_buffer_len;
   6128 }
   6129 
   6130 int
   6131 xcb_xkb_get_map_map_sizeof (const void  *_buffer  /**< */,
   6132                             uint8_t      nTypes  /**< */,
   6133                             uint8_t      nKeySyms  /**< */,
   6134                             uint8_t      nKeyActions  /**< */,
   6135                             uint16_t     totalActions  /**< */,
   6136                             uint8_t      totalKeyBehaviors  /**< */,
   6137                             uint16_t     virtualMods  /**< */,
   6138                             uint8_t      totalKeyExplicit  /**< */,
   6139                             uint8_t      totalModMapKeys  /**< */,
   6140                             uint8_t      totalVModMapKeys  /**< */,
   6141                             uint16_t     present  /**< */)
   6142 {
   6143     xcb_xkb_get_map_map_t _aux;
   6144     return xcb_xkb_get_map_map_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux);
   6145 }
   6146 
   6147 
   6148 /*****************************************************************************
   6149  **
   6150  ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map
   6151  **
   6152  ** @param xcb_connection_t      *c
   6153  ** @param xcb_xkb_device_spec_t  deviceSpec
   6154  ** @param uint16_t               full
   6155  ** @param uint16_t               partial
   6156  ** @param uint8_t                firstType
   6157  ** @param uint8_t                nTypes
   6158  ** @param xcb_keycode_t          firstKeySym
   6159  ** @param uint8_t                nKeySyms
   6160  ** @param xcb_keycode_t          firstKeyAction
   6161  ** @param uint8_t                nKeyActions
   6162  ** @param xcb_keycode_t          firstKeyBehavior
   6163  ** @param uint8_t                nKeyBehaviors
   6164  ** @param uint16_t               virtualMods
   6165  ** @param xcb_keycode_t          firstKeyExplicit
   6166  ** @param uint8_t                nKeyExplicit
   6167  ** @param xcb_keycode_t          firstModMapKey
   6168  ** @param uint8_t                nModMapKeys
   6169  ** @param xcb_keycode_t          firstVModMapKey
   6170  ** @param uint8_t                nVModMapKeys
   6171  ** @returns xcb_xkb_get_map_cookie_t
   6172  **
   6173  *****************************************************************************/
   6174 
   6175 xcb_xkb_get_map_cookie_t
   6176 xcb_xkb_get_map (xcb_connection_t      *c  /**< */,
   6177                  xcb_xkb_device_spec_t  deviceSpec  /**< */,
   6178                  uint16_t               full  /**< */,
   6179                  uint16_t               partial  /**< */,
   6180                  uint8_t                firstType  /**< */,
   6181                  uint8_t                nTypes  /**< */,
   6182                  xcb_keycode_t          firstKeySym  /**< */,
   6183                  uint8_t                nKeySyms  /**< */,
   6184                  xcb_keycode_t          firstKeyAction  /**< */,
   6185                  uint8_t                nKeyActions  /**< */,
   6186                  xcb_keycode_t          firstKeyBehavior  /**< */,
   6187                  uint8_t                nKeyBehaviors  /**< */,
   6188                  uint16_t               virtualMods  /**< */,
   6189                  xcb_keycode_t          firstKeyExplicit  /**< */,
   6190                  uint8_t                nKeyExplicit  /**< */,
   6191                  xcb_keycode_t          firstModMapKey  /**< */,
   6192                  uint8_t                nModMapKeys  /**< */,
   6193                  xcb_keycode_t          firstVModMapKey  /**< */,
   6194                  uint8_t                nVModMapKeys  /**< */)
   6195 {
   6196     static const xcb_protocol_request_t xcb_req = {
   6197         /* count */ 2,
   6198         /* ext */ &xcb_xkb_id,
   6199         /* opcode */ XCB_XKB_GET_MAP,
   6200         /* isvoid */ 0
   6201     };
   6202 
   6203     struct iovec xcb_parts[4];
   6204     xcb_xkb_get_map_cookie_t xcb_ret;
   6205     xcb_xkb_get_map_request_t xcb_out;
   6206 
   6207     xcb_out.deviceSpec = deviceSpec;
   6208     xcb_out.full = full;
   6209     xcb_out.partial = partial;
   6210     xcb_out.firstType = firstType;
   6211     xcb_out.nTypes = nTypes;
   6212     xcb_out.firstKeySym = firstKeySym;
   6213     xcb_out.nKeySyms = nKeySyms;
   6214     xcb_out.firstKeyAction = firstKeyAction;
   6215     xcb_out.nKeyActions = nKeyActions;
   6216     xcb_out.firstKeyBehavior = firstKeyBehavior;
   6217     xcb_out.nKeyBehaviors = nKeyBehaviors;
   6218     xcb_out.virtualMods = virtualMods;
   6219     xcb_out.firstKeyExplicit = firstKeyExplicit;
   6220     xcb_out.nKeyExplicit = nKeyExplicit;
   6221     xcb_out.firstModMapKey = firstModMapKey;
   6222     xcb_out.nModMapKeys = nModMapKeys;
   6223     xcb_out.firstVModMapKey = firstVModMapKey;
   6224     xcb_out.nVModMapKeys = nVModMapKeys;
   6225     memset(xcb_out.pad0, 0, 2);
   6226 
   6227     xcb_parts[2].iov_base = (char *) &xcb_out;
   6228     xcb_parts[2].iov_len = sizeof(xcb_out);
   6229     xcb_parts[3].iov_base = 0;
   6230     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6231 
   6232     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   6233     return xcb_ret;
   6234 }
   6235 
   6236 
   6237 /*****************************************************************************
   6238  **
   6239  ** xcb_xkb_get_map_cookie_t xcb_xkb_get_map_unchecked
   6240  **
   6241  ** @param xcb_connection_t      *c
   6242  ** @param xcb_xkb_device_spec_t  deviceSpec
   6243  ** @param uint16_t               full
   6244  ** @param uint16_t               partial
   6245  ** @param uint8_t                firstType
   6246  ** @param uint8_t                nTypes
   6247  ** @param xcb_keycode_t          firstKeySym
   6248  ** @param uint8_t                nKeySyms
   6249  ** @param xcb_keycode_t          firstKeyAction
   6250  ** @param uint8_t                nKeyActions
   6251  ** @param xcb_keycode_t          firstKeyBehavior
   6252  ** @param uint8_t                nKeyBehaviors
   6253  ** @param uint16_t               virtualMods
   6254  ** @param xcb_keycode_t          firstKeyExplicit
   6255  ** @param uint8_t                nKeyExplicit
   6256  ** @param xcb_keycode_t          firstModMapKey
   6257  ** @param uint8_t                nModMapKeys
   6258  ** @param xcb_keycode_t          firstVModMapKey
   6259  ** @param uint8_t                nVModMapKeys
   6260  ** @returns xcb_xkb_get_map_cookie_t
   6261  **
   6262  *****************************************************************************/
   6263 
   6264 xcb_xkb_get_map_cookie_t
   6265 xcb_xkb_get_map_unchecked (xcb_connection_t      *c  /**< */,
   6266                            xcb_xkb_device_spec_t  deviceSpec  /**< */,
   6267                            uint16_t               full  /**< */,
   6268                            uint16_t               partial  /**< */,
   6269                            uint8_t                firstType  /**< */,
   6270                            uint8_t                nTypes  /**< */,
   6271                            xcb_keycode_t          firstKeySym  /**< */,
   6272                            uint8_t                nKeySyms  /**< */,
   6273                            xcb_keycode_t          firstKeyAction  /**< */,
   6274                            uint8_t                nKeyActions  /**< */,
   6275                            xcb_keycode_t          firstKeyBehavior  /**< */,
   6276                            uint8_t                nKeyBehaviors  /**< */,
   6277                            uint16_t               virtualMods  /**< */,
   6278                            xcb_keycode_t          firstKeyExplicit  /**< */,
   6279                            uint8_t                nKeyExplicit  /**< */,
   6280                            xcb_keycode_t          firstModMapKey  /**< */,
   6281                            uint8_t                nModMapKeys  /**< */,
   6282                            xcb_keycode_t          firstVModMapKey  /**< */,
   6283                            uint8_t                nVModMapKeys  /**< */)
   6284 {
   6285     static const xcb_protocol_request_t xcb_req = {
   6286         /* count */ 2,
   6287         /* ext */ &xcb_xkb_id,
   6288         /* opcode */ XCB_XKB_GET_MAP,
   6289         /* isvoid */ 0
   6290     };
   6291 
   6292     struct iovec xcb_parts[4];
   6293     xcb_xkb_get_map_cookie_t xcb_ret;
   6294     xcb_xkb_get_map_request_t xcb_out;
   6295 
   6296     xcb_out.deviceSpec = deviceSpec;
   6297     xcb_out.full = full;
   6298     xcb_out.partial = partial;
   6299     xcb_out.firstType = firstType;
   6300     xcb_out.nTypes = nTypes;
   6301     xcb_out.firstKeySym = firstKeySym;
   6302     xcb_out.nKeySyms = nKeySyms;
   6303     xcb_out.firstKeyAction = firstKeyAction;
   6304     xcb_out.nKeyActions = nKeyActions;
   6305     xcb_out.firstKeyBehavior = firstKeyBehavior;
   6306     xcb_out.nKeyBehaviors = nKeyBehaviors;
   6307     xcb_out.virtualMods = virtualMods;
   6308     xcb_out.firstKeyExplicit = firstKeyExplicit;
   6309     xcb_out.nKeyExplicit = nKeyExplicit;
   6310     xcb_out.firstModMapKey = firstModMapKey;
   6311     xcb_out.nModMapKeys = nModMapKeys;
   6312     xcb_out.firstVModMapKey = firstVModMapKey;
   6313     xcb_out.nVModMapKeys = nVModMapKeys;
   6314     memset(xcb_out.pad0, 0, 2);
   6315 
   6316     xcb_parts[2].iov_base = (char *) &xcb_out;
   6317     xcb_parts[2].iov_len = sizeof(xcb_out);
   6318     xcb_parts[3].iov_base = 0;
   6319     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   6320 
   6321     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   6322     return xcb_ret;
   6323 }
   6324 
   6325 
   6326 /*****************************************************************************
   6327  **
   6328  ** xcb_xkb_get_map_map_t * xcb_xkb_get_map_map
   6329  **
   6330  ** @param const xcb_xkb_get_map_reply_t *R
   6331  ** @returns xcb_xkb_get_map_map_t *
   6332  **
   6333  *****************************************************************************/
   6334 
   6335 void *
   6336 xcb_xkb_get_map_map (const xcb_xkb_get_map_reply_t *R  /**< */)
   6337 {
   6338     return (void *) (R + 1);
   6339 }
   6340 
   6341 
   6342 /*****************************************************************************
   6343  **
   6344  ** xcb_xkb_get_map_reply_t * xcb_xkb_get_map_reply
   6345  **
   6346  ** @param xcb_connection_t          *c
   6347  ** @param xcb_xkb_get_map_cookie_t   cookie
   6348  ** @param xcb_generic_error_t      **e
   6349  ** @returns xcb_xkb_get_map_reply_t *
   6350  **
   6351  *****************************************************************************/
   6352 
   6353 xcb_xkb_get_map_reply_t *
   6354 xcb_xkb_get_map_reply (xcb_connection_t          *c  /**< */,
   6355                        xcb_xkb_get_map_cookie_t   cookie  /**< */,
   6356                        xcb_generic_error_t      **e  /**< */)
   6357 {
   6358     return (xcb_xkb_get_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   6359 }
   6360 
   6361 
   6362 /*****************************************************************************
   6363  **
   6364  ** int xcb_xkb_set_map_values_types_length
   6365  **
   6366  ** @param const xcb_xkb_set_map_values_t *R
   6367  ** @returns int
   6368  **
   6369  *****************************************************************************/
   6370 
   6371 int
   6372 xcb_xkb_set_map_values_types_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6373                                      const xcb_xkb_set_map_values_t *S  /**< */)
   6374 {
   6375     return R->nTypes;
   6376 }
   6377 
   6378 
   6379 /*****************************************************************************
   6380  **
   6381  ** xcb_xkb_set_key_type_iterator_t xcb_xkb_set_map_values_types_iterator
   6382  **
   6383  ** @param const xcb_xkb_set_map_values_t *R
   6384  ** @returns xcb_xkb_set_key_type_iterator_t
   6385  **
   6386  *****************************************************************************/
   6387 
   6388 xcb_xkb_set_key_type_iterator_t
   6389 xcb_xkb_set_map_values_types_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6390                                        const xcb_xkb_set_map_values_t *S  /**< */)
   6391 {
   6392     xcb_xkb_set_key_type_iterator_t i;
   6393     i.data = /* values */ S->types;
   6394     i.rem = R->nTypes;
   6395     i.index = (char *) i.data - (char *) S;
   6396     return i;
   6397 }
   6398 
   6399 
   6400 /*****************************************************************************
   6401  **
   6402  ** int xcb_xkb_set_map_values_syms_length
   6403  **
   6404  ** @param const xcb_xkb_set_map_values_t *R
   6405  ** @returns int
   6406  **
   6407  *****************************************************************************/
   6408 
   6409 int
   6410 xcb_xkb_set_map_values_syms_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6411                                     const xcb_xkb_set_map_values_t *S  /**< */)
   6412 {
   6413     return R->nKeySyms;
   6414 }
   6415 
   6416 
   6417 /*****************************************************************************
   6418  **
   6419  ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_set_map_values_syms_iterator
   6420  **
   6421  ** @param const xcb_xkb_set_map_values_t *R
   6422  ** @returns xcb_xkb_key_sym_map_iterator_t
   6423  **
   6424  *****************************************************************************/
   6425 
   6426 xcb_xkb_key_sym_map_iterator_t
   6427 xcb_xkb_set_map_values_syms_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6428                                       const xcb_xkb_set_map_values_t *S  /**< */)
   6429 {
   6430     xcb_xkb_key_sym_map_iterator_t i;
   6431     i.data = /* values */ S->syms;
   6432     i.rem = R->nKeySyms;
   6433     i.index = (char *) i.data - (char *) S;
   6434     return i;
   6435 }
   6436 
   6437 
   6438 /*****************************************************************************
   6439  **
   6440  ** uint8_t * xcb_xkb_set_map_values_actions_count
   6441  **
   6442  ** @param const xcb_xkb_set_map_values_t *S
   6443  ** @returns uint8_t *
   6444  **
   6445  *****************************************************************************/
   6446 
   6447 uint8_t *
   6448 xcb_xkb_set_map_values_actions_count (const xcb_xkb_set_map_values_t *S  /**< */)
   6449 {
   6450     return /* values */ S->actionsCount;
   6451 }
   6452 
   6453 
   6454 /*****************************************************************************
   6455  **
   6456  ** int xcb_xkb_set_map_values_actions_count_length
   6457  **
   6458  ** @param const xcb_xkb_set_map_values_t *R
   6459  ** @returns int
   6460  **
   6461  *****************************************************************************/
   6462 
   6463 int
   6464 xcb_xkb_set_map_values_actions_count_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6465                                              const xcb_xkb_set_map_values_t *S  /**< */)
   6466 {
   6467     return R->nKeyActions;
   6468 }
   6469 
   6470 
   6471 /*****************************************************************************
   6472  **
   6473  ** xcb_generic_iterator_t xcb_xkb_set_map_values_actions_count_end
   6474  **
   6475  ** @param const xcb_xkb_set_map_values_t *R
   6476  ** @returns xcb_generic_iterator_t
   6477  **
   6478  *****************************************************************************/
   6479 
   6480 xcb_generic_iterator_t
   6481 xcb_xkb_set_map_values_actions_count_end (const xcb_xkb_set_map_request_t *R  /**< */,
   6482                                           const xcb_xkb_set_map_values_t *S  /**< */)
   6483 {
   6484     xcb_generic_iterator_t i;
   6485     i.data = /* values */ S->actionsCount + R->nKeyActions;
   6486     i.rem = 0;
   6487     i.index = (char *) i.data - (char *) S;
   6488     return i;
   6489 }
   6490 
   6491 
   6492 /*****************************************************************************
   6493  **
   6494  ** xcb_xkb_action_t * xcb_xkb_set_map_values_actions
   6495  **
   6496  ** @param const xcb_xkb_set_map_values_t *S
   6497  ** @returns xcb_xkb_action_t *
   6498  **
   6499  *****************************************************************************/
   6500 
   6501 xcb_xkb_action_t *
   6502 xcb_xkb_set_map_values_actions (const xcb_xkb_set_map_values_t *S  /**< */)
   6503 {
   6504     return /* values */ S->actions;
   6505 }
   6506 
   6507 
   6508 /*****************************************************************************
   6509  **
   6510  ** int xcb_xkb_set_map_values_actions_length
   6511  **
   6512  ** @param const xcb_xkb_set_map_values_t *R
   6513  ** @returns int
   6514  **
   6515  *****************************************************************************/
   6516 
   6517 int
   6518 xcb_xkb_set_map_values_actions_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6519                                        const xcb_xkb_set_map_values_t *S  /**< */)
   6520 {
   6521     return R->totalActions;
   6522 }
   6523 
   6524 
   6525 /*****************************************************************************
   6526  **
   6527  ** xcb_xkb_action_iterator_t xcb_xkb_set_map_values_actions_iterator
   6528  **
   6529  ** @param const xcb_xkb_set_map_values_t *R
   6530  ** @returns xcb_xkb_action_iterator_t
   6531  **
   6532  *****************************************************************************/
   6533 
   6534 xcb_xkb_action_iterator_t
   6535 xcb_xkb_set_map_values_actions_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6536                                          const xcb_xkb_set_map_values_t *S  /**< */)
   6537 {
   6538     xcb_xkb_action_iterator_t i;
   6539     i.data = /* values */ S->actions;
   6540     i.rem = R->totalActions;
   6541     i.index = (char *) i.data - (char *) S;
   6542     return i;
   6543 }
   6544 
   6545 
   6546 /*****************************************************************************
   6547  **
   6548  ** xcb_xkb_set_behavior_t * xcb_xkb_set_map_values_behaviors
   6549  **
   6550  ** @param const xcb_xkb_set_map_values_t *S
   6551  ** @returns xcb_xkb_set_behavior_t *
   6552  **
   6553  *****************************************************************************/
   6554 
   6555 xcb_xkb_set_behavior_t *
   6556 xcb_xkb_set_map_values_behaviors (const xcb_xkb_set_map_values_t *S  /**< */)
   6557 {
   6558     return /* values */ S->behaviors;
   6559 }
   6560 
   6561 
   6562 /*****************************************************************************
   6563  **
   6564  ** int xcb_xkb_set_map_values_behaviors_length
   6565  **
   6566  ** @param const xcb_xkb_set_map_values_t *R
   6567  ** @returns int
   6568  **
   6569  *****************************************************************************/
   6570 
   6571 int
   6572 xcb_xkb_set_map_values_behaviors_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6573                                          const xcb_xkb_set_map_values_t *S  /**< */)
   6574 {
   6575     return R->totalKeyBehaviors;
   6576 }
   6577 
   6578 
   6579 /*****************************************************************************
   6580  **
   6581  ** xcb_xkb_set_behavior_iterator_t xcb_xkb_set_map_values_behaviors_iterator
   6582  **
   6583  ** @param const xcb_xkb_set_map_values_t *R
   6584  ** @returns xcb_xkb_set_behavior_iterator_t
   6585  **
   6586  *****************************************************************************/
   6587 
   6588 xcb_xkb_set_behavior_iterator_t
   6589 xcb_xkb_set_map_values_behaviors_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6590                                            const xcb_xkb_set_map_values_t *S  /**< */)
   6591 {
   6592     xcb_xkb_set_behavior_iterator_t i;
   6593     i.data = /* values */ S->behaviors;
   6594     i.rem = R->totalKeyBehaviors;
   6595     i.index = (char *) i.data - (char *) S;
   6596     return i;
   6597 }
   6598 
   6599 
   6600 /*****************************************************************************
   6601  **
   6602  ** uint8_t * xcb_xkb_set_map_values_vmods
   6603  **
   6604  ** @param const xcb_xkb_set_map_values_t *S
   6605  ** @returns uint8_t *
   6606  **
   6607  *****************************************************************************/
   6608 
   6609 uint8_t *
   6610 xcb_xkb_set_map_values_vmods (const xcb_xkb_set_map_values_t *S  /**< */)
   6611 {
   6612     return /* values */ S->vmods;
   6613 }
   6614 
   6615 
   6616 /*****************************************************************************
   6617  **
   6618  ** int xcb_xkb_set_map_values_vmods_length
   6619  **
   6620  ** @param const xcb_xkb_set_map_values_t *R
   6621  ** @returns int
   6622  **
   6623  *****************************************************************************/
   6624 
   6625 int
   6626 xcb_xkb_set_map_values_vmods_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6627                                      const xcb_xkb_set_map_values_t *S  /**< */)
   6628 {
   6629     return xcb_popcount(R->virtualMods);
   6630 }
   6631 
   6632 
   6633 /*****************************************************************************
   6634  **
   6635  ** xcb_generic_iterator_t xcb_xkb_set_map_values_vmods_end
   6636  **
   6637  ** @param const xcb_xkb_set_map_values_t *R
   6638  ** @returns xcb_generic_iterator_t
   6639  **
   6640  *****************************************************************************/
   6641 
   6642 xcb_generic_iterator_t
   6643 xcb_xkb_set_map_values_vmods_end (const xcb_xkb_set_map_request_t *R  /**< */,
   6644                                   const xcb_xkb_set_map_values_t *S  /**< */)
   6645 {
   6646     xcb_generic_iterator_t i;
   6647     i.data = /* values */ S->vmods + xcb_popcount(R->virtualMods);
   6648     i.rem = 0;
   6649     i.index = (char *) i.data - (char *) S;
   6650     return i;
   6651 }
   6652 
   6653 
   6654 /*****************************************************************************
   6655  **
   6656  ** xcb_xkb_set_explicit_t * xcb_xkb_set_map_values_explicit
   6657  **
   6658  ** @param const xcb_xkb_set_map_values_t *S
   6659  ** @returns xcb_xkb_set_explicit_t *
   6660  **
   6661  *****************************************************************************/
   6662 
   6663 xcb_xkb_set_explicit_t *
   6664 xcb_xkb_set_map_values_explicit (const xcb_xkb_set_map_values_t *S  /**< */)
   6665 {
   6666     return /* values */ S->explicit;
   6667 }
   6668 
   6669 
   6670 /*****************************************************************************
   6671  **
   6672  ** int xcb_xkb_set_map_values_explicit_length
   6673  **
   6674  ** @param const xcb_xkb_set_map_values_t *R
   6675  ** @returns int
   6676  **
   6677  *****************************************************************************/
   6678 
   6679 int
   6680 xcb_xkb_set_map_values_explicit_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6681                                         const xcb_xkb_set_map_values_t *S  /**< */)
   6682 {
   6683     return R->totalKeyExplicit;
   6684 }
   6685 
   6686 
   6687 /*****************************************************************************
   6688  **
   6689  ** xcb_xkb_set_explicit_iterator_t xcb_xkb_set_map_values_explicit_iterator
   6690  **
   6691  ** @param const xcb_xkb_set_map_values_t *R
   6692  ** @returns xcb_xkb_set_explicit_iterator_t
   6693  **
   6694  *****************************************************************************/
   6695 
   6696 xcb_xkb_set_explicit_iterator_t
   6697 xcb_xkb_set_map_values_explicit_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6698                                           const xcb_xkb_set_map_values_t *S  /**< */)
   6699 {
   6700     xcb_xkb_set_explicit_iterator_t i;
   6701     i.data = /* values */ S->explicit;
   6702     i.rem = R->totalKeyExplicit;
   6703     i.index = (char *) i.data - (char *) S;
   6704     return i;
   6705 }
   6706 
   6707 
   6708 /*****************************************************************************
   6709  **
   6710  ** xcb_xkb_key_mod_map_t * xcb_xkb_set_map_values_modmap
   6711  **
   6712  ** @param const xcb_xkb_set_map_values_t *S
   6713  ** @returns xcb_xkb_key_mod_map_t *
   6714  **
   6715  *****************************************************************************/
   6716 
   6717 xcb_xkb_key_mod_map_t *
   6718 xcb_xkb_set_map_values_modmap (const xcb_xkb_set_map_values_t *S  /**< */)
   6719 {
   6720     return /* values */ S->modmap;
   6721 }
   6722 
   6723 
   6724 /*****************************************************************************
   6725  **
   6726  ** int xcb_xkb_set_map_values_modmap_length
   6727  **
   6728  ** @param const xcb_xkb_set_map_values_t *R
   6729  ** @returns int
   6730  **
   6731  *****************************************************************************/
   6732 
   6733 int
   6734 xcb_xkb_set_map_values_modmap_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6735                                       const xcb_xkb_set_map_values_t *S  /**< */)
   6736 {
   6737     return R->totalModMapKeys;
   6738 }
   6739 
   6740 
   6741 /*****************************************************************************
   6742  **
   6743  ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_set_map_values_modmap_iterator
   6744  **
   6745  ** @param const xcb_xkb_set_map_values_t *R
   6746  ** @returns xcb_xkb_key_mod_map_iterator_t
   6747  **
   6748  *****************************************************************************/
   6749 
   6750 xcb_xkb_key_mod_map_iterator_t
   6751 xcb_xkb_set_map_values_modmap_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6752                                         const xcb_xkb_set_map_values_t *S  /**< */)
   6753 {
   6754     xcb_xkb_key_mod_map_iterator_t i;
   6755     i.data = /* values */ S->modmap;
   6756     i.rem = R->totalModMapKeys;
   6757     i.index = (char *) i.data - (char *) S;
   6758     return i;
   6759 }
   6760 
   6761 
   6762 /*****************************************************************************
   6763  **
   6764  ** xcb_xkb_key_v_mod_map_t * xcb_xkb_set_map_values_vmodmap
   6765  **
   6766  ** @param const xcb_xkb_set_map_values_t *S
   6767  ** @returns xcb_xkb_key_v_mod_map_t *
   6768  **
   6769  *****************************************************************************/
   6770 
   6771 xcb_xkb_key_v_mod_map_t *
   6772 xcb_xkb_set_map_values_vmodmap (const xcb_xkb_set_map_values_t *S  /**< */)
   6773 {
   6774     return /* values */ S->vmodmap;
   6775 }
   6776 
   6777 
   6778 /*****************************************************************************
   6779  **
   6780  ** int xcb_xkb_set_map_values_vmodmap_length
   6781  **
   6782  ** @param const xcb_xkb_set_map_values_t *R
   6783  ** @returns int
   6784  **
   6785  *****************************************************************************/
   6786 
   6787 int
   6788 xcb_xkb_set_map_values_vmodmap_length (const xcb_xkb_set_map_request_t *R  /**< */,
   6789                                        const xcb_xkb_set_map_values_t *S  /**< */)
   6790 {
   6791     return R->totalVModMapKeys;
   6792 }
   6793 
   6794 
   6795 /*****************************************************************************
   6796  **
   6797  ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_set_map_values_vmodmap_iterator
   6798  **
   6799  ** @param const xcb_xkb_set_map_values_t *R
   6800  ** @returns xcb_xkb_key_v_mod_map_iterator_t
   6801  **
   6802  *****************************************************************************/
   6803 
   6804 xcb_xkb_key_v_mod_map_iterator_t
   6805 xcb_xkb_set_map_values_vmodmap_iterator (const xcb_xkb_set_map_request_t *R  /**< */,
   6806                                          const xcb_xkb_set_map_values_t *S  /**< */)
   6807 {
   6808     xcb_xkb_key_v_mod_map_iterator_t i;
   6809     i.data = /* values */ S->vmodmap;
   6810     i.rem = R->totalVModMapKeys;
   6811     i.index = (char *) i.data - (char *) S;
   6812     return i;
   6813 }
   6814 
   6815 int
   6816 xcb_xkb_set_map_values_serialize (void                           **_buffer  /**< */,
   6817                                   uint8_t                          nTypes  /**< */,
   6818                                   uint8_t                          nKeySyms  /**< */,
   6819                                   uint8_t                          nKeyActions  /**< */,
   6820                                   uint16_t                         totalActions  /**< */,
   6821                                   uint8_t                          totalKeyBehaviors  /**< */,
   6822                                   uint16_t                         virtualMods  /**< */,
   6823                                   uint8_t                          totalKeyExplicit  /**< */,
   6824                                   uint8_t                          totalModMapKeys  /**< */,
   6825                                   uint8_t                          totalVModMapKeys  /**< */,
   6826                                   uint16_t                         present  /**< */,
   6827                                   const xcb_xkb_set_map_values_t  *_aux  /**< */)
   6828 {
   6829     char *xcb_out = *_buffer;
   6830     unsigned int xcb_buffer_len = 0;
   6831     unsigned int xcb_align_to = 0;
   6832 
   6833     unsigned int xcb_pad = 0;
   6834     char xcb_pad0[3] = {0, 0, 0};
   6835     struct iovec xcb_parts[19];
   6836     unsigned int xcb_parts_idx = 0;
   6837     unsigned int xcb_block_len = 0;
   6838     unsigned int i;
   6839     char *xcb_tmp;
   6840 
   6841     if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
   6842         /* insert padding */
   6843         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6844         xcb_buffer_len += xcb_block_len + xcb_pad;
   6845         if (0 != xcb_pad) {
   6846             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6847             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6848             xcb_parts_idx++;
   6849             xcb_pad = 0;
   6850         }
   6851         xcb_block_len = 0;
   6852         /* types */
   6853         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types;
   6854         xcb_parts[xcb_parts_idx].iov_len = 0;
   6855         xcb_tmp = (char *) _aux->types;
   6856         for(i=0; i<nTypes; i++) {
   6857             xcb_block_len = xcb_xkb_set_key_type_sizeof(xcb_tmp);
   6858             xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
   6859         }
   6860         xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
   6861         xcb_parts_idx++;
   6862         xcb_align_to = ALIGNOF(xcb_xkb_set_key_type_t);
   6863     }
   6864     if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
   6865         /* insert padding */
   6866         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6867         xcb_buffer_len += xcb_block_len + xcb_pad;
   6868         if (0 != xcb_pad) {
   6869             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6870             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6871             xcb_parts_idx++;
   6872             xcb_pad = 0;
   6873         }
   6874         xcb_block_len = 0;
   6875         /* syms */
   6876         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms;
   6877         xcb_parts[xcb_parts_idx].iov_len = 0;
   6878         xcb_tmp = (char *) _aux->syms;
   6879         for(i=0; i<nKeySyms; i++) {
   6880             xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
   6881             xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
   6882         }
   6883         xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
   6884         xcb_parts_idx++;
   6885         xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
   6886     }
   6887     if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
   6888         /* insert padding */
   6889         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6890         xcb_buffer_len += xcb_block_len + xcb_pad;
   6891         if (0 != xcb_pad) {
   6892             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6893             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6894             xcb_parts_idx++;
   6895             xcb_pad = 0;
   6896         }
   6897         xcb_block_len = 0;
   6898         /* actionsCount */
   6899         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->actionsCount;
   6900         xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
   6901         xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t);
   6902         xcb_parts_idx++;
   6903         xcb_align_to = ALIGNOF(uint8_t);
   6904         /* insert padding */
   6905         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6906         xcb_buffer_len += xcb_block_len + xcb_pad;
   6907         if (0 != xcb_pad) {
   6908             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6909             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6910             xcb_parts_idx++;
   6911             xcb_pad = 0;
   6912         }
   6913         xcb_block_len = 0;
   6914         /* actions */
   6915         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->actions;
   6916         xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
   6917         xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t);
   6918         xcb_parts_idx++;
   6919         xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   6920     }
   6921     if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
   6922         /* insert padding */
   6923         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6924         xcb_buffer_len += xcb_block_len + xcb_pad;
   6925         if (0 != xcb_pad) {
   6926             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6927             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6928             xcb_parts_idx++;
   6929             xcb_pad = 0;
   6930         }
   6931         xcb_block_len = 0;
   6932         /* behaviors */
   6933         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors;
   6934         xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   6935         xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   6936         xcb_parts_idx++;
   6937         xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
   6938     }
   6939     if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
   6940         /* insert padding */
   6941         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6942         xcb_buffer_len += xcb_block_len + xcb_pad;
   6943         if (0 != xcb_pad) {
   6944             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6945             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6946             xcb_parts_idx++;
   6947             xcb_pad = 0;
   6948         }
   6949         xcb_block_len = 0;
   6950         /* vmods */
   6951         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods;
   6952         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   6953         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   6954         xcb_parts_idx++;
   6955         xcb_align_to = ALIGNOF(uint8_t);
   6956     }
   6957     if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
   6958         /* insert padding */
   6959         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6960         xcb_buffer_len += xcb_block_len + xcb_pad;
   6961         if (0 != xcb_pad) {
   6962             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6963             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6964             xcb_parts_idx++;
   6965             xcb_pad = 0;
   6966         }
   6967         xcb_block_len = 0;
   6968         /* explicit */
   6969         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit;
   6970         xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   6971         xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   6972         xcb_parts_idx++;
   6973         xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
   6974     }
   6975     if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
   6976         /* insert padding */
   6977         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6978         xcb_buffer_len += xcb_block_len + xcb_pad;
   6979         if (0 != xcb_pad) {
   6980             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6981             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   6982             xcb_parts_idx++;
   6983             xcb_pad = 0;
   6984         }
   6985         xcb_block_len = 0;
   6986         /* modmap */
   6987         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap;
   6988         xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   6989         xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   6990         xcb_parts_idx++;
   6991         xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
   6992     }
   6993     if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
   6994         /* insert padding */
   6995         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   6996         xcb_buffer_len += xcb_block_len + xcb_pad;
   6997         if (0 != xcb_pad) {
   6998             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   6999             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   7000             xcb_parts_idx++;
   7001             xcb_pad = 0;
   7002         }
   7003         xcb_block_len = 0;
   7004         /* vmodmap */
   7005         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap;
   7006         xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   7007         xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   7008         xcb_parts_idx++;
   7009         xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
   7010     }
   7011     /* insert padding */
   7012     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7013     xcb_buffer_len += xcb_block_len + xcb_pad;
   7014     if (0 != xcb_pad) {
   7015         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   7016         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   7017         xcb_parts_idx++;
   7018         xcb_pad = 0;
   7019     }
   7020     xcb_block_len = 0;
   7021 
   7022     if (NULL == xcb_out) {
   7023         /* allocate memory */
   7024         xcb_out = malloc(xcb_buffer_len);
   7025         *_buffer = xcb_out;
   7026     }
   7027 
   7028     xcb_tmp = xcb_out;
   7029     for(i=0; i<xcb_parts_idx; i++) {
   7030         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   7031             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   7032         if (0 != xcb_parts[i].iov_len)
   7033             xcb_tmp += xcb_parts[i].iov_len;
   7034     }
   7035 
   7036     return xcb_buffer_len;
   7037 }
   7038 
   7039 int
   7040 xcb_xkb_set_map_values_unpack (const void                *_buffer  /**< */,
   7041                                uint8_t                    nTypes  /**< */,
   7042                                uint8_t                    nKeySyms  /**< */,
   7043                                uint8_t                    nKeyActions  /**< */,
   7044                                uint16_t                   totalActions  /**< */,
   7045                                uint8_t                    totalKeyBehaviors  /**< */,
   7046                                uint16_t                   virtualMods  /**< */,
   7047                                uint8_t                    totalKeyExplicit  /**< */,
   7048                                uint8_t                    totalModMapKeys  /**< */,
   7049                                uint8_t                    totalVModMapKeys  /**< */,
   7050                                uint16_t                   present  /**< */,
   7051                                xcb_xkb_set_map_values_t  *_aux  /**< */)
   7052 {
   7053     char *xcb_tmp = (char *)_buffer;
   7054     unsigned int xcb_buffer_len = 0;
   7055     unsigned int xcb_block_len = 0;
   7056     unsigned int xcb_pad = 0;
   7057     unsigned int xcb_align_to = 0;
   7058 
   7059     unsigned int i;
   7060     unsigned int xcb_tmp_len;
   7061 
   7062     if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
   7063         /* insert padding */
   7064         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7065         xcb_buffer_len += xcb_block_len + xcb_pad;
   7066         if (0 != xcb_pad) {
   7067             xcb_tmp += xcb_pad;
   7068             xcb_pad = 0;
   7069         }
   7070         xcb_block_len = 0;
   7071         /* types */
   7072         _aux->types = (xcb_xkb_set_key_type_t *)xcb_tmp;
   7073         for(i=0; i<nTypes; i++) {
   7074             xcb_tmp_len = xcb_xkb_set_key_type_sizeof(xcb_tmp);
   7075             xcb_block_len += xcb_tmp_len;
   7076             xcb_tmp += xcb_tmp_len;
   7077         }
   7078         xcb_align_to = ALIGNOF(xcb_xkb_set_key_type_t);
   7079     }
   7080     if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
   7081         /* insert padding */
   7082         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7083         xcb_buffer_len += xcb_block_len + xcb_pad;
   7084         if (0 != xcb_pad) {
   7085             xcb_tmp += xcb_pad;
   7086             xcb_pad = 0;
   7087         }
   7088         xcb_block_len = 0;
   7089         /* syms */
   7090         _aux->syms = (xcb_xkb_key_sym_map_t *)xcb_tmp;
   7091         for(i=0; i<nKeySyms; i++) {
   7092             xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
   7093             xcb_block_len += xcb_tmp_len;
   7094             xcb_tmp += xcb_tmp_len;
   7095         }
   7096         xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
   7097     }
   7098     if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
   7099         /* insert padding */
   7100         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7101         xcb_buffer_len += xcb_block_len + xcb_pad;
   7102         if (0 != xcb_pad) {
   7103             xcb_tmp += xcb_pad;
   7104             xcb_pad = 0;
   7105         }
   7106         xcb_block_len = 0;
   7107         /* actionsCount */
   7108         _aux->actionsCount = (uint8_t *)xcb_tmp;
   7109         xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
   7110         xcb_tmp += xcb_block_len;
   7111         xcb_align_to = ALIGNOF(uint8_t);
   7112         /* insert padding */
   7113         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7114         xcb_buffer_len += xcb_block_len + xcb_pad;
   7115         if (0 != xcb_pad) {
   7116             xcb_tmp += xcb_pad;
   7117             xcb_pad = 0;
   7118         }
   7119         xcb_block_len = 0;
   7120         /* actions */
   7121         _aux->actions = (xcb_xkb_action_t *)xcb_tmp;
   7122         xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
   7123         xcb_tmp += xcb_block_len;
   7124         xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   7125     }
   7126     if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
   7127         /* insert padding */
   7128         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7129         xcb_buffer_len += xcb_block_len + xcb_pad;
   7130         if (0 != xcb_pad) {
   7131             xcb_tmp += xcb_pad;
   7132             xcb_pad = 0;
   7133         }
   7134         xcb_block_len = 0;
   7135         /* behaviors */
   7136         _aux->behaviors = (xcb_xkb_set_behavior_t *)xcb_tmp;
   7137         xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   7138         xcb_tmp += xcb_block_len;
   7139         xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
   7140     }
   7141     if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
   7142         /* insert padding */
   7143         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7144         xcb_buffer_len += xcb_block_len + xcb_pad;
   7145         if (0 != xcb_pad) {
   7146             xcb_tmp += xcb_pad;
   7147             xcb_pad = 0;
   7148         }
   7149         xcb_block_len = 0;
   7150         /* vmods */
   7151         _aux->vmods = (uint8_t *)xcb_tmp;
   7152         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   7153         xcb_tmp += xcb_block_len;
   7154         xcb_align_to = ALIGNOF(uint8_t);
   7155     }
   7156     if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
   7157         /* insert padding */
   7158         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7159         xcb_buffer_len += xcb_block_len + xcb_pad;
   7160         if (0 != xcb_pad) {
   7161             xcb_tmp += xcb_pad;
   7162             xcb_pad = 0;
   7163         }
   7164         xcb_block_len = 0;
   7165         /* explicit */
   7166         _aux->explicit = (xcb_xkb_set_explicit_t *)xcb_tmp;
   7167         xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   7168         xcb_tmp += xcb_block_len;
   7169         xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
   7170     }
   7171     if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
   7172         /* insert padding */
   7173         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7174         xcb_buffer_len += xcb_block_len + xcb_pad;
   7175         if (0 != xcb_pad) {
   7176             xcb_tmp += xcb_pad;
   7177             xcb_pad = 0;
   7178         }
   7179         xcb_block_len = 0;
   7180         /* modmap */
   7181         _aux->modmap = (xcb_xkb_key_mod_map_t *)xcb_tmp;
   7182         xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   7183         xcb_tmp += xcb_block_len;
   7184         xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
   7185     }
   7186     if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
   7187         /* insert padding */
   7188         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7189         xcb_buffer_len += xcb_block_len + xcb_pad;
   7190         if (0 != xcb_pad) {
   7191             xcb_tmp += xcb_pad;
   7192             xcb_pad = 0;
   7193         }
   7194         xcb_block_len = 0;
   7195         /* vmodmap */
   7196         _aux->vmodmap = (xcb_xkb_key_v_mod_map_t *)xcb_tmp;
   7197         xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   7198         xcb_tmp += xcb_block_len;
   7199         xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
   7200     }
   7201     /* insert padding */
   7202     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7203     xcb_buffer_len += xcb_block_len + xcb_pad;
   7204     if (0 != xcb_pad) {
   7205         xcb_tmp += xcb_pad;
   7206         xcb_pad = 0;
   7207     }
   7208     xcb_block_len = 0;
   7209 
   7210     return xcb_buffer_len;
   7211 }
   7212 
   7213 int
   7214 xcb_xkb_set_map_values_sizeof (const void  *_buffer  /**< */,
   7215                                uint8_t      nTypes  /**< */,
   7216                                uint8_t      nKeySyms  /**< */,
   7217                                uint8_t      nKeyActions  /**< */,
   7218                                uint16_t     totalActions  /**< */,
   7219                                uint8_t      totalKeyBehaviors  /**< */,
   7220                                uint16_t     virtualMods  /**< */,
   7221                                uint8_t      totalKeyExplicit  /**< */,
   7222                                uint8_t      totalModMapKeys  /**< */,
   7223                                uint8_t      totalVModMapKeys  /**< */,
   7224                                uint16_t     present  /**< */)
   7225 {
   7226     xcb_xkb_set_map_values_t _aux;
   7227     return xcb_xkb_set_map_values_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux);
   7228 }
   7229 
   7230 
   7231 /*****************************************************************************
   7232  **
   7233  ** xcb_void_cookie_t xcb_xkb_set_map_checked
   7234  **
   7235  ** @param xcb_connection_t      *c
   7236  ** @param xcb_xkb_device_spec_t  deviceSpec
   7237  ** @param uint16_t               present
   7238  ** @param uint16_t               flags
   7239  ** @param xcb_keycode_t          minKeyCode
   7240  ** @param xcb_keycode_t          maxKeyCode
   7241  ** @param uint8_t                firstType
   7242  ** @param uint8_t                nTypes
   7243  ** @param xcb_keycode_t          firstKeySym
   7244  ** @param uint8_t                nKeySyms
   7245  ** @param uint16_t               totalSyms
   7246  ** @param xcb_keycode_t          firstKeyAction
   7247  ** @param uint8_t                nKeyActions
   7248  ** @param uint16_t               totalActions
   7249  ** @param xcb_keycode_t          firstKeyBehavior
   7250  ** @param uint8_t                nKeyBehaviors
   7251  ** @param uint8_t                totalKeyBehaviors
   7252  ** @param xcb_keycode_t          firstKeyExplicit
   7253  ** @param uint8_t                nKeyExplicit
   7254  ** @param uint8_t                totalKeyExplicit
   7255  ** @param xcb_keycode_t          firstModMapKey
   7256  ** @param uint8_t                nModMapKeys
   7257  ** @param uint8_t                totalModMapKeys
   7258  ** @param xcb_keycode_t          firstVModMapKey
   7259  ** @param uint8_t                nVModMapKeys
   7260  ** @param uint8_t                totalVModMapKeys
   7261  ** @param uint16_t               virtualMods
   7262  ** @param const void            *values
   7263  ** @returns xcb_void_cookie_t
   7264  **
   7265  *****************************************************************************/
   7266 
   7267 xcb_void_cookie_t
   7268 xcb_xkb_set_map_checked (xcb_connection_t      *c  /**< */,
   7269                          xcb_xkb_device_spec_t  deviceSpec  /**< */,
   7270                          uint16_t               present  /**< */,
   7271                          uint16_t               flags  /**< */,
   7272                          xcb_keycode_t          minKeyCode  /**< */,
   7273                          xcb_keycode_t          maxKeyCode  /**< */,
   7274                          uint8_t                firstType  /**< */,
   7275                          uint8_t                nTypes  /**< */,
   7276                          xcb_keycode_t          firstKeySym  /**< */,
   7277                          uint8_t                nKeySyms  /**< */,
   7278                          uint16_t               totalSyms  /**< */,
   7279                          xcb_keycode_t          firstKeyAction  /**< */,
   7280                          uint8_t                nKeyActions  /**< */,
   7281                          uint16_t               totalActions  /**< */,
   7282                          xcb_keycode_t          firstKeyBehavior  /**< */,
   7283                          uint8_t                nKeyBehaviors  /**< */,
   7284                          uint8_t                totalKeyBehaviors  /**< */,
   7285                          xcb_keycode_t          firstKeyExplicit  /**< */,
   7286                          uint8_t                nKeyExplicit  /**< */,
   7287                          uint8_t                totalKeyExplicit  /**< */,
   7288                          xcb_keycode_t          firstModMapKey  /**< */,
   7289                          uint8_t                nModMapKeys  /**< */,
   7290                          uint8_t                totalModMapKeys  /**< */,
   7291                          xcb_keycode_t          firstVModMapKey  /**< */,
   7292                          uint8_t                nVModMapKeys  /**< */,
   7293                          uint8_t                totalVModMapKeys  /**< */,
   7294                          uint16_t               virtualMods  /**< */,
   7295                          const void            *values  /**< */)
   7296 {
   7297     static const xcb_protocol_request_t xcb_req = {
   7298         /* count */ 3,
   7299         /* ext */ &xcb_xkb_id,
   7300         /* opcode */ XCB_XKB_SET_MAP,
   7301         /* isvoid */ 1
   7302     };
   7303 
   7304     struct iovec xcb_parts[5];
   7305     xcb_void_cookie_t xcb_ret;
   7306     xcb_xkb_set_map_request_t xcb_out;
   7307 
   7308     xcb_out.deviceSpec = deviceSpec;
   7309     xcb_out.present = present;
   7310     xcb_out.flags = flags;
   7311     xcb_out.minKeyCode = minKeyCode;
   7312     xcb_out.maxKeyCode = maxKeyCode;
   7313     xcb_out.firstType = firstType;
   7314     xcb_out.nTypes = nTypes;
   7315     xcb_out.firstKeySym = firstKeySym;
   7316     xcb_out.nKeySyms = nKeySyms;
   7317     xcb_out.totalSyms = totalSyms;
   7318     xcb_out.firstKeyAction = firstKeyAction;
   7319     xcb_out.nKeyActions = nKeyActions;
   7320     xcb_out.totalActions = totalActions;
   7321     xcb_out.firstKeyBehavior = firstKeyBehavior;
   7322     xcb_out.nKeyBehaviors = nKeyBehaviors;
   7323     xcb_out.totalKeyBehaviors = totalKeyBehaviors;
   7324     xcb_out.firstKeyExplicit = firstKeyExplicit;
   7325     xcb_out.nKeyExplicit = nKeyExplicit;
   7326     xcb_out.totalKeyExplicit = totalKeyExplicit;
   7327     xcb_out.firstModMapKey = firstModMapKey;
   7328     xcb_out.nModMapKeys = nModMapKeys;
   7329     xcb_out.totalModMapKeys = totalModMapKeys;
   7330     xcb_out.firstVModMapKey = firstVModMapKey;
   7331     xcb_out.nVModMapKeys = nVModMapKeys;
   7332     xcb_out.totalVModMapKeys = totalVModMapKeys;
   7333     xcb_out.virtualMods = virtualMods;
   7334 
   7335     xcb_parts[2].iov_base = (char *) &xcb_out;
   7336     xcb_parts[2].iov_len = sizeof(xcb_out);
   7337     xcb_parts[3].iov_base = 0;
   7338     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7339     /* xcb_xkb_set_map_values_t values */
   7340     xcb_parts[4].iov_base = (char *) values;
   7341     xcb_parts[4].iov_len =
   7342       xcb_xkb_set_map_values_sizeof (values, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present);
   7343 
   7344     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7345     return xcb_ret;
   7346 }
   7347 
   7348 
   7349 /*****************************************************************************
   7350  **
   7351  ** xcb_void_cookie_t xcb_xkb_set_map
   7352  **
   7353  ** @param xcb_connection_t      *c
   7354  ** @param xcb_xkb_device_spec_t  deviceSpec
   7355  ** @param uint16_t               present
   7356  ** @param uint16_t               flags
   7357  ** @param xcb_keycode_t          minKeyCode
   7358  ** @param xcb_keycode_t          maxKeyCode
   7359  ** @param uint8_t                firstType
   7360  ** @param uint8_t                nTypes
   7361  ** @param xcb_keycode_t          firstKeySym
   7362  ** @param uint8_t                nKeySyms
   7363  ** @param uint16_t               totalSyms
   7364  ** @param xcb_keycode_t          firstKeyAction
   7365  ** @param uint8_t                nKeyActions
   7366  ** @param uint16_t               totalActions
   7367  ** @param xcb_keycode_t          firstKeyBehavior
   7368  ** @param uint8_t                nKeyBehaviors
   7369  ** @param uint8_t                totalKeyBehaviors
   7370  ** @param xcb_keycode_t          firstKeyExplicit
   7371  ** @param uint8_t                nKeyExplicit
   7372  ** @param uint8_t                totalKeyExplicit
   7373  ** @param xcb_keycode_t          firstModMapKey
   7374  ** @param uint8_t                nModMapKeys
   7375  ** @param uint8_t                totalModMapKeys
   7376  ** @param xcb_keycode_t          firstVModMapKey
   7377  ** @param uint8_t                nVModMapKeys
   7378  ** @param uint8_t                totalVModMapKeys
   7379  ** @param uint16_t               virtualMods
   7380  ** @param const void            *values
   7381  ** @returns xcb_void_cookie_t
   7382  **
   7383  *****************************************************************************/
   7384 
   7385 xcb_void_cookie_t
   7386 xcb_xkb_set_map (xcb_connection_t      *c  /**< */,
   7387                  xcb_xkb_device_spec_t  deviceSpec  /**< */,
   7388                  uint16_t               present  /**< */,
   7389                  uint16_t               flags  /**< */,
   7390                  xcb_keycode_t          minKeyCode  /**< */,
   7391                  xcb_keycode_t          maxKeyCode  /**< */,
   7392                  uint8_t                firstType  /**< */,
   7393                  uint8_t                nTypes  /**< */,
   7394                  xcb_keycode_t          firstKeySym  /**< */,
   7395                  uint8_t                nKeySyms  /**< */,
   7396                  uint16_t               totalSyms  /**< */,
   7397                  xcb_keycode_t          firstKeyAction  /**< */,
   7398                  uint8_t                nKeyActions  /**< */,
   7399                  uint16_t               totalActions  /**< */,
   7400                  xcb_keycode_t          firstKeyBehavior  /**< */,
   7401                  uint8_t                nKeyBehaviors  /**< */,
   7402                  uint8_t                totalKeyBehaviors  /**< */,
   7403                  xcb_keycode_t          firstKeyExplicit  /**< */,
   7404                  uint8_t                nKeyExplicit  /**< */,
   7405                  uint8_t                totalKeyExplicit  /**< */,
   7406                  xcb_keycode_t          firstModMapKey  /**< */,
   7407                  uint8_t                nModMapKeys  /**< */,
   7408                  uint8_t                totalModMapKeys  /**< */,
   7409                  xcb_keycode_t          firstVModMapKey  /**< */,
   7410                  uint8_t                nVModMapKeys  /**< */,
   7411                  uint8_t                totalVModMapKeys  /**< */,
   7412                  uint16_t               virtualMods  /**< */,
   7413                  const void            *values  /**< */)
   7414 {
   7415     static const xcb_protocol_request_t xcb_req = {
   7416         /* count */ 3,
   7417         /* ext */ &xcb_xkb_id,
   7418         /* opcode */ XCB_XKB_SET_MAP,
   7419         /* isvoid */ 1
   7420     };
   7421 
   7422     struct iovec xcb_parts[5];
   7423     xcb_void_cookie_t xcb_ret;
   7424     xcb_xkb_set_map_request_t xcb_out;
   7425 
   7426     xcb_out.deviceSpec = deviceSpec;
   7427     xcb_out.present = present;
   7428     xcb_out.flags = flags;
   7429     xcb_out.minKeyCode = minKeyCode;
   7430     xcb_out.maxKeyCode = maxKeyCode;
   7431     xcb_out.firstType = firstType;
   7432     xcb_out.nTypes = nTypes;
   7433     xcb_out.firstKeySym = firstKeySym;
   7434     xcb_out.nKeySyms = nKeySyms;
   7435     xcb_out.totalSyms = totalSyms;
   7436     xcb_out.firstKeyAction = firstKeyAction;
   7437     xcb_out.nKeyActions = nKeyActions;
   7438     xcb_out.totalActions = totalActions;
   7439     xcb_out.firstKeyBehavior = firstKeyBehavior;
   7440     xcb_out.nKeyBehaviors = nKeyBehaviors;
   7441     xcb_out.totalKeyBehaviors = totalKeyBehaviors;
   7442     xcb_out.firstKeyExplicit = firstKeyExplicit;
   7443     xcb_out.nKeyExplicit = nKeyExplicit;
   7444     xcb_out.totalKeyExplicit = totalKeyExplicit;
   7445     xcb_out.firstModMapKey = firstModMapKey;
   7446     xcb_out.nModMapKeys = nModMapKeys;
   7447     xcb_out.totalModMapKeys = totalModMapKeys;
   7448     xcb_out.firstVModMapKey = firstVModMapKey;
   7449     xcb_out.nVModMapKeys = nVModMapKeys;
   7450     xcb_out.totalVModMapKeys = totalVModMapKeys;
   7451     xcb_out.virtualMods = virtualMods;
   7452 
   7453     xcb_parts[2].iov_base = (char *) &xcb_out;
   7454     xcb_parts[2].iov_len = sizeof(xcb_out);
   7455     xcb_parts[3].iov_base = 0;
   7456     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7457     /* xcb_xkb_set_map_values_t values */
   7458     xcb_parts[4].iov_base = (char *) values;
   7459     xcb_parts[4].iov_len =
   7460       xcb_xkb_set_map_values_sizeof (values, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present);
   7461 
   7462     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7463     return xcb_ret;
   7464 }
   7465 
   7466 
   7467 /*****************************************************************************
   7468  **
   7469  ** xcb_void_cookie_t xcb_xkb_set_map_aux_checked
   7470  **
   7471  ** @param xcb_connection_t               *c
   7472  ** @param xcb_xkb_device_spec_t           deviceSpec
   7473  ** @param uint16_t                        present
   7474  ** @param uint16_t                        flags
   7475  ** @param xcb_keycode_t                   minKeyCode
   7476  ** @param xcb_keycode_t                   maxKeyCode
   7477  ** @param uint8_t                         firstType
   7478  ** @param uint8_t                         nTypes
   7479  ** @param xcb_keycode_t                   firstKeySym
   7480  ** @param uint8_t                         nKeySyms
   7481  ** @param uint16_t                        totalSyms
   7482  ** @param xcb_keycode_t                   firstKeyAction
   7483  ** @param uint8_t                         nKeyActions
   7484  ** @param uint16_t                        totalActions
   7485  ** @param xcb_keycode_t                   firstKeyBehavior
   7486  ** @param uint8_t                         nKeyBehaviors
   7487  ** @param uint8_t                         totalKeyBehaviors
   7488  ** @param xcb_keycode_t                   firstKeyExplicit
   7489  ** @param uint8_t                         nKeyExplicit
   7490  ** @param uint8_t                         totalKeyExplicit
   7491  ** @param xcb_keycode_t                   firstModMapKey
   7492  ** @param uint8_t                         nModMapKeys
   7493  ** @param uint8_t                         totalModMapKeys
   7494  ** @param xcb_keycode_t                   firstVModMapKey
   7495  ** @param uint8_t                         nVModMapKeys
   7496  ** @param uint8_t                         totalVModMapKeys
   7497  ** @param uint16_t                        virtualMods
   7498  ** @param const xcb_xkb_set_map_values_t *values
   7499  ** @returns xcb_void_cookie_t
   7500  **
   7501  *****************************************************************************/
   7502 
   7503 xcb_void_cookie_t
   7504 xcb_xkb_set_map_aux_checked (xcb_connection_t               *c  /**< */,
   7505                              xcb_xkb_device_spec_t           deviceSpec  /**< */,
   7506                              uint16_t                        present  /**< */,
   7507                              uint16_t                        flags  /**< */,
   7508                              xcb_keycode_t                   minKeyCode  /**< */,
   7509                              xcb_keycode_t                   maxKeyCode  /**< */,
   7510                              uint8_t                         firstType  /**< */,
   7511                              uint8_t                         nTypes  /**< */,
   7512                              xcb_keycode_t                   firstKeySym  /**< */,
   7513                              uint8_t                         nKeySyms  /**< */,
   7514                              uint16_t                        totalSyms  /**< */,
   7515                              xcb_keycode_t                   firstKeyAction  /**< */,
   7516                              uint8_t                         nKeyActions  /**< */,
   7517                              uint16_t                        totalActions  /**< */,
   7518                              xcb_keycode_t                   firstKeyBehavior  /**< */,
   7519                              uint8_t                         nKeyBehaviors  /**< */,
   7520                              uint8_t                         totalKeyBehaviors  /**< */,
   7521                              xcb_keycode_t                   firstKeyExplicit  /**< */,
   7522                              uint8_t                         nKeyExplicit  /**< */,
   7523                              uint8_t                         totalKeyExplicit  /**< */,
   7524                              xcb_keycode_t                   firstModMapKey  /**< */,
   7525                              uint8_t                         nModMapKeys  /**< */,
   7526                              uint8_t                         totalModMapKeys  /**< */,
   7527                              xcb_keycode_t                   firstVModMapKey  /**< */,
   7528                              uint8_t                         nVModMapKeys  /**< */,
   7529                              uint8_t                         totalVModMapKeys  /**< */,
   7530                              uint16_t                        virtualMods  /**< */,
   7531                              const xcb_xkb_set_map_values_t *values  /**< */)
   7532 {
   7533     static const xcb_protocol_request_t xcb_req = {
   7534         /* count */ 3,
   7535         /* ext */ &xcb_xkb_id,
   7536         /* opcode */ XCB_XKB_SET_MAP,
   7537         /* isvoid */ 1
   7538     };
   7539 
   7540     struct iovec xcb_parts[5];
   7541     xcb_void_cookie_t xcb_ret;
   7542     xcb_xkb_set_map_request_t xcb_out;
   7543     void *xcb_aux0 = 0;
   7544 
   7545     xcb_out.deviceSpec = deviceSpec;
   7546     xcb_out.present = present;
   7547     xcb_out.flags = flags;
   7548     xcb_out.minKeyCode = minKeyCode;
   7549     xcb_out.maxKeyCode = maxKeyCode;
   7550     xcb_out.firstType = firstType;
   7551     xcb_out.nTypes = nTypes;
   7552     xcb_out.firstKeySym = firstKeySym;
   7553     xcb_out.nKeySyms = nKeySyms;
   7554     xcb_out.totalSyms = totalSyms;
   7555     xcb_out.firstKeyAction = firstKeyAction;
   7556     xcb_out.nKeyActions = nKeyActions;
   7557     xcb_out.totalActions = totalActions;
   7558     xcb_out.firstKeyBehavior = firstKeyBehavior;
   7559     xcb_out.nKeyBehaviors = nKeyBehaviors;
   7560     xcb_out.totalKeyBehaviors = totalKeyBehaviors;
   7561     xcb_out.firstKeyExplicit = firstKeyExplicit;
   7562     xcb_out.nKeyExplicit = nKeyExplicit;
   7563     xcb_out.totalKeyExplicit = totalKeyExplicit;
   7564     xcb_out.firstModMapKey = firstModMapKey;
   7565     xcb_out.nModMapKeys = nModMapKeys;
   7566     xcb_out.totalModMapKeys = totalModMapKeys;
   7567     xcb_out.firstVModMapKey = firstVModMapKey;
   7568     xcb_out.nVModMapKeys = nVModMapKeys;
   7569     xcb_out.totalVModMapKeys = totalVModMapKeys;
   7570     xcb_out.virtualMods = virtualMods;
   7571 
   7572     xcb_parts[2].iov_base = (char *) &xcb_out;
   7573     xcb_parts[2].iov_len = sizeof(xcb_out);
   7574     xcb_parts[3].iov_base = 0;
   7575     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7576     /* xcb_xkb_set_map_values_t values */
   7577     xcb_parts[4].iov_len =
   7578       xcb_xkb_set_map_values_serialize (&xcb_aux0, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, values);
   7579     xcb_parts[4].iov_base = xcb_aux0;
   7580 
   7581     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7582     free(xcb_aux0);
   7583     return xcb_ret;
   7584 }
   7585 
   7586 
   7587 /*****************************************************************************
   7588  **
   7589  ** xcb_void_cookie_t xcb_xkb_set_map_aux
   7590  **
   7591  ** @param xcb_connection_t               *c
   7592  ** @param xcb_xkb_device_spec_t           deviceSpec
   7593  ** @param uint16_t                        present
   7594  ** @param uint16_t                        flags
   7595  ** @param xcb_keycode_t                   minKeyCode
   7596  ** @param xcb_keycode_t                   maxKeyCode
   7597  ** @param uint8_t                         firstType
   7598  ** @param uint8_t                         nTypes
   7599  ** @param xcb_keycode_t                   firstKeySym
   7600  ** @param uint8_t                         nKeySyms
   7601  ** @param uint16_t                        totalSyms
   7602  ** @param xcb_keycode_t                   firstKeyAction
   7603  ** @param uint8_t                         nKeyActions
   7604  ** @param uint16_t                        totalActions
   7605  ** @param xcb_keycode_t                   firstKeyBehavior
   7606  ** @param uint8_t                         nKeyBehaviors
   7607  ** @param uint8_t                         totalKeyBehaviors
   7608  ** @param xcb_keycode_t                   firstKeyExplicit
   7609  ** @param uint8_t                         nKeyExplicit
   7610  ** @param uint8_t                         totalKeyExplicit
   7611  ** @param xcb_keycode_t                   firstModMapKey
   7612  ** @param uint8_t                         nModMapKeys
   7613  ** @param uint8_t                         totalModMapKeys
   7614  ** @param xcb_keycode_t                   firstVModMapKey
   7615  ** @param uint8_t                         nVModMapKeys
   7616  ** @param uint8_t                         totalVModMapKeys
   7617  ** @param uint16_t                        virtualMods
   7618  ** @param const xcb_xkb_set_map_values_t *values
   7619  ** @returns xcb_void_cookie_t
   7620  **
   7621  *****************************************************************************/
   7622 
   7623 xcb_void_cookie_t
   7624 xcb_xkb_set_map_aux (xcb_connection_t               *c  /**< */,
   7625                      xcb_xkb_device_spec_t           deviceSpec  /**< */,
   7626                      uint16_t                        present  /**< */,
   7627                      uint16_t                        flags  /**< */,
   7628                      xcb_keycode_t                   minKeyCode  /**< */,
   7629                      xcb_keycode_t                   maxKeyCode  /**< */,
   7630                      uint8_t                         firstType  /**< */,
   7631                      uint8_t                         nTypes  /**< */,
   7632                      xcb_keycode_t                   firstKeySym  /**< */,
   7633                      uint8_t                         nKeySyms  /**< */,
   7634                      uint16_t                        totalSyms  /**< */,
   7635                      xcb_keycode_t                   firstKeyAction  /**< */,
   7636                      uint8_t                         nKeyActions  /**< */,
   7637                      uint16_t                        totalActions  /**< */,
   7638                      xcb_keycode_t                   firstKeyBehavior  /**< */,
   7639                      uint8_t                         nKeyBehaviors  /**< */,
   7640                      uint8_t                         totalKeyBehaviors  /**< */,
   7641                      xcb_keycode_t                   firstKeyExplicit  /**< */,
   7642                      uint8_t                         nKeyExplicit  /**< */,
   7643                      uint8_t                         totalKeyExplicit  /**< */,
   7644                      xcb_keycode_t                   firstModMapKey  /**< */,
   7645                      uint8_t                         nModMapKeys  /**< */,
   7646                      uint8_t                         totalModMapKeys  /**< */,
   7647                      xcb_keycode_t                   firstVModMapKey  /**< */,
   7648                      uint8_t                         nVModMapKeys  /**< */,
   7649                      uint8_t                         totalVModMapKeys  /**< */,
   7650                      uint16_t                        virtualMods  /**< */,
   7651                      const xcb_xkb_set_map_values_t *values  /**< */)
   7652 {
   7653     static const xcb_protocol_request_t xcb_req = {
   7654         /* count */ 3,
   7655         /* ext */ &xcb_xkb_id,
   7656         /* opcode */ XCB_XKB_SET_MAP,
   7657         /* isvoid */ 1
   7658     };
   7659 
   7660     struct iovec xcb_parts[5];
   7661     xcb_void_cookie_t xcb_ret;
   7662     xcb_xkb_set_map_request_t xcb_out;
   7663     void *xcb_aux0 = 0;
   7664 
   7665     xcb_out.deviceSpec = deviceSpec;
   7666     xcb_out.present = present;
   7667     xcb_out.flags = flags;
   7668     xcb_out.minKeyCode = minKeyCode;
   7669     xcb_out.maxKeyCode = maxKeyCode;
   7670     xcb_out.firstType = firstType;
   7671     xcb_out.nTypes = nTypes;
   7672     xcb_out.firstKeySym = firstKeySym;
   7673     xcb_out.nKeySyms = nKeySyms;
   7674     xcb_out.totalSyms = totalSyms;
   7675     xcb_out.firstKeyAction = firstKeyAction;
   7676     xcb_out.nKeyActions = nKeyActions;
   7677     xcb_out.totalActions = totalActions;
   7678     xcb_out.firstKeyBehavior = firstKeyBehavior;
   7679     xcb_out.nKeyBehaviors = nKeyBehaviors;
   7680     xcb_out.totalKeyBehaviors = totalKeyBehaviors;
   7681     xcb_out.firstKeyExplicit = firstKeyExplicit;
   7682     xcb_out.nKeyExplicit = nKeyExplicit;
   7683     xcb_out.totalKeyExplicit = totalKeyExplicit;
   7684     xcb_out.firstModMapKey = firstModMapKey;
   7685     xcb_out.nModMapKeys = nModMapKeys;
   7686     xcb_out.totalModMapKeys = totalModMapKeys;
   7687     xcb_out.firstVModMapKey = firstVModMapKey;
   7688     xcb_out.nVModMapKeys = nVModMapKeys;
   7689     xcb_out.totalVModMapKeys = totalVModMapKeys;
   7690     xcb_out.virtualMods = virtualMods;
   7691 
   7692     xcb_parts[2].iov_base = (char *) &xcb_out;
   7693     xcb_parts[2].iov_len = sizeof(xcb_out);
   7694     xcb_parts[3].iov_base = 0;
   7695     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7696     /* xcb_xkb_set_map_values_t values */
   7697     xcb_parts[4].iov_len =
   7698       xcb_xkb_set_map_values_serialize (&xcb_aux0, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, values);
   7699     xcb_parts[4].iov_base = xcb_aux0;
   7700 
   7701     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7702     free(xcb_aux0);
   7703     return xcb_ret;
   7704 }
   7705 
   7706 int
   7707 xcb_xkb_get_compat_map_sizeof (const void  *_buffer  /**< */)
   7708 {
   7709     char *xcb_tmp = (char *)_buffer;
   7710     const xcb_xkb_get_compat_map_reply_t *_aux = (xcb_xkb_get_compat_map_reply_t *)_buffer;
   7711     unsigned int xcb_buffer_len = 0;
   7712     unsigned int xcb_block_len = 0;
   7713     unsigned int xcb_pad = 0;
   7714     unsigned int xcb_align_to = 0;
   7715 
   7716 
   7717     xcb_block_len += sizeof(xcb_xkb_get_compat_map_reply_t);
   7718     xcb_tmp += xcb_block_len;
   7719     xcb_buffer_len += xcb_block_len;
   7720     xcb_block_len = 0;
   7721     /* si_rtrn */
   7722     xcb_block_len += _aux->nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
   7723     xcb_tmp += xcb_block_len;
   7724     xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
   7725     /* insert padding */
   7726     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7727     xcb_buffer_len += xcb_block_len + xcb_pad;
   7728     if (0 != xcb_pad) {
   7729         xcb_tmp += xcb_pad;
   7730         xcb_pad = 0;
   7731     }
   7732     xcb_block_len = 0;
   7733     /* group_rtrn */
   7734     xcb_block_len += xcb_popcount(_aux->groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
   7735     xcb_tmp += xcb_block_len;
   7736     xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
   7737     /* insert padding */
   7738     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7739     xcb_buffer_len += xcb_block_len + xcb_pad;
   7740     if (0 != xcb_pad) {
   7741         xcb_tmp += xcb_pad;
   7742         xcb_pad = 0;
   7743     }
   7744     xcb_block_len = 0;
   7745 
   7746     return xcb_buffer_len;
   7747 }
   7748 
   7749 
   7750 /*****************************************************************************
   7751  **
   7752  ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map
   7753  **
   7754  ** @param xcb_connection_t      *c
   7755  ** @param xcb_xkb_device_spec_t  deviceSpec
   7756  ** @param uint8_t                groups
   7757  ** @param uint8_t                getAllSI
   7758  ** @param uint16_t               firstSI
   7759  ** @param uint16_t               nSI
   7760  ** @returns xcb_xkb_get_compat_map_cookie_t
   7761  **
   7762  *****************************************************************************/
   7763 
   7764 xcb_xkb_get_compat_map_cookie_t
   7765 xcb_xkb_get_compat_map (xcb_connection_t      *c  /**< */,
   7766                         xcb_xkb_device_spec_t  deviceSpec  /**< */,
   7767                         uint8_t                groups  /**< */,
   7768                         uint8_t                getAllSI  /**< */,
   7769                         uint16_t               firstSI  /**< */,
   7770                         uint16_t               nSI  /**< */)
   7771 {
   7772     static const xcb_protocol_request_t xcb_req = {
   7773         /* count */ 2,
   7774         /* ext */ &xcb_xkb_id,
   7775         /* opcode */ XCB_XKB_GET_COMPAT_MAP,
   7776         /* isvoid */ 0
   7777     };
   7778 
   7779     struct iovec xcb_parts[4];
   7780     xcb_xkb_get_compat_map_cookie_t xcb_ret;
   7781     xcb_xkb_get_compat_map_request_t xcb_out;
   7782 
   7783     xcb_out.deviceSpec = deviceSpec;
   7784     xcb_out.groups = groups;
   7785     xcb_out.getAllSI = getAllSI;
   7786     xcb_out.firstSI = firstSI;
   7787     xcb_out.nSI = nSI;
   7788 
   7789     xcb_parts[2].iov_base = (char *) &xcb_out;
   7790     xcb_parts[2].iov_len = sizeof(xcb_out);
   7791     xcb_parts[3].iov_base = 0;
   7792     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7793 
   7794     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   7795     return xcb_ret;
   7796 }
   7797 
   7798 
   7799 /*****************************************************************************
   7800  **
   7801  ** xcb_xkb_get_compat_map_cookie_t xcb_xkb_get_compat_map_unchecked
   7802  **
   7803  ** @param xcb_connection_t      *c
   7804  ** @param xcb_xkb_device_spec_t  deviceSpec
   7805  ** @param uint8_t                groups
   7806  ** @param uint8_t                getAllSI
   7807  ** @param uint16_t               firstSI
   7808  ** @param uint16_t               nSI
   7809  ** @returns xcb_xkb_get_compat_map_cookie_t
   7810  **
   7811  *****************************************************************************/
   7812 
   7813 xcb_xkb_get_compat_map_cookie_t
   7814 xcb_xkb_get_compat_map_unchecked (xcb_connection_t      *c  /**< */,
   7815                                   xcb_xkb_device_spec_t  deviceSpec  /**< */,
   7816                                   uint8_t                groups  /**< */,
   7817                                   uint8_t                getAllSI  /**< */,
   7818                                   uint16_t               firstSI  /**< */,
   7819                                   uint16_t               nSI  /**< */)
   7820 {
   7821     static const xcb_protocol_request_t xcb_req = {
   7822         /* count */ 2,
   7823         /* ext */ &xcb_xkb_id,
   7824         /* opcode */ XCB_XKB_GET_COMPAT_MAP,
   7825         /* isvoid */ 0
   7826     };
   7827 
   7828     struct iovec xcb_parts[4];
   7829     xcb_xkb_get_compat_map_cookie_t xcb_ret;
   7830     xcb_xkb_get_compat_map_request_t xcb_out;
   7831 
   7832     xcb_out.deviceSpec = deviceSpec;
   7833     xcb_out.groups = groups;
   7834     xcb_out.getAllSI = getAllSI;
   7835     xcb_out.firstSI = firstSI;
   7836     xcb_out.nSI = nSI;
   7837 
   7838     xcb_parts[2].iov_base = (char *) &xcb_out;
   7839     xcb_parts[2].iov_len = sizeof(xcb_out);
   7840     xcb_parts[3].iov_base = 0;
   7841     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   7842 
   7843     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   7844     return xcb_ret;
   7845 }
   7846 
   7847 
   7848 /*****************************************************************************
   7849  **
   7850  ** xcb_xkb_sym_interpret_t * xcb_xkb_get_compat_map_si_rtrn
   7851  **
   7852  ** @param const xcb_xkb_get_compat_map_reply_t *R
   7853  ** @returns xcb_xkb_sym_interpret_t *
   7854  **
   7855  *****************************************************************************/
   7856 
   7857 xcb_xkb_sym_interpret_t *
   7858 xcb_xkb_get_compat_map_si_rtrn (const xcb_xkb_get_compat_map_reply_t *R  /**< */)
   7859 {
   7860     return (xcb_xkb_sym_interpret_t *) (R + 1);
   7861 }
   7862 
   7863 
   7864 /*****************************************************************************
   7865  **
   7866  ** int xcb_xkb_get_compat_map_si_rtrn_length
   7867  **
   7868  ** @param const xcb_xkb_get_compat_map_reply_t *R
   7869  ** @returns int
   7870  **
   7871  *****************************************************************************/
   7872 
   7873 int
   7874 xcb_xkb_get_compat_map_si_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R  /**< */)
   7875 {
   7876     return R->nSIRtrn;
   7877 }
   7878 
   7879 
   7880 /*****************************************************************************
   7881  **
   7882  ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_compat_map_si_rtrn_iterator
   7883  **
   7884  ** @param const xcb_xkb_get_compat_map_reply_t *R
   7885  ** @returns xcb_xkb_sym_interpret_iterator_t
   7886  **
   7887  *****************************************************************************/
   7888 
   7889 xcb_xkb_sym_interpret_iterator_t
   7890 xcb_xkb_get_compat_map_si_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R  /**< */)
   7891 {
   7892     xcb_xkb_sym_interpret_iterator_t i;
   7893     i.data = (xcb_xkb_sym_interpret_t *) (R + 1);
   7894     i.rem = R->nSIRtrn;
   7895     i.index = (char *) i.data - (char *) R;
   7896     return i;
   7897 }
   7898 
   7899 
   7900 /*****************************************************************************
   7901  **
   7902  ** xcb_xkb_mod_def_t * xcb_xkb_get_compat_map_group_rtrn
   7903  **
   7904  ** @param const xcb_xkb_get_compat_map_reply_t *R
   7905  ** @returns xcb_xkb_mod_def_t *
   7906  **
   7907  *****************************************************************************/
   7908 
   7909 xcb_xkb_mod_def_t *
   7910 xcb_xkb_get_compat_map_group_rtrn (const xcb_xkb_get_compat_map_reply_t *R  /**< */)
   7911 {
   7912     xcb_generic_iterator_t prev = xcb_xkb_sym_interpret_end(xcb_xkb_get_compat_map_si_rtrn_iterator(R));
   7913     return (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index) + 0);
   7914 }
   7915 
   7916 
   7917 /*****************************************************************************
   7918  **
   7919  ** int xcb_xkb_get_compat_map_group_rtrn_length
   7920  **
   7921  ** @param const xcb_xkb_get_compat_map_reply_t *R
   7922  ** @returns int
   7923  **
   7924  *****************************************************************************/
   7925 
   7926 int
   7927 xcb_xkb_get_compat_map_group_rtrn_length (const xcb_xkb_get_compat_map_reply_t *R  /**< */)
   7928 {
   7929     return xcb_popcount(R->groupsRtrn);
   7930 }
   7931 
   7932 
   7933 /*****************************************************************************
   7934  **
   7935  ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_compat_map_group_rtrn_iterator
   7936  **
   7937  ** @param const xcb_xkb_get_compat_map_reply_t *R
   7938  ** @returns xcb_xkb_mod_def_iterator_t
   7939  **
   7940  *****************************************************************************/
   7941 
   7942 xcb_xkb_mod_def_iterator_t
   7943 xcb_xkb_get_compat_map_group_rtrn_iterator (const xcb_xkb_get_compat_map_reply_t *R  /**< */)
   7944 {
   7945     xcb_xkb_mod_def_iterator_t i;
   7946     xcb_generic_iterator_t prev = xcb_xkb_sym_interpret_end(xcb_xkb_get_compat_map_si_rtrn_iterator(R));
   7947     i.data = (xcb_xkb_mod_def_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_mod_def_t, prev.index));
   7948     i.rem = xcb_popcount(R->groupsRtrn);
   7949     i.index = (char *) i.data - (char *) R;
   7950     return i;
   7951 }
   7952 
   7953 
   7954 /*****************************************************************************
   7955  **
   7956  ** xcb_xkb_get_compat_map_reply_t * xcb_xkb_get_compat_map_reply
   7957  **
   7958  ** @param xcb_connection_t                 *c
   7959  ** @param xcb_xkb_get_compat_map_cookie_t   cookie
   7960  ** @param xcb_generic_error_t             **e
   7961  ** @returns xcb_xkb_get_compat_map_reply_t *
   7962  **
   7963  *****************************************************************************/
   7964 
   7965 xcb_xkb_get_compat_map_reply_t *
   7966 xcb_xkb_get_compat_map_reply (xcb_connection_t                 *c  /**< */,
   7967                               xcb_xkb_get_compat_map_cookie_t   cookie  /**< */,
   7968                               xcb_generic_error_t             **e  /**< */)
   7969 {
   7970     return (xcb_xkb_get_compat_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   7971 }
   7972 
   7973 int
   7974 xcb_xkb_set_compat_map_sizeof (const void  *_buffer  /**< */)
   7975 {
   7976     char *xcb_tmp = (char *)_buffer;
   7977     const xcb_xkb_set_compat_map_request_t *_aux = (xcb_xkb_set_compat_map_request_t *)_buffer;
   7978     unsigned int xcb_buffer_len = 0;
   7979     unsigned int xcb_block_len = 0;
   7980     unsigned int xcb_pad = 0;
   7981     unsigned int xcb_align_to = 0;
   7982 
   7983 
   7984     xcb_block_len += sizeof(xcb_xkb_set_compat_map_request_t);
   7985     xcb_tmp += xcb_block_len;
   7986     xcb_buffer_len += xcb_block_len;
   7987     xcb_block_len = 0;
   7988     /* si */
   7989     xcb_block_len += _aux->nSI * sizeof(xcb_xkb_sym_interpret_t);
   7990     xcb_tmp += xcb_block_len;
   7991     xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
   7992     /* insert padding */
   7993     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   7994     xcb_buffer_len += xcb_block_len + xcb_pad;
   7995     if (0 != xcb_pad) {
   7996         xcb_tmp += xcb_pad;
   7997         xcb_pad = 0;
   7998     }
   7999     xcb_block_len = 0;
   8000     /* groupMaps */
   8001     xcb_block_len += xcb_popcount(_aux->groups) * sizeof(xcb_xkb_mod_def_t);
   8002     xcb_tmp += xcb_block_len;
   8003     xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
   8004     /* insert padding */
   8005     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8006     xcb_buffer_len += xcb_block_len + xcb_pad;
   8007     if (0 != xcb_pad) {
   8008         xcb_tmp += xcb_pad;
   8009         xcb_pad = 0;
   8010     }
   8011     xcb_block_len = 0;
   8012 
   8013     return xcb_buffer_len;
   8014 }
   8015 
   8016 
   8017 /*****************************************************************************
   8018  **
   8019  ** xcb_void_cookie_t xcb_xkb_set_compat_map_checked
   8020  **
   8021  ** @param xcb_connection_t              *c
   8022  ** @param xcb_xkb_device_spec_t          deviceSpec
   8023  ** @param uint8_t                        recomputeActions
   8024  ** @param uint8_t                        truncateSI
   8025  ** @param uint8_t                        groups
   8026  ** @param uint16_t                       firstSI
   8027  ** @param uint16_t                       nSI
   8028  ** @param const xcb_xkb_sym_interpret_t *si
   8029  ** @param const xcb_xkb_mod_def_t       *groupMaps
   8030  ** @returns xcb_void_cookie_t
   8031  **
   8032  *****************************************************************************/
   8033 
   8034 xcb_void_cookie_t
   8035 xcb_xkb_set_compat_map_checked (xcb_connection_t              *c  /**< */,
   8036                                 xcb_xkb_device_spec_t          deviceSpec  /**< */,
   8037                                 uint8_t                        recomputeActions  /**< */,
   8038                                 uint8_t                        truncateSI  /**< */,
   8039                                 uint8_t                        groups  /**< */,
   8040                                 uint16_t                       firstSI  /**< */,
   8041                                 uint16_t                       nSI  /**< */,
   8042                                 const xcb_xkb_sym_interpret_t *si  /**< */,
   8043                                 const xcb_xkb_mod_def_t       *groupMaps  /**< */)
   8044 {
   8045     static const xcb_protocol_request_t xcb_req = {
   8046         /* count */ 6,
   8047         /* ext */ &xcb_xkb_id,
   8048         /* opcode */ XCB_XKB_SET_COMPAT_MAP,
   8049         /* isvoid */ 1
   8050     };
   8051 
   8052     struct iovec xcb_parts[8];
   8053     xcb_void_cookie_t xcb_ret;
   8054     xcb_xkb_set_compat_map_request_t xcb_out;
   8055 
   8056     xcb_out.deviceSpec = deviceSpec;
   8057     xcb_out.pad0 = 0;
   8058     xcb_out.recomputeActions = recomputeActions;
   8059     xcb_out.truncateSI = truncateSI;
   8060     xcb_out.groups = groups;
   8061     xcb_out.firstSI = firstSI;
   8062     xcb_out.nSI = nSI;
   8063     memset(xcb_out.pad1, 0, 2);
   8064 
   8065     xcb_parts[2].iov_base = (char *) &xcb_out;
   8066     xcb_parts[2].iov_len = sizeof(xcb_out);
   8067     xcb_parts[3].iov_base = 0;
   8068     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8069     /* xcb_xkb_sym_interpret_t si */
   8070     xcb_parts[4].iov_base = (char *) si;
   8071     xcb_parts[4].iov_len = nSI * sizeof(xcb_xkb_sym_interpret_t);
   8072     xcb_parts[5].iov_base = 0;
   8073     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8074     /* xcb_xkb_mod_def_t groupMaps */
   8075     xcb_parts[6].iov_base = (char *) groupMaps;
   8076     xcb_parts[6].iov_len = xcb_popcount(groups) * sizeof(xcb_xkb_mod_def_t);
   8077     xcb_parts[7].iov_base = 0;
   8078     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   8079 
   8080     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8081     return xcb_ret;
   8082 }
   8083 
   8084 
   8085 /*****************************************************************************
   8086  **
   8087  ** xcb_void_cookie_t xcb_xkb_set_compat_map
   8088  **
   8089  ** @param xcb_connection_t              *c
   8090  ** @param xcb_xkb_device_spec_t          deviceSpec
   8091  ** @param uint8_t                        recomputeActions
   8092  ** @param uint8_t                        truncateSI
   8093  ** @param uint8_t                        groups
   8094  ** @param uint16_t                       firstSI
   8095  ** @param uint16_t                       nSI
   8096  ** @param const xcb_xkb_sym_interpret_t *si
   8097  ** @param const xcb_xkb_mod_def_t       *groupMaps
   8098  ** @returns xcb_void_cookie_t
   8099  **
   8100  *****************************************************************************/
   8101 
   8102 xcb_void_cookie_t
   8103 xcb_xkb_set_compat_map (xcb_connection_t              *c  /**< */,
   8104                         xcb_xkb_device_spec_t          deviceSpec  /**< */,
   8105                         uint8_t                        recomputeActions  /**< */,
   8106                         uint8_t                        truncateSI  /**< */,
   8107                         uint8_t                        groups  /**< */,
   8108                         uint16_t                       firstSI  /**< */,
   8109                         uint16_t                       nSI  /**< */,
   8110                         const xcb_xkb_sym_interpret_t *si  /**< */,
   8111                         const xcb_xkb_mod_def_t       *groupMaps  /**< */)
   8112 {
   8113     static const xcb_protocol_request_t xcb_req = {
   8114         /* count */ 6,
   8115         /* ext */ &xcb_xkb_id,
   8116         /* opcode */ XCB_XKB_SET_COMPAT_MAP,
   8117         /* isvoid */ 1
   8118     };
   8119 
   8120     struct iovec xcb_parts[8];
   8121     xcb_void_cookie_t xcb_ret;
   8122     xcb_xkb_set_compat_map_request_t xcb_out;
   8123 
   8124     xcb_out.deviceSpec = deviceSpec;
   8125     xcb_out.pad0 = 0;
   8126     xcb_out.recomputeActions = recomputeActions;
   8127     xcb_out.truncateSI = truncateSI;
   8128     xcb_out.groups = groups;
   8129     xcb_out.firstSI = firstSI;
   8130     xcb_out.nSI = nSI;
   8131     memset(xcb_out.pad1, 0, 2);
   8132 
   8133     xcb_parts[2].iov_base = (char *) &xcb_out;
   8134     xcb_parts[2].iov_len = sizeof(xcb_out);
   8135     xcb_parts[3].iov_base = 0;
   8136     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8137     /* xcb_xkb_sym_interpret_t si */
   8138     xcb_parts[4].iov_base = (char *) si;
   8139     xcb_parts[4].iov_len = nSI * sizeof(xcb_xkb_sym_interpret_t);
   8140     xcb_parts[5].iov_base = 0;
   8141     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8142     /* xcb_xkb_mod_def_t groupMaps */
   8143     xcb_parts[6].iov_base = (char *) groupMaps;
   8144     xcb_parts[6].iov_len = xcb_popcount(groups) * sizeof(xcb_xkb_mod_def_t);
   8145     xcb_parts[7].iov_base = 0;
   8146     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   8147 
   8148     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8149     return xcb_ret;
   8150 }
   8151 
   8152 
   8153 /*****************************************************************************
   8154  **
   8155  ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state
   8156  **
   8157  ** @param xcb_connection_t      *c
   8158  ** @param xcb_xkb_device_spec_t  deviceSpec
   8159  ** @returns xcb_xkb_get_indicator_state_cookie_t
   8160  **
   8161  *****************************************************************************/
   8162 
   8163 xcb_xkb_get_indicator_state_cookie_t
   8164 xcb_xkb_get_indicator_state (xcb_connection_t      *c  /**< */,
   8165                              xcb_xkb_device_spec_t  deviceSpec  /**< */)
   8166 {
   8167     static const xcb_protocol_request_t xcb_req = {
   8168         /* count */ 2,
   8169         /* ext */ &xcb_xkb_id,
   8170         /* opcode */ XCB_XKB_GET_INDICATOR_STATE,
   8171         /* isvoid */ 0
   8172     };
   8173 
   8174     struct iovec xcb_parts[4];
   8175     xcb_xkb_get_indicator_state_cookie_t xcb_ret;
   8176     xcb_xkb_get_indicator_state_request_t xcb_out;
   8177 
   8178     xcb_out.deviceSpec = deviceSpec;
   8179     memset(xcb_out.pad0, 0, 2);
   8180 
   8181     xcb_parts[2].iov_base = (char *) &xcb_out;
   8182     xcb_parts[2].iov_len = sizeof(xcb_out);
   8183     xcb_parts[3].iov_base = 0;
   8184     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8185 
   8186     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8187     return xcb_ret;
   8188 }
   8189 
   8190 
   8191 /*****************************************************************************
   8192  **
   8193  ** xcb_xkb_get_indicator_state_cookie_t xcb_xkb_get_indicator_state_unchecked
   8194  **
   8195  ** @param xcb_connection_t      *c
   8196  ** @param xcb_xkb_device_spec_t  deviceSpec
   8197  ** @returns xcb_xkb_get_indicator_state_cookie_t
   8198  **
   8199  *****************************************************************************/
   8200 
   8201 xcb_xkb_get_indicator_state_cookie_t
   8202 xcb_xkb_get_indicator_state_unchecked (xcb_connection_t      *c  /**< */,
   8203                                        xcb_xkb_device_spec_t  deviceSpec  /**< */)
   8204 {
   8205     static const xcb_protocol_request_t xcb_req = {
   8206         /* count */ 2,
   8207         /* ext */ &xcb_xkb_id,
   8208         /* opcode */ XCB_XKB_GET_INDICATOR_STATE,
   8209         /* isvoid */ 0
   8210     };
   8211 
   8212     struct iovec xcb_parts[4];
   8213     xcb_xkb_get_indicator_state_cookie_t xcb_ret;
   8214     xcb_xkb_get_indicator_state_request_t xcb_out;
   8215 
   8216     xcb_out.deviceSpec = deviceSpec;
   8217     memset(xcb_out.pad0, 0, 2);
   8218 
   8219     xcb_parts[2].iov_base = (char *) &xcb_out;
   8220     xcb_parts[2].iov_len = sizeof(xcb_out);
   8221     xcb_parts[3].iov_base = 0;
   8222     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8223 
   8224     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8225     return xcb_ret;
   8226 }
   8227 
   8228 
   8229 /*****************************************************************************
   8230  **
   8231  ** xcb_xkb_get_indicator_state_reply_t * xcb_xkb_get_indicator_state_reply
   8232  **
   8233  ** @param xcb_connection_t                      *c
   8234  ** @param xcb_xkb_get_indicator_state_cookie_t   cookie
   8235  ** @param xcb_generic_error_t                  **e
   8236  ** @returns xcb_xkb_get_indicator_state_reply_t *
   8237  **
   8238  *****************************************************************************/
   8239 
   8240 xcb_xkb_get_indicator_state_reply_t *
   8241 xcb_xkb_get_indicator_state_reply (xcb_connection_t                      *c  /**< */,
   8242                                    xcb_xkb_get_indicator_state_cookie_t   cookie  /**< */,
   8243                                    xcb_generic_error_t                  **e  /**< */)
   8244 {
   8245     return (xcb_xkb_get_indicator_state_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   8246 }
   8247 
   8248 int
   8249 xcb_xkb_get_indicator_map_sizeof (const void  *_buffer  /**< */)
   8250 {
   8251     char *xcb_tmp = (char *)_buffer;
   8252     const xcb_xkb_get_indicator_map_reply_t *_aux = (xcb_xkb_get_indicator_map_reply_t *)_buffer;
   8253     unsigned int xcb_buffer_len = 0;
   8254     unsigned int xcb_block_len = 0;
   8255     unsigned int xcb_pad = 0;
   8256     unsigned int xcb_align_to = 0;
   8257 
   8258 
   8259     xcb_block_len += sizeof(xcb_xkb_get_indicator_map_reply_t);
   8260     xcb_tmp += xcb_block_len;
   8261     xcb_buffer_len += xcb_block_len;
   8262     xcb_block_len = 0;
   8263     /* maps */
   8264     xcb_block_len += xcb_popcount(_aux->which) * sizeof(xcb_xkb_indicator_map_t);
   8265     xcb_tmp += xcb_block_len;
   8266     xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
   8267     /* insert padding */
   8268     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8269     xcb_buffer_len += xcb_block_len + xcb_pad;
   8270     if (0 != xcb_pad) {
   8271         xcb_tmp += xcb_pad;
   8272         xcb_pad = 0;
   8273     }
   8274     xcb_block_len = 0;
   8275 
   8276     return xcb_buffer_len;
   8277 }
   8278 
   8279 
   8280 /*****************************************************************************
   8281  **
   8282  ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map
   8283  **
   8284  ** @param xcb_connection_t      *c
   8285  ** @param xcb_xkb_device_spec_t  deviceSpec
   8286  ** @param uint32_t               which
   8287  ** @returns xcb_xkb_get_indicator_map_cookie_t
   8288  **
   8289  *****************************************************************************/
   8290 
   8291 xcb_xkb_get_indicator_map_cookie_t
   8292 xcb_xkb_get_indicator_map (xcb_connection_t      *c  /**< */,
   8293                            xcb_xkb_device_spec_t  deviceSpec  /**< */,
   8294                            uint32_t               which  /**< */)
   8295 {
   8296     static const xcb_protocol_request_t xcb_req = {
   8297         /* count */ 2,
   8298         /* ext */ &xcb_xkb_id,
   8299         /* opcode */ XCB_XKB_GET_INDICATOR_MAP,
   8300         /* isvoid */ 0
   8301     };
   8302 
   8303     struct iovec xcb_parts[4];
   8304     xcb_xkb_get_indicator_map_cookie_t xcb_ret;
   8305     xcb_xkb_get_indicator_map_request_t xcb_out;
   8306 
   8307     xcb_out.deviceSpec = deviceSpec;
   8308     memset(xcb_out.pad0, 0, 2);
   8309     xcb_out.which = which;
   8310 
   8311     xcb_parts[2].iov_base = (char *) &xcb_out;
   8312     xcb_parts[2].iov_len = sizeof(xcb_out);
   8313     xcb_parts[3].iov_base = 0;
   8314     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8315 
   8316     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8317     return xcb_ret;
   8318 }
   8319 
   8320 
   8321 /*****************************************************************************
   8322  **
   8323  ** xcb_xkb_get_indicator_map_cookie_t xcb_xkb_get_indicator_map_unchecked
   8324  **
   8325  ** @param xcb_connection_t      *c
   8326  ** @param xcb_xkb_device_spec_t  deviceSpec
   8327  ** @param uint32_t               which
   8328  ** @returns xcb_xkb_get_indicator_map_cookie_t
   8329  **
   8330  *****************************************************************************/
   8331 
   8332 xcb_xkb_get_indicator_map_cookie_t
   8333 xcb_xkb_get_indicator_map_unchecked (xcb_connection_t      *c  /**< */,
   8334                                      xcb_xkb_device_spec_t  deviceSpec  /**< */,
   8335                                      uint32_t               which  /**< */)
   8336 {
   8337     static const xcb_protocol_request_t xcb_req = {
   8338         /* count */ 2,
   8339         /* ext */ &xcb_xkb_id,
   8340         /* opcode */ XCB_XKB_GET_INDICATOR_MAP,
   8341         /* isvoid */ 0
   8342     };
   8343 
   8344     struct iovec xcb_parts[4];
   8345     xcb_xkb_get_indicator_map_cookie_t xcb_ret;
   8346     xcb_xkb_get_indicator_map_request_t xcb_out;
   8347 
   8348     xcb_out.deviceSpec = deviceSpec;
   8349     memset(xcb_out.pad0, 0, 2);
   8350     xcb_out.which = which;
   8351 
   8352     xcb_parts[2].iov_base = (char *) &xcb_out;
   8353     xcb_parts[2].iov_len = sizeof(xcb_out);
   8354     xcb_parts[3].iov_base = 0;
   8355     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8356 
   8357     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8358     return xcb_ret;
   8359 }
   8360 
   8361 
   8362 /*****************************************************************************
   8363  **
   8364  ** xcb_xkb_indicator_map_t * xcb_xkb_get_indicator_map_maps
   8365  **
   8366  ** @param const xcb_xkb_get_indicator_map_reply_t *R
   8367  ** @returns xcb_xkb_indicator_map_t *
   8368  **
   8369  *****************************************************************************/
   8370 
   8371 xcb_xkb_indicator_map_t *
   8372 xcb_xkb_get_indicator_map_maps (const xcb_xkb_get_indicator_map_reply_t *R  /**< */)
   8373 {
   8374     return (xcb_xkb_indicator_map_t *) (R + 1);
   8375 }
   8376 
   8377 
   8378 /*****************************************************************************
   8379  **
   8380  ** int xcb_xkb_get_indicator_map_maps_length
   8381  **
   8382  ** @param const xcb_xkb_get_indicator_map_reply_t *R
   8383  ** @returns int
   8384  **
   8385  *****************************************************************************/
   8386 
   8387 int
   8388 xcb_xkb_get_indicator_map_maps_length (const xcb_xkb_get_indicator_map_reply_t *R  /**< */)
   8389 {
   8390     return xcb_popcount(R->which);
   8391 }
   8392 
   8393 
   8394 /*****************************************************************************
   8395  **
   8396  ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_indicator_map_maps_iterator
   8397  **
   8398  ** @param const xcb_xkb_get_indicator_map_reply_t *R
   8399  ** @returns xcb_xkb_indicator_map_iterator_t
   8400  **
   8401  *****************************************************************************/
   8402 
   8403 xcb_xkb_indicator_map_iterator_t
   8404 xcb_xkb_get_indicator_map_maps_iterator (const xcb_xkb_get_indicator_map_reply_t *R  /**< */)
   8405 {
   8406     xcb_xkb_indicator_map_iterator_t i;
   8407     i.data = (xcb_xkb_indicator_map_t *) (R + 1);
   8408     i.rem = xcb_popcount(R->which);
   8409     i.index = (char *) i.data - (char *) R;
   8410     return i;
   8411 }
   8412 
   8413 
   8414 /*****************************************************************************
   8415  **
   8416  ** xcb_xkb_get_indicator_map_reply_t * xcb_xkb_get_indicator_map_reply
   8417  **
   8418  ** @param xcb_connection_t                    *c
   8419  ** @param xcb_xkb_get_indicator_map_cookie_t   cookie
   8420  ** @param xcb_generic_error_t                **e
   8421  ** @returns xcb_xkb_get_indicator_map_reply_t *
   8422  **
   8423  *****************************************************************************/
   8424 
   8425 xcb_xkb_get_indicator_map_reply_t *
   8426 xcb_xkb_get_indicator_map_reply (xcb_connection_t                    *c  /**< */,
   8427                                  xcb_xkb_get_indicator_map_cookie_t   cookie  /**< */,
   8428                                  xcb_generic_error_t                **e  /**< */)
   8429 {
   8430     return (xcb_xkb_get_indicator_map_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   8431 }
   8432 
   8433 int
   8434 xcb_xkb_set_indicator_map_sizeof (const void  *_buffer  /**< */)
   8435 {
   8436     char *xcb_tmp = (char *)_buffer;
   8437     const xcb_xkb_set_indicator_map_request_t *_aux = (xcb_xkb_set_indicator_map_request_t *)_buffer;
   8438     unsigned int xcb_buffer_len = 0;
   8439     unsigned int xcb_block_len = 0;
   8440     unsigned int xcb_pad = 0;
   8441     unsigned int xcb_align_to = 0;
   8442 
   8443 
   8444     xcb_block_len += sizeof(xcb_xkb_set_indicator_map_request_t);
   8445     xcb_tmp += xcb_block_len;
   8446     xcb_buffer_len += xcb_block_len;
   8447     xcb_block_len = 0;
   8448     /* maps */
   8449     xcb_block_len += xcb_popcount(_aux->which) * sizeof(xcb_xkb_indicator_map_t);
   8450     xcb_tmp += xcb_block_len;
   8451     xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
   8452     /* insert padding */
   8453     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   8454     xcb_buffer_len += xcb_block_len + xcb_pad;
   8455     if (0 != xcb_pad) {
   8456         xcb_tmp += xcb_pad;
   8457         xcb_pad = 0;
   8458     }
   8459     xcb_block_len = 0;
   8460 
   8461     return xcb_buffer_len;
   8462 }
   8463 
   8464 
   8465 /*****************************************************************************
   8466  **
   8467  ** xcb_void_cookie_t xcb_xkb_set_indicator_map_checked
   8468  **
   8469  ** @param xcb_connection_t              *c
   8470  ** @param xcb_xkb_device_spec_t          deviceSpec
   8471  ** @param uint32_t                       which
   8472  ** @param const xcb_xkb_indicator_map_t *maps
   8473  ** @returns xcb_void_cookie_t
   8474  **
   8475  *****************************************************************************/
   8476 
   8477 xcb_void_cookie_t
   8478 xcb_xkb_set_indicator_map_checked (xcb_connection_t              *c  /**< */,
   8479                                    xcb_xkb_device_spec_t          deviceSpec  /**< */,
   8480                                    uint32_t                       which  /**< */,
   8481                                    const xcb_xkb_indicator_map_t *maps  /**< */)
   8482 {
   8483     static const xcb_protocol_request_t xcb_req = {
   8484         /* count */ 4,
   8485         /* ext */ &xcb_xkb_id,
   8486         /* opcode */ XCB_XKB_SET_INDICATOR_MAP,
   8487         /* isvoid */ 1
   8488     };
   8489 
   8490     struct iovec xcb_parts[6];
   8491     xcb_void_cookie_t xcb_ret;
   8492     xcb_xkb_set_indicator_map_request_t xcb_out;
   8493 
   8494     xcb_out.deviceSpec = deviceSpec;
   8495     memset(xcb_out.pad0, 0, 2);
   8496     xcb_out.which = which;
   8497 
   8498     xcb_parts[2].iov_base = (char *) &xcb_out;
   8499     xcb_parts[2].iov_len = sizeof(xcb_out);
   8500     xcb_parts[3].iov_base = 0;
   8501     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8502     /* xcb_xkb_indicator_map_t maps */
   8503     xcb_parts[4].iov_base = (char *) maps;
   8504     xcb_parts[4].iov_len = xcb_popcount(which) * sizeof(xcb_xkb_indicator_map_t);
   8505     xcb_parts[5].iov_base = 0;
   8506     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8507 
   8508     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8509     return xcb_ret;
   8510 }
   8511 
   8512 
   8513 /*****************************************************************************
   8514  **
   8515  ** xcb_void_cookie_t xcb_xkb_set_indicator_map
   8516  **
   8517  ** @param xcb_connection_t              *c
   8518  ** @param xcb_xkb_device_spec_t          deviceSpec
   8519  ** @param uint32_t                       which
   8520  ** @param const xcb_xkb_indicator_map_t *maps
   8521  ** @returns xcb_void_cookie_t
   8522  **
   8523  *****************************************************************************/
   8524 
   8525 xcb_void_cookie_t
   8526 xcb_xkb_set_indicator_map (xcb_connection_t              *c  /**< */,
   8527                            xcb_xkb_device_spec_t          deviceSpec  /**< */,
   8528                            uint32_t                       which  /**< */,
   8529                            const xcb_xkb_indicator_map_t *maps  /**< */)
   8530 {
   8531     static const xcb_protocol_request_t xcb_req = {
   8532         /* count */ 4,
   8533         /* ext */ &xcb_xkb_id,
   8534         /* opcode */ XCB_XKB_SET_INDICATOR_MAP,
   8535         /* isvoid */ 1
   8536     };
   8537 
   8538     struct iovec xcb_parts[6];
   8539     xcb_void_cookie_t xcb_ret;
   8540     xcb_xkb_set_indicator_map_request_t xcb_out;
   8541 
   8542     xcb_out.deviceSpec = deviceSpec;
   8543     memset(xcb_out.pad0, 0, 2);
   8544     xcb_out.which = which;
   8545 
   8546     xcb_parts[2].iov_base = (char *) &xcb_out;
   8547     xcb_parts[2].iov_len = sizeof(xcb_out);
   8548     xcb_parts[3].iov_base = 0;
   8549     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8550     /* xcb_xkb_indicator_map_t maps */
   8551     xcb_parts[4].iov_base = (char *) maps;
   8552     xcb_parts[4].iov_len = xcb_popcount(which) * sizeof(xcb_xkb_indicator_map_t);
   8553     xcb_parts[5].iov_base = 0;
   8554     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   8555 
   8556     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8557     return xcb_ret;
   8558 }
   8559 
   8560 
   8561 /*****************************************************************************
   8562  **
   8563  ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator
   8564  **
   8565  ** @param xcb_connection_t         *c
   8566  ** @param xcb_xkb_device_spec_t     deviceSpec
   8567  ** @param xcb_xkb_led_class_spec_t  ledClass
   8568  ** @param xcb_xkb_id_spec_t         ledID
   8569  ** @param xcb_atom_t                indicator
   8570  ** @returns xcb_xkb_get_named_indicator_cookie_t
   8571  **
   8572  *****************************************************************************/
   8573 
   8574 xcb_xkb_get_named_indicator_cookie_t
   8575 xcb_xkb_get_named_indicator (xcb_connection_t         *c  /**< */,
   8576                              xcb_xkb_device_spec_t     deviceSpec  /**< */,
   8577                              xcb_xkb_led_class_spec_t  ledClass  /**< */,
   8578                              xcb_xkb_id_spec_t         ledID  /**< */,
   8579                              xcb_atom_t                indicator  /**< */)
   8580 {
   8581     static const xcb_protocol_request_t xcb_req = {
   8582         /* count */ 2,
   8583         /* ext */ &xcb_xkb_id,
   8584         /* opcode */ XCB_XKB_GET_NAMED_INDICATOR,
   8585         /* isvoid */ 0
   8586     };
   8587 
   8588     struct iovec xcb_parts[4];
   8589     xcb_xkb_get_named_indicator_cookie_t xcb_ret;
   8590     xcb_xkb_get_named_indicator_request_t xcb_out;
   8591 
   8592     xcb_out.deviceSpec = deviceSpec;
   8593     xcb_out.ledClass = ledClass;
   8594     xcb_out.ledID = ledID;
   8595     memset(xcb_out.pad0, 0, 2);
   8596     xcb_out.indicator = indicator;
   8597 
   8598     xcb_parts[2].iov_base = (char *) &xcb_out;
   8599     xcb_parts[2].iov_len = sizeof(xcb_out);
   8600     xcb_parts[3].iov_base = 0;
   8601     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8602 
   8603     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8604     return xcb_ret;
   8605 }
   8606 
   8607 
   8608 /*****************************************************************************
   8609  **
   8610  ** xcb_xkb_get_named_indicator_cookie_t xcb_xkb_get_named_indicator_unchecked
   8611  **
   8612  ** @param xcb_connection_t         *c
   8613  ** @param xcb_xkb_device_spec_t     deviceSpec
   8614  ** @param xcb_xkb_led_class_spec_t  ledClass
   8615  ** @param xcb_xkb_id_spec_t         ledID
   8616  ** @param xcb_atom_t                indicator
   8617  ** @returns xcb_xkb_get_named_indicator_cookie_t
   8618  **
   8619  *****************************************************************************/
   8620 
   8621 xcb_xkb_get_named_indicator_cookie_t
   8622 xcb_xkb_get_named_indicator_unchecked (xcb_connection_t         *c  /**< */,
   8623                                        xcb_xkb_device_spec_t     deviceSpec  /**< */,
   8624                                        xcb_xkb_led_class_spec_t  ledClass  /**< */,
   8625                                        xcb_xkb_id_spec_t         ledID  /**< */,
   8626                                        xcb_atom_t                indicator  /**< */)
   8627 {
   8628     static const xcb_protocol_request_t xcb_req = {
   8629         /* count */ 2,
   8630         /* ext */ &xcb_xkb_id,
   8631         /* opcode */ XCB_XKB_GET_NAMED_INDICATOR,
   8632         /* isvoid */ 0
   8633     };
   8634 
   8635     struct iovec xcb_parts[4];
   8636     xcb_xkb_get_named_indicator_cookie_t xcb_ret;
   8637     xcb_xkb_get_named_indicator_request_t xcb_out;
   8638 
   8639     xcb_out.deviceSpec = deviceSpec;
   8640     xcb_out.ledClass = ledClass;
   8641     xcb_out.ledID = ledID;
   8642     memset(xcb_out.pad0, 0, 2);
   8643     xcb_out.indicator = indicator;
   8644 
   8645     xcb_parts[2].iov_base = (char *) &xcb_out;
   8646     xcb_parts[2].iov_len = sizeof(xcb_out);
   8647     xcb_parts[3].iov_base = 0;
   8648     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8649 
   8650     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8651     return xcb_ret;
   8652 }
   8653 
   8654 
   8655 /*****************************************************************************
   8656  **
   8657  ** xcb_xkb_get_named_indicator_reply_t * xcb_xkb_get_named_indicator_reply
   8658  **
   8659  ** @param xcb_connection_t                      *c
   8660  ** @param xcb_xkb_get_named_indicator_cookie_t   cookie
   8661  ** @param xcb_generic_error_t                  **e
   8662  ** @returns xcb_xkb_get_named_indicator_reply_t *
   8663  **
   8664  *****************************************************************************/
   8665 
   8666 xcb_xkb_get_named_indicator_reply_t *
   8667 xcb_xkb_get_named_indicator_reply (xcb_connection_t                      *c  /**< */,
   8668                                    xcb_xkb_get_named_indicator_cookie_t   cookie  /**< */,
   8669                                    xcb_generic_error_t                  **e  /**< */)
   8670 {
   8671     return (xcb_xkb_get_named_indicator_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   8672 }
   8673 
   8674 
   8675 /*****************************************************************************
   8676  **
   8677  ** xcb_void_cookie_t xcb_xkb_set_named_indicator_checked
   8678  **
   8679  ** @param xcb_connection_t         *c
   8680  ** @param xcb_xkb_device_spec_t     deviceSpec
   8681  ** @param xcb_xkb_led_class_spec_t  ledClass
   8682  ** @param xcb_xkb_id_spec_t         ledID
   8683  ** @param xcb_atom_t                indicator
   8684  ** @param uint8_t                   setState
   8685  ** @param uint8_t                   on
   8686  ** @param uint8_t                   setMap
   8687  ** @param uint8_t                   createMap
   8688  ** @param uint8_t                   map_flags
   8689  ** @param uint8_t                   map_whichGroups
   8690  ** @param uint8_t                   map_groups
   8691  ** @param uint8_t                   map_whichMods
   8692  ** @param uint8_t                   map_realMods
   8693  ** @param uint16_t                  map_vmods
   8694  ** @param uint32_t                  map_ctrls
   8695  ** @returns xcb_void_cookie_t
   8696  **
   8697  *****************************************************************************/
   8698 
   8699 xcb_void_cookie_t
   8700 xcb_xkb_set_named_indicator_checked (xcb_connection_t         *c  /**< */,
   8701                                      xcb_xkb_device_spec_t     deviceSpec  /**< */,
   8702                                      xcb_xkb_led_class_spec_t  ledClass  /**< */,
   8703                                      xcb_xkb_id_spec_t         ledID  /**< */,
   8704                                      xcb_atom_t                indicator  /**< */,
   8705                                      uint8_t                   setState  /**< */,
   8706                                      uint8_t                   on  /**< */,
   8707                                      uint8_t                   setMap  /**< */,
   8708                                      uint8_t                   createMap  /**< */,
   8709                                      uint8_t                   map_flags  /**< */,
   8710                                      uint8_t                   map_whichGroups  /**< */,
   8711                                      uint8_t                   map_groups  /**< */,
   8712                                      uint8_t                   map_whichMods  /**< */,
   8713                                      uint8_t                   map_realMods  /**< */,
   8714                                      uint16_t                  map_vmods  /**< */,
   8715                                      uint32_t                  map_ctrls  /**< */)
   8716 {
   8717     static const xcb_protocol_request_t xcb_req = {
   8718         /* count */ 2,
   8719         /* ext */ &xcb_xkb_id,
   8720         /* opcode */ XCB_XKB_SET_NAMED_INDICATOR,
   8721         /* isvoid */ 1
   8722     };
   8723 
   8724     struct iovec xcb_parts[4];
   8725     xcb_void_cookie_t xcb_ret;
   8726     xcb_xkb_set_named_indicator_request_t xcb_out;
   8727 
   8728     xcb_out.deviceSpec = deviceSpec;
   8729     xcb_out.ledClass = ledClass;
   8730     xcb_out.ledID = ledID;
   8731     memset(xcb_out.pad0, 0, 2);
   8732     xcb_out.indicator = indicator;
   8733     xcb_out.setState = setState;
   8734     xcb_out.on = on;
   8735     xcb_out.setMap = setMap;
   8736     xcb_out.createMap = createMap;
   8737     xcb_out.pad1 = 0;
   8738     xcb_out.map_flags = map_flags;
   8739     xcb_out.map_whichGroups = map_whichGroups;
   8740     xcb_out.map_groups = map_groups;
   8741     xcb_out.map_whichMods = map_whichMods;
   8742     xcb_out.map_realMods = map_realMods;
   8743     xcb_out.map_vmods = map_vmods;
   8744     xcb_out.map_ctrls = map_ctrls;
   8745 
   8746     xcb_parts[2].iov_base = (char *) &xcb_out;
   8747     xcb_parts[2].iov_len = sizeof(xcb_out);
   8748     xcb_parts[3].iov_base = 0;
   8749     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8750 
   8751     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   8752     return xcb_ret;
   8753 }
   8754 
   8755 
   8756 /*****************************************************************************
   8757  **
   8758  ** xcb_void_cookie_t xcb_xkb_set_named_indicator
   8759  **
   8760  ** @param xcb_connection_t         *c
   8761  ** @param xcb_xkb_device_spec_t     deviceSpec
   8762  ** @param xcb_xkb_led_class_spec_t  ledClass
   8763  ** @param xcb_xkb_id_spec_t         ledID
   8764  ** @param xcb_atom_t                indicator
   8765  ** @param uint8_t                   setState
   8766  ** @param uint8_t                   on
   8767  ** @param uint8_t                   setMap
   8768  ** @param uint8_t                   createMap
   8769  ** @param uint8_t                   map_flags
   8770  ** @param uint8_t                   map_whichGroups
   8771  ** @param uint8_t                   map_groups
   8772  ** @param uint8_t                   map_whichMods
   8773  ** @param uint8_t                   map_realMods
   8774  ** @param uint16_t                  map_vmods
   8775  ** @param uint32_t                  map_ctrls
   8776  ** @returns xcb_void_cookie_t
   8777  **
   8778  *****************************************************************************/
   8779 
   8780 xcb_void_cookie_t
   8781 xcb_xkb_set_named_indicator (xcb_connection_t         *c  /**< */,
   8782                              xcb_xkb_device_spec_t     deviceSpec  /**< */,
   8783                              xcb_xkb_led_class_spec_t  ledClass  /**< */,
   8784                              xcb_xkb_id_spec_t         ledID  /**< */,
   8785                              xcb_atom_t                indicator  /**< */,
   8786                              uint8_t                   setState  /**< */,
   8787                              uint8_t                   on  /**< */,
   8788                              uint8_t                   setMap  /**< */,
   8789                              uint8_t                   createMap  /**< */,
   8790                              uint8_t                   map_flags  /**< */,
   8791                              uint8_t                   map_whichGroups  /**< */,
   8792                              uint8_t                   map_groups  /**< */,
   8793                              uint8_t                   map_whichMods  /**< */,
   8794                              uint8_t                   map_realMods  /**< */,
   8795                              uint16_t                  map_vmods  /**< */,
   8796                              uint32_t                  map_ctrls  /**< */)
   8797 {
   8798     static const xcb_protocol_request_t xcb_req = {
   8799         /* count */ 2,
   8800         /* ext */ &xcb_xkb_id,
   8801         /* opcode */ XCB_XKB_SET_NAMED_INDICATOR,
   8802         /* isvoid */ 1
   8803     };
   8804 
   8805     struct iovec xcb_parts[4];
   8806     xcb_void_cookie_t xcb_ret;
   8807     xcb_xkb_set_named_indicator_request_t xcb_out;
   8808 
   8809     xcb_out.deviceSpec = deviceSpec;
   8810     xcb_out.ledClass = ledClass;
   8811     xcb_out.ledID = ledID;
   8812     memset(xcb_out.pad0, 0, 2);
   8813     xcb_out.indicator = indicator;
   8814     xcb_out.setState = setState;
   8815     xcb_out.on = on;
   8816     xcb_out.setMap = setMap;
   8817     xcb_out.createMap = createMap;
   8818     xcb_out.pad1 = 0;
   8819     xcb_out.map_flags = map_flags;
   8820     xcb_out.map_whichGroups = map_whichGroups;
   8821     xcb_out.map_groups = map_groups;
   8822     xcb_out.map_whichMods = map_whichMods;
   8823     xcb_out.map_realMods = map_realMods;
   8824     xcb_out.map_vmods = map_vmods;
   8825     xcb_out.map_ctrls = map_ctrls;
   8826 
   8827     xcb_parts[2].iov_base = (char *) &xcb_out;
   8828     xcb_parts[2].iov_len = sizeof(xcb_out);
   8829     xcb_parts[3].iov_base = 0;
   8830     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   8831 
   8832     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   8833     return xcb_ret;
   8834 }
   8835 
   8836 
   8837 /*****************************************************************************
   8838  **
   8839  ** xcb_atom_t * xcb_xkb_get_names_value_list_type_names
   8840  **
   8841  ** @param const xcb_xkb_get_names_value_list_t *S
   8842  ** @returns xcb_atom_t *
   8843  **
   8844  *****************************************************************************/
   8845 
   8846 xcb_atom_t *
   8847 xcb_xkb_get_names_value_list_type_names (const xcb_xkb_get_names_value_list_t *S  /**< */)
   8848 {
   8849     return /* valueList */ S->typeNames;
   8850 }
   8851 
   8852 
   8853 /*****************************************************************************
   8854  **
   8855  ** int xcb_xkb_get_names_value_list_type_names_length
   8856  **
   8857  ** @param const xcb_xkb_get_names_value_list_t *R
   8858  ** @returns int
   8859  **
   8860  *****************************************************************************/
   8861 
   8862 int
   8863 xcb_xkb_get_names_value_list_type_names_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   8864                                                 const xcb_xkb_get_names_value_list_t *S  /**< */)
   8865 {
   8866     return R->nTypes;
   8867 }
   8868 
   8869 
   8870 /*****************************************************************************
   8871  **
   8872  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_type_names_end
   8873  **
   8874  ** @param const xcb_xkb_get_names_value_list_t *R
   8875  ** @returns xcb_generic_iterator_t
   8876  **
   8877  *****************************************************************************/
   8878 
   8879 xcb_generic_iterator_t
   8880 xcb_xkb_get_names_value_list_type_names_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   8881                                              const xcb_xkb_get_names_value_list_t *S  /**< */)
   8882 {
   8883     xcb_generic_iterator_t i;
   8884     i.data = /* valueList */ S->typeNames + R->nTypes;
   8885     i.rem = 0;
   8886     i.index = (char *) i.data - (char *) S;
   8887     return i;
   8888 }
   8889 
   8890 
   8891 /*****************************************************************************
   8892  **
   8893  ** uint8_t * xcb_xkb_get_names_value_list_n_levels_per_type
   8894  **
   8895  ** @param const xcb_xkb_get_names_value_list_t *S
   8896  ** @returns uint8_t *
   8897  **
   8898  *****************************************************************************/
   8899 
   8900 uint8_t *
   8901 xcb_xkb_get_names_value_list_n_levels_per_type (const xcb_xkb_get_names_value_list_t *S  /**< */)
   8902 {
   8903     return /* valueList */ S->nLevelsPerType;
   8904 }
   8905 
   8906 
   8907 /*****************************************************************************
   8908  **
   8909  ** int xcb_xkb_get_names_value_list_n_levels_per_type_length
   8910  **
   8911  ** @param const xcb_xkb_get_names_value_list_t *R
   8912  ** @returns int
   8913  **
   8914  *****************************************************************************/
   8915 
   8916 int
   8917 xcb_xkb_get_names_value_list_n_levels_per_type_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   8918                                                        const xcb_xkb_get_names_value_list_t *S  /**< */)
   8919 {
   8920     return R->nTypes;
   8921 }
   8922 
   8923 
   8924 /*****************************************************************************
   8925  **
   8926  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_n_levels_per_type_end
   8927  **
   8928  ** @param const xcb_xkb_get_names_value_list_t *R
   8929  ** @returns xcb_generic_iterator_t
   8930  **
   8931  *****************************************************************************/
   8932 
   8933 xcb_generic_iterator_t
   8934 xcb_xkb_get_names_value_list_n_levels_per_type_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   8935                                                     const xcb_xkb_get_names_value_list_t *S  /**< */)
   8936 {
   8937     xcb_generic_iterator_t i;
   8938     i.data = /* valueList */ S->nLevelsPerType + R->nTypes;
   8939     i.rem = 0;
   8940     i.index = (char *) i.data - (char *) S;
   8941     return i;
   8942 }
   8943 
   8944 
   8945 /*****************************************************************************
   8946  **
   8947  ** uint8_t * xcb_xkb_get_names_value_list_alignment_pad
   8948  **
   8949  ** @param const xcb_xkb_get_names_value_list_t *S
   8950  ** @returns uint8_t *
   8951  **
   8952  *****************************************************************************/
   8953 
   8954 uint8_t *
   8955 xcb_xkb_get_names_value_list_alignment_pad (const xcb_xkb_get_names_value_list_t *S  /**< */)
   8956 {
   8957     return /* valueList */ S->alignment_pad;
   8958 }
   8959 
   8960 
   8961 /*****************************************************************************
   8962  **
   8963  ** int xcb_xkb_get_names_value_list_alignment_pad_length
   8964  **
   8965  ** @param const xcb_xkb_get_names_value_list_t *R
   8966  ** @returns int
   8967  **
   8968  *****************************************************************************/
   8969 
   8970 int
   8971 xcb_xkb_get_names_value_list_alignment_pad_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   8972                                                    const xcb_xkb_get_names_value_list_t *S  /**< */)
   8973 {
   8974     return (((R->nTypes + 3) & (~3)) - R->nTypes);
   8975 }
   8976 
   8977 
   8978 /*****************************************************************************
   8979  **
   8980  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_alignment_pad_end
   8981  **
   8982  ** @param const xcb_xkb_get_names_value_list_t *R
   8983  ** @returns xcb_generic_iterator_t
   8984  **
   8985  *****************************************************************************/
   8986 
   8987 xcb_generic_iterator_t
   8988 xcb_xkb_get_names_value_list_alignment_pad_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   8989                                                 const xcb_xkb_get_names_value_list_t *S  /**< */)
   8990 {
   8991     xcb_generic_iterator_t i;
   8992     i.data = /* valueList */ S->alignment_pad + (((R->nTypes + 3) & (~3)) - R->nTypes);
   8993     i.rem = 0;
   8994     i.index = (char *) i.data - (char *) S;
   8995     return i;
   8996 }
   8997 
   8998 
   8999 /*****************************************************************************
   9000  **
   9001  ** xcb_atom_t * xcb_xkb_get_names_value_list_kt_level_names
   9002  **
   9003  ** @param const xcb_xkb_get_names_value_list_t *S
   9004  ** @returns xcb_atom_t *
   9005  **
   9006  *****************************************************************************/
   9007 
   9008 xcb_atom_t *
   9009 xcb_xkb_get_names_value_list_kt_level_names (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9010 {
   9011     return /* valueList */ S->ktLevelNames;
   9012 }
   9013 
   9014 
   9015 /*****************************************************************************
   9016  **
   9017  ** int xcb_xkb_get_names_value_list_kt_level_names_length
   9018  **
   9019  ** @param const xcb_xkb_get_names_value_list_t *R
   9020  ** @returns int
   9021  **
   9022  *****************************************************************************/
   9023 
   9024 int
   9025 xcb_xkb_get_names_value_list_kt_level_names_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9026                                                     const xcb_xkb_get_names_value_list_t *S  /**< */)
   9027 {
   9028     return xcb_sumof(/* valueList */ S->nLevelsPerType, R->nTypes);
   9029 }
   9030 
   9031 
   9032 /*****************************************************************************
   9033  **
   9034  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_kt_level_names_end
   9035  **
   9036  ** @param const xcb_xkb_get_names_value_list_t *R
   9037  ** @returns xcb_generic_iterator_t
   9038  **
   9039  *****************************************************************************/
   9040 
   9041 xcb_generic_iterator_t
   9042 xcb_xkb_get_names_value_list_kt_level_names_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   9043                                                  const xcb_xkb_get_names_value_list_t *S  /**< */)
   9044 {
   9045     xcb_generic_iterator_t i;
   9046     i.data = /* valueList */ S->ktLevelNames + xcb_sumof(/* valueList */ S->nLevelsPerType, R->nTypes);
   9047     i.rem = 0;
   9048     i.index = (char *) i.data - (char *) S;
   9049     return i;
   9050 }
   9051 
   9052 
   9053 /*****************************************************************************
   9054  **
   9055  ** xcb_atom_t * xcb_xkb_get_names_value_list_indicator_names
   9056  **
   9057  ** @param const xcb_xkb_get_names_value_list_t *S
   9058  ** @returns xcb_atom_t *
   9059  **
   9060  *****************************************************************************/
   9061 
   9062 xcb_atom_t *
   9063 xcb_xkb_get_names_value_list_indicator_names (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9064 {
   9065     return /* valueList */ S->indicatorNames;
   9066 }
   9067 
   9068 
   9069 /*****************************************************************************
   9070  **
   9071  ** int xcb_xkb_get_names_value_list_indicator_names_length
   9072  **
   9073  ** @param const xcb_xkb_get_names_value_list_t *R
   9074  ** @returns int
   9075  **
   9076  *****************************************************************************/
   9077 
   9078 int
   9079 xcb_xkb_get_names_value_list_indicator_names_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9080                                                      const xcb_xkb_get_names_value_list_t *S  /**< */)
   9081 {
   9082     return xcb_popcount(R->indicators);
   9083 }
   9084 
   9085 
   9086 /*****************************************************************************
   9087  **
   9088  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_indicator_names_end
   9089  **
   9090  ** @param const xcb_xkb_get_names_value_list_t *R
   9091  ** @returns xcb_generic_iterator_t
   9092  **
   9093  *****************************************************************************/
   9094 
   9095 xcb_generic_iterator_t
   9096 xcb_xkb_get_names_value_list_indicator_names_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   9097                                                   const xcb_xkb_get_names_value_list_t *S  /**< */)
   9098 {
   9099     xcb_generic_iterator_t i;
   9100     i.data = /* valueList */ S->indicatorNames + xcb_popcount(R->indicators);
   9101     i.rem = 0;
   9102     i.index = (char *) i.data - (char *) S;
   9103     return i;
   9104 }
   9105 
   9106 
   9107 /*****************************************************************************
   9108  **
   9109  ** xcb_atom_t * xcb_xkb_get_names_value_list_virtual_mod_names
   9110  **
   9111  ** @param const xcb_xkb_get_names_value_list_t *S
   9112  ** @returns xcb_atom_t *
   9113  **
   9114  *****************************************************************************/
   9115 
   9116 xcb_atom_t *
   9117 xcb_xkb_get_names_value_list_virtual_mod_names (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9118 {
   9119     return /* valueList */ S->virtualModNames;
   9120 }
   9121 
   9122 
   9123 /*****************************************************************************
   9124  **
   9125  ** int xcb_xkb_get_names_value_list_virtual_mod_names_length
   9126  **
   9127  ** @param const xcb_xkb_get_names_value_list_t *R
   9128  ** @returns int
   9129  **
   9130  *****************************************************************************/
   9131 
   9132 int
   9133 xcb_xkb_get_names_value_list_virtual_mod_names_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9134                                                        const xcb_xkb_get_names_value_list_t *S  /**< */)
   9135 {
   9136     return xcb_popcount(R->virtualMods);
   9137 }
   9138 
   9139 
   9140 /*****************************************************************************
   9141  **
   9142  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_virtual_mod_names_end
   9143  **
   9144  ** @param const xcb_xkb_get_names_value_list_t *R
   9145  ** @returns xcb_generic_iterator_t
   9146  **
   9147  *****************************************************************************/
   9148 
   9149 xcb_generic_iterator_t
   9150 xcb_xkb_get_names_value_list_virtual_mod_names_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   9151                                                     const xcb_xkb_get_names_value_list_t *S  /**< */)
   9152 {
   9153     xcb_generic_iterator_t i;
   9154     i.data = /* valueList */ S->virtualModNames + xcb_popcount(R->virtualMods);
   9155     i.rem = 0;
   9156     i.index = (char *) i.data - (char *) S;
   9157     return i;
   9158 }
   9159 
   9160 
   9161 /*****************************************************************************
   9162  **
   9163  ** xcb_atom_t * xcb_xkb_get_names_value_list_groups
   9164  **
   9165  ** @param const xcb_xkb_get_names_value_list_t *S
   9166  ** @returns xcb_atom_t *
   9167  **
   9168  *****************************************************************************/
   9169 
   9170 xcb_atom_t *
   9171 xcb_xkb_get_names_value_list_groups (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9172 {
   9173     return /* valueList */ S->groups;
   9174 }
   9175 
   9176 
   9177 /*****************************************************************************
   9178  **
   9179  ** int xcb_xkb_get_names_value_list_groups_length
   9180  **
   9181  ** @param const xcb_xkb_get_names_value_list_t *R
   9182  ** @returns int
   9183  **
   9184  *****************************************************************************/
   9185 
   9186 int
   9187 xcb_xkb_get_names_value_list_groups_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9188                                             const xcb_xkb_get_names_value_list_t *S  /**< */)
   9189 {
   9190     return xcb_popcount(R->groupNames);
   9191 }
   9192 
   9193 
   9194 /*****************************************************************************
   9195  **
   9196  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_groups_end
   9197  **
   9198  ** @param const xcb_xkb_get_names_value_list_t *R
   9199  ** @returns xcb_generic_iterator_t
   9200  **
   9201  *****************************************************************************/
   9202 
   9203 xcb_generic_iterator_t
   9204 xcb_xkb_get_names_value_list_groups_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   9205                                          const xcb_xkb_get_names_value_list_t *S  /**< */)
   9206 {
   9207     xcb_generic_iterator_t i;
   9208     i.data = /* valueList */ S->groups + xcb_popcount(R->groupNames);
   9209     i.rem = 0;
   9210     i.index = (char *) i.data - (char *) S;
   9211     return i;
   9212 }
   9213 
   9214 
   9215 /*****************************************************************************
   9216  **
   9217  ** xcb_xkb_key_name_t * xcb_xkb_get_names_value_list_key_names
   9218  **
   9219  ** @param const xcb_xkb_get_names_value_list_t *S
   9220  ** @returns xcb_xkb_key_name_t *
   9221  **
   9222  *****************************************************************************/
   9223 
   9224 xcb_xkb_key_name_t *
   9225 xcb_xkb_get_names_value_list_key_names (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9226 {
   9227     return /* valueList */ S->keyNames;
   9228 }
   9229 
   9230 
   9231 /*****************************************************************************
   9232  **
   9233  ** int xcb_xkb_get_names_value_list_key_names_length
   9234  **
   9235  ** @param const xcb_xkb_get_names_value_list_t *R
   9236  ** @returns int
   9237  **
   9238  *****************************************************************************/
   9239 
   9240 int
   9241 xcb_xkb_get_names_value_list_key_names_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9242                                                const xcb_xkb_get_names_value_list_t *S  /**< */)
   9243 {
   9244     return R->nKeys;
   9245 }
   9246 
   9247 
   9248 /*****************************************************************************
   9249  **
   9250  ** xcb_xkb_key_name_iterator_t xcb_xkb_get_names_value_list_key_names_iterator
   9251  **
   9252  ** @param const xcb_xkb_get_names_value_list_t *R
   9253  ** @returns xcb_xkb_key_name_iterator_t
   9254  **
   9255  *****************************************************************************/
   9256 
   9257 xcb_xkb_key_name_iterator_t
   9258 xcb_xkb_get_names_value_list_key_names_iterator (const xcb_xkb_get_names_reply_t *R  /**< */,
   9259                                                  const xcb_xkb_get_names_value_list_t *S  /**< */)
   9260 {
   9261     xcb_xkb_key_name_iterator_t i;
   9262     i.data = /* valueList */ S->keyNames;
   9263     i.rem = R->nKeys;
   9264     i.index = (char *) i.data - (char *) S;
   9265     return i;
   9266 }
   9267 
   9268 
   9269 /*****************************************************************************
   9270  **
   9271  ** xcb_xkb_key_alias_t * xcb_xkb_get_names_value_list_key_aliases
   9272  **
   9273  ** @param const xcb_xkb_get_names_value_list_t *S
   9274  ** @returns xcb_xkb_key_alias_t *
   9275  **
   9276  *****************************************************************************/
   9277 
   9278 xcb_xkb_key_alias_t *
   9279 xcb_xkb_get_names_value_list_key_aliases (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9280 {
   9281     return /* valueList */ S->keyAliases;
   9282 }
   9283 
   9284 
   9285 /*****************************************************************************
   9286  **
   9287  ** int xcb_xkb_get_names_value_list_key_aliases_length
   9288  **
   9289  ** @param const xcb_xkb_get_names_value_list_t *R
   9290  ** @returns int
   9291  **
   9292  *****************************************************************************/
   9293 
   9294 int
   9295 xcb_xkb_get_names_value_list_key_aliases_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9296                                                  const xcb_xkb_get_names_value_list_t *S  /**< */)
   9297 {
   9298     return R->nKeyAliases;
   9299 }
   9300 
   9301 
   9302 /*****************************************************************************
   9303  **
   9304  ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_names_value_list_key_aliases_iterator
   9305  **
   9306  ** @param const xcb_xkb_get_names_value_list_t *R
   9307  ** @returns xcb_xkb_key_alias_iterator_t
   9308  **
   9309  *****************************************************************************/
   9310 
   9311 xcb_xkb_key_alias_iterator_t
   9312 xcb_xkb_get_names_value_list_key_aliases_iterator (const xcb_xkb_get_names_reply_t *R  /**< */,
   9313                                                    const xcb_xkb_get_names_value_list_t *S  /**< */)
   9314 {
   9315     xcb_xkb_key_alias_iterator_t i;
   9316     i.data = /* valueList */ S->keyAliases;
   9317     i.rem = R->nKeyAliases;
   9318     i.index = (char *) i.data - (char *) S;
   9319     return i;
   9320 }
   9321 
   9322 
   9323 /*****************************************************************************
   9324  **
   9325  ** xcb_atom_t * xcb_xkb_get_names_value_list_radio_group_names
   9326  **
   9327  ** @param const xcb_xkb_get_names_value_list_t *S
   9328  ** @returns xcb_atom_t *
   9329  **
   9330  *****************************************************************************/
   9331 
   9332 xcb_atom_t *
   9333 xcb_xkb_get_names_value_list_radio_group_names (const xcb_xkb_get_names_value_list_t *S  /**< */)
   9334 {
   9335     return /* valueList */ S->radioGroupNames;
   9336 }
   9337 
   9338 
   9339 /*****************************************************************************
   9340  **
   9341  ** int xcb_xkb_get_names_value_list_radio_group_names_length
   9342  **
   9343  ** @param const xcb_xkb_get_names_value_list_t *R
   9344  ** @returns int
   9345  **
   9346  *****************************************************************************/
   9347 
   9348 int
   9349 xcb_xkb_get_names_value_list_radio_group_names_length (const xcb_xkb_get_names_reply_t *R  /**< */,
   9350                                                        const xcb_xkb_get_names_value_list_t *S  /**< */)
   9351 {
   9352     return R->nRadioGroups;
   9353 }
   9354 
   9355 
   9356 /*****************************************************************************
   9357  **
   9358  ** xcb_generic_iterator_t xcb_xkb_get_names_value_list_radio_group_names_end
   9359  **
   9360  ** @param const xcb_xkb_get_names_value_list_t *R
   9361  ** @returns xcb_generic_iterator_t
   9362  **
   9363  *****************************************************************************/
   9364 
   9365 xcb_generic_iterator_t
   9366 xcb_xkb_get_names_value_list_radio_group_names_end (const xcb_xkb_get_names_reply_t *R  /**< */,
   9367                                                     const xcb_xkb_get_names_value_list_t *S  /**< */)
   9368 {
   9369     xcb_generic_iterator_t i;
   9370     i.data = /* valueList */ S->radioGroupNames + R->nRadioGroups;
   9371     i.rem = 0;
   9372     i.index = (char *) i.data - (char *) S;
   9373     return i;
   9374 }
   9375 
   9376 int
   9377 xcb_xkb_get_names_value_list_serialize (void                                 **_buffer  /**< */,
   9378                                         uint8_t                                nTypes  /**< */,
   9379                                         uint32_t                               indicators  /**< */,
   9380                                         uint16_t                               virtualMods  /**< */,
   9381                                         uint8_t                                groupNames  /**< */,
   9382                                         uint8_t                                nKeys  /**< */,
   9383                                         uint8_t                                nKeyAliases  /**< */,
   9384                                         uint8_t                                nRadioGroups  /**< */,
   9385                                         uint32_t                               which  /**< */,
   9386                                         const xcb_xkb_get_names_value_list_t  *_aux  /**< */)
   9387 {
   9388     char *xcb_out = *_buffer;
   9389     unsigned int xcb_buffer_len = 0;
   9390     unsigned int xcb_align_to = 0;
   9391 
   9392     unsigned int xcb_pad = 0;
   9393     char xcb_pad0[3] = {0, 0, 0};
   9394     struct iovec xcb_parts[27];
   9395     unsigned int xcb_parts_idx = 0;
   9396     unsigned int xcb_block_len = 0;
   9397     unsigned int i;
   9398     char *xcb_tmp;
   9399 
   9400     if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
   9401         /* xcb_xkb_get_names_value_list_t.keycodesName */
   9402         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName;
   9403         xcb_block_len += sizeof(xcb_atom_t);
   9404         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   9405         xcb_parts_idx++;
   9406         xcb_align_to = ALIGNOF(xcb_atom_t);
   9407     }
   9408     if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
   9409         /* xcb_xkb_get_names_value_list_t.geometryName */
   9410         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName;
   9411         xcb_block_len += sizeof(xcb_atom_t);
   9412         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   9413         xcb_parts_idx++;
   9414         xcb_align_to = ALIGNOF(xcb_atom_t);
   9415     }
   9416     if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
   9417         /* xcb_xkb_get_names_value_list_t.symbolsName */
   9418         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName;
   9419         xcb_block_len += sizeof(xcb_atom_t);
   9420         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   9421         xcb_parts_idx++;
   9422         xcb_align_to = ALIGNOF(xcb_atom_t);
   9423     }
   9424     if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
   9425         /* xcb_xkb_get_names_value_list_t.physSymbolsName */
   9426         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName;
   9427         xcb_block_len += sizeof(xcb_atom_t);
   9428         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   9429         xcb_parts_idx++;
   9430         xcb_align_to = ALIGNOF(xcb_atom_t);
   9431     }
   9432     if(which & XCB_XKB_NAME_DETAIL_TYPES) {
   9433         /* xcb_xkb_get_names_value_list_t.typesName */
   9434         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName;
   9435         xcb_block_len += sizeof(xcb_atom_t);
   9436         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   9437         xcb_parts_idx++;
   9438         xcb_align_to = ALIGNOF(xcb_atom_t);
   9439     }
   9440     if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
   9441         /* xcb_xkb_get_names_value_list_t.compatName */
   9442         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName;
   9443         xcb_block_len += sizeof(xcb_atom_t);
   9444         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   9445         xcb_parts_idx++;
   9446         xcb_align_to = ALIGNOF(xcb_atom_t);
   9447     }
   9448     if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
   9449         /* insert padding */
   9450         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9451         xcb_buffer_len += xcb_block_len + xcb_pad;
   9452         if (0 != xcb_pad) {
   9453             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9454             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9455             xcb_parts_idx++;
   9456             xcb_pad = 0;
   9457         }
   9458         xcb_block_len = 0;
   9459         /* typeNames */
   9460         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames;
   9461         xcb_block_len += nTypes * sizeof(xcb_atom_t);
   9462         xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t);
   9463         xcb_parts_idx++;
   9464         xcb_align_to = ALIGNOF(xcb_atom_t);
   9465     }
   9466     if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
   9467         /* insert padding */
   9468         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9469         xcb_buffer_len += xcb_block_len + xcb_pad;
   9470         if (0 != xcb_pad) {
   9471             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9472             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9473             xcb_parts_idx++;
   9474             xcb_pad = 0;
   9475         }
   9476         xcb_block_len = 0;
   9477         /* nLevelsPerType */
   9478         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType;
   9479         xcb_block_len += nTypes * sizeof(uint8_t);
   9480         xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(uint8_t);
   9481         xcb_parts_idx++;
   9482         xcb_align_to = ALIGNOF(uint8_t);
   9483         /* insert padding */
   9484         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9485         xcb_buffer_len += xcb_block_len + xcb_pad;
   9486         if (0 != xcb_pad) {
   9487             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9488             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9489             xcb_parts_idx++;
   9490             xcb_pad = 0;
   9491         }
   9492         xcb_block_len = 0;
   9493         /* alignment_pad */
   9494         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->alignment_pad;
   9495         xcb_block_len += (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t);
   9496         xcb_parts[xcb_parts_idx].iov_len = (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t);
   9497         xcb_parts_idx++;
   9498         xcb_align_to = ALIGNOF(uint8_t);
   9499         /* insert padding */
   9500         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9501         xcb_buffer_len += xcb_block_len + xcb_pad;
   9502         if (0 != xcb_pad) {
   9503             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9504             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9505             xcb_parts_idx++;
   9506             xcb_pad = 0;
   9507         }
   9508         xcb_block_len = 0;
   9509         /* ktLevelNames */
   9510         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames;
   9511         xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t);
   9512         xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t);
   9513         xcb_parts_idx++;
   9514         xcb_align_to = ALIGNOF(xcb_atom_t);
   9515     }
   9516     if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
   9517         /* insert padding */
   9518         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9519         xcb_buffer_len += xcb_block_len + xcb_pad;
   9520         if (0 != xcb_pad) {
   9521             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9522             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9523             xcb_parts_idx++;
   9524             xcb_pad = 0;
   9525         }
   9526         xcb_block_len = 0;
   9527         /* indicatorNames */
   9528         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames;
   9529         xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
   9530         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t);
   9531         xcb_parts_idx++;
   9532         xcb_align_to = ALIGNOF(xcb_atom_t);
   9533     }
   9534     if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
   9535         /* insert padding */
   9536         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9537         xcb_buffer_len += xcb_block_len + xcb_pad;
   9538         if (0 != xcb_pad) {
   9539             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9540             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9541             xcb_parts_idx++;
   9542             xcb_pad = 0;
   9543         }
   9544         xcb_block_len = 0;
   9545         /* virtualModNames */
   9546         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames;
   9547         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   9548         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   9549         xcb_parts_idx++;
   9550         xcb_align_to = ALIGNOF(xcb_atom_t);
   9551     }
   9552     if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
   9553         /* insert padding */
   9554         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9555         xcb_buffer_len += xcb_block_len + xcb_pad;
   9556         if (0 != xcb_pad) {
   9557             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9558             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9559             xcb_parts_idx++;
   9560             xcb_pad = 0;
   9561         }
   9562         xcb_block_len = 0;
   9563         /* groups */
   9564         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups;
   9565         xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   9566         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   9567         xcb_parts_idx++;
   9568         xcb_align_to = ALIGNOF(xcb_atom_t);
   9569     }
   9570     if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
   9571         /* insert padding */
   9572         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9573         xcb_buffer_len += xcb_block_len + xcb_pad;
   9574         if (0 != xcb_pad) {
   9575             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9576             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9577             xcb_parts_idx++;
   9578             xcb_pad = 0;
   9579         }
   9580         xcb_block_len = 0;
   9581         /* keyNames */
   9582         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames;
   9583         xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
   9584         xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t);
   9585         xcb_parts_idx++;
   9586         xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
   9587     }
   9588     if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
   9589         /* insert padding */
   9590         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9591         xcb_buffer_len += xcb_block_len + xcb_pad;
   9592         if (0 != xcb_pad) {
   9593             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9594             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9595             xcb_parts_idx++;
   9596             xcb_pad = 0;
   9597         }
   9598         xcb_block_len = 0;
   9599         /* keyAliases */
   9600         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases;
   9601         xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   9602         xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   9603         xcb_parts_idx++;
   9604         xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
   9605     }
   9606     if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
   9607         /* insert padding */
   9608         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9609         xcb_buffer_len += xcb_block_len + xcb_pad;
   9610         if (0 != xcb_pad) {
   9611             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9612             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9613             xcb_parts_idx++;
   9614             xcb_pad = 0;
   9615         }
   9616         xcb_block_len = 0;
   9617         /* radioGroupNames */
   9618         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames;
   9619         xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
   9620         xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t);
   9621         xcb_parts_idx++;
   9622         xcb_align_to = ALIGNOF(xcb_atom_t);
   9623     }
   9624     /* insert padding */
   9625     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9626     xcb_buffer_len += xcb_block_len + xcb_pad;
   9627     if (0 != xcb_pad) {
   9628         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   9629         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   9630         xcb_parts_idx++;
   9631         xcb_pad = 0;
   9632     }
   9633     xcb_block_len = 0;
   9634 
   9635     if (NULL == xcb_out) {
   9636         /* allocate memory */
   9637         xcb_out = malloc(xcb_buffer_len);
   9638         *_buffer = xcb_out;
   9639     }
   9640 
   9641     xcb_tmp = xcb_out;
   9642     for(i=0; i<xcb_parts_idx; i++) {
   9643         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   9644             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   9645         if (0 != xcb_parts[i].iov_len)
   9646             xcb_tmp += xcb_parts[i].iov_len;
   9647     }
   9648 
   9649     return xcb_buffer_len;
   9650 }
   9651 
   9652 int
   9653 xcb_xkb_get_names_value_list_unpack (const void                      *_buffer  /**< */,
   9654                                      uint8_t                          nTypes  /**< */,
   9655                                      uint32_t                         indicators  /**< */,
   9656                                      uint16_t                         virtualMods  /**< */,
   9657                                      uint8_t                          groupNames  /**< */,
   9658                                      uint8_t                          nKeys  /**< */,
   9659                                      uint8_t                          nKeyAliases  /**< */,
   9660                                      uint8_t                          nRadioGroups  /**< */,
   9661                                      uint32_t                         which  /**< */,
   9662                                      xcb_xkb_get_names_value_list_t  *_aux  /**< */)
   9663 {
   9664     char *xcb_tmp = (char *)_buffer;
   9665     unsigned int xcb_buffer_len = 0;
   9666     unsigned int xcb_block_len = 0;
   9667     unsigned int xcb_pad = 0;
   9668     unsigned int xcb_align_to = 0;
   9669 
   9670 
   9671     if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
   9672         /* xcb_xkb_get_names_value_list_t.keycodesName */
   9673         _aux->keycodesName = *(xcb_atom_t *)xcb_tmp;
   9674         xcb_block_len += sizeof(xcb_atom_t);
   9675         xcb_tmp += sizeof(xcb_atom_t);
   9676         xcb_align_to = ALIGNOF(xcb_atom_t);
   9677     }
   9678     if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
   9679         /* xcb_xkb_get_names_value_list_t.geometryName */
   9680         _aux->geometryName = *(xcb_atom_t *)xcb_tmp;
   9681         xcb_block_len += sizeof(xcb_atom_t);
   9682         xcb_tmp += sizeof(xcb_atom_t);
   9683         xcb_align_to = ALIGNOF(xcb_atom_t);
   9684     }
   9685     if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
   9686         /* xcb_xkb_get_names_value_list_t.symbolsName */
   9687         _aux->symbolsName = *(xcb_atom_t *)xcb_tmp;
   9688         xcb_block_len += sizeof(xcb_atom_t);
   9689         xcb_tmp += sizeof(xcb_atom_t);
   9690         xcb_align_to = ALIGNOF(xcb_atom_t);
   9691     }
   9692     if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
   9693         /* xcb_xkb_get_names_value_list_t.physSymbolsName */
   9694         _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp;
   9695         xcb_block_len += sizeof(xcb_atom_t);
   9696         xcb_tmp += sizeof(xcb_atom_t);
   9697         xcb_align_to = ALIGNOF(xcb_atom_t);
   9698     }
   9699     if(which & XCB_XKB_NAME_DETAIL_TYPES) {
   9700         /* xcb_xkb_get_names_value_list_t.typesName */
   9701         _aux->typesName = *(xcb_atom_t *)xcb_tmp;
   9702         xcb_block_len += sizeof(xcb_atom_t);
   9703         xcb_tmp += sizeof(xcb_atom_t);
   9704         xcb_align_to = ALIGNOF(xcb_atom_t);
   9705     }
   9706     if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
   9707         /* xcb_xkb_get_names_value_list_t.compatName */
   9708         _aux->compatName = *(xcb_atom_t *)xcb_tmp;
   9709         xcb_block_len += sizeof(xcb_atom_t);
   9710         xcb_tmp += sizeof(xcb_atom_t);
   9711         xcb_align_to = ALIGNOF(xcb_atom_t);
   9712     }
   9713     if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
   9714         /* insert padding */
   9715         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9716         xcb_buffer_len += xcb_block_len + xcb_pad;
   9717         if (0 != xcb_pad) {
   9718             xcb_tmp += xcb_pad;
   9719             xcb_pad = 0;
   9720         }
   9721         xcb_block_len = 0;
   9722         /* typeNames */
   9723         _aux->typeNames = (xcb_atom_t *)xcb_tmp;
   9724         xcb_block_len += nTypes * sizeof(xcb_atom_t);
   9725         xcb_tmp += xcb_block_len;
   9726         xcb_align_to = ALIGNOF(xcb_atom_t);
   9727     }
   9728     if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
   9729         /* insert padding */
   9730         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9731         xcb_buffer_len += xcb_block_len + xcb_pad;
   9732         if (0 != xcb_pad) {
   9733             xcb_tmp += xcb_pad;
   9734             xcb_pad = 0;
   9735         }
   9736         xcb_block_len = 0;
   9737         /* nLevelsPerType */
   9738         _aux->nLevelsPerType = (uint8_t *)xcb_tmp;
   9739         xcb_block_len += nTypes * sizeof(uint8_t);
   9740         xcb_tmp += xcb_block_len;
   9741         xcb_align_to = ALIGNOF(uint8_t);
   9742         /* insert padding */
   9743         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9744         xcb_buffer_len += xcb_block_len + xcb_pad;
   9745         if (0 != xcb_pad) {
   9746             xcb_tmp += xcb_pad;
   9747             xcb_pad = 0;
   9748         }
   9749         xcb_block_len = 0;
   9750         /* alignment_pad */
   9751         _aux->alignment_pad = (uint8_t *)xcb_tmp;
   9752         xcb_block_len += (((nTypes + 3) & (~3)) - nTypes) * sizeof(uint8_t);
   9753         xcb_tmp += xcb_block_len;
   9754         xcb_align_to = ALIGNOF(uint8_t);
   9755         /* insert padding */
   9756         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9757         xcb_buffer_len += xcb_block_len + xcb_pad;
   9758         if (0 != xcb_pad) {
   9759             xcb_tmp += xcb_pad;
   9760             xcb_pad = 0;
   9761         }
   9762         xcb_block_len = 0;
   9763         /* ktLevelNames */
   9764         _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp;
   9765         xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nTypes) * sizeof(xcb_atom_t);
   9766         xcb_tmp += xcb_block_len;
   9767         xcb_align_to = ALIGNOF(xcb_atom_t);
   9768     }
   9769     if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
   9770         /* insert padding */
   9771         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9772         xcb_buffer_len += xcb_block_len + xcb_pad;
   9773         if (0 != xcb_pad) {
   9774             xcb_tmp += xcb_pad;
   9775             xcb_pad = 0;
   9776         }
   9777         xcb_block_len = 0;
   9778         /* indicatorNames */
   9779         _aux->indicatorNames = (xcb_atom_t *)xcb_tmp;
   9780         xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
   9781         xcb_tmp += xcb_block_len;
   9782         xcb_align_to = ALIGNOF(xcb_atom_t);
   9783     }
   9784     if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
   9785         /* insert padding */
   9786         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9787         xcb_buffer_len += xcb_block_len + xcb_pad;
   9788         if (0 != xcb_pad) {
   9789             xcb_tmp += xcb_pad;
   9790             xcb_pad = 0;
   9791         }
   9792         xcb_block_len = 0;
   9793         /* virtualModNames */
   9794         _aux->virtualModNames = (xcb_atom_t *)xcb_tmp;
   9795         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   9796         xcb_tmp += xcb_block_len;
   9797         xcb_align_to = ALIGNOF(xcb_atom_t);
   9798     }
   9799     if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
   9800         /* insert padding */
   9801         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9802         xcb_buffer_len += xcb_block_len + xcb_pad;
   9803         if (0 != xcb_pad) {
   9804             xcb_tmp += xcb_pad;
   9805             xcb_pad = 0;
   9806         }
   9807         xcb_block_len = 0;
   9808         /* groups */
   9809         _aux->groups = (xcb_atom_t *)xcb_tmp;
   9810         xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   9811         xcb_tmp += xcb_block_len;
   9812         xcb_align_to = ALIGNOF(xcb_atom_t);
   9813     }
   9814     if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
   9815         /* insert padding */
   9816         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9817         xcb_buffer_len += xcb_block_len + xcb_pad;
   9818         if (0 != xcb_pad) {
   9819             xcb_tmp += xcb_pad;
   9820             xcb_pad = 0;
   9821         }
   9822         xcb_block_len = 0;
   9823         /* keyNames */
   9824         _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp;
   9825         xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
   9826         xcb_tmp += xcb_block_len;
   9827         xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
   9828     }
   9829     if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
   9830         /* insert padding */
   9831         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9832         xcb_buffer_len += xcb_block_len + xcb_pad;
   9833         if (0 != xcb_pad) {
   9834             xcb_tmp += xcb_pad;
   9835             xcb_pad = 0;
   9836         }
   9837         xcb_block_len = 0;
   9838         /* keyAliases */
   9839         _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp;
   9840         xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   9841         xcb_tmp += xcb_block_len;
   9842         xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
   9843     }
   9844     if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
   9845         /* insert padding */
   9846         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9847         xcb_buffer_len += xcb_block_len + xcb_pad;
   9848         if (0 != xcb_pad) {
   9849             xcb_tmp += xcb_pad;
   9850             xcb_pad = 0;
   9851         }
   9852         xcb_block_len = 0;
   9853         /* radioGroupNames */
   9854         _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp;
   9855         xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
   9856         xcb_tmp += xcb_block_len;
   9857         xcb_align_to = ALIGNOF(xcb_atom_t);
   9858     }
   9859     /* insert padding */
   9860     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   9861     xcb_buffer_len += xcb_block_len + xcb_pad;
   9862     if (0 != xcb_pad) {
   9863         xcb_tmp += xcb_pad;
   9864         xcb_pad = 0;
   9865     }
   9866     xcb_block_len = 0;
   9867 
   9868     return xcb_buffer_len;
   9869 }
   9870 
   9871 int
   9872 xcb_xkb_get_names_value_list_sizeof (const void  *_buffer  /**< */,
   9873                                      uint8_t      nTypes  /**< */,
   9874                                      uint32_t     indicators  /**< */,
   9875                                      uint16_t     virtualMods  /**< */,
   9876                                      uint8_t      groupNames  /**< */,
   9877                                      uint8_t      nKeys  /**< */,
   9878                                      uint8_t      nKeyAliases  /**< */,
   9879                                      uint8_t      nRadioGroups  /**< */,
   9880                                      uint32_t     which  /**< */)
   9881 {
   9882     xcb_xkb_get_names_value_list_t _aux;
   9883     return xcb_xkb_get_names_value_list_unpack(_buffer, nTypes, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux);
   9884 }
   9885 
   9886 
   9887 /*****************************************************************************
   9888  **
   9889  ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names
   9890  **
   9891  ** @param xcb_connection_t      *c
   9892  ** @param xcb_xkb_device_spec_t  deviceSpec
   9893  ** @param uint32_t               which
   9894  ** @returns xcb_xkb_get_names_cookie_t
   9895  **
   9896  *****************************************************************************/
   9897 
   9898 xcb_xkb_get_names_cookie_t
   9899 xcb_xkb_get_names (xcb_connection_t      *c  /**< */,
   9900                    xcb_xkb_device_spec_t  deviceSpec  /**< */,
   9901                    uint32_t               which  /**< */)
   9902 {
   9903     static const xcb_protocol_request_t xcb_req = {
   9904         /* count */ 2,
   9905         /* ext */ &xcb_xkb_id,
   9906         /* opcode */ XCB_XKB_GET_NAMES,
   9907         /* isvoid */ 0
   9908     };
   9909 
   9910     struct iovec xcb_parts[4];
   9911     xcb_xkb_get_names_cookie_t xcb_ret;
   9912     xcb_xkb_get_names_request_t xcb_out;
   9913 
   9914     xcb_out.deviceSpec = deviceSpec;
   9915     memset(xcb_out.pad0, 0, 2);
   9916     xcb_out.which = which;
   9917 
   9918     xcb_parts[2].iov_base = (char *) &xcb_out;
   9919     xcb_parts[2].iov_len = sizeof(xcb_out);
   9920     xcb_parts[3].iov_base = 0;
   9921     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9922 
   9923     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   9924     return xcb_ret;
   9925 }
   9926 
   9927 
   9928 /*****************************************************************************
   9929  **
   9930  ** xcb_xkb_get_names_cookie_t xcb_xkb_get_names_unchecked
   9931  **
   9932  ** @param xcb_connection_t      *c
   9933  ** @param xcb_xkb_device_spec_t  deviceSpec
   9934  ** @param uint32_t               which
   9935  ** @returns xcb_xkb_get_names_cookie_t
   9936  **
   9937  *****************************************************************************/
   9938 
   9939 xcb_xkb_get_names_cookie_t
   9940 xcb_xkb_get_names_unchecked (xcb_connection_t      *c  /**< */,
   9941                              xcb_xkb_device_spec_t  deviceSpec  /**< */,
   9942                              uint32_t               which  /**< */)
   9943 {
   9944     static const xcb_protocol_request_t xcb_req = {
   9945         /* count */ 2,
   9946         /* ext */ &xcb_xkb_id,
   9947         /* opcode */ XCB_XKB_GET_NAMES,
   9948         /* isvoid */ 0
   9949     };
   9950 
   9951     struct iovec xcb_parts[4];
   9952     xcb_xkb_get_names_cookie_t xcb_ret;
   9953     xcb_xkb_get_names_request_t xcb_out;
   9954 
   9955     xcb_out.deviceSpec = deviceSpec;
   9956     memset(xcb_out.pad0, 0, 2);
   9957     xcb_out.which = which;
   9958 
   9959     xcb_parts[2].iov_base = (char *) &xcb_out;
   9960     xcb_parts[2].iov_len = sizeof(xcb_out);
   9961     xcb_parts[3].iov_base = 0;
   9962     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   9963 
   9964     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   9965     return xcb_ret;
   9966 }
   9967 
   9968 
   9969 /*****************************************************************************
   9970  **
   9971  ** xcb_xkb_get_names_value_list_t * xcb_xkb_get_names_value_list
   9972  **
   9973  ** @param const xcb_xkb_get_names_reply_t *R
   9974  ** @returns xcb_xkb_get_names_value_list_t *
   9975  **
   9976  *****************************************************************************/
   9977 
   9978 void *
   9979 xcb_xkb_get_names_value_list (const xcb_xkb_get_names_reply_t *R  /**< */)
   9980 {
   9981     return (void *) (R + 1);
   9982 }
   9983 
   9984 
   9985 /*****************************************************************************
   9986  **
   9987  ** xcb_xkb_get_names_reply_t * xcb_xkb_get_names_reply
   9988  **
   9989  ** @param xcb_connection_t            *c
   9990  ** @param xcb_xkb_get_names_cookie_t   cookie
   9991  ** @param xcb_generic_error_t        **e
   9992  ** @returns xcb_xkb_get_names_reply_t *
   9993  **
   9994  *****************************************************************************/
   9995 
   9996 xcb_xkb_get_names_reply_t *
   9997 xcb_xkb_get_names_reply (xcb_connection_t            *c  /**< */,
   9998                          xcb_xkb_get_names_cookie_t   cookie  /**< */,
   9999                          xcb_generic_error_t        **e  /**< */)
   10000 {
   10001     return (xcb_xkb_get_names_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   10002 }
   10003 
   10004 
   10005 /*****************************************************************************
   10006  **
   10007  ** xcb_atom_t * xcb_xkb_set_names_values_type_names
   10008  **
   10009  ** @param const xcb_xkb_set_names_values_t *S
   10010  ** @returns xcb_atom_t *
   10011  **
   10012  *****************************************************************************/
   10013 
   10014 xcb_atom_t *
   10015 xcb_xkb_set_names_values_type_names (const xcb_xkb_set_names_values_t *S  /**< */)
   10016 {
   10017     return /* values */ S->typeNames;
   10018 }
   10019 
   10020 
   10021 /*****************************************************************************
   10022  **
   10023  ** int xcb_xkb_set_names_values_type_names_length
   10024  **
   10025  ** @param const xcb_xkb_set_names_values_t *R
   10026  ** @returns int
   10027  **
   10028  *****************************************************************************/
   10029 
   10030 int
   10031 xcb_xkb_set_names_values_type_names_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10032                                             const xcb_xkb_set_names_values_t *S  /**< */)
   10033 {
   10034     return R->nTypes;
   10035 }
   10036 
   10037 
   10038 /*****************************************************************************
   10039  **
   10040  ** xcb_generic_iterator_t xcb_xkb_set_names_values_type_names_end
   10041  **
   10042  ** @param const xcb_xkb_set_names_values_t *R
   10043  ** @returns xcb_generic_iterator_t
   10044  **
   10045  *****************************************************************************/
   10046 
   10047 xcb_generic_iterator_t
   10048 xcb_xkb_set_names_values_type_names_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10049                                          const xcb_xkb_set_names_values_t *S  /**< */)
   10050 {
   10051     xcb_generic_iterator_t i;
   10052     i.data = /* values */ S->typeNames + R->nTypes;
   10053     i.rem = 0;
   10054     i.index = (char *) i.data - (char *) S;
   10055     return i;
   10056 }
   10057 
   10058 
   10059 /*****************************************************************************
   10060  **
   10061  ** uint8_t * xcb_xkb_set_names_values_n_levels_per_type
   10062  **
   10063  ** @param const xcb_xkb_set_names_values_t *S
   10064  ** @returns uint8_t *
   10065  **
   10066  *****************************************************************************/
   10067 
   10068 uint8_t *
   10069 xcb_xkb_set_names_values_n_levels_per_type (const xcb_xkb_set_names_values_t *S  /**< */)
   10070 {
   10071     return /* values */ S->nLevelsPerType;
   10072 }
   10073 
   10074 
   10075 /*****************************************************************************
   10076  **
   10077  ** int xcb_xkb_set_names_values_n_levels_per_type_length
   10078  **
   10079  ** @param const xcb_xkb_set_names_values_t *R
   10080  ** @returns int
   10081  **
   10082  *****************************************************************************/
   10083 
   10084 int
   10085 xcb_xkb_set_names_values_n_levels_per_type_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10086                                                    const xcb_xkb_set_names_values_t *S  /**< */)
   10087 {
   10088     return R->nKTLevels;
   10089 }
   10090 
   10091 
   10092 /*****************************************************************************
   10093  **
   10094  ** xcb_generic_iterator_t xcb_xkb_set_names_values_n_levels_per_type_end
   10095  **
   10096  ** @param const xcb_xkb_set_names_values_t *R
   10097  ** @returns xcb_generic_iterator_t
   10098  **
   10099  *****************************************************************************/
   10100 
   10101 xcb_generic_iterator_t
   10102 xcb_xkb_set_names_values_n_levels_per_type_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10103                                                 const xcb_xkb_set_names_values_t *S  /**< */)
   10104 {
   10105     xcb_generic_iterator_t i;
   10106     i.data = /* values */ S->nLevelsPerType + R->nKTLevels;
   10107     i.rem = 0;
   10108     i.index = (char *) i.data - (char *) S;
   10109     return i;
   10110 }
   10111 
   10112 
   10113 /*****************************************************************************
   10114  **
   10115  ** xcb_atom_t * xcb_xkb_set_names_values_kt_level_names
   10116  **
   10117  ** @param const xcb_xkb_set_names_values_t *S
   10118  ** @returns xcb_atom_t *
   10119  **
   10120  *****************************************************************************/
   10121 
   10122 xcb_atom_t *
   10123 xcb_xkb_set_names_values_kt_level_names (const xcb_xkb_set_names_values_t *S  /**< */)
   10124 {
   10125     return /* values */ S->ktLevelNames;
   10126 }
   10127 
   10128 
   10129 /*****************************************************************************
   10130  **
   10131  ** int xcb_xkb_set_names_values_kt_level_names_length
   10132  **
   10133  ** @param const xcb_xkb_set_names_values_t *R
   10134  ** @returns int
   10135  **
   10136  *****************************************************************************/
   10137 
   10138 int
   10139 xcb_xkb_set_names_values_kt_level_names_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10140                                                 const xcb_xkb_set_names_values_t *S  /**< */)
   10141 {
   10142     return xcb_sumof(/* values */ S->nLevelsPerType, R->nKTLevels);
   10143 }
   10144 
   10145 
   10146 /*****************************************************************************
   10147  **
   10148  ** xcb_generic_iterator_t xcb_xkb_set_names_values_kt_level_names_end
   10149  **
   10150  ** @param const xcb_xkb_set_names_values_t *R
   10151  ** @returns xcb_generic_iterator_t
   10152  **
   10153  *****************************************************************************/
   10154 
   10155 xcb_generic_iterator_t
   10156 xcb_xkb_set_names_values_kt_level_names_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10157                                              const xcb_xkb_set_names_values_t *S  /**< */)
   10158 {
   10159     xcb_generic_iterator_t i;
   10160     i.data = /* values */ S->ktLevelNames + xcb_sumof(/* values */ S->nLevelsPerType, R->nKTLevels);
   10161     i.rem = 0;
   10162     i.index = (char *) i.data - (char *) S;
   10163     return i;
   10164 }
   10165 
   10166 
   10167 /*****************************************************************************
   10168  **
   10169  ** xcb_atom_t * xcb_xkb_set_names_values_indicator_names
   10170  **
   10171  ** @param const xcb_xkb_set_names_values_t *S
   10172  ** @returns xcb_atom_t *
   10173  **
   10174  *****************************************************************************/
   10175 
   10176 xcb_atom_t *
   10177 xcb_xkb_set_names_values_indicator_names (const xcb_xkb_set_names_values_t *S  /**< */)
   10178 {
   10179     return /* values */ S->indicatorNames;
   10180 }
   10181 
   10182 
   10183 /*****************************************************************************
   10184  **
   10185  ** int xcb_xkb_set_names_values_indicator_names_length
   10186  **
   10187  ** @param const xcb_xkb_set_names_values_t *R
   10188  ** @returns int
   10189  **
   10190  *****************************************************************************/
   10191 
   10192 int
   10193 xcb_xkb_set_names_values_indicator_names_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10194                                                  const xcb_xkb_set_names_values_t *S  /**< */)
   10195 {
   10196     return xcb_popcount(R->indicators);
   10197 }
   10198 
   10199 
   10200 /*****************************************************************************
   10201  **
   10202  ** xcb_generic_iterator_t xcb_xkb_set_names_values_indicator_names_end
   10203  **
   10204  ** @param const xcb_xkb_set_names_values_t *R
   10205  ** @returns xcb_generic_iterator_t
   10206  **
   10207  *****************************************************************************/
   10208 
   10209 xcb_generic_iterator_t
   10210 xcb_xkb_set_names_values_indicator_names_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10211                                               const xcb_xkb_set_names_values_t *S  /**< */)
   10212 {
   10213     xcb_generic_iterator_t i;
   10214     i.data = /* values */ S->indicatorNames + xcb_popcount(R->indicators);
   10215     i.rem = 0;
   10216     i.index = (char *) i.data - (char *) S;
   10217     return i;
   10218 }
   10219 
   10220 
   10221 /*****************************************************************************
   10222  **
   10223  ** xcb_atom_t * xcb_xkb_set_names_values_virtual_mod_names
   10224  **
   10225  ** @param const xcb_xkb_set_names_values_t *S
   10226  ** @returns xcb_atom_t *
   10227  **
   10228  *****************************************************************************/
   10229 
   10230 xcb_atom_t *
   10231 xcb_xkb_set_names_values_virtual_mod_names (const xcb_xkb_set_names_values_t *S  /**< */)
   10232 {
   10233     return /* values */ S->virtualModNames;
   10234 }
   10235 
   10236 
   10237 /*****************************************************************************
   10238  **
   10239  ** int xcb_xkb_set_names_values_virtual_mod_names_length
   10240  **
   10241  ** @param const xcb_xkb_set_names_values_t *R
   10242  ** @returns int
   10243  **
   10244  *****************************************************************************/
   10245 
   10246 int
   10247 xcb_xkb_set_names_values_virtual_mod_names_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10248                                                    const xcb_xkb_set_names_values_t *S  /**< */)
   10249 {
   10250     return xcb_popcount(R->virtualMods);
   10251 }
   10252 
   10253 
   10254 /*****************************************************************************
   10255  **
   10256  ** xcb_generic_iterator_t xcb_xkb_set_names_values_virtual_mod_names_end
   10257  **
   10258  ** @param const xcb_xkb_set_names_values_t *R
   10259  ** @returns xcb_generic_iterator_t
   10260  **
   10261  *****************************************************************************/
   10262 
   10263 xcb_generic_iterator_t
   10264 xcb_xkb_set_names_values_virtual_mod_names_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10265                                                 const xcb_xkb_set_names_values_t *S  /**< */)
   10266 {
   10267     xcb_generic_iterator_t i;
   10268     i.data = /* values */ S->virtualModNames + xcb_popcount(R->virtualMods);
   10269     i.rem = 0;
   10270     i.index = (char *) i.data - (char *) S;
   10271     return i;
   10272 }
   10273 
   10274 
   10275 /*****************************************************************************
   10276  **
   10277  ** xcb_atom_t * xcb_xkb_set_names_values_groups
   10278  **
   10279  ** @param const xcb_xkb_set_names_values_t *S
   10280  ** @returns xcb_atom_t *
   10281  **
   10282  *****************************************************************************/
   10283 
   10284 xcb_atom_t *
   10285 xcb_xkb_set_names_values_groups (const xcb_xkb_set_names_values_t *S  /**< */)
   10286 {
   10287     return /* values */ S->groups;
   10288 }
   10289 
   10290 
   10291 /*****************************************************************************
   10292  **
   10293  ** int xcb_xkb_set_names_values_groups_length
   10294  **
   10295  ** @param const xcb_xkb_set_names_values_t *R
   10296  ** @returns int
   10297  **
   10298  *****************************************************************************/
   10299 
   10300 int
   10301 xcb_xkb_set_names_values_groups_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10302                                         const xcb_xkb_set_names_values_t *S  /**< */)
   10303 {
   10304     return xcb_popcount(R->groupNames);
   10305 }
   10306 
   10307 
   10308 /*****************************************************************************
   10309  **
   10310  ** xcb_generic_iterator_t xcb_xkb_set_names_values_groups_end
   10311  **
   10312  ** @param const xcb_xkb_set_names_values_t *R
   10313  ** @returns xcb_generic_iterator_t
   10314  **
   10315  *****************************************************************************/
   10316 
   10317 xcb_generic_iterator_t
   10318 xcb_xkb_set_names_values_groups_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10319                                      const xcb_xkb_set_names_values_t *S  /**< */)
   10320 {
   10321     xcb_generic_iterator_t i;
   10322     i.data = /* values */ S->groups + xcb_popcount(R->groupNames);
   10323     i.rem = 0;
   10324     i.index = (char *) i.data - (char *) S;
   10325     return i;
   10326 }
   10327 
   10328 
   10329 /*****************************************************************************
   10330  **
   10331  ** xcb_xkb_key_name_t * xcb_xkb_set_names_values_key_names
   10332  **
   10333  ** @param const xcb_xkb_set_names_values_t *S
   10334  ** @returns xcb_xkb_key_name_t *
   10335  **
   10336  *****************************************************************************/
   10337 
   10338 xcb_xkb_key_name_t *
   10339 xcb_xkb_set_names_values_key_names (const xcb_xkb_set_names_values_t *S  /**< */)
   10340 {
   10341     return /* values */ S->keyNames;
   10342 }
   10343 
   10344 
   10345 /*****************************************************************************
   10346  **
   10347  ** int xcb_xkb_set_names_values_key_names_length
   10348  **
   10349  ** @param const xcb_xkb_set_names_values_t *R
   10350  ** @returns int
   10351  **
   10352  *****************************************************************************/
   10353 
   10354 int
   10355 xcb_xkb_set_names_values_key_names_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10356                                            const xcb_xkb_set_names_values_t *S  /**< */)
   10357 {
   10358     return R->nKeys;
   10359 }
   10360 
   10361 
   10362 /*****************************************************************************
   10363  **
   10364  ** xcb_xkb_key_name_iterator_t xcb_xkb_set_names_values_key_names_iterator
   10365  **
   10366  ** @param const xcb_xkb_set_names_values_t *R
   10367  ** @returns xcb_xkb_key_name_iterator_t
   10368  **
   10369  *****************************************************************************/
   10370 
   10371 xcb_xkb_key_name_iterator_t
   10372 xcb_xkb_set_names_values_key_names_iterator (const xcb_xkb_set_names_request_t *R  /**< */,
   10373                                              const xcb_xkb_set_names_values_t *S  /**< */)
   10374 {
   10375     xcb_xkb_key_name_iterator_t i;
   10376     i.data = /* values */ S->keyNames;
   10377     i.rem = R->nKeys;
   10378     i.index = (char *) i.data - (char *) S;
   10379     return i;
   10380 }
   10381 
   10382 
   10383 /*****************************************************************************
   10384  **
   10385  ** xcb_xkb_key_alias_t * xcb_xkb_set_names_values_key_aliases
   10386  **
   10387  ** @param const xcb_xkb_set_names_values_t *S
   10388  ** @returns xcb_xkb_key_alias_t *
   10389  **
   10390  *****************************************************************************/
   10391 
   10392 xcb_xkb_key_alias_t *
   10393 xcb_xkb_set_names_values_key_aliases (const xcb_xkb_set_names_values_t *S  /**< */)
   10394 {
   10395     return /* values */ S->keyAliases;
   10396 }
   10397 
   10398 
   10399 /*****************************************************************************
   10400  **
   10401  ** int xcb_xkb_set_names_values_key_aliases_length
   10402  **
   10403  ** @param const xcb_xkb_set_names_values_t *R
   10404  ** @returns int
   10405  **
   10406  *****************************************************************************/
   10407 
   10408 int
   10409 xcb_xkb_set_names_values_key_aliases_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10410                                              const xcb_xkb_set_names_values_t *S  /**< */)
   10411 {
   10412     return R->nKeyAliases;
   10413 }
   10414 
   10415 
   10416 /*****************************************************************************
   10417  **
   10418  ** xcb_xkb_key_alias_iterator_t xcb_xkb_set_names_values_key_aliases_iterator
   10419  **
   10420  ** @param const xcb_xkb_set_names_values_t *R
   10421  ** @returns xcb_xkb_key_alias_iterator_t
   10422  **
   10423  *****************************************************************************/
   10424 
   10425 xcb_xkb_key_alias_iterator_t
   10426 xcb_xkb_set_names_values_key_aliases_iterator (const xcb_xkb_set_names_request_t *R  /**< */,
   10427                                                const xcb_xkb_set_names_values_t *S  /**< */)
   10428 {
   10429     xcb_xkb_key_alias_iterator_t i;
   10430     i.data = /* values */ S->keyAliases;
   10431     i.rem = R->nKeyAliases;
   10432     i.index = (char *) i.data - (char *) S;
   10433     return i;
   10434 }
   10435 
   10436 
   10437 /*****************************************************************************
   10438  **
   10439  ** xcb_atom_t * xcb_xkb_set_names_values_radio_group_names
   10440  **
   10441  ** @param const xcb_xkb_set_names_values_t *S
   10442  ** @returns xcb_atom_t *
   10443  **
   10444  *****************************************************************************/
   10445 
   10446 xcb_atom_t *
   10447 xcb_xkb_set_names_values_radio_group_names (const xcb_xkb_set_names_values_t *S  /**< */)
   10448 {
   10449     return /* values */ S->radioGroupNames;
   10450 }
   10451 
   10452 
   10453 /*****************************************************************************
   10454  **
   10455  ** int xcb_xkb_set_names_values_radio_group_names_length
   10456  **
   10457  ** @param const xcb_xkb_set_names_values_t *R
   10458  ** @returns int
   10459  **
   10460  *****************************************************************************/
   10461 
   10462 int
   10463 xcb_xkb_set_names_values_radio_group_names_length (const xcb_xkb_set_names_request_t *R  /**< */,
   10464                                                    const xcb_xkb_set_names_values_t *S  /**< */)
   10465 {
   10466     return R->nRadioGroups;
   10467 }
   10468 
   10469 
   10470 /*****************************************************************************
   10471  **
   10472  ** xcb_generic_iterator_t xcb_xkb_set_names_values_radio_group_names_end
   10473  **
   10474  ** @param const xcb_xkb_set_names_values_t *R
   10475  ** @returns xcb_generic_iterator_t
   10476  **
   10477  *****************************************************************************/
   10478 
   10479 xcb_generic_iterator_t
   10480 xcb_xkb_set_names_values_radio_group_names_end (const xcb_xkb_set_names_request_t *R  /**< */,
   10481                                                 const xcb_xkb_set_names_values_t *S  /**< */)
   10482 {
   10483     xcb_generic_iterator_t i;
   10484     i.data = /* values */ S->radioGroupNames + R->nRadioGroups;
   10485     i.rem = 0;
   10486     i.index = (char *) i.data - (char *) S;
   10487     return i;
   10488 }
   10489 
   10490 int
   10491 xcb_xkb_set_names_values_serialize (void                             **_buffer  /**< */,
   10492                                     uint8_t                            nTypes  /**< */,
   10493                                     uint8_t                            nKTLevels  /**< */,
   10494                                     uint32_t                           indicators  /**< */,
   10495                                     uint16_t                           virtualMods  /**< */,
   10496                                     uint8_t                            groupNames  /**< */,
   10497                                     uint8_t                            nKeys  /**< */,
   10498                                     uint8_t                            nKeyAliases  /**< */,
   10499                                     uint8_t                            nRadioGroups  /**< */,
   10500                                     uint32_t                           which  /**< */,
   10501                                     const xcb_xkb_set_names_values_t  *_aux  /**< */)
   10502 {
   10503     char *xcb_out = *_buffer;
   10504     unsigned int xcb_buffer_len = 0;
   10505     unsigned int xcb_align_to = 0;
   10506 
   10507     unsigned int xcb_pad = 0;
   10508     char xcb_pad0[3] = {0, 0, 0};
   10509     struct iovec xcb_parts[25];
   10510     unsigned int xcb_parts_idx = 0;
   10511     unsigned int xcb_block_len = 0;
   10512     unsigned int i;
   10513     char *xcb_tmp;
   10514 
   10515     if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
   10516         /* xcb_xkb_set_names_values_t.keycodesName */
   10517         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName;
   10518         xcb_block_len += sizeof(xcb_atom_t);
   10519         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   10520         xcb_parts_idx++;
   10521         xcb_align_to = ALIGNOF(xcb_atom_t);
   10522     }
   10523     if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
   10524         /* xcb_xkb_set_names_values_t.geometryName */
   10525         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName;
   10526         xcb_block_len += sizeof(xcb_atom_t);
   10527         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   10528         xcb_parts_idx++;
   10529         xcb_align_to = ALIGNOF(xcb_atom_t);
   10530     }
   10531     if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
   10532         /* xcb_xkb_set_names_values_t.symbolsName */
   10533         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName;
   10534         xcb_block_len += sizeof(xcb_atom_t);
   10535         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   10536         xcb_parts_idx++;
   10537         xcb_align_to = ALIGNOF(xcb_atom_t);
   10538     }
   10539     if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
   10540         /* xcb_xkb_set_names_values_t.physSymbolsName */
   10541         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName;
   10542         xcb_block_len += sizeof(xcb_atom_t);
   10543         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   10544         xcb_parts_idx++;
   10545         xcb_align_to = ALIGNOF(xcb_atom_t);
   10546     }
   10547     if(which & XCB_XKB_NAME_DETAIL_TYPES) {
   10548         /* xcb_xkb_set_names_values_t.typesName */
   10549         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName;
   10550         xcb_block_len += sizeof(xcb_atom_t);
   10551         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   10552         xcb_parts_idx++;
   10553         xcb_align_to = ALIGNOF(xcb_atom_t);
   10554     }
   10555     if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
   10556         /* xcb_xkb_set_names_values_t.compatName */
   10557         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName;
   10558         xcb_block_len += sizeof(xcb_atom_t);
   10559         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   10560         xcb_parts_idx++;
   10561         xcb_align_to = ALIGNOF(xcb_atom_t);
   10562     }
   10563     if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
   10564         /* insert padding */
   10565         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10566         xcb_buffer_len += xcb_block_len + xcb_pad;
   10567         if (0 != xcb_pad) {
   10568             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10569             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10570             xcb_parts_idx++;
   10571             xcb_pad = 0;
   10572         }
   10573         xcb_block_len = 0;
   10574         /* typeNames */
   10575         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames;
   10576         xcb_block_len += nTypes * sizeof(xcb_atom_t);
   10577         xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t);
   10578         xcb_parts_idx++;
   10579         xcb_align_to = ALIGNOF(xcb_atom_t);
   10580     }
   10581     if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
   10582         /* insert padding */
   10583         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10584         xcb_buffer_len += xcb_block_len + xcb_pad;
   10585         if (0 != xcb_pad) {
   10586             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10587             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10588             xcb_parts_idx++;
   10589             xcb_pad = 0;
   10590         }
   10591         xcb_block_len = 0;
   10592         /* nLevelsPerType */
   10593         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType;
   10594         xcb_block_len += nKTLevels * sizeof(uint8_t);
   10595         xcb_parts[xcb_parts_idx].iov_len = nKTLevels * sizeof(uint8_t);
   10596         xcb_parts_idx++;
   10597         xcb_align_to = ALIGNOF(uint8_t);
   10598         /* insert padding */
   10599         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10600         xcb_buffer_len += xcb_block_len + xcb_pad;
   10601         if (0 != xcb_pad) {
   10602             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10603             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10604             xcb_parts_idx++;
   10605             xcb_pad = 0;
   10606         }
   10607         xcb_block_len = 0;
   10608         /* ktLevelNames */
   10609         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames;
   10610         xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
   10611         xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
   10612         xcb_parts_idx++;
   10613         xcb_align_to = ALIGNOF(xcb_atom_t);
   10614     }
   10615     if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
   10616         /* insert padding */
   10617         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10618         xcb_buffer_len += xcb_block_len + xcb_pad;
   10619         if (0 != xcb_pad) {
   10620             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10621             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10622             xcb_parts_idx++;
   10623             xcb_pad = 0;
   10624         }
   10625         xcb_block_len = 0;
   10626         /* indicatorNames */
   10627         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames;
   10628         xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
   10629         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t);
   10630         xcb_parts_idx++;
   10631         xcb_align_to = ALIGNOF(xcb_atom_t);
   10632     }
   10633     if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
   10634         /* insert padding */
   10635         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10636         xcb_buffer_len += xcb_block_len + xcb_pad;
   10637         if (0 != xcb_pad) {
   10638             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10639             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10640             xcb_parts_idx++;
   10641             xcb_pad = 0;
   10642         }
   10643         xcb_block_len = 0;
   10644         /* virtualModNames */
   10645         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames;
   10646         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   10647         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   10648         xcb_parts_idx++;
   10649         xcb_align_to = ALIGNOF(xcb_atom_t);
   10650     }
   10651     if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
   10652         /* insert padding */
   10653         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10654         xcb_buffer_len += xcb_block_len + xcb_pad;
   10655         if (0 != xcb_pad) {
   10656             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10657             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10658             xcb_parts_idx++;
   10659             xcb_pad = 0;
   10660         }
   10661         xcb_block_len = 0;
   10662         /* groups */
   10663         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups;
   10664         xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   10665         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   10666         xcb_parts_idx++;
   10667         xcb_align_to = ALIGNOF(xcb_atom_t);
   10668     }
   10669     if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
   10670         /* insert padding */
   10671         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10672         xcb_buffer_len += xcb_block_len + xcb_pad;
   10673         if (0 != xcb_pad) {
   10674             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10675             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10676             xcb_parts_idx++;
   10677             xcb_pad = 0;
   10678         }
   10679         xcb_block_len = 0;
   10680         /* keyNames */
   10681         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames;
   10682         xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
   10683         xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t);
   10684         xcb_parts_idx++;
   10685         xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
   10686     }
   10687     if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
   10688         /* insert padding */
   10689         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10690         xcb_buffer_len += xcb_block_len + xcb_pad;
   10691         if (0 != xcb_pad) {
   10692             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10693             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10694             xcb_parts_idx++;
   10695             xcb_pad = 0;
   10696         }
   10697         xcb_block_len = 0;
   10698         /* keyAliases */
   10699         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases;
   10700         xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   10701         xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   10702         xcb_parts_idx++;
   10703         xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
   10704     }
   10705     if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
   10706         /* insert padding */
   10707         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10708         xcb_buffer_len += xcb_block_len + xcb_pad;
   10709         if (0 != xcb_pad) {
   10710             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10711             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10712             xcb_parts_idx++;
   10713             xcb_pad = 0;
   10714         }
   10715         xcb_block_len = 0;
   10716         /* radioGroupNames */
   10717         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames;
   10718         xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
   10719         xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t);
   10720         xcb_parts_idx++;
   10721         xcb_align_to = ALIGNOF(xcb_atom_t);
   10722     }
   10723     /* insert padding */
   10724     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10725     xcb_buffer_len += xcb_block_len + xcb_pad;
   10726     if (0 != xcb_pad) {
   10727         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   10728         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   10729         xcb_parts_idx++;
   10730         xcb_pad = 0;
   10731     }
   10732     xcb_block_len = 0;
   10733 
   10734     if (NULL == xcb_out) {
   10735         /* allocate memory */
   10736         xcb_out = malloc(xcb_buffer_len);
   10737         *_buffer = xcb_out;
   10738     }
   10739 
   10740     xcb_tmp = xcb_out;
   10741     for(i=0; i<xcb_parts_idx; i++) {
   10742         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   10743             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   10744         if (0 != xcb_parts[i].iov_len)
   10745             xcb_tmp += xcb_parts[i].iov_len;
   10746     }
   10747 
   10748     return xcb_buffer_len;
   10749 }
   10750 
   10751 int
   10752 xcb_xkb_set_names_values_unpack (const void                  *_buffer  /**< */,
   10753                                  uint8_t                      nTypes  /**< */,
   10754                                  uint8_t                      nKTLevels  /**< */,
   10755                                  uint32_t                     indicators  /**< */,
   10756                                  uint16_t                     virtualMods  /**< */,
   10757                                  uint8_t                      groupNames  /**< */,
   10758                                  uint8_t                      nKeys  /**< */,
   10759                                  uint8_t                      nKeyAliases  /**< */,
   10760                                  uint8_t                      nRadioGroups  /**< */,
   10761                                  uint32_t                     which  /**< */,
   10762                                  xcb_xkb_set_names_values_t  *_aux  /**< */)
   10763 {
   10764     char *xcb_tmp = (char *)_buffer;
   10765     unsigned int xcb_buffer_len = 0;
   10766     unsigned int xcb_block_len = 0;
   10767     unsigned int xcb_pad = 0;
   10768     unsigned int xcb_align_to = 0;
   10769 
   10770 
   10771     if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
   10772         /* xcb_xkb_set_names_values_t.keycodesName */
   10773         _aux->keycodesName = *(xcb_atom_t *)xcb_tmp;
   10774         xcb_block_len += sizeof(xcb_atom_t);
   10775         xcb_tmp += sizeof(xcb_atom_t);
   10776         xcb_align_to = ALIGNOF(xcb_atom_t);
   10777     }
   10778     if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
   10779         /* xcb_xkb_set_names_values_t.geometryName */
   10780         _aux->geometryName = *(xcb_atom_t *)xcb_tmp;
   10781         xcb_block_len += sizeof(xcb_atom_t);
   10782         xcb_tmp += sizeof(xcb_atom_t);
   10783         xcb_align_to = ALIGNOF(xcb_atom_t);
   10784     }
   10785     if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
   10786         /* xcb_xkb_set_names_values_t.symbolsName */
   10787         _aux->symbolsName = *(xcb_atom_t *)xcb_tmp;
   10788         xcb_block_len += sizeof(xcb_atom_t);
   10789         xcb_tmp += sizeof(xcb_atom_t);
   10790         xcb_align_to = ALIGNOF(xcb_atom_t);
   10791     }
   10792     if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
   10793         /* xcb_xkb_set_names_values_t.physSymbolsName */
   10794         _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp;
   10795         xcb_block_len += sizeof(xcb_atom_t);
   10796         xcb_tmp += sizeof(xcb_atom_t);
   10797         xcb_align_to = ALIGNOF(xcb_atom_t);
   10798     }
   10799     if(which & XCB_XKB_NAME_DETAIL_TYPES) {
   10800         /* xcb_xkb_set_names_values_t.typesName */
   10801         _aux->typesName = *(xcb_atom_t *)xcb_tmp;
   10802         xcb_block_len += sizeof(xcb_atom_t);
   10803         xcb_tmp += sizeof(xcb_atom_t);
   10804         xcb_align_to = ALIGNOF(xcb_atom_t);
   10805     }
   10806     if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
   10807         /* xcb_xkb_set_names_values_t.compatName */
   10808         _aux->compatName = *(xcb_atom_t *)xcb_tmp;
   10809         xcb_block_len += sizeof(xcb_atom_t);
   10810         xcb_tmp += sizeof(xcb_atom_t);
   10811         xcb_align_to = ALIGNOF(xcb_atom_t);
   10812     }
   10813     if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
   10814         /* insert padding */
   10815         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10816         xcb_buffer_len += xcb_block_len + xcb_pad;
   10817         if (0 != xcb_pad) {
   10818             xcb_tmp += xcb_pad;
   10819             xcb_pad = 0;
   10820         }
   10821         xcb_block_len = 0;
   10822         /* typeNames */
   10823         _aux->typeNames = (xcb_atom_t *)xcb_tmp;
   10824         xcb_block_len += nTypes * sizeof(xcb_atom_t);
   10825         xcb_tmp += xcb_block_len;
   10826         xcb_align_to = ALIGNOF(xcb_atom_t);
   10827     }
   10828     if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
   10829         /* insert padding */
   10830         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10831         xcb_buffer_len += xcb_block_len + xcb_pad;
   10832         if (0 != xcb_pad) {
   10833             xcb_tmp += xcb_pad;
   10834             xcb_pad = 0;
   10835         }
   10836         xcb_block_len = 0;
   10837         /* nLevelsPerType */
   10838         _aux->nLevelsPerType = (uint8_t *)xcb_tmp;
   10839         xcb_block_len += nKTLevels * sizeof(uint8_t);
   10840         xcb_tmp += xcb_block_len;
   10841         xcb_align_to = ALIGNOF(uint8_t);
   10842         /* insert padding */
   10843         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10844         xcb_buffer_len += xcb_block_len + xcb_pad;
   10845         if (0 != xcb_pad) {
   10846             xcb_tmp += xcb_pad;
   10847             xcb_pad = 0;
   10848         }
   10849         xcb_block_len = 0;
   10850         /* ktLevelNames */
   10851         _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp;
   10852         xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
   10853         xcb_tmp += xcb_block_len;
   10854         xcb_align_to = ALIGNOF(xcb_atom_t);
   10855     }
   10856     if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
   10857         /* insert padding */
   10858         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10859         xcb_buffer_len += xcb_block_len + xcb_pad;
   10860         if (0 != xcb_pad) {
   10861             xcb_tmp += xcb_pad;
   10862             xcb_pad = 0;
   10863         }
   10864         xcb_block_len = 0;
   10865         /* indicatorNames */
   10866         _aux->indicatorNames = (xcb_atom_t *)xcb_tmp;
   10867         xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
   10868         xcb_tmp += xcb_block_len;
   10869         xcb_align_to = ALIGNOF(xcb_atom_t);
   10870     }
   10871     if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
   10872         /* insert padding */
   10873         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10874         xcb_buffer_len += xcb_block_len + xcb_pad;
   10875         if (0 != xcb_pad) {
   10876             xcb_tmp += xcb_pad;
   10877             xcb_pad = 0;
   10878         }
   10879         xcb_block_len = 0;
   10880         /* virtualModNames */
   10881         _aux->virtualModNames = (xcb_atom_t *)xcb_tmp;
   10882         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   10883         xcb_tmp += xcb_block_len;
   10884         xcb_align_to = ALIGNOF(xcb_atom_t);
   10885     }
   10886     if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
   10887         /* insert padding */
   10888         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10889         xcb_buffer_len += xcb_block_len + xcb_pad;
   10890         if (0 != xcb_pad) {
   10891             xcb_tmp += xcb_pad;
   10892             xcb_pad = 0;
   10893         }
   10894         xcb_block_len = 0;
   10895         /* groups */
   10896         _aux->groups = (xcb_atom_t *)xcb_tmp;
   10897         xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   10898         xcb_tmp += xcb_block_len;
   10899         xcb_align_to = ALIGNOF(xcb_atom_t);
   10900     }
   10901     if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
   10902         /* insert padding */
   10903         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10904         xcb_buffer_len += xcb_block_len + xcb_pad;
   10905         if (0 != xcb_pad) {
   10906             xcb_tmp += xcb_pad;
   10907             xcb_pad = 0;
   10908         }
   10909         xcb_block_len = 0;
   10910         /* keyNames */
   10911         _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp;
   10912         xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
   10913         xcb_tmp += xcb_block_len;
   10914         xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
   10915     }
   10916     if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
   10917         /* insert padding */
   10918         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10919         xcb_buffer_len += xcb_block_len + xcb_pad;
   10920         if (0 != xcb_pad) {
   10921             xcb_tmp += xcb_pad;
   10922             xcb_pad = 0;
   10923         }
   10924         xcb_block_len = 0;
   10925         /* keyAliases */
   10926         _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp;
   10927         xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   10928         xcb_tmp += xcb_block_len;
   10929         xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
   10930     }
   10931     if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
   10932         /* insert padding */
   10933         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10934         xcb_buffer_len += xcb_block_len + xcb_pad;
   10935         if (0 != xcb_pad) {
   10936             xcb_tmp += xcb_pad;
   10937             xcb_pad = 0;
   10938         }
   10939         xcb_block_len = 0;
   10940         /* radioGroupNames */
   10941         _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp;
   10942         xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
   10943         xcb_tmp += xcb_block_len;
   10944         xcb_align_to = ALIGNOF(xcb_atom_t);
   10945     }
   10946     /* insert padding */
   10947     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   10948     xcb_buffer_len += xcb_block_len + xcb_pad;
   10949     if (0 != xcb_pad) {
   10950         xcb_tmp += xcb_pad;
   10951         xcb_pad = 0;
   10952     }
   10953     xcb_block_len = 0;
   10954 
   10955     return xcb_buffer_len;
   10956 }
   10957 
   10958 int
   10959 xcb_xkb_set_names_values_sizeof (const void  *_buffer  /**< */,
   10960                                  uint8_t      nTypes  /**< */,
   10961                                  uint8_t      nKTLevels  /**< */,
   10962                                  uint32_t     indicators  /**< */,
   10963                                  uint16_t     virtualMods  /**< */,
   10964                                  uint8_t      groupNames  /**< */,
   10965                                  uint8_t      nKeys  /**< */,
   10966                                  uint8_t      nKeyAliases  /**< */,
   10967                                  uint8_t      nRadioGroups  /**< */,
   10968                                  uint32_t     which  /**< */)
   10969 {
   10970     xcb_xkb_set_names_values_t _aux;
   10971     return xcb_xkb_set_names_values_unpack(_buffer, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux);
   10972 }
   10973 
   10974 
   10975 /*****************************************************************************
   10976  **
   10977  ** xcb_void_cookie_t xcb_xkb_set_names_checked
   10978  **
   10979  ** @param xcb_connection_t      *c
   10980  ** @param xcb_xkb_device_spec_t  deviceSpec
   10981  ** @param uint16_t               virtualMods
   10982  ** @param uint32_t               which
   10983  ** @param uint8_t                firstType
   10984  ** @param uint8_t                nTypes
   10985  ** @param uint8_t                firstKTLevelt
   10986  ** @param uint8_t                nKTLevels
   10987  ** @param uint32_t               indicators
   10988  ** @param uint8_t                groupNames
   10989  ** @param uint8_t                nRadioGroups
   10990  ** @param xcb_keycode_t          firstKey
   10991  ** @param uint8_t                nKeys
   10992  ** @param uint8_t                nKeyAliases
   10993  ** @param uint16_t               totalKTLevelNames
   10994  ** @param const void            *values
   10995  ** @returns xcb_void_cookie_t
   10996  **
   10997  *****************************************************************************/
   10998 
   10999 xcb_void_cookie_t
   11000 xcb_xkb_set_names_checked (xcb_connection_t      *c  /**< */,
   11001                            xcb_xkb_device_spec_t  deviceSpec  /**< */,
   11002                            uint16_t               virtualMods  /**< */,
   11003                            uint32_t               which  /**< */,
   11004                            uint8_t                firstType  /**< */,
   11005                            uint8_t                nTypes  /**< */,
   11006                            uint8_t                firstKTLevelt  /**< */,
   11007                            uint8_t                nKTLevels  /**< */,
   11008                            uint32_t               indicators  /**< */,
   11009                            uint8_t                groupNames  /**< */,
   11010                            uint8_t                nRadioGroups  /**< */,
   11011                            xcb_keycode_t          firstKey  /**< */,
   11012                            uint8_t                nKeys  /**< */,
   11013                            uint8_t                nKeyAliases  /**< */,
   11014                            uint16_t               totalKTLevelNames  /**< */,
   11015                            const void            *values  /**< */)
   11016 {
   11017     static const xcb_protocol_request_t xcb_req = {
   11018         /* count */ 3,
   11019         /* ext */ &xcb_xkb_id,
   11020         /* opcode */ XCB_XKB_SET_NAMES,
   11021         /* isvoid */ 1
   11022     };
   11023 
   11024     struct iovec xcb_parts[5];
   11025     xcb_void_cookie_t xcb_ret;
   11026     xcb_xkb_set_names_request_t xcb_out;
   11027 
   11028     xcb_out.deviceSpec = deviceSpec;
   11029     xcb_out.virtualMods = virtualMods;
   11030     xcb_out.which = which;
   11031     xcb_out.firstType = firstType;
   11032     xcb_out.nTypes = nTypes;
   11033     xcb_out.firstKTLevelt = firstKTLevelt;
   11034     xcb_out.nKTLevels = nKTLevels;
   11035     xcb_out.indicators = indicators;
   11036     xcb_out.groupNames = groupNames;
   11037     xcb_out.nRadioGroups = nRadioGroups;
   11038     xcb_out.firstKey = firstKey;
   11039     xcb_out.nKeys = nKeys;
   11040     xcb_out.nKeyAliases = nKeyAliases;
   11041     xcb_out.pad0 = 0;
   11042     xcb_out.totalKTLevelNames = totalKTLevelNames;
   11043 
   11044     xcb_parts[2].iov_base = (char *) &xcb_out;
   11045     xcb_parts[2].iov_len = sizeof(xcb_out);
   11046     xcb_parts[3].iov_base = 0;
   11047     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11048     /* xcb_xkb_set_names_values_t values */
   11049     xcb_parts[4].iov_base = (char *) values;
   11050     xcb_parts[4].iov_len =
   11051       xcb_xkb_set_names_values_sizeof (values, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which);
   11052 
   11053     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   11054     return xcb_ret;
   11055 }
   11056 
   11057 
   11058 /*****************************************************************************
   11059  **
   11060  ** xcb_void_cookie_t xcb_xkb_set_names
   11061  **
   11062  ** @param xcb_connection_t      *c
   11063  ** @param xcb_xkb_device_spec_t  deviceSpec
   11064  ** @param uint16_t               virtualMods
   11065  ** @param uint32_t               which
   11066  ** @param uint8_t                firstType
   11067  ** @param uint8_t                nTypes
   11068  ** @param uint8_t                firstKTLevelt
   11069  ** @param uint8_t                nKTLevels
   11070  ** @param uint32_t               indicators
   11071  ** @param uint8_t                groupNames
   11072  ** @param uint8_t                nRadioGroups
   11073  ** @param xcb_keycode_t          firstKey
   11074  ** @param uint8_t                nKeys
   11075  ** @param uint8_t                nKeyAliases
   11076  ** @param uint16_t               totalKTLevelNames
   11077  ** @param const void            *values
   11078  ** @returns xcb_void_cookie_t
   11079  **
   11080  *****************************************************************************/
   11081 
   11082 xcb_void_cookie_t
   11083 xcb_xkb_set_names (xcb_connection_t      *c  /**< */,
   11084                    xcb_xkb_device_spec_t  deviceSpec  /**< */,
   11085                    uint16_t               virtualMods  /**< */,
   11086                    uint32_t               which  /**< */,
   11087                    uint8_t                firstType  /**< */,
   11088                    uint8_t                nTypes  /**< */,
   11089                    uint8_t                firstKTLevelt  /**< */,
   11090                    uint8_t                nKTLevels  /**< */,
   11091                    uint32_t               indicators  /**< */,
   11092                    uint8_t                groupNames  /**< */,
   11093                    uint8_t                nRadioGroups  /**< */,
   11094                    xcb_keycode_t          firstKey  /**< */,
   11095                    uint8_t                nKeys  /**< */,
   11096                    uint8_t                nKeyAliases  /**< */,
   11097                    uint16_t               totalKTLevelNames  /**< */,
   11098                    const void            *values  /**< */)
   11099 {
   11100     static const xcb_protocol_request_t xcb_req = {
   11101         /* count */ 3,
   11102         /* ext */ &xcb_xkb_id,
   11103         /* opcode */ XCB_XKB_SET_NAMES,
   11104         /* isvoid */ 1
   11105     };
   11106 
   11107     struct iovec xcb_parts[5];
   11108     xcb_void_cookie_t xcb_ret;
   11109     xcb_xkb_set_names_request_t xcb_out;
   11110 
   11111     xcb_out.deviceSpec = deviceSpec;
   11112     xcb_out.virtualMods = virtualMods;
   11113     xcb_out.which = which;
   11114     xcb_out.firstType = firstType;
   11115     xcb_out.nTypes = nTypes;
   11116     xcb_out.firstKTLevelt = firstKTLevelt;
   11117     xcb_out.nKTLevels = nKTLevels;
   11118     xcb_out.indicators = indicators;
   11119     xcb_out.groupNames = groupNames;
   11120     xcb_out.nRadioGroups = nRadioGroups;
   11121     xcb_out.firstKey = firstKey;
   11122     xcb_out.nKeys = nKeys;
   11123     xcb_out.nKeyAliases = nKeyAliases;
   11124     xcb_out.pad0 = 0;
   11125     xcb_out.totalKTLevelNames = totalKTLevelNames;
   11126 
   11127     xcb_parts[2].iov_base = (char *) &xcb_out;
   11128     xcb_parts[2].iov_len = sizeof(xcb_out);
   11129     xcb_parts[3].iov_base = 0;
   11130     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11131     /* xcb_xkb_set_names_values_t values */
   11132     xcb_parts[4].iov_base = (char *) values;
   11133     xcb_parts[4].iov_len =
   11134       xcb_xkb_set_names_values_sizeof (values, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which);
   11135 
   11136     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   11137     return xcb_ret;
   11138 }
   11139 
   11140 
   11141 /*****************************************************************************
   11142  **
   11143  ** xcb_void_cookie_t xcb_xkb_set_names_aux_checked
   11144  **
   11145  ** @param xcb_connection_t                 *c
   11146  ** @param xcb_xkb_device_spec_t             deviceSpec
   11147  ** @param uint16_t                          virtualMods
   11148  ** @param uint32_t                          which
   11149  ** @param uint8_t                           firstType
   11150  ** @param uint8_t                           nTypes
   11151  ** @param uint8_t                           firstKTLevelt
   11152  ** @param uint8_t                           nKTLevels
   11153  ** @param uint32_t                          indicators
   11154  ** @param uint8_t                           groupNames
   11155  ** @param uint8_t                           nRadioGroups
   11156  ** @param xcb_keycode_t                     firstKey
   11157  ** @param uint8_t                           nKeys
   11158  ** @param uint8_t                           nKeyAliases
   11159  ** @param uint16_t                          totalKTLevelNames
   11160  ** @param const xcb_xkb_set_names_values_t *values
   11161  ** @returns xcb_void_cookie_t
   11162  **
   11163  *****************************************************************************/
   11164 
   11165 xcb_void_cookie_t
   11166 xcb_xkb_set_names_aux_checked (xcb_connection_t                 *c  /**< */,
   11167                                xcb_xkb_device_spec_t             deviceSpec  /**< */,
   11168                                uint16_t                          virtualMods  /**< */,
   11169                                uint32_t                          which  /**< */,
   11170                                uint8_t                           firstType  /**< */,
   11171                                uint8_t                           nTypes  /**< */,
   11172                                uint8_t                           firstKTLevelt  /**< */,
   11173                                uint8_t                           nKTLevels  /**< */,
   11174                                uint32_t                          indicators  /**< */,
   11175                                uint8_t                           groupNames  /**< */,
   11176                                uint8_t                           nRadioGroups  /**< */,
   11177                                xcb_keycode_t                     firstKey  /**< */,
   11178                                uint8_t                           nKeys  /**< */,
   11179                                uint8_t                           nKeyAliases  /**< */,
   11180                                uint16_t                          totalKTLevelNames  /**< */,
   11181                                const xcb_xkb_set_names_values_t *values  /**< */)
   11182 {
   11183     static const xcb_protocol_request_t xcb_req = {
   11184         /* count */ 3,
   11185         /* ext */ &xcb_xkb_id,
   11186         /* opcode */ XCB_XKB_SET_NAMES,
   11187         /* isvoid */ 1
   11188     };
   11189 
   11190     struct iovec xcb_parts[5];
   11191     xcb_void_cookie_t xcb_ret;
   11192     xcb_xkb_set_names_request_t xcb_out;
   11193     void *xcb_aux0 = 0;
   11194 
   11195     xcb_out.deviceSpec = deviceSpec;
   11196     xcb_out.virtualMods = virtualMods;
   11197     xcb_out.which = which;
   11198     xcb_out.firstType = firstType;
   11199     xcb_out.nTypes = nTypes;
   11200     xcb_out.firstKTLevelt = firstKTLevelt;
   11201     xcb_out.nKTLevels = nKTLevels;
   11202     xcb_out.indicators = indicators;
   11203     xcb_out.groupNames = groupNames;
   11204     xcb_out.nRadioGroups = nRadioGroups;
   11205     xcb_out.firstKey = firstKey;
   11206     xcb_out.nKeys = nKeys;
   11207     xcb_out.nKeyAliases = nKeyAliases;
   11208     xcb_out.pad0 = 0;
   11209     xcb_out.totalKTLevelNames = totalKTLevelNames;
   11210 
   11211     xcb_parts[2].iov_base = (char *) &xcb_out;
   11212     xcb_parts[2].iov_len = sizeof(xcb_out);
   11213     xcb_parts[3].iov_base = 0;
   11214     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11215     /* xcb_xkb_set_names_values_t values */
   11216     xcb_parts[4].iov_len =
   11217       xcb_xkb_set_names_values_serialize (&xcb_aux0, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, values);
   11218     xcb_parts[4].iov_base = xcb_aux0;
   11219 
   11220     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   11221     free(xcb_aux0);
   11222     return xcb_ret;
   11223 }
   11224 
   11225 
   11226 /*****************************************************************************
   11227  **
   11228  ** xcb_void_cookie_t xcb_xkb_set_names_aux
   11229  **
   11230  ** @param xcb_connection_t                 *c
   11231  ** @param xcb_xkb_device_spec_t             deviceSpec
   11232  ** @param uint16_t                          virtualMods
   11233  ** @param uint32_t                          which
   11234  ** @param uint8_t                           firstType
   11235  ** @param uint8_t                           nTypes
   11236  ** @param uint8_t                           firstKTLevelt
   11237  ** @param uint8_t                           nKTLevels
   11238  ** @param uint32_t                          indicators
   11239  ** @param uint8_t                           groupNames
   11240  ** @param uint8_t                           nRadioGroups
   11241  ** @param xcb_keycode_t                     firstKey
   11242  ** @param uint8_t                           nKeys
   11243  ** @param uint8_t                           nKeyAliases
   11244  ** @param uint16_t                          totalKTLevelNames
   11245  ** @param const xcb_xkb_set_names_values_t *values
   11246  ** @returns xcb_void_cookie_t
   11247  **
   11248  *****************************************************************************/
   11249 
   11250 xcb_void_cookie_t
   11251 xcb_xkb_set_names_aux (xcb_connection_t                 *c  /**< */,
   11252                        xcb_xkb_device_spec_t             deviceSpec  /**< */,
   11253                        uint16_t                          virtualMods  /**< */,
   11254                        uint32_t                          which  /**< */,
   11255                        uint8_t                           firstType  /**< */,
   11256                        uint8_t                           nTypes  /**< */,
   11257                        uint8_t                           firstKTLevelt  /**< */,
   11258                        uint8_t                           nKTLevels  /**< */,
   11259                        uint32_t                          indicators  /**< */,
   11260                        uint8_t                           groupNames  /**< */,
   11261                        uint8_t                           nRadioGroups  /**< */,
   11262                        xcb_keycode_t                     firstKey  /**< */,
   11263                        uint8_t                           nKeys  /**< */,
   11264                        uint8_t                           nKeyAliases  /**< */,
   11265                        uint16_t                          totalKTLevelNames  /**< */,
   11266                        const xcb_xkb_set_names_values_t *values  /**< */)
   11267 {
   11268     static const xcb_protocol_request_t xcb_req = {
   11269         /* count */ 3,
   11270         /* ext */ &xcb_xkb_id,
   11271         /* opcode */ XCB_XKB_SET_NAMES,
   11272         /* isvoid */ 1
   11273     };
   11274 
   11275     struct iovec xcb_parts[5];
   11276     xcb_void_cookie_t xcb_ret;
   11277     xcb_xkb_set_names_request_t xcb_out;
   11278     void *xcb_aux0 = 0;
   11279 
   11280     xcb_out.deviceSpec = deviceSpec;
   11281     xcb_out.virtualMods = virtualMods;
   11282     xcb_out.which = which;
   11283     xcb_out.firstType = firstType;
   11284     xcb_out.nTypes = nTypes;
   11285     xcb_out.firstKTLevelt = firstKTLevelt;
   11286     xcb_out.nKTLevels = nKTLevels;
   11287     xcb_out.indicators = indicators;
   11288     xcb_out.groupNames = groupNames;
   11289     xcb_out.nRadioGroups = nRadioGroups;
   11290     xcb_out.firstKey = firstKey;
   11291     xcb_out.nKeys = nKeys;
   11292     xcb_out.nKeyAliases = nKeyAliases;
   11293     xcb_out.pad0 = 0;
   11294     xcb_out.totalKTLevelNames = totalKTLevelNames;
   11295 
   11296     xcb_parts[2].iov_base = (char *) &xcb_out;
   11297     xcb_parts[2].iov_len = sizeof(xcb_out);
   11298     xcb_parts[3].iov_base = 0;
   11299     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11300     /* xcb_xkb_set_names_values_t values */
   11301     xcb_parts[4].iov_len =
   11302       xcb_xkb_set_names_values_serialize (&xcb_aux0, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, values);
   11303     xcb_parts[4].iov_base = xcb_aux0;
   11304 
   11305     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   11306     free(xcb_aux0);
   11307     return xcb_ret;
   11308 }
   11309 
   11310 
   11311 /*****************************************************************************
   11312  **
   11313  ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags
   11314  **
   11315  ** @param xcb_connection_t      *c
   11316  ** @param xcb_xkb_device_spec_t  deviceSpec
   11317  ** @param uint32_t               change
   11318  ** @param uint32_t               value
   11319  ** @param uint32_t               ctrlsToChange
   11320  ** @param uint32_t               autoCtrls
   11321  ** @param uint32_t               autoCtrlsValues
   11322  ** @returns xcb_xkb_per_client_flags_cookie_t
   11323  **
   11324  *****************************************************************************/
   11325 
   11326 xcb_xkb_per_client_flags_cookie_t
   11327 xcb_xkb_per_client_flags (xcb_connection_t      *c  /**< */,
   11328                           xcb_xkb_device_spec_t  deviceSpec  /**< */,
   11329                           uint32_t               change  /**< */,
   11330                           uint32_t               value  /**< */,
   11331                           uint32_t               ctrlsToChange  /**< */,
   11332                           uint32_t               autoCtrls  /**< */,
   11333                           uint32_t               autoCtrlsValues  /**< */)
   11334 {
   11335     static const xcb_protocol_request_t xcb_req = {
   11336         /* count */ 2,
   11337         /* ext */ &xcb_xkb_id,
   11338         /* opcode */ XCB_XKB_PER_CLIENT_FLAGS,
   11339         /* isvoid */ 0
   11340     };
   11341 
   11342     struct iovec xcb_parts[4];
   11343     xcb_xkb_per_client_flags_cookie_t xcb_ret;
   11344     xcb_xkb_per_client_flags_request_t xcb_out;
   11345 
   11346     xcb_out.deviceSpec = deviceSpec;
   11347     memset(xcb_out.pad0, 0, 2);
   11348     xcb_out.change = change;
   11349     xcb_out.value = value;
   11350     xcb_out.ctrlsToChange = ctrlsToChange;
   11351     xcb_out.autoCtrls = autoCtrls;
   11352     xcb_out.autoCtrlsValues = autoCtrlsValues;
   11353 
   11354     xcb_parts[2].iov_base = (char *) &xcb_out;
   11355     xcb_parts[2].iov_len = sizeof(xcb_out);
   11356     xcb_parts[3].iov_base = 0;
   11357     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11358 
   11359     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   11360     return xcb_ret;
   11361 }
   11362 
   11363 
   11364 /*****************************************************************************
   11365  **
   11366  ** xcb_xkb_per_client_flags_cookie_t xcb_xkb_per_client_flags_unchecked
   11367  **
   11368  ** @param xcb_connection_t      *c
   11369  ** @param xcb_xkb_device_spec_t  deviceSpec
   11370  ** @param uint32_t               change
   11371  ** @param uint32_t               value
   11372  ** @param uint32_t               ctrlsToChange
   11373  ** @param uint32_t               autoCtrls
   11374  ** @param uint32_t               autoCtrlsValues
   11375  ** @returns xcb_xkb_per_client_flags_cookie_t
   11376  **
   11377  *****************************************************************************/
   11378 
   11379 xcb_xkb_per_client_flags_cookie_t
   11380 xcb_xkb_per_client_flags_unchecked (xcb_connection_t      *c  /**< */,
   11381                                     xcb_xkb_device_spec_t  deviceSpec  /**< */,
   11382                                     uint32_t               change  /**< */,
   11383                                     uint32_t               value  /**< */,
   11384                                     uint32_t               ctrlsToChange  /**< */,
   11385                                     uint32_t               autoCtrls  /**< */,
   11386                                     uint32_t               autoCtrlsValues  /**< */)
   11387 {
   11388     static const xcb_protocol_request_t xcb_req = {
   11389         /* count */ 2,
   11390         /* ext */ &xcb_xkb_id,
   11391         /* opcode */ XCB_XKB_PER_CLIENT_FLAGS,
   11392         /* isvoid */ 0
   11393     };
   11394 
   11395     struct iovec xcb_parts[4];
   11396     xcb_xkb_per_client_flags_cookie_t xcb_ret;
   11397     xcb_xkb_per_client_flags_request_t xcb_out;
   11398 
   11399     xcb_out.deviceSpec = deviceSpec;
   11400     memset(xcb_out.pad0, 0, 2);
   11401     xcb_out.change = change;
   11402     xcb_out.value = value;
   11403     xcb_out.ctrlsToChange = ctrlsToChange;
   11404     xcb_out.autoCtrls = autoCtrls;
   11405     xcb_out.autoCtrlsValues = autoCtrlsValues;
   11406 
   11407     xcb_parts[2].iov_base = (char *) &xcb_out;
   11408     xcb_parts[2].iov_len = sizeof(xcb_out);
   11409     xcb_parts[3].iov_base = 0;
   11410     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11411 
   11412     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   11413     return xcb_ret;
   11414 }
   11415 
   11416 
   11417 /*****************************************************************************
   11418  **
   11419  ** xcb_xkb_per_client_flags_reply_t * xcb_xkb_per_client_flags_reply
   11420  **
   11421  ** @param xcb_connection_t                   *c
   11422  ** @param xcb_xkb_per_client_flags_cookie_t   cookie
   11423  ** @param xcb_generic_error_t               **e
   11424  ** @returns xcb_xkb_per_client_flags_reply_t *
   11425  **
   11426  *****************************************************************************/
   11427 
   11428 xcb_xkb_per_client_flags_reply_t *
   11429 xcb_xkb_per_client_flags_reply (xcb_connection_t                   *c  /**< */,
   11430                                 xcb_xkb_per_client_flags_cookie_t   cookie  /**< */,
   11431                                 xcb_generic_error_t               **e  /**< */)
   11432 {
   11433     return (xcb_xkb_per_client_flags_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   11434 }
   11435 
   11436 int
   11437 xcb_xkb_list_components_sizeof (const void  *_buffer  /**< */)
   11438 {
   11439     char *xcb_tmp = (char *)_buffer;
   11440     const xcb_xkb_list_components_reply_t *_aux = (xcb_xkb_list_components_reply_t *)_buffer;
   11441     unsigned int xcb_buffer_len = 0;
   11442     unsigned int xcb_block_len = 0;
   11443     unsigned int xcb_pad = 0;
   11444     unsigned int xcb_align_to = 0;
   11445 
   11446     unsigned int i;
   11447     unsigned int xcb_tmp_len;
   11448 
   11449     xcb_block_len += sizeof(xcb_xkb_list_components_reply_t);
   11450     xcb_tmp += xcb_block_len;
   11451     xcb_buffer_len += xcb_block_len;
   11452     xcb_block_len = 0;
   11453     /* keymaps */
   11454     for(i=0; i<_aux->nKeymaps; i++) {
   11455         xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
   11456         xcb_block_len += xcb_tmp_len;
   11457         xcb_tmp += xcb_tmp_len;
   11458     }
   11459     xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
   11460     /* insert padding */
   11461     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   11462     xcb_buffer_len += xcb_block_len + xcb_pad;
   11463     if (0 != xcb_pad) {
   11464         xcb_tmp += xcb_pad;
   11465         xcb_pad = 0;
   11466     }
   11467     xcb_block_len = 0;
   11468     /* keycodes */
   11469     for(i=0; i<_aux->nKeycodes; i++) {
   11470         xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
   11471         xcb_block_len += xcb_tmp_len;
   11472         xcb_tmp += xcb_tmp_len;
   11473     }
   11474     xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
   11475     /* insert padding */
   11476     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   11477     xcb_buffer_len += xcb_block_len + xcb_pad;
   11478     if (0 != xcb_pad) {
   11479         xcb_tmp += xcb_pad;
   11480         xcb_pad = 0;
   11481     }
   11482     xcb_block_len = 0;
   11483     /* types */
   11484     for(i=0; i<_aux->nTypes; i++) {
   11485         xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
   11486         xcb_block_len += xcb_tmp_len;
   11487         xcb_tmp += xcb_tmp_len;
   11488     }
   11489     xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
   11490     /* insert padding */
   11491     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   11492     xcb_buffer_len += xcb_block_len + xcb_pad;
   11493     if (0 != xcb_pad) {
   11494         xcb_tmp += xcb_pad;
   11495         xcb_pad = 0;
   11496     }
   11497     xcb_block_len = 0;
   11498     /* compatMaps */
   11499     for(i=0; i<_aux->nCompatMaps; i++) {
   11500         xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
   11501         xcb_block_len += xcb_tmp_len;
   11502         xcb_tmp += xcb_tmp_len;
   11503     }
   11504     xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
   11505     /* insert padding */
   11506     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   11507     xcb_buffer_len += xcb_block_len + xcb_pad;
   11508     if (0 != xcb_pad) {
   11509         xcb_tmp += xcb_pad;
   11510         xcb_pad = 0;
   11511     }
   11512     xcb_block_len = 0;
   11513     /* symbols */
   11514     for(i=0; i<_aux->nSymbols; i++) {
   11515         xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
   11516         xcb_block_len += xcb_tmp_len;
   11517         xcb_tmp += xcb_tmp_len;
   11518     }
   11519     xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
   11520     /* insert padding */
   11521     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   11522     xcb_buffer_len += xcb_block_len + xcb_pad;
   11523     if (0 != xcb_pad) {
   11524         xcb_tmp += xcb_pad;
   11525         xcb_pad = 0;
   11526     }
   11527     xcb_block_len = 0;
   11528     /* geometries */
   11529     for(i=0; i<_aux->nGeometries; i++) {
   11530         xcb_tmp_len = xcb_xkb_listing_sizeof(xcb_tmp);
   11531         xcb_block_len += xcb_tmp_len;
   11532         xcb_tmp += xcb_tmp_len;
   11533     }
   11534     xcb_align_to = ALIGNOF(xcb_xkb_listing_t);
   11535     /* insert padding */
   11536     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   11537     xcb_buffer_len += xcb_block_len + xcb_pad;
   11538     if (0 != xcb_pad) {
   11539         xcb_tmp += xcb_pad;
   11540         xcb_pad = 0;
   11541     }
   11542     xcb_block_len = 0;
   11543 
   11544     return xcb_buffer_len;
   11545 }
   11546 
   11547 
   11548 /*****************************************************************************
   11549  **
   11550  ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components
   11551  **
   11552  ** @param xcb_connection_t      *c
   11553  ** @param xcb_xkb_device_spec_t  deviceSpec
   11554  ** @param uint16_t               maxNames
   11555  ** @returns xcb_xkb_list_components_cookie_t
   11556  **
   11557  *****************************************************************************/
   11558 
   11559 xcb_xkb_list_components_cookie_t
   11560 xcb_xkb_list_components (xcb_connection_t      *c  /**< */,
   11561                          xcb_xkb_device_spec_t  deviceSpec  /**< */,
   11562                          uint16_t               maxNames  /**< */)
   11563 {
   11564     static const xcb_protocol_request_t xcb_req = {
   11565         /* count */ 2,
   11566         /* ext */ &xcb_xkb_id,
   11567         /* opcode */ XCB_XKB_LIST_COMPONENTS,
   11568         /* isvoid */ 0
   11569     };
   11570 
   11571     struct iovec xcb_parts[4];
   11572     xcb_xkb_list_components_cookie_t xcb_ret;
   11573     xcb_xkb_list_components_request_t xcb_out;
   11574 
   11575     xcb_out.deviceSpec = deviceSpec;
   11576     xcb_out.maxNames = maxNames;
   11577 
   11578     xcb_parts[2].iov_base = (char *) &xcb_out;
   11579     xcb_parts[2].iov_len = sizeof(xcb_out);
   11580     xcb_parts[3].iov_base = 0;
   11581     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11582 
   11583     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   11584     return xcb_ret;
   11585 }
   11586 
   11587 
   11588 /*****************************************************************************
   11589  **
   11590  ** xcb_xkb_list_components_cookie_t xcb_xkb_list_components_unchecked
   11591  **
   11592  ** @param xcb_connection_t      *c
   11593  ** @param xcb_xkb_device_spec_t  deviceSpec
   11594  ** @param uint16_t               maxNames
   11595  ** @returns xcb_xkb_list_components_cookie_t
   11596  **
   11597  *****************************************************************************/
   11598 
   11599 xcb_xkb_list_components_cookie_t
   11600 xcb_xkb_list_components_unchecked (xcb_connection_t      *c  /**< */,
   11601                                    xcb_xkb_device_spec_t  deviceSpec  /**< */,
   11602                                    uint16_t               maxNames  /**< */)
   11603 {
   11604     static const xcb_protocol_request_t xcb_req = {
   11605         /* count */ 2,
   11606         /* ext */ &xcb_xkb_id,
   11607         /* opcode */ XCB_XKB_LIST_COMPONENTS,
   11608         /* isvoid */ 0
   11609     };
   11610 
   11611     struct iovec xcb_parts[4];
   11612     xcb_xkb_list_components_cookie_t xcb_ret;
   11613     xcb_xkb_list_components_request_t xcb_out;
   11614 
   11615     xcb_out.deviceSpec = deviceSpec;
   11616     xcb_out.maxNames = maxNames;
   11617 
   11618     xcb_parts[2].iov_base = (char *) &xcb_out;
   11619     xcb_parts[2].iov_len = sizeof(xcb_out);
   11620     xcb_parts[3].iov_base = 0;
   11621     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   11622 
   11623     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   11624     return xcb_ret;
   11625 }
   11626 
   11627 
   11628 /*****************************************************************************
   11629  **
   11630  ** int xcb_xkb_list_components_keymaps_length
   11631  **
   11632  ** @param const xcb_xkb_list_components_reply_t *R
   11633  ** @returns int
   11634  **
   11635  *****************************************************************************/
   11636 
   11637 int
   11638 xcb_xkb_list_components_keymaps_length (const xcb_xkb_list_components_reply_t *R  /**< */)
   11639 {
   11640     return R->nKeymaps;
   11641 }
   11642 
   11643 
   11644 /*****************************************************************************
   11645  **
   11646  ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keymaps_iterator
   11647  **
   11648  ** @param const xcb_xkb_list_components_reply_t *R
   11649  ** @returns xcb_xkb_listing_iterator_t
   11650  **
   11651  *****************************************************************************/
   11652 
   11653 xcb_xkb_listing_iterator_t
   11654 xcb_xkb_list_components_keymaps_iterator (const xcb_xkb_list_components_reply_t *R  /**< */)
   11655 {
   11656     xcb_xkb_listing_iterator_t i;
   11657     i.data = (xcb_xkb_listing_t *) (R + 1);
   11658     i.rem = R->nKeymaps;
   11659     i.index = (char *) i.data - (char *) R;
   11660     return i;
   11661 }
   11662 
   11663 
   11664 /*****************************************************************************
   11665  **
   11666  ** int xcb_xkb_list_components_keycodes_length
   11667  **
   11668  ** @param const xcb_xkb_list_components_reply_t *R
   11669  ** @returns int
   11670  **
   11671  *****************************************************************************/
   11672 
   11673 int
   11674 xcb_xkb_list_components_keycodes_length (const xcb_xkb_list_components_reply_t *R  /**< */)
   11675 {
   11676     return R->nKeycodes;
   11677 }
   11678 
   11679 
   11680 /*****************************************************************************
   11681  **
   11682  ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_keycodes_iterator
   11683  **
   11684  ** @param const xcb_xkb_list_components_reply_t *R
   11685  ** @returns xcb_xkb_listing_iterator_t
   11686  **
   11687  *****************************************************************************/
   11688 
   11689 xcb_xkb_listing_iterator_t
   11690 xcb_xkb_list_components_keycodes_iterator (const xcb_xkb_list_components_reply_t *R  /**< */)
   11691 {
   11692     xcb_xkb_listing_iterator_t i;
   11693     xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_keymaps_iterator(R));
   11694     i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
   11695     i.rem = R->nKeycodes;
   11696     i.index = (char *) i.data - (char *) R;
   11697     return i;
   11698 }
   11699 
   11700 
   11701 /*****************************************************************************
   11702  **
   11703  ** int xcb_xkb_list_components_types_length
   11704  **
   11705  ** @param const xcb_xkb_list_components_reply_t *R
   11706  ** @returns int
   11707  **
   11708  *****************************************************************************/
   11709 
   11710 int
   11711 xcb_xkb_list_components_types_length (const xcb_xkb_list_components_reply_t *R  /**< */)
   11712 {
   11713     return R->nTypes;
   11714 }
   11715 
   11716 
   11717 /*****************************************************************************
   11718  **
   11719  ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_types_iterator
   11720  **
   11721  ** @param const xcb_xkb_list_components_reply_t *R
   11722  ** @returns xcb_xkb_listing_iterator_t
   11723  **
   11724  *****************************************************************************/
   11725 
   11726 xcb_xkb_listing_iterator_t
   11727 xcb_xkb_list_components_types_iterator (const xcb_xkb_list_components_reply_t *R  /**< */)
   11728 {
   11729     xcb_xkb_listing_iterator_t i;
   11730     xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_keycodes_iterator(R));
   11731     i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
   11732     i.rem = R->nTypes;
   11733     i.index = (char *) i.data - (char *) R;
   11734     return i;
   11735 }
   11736 
   11737 
   11738 /*****************************************************************************
   11739  **
   11740  ** int xcb_xkb_list_components_compat_maps_length
   11741  **
   11742  ** @param const xcb_xkb_list_components_reply_t *R
   11743  ** @returns int
   11744  **
   11745  *****************************************************************************/
   11746 
   11747 int
   11748 xcb_xkb_list_components_compat_maps_length (const xcb_xkb_list_components_reply_t *R  /**< */)
   11749 {
   11750     return R->nCompatMaps;
   11751 }
   11752 
   11753 
   11754 /*****************************************************************************
   11755  **
   11756  ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_compat_maps_iterator
   11757  **
   11758  ** @param const xcb_xkb_list_components_reply_t *R
   11759  ** @returns xcb_xkb_listing_iterator_t
   11760  **
   11761  *****************************************************************************/
   11762 
   11763 xcb_xkb_listing_iterator_t
   11764 xcb_xkb_list_components_compat_maps_iterator (const xcb_xkb_list_components_reply_t *R  /**< */)
   11765 {
   11766     xcb_xkb_listing_iterator_t i;
   11767     xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_types_iterator(R));
   11768     i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
   11769     i.rem = R->nCompatMaps;
   11770     i.index = (char *) i.data - (char *) R;
   11771     return i;
   11772 }
   11773 
   11774 
   11775 /*****************************************************************************
   11776  **
   11777  ** int xcb_xkb_list_components_symbols_length
   11778  **
   11779  ** @param const xcb_xkb_list_components_reply_t *R
   11780  ** @returns int
   11781  **
   11782  *****************************************************************************/
   11783 
   11784 int
   11785 xcb_xkb_list_components_symbols_length (const xcb_xkb_list_components_reply_t *R  /**< */)
   11786 {
   11787     return R->nSymbols;
   11788 }
   11789 
   11790 
   11791 /*****************************************************************************
   11792  **
   11793  ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_symbols_iterator
   11794  **
   11795  ** @param const xcb_xkb_list_components_reply_t *R
   11796  ** @returns xcb_xkb_listing_iterator_t
   11797  **
   11798  *****************************************************************************/
   11799 
   11800 xcb_xkb_listing_iterator_t
   11801 xcb_xkb_list_components_symbols_iterator (const xcb_xkb_list_components_reply_t *R  /**< */)
   11802 {
   11803     xcb_xkb_listing_iterator_t i;
   11804     xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_compat_maps_iterator(R));
   11805     i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
   11806     i.rem = R->nSymbols;
   11807     i.index = (char *) i.data - (char *) R;
   11808     return i;
   11809 }
   11810 
   11811 
   11812 /*****************************************************************************
   11813  **
   11814  ** int xcb_xkb_list_components_geometries_length
   11815  **
   11816  ** @param const xcb_xkb_list_components_reply_t *R
   11817  ** @returns int
   11818  **
   11819  *****************************************************************************/
   11820 
   11821 int
   11822 xcb_xkb_list_components_geometries_length (const xcb_xkb_list_components_reply_t *R  /**< */)
   11823 {
   11824     return R->nGeometries;
   11825 }
   11826 
   11827 
   11828 /*****************************************************************************
   11829  **
   11830  ** xcb_xkb_listing_iterator_t xcb_xkb_list_components_geometries_iterator
   11831  **
   11832  ** @param const xcb_xkb_list_components_reply_t *R
   11833  ** @returns xcb_xkb_listing_iterator_t
   11834  **
   11835  *****************************************************************************/
   11836 
   11837 xcb_xkb_listing_iterator_t
   11838 xcb_xkb_list_components_geometries_iterator (const xcb_xkb_list_components_reply_t *R  /**< */)
   11839 {
   11840     xcb_xkb_listing_iterator_t i;
   11841     xcb_generic_iterator_t prev = xcb_xkb_listing_end(xcb_xkb_list_components_symbols_iterator(R));
   11842     i.data = (xcb_xkb_listing_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_listing_t, prev.index));
   11843     i.rem = R->nGeometries;
   11844     i.index = (char *) i.data - (char *) R;
   11845     return i;
   11846 }
   11847 
   11848 
   11849 /*****************************************************************************
   11850  **
   11851  ** xcb_xkb_list_components_reply_t * xcb_xkb_list_components_reply
   11852  **
   11853  ** @param xcb_connection_t                  *c
   11854  ** @param xcb_xkb_list_components_cookie_t   cookie
   11855  ** @param xcb_generic_error_t              **e
   11856  ** @returns xcb_xkb_list_components_reply_t *
   11857  **
   11858  *****************************************************************************/
   11859 
   11860 xcb_xkb_list_components_reply_t *
   11861 xcb_xkb_list_components_reply (xcb_connection_t                  *c  /**< */,
   11862                                xcb_xkb_list_components_cookie_t   cookie  /**< */,
   11863                                xcb_generic_error_t              **e  /**< */)
   11864 {
   11865     return (xcb_xkb_list_components_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   11866 }
   11867 
   11868 
   11869 /*****************************************************************************
   11870  **
   11871  ** int xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length
   11872  **
   11873  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   11874  ** @returns int
   11875  **
   11876  *****************************************************************************/
   11877 
   11878 int
   11879 xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   11880                                                              const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11881 {
   11882     return /* replies */ S->types.nTypes;
   11883 }
   11884 
   11885 
   11886 /*****************************************************************************
   11887  **
   11888  ** xcb_xkb_key_type_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator
   11889  **
   11890  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   11891  ** @returns xcb_xkb_key_type_iterator_t
   11892  **
   11893  *****************************************************************************/
   11894 
   11895 xcb_xkb_key_type_iterator_t
   11896 xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   11897                                                                const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11898 {
   11899     xcb_xkb_key_type_iterator_t i;
   11900     i.data = /* replies */ S->types.map.types_rtrn;
   11901     i.rem = /* replies */ S->types.nTypes;
   11902     i.index = (char *) i.data - (char *) S;
   11903     return i;
   11904 }
   11905 
   11906 
   11907 /*****************************************************************************
   11908  **
   11909  ** int xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length
   11910  **
   11911  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   11912  ** @returns int
   11913  **
   11914  *****************************************************************************/
   11915 
   11916 int
   11917 xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   11918                                                             const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11919 {
   11920     return /* replies */ S->types.nKeySyms;
   11921 }
   11922 
   11923 
   11924 /*****************************************************************************
   11925  **
   11926  ** xcb_xkb_key_sym_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator
   11927  **
   11928  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   11929  ** @returns xcb_xkb_key_sym_map_iterator_t
   11930  **
   11931  *****************************************************************************/
   11932 
   11933 xcb_xkb_key_sym_map_iterator_t
   11934 xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   11935                                                               const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11936 {
   11937     xcb_xkb_key_sym_map_iterator_t i;
   11938     i.data = /* replies */ S->types.map.syms_rtrn;
   11939     i.rem = /* replies */ S->types.nKeySyms;
   11940     i.index = (char *) i.data - (char *) S;
   11941     return i;
   11942 }
   11943 
   11944 
   11945 /*****************************************************************************
   11946  **
   11947  ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count
   11948  **
   11949  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   11950  ** @returns uint8_t *
   11951  **
   11952  *****************************************************************************/
   11953 
   11954 uint8_t *
   11955 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11956 {
   11957     return /* replies */ S->types.map.acts_rtrn_count;
   11958 }
   11959 
   11960 
   11961 /*****************************************************************************
   11962  **
   11963  ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length
   11964  **
   11965  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   11966  ** @returns int
   11967  **
   11968  *****************************************************************************/
   11969 
   11970 int
   11971 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   11972                                                                   const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11973 {
   11974     return /* replies */ S->types.nKeyActions;
   11975 }
   11976 
   11977 
   11978 /*****************************************************************************
   11979  **
   11980  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end
   11981  **
   11982  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   11983  ** @returns xcb_generic_iterator_t
   11984  **
   11985  *****************************************************************************/
   11986 
   11987 xcb_generic_iterator_t
   11988 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   11989                                                                const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   11990 {
   11991     xcb_generic_iterator_t i;
   11992     i.data = /* replies */ S->types.map.acts_rtrn_count + /* replies */ S->types.nKeyActions;
   11993     i.rem = 0;
   11994     i.index = (char *) i.data - (char *) S;
   11995     return i;
   11996 }
   11997 
   11998 
   11999 /*****************************************************************************
   12000  **
   12001  ** xcb_xkb_action_t * xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts
   12002  **
   12003  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12004  ** @returns xcb_xkb_action_t *
   12005  **
   12006  *****************************************************************************/
   12007 
   12008 xcb_xkb_action_t *
   12009 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12010 {
   12011     return /* replies */ S->types.map.acts_rtrn_acts;
   12012 }
   12013 
   12014 
   12015 /*****************************************************************************
   12016  **
   12017  ** int xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length
   12018  **
   12019  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12020  ** @returns int
   12021  **
   12022  *****************************************************************************/
   12023 
   12024 int
   12025 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12026                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12027 {
   12028     return /* replies */ S->types.totalActions;
   12029 }
   12030 
   12031 
   12032 /*****************************************************************************
   12033  **
   12034  ** xcb_xkb_action_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator
   12035  **
   12036  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12037  ** @returns xcb_xkb_action_iterator_t
   12038  **
   12039  *****************************************************************************/
   12040 
   12041 xcb_xkb_action_iterator_t
   12042 xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12043                                                                    const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12044 {
   12045     xcb_xkb_action_iterator_t i;
   12046     i.data = /* replies */ S->types.map.acts_rtrn_acts;
   12047     i.rem = /* replies */ S->types.totalActions;
   12048     i.index = (char *) i.data - (char *) S;
   12049     return i;
   12050 }
   12051 
   12052 
   12053 /*****************************************************************************
   12054  **
   12055  ** xcb_xkb_set_behavior_t * xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn
   12056  **
   12057  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12058  ** @returns xcb_xkb_set_behavior_t *
   12059  **
   12060  *****************************************************************************/
   12061 
   12062 xcb_xkb_set_behavior_t *
   12063 xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12064 {
   12065     return /* replies */ S->types.map.behaviors_rtrn;
   12066 }
   12067 
   12068 
   12069 /*****************************************************************************
   12070  **
   12071  ** int xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length
   12072  **
   12073  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12074  ** @returns int
   12075  **
   12076  *****************************************************************************/
   12077 
   12078 int
   12079 xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12080                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12081 {
   12082     return /* replies */ S->types.totalKeyBehaviors;
   12083 }
   12084 
   12085 
   12086 /*****************************************************************************
   12087  **
   12088  ** xcb_xkb_set_behavior_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator
   12089  **
   12090  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12091  ** @returns xcb_xkb_set_behavior_iterator_t
   12092  **
   12093  *****************************************************************************/
   12094 
   12095 xcb_xkb_set_behavior_iterator_t
   12096 xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12097                                                                    const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12098 {
   12099     xcb_xkb_set_behavior_iterator_t i;
   12100     i.data = /* replies */ S->types.map.behaviors_rtrn;
   12101     i.rem = /* replies */ S->types.totalKeyBehaviors;
   12102     i.index = (char *) i.data - (char *) S;
   12103     return i;
   12104 }
   12105 
   12106 
   12107 /*****************************************************************************
   12108  **
   12109  ** uint8_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn
   12110  **
   12111  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12112  ** @returns uint8_t *
   12113  **
   12114  *****************************************************************************/
   12115 
   12116 uint8_t *
   12117 xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12118 {
   12119     return /* replies */ S->types.map.vmods_rtrn;
   12120 }
   12121 
   12122 
   12123 /*****************************************************************************
   12124  **
   12125  ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length
   12126  **
   12127  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12128  ** @returns int
   12129  **
   12130  *****************************************************************************/
   12131 
   12132 int
   12133 xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12134                                                              const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12135 {
   12136     return xcb_popcount(/* replies */ S->types.virtualMods);
   12137 }
   12138 
   12139 
   12140 /*****************************************************************************
   12141  **
   12142  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end
   12143  **
   12144  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12145  ** @returns xcb_generic_iterator_t
   12146  **
   12147  *****************************************************************************/
   12148 
   12149 xcb_generic_iterator_t
   12150 xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12151                                                           const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12152 {
   12153     xcb_generic_iterator_t i;
   12154     i.data = /* replies */ S->types.map.vmods_rtrn + xcb_popcount(/* replies */ S->types.virtualMods);
   12155     i.rem = 0;
   12156     i.index = (char *) i.data - (char *) S;
   12157     return i;
   12158 }
   12159 
   12160 
   12161 /*****************************************************************************
   12162  **
   12163  ** xcb_xkb_set_explicit_t * xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn
   12164  **
   12165  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12166  ** @returns xcb_xkb_set_explicit_t *
   12167  **
   12168  *****************************************************************************/
   12169 
   12170 xcb_xkb_set_explicit_t *
   12171 xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12172 {
   12173     return /* replies */ S->types.map.explicit_rtrn;
   12174 }
   12175 
   12176 
   12177 /*****************************************************************************
   12178  **
   12179  ** int xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length
   12180  **
   12181  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12182  ** @returns int
   12183  **
   12184  *****************************************************************************/
   12185 
   12186 int
   12187 xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12188                                                                 const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12189 {
   12190     return /* replies */ S->types.totalKeyExplicit;
   12191 }
   12192 
   12193 
   12194 /*****************************************************************************
   12195  **
   12196  ** xcb_xkb_set_explicit_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator
   12197  **
   12198  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12199  ** @returns xcb_xkb_set_explicit_iterator_t
   12200  **
   12201  *****************************************************************************/
   12202 
   12203 xcb_xkb_set_explicit_iterator_t
   12204 xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12205                                                                   const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12206 {
   12207     xcb_xkb_set_explicit_iterator_t i;
   12208     i.data = /* replies */ S->types.map.explicit_rtrn;
   12209     i.rem = /* replies */ S->types.totalKeyExplicit;
   12210     i.index = (char *) i.data - (char *) S;
   12211     return i;
   12212 }
   12213 
   12214 
   12215 /*****************************************************************************
   12216  **
   12217  ** xcb_xkb_key_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn
   12218  **
   12219  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12220  ** @returns xcb_xkb_key_mod_map_t *
   12221  **
   12222  *****************************************************************************/
   12223 
   12224 xcb_xkb_key_mod_map_t *
   12225 xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12226 {
   12227     return /* replies */ S->types.map.modmap_rtrn;
   12228 }
   12229 
   12230 
   12231 /*****************************************************************************
   12232  **
   12233  ** int xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length
   12234  **
   12235  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12236  ** @returns int
   12237  **
   12238  *****************************************************************************/
   12239 
   12240 int
   12241 xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12242                                                               const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12243 {
   12244     return /* replies */ S->types.totalModMapKeys;
   12245 }
   12246 
   12247 
   12248 /*****************************************************************************
   12249  **
   12250  ** xcb_xkb_key_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator
   12251  **
   12252  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12253  ** @returns xcb_xkb_key_mod_map_iterator_t
   12254  **
   12255  *****************************************************************************/
   12256 
   12257 xcb_xkb_key_mod_map_iterator_t
   12258 xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12259                                                                 const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12260 {
   12261     xcb_xkb_key_mod_map_iterator_t i;
   12262     i.data = /* replies */ S->types.map.modmap_rtrn;
   12263     i.rem = /* replies */ S->types.totalModMapKeys;
   12264     i.index = (char *) i.data - (char *) S;
   12265     return i;
   12266 }
   12267 
   12268 
   12269 /*****************************************************************************
   12270  **
   12271  ** xcb_xkb_key_v_mod_map_t * xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn
   12272  **
   12273  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12274  ** @returns xcb_xkb_key_v_mod_map_t *
   12275  **
   12276  *****************************************************************************/
   12277 
   12278 xcb_xkb_key_v_mod_map_t *
   12279 xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12280 {
   12281     return /* replies */ S->types.map.vmodmap_rtrn;
   12282 }
   12283 
   12284 
   12285 /*****************************************************************************
   12286  **
   12287  ** int xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length
   12288  **
   12289  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12290  ** @returns int
   12291  **
   12292  *****************************************************************************/
   12293 
   12294 int
   12295 xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12296                                                                const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12297 {
   12298     return /* replies */ S->types.totalVModMapKeys;
   12299 }
   12300 
   12301 
   12302 /*****************************************************************************
   12303  **
   12304  ** xcb_xkb_key_v_mod_map_iterator_t xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator
   12305  **
   12306  ** @param const xcb_xkb_get_kbd_by_name_replies_types_map_t *R
   12307  ** @returns xcb_xkb_key_v_mod_map_iterator_t
   12308  **
   12309  *****************************************************************************/
   12310 
   12311 xcb_xkb_key_v_mod_map_iterator_t
   12312 xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12313                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12314 {
   12315     xcb_xkb_key_v_mod_map_iterator_t i;
   12316     i.data = /* replies */ S->types.map.vmodmap_rtrn;
   12317     i.rem = /* replies */ S->types.totalVModMapKeys;
   12318     i.index = (char *) i.data - (char *) S;
   12319     return i;
   12320 }
   12321 
   12322 int
   12323 xcb_xkb_get_kbd_by_name_replies_types_map_serialize (void                                              **_buffer  /**< */,
   12324                                                      uint8_t                                             nTypes  /**< */,
   12325                                                      uint8_t                                             nKeySyms  /**< */,
   12326                                                      uint8_t                                             nKeyActions  /**< */,
   12327                                                      uint16_t                                            totalActions  /**< */,
   12328                                                      uint8_t                                             totalKeyBehaviors  /**< */,
   12329                                                      uint16_t                                            virtualMods  /**< */,
   12330                                                      uint8_t                                             totalKeyExplicit  /**< */,
   12331                                                      uint8_t                                             totalModMapKeys  /**< */,
   12332                                                      uint8_t                                             totalVModMapKeys  /**< */,
   12333                                                      uint16_t                                            present  /**< */,
   12334                                                      const xcb_xkb_get_kbd_by_name_replies_types_map_t  *_aux  /**< */)
   12335 {
   12336     char *xcb_out = *_buffer;
   12337     unsigned int xcb_buffer_len = 0;
   12338     unsigned int xcb_align_to = 0;
   12339 
   12340     unsigned int xcb_pad = 0;
   12341     char xcb_pad0[3] = {0, 0, 0};
   12342     struct iovec xcb_parts[19];
   12343     unsigned int xcb_parts_idx = 0;
   12344     unsigned int xcb_block_len = 0;
   12345     unsigned int i;
   12346     char *xcb_tmp;
   12347 
   12348     if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
   12349         /* insert padding */
   12350         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12351         xcb_buffer_len += xcb_block_len + xcb_pad;
   12352         if (0 != xcb_pad) {
   12353             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12354             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12355             xcb_parts_idx++;
   12356             xcb_pad = 0;
   12357         }
   12358         xcb_block_len = 0;
   12359         /* types_rtrn */
   12360         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->types_rtrn;
   12361         xcb_parts[xcb_parts_idx].iov_len = 0;
   12362         xcb_tmp = (char *) _aux->types_rtrn;
   12363         for(i=0; i<nTypes; i++) {
   12364             xcb_block_len = xcb_xkb_key_type_sizeof(xcb_tmp);
   12365             xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
   12366         }
   12367         xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
   12368         xcb_parts_idx++;
   12369         xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
   12370     }
   12371     if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
   12372         /* insert padding */
   12373         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12374         xcb_buffer_len += xcb_block_len + xcb_pad;
   12375         if (0 != xcb_pad) {
   12376             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12377             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12378             xcb_parts_idx++;
   12379             xcb_pad = 0;
   12380         }
   12381         xcb_block_len = 0;
   12382         /* syms_rtrn */
   12383         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->syms_rtrn;
   12384         xcb_parts[xcb_parts_idx].iov_len = 0;
   12385         xcb_tmp = (char *) _aux->syms_rtrn;
   12386         for(i=0; i<nKeySyms; i++) {
   12387             xcb_block_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
   12388             xcb_parts[xcb_parts_idx].iov_len += xcb_block_len;
   12389         }
   12390         xcb_block_len = xcb_parts[xcb_parts_idx].iov_len;
   12391         xcb_parts_idx++;
   12392         xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
   12393     }
   12394     if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
   12395         /* insert padding */
   12396         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12397         xcb_buffer_len += xcb_block_len + xcb_pad;
   12398         if (0 != xcb_pad) {
   12399             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12400             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12401             xcb_parts_idx++;
   12402             xcb_pad = 0;
   12403         }
   12404         xcb_block_len = 0;
   12405         /* acts_rtrn_count */
   12406         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_count;
   12407         xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
   12408         xcb_parts[xcb_parts_idx].iov_len = nKeyActions * sizeof(xcb_keycode_t);
   12409         xcb_parts_idx++;
   12410         xcb_align_to = ALIGNOF(uint8_t);
   12411         /* insert padding */
   12412         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12413         xcb_buffer_len += xcb_block_len + xcb_pad;
   12414         if (0 != xcb_pad) {
   12415             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12416             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12417             xcb_parts_idx++;
   12418             xcb_pad = 0;
   12419         }
   12420         xcb_block_len = 0;
   12421         /* acts_rtrn_acts */
   12422         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->acts_rtrn_acts;
   12423         xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
   12424         xcb_parts[xcb_parts_idx].iov_len = totalActions * sizeof(xcb_xkb_action_t);
   12425         xcb_parts_idx++;
   12426         xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   12427     }
   12428     if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
   12429         /* insert padding */
   12430         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12431         xcb_buffer_len += xcb_block_len + xcb_pad;
   12432         if (0 != xcb_pad) {
   12433             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12434             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12435             xcb_parts_idx++;
   12436             xcb_pad = 0;
   12437         }
   12438         xcb_block_len = 0;
   12439         /* behaviors_rtrn */
   12440         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->behaviors_rtrn;
   12441         xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   12442         xcb_parts[xcb_parts_idx].iov_len = totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   12443         xcb_parts_idx++;
   12444         xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
   12445     }
   12446     if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
   12447         /* insert padding */
   12448         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12449         xcb_buffer_len += xcb_block_len + xcb_pad;
   12450         if (0 != xcb_pad) {
   12451             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12452             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12453             xcb_parts_idx++;
   12454             xcb_pad = 0;
   12455         }
   12456         xcb_block_len = 0;
   12457         /* vmods_rtrn */
   12458         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmods_rtrn;
   12459         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   12460         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   12461         xcb_parts_idx++;
   12462         xcb_align_to = ALIGNOF(uint8_t);
   12463     }
   12464     if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
   12465         /* insert padding */
   12466         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12467         xcb_buffer_len += xcb_block_len + xcb_pad;
   12468         if (0 != xcb_pad) {
   12469             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12470             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12471             xcb_parts_idx++;
   12472             xcb_pad = 0;
   12473         }
   12474         xcb_block_len = 0;
   12475         /* explicit_rtrn */
   12476         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->explicit_rtrn;
   12477         xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   12478         xcb_parts[xcb_parts_idx].iov_len = totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   12479         xcb_parts_idx++;
   12480         xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
   12481     }
   12482     if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
   12483         /* insert padding */
   12484         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12485         xcb_buffer_len += xcb_block_len + xcb_pad;
   12486         if (0 != xcb_pad) {
   12487             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12488             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12489             xcb_parts_idx++;
   12490             xcb_pad = 0;
   12491         }
   12492         xcb_block_len = 0;
   12493         /* modmap_rtrn */
   12494         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->modmap_rtrn;
   12495         xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   12496         xcb_parts[xcb_parts_idx].iov_len = totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   12497         xcb_parts_idx++;
   12498         xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
   12499     }
   12500     if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
   12501         /* insert padding */
   12502         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12503         xcb_buffer_len += xcb_block_len + xcb_pad;
   12504         if (0 != xcb_pad) {
   12505             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12506             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12507             xcb_parts_idx++;
   12508             xcb_pad = 0;
   12509         }
   12510         xcb_block_len = 0;
   12511         /* vmodmap_rtrn */
   12512         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->vmodmap_rtrn;
   12513         xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   12514         xcb_parts[xcb_parts_idx].iov_len = totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   12515         xcb_parts_idx++;
   12516         xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
   12517     }
   12518     /* insert padding */
   12519     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12520     xcb_buffer_len += xcb_block_len + xcb_pad;
   12521     if (0 != xcb_pad) {
   12522         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   12523         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   12524         xcb_parts_idx++;
   12525         xcb_pad = 0;
   12526     }
   12527     xcb_block_len = 0;
   12528 
   12529     if (NULL == xcb_out) {
   12530         /* allocate memory */
   12531         xcb_out = malloc(xcb_buffer_len);
   12532         *_buffer = xcb_out;
   12533     }
   12534 
   12535     xcb_tmp = xcb_out;
   12536     for(i=0; i<xcb_parts_idx; i++) {
   12537         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   12538             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   12539         if (0 != xcb_parts[i].iov_len)
   12540             xcb_tmp += xcb_parts[i].iov_len;
   12541     }
   12542 
   12543     return xcb_buffer_len;
   12544 }
   12545 
   12546 int
   12547 xcb_xkb_get_kbd_by_name_replies_types_map_unpack (const void                                   *_buffer  /**< */,
   12548                                                   uint8_t                                       nTypes  /**< */,
   12549                                                   uint8_t                                       nKeySyms  /**< */,
   12550                                                   uint8_t                                       nKeyActions  /**< */,
   12551                                                   uint16_t                                      totalActions  /**< */,
   12552                                                   uint8_t                                       totalKeyBehaviors  /**< */,
   12553                                                   uint16_t                                      virtualMods  /**< */,
   12554                                                   uint8_t                                       totalKeyExplicit  /**< */,
   12555                                                   uint8_t                                       totalModMapKeys  /**< */,
   12556                                                   uint8_t                                       totalVModMapKeys  /**< */,
   12557                                                   uint16_t                                      present  /**< */,
   12558                                                   xcb_xkb_get_kbd_by_name_replies_types_map_t  *_aux  /**< */)
   12559 {
   12560     char *xcb_tmp = (char *)_buffer;
   12561     unsigned int xcb_buffer_len = 0;
   12562     unsigned int xcb_block_len = 0;
   12563     unsigned int xcb_pad = 0;
   12564     unsigned int xcb_align_to = 0;
   12565 
   12566     unsigned int i;
   12567     unsigned int xcb_tmp_len;
   12568 
   12569     if(present & XCB_XKB_MAP_PART_KEY_TYPES) {
   12570         /* insert padding */
   12571         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12572         xcb_buffer_len += xcb_block_len + xcb_pad;
   12573         if (0 != xcb_pad) {
   12574             xcb_tmp += xcb_pad;
   12575             xcb_pad = 0;
   12576         }
   12577         xcb_block_len = 0;
   12578         /* types_rtrn */
   12579         _aux->types_rtrn = (xcb_xkb_key_type_t *)xcb_tmp;
   12580         for(i=0; i<nTypes; i++) {
   12581             xcb_tmp_len = xcb_xkb_key_type_sizeof(xcb_tmp);
   12582             xcb_block_len += xcb_tmp_len;
   12583             xcb_tmp += xcb_tmp_len;
   12584         }
   12585         xcb_align_to = ALIGNOF(xcb_xkb_key_type_t);
   12586     }
   12587     if(present & XCB_XKB_MAP_PART_KEY_SYMS) {
   12588         /* insert padding */
   12589         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12590         xcb_buffer_len += xcb_block_len + xcb_pad;
   12591         if (0 != xcb_pad) {
   12592             xcb_tmp += xcb_pad;
   12593             xcb_pad = 0;
   12594         }
   12595         xcb_block_len = 0;
   12596         /* syms_rtrn */
   12597         _aux->syms_rtrn = (xcb_xkb_key_sym_map_t *)xcb_tmp;
   12598         for(i=0; i<nKeySyms; i++) {
   12599             xcb_tmp_len = xcb_xkb_key_sym_map_sizeof(xcb_tmp);
   12600             xcb_block_len += xcb_tmp_len;
   12601             xcb_tmp += xcb_tmp_len;
   12602         }
   12603         xcb_align_to = ALIGNOF(xcb_xkb_key_sym_map_t);
   12604     }
   12605     if(present & XCB_XKB_MAP_PART_KEY_ACTIONS) {
   12606         /* insert padding */
   12607         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12608         xcb_buffer_len += xcb_block_len + xcb_pad;
   12609         if (0 != xcb_pad) {
   12610             xcb_tmp += xcb_pad;
   12611             xcb_pad = 0;
   12612         }
   12613         xcb_block_len = 0;
   12614         /* acts_rtrn_count */
   12615         _aux->acts_rtrn_count = (uint8_t *)xcb_tmp;
   12616         xcb_block_len += nKeyActions * sizeof(xcb_keycode_t);
   12617         xcb_tmp += xcb_block_len;
   12618         xcb_align_to = ALIGNOF(uint8_t);
   12619         /* insert padding */
   12620         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12621         xcb_buffer_len += xcb_block_len + xcb_pad;
   12622         if (0 != xcb_pad) {
   12623             xcb_tmp += xcb_pad;
   12624             xcb_pad = 0;
   12625         }
   12626         xcb_block_len = 0;
   12627         /* acts_rtrn_acts */
   12628         _aux->acts_rtrn_acts = (xcb_xkb_action_t *)xcb_tmp;
   12629         xcb_block_len += totalActions * sizeof(xcb_xkb_action_t);
   12630         xcb_tmp += xcb_block_len;
   12631         xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   12632     }
   12633     if(present & XCB_XKB_MAP_PART_KEY_BEHAVIORS) {
   12634         /* insert padding */
   12635         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12636         xcb_buffer_len += xcb_block_len + xcb_pad;
   12637         if (0 != xcb_pad) {
   12638             xcb_tmp += xcb_pad;
   12639             xcb_pad = 0;
   12640         }
   12641         xcb_block_len = 0;
   12642         /* behaviors_rtrn */
   12643         _aux->behaviors_rtrn = (xcb_xkb_set_behavior_t *)xcb_tmp;
   12644         xcb_block_len += totalKeyBehaviors * sizeof(xcb_xkb_set_behavior_t);
   12645         xcb_tmp += xcb_block_len;
   12646         xcb_align_to = ALIGNOF(xcb_xkb_set_behavior_t);
   12647     }
   12648     if(present & XCB_XKB_MAP_PART_VIRTUAL_MODS) {
   12649         /* insert padding */
   12650         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12651         xcb_buffer_len += xcb_block_len + xcb_pad;
   12652         if (0 != xcb_pad) {
   12653             xcb_tmp += xcb_pad;
   12654             xcb_pad = 0;
   12655         }
   12656         xcb_block_len = 0;
   12657         /* vmods_rtrn */
   12658         _aux->vmods_rtrn = (uint8_t *)xcb_tmp;
   12659         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_keycode_t);
   12660         xcb_tmp += xcb_block_len;
   12661         xcb_align_to = ALIGNOF(uint8_t);
   12662     }
   12663     if(present & XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS) {
   12664         /* insert padding */
   12665         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12666         xcb_buffer_len += xcb_block_len + xcb_pad;
   12667         if (0 != xcb_pad) {
   12668             xcb_tmp += xcb_pad;
   12669             xcb_pad = 0;
   12670         }
   12671         xcb_block_len = 0;
   12672         /* explicit_rtrn */
   12673         _aux->explicit_rtrn = (xcb_xkb_set_explicit_t *)xcb_tmp;
   12674         xcb_block_len += totalKeyExplicit * sizeof(xcb_xkb_set_explicit_t);
   12675         xcb_tmp += xcb_block_len;
   12676         xcb_align_to = ALIGNOF(xcb_xkb_set_explicit_t);
   12677     }
   12678     if(present & XCB_XKB_MAP_PART_MODIFIER_MAP) {
   12679         /* insert padding */
   12680         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12681         xcb_buffer_len += xcb_block_len + xcb_pad;
   12682         if (0 != xcb_pad) {
   12683             xcb_tmp += xcb_pad;
   12684             xcb_pad = 0;
   12685         }
   12686         xcb_block_len = 0;
   12687         /* modmap_rtrn */
   12688         _aux->modmap_rtrn = (xcb_xkb_key_mod_map_t *)xcb_tmp;
   12689         xcb_block_len += totalModMapKeys * sizeof(xcb_xkb_key_mod_map_t);
   12690         xcb_tmp += xcb_block_len;
   12691         xcb_align_to = ALIGNOF(xcb_xkb_key_mod_map_t);
   12692     }
   12693     if(present & XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP) {
   12694         /* insert padding */
   12695         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12696         xcb_buffer_len += xcb_block_len + xcb_pad;
   12697         if (0 != xcb_pad) {
   12698             xcb_tmp += xcb_pad;
   12699             xcb_pad = 0;
   12700         }
   12701         xcb_block_len = 0;
   12702         /* vmodmap_rtrn */
   12703         _aux->vmodmap_rtrn = (xcb_xkb_key_v_mod_map_t *)xcb_tmp;
   12704         xcb_block_len += totalVModMapKeys * sizeof(xcb_xkb_key_v_mod_map_t);
   12705         xcb_tmp += xcb_block_len;
   12706         xcb_align_to = ALIGNOF(xcb_xkb_key_v_mod_map_t);
   12707     }
   12708     /* insert padding */
   12709     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   12710     xcb_buffer_len += xcb_block_len + xcb_pad;
   12711     if (0 != xcb_pad) {
   12712         xcb_tmp += xcb_pad;
   12713         xcb_pad = 0;
   12714     }
   12715     xcb_block_len = 0;
   12716 
   12717     return xcb_buffer_len;
   12718 }
   12719 
   12720 int
   12721 xcb_xkb_get_kbd_by_name_replies_types_map_sizeof (const void  *_buffer  /**< */,
   12722                                                   uint8_t      nTypes  /**< */,
   12723                                                   uint8_t      nKeySyms  /**< */,
   12724                                                   uint8_t      nKeyActions  /**< */,
   12725                                                   uint16_t     totalActions  /**< */,
   12726                                                   uint8_t      totalKeyBehaviors  /**< */,
   12727                                                   uint16_t     virtualMods  /**< */,
   12728                                                   uint8_t      totalKeyExplicit  /**< */,
   12729                                                   uint8_t      totalModMapKeys  /**< */,
   12730                                                   uint8_t      totalVModMapKeys  /**< */,
   12731                                                   uint16_t     present  /**< */)
   12732 {
   12733     xcb_xkb_get_kbd_by_name_replies_types_map_t _aux;
   12734     return xcb_xkb_get_kbd_by_name_replies_types_map_unpack(_buffer, nTypes, nKeySyms, nKeyActions, totalActions, totalKeyBehaviors, virtualMods, totalKeyExplicit, totalModMapKeys, totalVModMapKeys, present, &_aux);
   12735 }
   12736 
   12737 
   12738 /*****************************************************************************
   12739  **
   12740  ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names
   12741  **
   12742  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12743  ** @returns xcb_atom_t *
   12744  **
   12745  *****************************************************************************/
   12746 
   12747 xcb_atom_t *
   12748 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12749 {
   12750     return /* replies */ S->key_names.valueList.typeNames;
   12751 }
   12752 
   12753 
   12754 /*****************************************************************************
   12755  **
   12756  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length
   12757  **
   12758  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12759  ** @returns int
   12760  **
   12761  *****************************************************************************/
   12762 
   12763 int
   12764 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12765                                                                         const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12766 {
   12767     return /* replies */ S->key_names.nTypes;
   12768 }
   12769 
   12770 
   12771 /*****************************************************************************
   12772  **
   12773  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end
   12774  **
   12775  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12776  ** @returns xcb_generic_iterator_t
   12777  **
   12778  *****************************************************************************/
   12779 
   12780 xcb_generic_iterator_t
   12781 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12782                                                                      const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12783 {
   12784     xcb_generic_iterator_t i;
   12785     i.data = /* replies */ S->key_names.valueList.typeNames + /* replies */ S->key_names.nTypes;
   12786     i.rem = 0;
   12787     i.index = (char *) i.data - (char *) S;
   12788     return i;
   12789 }
   12790 
   12791 
   12792 /*****************************************************************************
   12793  **
   12794  ** uint8_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type
   12795  **
   12796  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12797  ** @returns uint8_t *
   12798  **
   12799  *****************************************************************************/
   12800 
   12801 uint8_t *
   12802 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12803 {
   12804     return /* replies */ S->key_names.valueList.nLevelsPerType;
   12805 }
   12806 
   12807 
   12808 /*****************************************************************************
   12809  **
   12810  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length
   12811  **
   12812  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12813  ** @returns int
   12814  **
   12815  *****************************************************************************/
   12816 
   12817 int
   12818 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12819                                                                                const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12820 {
   12821     return /* replies */ S->key_names.nKTLevels;
   12822 }
   12823 
   12824 
   12825 /*****************************************************************************
   12826  **
   12827  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end
   12828  **
   12829  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12830  ** @returns xcb_generic_iterator_t
   12831  **
   12832  *****************************************************************************/
   12833 
   12834 xcb_generic_iterator_t
   12835 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12836                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12837 {
   12838     xcb_generic_iterator_t i;
   12839     i.data = /* replies */ S->key_names.valueList.nLevelsPerType + /* replies */ S->key_names.nKTLevels;
   12840     i.rem = 0;
   12841     i.index = (char *) i.data - (char *) S;
   12842     return i;
   12843 }
   12844 
   12845 
   12846 /*****************************************************************************
   12847  **
   12848  ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names
   12849  **
   12850  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12851  ** @returns xcb_atom_t *
   12852  **
   12853  *****************************************************************************/
   12854 
   12855 xcb_atom_t *
   12856 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12857 {
   12858     return /* replies */ S->key_names.valueList.ktLevelNames;
   12859 }
   12860 
   12861 
   12862 /*****************************************************************************
   12863  **
   12864  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length
   12865  **
   12866  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12867  ** @returns int
   12868  **
   12869  *****************************************************************************/
   12870 
   12871 int
   12872 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12873                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12874 {
   12875     return xcb_sumof(/* replies */ S->key_names.valueList.nLevelsPerType, /* replies */ S->key_names.nKTLevels);
   12876 }
   12877 
   12878 
   12879 /*****************************************************************************
   12880  **
   12881  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end
   12882  **
   12883  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12884  ** @returns xcb_generic_iterator_t
   12885  **
   12886  *****************************************************************************/
   12887 
   12888 xcb_generic_iterator_t
   12889 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12890                                                                          const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12891 {
   12892     xcb_generic_iterator_t i;
   12893     i.data = /* replies */ S->key_names.valueList.ktLevelNames + xcb_sumof(/* replies */ S->key_names.valueList.nLevelsPerType, /* replies */ S->key_names.nKTLevels);
   12894     i.rem = 0;
   12895     i.index = (char *) i.data - (char *) S;
   12896     return i;
   12897 }
   12898 
   12899 
   12900 /*****************************************************************************
   12901  **
   12902  ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names
   12903  **
   12904  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12905  ** @returns xcb_atom_t *
   12906  **
   12907  *****************************************************************************/
   12908 
   12909 xcb_atom_t *
   12910 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12911 {
   12912     return /* replies */ S->key_names.valueList.indicatorNames;
   12913 }
   12914 
   12915 
   12916 /*****************************************************************************
   12917  **
   12918  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length
   12919  **
   12920  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12921  ** @returns int
   12922  **
   12923  *****************************************************************************/
   12924 
   12925 int
   12926 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12927                                                                              const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12928 {
   12929     return xcb_popcount(/* replies */ S->key_names.indicators);
   12930 }
   12931 
   12932 
   12933 /*****************************************************************************
   12934  **
   12935  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end
   12936  **
   12937  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12938  ** @returns xcb_generic_iterator_t
   12939  **
   12940  *****************************************************************************/
   12941 
   12942 xcb_generic_iterator_t
   12943 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12944                                                                           const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12945 {
   12946     xcb_generic_iterator_t i;
   12947     i.data = /* replies */ S->key_names.valueList.indicatorNames + xcb_popcount(/* replies */ S->key_names.indicators);
   12948     i.rem = 0;
   12949     i.index = (char *) i.data - (char *) S;
   12950     return i;
   12951 }
   12952 
   12953 
   12954 /*****************************************************************************
   12955  **
   12956  ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names
   12957  **
   12958  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   12959  ** @returns xcb_atom_t *
   12960  **
   12961  *****************************************************************************/
   12962 
   12963 xcb_atom_t *
   12964 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12965 {
   12966     return /* replies */ S->key_names.valueList.virtualModNames;
   12967 }
   12968 
   12969 
   12970 /*****************************************************************************
   12971  **
   12972  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length
   12973  **
   12974  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12975  ** @returns int
   12976  **
   12977  *****************************************************************************/
   12978 
   12979 int
   12980 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12981                                                                                const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12982 {
   12983     return xcb_popcount(/* replies */ S->key_names.virtualMods);
   12984 }
   12985 
   12986 
   12987 /*****************************************************************************
   12988  **
   12989  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end
   12990  **
   12991  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   12992  ** @returns xcb_generic_iterator_t
   12993  **
   12994  *****************************************************************************/
   12995 
   12996 xcb_generic_iterator_t
   12997 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   12998                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   12999 {
   13000     xcb_generic_iterator_t i;
   13001     i.data = /* replies */ S->key_names.valueList.virtualModNames + xcb_popcount(/* replies */ S->key_names.virtualMods);
   13002     i.rem = 0;
   13003     i.index = (char *) i.data - (char *) S;
   13004     return i;
   13005 }
   13006 
   13007 
   13008 /*****************************************************************************
   13009  **
   13010  ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups
   13011  **
   13012  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13013  ** @returns xcb_atom_t *
   13014  **
   13015  *****************************************************************************/
   13016 
   13017 xcb_atom_t *
   13018 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13019 {
   13020     return /* replies */ S->key_names.valueList.groups;
   13021 }
   13022 
   13023 
   13024 /*****************************************************************************
   13025  **
   13026  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length
   13027  **
   13028  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13029  ** @returns int
   13030  **
   13031  *****************************************************************************/
   13032 
   13033 int
   13034 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13035                                                                     const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13036 {
   13037     return xcb_popcount(/* replies */ S->key_names.groupNames);
   13038 }
   13039 
   13040 
   13041 /*****************************************************************************
   13042  **
   13043  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end
   13044  **
   13045  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13046  ** @returns xcb_generic_iterator_t
   13047  **
   13048  *****************************************************************************/
   13049 
   13050 xcb_generic_iterator_t
   13051 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13052                                                                  const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13053 {
   13054     xcb_generic_iterator_t i;
   13055     i.data = /* replies */ S->key_names.valueList.groups + xcb_popcount(/* replies */ S->key_names.groupNames);
   13056     i.rem = 0;
   13057     i.index = (char *) i.data - (char *) S;
   13058     return i;
   13059 }
   13060 
   13061 
   13062 /*****************************************************************************
   13063  **
   13064  ** xcb_xkb_key_name_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names
   13065  **
   13066  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13067  ** @returns xcb_xkb_key_name_t *
   13068  **
   13069  *****************************************************************************/
   13070 
   13071 xcb_xkb_key_name_t *
   13072 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13073 {
   13074     return /* replies */ S->key_names.valueList.keyNames;
   13075 }
   13076 
   13077 
   13078 /*****************************************************************************
   13079  **
   13080  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length
   13081  **
   13082  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13083  ** @returns int
   13084  **
   13085  *****************************************************************************/
   13086 
   13087 int
   13088 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13089                                                                        const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13090 {
   13091     return /* replies */ S->key_names.nKeys;
   13092 }
   13093 
   13094 
   13095 /*****************************************************************************
   13096  **
   13097  ** xcb_xkb_key_name_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator
   13098  **
   13099  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13100  ** @returns xcb_xkb_key_name_iterator_t
   13101  **
   13102  *****************************************************************************/
   13103 
   13104 xcb_xkb_key_name_iterator_t
   13105 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13106                                                                          const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13107 {
   13108     xcb_xkb_key_name_iterator_t i;
   13109     i.data = /* replies */ S->key_names.valueList.keyNames;
   13110     i.rem = /* replies */ S->key_names.nKeys;
   13111     i.index = (char *) i.data - (char *) S;
   13112     return i;
   13113 }
   13114 
   13115 
   13116 /*****************************************************************************
   13117  **
   13118  ** xcb_xkb_key_alias_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases
   13119  **
   13120  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13121  ** @returns xcb_xkb_key_alias_t *
   13122  **
   13123  *****************************************************************************/
   13124 
   13125 xcb_xkb_key_alias_t *
   13126 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13127 {
   13128     return /* replies */ S->key_names.valueList.keyAliases;
   13129 }
   13130 
   13131 
   13132 /*****************************************************************************
   13133  **
   13134  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length
   13135  **
   13136  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13137  ** @returns int
   13138  **
   13139  *****************************************************************************/
   13140 
   13141 int
   13142 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13143                                                                          const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13144 {
   13145     return /* replies */ S->key_names.nKeyAliases;
   13146 }
   13147 
   13148 
   13149 /*****************************************************************************
   13150  **
   13151  ** xcb_xkb_key_alias_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator
   13152  **
   13153  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13154  ** @returns xcb_xkb_key_alias_iterator_t
   13155  **
   13156  *****************************************************************************/
   13157 
   13158 xcb_xkb_key_alias_iterator_t
   13159 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13160                                                                            const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13161 {
   13162     xcb_xkb_key_alias_iterator_t i;
   13163     i.data = /* replies */ S->key_names.valueList.keyAliases;
   13164     i.rem = /* replies */ S->key_names.nKeyAliases;
   13165     i.index = (char *) i.data - (char *) S;
   13166     return i;
   13167 }
   13168 
   13169 
   13170 /*****************************************************************************
   13171  **
   13172  ** xcb_atom_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names
   13173  **
   13174  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13175  ** @returns xcb_atom_t *
   13176  **
   13177  *****************************************************************************/
   13178 
   13179 xcb_atom_t *
   13180 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13181 {
   13182     return /* replies */ S->key_names.valueList.radioGroupNames;
   13183 }
   13184 
   13185 
   13186 /*****************************************************************************
   13187  **
   13188  ** int xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length
   13189  **
   13190  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13191  ** @returns int
   13192  **
   13193  *****************************************************************************/
   13194 
   13195 int
   13196 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13197                                                                                const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13198 {
   13199     return /* replies */ S->key_names.nRadioGroups;
   13200 }
   13201 
   13202 
   13203 /*****************************************************************************
   13204  **
   13205  ** xcb_generic_iterator_t xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end
   13206  **
   13207  ** @param const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *R
   13208  ** @returns xcb_generic_iterator_t
   13209  **
   13210  *****************************************************************************/
   13211 
   13212 xcb_generic_iterator_t
   13213 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13214                                                                             const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13215 {
   13216     xcb_generic_iterator_t i;
   13217     i.data = /* replies */ S->key_names.valueList.radioGroupNames + /* replies */ S->key_names.nRadioGroups;
   13218     i.rem = 0;
   13219     i.index = (char *) i.data - (char *) S;
   13220     return i;
   13221 }
   13222 
   13223 int
   13224 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize (void                                                         **_buffer  /**< */,
   13225                                                                 uint8_t                                                        nTypes  /**< */,
   13226                                                                 uint16_t                                                       nKTLevels  /**< */,
   13227                                                                 uint32_t                                                       indicators  /**< */,
   13228                                                                 uint16_t                                                       virtualMods  /**< */,
   13229                                                                 uint8_t                                                        groupNames  /**< */,
   13230                                                                 uint8_t                                                        nKeys  /**< */,
   13231                                                                 uint8_t                                                        nKeyAliases  /**< */,
   13232                                                                 uint8_t                                                        nRadioGroups  /**< */,
   13233                                                                 uint32_t                                                       which  /**< */,
   13234                                                                 const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t  *_aux  /**< */)
   13235 {
   13236     char *xcb_out = *_buffer;
   13237     unsigned int xcb_buffer_len = 0;
   13238     unsigned int xcb_align_to = 0;
   13239 
   13240     unsigned int xcb_pad = 0;
   13241     char xcb_pad0[3] = {0, 0, 0};
   13242     struct iovec xcb_parts[25];
   13243     unsigned int xcb_parts_idx = 0;
   13244     unsigned int xcb_block_len = 0;
   13245     unsigned int i;
   13246     char *xcb_tmp;
   13247 
   13248     if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
   13249         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.keycodesName */
   13250         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->keycodesName;
   13251         xcb_block_len += sizeof(xcb_atom_t);
   13252         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   13253         xcb_parts_idx++;
   13254         xcb_align_to = ALIGNOF(xcb_atom_t);
   13255     }
   13256     if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
   13257         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.geometryName */
   13258         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometryName;
   13259         xcb_block_len += sizeof(xcb_atom_t);
   13260         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   13261         xcb_parts_idx++;
   13262         xcb_align_to = ALIGNOF(xcb_atom_t);
   13263     }
   13264     if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
   13265         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.symbolsName */
   13266         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->symbolsName;
   13267         xcb_block_len += sizeof(xcb_atom_t);
   13268         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   13269         xcb_parts_idx++;
   13270         xcb_align_to = ALIGNOF(xcb_atom_t);
   13271     }
   13272     if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
   13273         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.physSymbolsName */
   13274         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->physSymbolsName;
   13275         xcb_block_len += sizeof(xcb_atom_t);
   13276         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   13277         xcb_parts_idx++;
   13278         xcb_align_to = ALIGNOF(xcb_atom_t);
   13279     }
   13280     if(which & XCB_XKB_NAME_DETAIL_TYPES) {
   13281         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.typesName */
   13282         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->typesName;
   13283         xcb_block_len += sizeof(xcb_atom_t);
   13284         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   13285         xcb_parts_idx++;
   13286         xcb_align_to = ALIGNOF(xcb_atom_t);
   13287     }
   13288     if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
   13289         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.compatName */
   13290         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compatName;
   13291         xcb_block_len += sizeof(xcb_atom_t);
   13292         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   13293         xcb_parts_idx++;
   13294         xcb_align_to = ALIGNOF(xcb_atom_t);
   13295     }
   13296     if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
   13297         /* insert padding */
   13298         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13299         xcb_buffer_len += xcb_block_len + xcb_pad;
   13300         if (0 != xcb_pad) {
   13301             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13302             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13303             xcb_parts_idx++;
   13304             xcb_pad = 0;
   13305         }
   13306         xcb_block_len = 0;
   13307         /* typeNames */
   13308         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->typeNames;
   13309         xcb_block_len += nTypes * sizeof(xcb_atom_t);
   13310         xcb_parts[xcb_parts_idx].iov_len = nTypes * sizeof(xcb_atom_t);
   13311         xcb_parts_idx++;
   13312         xcb_align_to = ALIGNOF(xcb_atom_t);
   13313     }
   13314     if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
   13315         /* insert padding */
   13316         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13317         xcb_buffer_len += xcb_block_len + xcb_pad;
   13318         if (0 != xcb_pad) {
   13319             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13320             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13321             xcb_parts_idx++;
   13322             xcb_pad = 0;
   13323         }
   13324         xcb_block_len = 0;
   13325         /* nLevelsPerType */
   13326         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->nLevelsPerType;
   13327         xcb_block_len += nKTLevels * sizeof(uint8_t);
   13328         xcb_parts[xcb_parts_idx].iov_len = nKTLevels * sizeof(uint8_t);
   13329         xcb_parts_idx++;
   13330         xcb_align_to = ALIGNOF(uint8_t);
   13331         /* insert padding */
   13332         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13333         xcb_buffer_len += xcb_block_len + xcb_pad;
   13334         if (0 != xcb_pad) {
   13335             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13336             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13337             xcb_parts_idx++;
   13338             xcb_pad = 0;
   13339         }
   13340         xcb_block_len = 0;
   13341         /* ktLevelNames */
   13342         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->ktLevelNames;
   13343         xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
   13344         xcb_parts[xcb_parts_idx].iov_len = xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
   13345         xcb_parts_idx++;
   13346         xcb_align_to = ALIGNOF(xcb_atom_t);
   13347     }
   13348     if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
   13349         /* insert padding */
   13350         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13351         xcb_buffer_len += xcb_block_len + xcb_pad;
   13352         if (0 != xcb_pad) {
   13353             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13354             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13355             xcb_parts_idx++;
   13356             xcb_pad = 0;
   13357         }
   13358         xcb_block_len = 0;
   13359         /* indicatorNames */
   13360         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicatorNames;
   13361         xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
   13362         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(indicators) * sizeof(xcb_atom_t);
   13363         xcb_parts_idx++;
   13364         xcb_align_to = ALIGNOF(xcb_atom_t);
   13365     }
   13366     if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
   13367         /* insert padding */
   13368         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13369         xcb_buffer_len += xcb_block_len + xcb_pad;
   13370         if (0 != xcb_pad) {
   13371             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13372             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13373             xcb_parts_idx++;
   13374             xcb_pad = 0;
   13375         }
   13376         xcb_block_len = 0;
   13377         /* virtualModNames */
   13378         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->virtualModNames;
   13379         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   13380         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   13381         xcb_parts_idx++;
   13382         xcb_align_to = ALIGNOF(xcb_atom_t);
   13383     }
   13384     if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
   13385         /* insert padding */
   13386         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13387         xcb_buffer_len += xcb_block_len + xcb_pad;
   13388         if (0 != xcb_pad) {
   13389             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13390             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13391             xcb_parts_idx++;
   13392             xcb_pad = 0;
   13393         }
   13394         xcb_block_len = 0;
   13395         /* groups */
   13396         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->groups;
   13397         xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   13398         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   13399         xcb_parts_idx++;
   13400         xcb_align_to = ALIGNOF(xcb_atom_t);
   13401     }
   13402     if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
   13403         /* insert padding */
   13404         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13405         xcb_buffer_len += xcb_block_len + xcb_pad;
   13406         if (0 != xcb_pad) {
   13407             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13408             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13409             xcb_parts_idx++;
   13410             xcb_pad = 0;
   13411         }
   13412         xcb_block_len = 0;
   13413         /* keyNames */
   13414         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyNames;
   13415         xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
   13416         xcb_parts[xcb_parts_idx].iov_len = nKeys * sizeof(xcb_xkb_key_name_t);
   13417         xcb_parts_idx++;
   13418         xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
   13419     }
   13420     if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
   13421         /* insert padding */
   13422         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13423         xcb_buffer_len += xcb_block_len + xcb_pad;
   13424         if (0 != xcb_pad) {
   13425             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13426             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13427             xcb_parts_idx++;
   13428             xcb_pad = 0;
   13429         }
   13430         xcb_block_len = 0;
   13431         /* keyAliases */
   13432         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->keyAliases;
   13433         xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   13434         xcb_parts[xcb_parts_idx].iov_len = nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   13435         xcb_parts_idx++;
   13436         xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
   13437     }
   13438     if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
   13439         /* insert padding */
   13440         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13441         xcb_buffer_len += xcb_block_len + xcb_pad;
   13442         if (0 != xcb_pad) {
   13443             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13444             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13445             xcb_parts_idx++;
   13446             xcb_pad = 0;
   13447         }
   13448         xcb_block_len = 0;
   13449         /* radioGroupNames */
   13450         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->radioGroupNames;
   13451         xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
   13452         xcb_parts[xcb_parts_idx].iov_len = nRadioGroups * sizeof(xcb_atom_t);
   13453         xcb_parts_idx++;
   13454         xcb_align_to = ALIGNOF(xcb_atom_t);
   13455     }
   13456     /* insert padding */
   13457     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13458     xcb_buffer_len += xcb_block_len + xcb_pad;
   13459     if (0 != xcb_pad) {
   13460         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13461         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   13462         xcb_parts_idx++;
   13463         xcb_pad = 0;
   13464     }
   13465     xcb_block_len = 0;
   13466 
   13467     if (NULL == xcb_out) {
   13468         /* allocate memory */
   13469         xcb_out = malloc(xcb_buffer_len);
   13470         *_buffer = xcb_out;
   13471     }
   13472 
   13473     xcb_tmp = xcb_out;
   13474     for(i=0; i<xcb_parts_idx; i++) {
   13475         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   13476             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   13477         if (0 != xcb_parts[i].iov_len)
   13478             xcb_tmp += xcb_parts[i].iov_len;
   13479     }
   13480 
   13481     return xcb_buffer_len;
   13482 }
   13483 
   13484 int
   13485 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack (const void                                              *_buffer  /**< */,
   13486                                                              uint8_t                                                  nTypes  /**< */,
   13487                                                              uint16_t                                                 nKTLevels  /**< */,
   13488                                                              uint32_t                                                 indicators  /**< */,
   13489                                                              uint16_t                                                 virtualMods  /**< */,
   13490                                                              uint8_t                                                  groupNames  /**< */,
   13491                                                              uint8_t                                                  nKeys  /**< */,
   13492                                                              uint8_t                                                  nKeyAliases  /**< */,
   13493                                                              uint8_t                                                  nRadioGroups  /**< */,
   13494                                                              uint32_t                                                 which  /**< */,
   13495                                                              xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t  *_aux  /**< */)
   13496 {
   13497     char *xcb_tmp = (char *)_buffer;
   13498     unsigned int xcb_buffer_len = 0;
   13499     unsigned int xcb_block_len = 0;
   13500     unsigned int xcb_pad = 0;
   13501     unsigned int xcb_align_to = 0;
   13502 
   13503 
   13504     if(which & XCB_XKB_NAME_DETAIL_KEYCODES) {
   13505         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.keycodesName */
   13506         _aux->keycodesName = *(xcb_atom_t *)xcb_tmp;
   13507         xcb_block_len += sizeof(xcb_atom_t);
   13508         xcb_tmp += sizeof(xcb_atom_t);
   13509         xcb_align_to = ALIGNOF(xcb_atom_t);
   13510     }
   13511     if(which & XCB_XKB_NAME_DETAIL_GEOMETRY) {
   13512         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.geometryName */
   13513         _aux->geometryName = *(xcb_atom_t *)xcb_tmp;
   13514         xcb_block_len += sizeof(xcb_atom_t);
   13515         xcb_tmp += sizeof(xcb_atom_t);
   13516         xcb_align_to = ALIGNOF(xcb_atom_t);
   13517     }
   13518     if(which & XCB_XKB_NAME_DETAIL_SYMBOLS) {
   13519         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.symbolsName */
   13520         _aux->symbolsName = *(xcb_atom_t *)xcb_tmp;
   13521         xcb_block_len += sizeof(xcb_atom_t);
   13522         xcb_tmp += sizeof(xcb_atom_t);
   13523         xcb_align_to = ALIGNOF(xcb_atom_t);
   13524     }
   13525     if(which & XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS) {
   13526         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.physSymbolsName */
   13527         _aux->physSymbolsName = *(xcb_atom_t *)xcb_tmp;
   13528         xcb_block_len += sizeof(xcb_atom_t);
   13529         xcb_tmp += sizeof(xcb_atom_t);
   13530         xcb_align_to = ALIGNOF(xcb_atom_t);
   13531     }
   13532     if(which & XCB_XKB_NAME_DETAIL_TYPES) {
   13533         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.typesName */
   13534         _aux->typesName = *(xcb_atom_t *)xcb_tmp;
   13535         xcb_block_len += sizeof(xcb_atom_t);
   13536         xcb_tmp += sizeof(xcb_atom_t);
   13537         xcb_align_to = ALIGNOF(xcb_atom_t);
   13538     }
   13539     if(which & XCB_XKB_NAME_DETAIL_COMPAT) {
   13540         /* xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t.compatName */
   13541         _aux->compatName = *(xcb_atom_t *)xcb_tmp;
   13542         xcb_block_len += sizeof(xcb_atom_t);
   13543         xcb_tmp += sizeof(xcb_atom_t);
   13544         xcb_align_to = ALIGNOF(xcb_atom_t);
   13545     }
   13546     if(which & XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES) {
   13547         /* insert padding */
   13548         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13549         xcb_buffer_len += xcb_block_len + xcb_pad;
   13550         if (0 != xcb_pad) {
   13551             xcb_tmp += xcb_pad;
   13552             xcb_pad = 0;
   13553         }
   13554         xcb_block_len = 0;
   13555         /* typeNames */
   13556         _aux->typeNames = (xcb_atom_t *)xcb_tmp;
   13557         xcb_block_len += nTypes * sizeof(xcb_atom_t);
   13558         xcb_tmp += xcb_block_len;
   13559         xcb_align_to = ALIGNOF(xcb_atom_t);
   13560     }
   13561     if(which & XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES) {
   13562         /* insert padding */
   13563         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13564         xcb_buffer_len += xcb_block_len + xcb_pad;
   13565         if (0 != xcb_pad) {
   13566             xcb_tmp += xcb_pad;
   13567             xcb_pad = 0;
   13568         }
   13569         xcb_block_len = 0;
   13570         /* nLevelsPerType */
   13571         _aux->nLevelsPerType = (uint8_t *)xcb_tmp;
   13572         xcb_block_len += nKTLevels * sizeof(uint8_t);
   13573         xcb_tmp += xcb_block_len;
   13574         xcb_align_to = ALIGNOF(uint8_t);
   13575         /* insert padding */
   13576         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13577         xcb_buffer_len += xcb_block_len + xcb_pad;
   13578         if (0 != xcb_pad) {
   13579             xcb_tmp += xcb_pad;
   13580             xcb_pad = 0;
   13581         }
   13582         xcb_block_len = 0;
   13583         /* ktLevelNames */
   13584         _aux->ktLevelNames = (xcb_atom_t *)xcb_tmp;
   13585         xcb_block_len += xcb_sumof(_aux->nLevelsPerType, nKTLevels) * sizeof(xcb_atom_t);
   13586         xcb_tmp += xcb_block_len;
   13587         xcb_align_to = ALIGNOF(xcb_atom_t);
   13588     }
   13589     if(which & XCB_XKB_NAME_DETAIL_INDICATOR_NAMES) {
   13590         /* insert padding */
   13591         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13592         xcb_buffer_len += xcb_block_len + xcb_pad;
   13593         if (0 != xcb_pad) {
   13594             xcb_tmp += xcb_pad;
   13595             xcb_pad = 0;
   13596         }
   13597         xcb_block_len = 0;
   13598         /* indicatorNames */
   13599         _aux->indicatorNames = (xcb_atom_t *)xcb_tmp;
   13600         xcb_block_len += xcb_popcount(indicators) * sizeof(xcb_atom_t);
   13601         xcb_tmp += xcb_block_len;
   13602         xcb_align_to = ALIGNOF(xcb_atom_t);
   13603     }
   13604     if(which & XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES) {
   13605         /* insert padding */
   13606         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13607         xcb_buffer_len += xcb_block_len + xcb_pad;
   13608         if (0 != xcb_pad) {
   13609             xcb_tmp += xcb_pad;
   13610             xcb_pad = 0;
   13611         }
   13612         xcb_block_len = 0;
   13613         /* virtualModNames */
   13614         _aux->virtualModNames = (xcb_atom_t *)xcb_tmp;
   13615         xcb_block_len += xcb_popcount(virtualMods) * sizeof(xcb_atom_t);
   13616         xcb_tmp += xcb_block_len;
   13617         xcb_align_to = ALIGNOF(xcb_atom_t);
   13618     }
   13619     if(which & XCB_XKB_NAME_DETAIL_GROUP_NAMES) {
   13620         /* insert padding */
   13621         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13622         xcb_buffer_len += xcb_block_len + xcb_pad;
   13623         if (0 != xcb_pad) {
   13624             xcb_tmp += xcb_pad;
   13625             xcb_pad = 0;
   13626         }
   13627         xcb_block_len = 0;
   13628         /* groups */
   13629         _aux->groups = (xcb_atom_t *)xcb_tmp;
   13630         xcb_block_len += xcb_popcount(groupNames) * sizeof(xcb_atom_t);
   13631         xcb_tmp += xcb_block_len;
   13632         xcb_align_to = ALIGNOF(xcb_atom_t);
   13633     }
   13634     if(which & XCB_XKB_NAME_DETAIL_KEY_NAMES) {
   13635         /* insert padding */
   13636         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13637         xcb_buffer_len += xcb_block_len + xcb_pad;
   13638         if (0 != xcb_pad) {
   13639             xcb_tmp += xcb_pad;
   13640             xcb_pad = 0;
   13641         }
   13642         xcb_block_len = 0;
   13643         /* keyNames */
   13644         _aux->keyNames = (xcb_xkb_key_name_t *)xcb_tmp;
   13645         xcb_block_len += nKeys * sizeof(xcb_xkb_key_name_t);
   13646         xcb_tmp += xcb_block_len;
   13647         xcb_align_to = ALIGNOF(xcb_xkb_key_name_t);
   13648     }
   13649     if(which & XCB_XKB_NAME_DETAIL_KEY_ALIASES) {
   13650         /* insert padding */
   13651         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13652         xcb_buffer_len += xcb_block_len + xcb_pad;
   13653         if (0 != xcb_pad) {
   13654             xcb_tmp += xcb_pad;
   13655             xcb_pad = 0;
   13656         }
   13657         xcb_block_len = 0;
   13658         /* keyAliases */
   13659         _aux->keyAliases = (xcb_xkb_key_alias_t *)xcb_tmp;
   13660         xcb_block_len += nKeyAliases * sizeof(xcb_xkb_key_alias_t);
   13661         xcb_tmp += xcb_block_len;
   13662         xcb_align_to = ALIGNOF(xcb_xkb_key_alias_t);
   13663     }
   13664     if(which & XCB_XKB_NAME_DETAIL_RG_NAMES) {
   13665         /* insert padding */
   13666         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13667         xcb_buffer_len += xcb_block_len + xcb_pad;
   13668         if (0 != xcb_pad) {
   13669             xcb_tmp += xcb_pad;
   13670             xcb_pad = 0;
   13671         }
   13672         xcb_block_len = 0;
   13673         /* radioGroupNames */
   13674         _aux->radioGroupNames = (xcb_atom_t *)xcb_tmp;
   13675         xcb_block_len += nRadioGroups * sizeof(xcb_atom_t);
   13676         xcb_tmp += xcb_block_len;
   13677         xcb_align_to = ALIGNOF(xcb_atom_t);
   13678     }
   13679     /* insert padding */
   13680     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   13681     xcb_buffer_len += xcb_block_len + xcb_pad;
   13682     if (0 != xcb_pad) {
   13683         xcb_tmp += xcb_pad;
   13684         xcb_pad = 0;
   13685     }
   13686     xcb_block_len = 0;
   13687 
   13688     return xcb_buffer_len;
   13689 }
   13690 
   13691 int
   13692 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof (const void  *_buffer  /**< */,
   13693                                                              uint8_t      nTypes  /**< */,
   13694                                                              uint16_t     nKTLevels  /**< */,
   13695                                                              uint32_t     indicators  /**< */,
   13696                                                              uint16_t     virtualMods  /**< */,
   13697                                                              uint8_t      groupNames  /**< */,
   13698                                                              uint8_t      nKeys  /**< */,
   13699                                                              uint8_t      nKeyAliases  /**< */,
   13700                                                              uint8_t      nRadioGroups  /**< */,
   13701                                                              uint32_t     which  /**< */)
   13702 {
   13703     xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t _aux;
   13704     return xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(_buffer, nTypes, nKTLevels, indicators, virtualMods, groupNames, nKeys, nKeyAliases, nRadioGroups, which, &_aux);
   13705 }
   13706 
   13707 
   13708 /*****************************************************************************
   13709  **
   13710  ** xcb_xkb_get_kbd_by_name_replies_types_map_t * xcb_xkb_get_kbd_by_name_replies_types_map
   13711  **
   13712  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13713  ** @returns xcb_xkb_get_kbd_by_name_replies_types_map_t *
   13714  **
   13715  *****************************************************************************/
   13716 
   13717 xcb_xkb_get_kbd_by_name_replies_types_map_t *
   13718 xcb_xkb_get_kbd_by_name_replies_types_map (const xcb_xkb_get_kbd_by_name_replies_t *R  /**< */)
   13719 {
   13720     return (xcb_xkb_get_kbd_by_name_replies_types_map_t *) (R + 1);
   13721 }
   13722 
   13723 
   13724 /*****************************************************************************
   13725  **
   13726  ** xcb_xkb_sym_interpret_t * xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn
   13727  **
   13728  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13729  ** @returns xcb_xkb_sym_interpret_t *
   13730  **
   13731  *****************************************************************************/
   13732 
   13733 xcb_xkb_sym_interpret_t *
   13734 xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13735 {
   13736     return /* replies */ S->compat_map.si_rtrn;
   13737 }
   13738 
   13739 
   13740 /*****************************************************************************
   13741  **
   13742  ** int xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length
   13743  **
   13744  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13745  ** @returns int
   13746  **
   13747  *****************************************************************************/
   13748 
   13749 int
   13750 xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13751                                                            const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13752 {
   13753     return /* replies */ S->compat_map.nSIRtrn;
   13754 }
   13755 
   13756 
   13757 /*****************************************************************************
   13758  **
   13759  ** xcb_xkb_sym_interpret_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator
   13760  **
   13761  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13762  ** @returns xcb_xkb_sym_interpret_iterator_t
   13763  **
   13764  *****************************************************************************/
   13765 
   13766 xcb_xkb_sym_interpret_iterator_t
   13767 xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13768                                                              const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13769 {
   13770     xcb_xkb_sym_interpret_iterator_t i;
   13771     i.data = /* replies */ S->compat_map.si_rtrn;
   13772     i.rem = /* replies */ S->compat_map.nSIRtrn;
   13773     i.index = (char *) i.data - (char *) S;
   13774     return i;
   13775 }
   13776 
   13777 
   13778 /*****************************************************************************
   13779  **
   13780  ** xcb_xkb_mod_def_t * xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn
   13781  **
   13782  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13783  ** @returns xcb_xkb_mod_def_t *
   13784  **
   13785  *****************************************************************************/
   13786 
   13787 xcb_xkb_mod_def_t *
   13788 xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13789 {
   13790     return /* replies */ S->compat_map.group_rtrn;
   13791 }
   13792 
   13793 
   13794 /*****************************************************************************
   13795  **
   13796  ** int xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length
   13797  **
   13798  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13799  ** @returns int
   13800  **
   13801  *****************************************************************************/
   13802 
   13803 int
   13804 xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13805                                                               const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13806 {
   13807     return xcb_popcount(/* replies */ S->compat_map.groupsRtrn);
   13808 }
   13809 
   13810 
   13811 /*****************************************************************************
   13812  **
   13813  ** xcb_xkb_mod_def_iterator_t xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator
   13814  **
   13815  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13816  ** @returns xcb_xkb_mod_def_iterator_t
   13817  **
   13818  *****************************************************************************/
   13819 
   13820 xcb_xkb_mod_def_iterator_t
   13821 xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13822                                                                 const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13823 {
   13824     xcb_xkb_mod_def_iterator_t i;
   13825     i.data = /* replies */ S->compat_map.group_rtrn;
   13826     i.rem = xcb_popcount(/* replies */ S->compat_map.groupsRtrn);
   13827     i.index = (char *) i.data - (char *) S;
   13828     return i;
   13829 }
   13830 
   13831 
   13832 /*****************************************************************************
   13833  **
   13834  ** xcb_xkb_indicator_map_t * xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps
   13835  **
   13836  ** @param const xcb_xkb_get_kbd_by_name_replies_t *S
   13837  ** @returns xcb_xkb_indicator_map_t *
   13838  **
   13839  *****************************************************************************/
   13840 
   13841 xcb_xkb_indicator_map_t *
   13842 xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps (const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13843 {
   13844     return /* replies */ S->indicator_maps.maps;
   13845 }
   13846 
   13847 
   13848 /*****************************************************************************
   13849  **
   13850  ** int xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length
   13851  **
   13852  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13853  ** @returns int
   13854  **
   13855  *****************************************************************************/
   13856 
   13857 int
   13858 xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13859                                                             const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13860 {
   13861     return /* replies */ S->indicator_maps.nIndicators;
   13862 }
   13863 
   13864 
   13865 /*****************************************************************************
   13866  **
   13867  ** xcb_xkb_indicator_map_iterator_t xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator
   13868  **
   13869  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13870  ** @returns xcb_xkb_indicator_map_iterator_t
   13871  **
   13872  *****************************************************************************/
   13873 
   13874 xcb_xkb_indicator_map_iterator_t
   13875 xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */,
   13876                                                               const xcb_xkb_get_kbd_by_name_replies_t *S  /**< */)
   13877 {
   13878     xcb_xkb_indicator_map_iterator_t i;
   13879     i.data = /* replies */ S->indicator_maps.maps;
   13880     i.rem = /* replies */ S->indicator_maps.nIndicators;
   13881     i.index = (char *) i.data - (char *) S;
   13882     return i;
   13883 }
   13884 
   13885 
   13886 /*****************************************************************************
   13887  **
   13888  ** xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t * xcb_xkb_get_kbd_by_name_replies_key_names_value_list
   13889  **
   13890  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13891  ** @returns xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
   13892  **
   13893  *****************************************************************************/
   13894 
   13895 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *
   13896 xcb_xkb_get_kbd_by_name_replies_key_names_value_list (const xcb_xkb_get_kbd_by_name_replies_t *R  /**< */)
   13897 {
   13898     return (xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t *) (R + 1);
   13899 }
   13900 
   13901 
   13902 /*****************************************************************************
   13903  **
   13904  ** xcb_xkb_counted_string_16_t * xcb_xkb_get_kbd_by_name_replies_geometry_label_font
   13905  **
   13906  ** @param const xcb_xkb_get_kbd_by_name_replies_t *R
   13907  ** @returns xcb_xkb_counted_string_16_t *
   13908  **
   13909  *****************************************************************************/
   13910 
   13911 xcb_xkb_counted_string_16_t *
   13912 xcb_xkb_get_kbd_by_name_replies_geometry_label_font (const xcb_xkb_get_kbd_by_name_replies_t *R  /**< */)
   13913 {
   13914     return (xcb_xkb_counted_string_16_t *) (R + 1);
   13915 }
   13916 
   13917 int
   13918 xcb_xkb_get_kbd_by_name_replies_serialize (void                                    **_buffer  /**< */,
   13919                                            uint16_t                                  reported  /**< */,
   13920                                            const xcb_xkb_get_kbd_by_name_replies_t  *_aux  /**< */)
   13921 {
   13922     char *xcb_out = *_buffer;
   13923     unsigned int xcb_buffer_len = 0;
   13924     unsigned int xcb_align_to = 0;
   13925 
   13926     unsigned int xcb_pad = 0;
   13927     char xcb_pad0[3] = {0, 0, 0};
   13928     struct iovec xcb_parts[96];
   13929     unsigned int xcb_parts_idx = 0;
   13930     unsigned int xcb_block_len = 0;
   13931     unsigned int i;
   13932     char *xcb_tmp;
   13933 
   13934     if((reported & XCB_XKB_GBN_DETAIL_TYPES) ||
   13935        (reported & XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS) ||
   13936        (reported & XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)) {
   13937         /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_type */
   13938         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_type;
   13939         xcb_block_len += sizeof(uint8_t);
   13940         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   13941         xcb_parts_idx++;
   13942         xcb_align_to = ALIGNOF(uint8_t);
   13943         /* xcb_xkb_get_kbd_by_name_replies_t.types.typeDeviceID */
   13944         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeDeviceID;
   13945         xcb_block_len += sizeof(uint8_t);
   13946         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   13947         xcb_parts_idx++;
   13948         xcb_align_to = ALIGNOF(uint8_t);
   13949         /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_sequence */
   13950         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_sequence;
   13951         xcb_block_len += sizeof(uint16_t);
   13952         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   13953         xcb_parts_idx++;
   13954         xcb_align_to = ALIGNOF(uint16_t);
   13955         /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_length */
   13956         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.getmap_length;
   13957         xcb_block_len += sizeof(uint32_t);
   13958         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   13959         xcb_parts_idx++;
   13960         xcb_align_to = ALIGNOF(uint32_t);
   13961         /* xcb_xkb_get_kbd_by_name_replies_t.types.pad0 */
   13962         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   13963         xcb_block_len += sizeof(uint8_t)*2;
   13964         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*2;
   13965         xcb_parts_idx++;
   13966         xcb_align_to = ALIGNOF(uint8_t);
   13967         /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMinKeyCode */
   13968         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeMinKeyCode;
   13969         xcb_block_len += sizeof(xcb_keycode_t);
   13970         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   13971         xcb_parts_idx++;
   13972         xcb_align_to = ALIGNOF(xcb_keycode_t);
   13973         /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMaxKeyCode */
   13974         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.typeMaxKeyCode;
   13975         xcb_block_len += sizeof(xcb_keycode_t);
   13976         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   13977         xcb_parts_idx++;
   13978         xcb_align_to = ALIGNOF(xcb_keycode_t);
   13979         /* xcb_xkb_get_kbd_by_name_replies_t.types.present */
   13980         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.present;
   13981         xcb_block_len += sizeof(uint16_t);
   13982         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   13983         xcb_parts_idx++;
   13984         xcb_align_to = ALIGNOF(uint16_t);
   13985         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstType */
   13986         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstType;
   13987         xcb_block_len += sizeof(uint8_t);
   13988         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   13989         xcb_parts_idx++;
   13990         xcb_align_to = ALIGNOF(uint8_t);
   13991         /* xcb_xkb_get_kbd_by_name_replies_t.types.nTypes */
   13992         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nTypes;
   13993         xcb_block_len += sizeof(uint8_t);
   13994         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   13995         xcb_parts_idx++;
   13996         xcb_align_to = ALIGNOF(uint8_t);
   13997         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalTypes */
   13998         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalTypes;
   13999         xcb_block_len += sizeof(uint8_t);
   14000         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14001         xcb_parts_idx++;
   14002         xcb_align_to = ALIGNOF(uint8_t);
   14003         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeySym */
   14004         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeySym;
   14005         xcb_block_len += sizeof(xcb_keycode_t);
   14006         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14007         xcb_parts_idx++;
   14008         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14009         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalSyms */
   14010         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalSyms;
   14011         xcb_block_len += sizeof(uint16_t);
   14012         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14013         xcb_parts_idx++;
   14014         xcb_align_to = ALIGNOF(uint16_t);
   14015         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeySyms */
   14016         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeySyms;
   14017         xcb_block_len += sizeof(uint8_t);
   14018         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14019         xcb_parts_idx++;
   14020         xcb_align_to = ALIGNOF(uint8_t);
   14021         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyAction */
   14022         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyAction;
   14023         xcb_block_len += sizeof(xcb_keycode_t);
   14024         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14025         xcb_parts_idx++;
   14026         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14027         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalActions */
   14028         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalActions;
   14029         xcb_block_len += sizeof(uint16_t);
   14030         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14031         xcb_parts_idx++;
   14032         xcb_align_to = ALIGNOF(uint16_t);
   14033         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyActions */
   14034         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyActions;
   14035         xcb_block_len += sizeof(uint8_t);
   14036         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14037         xcb_parts_idx++;
   14038         xcb_align_to = ALIGNOF(uint8_t);
   14039         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyBehavior */
   14040         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyBehavior;
   14041         xcb_block_len += sizeof(xcb_keycode_t);
   14042         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14043         xcb_parts_idx++;
   14044         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14045         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyBehaviors */
   14046         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyBehaviors;
   14047         xcb_block_len += sizeof(uint8_t);
   14048         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14049         xcb_parts_idx++;
   14050         xcb_align_to = ALIGNOF(uint8_t);
   14051         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyBehaviors */
   14052         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalKeyBehaviors;
   14053         xcb_block_len += sizeof(uint8_t);
   14054         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14055         xcb_parts_idx++;
   14056         xcb_align_to = ALIGNOF(uint8_t);
   14057         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyExplicit */
   14058         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstKeyExplicit;
   14059         xcb_block_len += sizeof(xcb_keycode_t);
   14060         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14061         xcb_parts_idx++;
   14062         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14063         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyExplicit */
   14064         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nKeyExplicit;
   14065         xcb_block_len += sizeof(uint8_t);
   14066         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14067         xcb_parts_idx++;
   14068         xcb_align_to = ALIGNOF(uint8_t);
   14069         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyExplicit */
   14070         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalKeyExplicit;
   14071         xcb_block_len += sizeof(uint8_t);
   14072         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14073         xcb_parts_idx++;
   14074         xcb_align_to = ALIGNOF(uint8_t);
   14075         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstModMapKey */
   14076         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstModMapKey;
   14077         xcb_block_len += sizeof(xcb_keycode_t);
   14078         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14079         xcb_parts_idx++;
   14080         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14081         /* xcb_xkb_get_kbd_by_name_replies_t.types.nModMapKeys */
   14082         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nModMapKeys;
   14083         xcb_block_len += sizeof(uint8_t);
   14084         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14085         xcb_parts_idx++;
   14086         xcb_align_to = ALIGNOF(uint8_t);
   14087         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalModMapKeys */
   14088         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalModMapKeys;
   14089         xcb_block_len += sizeof(uint8_t);
   14090         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14091         xcb_parts_idx++;
   14092         xcb_align_to = ALIGNOF(uint8_t);
   14093         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstVModMapKey */
   14094         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.firstVModMapKey;
   14095         xcb_block_len += sizeof(xcb_keycode_t);
   14096         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14097         xcb_parts_idx++;
   14098         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14099         /* xcb_xkb_get_kbd_by_name_replies_t.types.nVModMapKeys */
   14100         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.nVModMapKeys;
   14101         xcb_block_len += sizeof(uint8_t);
   14102         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14103         xcb_parts_idx++;
   14104         xcb_align_to = ALIGNOF(uint8_t);
   14105         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalVModMapKeys */
   14106         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.totalVModMapKeys;
   14107         xcb_block_len += sizeof(uint8_t);
   14108         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14109         xcb_parts_idx++;
   14110         xcb_align_to = ALIGNOF(uint8_t);
   14111         /* xcb_xkb_get_kbd_by_name_replies_t.types.pad1 */
   14112         xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
   14113         xcb_block_len += sizeof(uint8_t);
   14114         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14115         xcb_parts_idx++;
   14116         xcb_align_to = ALIGNOF(uint8_t);
   14117         /* xcb_xkb_get_kbd_by_name_replies_t.types.virtualMods */
   14118         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->types.virtualMods;
   14119         xcb_block_len += sizeof(uint16_t);
   14120         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14121         xcb_parts_idx++;
   14122         xcb_align_to = ALIGNOF(uint16_t);
   14123         /* insert padding */
   14124         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14125         xcb_buffer_len += xcb_block_len + xcb_pad;
   14126         if (0 != xcb_pad) {
   14127             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14128             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14129             xcb_parts_idx++;
   14130             xcb_pad = 0;
   14131         }
   14132         xcb_block_len = 0;
   14133         /* map */
   14134         xcb_parts[xcb_parts_idx].iov_base = (char *)0;
   14135         xcb_block_len += xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map);
   14136         xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map);
   14137         xcb_parts_idx++;
   14138         xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_types_map_t);
   14139     }
   14140     if(reported & XCB_XKB_GBN_DETAIL_COMPAT_MAP) {
   14141         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_type */
   14142         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_type;
   14143         xcb_block_len += sizeof(uint8_t);
   14144         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14145         xcb_parts_idx++;
   14146         xcb_align_to = ALIGNOF(uint8_t);
   14147         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatDeviceID */
   14148         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatDeviceID;
   14149         xcb_block_len += sizeof(uint8_t);
   14150         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14151         xcb_parts_idx++;
   14152         xcb_align_to = ALIGNOF(uint8_t);
   14153         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_sequence */
   14154         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_sequence;
   14155         xcb_block_len += sizeof(uint16_t);
   14156         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14157         xcb_parts_idx++;
   14158         xcb_align_to = ALIGNOF(uint16_t);
   14159         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_length */
   14160         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.compatmap_length;
   14161         xcb_block_len += sizeof(uint32_t);
   14162         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14163         xcb_parts_idx++;
   14164         xcb_align_to = ALIGNOF(uint32_t);
   14165         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.groupsRtrn */
   14166         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.groupsRtrn;
   14167         xcb_block_len += sizeof(uint8_t);
   14168         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14169         xcb_parts_idx++;
   14170         xcb_align_to = ALIGNOF(uint8_t);
   14171         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad0 */
   14172         xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
   14173         xcb_block_len += sizeof(uint8_t);
   14174         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14175         xcb_parts_idx++;
   14176         xcb_align_to = ALIGNOF(uint8_t);
   14177         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.firstSIRtrn */
   14178         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.firstSIRtrn;
   14179         xcb_block_len += sizeof(uint16_t);
   14180         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14181         xcb_parts_idx++;
   14182         xcb_align_to = ALIGNOF(uint16_t);
   14183         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nSIRtrn */
   14184         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.nSIRtrn;
   14185         xcb_block_len += sizeof(uint16_t);
   14186         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14187         xcb_parts_idx++;
   14188         xcb_align_to = ALIGNOF(uint16_t);
   14189         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nTotalSI */
   14190         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->compat_map.nTotalSI;
   14191         xcb_block_len += sizeof(uint16_t);
   14192         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14193         xcb_parts_idx++;
   14194         xcb_align_to = ALIGNOF(uint16_t);
   14195         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad1 */
   14196         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14197         xcb_block_len += sizeof(uint8_t)*16;
   14198         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*16;
   14199         xcb_parts_idx++;
   14200         xcb_align_to = ALIGNOF(uint8_t);
   14201         /* insert padding */
   14202         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14203         xcb_buffer_len += xcb_block_len + xcb_pad;
   14204         if (0 != xcb_pad) {
   14205             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14206             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14207             xcb_parts_idx++;
   14208             xcb_pad = 0;
   14209         }
   14210         xcb_block_len = 0;
   14211         /* si_rtrn */
   14212         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->compat_map.si_rtrn;
   14213         xcb_block_len += _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
   14214         xcb_parts[xcb_parts_idx].iov_len = _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
   14215         xcb_parts_idx++;
   14216         xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
   14217         /* insert padding */
   14218         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14219         xcb_buffer_len += xcb_block_len + xcb_pad;
   14220         if (0 != xcb_pad) {
   14221             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14222             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14223             xcb_parts_idx++;
   14224             xcb_pad = 0;
   14225         }
   14226         xcb_block_len = 0;
   14227         /* group_rtrn */
   14228         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->compat_map.group_rtrn;
   14229         xcb_block_len += xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
   14230         xcb_parts[xcb_parts_idx].iov_len = xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
   14231         xcb_parts_idx++;
   14232         xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
   14233     }
   14234     if(reported & XCB_XKB_GBN_DETAIL_INDICATOR_MAPS) {
   14235         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_type */
   14236         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_type;
   14237         xcb_block_len += sizeof(uint8_t);
   14238         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14239         xcb_parts_idx++;
   14240         xcb_align_to = ALIGNOF(uint8_t);
   14241         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatorDeviceID */
   14242         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatorDeviceID;
   14243         xcb_block_len += sizeof(uint8_t);
   14244         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14245         xcb_parts_idx++;
   14246         xcb_align_to = ALIGNOF(uint8_t);
   14247         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_sequence */
   14248         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_sequence;
   14249         xcb_block_len += sizeof(uint16_t);
   14250         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14251         xcb_parts_idx++;
   14252         xcb_align_to = ALIGNOF(uint16_t);
   14253         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_length */
   14254         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.indicatormap_length;
   14255         xcb_block_len += sizeof(uint32_t);
   14256         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14257         xcb_parts_idx++;
   14258         xcb_align_to = ALIGNOF(uint32_t);
   14259         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.which */
   14260         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.which;
   14261         xcb_block_len += sizeof(uint32_t);
   14262         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14263         xcb_parts_idx++;
   14264         xcb_align_to = ALIGNOF(uint32_t);
   14265         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.realIndicators */
   14266         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.realIndicators;
   14267         xcb_block_len += sizeof(uint32_t);
   14268         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14269         xcb_parts_idx++;
   14270         xcb_align_to = ALIGNOF(uint32_t);
   14271         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.nIndicators */
   14272         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->indicator_maps.nIndicators;
   14273         xcb_block_len += sizeof(uint8_t);
   14274         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14275         xcb_parts_idx++;
   14276         xcb_align_to = ALIGNOF(uint8_t);
   14277         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.pad0 */
   14278         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14279         xcb_block_len += sizeof(uint8_t)*15;
   14280         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*15;
   14281         xcb_parts_idx++;
   14282         xcb_align_to = ALIGNOF(uint8_t);
   14283         /* insert padding */
   14284         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14285         xcb_buffer_len += xcb_block_len + xcb_pad;
   14286         if (0 != xcb_pad) {
   14287             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14288             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14289             xcb_parts_idx++;
   14290             xcb_pad = 0;
   14291         }
   14292         xcb_block_len = 0;
   14293         /* maps */
   14294         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->indicator_maps.maps;
   14295         xcb_block_len += _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t);
   14296         xcb_parts[xcb_parts_idx].iov_len = _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t);
   14297         xcb_parts_idx++;
   14298         xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
   14299     }
   14300     if((reported & XCB_XKB_GBN_DETAIL_KEY_NAMES) ||
   14301        (reported & XCB_XKB_GBN_DETAIL_OTHER_NAMES)) {
   14302         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_type */
   14303         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_type;
   14304         xcb_block_len += sizeof(uint8_t);
   14305         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14306         xcb_parts_idx++;
   14307         xcb_align_to = ALIGNOF(uint8_t);
   14308         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyDeviceID */
   14309         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyDeviceID;
   14310         xcb_block_len += sizeof(uint8_t);
   14311         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14312         xcb_parts_idx++;
   14313         xcb_align_to = ALIGNOF(uint8_t);
   14314         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_sequence */
   14315         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_sequence;
   14316         xcb_block_len += sizeof(uint16_t);
   14317         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14318         xcb_parts_idx++;
   14319         xcb_align_to = ALIGNOF(uint16_t);
   14320         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_length */
   14321         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyname_length;
   14322         xcb_block_len += sizeof(uint32_t);
   14323         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14324         xcb_parts_idx++;
   14325         xcb_align_to = ALIGNOF(uint32_t);
   14326         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.which */
   14327         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.which;
   14328         xcb_block_len += sizeof(uint32_t);
   14329         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14330         xcb_parts_idx++;
   14331         xcb_align_to = ALIGNOF(uint32_t);
   14332         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMinKeyCode */
   14333         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyMinKeyCode;
   14334         xcb_block_len += sizeof(xcb_keycode_t);
   14335         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14336         xcb_parts_idx++;
   14337         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14338         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMaxKeyCode */
   14339         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.keyMaxKeyCode;
   14340         xcb_block_len += sizeof(xcb_keycode_t);
   14341         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14342         xcb_parts_idx++;
   14343         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14344         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nTypes */
   14345         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nTypes;
   14346         xcb_block_len += sizeof(uint8_t);
   14347         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14348         xcb_parts_idx++;
   14349         xcb_align_to = ALIGNOF(uint8_t);
   14350         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.groupNames */
   14351         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.groupNames;
   14352         xcb_block_len += sizeof(uint8_t);
   14353         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14354         xcb_parts_idx++;
   14355         xcb_align_to = ALIGNOF(uint8_t);
   14356         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.virtualMods */
   14357         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.virtualMods;
   14358         xcb_block_len += sizeof(uint16_t);
   14359         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14360         xcb_parts_idx++;
   14361         xcb_align_to = ALIGNOF(uint16_t);
   14362         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.firstKey */
   14363         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.firstKey;
   14364         xcb_block_len += sizeof(xcb_keycode_t);
   14365         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_keycode_t);
   14366         xcb_parts_idx++;
   14367         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14368         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeys */
   14369         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKeys;
   14370         xcb_block_len += sizeof(uint8_t);
   14371         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14372         xcb_parts_idx++;
   14373         xcb_align_to = ALIGNOF(uint8_t);
   14374         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.indicators */
   14375         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.indicators;
   14376         xcb_block_len += sizeof(uint32_t);
   14377         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14378         xcb_parts_idx++;
   14379         xcb_align_to = ALIGNOF(uint32_t);
   14380         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nRadioGroups */
   14381         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nRadioGroups;
   14382         xcb_block_len += sizeof(uint8_t);
   14383         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14384         xcb_parts_idx++;
   14385         xcb_align_to = ALIGNOF(uint8_t);
   14386         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeyAliases */
   14387         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKeyAliases;
   14388         xcb_block_len += sizeof(uint8_t);
   14389         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14390         xcb_parts_idx++;
   14391         xcb_align_to = ALIGNOF(uint8_t);
   14392         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKTLevels */
   14393         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->key_names.nKTLevels;
   14394         xcb_block_len += sizeof(uint16_t);
   14395         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14396         xcb_parts_idx++;
   14397         xcb_align_to = ALIGNOF(uint16_t);
   14398         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.pad0 */
   14399         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14400         xcb_block_len += sizeof(uint8_t)*4;
   14401         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t)*4;
   14402         xcb_parts_idx++;
   14403         xcb_align_to = ALIGNOF(uint8_t);
   14404         /* insert padding */
   14405         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14406         xcb_buffer_len += xcb_block_len + xcb_pad;
   14407         if (0 != xcb_pad) {
   14408             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14409             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14410             xcb_parts_idx++;
   14411             xcb_pad = 0;
   14412         }
   14413         xcb_block_len = 0;
   14414         /* valueList */
   14415         xcb_parts[xcb_parts_idx].iov_base = (char *)0;
   14416         xcb_block_len += xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList);
   14417         xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&xcb_parts[xcb_parts_idx].iov_base, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList);
   14418         xcb_parts_idx++;
   14419         xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t);
   14420     }
   14421     if(reported & XCB_XKB_GBN_DETAIL_GEOMETRY) {
   14422         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_type */
   14423         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_type;
   14424         xcb_block_len += sizeof(uint8_t);
   14425         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14426         xcb_parts_idx++;
   14427         xcb_align_to = ALIGNOF(uint8_t);
   14428         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryDeviceID */
   14429         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometryDeviceID;
   14430         xcb_block_len += sizeof(uint8_t);
   14431         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14432         xcb_parts_idx++;
   14433         xcb_align_to = ALIGNOF(uint8_t);
   14434         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_sequence */
   14435         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_sequence;
   14436         xcb_block_len += sizeof(uint16_t);
   14437         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14438         xcb_parts_idx++;
   14439         xcb_align_to = ALIGNOF(uint16_t);
   14440         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_length */
   14441         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometry_length;
   14442         xcb_block_len += sizeof(uint32_t);
   14443         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint32_t);
   14444         xcb_parts_idx++;
   14445         xcb_align_to = ALIGNOF(uint32_t);
   14446         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.name */
   14447         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.name;
   14448         xcb_block_len += sizeof(xcb_atom_t);
   14449         xcb_parts[xcb_parts_idx].iov_len = sizeof(xcb_atom_t);
   14450         xcb_parts_idx++;
   14451         xcb_align_to = ALIGNOF(xcb_atom_t);
   14452         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryFound */
   14453         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.geometryFound;
   14454         xcb_block_len += sizeof(uint8_t);
   14455         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14456         xcb_parts_idx++;
   14457         xcb_align_to = ALIGNOF(uint8_t);
   14458         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.pad0 */
   14459         xcb_parts[xcb_parts_idx].iov_base = (char *) &xcb_pad;
   14460         xcb_block_len += sizeof(uint8_t);
   14461         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14462         xcb_parts_idx++;
   14463         xcb_align_to = ALIGNOF(uint8_t);
   14464         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.widthMM */
   14465         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.widthMM;
   14466         xcb_block_len += sizeof(uint16_t);
   14467         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14468         xcb_parts_idx++;
   14469         xcb_align_to = ALIGNOF(uint16_t);
   14470         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.heightMM */
   14471         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.heightMM;
   14472         xcb_block_len += sizeof(uint16_t);
   14473         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14474         xcb_parts_idx++;
   14475         xcb_align_to = ALIGNOF(uint16_t);
   14476         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nProperties */
   14477         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nProperties;
   14478         xcb_block_len += sizeof(uint16_t);
   14479         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14480         xcb_parts_idx++;
   14481         xcb_align_to = ALIGNOF(uint16_t);
   14482         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nColors */
   14483         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nColors;
   14484         xcb_block_len += sizeof(uint16_t);
   14485         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14486         xcb_parts_idx++;
   14487         xcb_align_to = ALIGNOF(uint16_t);
   14488         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nShapes */
   14489         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nShapes;
   14490         xcb_block_len += sizeof(uint16_t);
   14491         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14492         xcb_parts_idx++;
   14493         xcb_align_to = ALIGNOF(uint16_t);
   14494         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nSections */
   14495         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nSections;
   14496         xcb_block_len += sizeof(uint16_t);
   14497         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14498         xcb_parts_idx++;
   14499         xcb_align_to = ALIGNOF(uint16_t);
   14500         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nDoodads */
   14501         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nDoodads;
   14502         xcb_block_len += sizeof(uint16_t);
   14503         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14504         xcb_parts_idx++;
   14505         xcb_align_to = ALIGNOF(uint16_t);
   14506         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nKeyAliases */
   14507         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.nKeyAliases;
   14508         xcb_block_len += sizeof(uint16_t);
   14509         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint16_t);
   14510         xcb_parts_idx++;
   14511         xcb_align_to = ALIGNOF(uint16_t);
   14512         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.baseColorNdx */
   14513         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.baseColorNdx;
   14514         xcb_block_len += sizeof(uint8_t);
   14515         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14516         xcb_parts_idx++;
   14517         xcb_align_to = ALIGNOF(uint8_t);
   14518         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.labelColorNdx */
   14519         xcb_parts[xcb_parts_idx].iov_base = (char *) &_aux->geometry.labelColorNdx;
   14520         xcb_block_len += sizeof(uint8_t);
   14521         xcb_parts[xcb_parts_idx].iov_len = sizeof(uint8_t);
   14522         xcb_parts_idx++;
   14523         xcb_align_to = ALIGNOF(uint8_t);
   14524         /* insert padding */
   14525         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14526         xcb_buffer_len += xcb_block_len + xcb_pad;
   14527         if (0 != xcb_pad) {
   14528             xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14529             xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14530             xcb_parts_idx++;
   14531             xcb_pad = 0;
   14532         }
   14533         xcb_block_len = 0;
   14534         /* labelFont */
   14535         xcb_parts[xcb_parts_idx].iov_base = (char *) _aux->geometry.labelFont;
   14536         xcb_block_len += xcb_xkb_counted_string_16_sizeof(_aux->geometry.labelFont);
   14537         xcb_parts[xcb_parts_idx].iov_len = xcb_xkb_counted_string_16_sizeof(_aux->geometry.labelFont);
   14538         xcb_parts_idx++;
   14539         xcb_align_to = ALIGNOF(xcb_xkb_counted_string_16_t);
   14540     }
   14541     /* insert padding */
   14542     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14543     xcb_buffer_len += xcb_block_len + xcb_pad;
   14544     if (0 != xcb_pad) {
   14545         xcb_parts[xcb_parts_idx].iov_base = xcb_pad0;
   14546         xcb_parts[xcb_parts_idx].iov_len = xcb_pad;
   14547         xcb_parts_idx++;
   14548         xcb_pad = 0;
   14549     }
   14550     xcb_block_len = 0;
   14551 
   14552     if (NULL == xcb_out) {
   14553         /* allocate memory */
   14554         xcb_out = malloc(xcb_buffer_len);
   14555         *_buffer = xcb_out;
   14556     }
   14557 
   14558     xcb_tmp = xcb_out;
   14559     for(i=0; i<xcb_parts_idx; i++) {
   14560         if (0 != xcb_parts[i].iov_base && 0 != xcb_parts[i].iov_len)
   14561             memcpy(xcb_tmp, xcb_parts[i].iov_base, xcb_parts[i].iov_len);
   14562         if (0 != xcb_parts[i].iov_len)
   14563             xcb_tmp += xcb_parts[i].iov_len;
   14564     }
   14565 
   14566     return xcb_buffer_len;
   14567 }
   14568 
   14569 int
   14570 xcb_xkb_get_kbd_by_name_replies_unpack (const void                         *_buffer  /**< */,
   14571                                         uint16_t                            reported  /**< */,
   14572                                         xcb_xkb_get_kbd_by_name_replies_t  *_aux  /**< */)
   14573 {
   14574     char *xcb_tmp = (char *)_buffer;
   14575     unsigned int xcb_buffer_len = 0;
   14576     unsigned int xcb_block_len = 0;
   14577     unsigned int xcb_pad = 0;
   14578     unsigned int xcb_align_to = 0;
   14579 
   14580 
   14581     if((reported & XCB_XKB_GBN_DETAIL_TYPES) ||
   14582        (reported & XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS) ||
   14583        (reported & XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)) {
   14584         /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_type */
   14585         _aux->types.getmap_type = *(uint8_t *)xcb_tmp;
   14586         xcb_block_len += sizeof(uint8_t);
   14587         xcb_tmp += sizeof(uint8_t);
   14588         xcb_align_to = ALIGNOF(uint8_t);
   14589         /* xcb_xkb_get_kbd_by_name_replies_t.types.typeDeviceID */
   14590         _aux->types.typeDeviceID = *(uint8_t *)xcb_tmp;
   14591         xcb_block_len += sizeof(uint8_t);
   14592         xcb_tmp += sizeof(uint8_t);
   14593         xcb_align_to = ALIGNOF(uint8_t);
   14594         /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_sequence */
   14595         _aux->types.getmap_sequence = *(uint16_t *)xcb_tmp;
   14596         xcb_block_len += sizeof(uint16_t);
   14597         xcb_tmp += sizeof(uint16_t);
   14598         xcb_align_to = ALIGNOF(uint16_t);
   14599         /* xcb_xkb_get_kbd_by_name_replies_t.types.getmap_length */
   14600         _aux->types.getmap_length = *(uint32_t *)xcb_tmp;
   14601         xcb_block_len += sizeof(uint32_t);
   14602         xcb_tmp += sizeof(uint32_t);
   14603         xcb_align_to = ALIGNOF(uint32_t);
   14604         /* xcb_xkb_get_kbd_by_name_replies_t.types.pad0 */
   14605         _aux->types.pad0[0] = *(uint8_t *)xcb_tmp;
   14606         _aux->types.pad0[1] = *(uint8_t *)xcb_tmp;
   14607         xcb_block_len += sizeof(uint8_t) * 2;
   14608         xcb_tmp += sizeof(uint8_t) * 2;
   14609         xcb_align_to = ALIGNOF(uint8_t);
   14610         /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMinKeyCode */
   14611         _aux->types.typeMinKeyCode = *(xcb_keycode_t *)xcb_tmp;
   14612         xcb_block_len += sizeof(xcb_keycode_t);
   14613         xcb_tmp += sizeof(xcb_keycode_t);
   14614         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14615         /* xcb_xkb_get_kbd_by_name_replies_t.types.typeMaxKeyCode */
   14616         _aux->types.typeMaxKeyCode = *(xcb_keycode_t *)xcb_tmp;
   14617         xcb_block_len += sizeof(xcb_keycode_t);
   14618         xcb_tmp += sizeof(xcb_keycode_t);
   14619         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14620         /* xcb_xkb_get_kbd_by_name_replies_t.types.present */
   14621         _aux->types.present = *(uint16_t *)xcb_tmp;
   14622         xcb_block_len += sizeof(uint16_t);
   14623         xcb_tmp += sizeof(uint16_t);
   14624         xcb_align_to = ALIGNOF(uint16_t);
   14625         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstType */
   14626         _aux->types.firstType = *(uint8_t *)xcb_tmp;
   14627         xcb_block_len += sizeof(uint8_t);
   14628         xcb_tmp += sizeof(uint8_t);
   14629         xcb_align_to = ALIGNOF(uint8_t);
   14630         /* xcb_xkb_get_kbd_by_name_replies_t.types.nTypes */
   14631         _aux->types.nTypes = *(uint8_t *)xcb_tmp;
   14632         xcb_block_len += sizeof(uint8_t);
   14633         xcb_tmp += sizeof(uint8_t);
   14634         xcb_align_to = ALIGNOF(uint8_t);
   14635         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalTypes */
   14636         _aux->types.totalTypes = *(uint8_t *)xcb_tmp;
   14637         xcb_block_len += sizeof(uint8_t);
   14638         xcb_tmp += sizeof(uint8_t);
   14639         xcb_align_to = ALIGNOF(uint8_t);
   14640         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeySym */
   14641         _aux->types.firstKeySym = *(xcb_keycode_t *)xcb_tmp;
   14642         xcb_block_len += sizeof(xcb_keycode_t);
   14643         xcb_tmp += sizeof(xcb_keycode_t);
   14644         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14645         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalSyms */
   14646         _aux->types.totalSyms = *(uint16_t *)xcb_tmp;
   14647         xcb_block_len += sizeof(uint16_t);
   14648         xcb_tmp += sizeof(uint16_t);
   14649         xcb_align_to = ALIGNOF(uint16_t);
   14650         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeySyms */
   14651         _aux->types.nKeySyms = *(uint8_t *)xcb_tmp;
   14652         xcb_block_len += sizeof(uint8_t);
   14653         xcb_tmp += sizeof(uint8_t);
   14654         xcb_align_to = ALIGNOF(uint8_t);
   14655         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyAction */
   14656         _aux->types.firstKeyAction = *(xcb_keycode_t *)xcb_tmp;
   14657         xcb_block_len += sizeof(xcb_keycode_t);
   14658         xcb_tmp += sizeof(xcb_keycode_t);
   14659         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14660         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalActions */
   14661         _aux->types.totalActions = *(uint16_t *)xcb_tmp;
   14662         xcb_block_len += sizeof(uint16_t);
   14663         xcb_tmp += sizeof(uint16_t);
   14664         xcb_align_to = ALIGNOF(uint16_t);
   14665         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyActions */
   14666         _aux->types.nKeyActions = *(uint8_t *)xcb_tmp;
   14667         xcb_block_len += sizeof(uint8_t);
   14668         xcb_tmp += sizeof(uint8_t);
   14669         xcb_align_to = ALIGNOF(uint8_t);
   14670         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyBehavior */
   14671         _aux->types.firstKeyBehavior = *(xcb_keycode_t *)xcb_tmp;
   14672         xcb_block_len += sizeof(xcb_keycode_t);
   14673         xcb_tmp += sizeof(xcb_keycode_t);
   14674         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14675         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyBehaviors */
   14676         _aux->types.nKeyBehaviors = *(uint8_t *)xcb_tmp;
   14677         xcb_block_len += sizeof(uint8_t);
   14678         xcb_tmp += sizeof(uint8_t);
   14679         xcb_align_to = ALIGNOF(uint8_t);
   14680         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyBehaviors */
   14681         _aux->types.totalKeyBehaviors = *(uint8_t *)xcb_tmp;
   14682         xcb_block_len += sizeof(uint8_t);
   14683         xcb_tmp += sizeof(uint8_t);
   14684         xcb_align_to = ALIGNOF(uint8_t);
   14685         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstKeyExplicit */
   14686         _aux->types.firstKeyExplicit = *(xcb_keycode_t *)xcb_tmp;
   14687         xcb_block_len += sizeof(xcb_keycode_t);
   14688         xcb_tmp += sizeof(xcb_keycode_t);
   14689         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14690         /* xcb_xkb_get_kbd_by_name_replies_t.types.nKeyExplicit */
   14691         _aux->types.nKeyExplicit = *(uint8_t *)xcb_tmp;
   14692         xcb_block_len += sizeof(uint8_t);
   14693         xcb_tmp += sizeof(uint8_t);
   14694         xcb_align_to = ALIGNOF(uint8_t);
   14695         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalKeyExplicit */
   14696         _aux->types.totalKeyExplicit = *(uint8_t *)xcb_tmp;
   14697         xcb_block_len += sizeof(uint8_t);
   14698         xcb_tmp += sizeof(uint8_t);
   14699         xcb_align_to = ALIGNOF(uint8_t);
   14700         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstModMapKey */
   14701         _aux->types.firstModMapKey = *(xcb_keycode_t *)xcb_tmp;
   14702         xcb_block_len += sizeof(xcb_keycode_t);
   14703         xcb_tmp += sizeof(xcb_keycode_t);
   14704         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14705         /* xcb_xkb_get_kbd_by_name_replies_t.types.nModMapKeys */
   14706         _aux->types.nModMapKeys = *(uint8_t *)xcb_tmp;
   14707         xcb_block_len += sizeof(uint8_t);
   14708         xcb_tmp += sizeof(uint8_t);
   14709         xcb_align_to = ALIGNOF(uint8_t);
   14710         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalModMapKeys */
   14711         _aux->types.totalModMapKeys = *(uint8_t *)xcb_tmp;
   14712         xcb_block_len += sizeof(uint8_t);
   14713         xcb_tmp += sizeof(uint8_t);
   14714         xcb_align_to = ALIGNOF(uint8_t);
   14715         /* xcb_xkb_get_kbd_by_name_replies_t.types.firstVModMapKey */
   14716         _aux->types.firstVModMapKey = *(xcb_keycode_t *)xcb_tmp;
   14717         xcb_block_len += sizeof(xcb_keycode_t);
   14718         xcb_tmp += sizeof(xcb_keycode_t);
   14719         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14720         /* xcb_xkb_get_kbd_by_name_replies_t.types.nVModMapKeys */
   14721         _aux->types.nVModMapKeys = *(uint8_t *)xcb_tmp;
   14722         xcb_block_len += sizeof(uint8_t);
   14723         xcb_tmp += sizeof(uint8_t);
   14724         xcb_align_to = ALIGNOF(uint8_t);
   14725         /* xcb_xkb_get_kbd_by_name_replies_t.types.totalVModMapKeys */
   14726         _aux->types.totalVModMapKeys = *(uint8_t *)xcb_tmp;
   14727         xcb_block_len += sizeof(uint8_t);
   14728         xcb_tmp += sizeof(uint8_t);
   14729         xcb_align_to = ALIGNOF(uint8_t);
   14730         /* xcb_xkb_get_kbd_by_name_replies_t.types.pad1 */
   14731         _aux->types.pad1 = *(uint8_t *)xcb_tmp;
   14732         xcb_block_len += sizeof(uint8_t);
   14733         xcb_tmp += sizeof(uint8_t);
   14734         xcb_align_to = ALIGNOF(uint8_t);
   14735         /* xcb_xkb_get_kbd_by_name_replies_t.types.virtualMods */
   14736         _aux->types.virtualMods = *(uint16_t *)xcb_tmp;
   14737         xcb_block_len += sizeof(uint16_t);
   14738         xcb_tmp += sizeof(uint16_t);
   14739         xcb_align_to = ALIGNOF(uint16_t);
   14740         /* insert padding */
   14741         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14742         xcb_buffer_len += xcb_block_len + xcb_pad;
   14743         if (0 != xcb_pad) {
   14744             xcb_tmp += xcb_pad;
   14745             xcb_pad = 0;
   14746         }
   14747         xcb_block_len = 0;
   14748         /* map */
   14749         xcb_block_len += xcb_xkb_get_kbd_by_name_replies_types_map_unpack(xcb_tmp, _aux->types.nTypes, _aux->types.nKeySyms, _aux->types.nKeyActions, _aux->types.totalActions, _aux->types.totalKeyBehaviors, _aux->types.virtualMods, _aux->types.totalKeyExplicit, _aux->types.totalModMapKeys, _aux->types.totalVModMapKeys, _aux->types.present, &_aux->types.map);
   14750         xcb_tmp += xcb_block_len;
   14751         xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_types_map_t);
   14752     }
   14753     if(reported & XCB_XKB_GBN_DETAIL_COMPAT_MAP) {
   14754         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_type */
   14755         _aux->compat_map.compatmap_type = *(uint8_t *)xcb_tmp;
   14756         xcb_block_len += sizeof(uint8_t);
   14757         xcb_tmp += sizeof(uint8_t);
   14758         xcb_align_to = ALIGNOF(uint8_t);
   14759         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatDeviceID */
   14760         _aux->compat_map.compatDeviceID = *(uint8_t *)xcb_tmp;
   14761         xcb_block_len += sizeof(uint8_t);
   14762         xcb_tmp += sizeof(uint8_t);
   14763         xcb_align_to = ALIGNOF(uint8_t);
   14764         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_sequence */
   14765         _aux->compat_map.compatmap_sequence = *(uint16_t *)xcb_tmp;
   14766         xcb_block_len += sizeof(uint16_t);
   14767         xcb_tmp += sizeof(uint16_t);
   14768         xcb_align_to = ALIGNOF(uint16_t);
   14769         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.compatmap_length */
   14770         _aux->compat_map.compatmap_length = *(uint32_t *)xcb_tmp;
   14771         xcb_block_len += sizeof(uint32_t);
   14772         xcb_tmp += sizeof(uint32_t);
   14773         xcb_align_to = ALIGNOF(uint32_t);
   14774         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.groupsRtrn */
   14775         _aux->compat_map.groupsRtrn = *(uint8_t *)xcb_tmp;
   14776         xcb_block_len += sizeof(uint8_t);
   14777         xcb_tmp += sizeof(uint8_t);
   14778         xcb_align_to = ALIGNOF(uint8_t);
   14779         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad0 */
   14780         _aux->compat_map.pad0 = *(uint8_t *)xcb_tmp;
   14781         xcb_block_len += sizeof(uint8_t);
   14782         xcb_tmp += sizeof(uint8_t);
   14783         xcb_align_to = ALIGNOF(uint8_t);
   14784         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.firstSIRtrn */
   14785         _aux->compat_map.firstSIRtrn = *(uint16_t *)xcb_tmp;
   14786         xcb_block_len += sizeof(uint16_t);
   14787         xcb_tmp += sizeof(uint16_t);
   14788         xcb_align_to = ALIGNOF(uint16_t);
   14789         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nSIRtrn */
   14790         _aux->compat_map.nSIRtrn = *(uint16_t *)xcb_tmp;
   14791         xcb_block_len += sizeof(uint16_t);
   14792         xcb_tmp += sizeof(uint16_t);
   14793         xcb_align_to = ALIGNOF(uint16_t);
   14794         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.nTotalSI */
   14795         _aux->compat_map.nTotalSI = *(uint16_t *)xcb_tmp;
   14796         xcb_block_len += sizeof(uint16_t);
   14797         xcb_tmp += sizeof(uint16_t);
   14798         xcb_align_to = ALIGNOF(uint16_t);
   14799         /* xcb_xkb_get_kbd_by_name_replies_t.compat_map.pad1 */
   14800         _aux->compat_map.pad1[0] = *(uint8_t *)xcb_tmp;
   14801         _aux->compat_map.pad1[1] = *(uint8_t *)xcb_tmp;
   14802         _aux->compat_map.pad1[2] = *(uint8_t *)xcb_tmp;
   14803         _aux->compat_map.pad1[3] = *(uint8_t *)xcb_tmp;
   14804         _aux->compat_map.pad1[4] = *(uint8_t *)xcb_tmp;
   14805         _aux->compat_map.pad1[5] = *(uint8_t *)xcb_tmp;
   14806         _aux->compat_map.pad1[6] = *(uint8_t *)xcb_tmp;
   14807         _aux->compat_map.pad1[7] = *(uint8_t *)xcb_tmp;
   14808         _aux->compat_map.pad1[8] = *(uint8_t *)xcb_tmp;
   14809         _aux->compat_map.pad1[9] = *(uint8_t *)xcb_tmp;
   14810         _aux->compat_map.pad1[10] = *(uint8_t *)xcb_tmp;
   14811         _aux->compat_map.pad1[11] = *(uint8_t *)xcb_tmp;
   14812         _aux->compat_map.pad1[12] = *(uint8_t *)xcb_tmp;
   14813         _aux->compat_map.pad1[13] = *(uint8_t *)xcb_tmp;
   14814         _aux->compat_map.pad1[14] = *(uint8_t *)xcb_tmp;
   14815         _aux->compat_map.pad1[15] = *(uint8_t *)xcb_tmp;
   14816         xcb_block_len += sizeof(uint8_t) * 16;
   14817         xcb_tmp += sizeof(uint8_t) * 16;
   14818         xcb_align_to = ALIGNOF(uint8_t);
   14819         /* insert padding */
   14820         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14821         xcb_buffer_len += xcb_block_len + xcb_pad;
   14822         if (0 != xcb_pad) {
   14823             xcb_tmp += xcb_pad;
   14824             xcb_pad = 0;
   14825         }
   14826         xcb_block_len = 0;
   14827         /* si_rtrn */
   14828         _aux->compat_map.si_rtrn = (xcb_xkb_sym_interpret_t *)xcb_tmp;
   14829         xcb_block_len += _aux->compat_map.nSIRtrn * sizeof(xcb_xkb_sym_interpret_t);
   14830         xcb_tmp += xcb_block_len;
   14831         xcb_align_to = ALIGNOF(xcb_xkb_sym_interpret_t);
   14832         /* insert padding */
   14833         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14834         xcb_buffer_len += xcb_block_len + xcb_pad;
   14835         if (0 != xcb_pad) {
   14836             xcb_tmp += xcb_pad;
   14837             xcb_pad = 0;
   14838         }
   14839         xcb_block_len = 0;
   14840         /* group_rtrn */
   14841         _aux->compat_map.group_rtrn = (xcb_xkb_mod_def_t *)xcb_tmp;
   14842         xcb_block_len += xcb_popcount(_aux->compat_map.groupsRtrn) * sizeof(xcb_xkb_mod_def_t);
   14843         xcb_tmp += xcb_block_len;
   14844         xcb_align_to = ALIGNOF(xcb_xkb_mod_def_t);
   14845     }
   14846     if(reported & XCB_XKB_GBN_DETAIL_INDICATOR_MAPS) {
   14847         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_type */
   14848         _aux->indicator_maps.indicatormap_type = *(uint8_t *)xcb_tmp;
   14849         xcb_block_len += sizeof(uint8_t);
   14850         xcb_tmp += sizeof(uint8_t);
   14851         xcb_align_to = ALIGNOF(uint8_t);
   14852         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatorDeviceID */
   14853         _aux->indicator_maps.indicatorDeviceID = *(uint8_t *)xcb_tmp;
   14854         xcb_block_len += sizeof(uint8_t);
   14855         xcb_tmp += sizeof(uint8_t);
   14856         xcb_align_to = ALIGNOF(uint8_t);
   14857         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_sequence */
   14858         _aux->indicator_maps.indicatormap_sequence = *(uint16_t *)xcb_tmp;
   14859         xcb_block_len += sizeof(uint16_t);
   14860         xcb_tmp += sizeof(uint16_t);
   14861         xcb_align_to = ALIGNOF(uint16_t);
   14862         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.indicatormap_length */
   14863         _aux->indicator_maps.indicatormap_length = *(uint32_t *)xcb_tmp;
   14864         xcb_block_len += sizeof(uint32_t);
   14865         xcb_tmp += sizeof(uint32_t);
   14866         xcb_align_to = ALIGNOF(uint32_t);
   14867         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.which */
   14868         _aux->indicator_maps.which = *(uint32_t *)xcb_tmp;
   14869         xcb_block_len += sizeof(uint32_t);
   14870         xcb_tmp += sizeof(uint32_t);
   14871         xcb_align_to = ALIGNOF(uint32_t);
   14872         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.realIndicators */
   14873         _aux->indicator_maps.realIndicators = *(uint32_t *)xcb_tmp;
   14874         xcb_block_len += sizeof(uint32_t);
   14875         xcb_tmp += sizeof(uint32_t);
   14876         xcb_align_to = ALIGNOF(uint32_t);
   14877         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.nIndicators */
   14878         _aux->indicator_maps.nIndicators = *(uint8_t *)xcb_tmp;
   14879         xcb_block_len += sizeof(uint8_t);
   14880         xcb_tmp += sizeof(uint8_t);
   14881         xcb_align_to = ALIGNOF(uint8_t);
   14882         /* xcb_xkb_get_kbd_by_name_replies_t.indicator_maps.pad0 */
   14883         _aux->indicator_maps.pad0[0] = *(uint8_t *)xcb_tmp;
   14884         _aux->indicator_maps.pad0[1] = *(uint8_t *)xcb_tmp;
   14885         _aux->indicator_maps.pad0[2] = *(uint8_t *)xcb_tmp;
   14886         _aux->indicator_maps.pad0[3] = *(uint8_t *)xcb_tmp;
   14887         _aux->indicator_maps.pad0[4] = *(uint8_t *)xcb_tmp;
   14888         _aux->indicator_maps.pad0[5] = *(uint8_t *)xcb_tmp;
   14889         _aux->indicator_maps.pad0[6] = *(uint8_t *)xcb_tmp;
   14890         _aux->indicator_maps.pad0[7] = *(uint8_t *)xcb_tmp;
   14891         _aux->indicator_maps.pad0[8] = *(uint8_t *)xcb_tmp;
   14892         _aux->indicator_maps.pad0[9] = *(uint8_t *)xcb_tmp;
   14893         _aux->indicator_maps.pad0[10] = *(uint8_t *)xcb_tmp;
   14894         _aux->indicator_maps.pad0[11] = *(uint8_t *)xcb_tmp;
   14895         _aux->indicator_maps.pad0[12] = *(uint8_t *)xcb_tmp;
   14896         _aux->indicator_maps.pad0[13] = *(uint8_t *)xcb_tmp;
   14897         _aux->indicator_maps.pad0[14] = *(uint8_t *)xcb_tmp;
   14898         xcb_block_len += sizeof(uint8_t) * 15;
   14899         xcb_tmp += sizeof(uint8_t) * 15;
   14900         xcb_align_to = ALIGNOF(uint8_t);
   14901         /* insert padding */
   14902         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   14903         xcb_buffer_len += xcb_block_len + xcb_pad;
   14904         if (0 != xcb_pad) {
   14905             xcb_tmp += xcb_pad;
   14906             xcb_pad = 0;
   14907         }
   14908         xcb_block_len = 0;
   14909         /* maps */
   14910         _aux->indicator_maps.maps = (xcb_xkb_indicator_map_t *)xcb_tmp;
   14911         xcb_block_len += _aux->indicator_maps.nIndicators * sizeof(xcb_xkb_indicator_map_t);
   14912         xcb_tmp += xcb_block_len;
   14913         xcb_align_to = ALIGNOF(xcb_xkb_indicator_map_t);
   14914     }
   14915     if((reported & XCB_XKB_GBN_DETAIL_KEY_NAMES) ||
   14916        (reported & XCB_XKB_GBN_DETAIL_OTHER_NAMES)) {
   14917         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_type */
   14918         _aux->key_names.keyname_type = *(uint8_t *)xcb_tmp;
   14919         xcb_block_len += sizeof(uint8_t);
   14920         xcb_tmp += sizeof(uint8_t);
   14921         xcb_align_to = ALIGNOF(uint8_t);
   14922         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyDeviceID */
   14923         _aux->key_names.keyDeviceID = *(uint8_t *)xcb_tmp;
   14924         xcb_block_len += sizeof(uint8_t);
   14925         xcb_tmp += sizeof(uint8_t);
   14926         xcb_align_to = ALIGNOF(uint8_t);
   14927         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_sequence */
   14928         _aux->key_names.keyname_sequence = *(uint16_t *)xcb_tmp;
   14929         xcb_block_len += sizeof(uint16_t);
   14930         xcb_tmp += sizeof(uint16_t);
   14931         xcb_align_to = ALIGNOF(uint16_t);
   14932         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyname_length */
   14933         _aux->key_names.keyname_length = *(uint32_t *)xcb_tmp;
   14934         xcb_block_len += sizeof(uint32_t);
   14935         xcb_tmp += sizeof(uint32_t);
   14936         xcb_align_to = ALIGNOF(uint32_t);
   14937         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.which */
   14938         _aux->key_names.which = *(uint32_t *)xcb_tmp;
   14939         xcb_block_len += sizeof(uint32_t);
   14940         xcb_tmp += sizeof(uint32_t);
   14941         xcb_align_to = ALIGNOF(uint32_t);
   14942         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMinKeyCode */
   14943         _aux->key_names.keyMinKeyCode = *(xcb_keycode_t *)xcb_tmp;
   14944         xcb_block_len += sizeof(xcb_keycode_t);
   14945         xcb_tmp += sizeof(xcb_keycode_t);
   14946         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14947         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.keyMaxKeyCode */
   14948         _aux->key_names.keyMaxKeyCode = *(xcb_keycode_t *)xcb_tmp;
   14949         xcb_block_len += sizeof(xcb_keycode_t);
   14950         xcb_tmp += sizeof(xcb_keycode_t);
   14951         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14952         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nTypes */
   14953         _aux->key_names.nTypes = *(uint8_t *)xcb_tmp;
   14954         xcb_block_len += sizeof(uint8_t);
   14955         xcb_tmp += sizeof(uint8_t);
   14956         xcb_align_to = ALIGNOF(uint8_t);
   14957         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.groupNames */
   14958         _aux->key_names.groupNames = *(uint8_t *)xcb_tmp;
   14959         xcb_block_len += sizeof(uint8_t);
   14960         xcb_tmp += sizeof(uint8_t);
   14961         xcb_align_to = ALIGNOF(uint8_t);
   14962         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.virtualMods */
   14963         _aux->key_names.virtualMods = *(uint16_t *)xcb_tmp;
   14964         xcb_block_len += sizeof(uint16_t);
   14965         xcb_tmp += sizeof(uint16_t);
   14966         xcb_align_to = ALIGNOF(uint16_t);
   14967         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.firstKey */
   14968         _aux->key_names.firstKey = *(xcb_keycode_t *)xcb_tmp;
   14969         xcb_block_len += sizeof(xcb_keycode_t);
   14970         xcb_tmp += sizeof(xcb_keycode_t);
   14971         xcb_align_to = ALIGNOF(xcb_keycode_t);
   14972         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeys */
   14973         _aux->key_names.nKeys = *(uint8_t *)xcb_tmp;
   14974         xcb_block_len += sizeof(uint8_t);
   14975         xcb_tmp += sizeof(uint8_t);
   14976         xcb_align_to = ALIGNOF(uint8_t);
   14977         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.indicators */
   14978         _aux->key_names.indicators = *(uint32_t *)xcb_tmp;
   14979         xcb_block_len += sizeof(uint32_t);
   14980         xcb_tmp += sizeof(uint32_t);
   14981         xcb_align_to = ALIGNOF(uint32_t);
   14982         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nRadioGroups */
   14983         _aux->key_names.nRadioGroups = *(uint8_t *)xcb_tmp;
   14984         xcb_block_len += sizeof(uint8_t);
   14985         xcb_tmp += sizeof(uint8_t);
   14986         xcb_align_to = ALIGNOF(uint8_t);
   14987         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKeyAliases */
   14988         _aux->key_names.nKeyAliases = *(uint8_t *)xcb_tmp;
   14989         xcb_block_len += sizeof(uint8_t);
   14990         xcb_tmp += sizeof(uint8_t);
   14991         xcb_align_to = ALIGNOF(uint8_t);
   14992         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.nKTLevels */
   14993         _aux->key_names.nKTLevels = *(uint16_t *)xcb_tmp;
   14994         xcb_block_len += sizeof(uint16_t);
   14995         xcb_tmp += sizeof(uint16_t);
   14996         xcb_align_to = ALIGNOF(uint16_t);
   14997         /* xcb_xkb_get_kbd_by_name_replies_t.key_names.pad0 */
   14998         _aux->key_names.pad0[0] = *(uint8_t *)xcb_tmp;
   14999         _aux->key_names.pad0[1] = *(uint8_t *)xcb_tmp;
   15000         _aux->key_names.pad0[2] = *(uint8_t *)xcb_tmp;
   15001         _aux->key_names.pad0[3] = *(uint8_t *)xcb_tmp;
   15002         xcb_block_len += sizeof(uint8_t) * 4;
   15003         xcb_tmp += sizeof(uint8_t) * 4;
   15004         xcb_align_to = ALIGNOF(uint8_t);
   15005         /* insert padding */
   15006         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15007         xcb_buffer_len += xcb_block_len + xcb_pad;
   15008         if (0 != xcb_pad) {
   15009             xcb_tmp += xcb_pad;
   15010             xcb_pad = 0;
   15011         }
   15012         xcb_block_len = 0;
   15013         /* valueList */
   15014         xcb_block_len += xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(xcb_tmp, _aux->key_names.nTypes, _aux->key_names.nKTLevels, _aux->key_names.indicators, _aux->key_names.virtualMods, _aux->key_names.groupNames, _aux->key_names.nKeys, _aux->key_names.nKeyAliases, _aux->key_names.nRadioGroups, _aux->key_names.which, &_aux->key_names.valueList);
   15015         xcb_tmp += xcb_block_len;
   15016         xcb_align_to = ALIGNOF(xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t);
   15017     }
   15018     if(reported & XCB_XKB_GBN_DETAIL_GEOMETRY) {
   15019         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_type */
   15020         _aux->geometry.geometry_type = *(uint8_t *)xcb_tmp;
   15021         xcb_block_len += sizeof(uint8_t);
   15022         xcb_tmp += sizeof(uint8_t);
   15023         xcb_align_to = ALIGNOF(uint8_t);
   15024         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryDeviceID */
   15025         _aux->geometry.geometryDeviceID = *(uint8_t *)xcb_tmp;
   15026         xcb_block_len += sizeof(uint8_t);
   15027         xcb_tmp += sizeof(uint8_t);
   15028         xcb_align_to = ALIGNOF(uint8_t);
   15029         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_sequence */
   15030         _aux->geometry.geometry_sequence = *(uint16_t *)xcb_tmp;
   15031         xcb_block_len += sizeof(uint16_t);
   15032         xcb_tmp += sizeof(uint16_t);
   15033         xcb_align_to = ALIGNOF(uint16_t);
   15034         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometry_length */
   15035         _aux->geometry.geometry_length = *(uint32_t *)xcb_tmp;
   15036         xcb_block_len += sizeof(uint32_t);
   15037         xcb_tmp += sizeof(uint32_t);
   15038         xcb_align_to = ALIGNOF(uint32_t);
   15039         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.name */
   15040         _aux->geometry.name = *(xcb_atom_t *)xcb_tmp;
   15041         xcb_block_len += sizeof(xcb_atom_t);
   15042         xcb_tmp += sizeof(xcb_atom_t);
   15043         xcb_align_to = ALIGNOF(xcb_atom_t);
   15044         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.geometryFound */
   15045         _aux->geometry.geometryFound = *(uint8_t *)xcb_tmp;
   15046         xcb_block_len += sizeof(uint8_t);
   15047         xcb_tmp += sizeof(uint8_t);
   15048         xcb_align_to = ALIGNOF(uint8_t);
   15049         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.pad0 */
   15050         _aux->geometry.pad0 = *(uint8_t *)xcb_tmp;
   15051         xcb_block_len += sizeof(uint8_t);
   15052         xcb_tmp += sizeof(uint8_t);
   15053         xcb_align_to = ALIGNOF(uint8_t);
   15054         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.widthMM */
   15055         _aux->geometry.widthMM = *(uint16_t *)xcb_tmp;
   15056         xcb_block_len += sizeof(uint16_t);
   15057         xcb_tmp += sizeof(uint16_t);
   15058         xcb_align_to = ALIGNOF(uint16_t);
   15059         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.heightMM */
   15060         _aux->geometry.heightMM = *(uint16_t *)xcb_tmp;
   15061         xcb_block_len += sizeof(uint16_t);
   15062         xcb_tmp += sizeof(uint16_t);
   15063         xcb_align_to = ALIGNOF(uint16_t);
   15064         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nProperties */
   15065         _aux->geometry.nProperties = *(uint16_t *)xcb_tmp;
   15066         xcb_block_len += sizeof(uint16_t);
   15067         xcb_tmp += sizeof(uint16_t);
   15068         xcb_align_to = ALIGNOF(uint16_t);
   15069         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nColors */
   15070         _aux->geometry.nColors = *(uint16_t *)xcb_tmp;
   15071         xcb_block_len += sizeof(uint16_t);
   15072         xcb_tmp += sizeof(uint16_t);
   15073         xcb_align_to = ALIGNOF(uint16_t);
   15074         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nShapes */
   15075         _aux->geometry.nShapes = *(uint16_t *)xcb_tmp;
   15076         xcb_block_len += sizeof(uint16_t);
   15077         xcb_tmp += sizeof(uint16_t);
   15078         xcb_align_to = ALIGNOF(uint16_t);
   15079         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nSections */
   15080         _aux->geometry.nSections = *(uint16_t *)xcb_tmp;
   15081         xcb_block_len += sizeof(uint16_t);
   15082         xcb_tmp += sizeof(uint16_t);
   15083         xcb_align_to = ALIGNOF(uint16_t);
   15084         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nDoodads */
   15085         _aux->geometry.nDoodads = *(uint16_t *)xcb_tmp;
   15086         xcb_block_len += sizeof(uint16_t);
   15087         xcb_tmp += sizeof(uint16_t);
   15088         xcb_align_to = ALIGNOF(uint16_t);
   15089         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.nKeyAliases */
   15090         _aux->geometry.nKeyAliases = *(uint16_t *)xcb_tmp;
   15091         xcb_block_len += sizeof(uint16_t);
   15092         xcb_tmp += sizeof(uint16_t);
   15093         xcb_align_to = ALIGNOF(uint16_t);
   15094         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.baseColorNdx */
   15095         _aux->geometry.baseColorNdx = *(uint8_t *)xcb_tmp;
   15096         xcb_block_len += sizeof(uint8_t);
   15097         xcb_tmp += sizeof(uint8_t);
   15098         xcb_align_to = ALIGNOF(uint8_t);
   15099         /* xcb_xkb_get_kbd_by_name_replies_t.geometry.labelColorNdx */
   15100         _aux->geometry.labelColorNdx = *(uint8_t *)xcb_tmp;
   15101         xcb_block_len += sizeof(uint8_t);
   15102         xcb_tmp += sizeof(uint8_t);
   15103         xcb_align_to = ALIGNOF(uint8_t);
   15104         /* insert padding */
   15105         xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15106         xcb_buffer_len += xcb_block_len + xcb_pad;
   15107         if (0 != xcb_pad) {
   15108             xcb_tmp += xcb_pad;
   15109             xcb_pad = 0;
   15110         }
   15111         xcb_block_len = 0;
   15112         /* labelFont */
   15113         _aux->geometry.labelFont = (xcb_xkb_counted_string_16_t *)xcb_tmp;
   15114         xcb_block_len += xcb_xkb_counted_string_16_sizeof(xcb_tmp);
   15115         xcb_tmp += xcb_block_len;
   15116         xcb_align_to = ALIGNOF(xcb_xkb_counted_string_16_t);
   15117     }
   15118     /* insert padding */
   15119     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15120     xcb_buffer_len += xcb_block_len + xcb_pad;
   15121     if (0 != xcb_pad) {
   15122         xcb_tmp += xcb_pad;
   15123         xcb_pad = 0;
   15124     }
   15125     xcb_block_len = 0;
   15126 
   15127     return xcb_buffer_len;
   15128 }
   15129 
   15130 int
   15131 xcb_xkb_get_kbd_by_name_replies_sizeof (const void  *_buffer  /**< */,
   15132                                         uint16_t     reported  /**< */)
   15133 {
   15134     xcb_xkb_get_kbd_by_name_replies_t _aux;
   15135     return xcb_xkb_get_kbd_by_name_replies_unpack(_buffer, reported, &_aux);
   15136 }
   15137 
   15138 
   15139 /*****************************************************************************
   15140  **
   15141  ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name
   15142  **
   15143  ** @param xcb_connection_t      *c
   15144  ** @param xcb_xkb_device_spec_t  deviceSpec
   15145  ** @param uint16_t               need
   15146  ** @param uint16_t               want
   15147  ** @param uint8_t                load
   15148  ** @returns xcb_xkb_get_kbd_by_name_cookie_t
   15149  **
   15150  *****************************************************************************/
   15151 
   15152 xcb_xkb_get_kbd_by_name_cookie_t
   15153 xcb_xkb_get_kbd_by_name (xcb_connection_t      *c  /**< */,
   15154                          xcb_xkb_device_spec_t  deviceSpec  /**< */,
   15155                          uint16_t               need  /**< */,
   15156                          uint16_t               want  /**< */,
   15157                          uint8_t                load  /**< */)
   15158 {
   15159     static const xcb_protocol_request_t xcb_req = {
   15160         /* count */ 2,
   15161         /* ext */ &xcb_xkb_id,
   15162         /* opcode */ XCB_XKB_GET_KBD_BY_NAME,
   15163         /* isvoid */ 0
   15164     };
   15165 
   15166     struct iovec xcb_parts[4];
   15167     xcb_xkb_get_kbd_by_name_cookie_t xcb_ret;
   15168     xcb_xkb_get_kbd_by_name_request_t xcb_out;
   15169 
   15170     xcb_out.deviceSpec = deviceSpec;
   15171     xcb_out.need = need;
   15172     xcb_out.want = want;
   15173     xcb_out.load = load;
   15174     xcb_out.pad0 = 0;
   15175 
   15176     xcb_parts[2].iov_base = (char *) &xcb_out;
   15177     xcb_parts[2].iov_len = sizeof(xcb_out);
   15178     xcb_parts[3].iov_base = 0;
   15179     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15180 
   15181     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   15182     return xcb_ret;
   15183 }
   15184 
   15185 
   15186 /*****************************************************************************
   15187  **
   15188  ** xcb_xkb_get_kbd_by_name_cookie_t xcb_xkb_get_kbd_by_name_unchecked
   15189  **
   15190  ** @param xcb_connection_t      *c
   15191  ** @param xcb_xkb_device_spec_t  deviceSpec
   15192  ** @param uint16_t               need
   15193  ** @param uint16_t               want
   15194  ** @param uint8_t                load
   15195  ** @returns xcb_xkb_get_kbd_by_name_cookie_t
   15196  **
   15197  *****************************************************************************/
   15198 
   15199 xcb_xkb_get_kbd_by_name_cookie_t
   15200 xcb_xkb_get_kbd_by_name_unchecked (xcb_connection_t      *c  /**< */,
   15201                                    xcb_xkb_device_spec_t  deviceSpec  /**< */,
   15202                                    uint16_t               need  /**< */,
   15203                                    uint16_t               want  /**< */,
   15204                                    uint8_t                load  /**< */)
   15205 {
   15206     static const xcb_protocol_request_t xcb_req = {
   15207         /* count */ 2,
   15208         /* ext */ &xcb_xkb_id,
   15209         /* opcode */ XCB_XKB_GET_KBD_BY_NAME,
   15210         /* isvoid */ 0
   15211     };
   15212 
   15213     struct iovec xcb_parts[4];
   15214     xcb_xkb_get_kbd_by_name_cookie_t xcb_ret;
   15215     xcb_xkb_get_kbd_by_name_request_t xcb_out;
   15216 
   15217     xcb_out.deviceSpec = deviceSpec;
   15218     xcb_out.need = need;
   15219     xcb_out.want = want;
   15220     xcb_out.load = load;
   15221     xcb_out.pad0 = 0;
   15222 
   15223     xcb_parts[2].iov_base = (char *) &xcb_out;
   15224     xcb_parts[2].iov_len = sizeof(xcb_out);
   15225     xcb_parts[3].iov_base = 0;
   15226     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15227 
   15228     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   15229     return xcb_ret;
   15230 }
   15231 
   15232 
   15233 /*****************************************************************************
   15234  **
   15235  ** xcb_xkb_get_kbd_by_name_replies_t * xcb_xkb_get_kbd_by_name_replies
   15236  **
   15237  ** @param const xcb_xkb_get_kbd_by_name_reply_t *R
   15238  ** @returns xcb_xkb_get_kbd_by_name_replies_t *
   15239  **
   15240  *****************************************************************************/
   15241 
   15242 void *
   15243 xcb_xkb_get_kbd_by_name_replies (const xcb_xkb_get_kbd_by_name_reply_t *R  /**< */)
   15244 {
   15245     return (void *) (R + 1);
   15246 }
   15247 
   15248 
   15249 /*****************************************************************************
   15250  **
   15251  ** xcb_xkb_get_kbd_by_name_reply_t * xcb_xkb_get_kbd_by_name_reply
   15252  **
   15253  ** @param xcb_connection_t                  *c
   15254  ** @param xcb_xkb_get_kbd_by_name_cookie_t   cookie
   15255  ** @param xcb_generic_error_t              **e
   15256  ** @returns xcb_xkb_get_kbd_by_name_reply_t *
   15257  **
   15258  *****************************************************************************/
   15259 
   15260 xcb_xkb_get_kbd_by_name_reply_t *
   15261 xcb_xkb_get_kbd_by_name_reply (xcb_connection_t                  *c  /**< */,
   15262                                xcb_xkb_get_kbd_by_name_cookie_t   cookie  /**< */,
   15263                                xcb_generic_error_t              **e  /**< */)
   15264 {
   15265     return (xcb_xkb_get_kbd_by_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   15266 }
   15267 
   15268 int
   15269 xcb_xkb_get_device_info_sizeof (const void  *_buffer  /**< */)
   15270 {
   15271     char *xcb_tmp = (char *)_buffer;
   15272     const xcb_xkb_get_device_info_reply_t *_aux = (xcb_xkb_get_device_info_reply_t *)_buffer;
   15273     unsigned int xcb_buffer_len = 0;
   15274     unsigned int xcb_block_len = 0;
   15275     unsigned int xcb_pad = 0;
   15276     unsigned int xcb_align_to = 0;
   15277 
   15278     unsigned int i;
   15279     unsigned int xcb_tmp_len;
   15280 
   15281     xcb_block_len += sizeof(xcb_xkb_get_device_info_reply_t);
   15282     xcb_tmp += xcb_block_len;
   15283     xcb_buffer_len += xcb_block_len;
   15284     xcb_block_len = 0;
   15285     /* name */
   15286     xcb_block_len += _aux->nameLen * sizeof(xcb_xkb_string8_t);
   15287     xcb_tmp += xcb_block_len;
   15288     xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
   15289     /* insert padding */
   15290     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15291     xcb_buffer_len += xcb_block_len + xcb_pad;
   15292     if (0 != xcb_pad) {
   15293         xcb_tmp += xcb_pad;
   15294         xcb_pad = 0;
   15295     }
   15296     xcb_block_len = 0;
   15297     /* btnActions */
   15298     xcb_block_len += _aux->nBtnsRtrn * sizeof(xcb_xkb_action_t);
   15299     xcb_tmp += xcb_block_len;
   15300     xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   15301     /* insert padding */
   15302     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15303     xcb_buffer_len += xcb_block_len + xcb_pad;
   15304     if (0 != xcb_pad) {
   15305         xcb_tmp += xcb_pad;
   15306         xcb_pad = 0;
   15307     }
   15308     xcb_block_len = 0;
   15309     /* leds */
   15310     for(i=0; i<_aux->nDeviceLedFBs; i++) {
   15311         xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
   15312         xcb_block_len += xcb_tmp_len;
   15313         xcb_tmp += xcb_tmp_len;
   15314     }
   15315     xcb_align_to = ALIGNOF(xcb_xkb_device_led_info_t);
   15316     /* insert padding */
   15317     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15318     xcb_buffer_len += xcb_block_len + xcb_pad;
   15319     if (0 != xcb_pad) {
   15320         xcb_tmp += xcb_pad;
   15321         xcb_pad = 0;
   15322     }
   15323     xcb_block_len = 0;
   15324 
   15325     return xcb_buffer_len;
   15326 }
   15327 
   15328 
   15329 /*****************************************************************************
   15330  **
   15331  ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info
   15332  **
   15333  ** @param xcb_connection_t         *c
   15334  ** @param xcb_xkb_device_spec_t     deviceSpec
   15335  ** @param uint16_t                  wanted
   15336  ** @param uint8_t                   allButtons
   15337  ** @param uint8_t                   firstButton
   15338  ** @param uint8_t                   nButtons
   15339  ** @param xcb_xkb_led_class_spec_t  ledClass
   15340  ** @param xcb_xkb_id_spec_t         ledID
   15341  ** @returns xcb_xkb_get_device_info_cookie_t
   15342  **
   15343  *****************************************************************************/
   15344 
   15345 xcb_xkb_get_device_info_cookie_t
   15346 xcb_xkb_get_device_info (xcb_connection_t         *c  /**< */,
   15347                          xcb_xkb_device_spec_t     deviceSpec  /**< */,
   15348                          uint16_t                  wanted  /**< */,
   15349                          uint8_t                   allButtons  /**< */,
   15350                          uint8_t                   firstButton  /**< */,
   15351                          uint8_t                   nButtons  /**< */,
   15352                          xcb_xkb_led_class_spec_t  ledClass  /**< */,
   15353                          xcb_xkb_id_spec_t         ledID  /**< */)
   15354 {
   15355     static const xcb_protocol_request_t xcb_req = {
   15356         /* count */ 2,
   15357         /* ext */ &xcb_xkb_id,
   15358         /* opcode */ XCB_XKB_GET_DEVICE_INFO,
   15359         /* isvoid */ 0
   15360     };
   15361 
   15362     struct iovec xcb_parts[4];
   15363     xcb_xkb_get_device_info_cookie_t xcb_ret;
   15364     xcb_xkb_get_device_info_request_t xcb_out;
   15365 
   15366     xcb_out.deviceSpec = deviceSpec;
   15367     xcb_out.wanted = wanted;
   15368     xcb_out.allButtons = allButtons;
   15369     xcb_out.firstButton = firstButton;
   15370     xcb_out.nButtons = nButtons;
   15371     xcb_out.pad0 = 0;
   15372     xcb_out.ledClass = ledClass;
   15373     xcb_out.ledID = ledID;
   15374 
   15375     xcb_parts[2].iov_base = (char *) &xcb_out;
   15376     xcb_parts[2].iov_len = sizeof(xcb_out);
   15377     xcb_parts[3].iov_base = 0;
   15378     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15379 
   15380     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   15381     return xcb_ret;
   15382 }
   15383 
   15384 
   15385 /*****************************************************************************
   15386  **
   15387  ** xcb_xkb_get_device_info_cookie_t xcb_xkb_get_device_info_unchecked
   15388  **
   15389  ** @param xcb_connection_t         *c
   15390  ** @param xcb_xkb_device_spec_t     deviceSpec
   15391  ** @param uint16_t                  wanted
   15392  ** @param uint8_t                   allButtons
   15393  ** @param uint8_t                   firstButton
   15394  ** @param uint8_t                   nButtons
   15395  ** @param xcb_xkb_led_class_spec_t  ledClass
   15396  ** @param xcb_xkb_id_spec_t         ledID
   15397  ** @returns xcb_xkb_get_device_info_cookie_t
   15398  **
   15399  *****************************************************************************/
   15400 
   15401 xcb_xkb_get_device_info_cookie_t
   15402 xcb_xkb_get_device_info_unchecked (xcb_connection_t         *c  /**< */,
   15403                                    xcb_xkb_device_spec_t     deviceSpec  /**< */,
   15404                                    uint16_t                  wanted  /**< */,
   15405                                    uint8_t                   allButtons  /**< */,
   15406                                    uint8_t                   firstButton  /**< */,
   15407                                    uint8_t                   nButtons  /**< */,
   15408                                    xcb_xkb_led_class_spec_t  ledClass  /**< */,
   15409                                    xcb_xkb_id_spec_t         ledID  /**< */)
   15410 {
   15411     static const xcb_protocol_request_t xcb_req = {
   15412         /* count */ 2,
   15413         /* ext */ &xcb_xkb_id,
   15414         /* opcode */ XCB_XKB_GET_DEVICE_INFO,
   15415         /* isvoid */ 0
   15416     };
   15417 
   15418     struct iovec xcb_parts[4];
   15419     xcb_xkb_get_device_info_cookie_t xcb_ret;
   15420     xcb_xkb_get_device_info_request_t xcb_out;
   15421 
   15422     xcb_out.deviceSpec = deviceSpec;
   15423     xcb_out.wanted = wanted;
   15424     xcb_out.allButtons = allButtons;
   15425     xcb_out.firstButton = firstButton;
   15426     xcb_out.nButtons = nButtons;
   15427     xcb_out.pad0 = 0;
   15428     xcb_out.ledClass = ledClass;
   15429     xcb_out.ledID = ledID;
   15430 
   15431     xcb_parts[2].iov_base = (char *) &xcb_out;
   15432     xcb_parts[2].iov_len = sizeof(xcb_out);
   15433     xcb_parts[3].iov_base = 0;
   15434     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15435 
   15436     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   15437     return xcb_ret;
   15438 }
   15439 
   15440 
   15441 /*****************************************************************************
   15442  **
   15443  ** xcb_xkb_string8_t * xcb_xkb_get_device_info_name
   15444  **
   15445  ** @param const xcb_xkb_get_device_info_reply_t *R
   15446  ** @returns xcb_xkb_string8_t *
   15447  **
   15448  *****************************************************************************/
   15449 
   15450 xcb_xkb_string8_t *
   15451 xcb_xkb_get_device_info_name (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15452 {
   15453     return (xcb_xkb_string8_t *) (R + 1);
   15454 }
   15455 
   15456 
   15457 /*****************************************************************************
   15458  **
   15459  ** int xcb_xkb_get_device_info_name_length
   15460  **
   15461  ** @param const xcb_xkb_get_device_info_reply_t *R
   15462  ** @returns int
   15463  **
   15464  *****************************************************************************/
   15465 
   15466 int
   15467 xcb_xkb_get_device_info_name_length (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15468 {
   15469     return R->nameLen;
   15470 }
   15471 
   15472 
   15473 /*****************************************************************************
   15474  **
   15475  ** xcb_generic_iterator_t xcb_xkb_get_device_info_name_end
   15476  **
   15477  ** @param const xcb_xkb_get_device_info_reply_t *R
   15478  ** @returns xcb_generic_iterator_t
   15479  **
   15480  *****************************************************************************/
   15481 
   15482 xcb_generic_iterator_t
   15483 xcb_xkb_get_device_info_name_end (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15484 {
   15485     xcb_generic_iterator_t i;
   15486     i.data = ((xcb_xkb_string8_t *) (R + 1)) + (R->nameLen);
   15487     i.rem = 0;
   15488     i.index = (char *) i.data - (char *) R;
   15489     return i;
   15490 }
   15491 
   15492 
   15493 /*****************************************************************************
   15494  **
   15495  ** xcb_xkb_action_t * xcb_xkb_get_device_info_btn_actions
   15496  **
   15497  ** @param const xcb_xkb_get_device_info_reply_t *R
   15498  ** @returns xcb_xkb_action_t *
   15499  **
   15500  *****************************************************************************/
   15501 
   15502 xcb_xkb_action_t *
   15503 xcb_xkb_get_device_info_btn_actions (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15504 {
   15505     xcb_generic_iterator_t prev = xcb_xkb_get_device_info_name_end(R);
   15506     return (xcb_xkb_action_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_action_t, prev.index) + 0);
   15507 }
   15508 
   15509 
   15510 /*****************************************************************************
   15511  **
   15512  ** int xcb_xkb_get_device_info_btn_actions_length
   15513  **
   15514  ** @param const xcb_xkb_get_device_info_reply_t *R
   15515  ** @returns int
   15516  **
   15517  *****************************************************************************/
   15518 
   15519 int
   15520 xcb_xkb_get_device_info_btn_actions_length (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15521 {
   15522     return R->nBtnsRtrn;
   15523 }
   15524 
   15525 
   15526 /*****************************************************************************
   15527  **
   15528  ** xcb_xkb_action_iterator_t xcb_xkb_get_device_info_btn_actions_iterator
   15529  **
   15530  ** @param const xcb_xkb_get_device_info_reply_t *R
   15531  ** @returns xcb_xkb_action_iterator_t
   15532  **
   15533  *****************************************************************************/
   15534 
   15535 xcb_xkb_action_iterator_t
   15536 xcb_xkb_get_device_info_btn_actions_iterator (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15537 {
   15538     xcb_xkb_action_iterator_t i;
   15539     xcb_generic_iterator_t prev = xcb_xkb_get_device_info_name_end(R);
   15540     i.data = (xcb_xkb_action_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_action_t, prev.index));
   15541     i.rem = R->nBtnsRtrn;
   15542     i.index = (char *) i.data - (char *) R;
   15543     return i;
   15544 }
   15545 
   15546 
   15547 /*****************************************************************************
   15548  **
   15549  ** int xcb_xkb_get_device_info_leds_length
   15550  **
   15551  ** @param const xcb_xkb_get_device_info_reply_t *R
   15552  ** @returns int
   15553  **
   15554  *****************************************************************************/
   15555 
   15556 int
   15557 xcb_xkb_get_device_info_leds_length (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15558 {
   15559     return R->nDeviceLedFBs;
   15560 }
   15561 
   15562 
   15563 /*****************************************************************************
   15564  **
   15565  ** xcb_xkb_device_led_info_iterator_t xcb_xkb_get_device_info_leds_iterator
   15566  **
   15567  ** @param const xcb_xkb_get_device_info_reply_t *R
   15568  ** @returns xcb_xkb_device_led_info_iterator_t
   15569  **
   15570  *****************************************************************************/
   15571 
   15572 xcb_xkb_device_led_info_iterator_t
   15573 xcb_xkb_get_device_info_leds_iterator (const xcb_xkb_get_device_info_reply_t *R  /**< */)
   15574 {
   15575     xcb_xkb_device_led_info_iterator_t i;
   15576     xcb_generic_iterator_t prev = xcb_xkb_action_end(xcb_xkb_get_device_info_btn_actions_iterator(R));
   15577     i.data = (xcb_xkb_device_led_info_t *) ((char *) prev.data + XCB_TYPE_PAD(xcb_xkb_device_led_info_t, prev.index));
   15578     i.rem = R->nDeviceLedFBs;
   15579     i.index = (char *) i.data - (char *) R;
   15580     return i;
   15581 }
   15582 
   15583 
   15584 /*****************************************************************************
   15585  **
   15586  ** xcb_xkb_get_device_info_reply_t * xcb_xkb_get_device_info_reply
   15587  **
   15588  ** @param xcb_connection_t                  *c
   15589  ** @param xcb_xkb_get_device_info_cookie_t   cookie
   15590  ** @param xcb_generic_error_t              **e
   15591  ** @returns xcb_xkb_get_device_info_reply_t *
   15592  **
   15593  *****************************************************************************/
   15594 
   15595 xcb_xkb_get_device_info_reply_t *
   15596 xcb_xkb_get_device_info_reply (xcb_connection_t                  *c  /**< */,
   15597                                xcb_xkb_get_device_info_cookie_t   cookie  /**< */,
   15598                                xcb_generic_error_t              **e  /**< */)
   15599 {
   15600     return (xcb_xkb_get_device_info_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   15601 }
   15602 
   15603 int
   15604 xcb_xkb_set_device_info_sizeof (const void  *_buffer  /**< */)
   15605 {
   15606     char *xcb_tmp = (char *)_buffer;
   15607     const xcb_xkb_set_device_info_request_t *_aux = (xcb_xkb_set_device_info_request_t *)_buffer;
   15608     unsigned int xcb_buffer_len = 0;
   15609     unsigned int xcb_block_len = 0;
   15610     unsigned int xcb_pad = 0;
   15611     unsigned int xcb_align_to = 0;
   15612 
   15613     unsigned int i;
   15614     unsigned int xcb_tmp_len;
   15615 
   15616     xcb_block_len += sizeof(xcb_xkb_set_device_info_request_t);
   15617     xcb_tmp += xcb_block_len;
   15618     xcb_buffer_len += xcb_block_len;
   15619     xcb_block_len = 0;
   15620     /* btnActions */
   15621     xcb_block_len += _aux->nBtns * sizeof(xcb_xkb_action_t);
   15622     xcb_tmp += xcb_block_len;
   15623     xcb_align_to = ALIGNOF(xcb_xkb_action_t);
   15624     /* insert padding */
   15625     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15626     xcb_buffer_len += xcb_block_len + xcb_pad;
   15627     if (0 != xcb_pad) {
   15628         xcb_tmp += xcb_pad;
   15629         xcb_pad = 0;
   15630     }
   15631     xcb_block_len = 0;
   15632     /* leds */
   15633     for(i=0; i<_aux->nDeviceLedFBs; i++) {
   15634         xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
   15635         xcb_block_len += xcb_tmp_len;
   15636         xcb_tmp += xcb_tmp_len;
   15637     }
   15638     xcb_align_to = ALIGNOF(xcb_xkb_device_led_info_t);
   15639     /* insert padding */
   15640     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15641     xcb_buffer_len += xcb_block_len + xcb_pad;
   15642     if (0 != xcb_pad) {
   15643         xcb_tmp += xcb_pad;
   15644         xcb_pad = 0;
   15645     }
   15646     xcb_block_len = 0;
   15647 
   15648     return xcb_buffer_len;
   15649 }
   15650 
   15651 
   15652 /*****************************************************************************
   15653  **
   15654  ** xcb_void_cookie_t xcb_xkb_set_device_info_checked
   15655  **
   15656  ** @param xcb_connection_t                *c
   15657  ** @param xcb_xkb_device_spec_t            deviceSpec
   15658  ** @param uint8_t                          firstBtn
   15659  ** @param uint8_t                          nBtns
   15660  ** @param uint16_t                         change
   15661  ** @param uint16_t                         nDeviceLedFBs
   15662  ** @param const xcb_xkb_action_t          *btnActions
   15663  ** @param const xcb_xkb_device_led_info_t *leds
   15664  ** @returns xcb_void_cookie_t
   15665  **
   15666  *****************************************************************************/
   15667 
   15668 xcb_void_cookie_t
   15669 xcb_xkb_set_device_info_checked (xcb_connection_t                *c  /**< */,
   15670                                  xcb_xkb_device_spec_t            deviceSpec  /**< */,
   15671                                  uint8_t                          firstBtn  /**< */,
   15672                                  uint8_t                          nBtns  /**< */,
   15673                                  uint16_t                         change  /**< */,
   15674                                  uint16_t                         nDeviceLedFBs  /**< */,
   15675                                  const xcb_xkb_action_t          *btnActions  /**< */,
   15676                                  const xcb_xkb_device_led_info_t *leds  /**< */)
   15677 {
   15678     static const xcb_protocol_request_t xcb_req = {
   15679         /* count */ 6,
   15680         /* ext */ &xcb_xkb_id,
   15681         /* opcode */ XCB_XKB_SET_DEVICE_INFO,
   15682         /* isvoid */ 1
   15683     };
   15684 
   15685     struct iovec xcb_parts[8];
   15686     xcb_void_cookie_t xcb_ret;
   15687     xcb_xkb_set_device_info_request_t xcb_out;
   15688     unsigned int i;
   15689     unsigned int xcb_tmp_len;
   15690     char *xcb_tmp;
   15691 
   15692     xcb_out.deviceSpec = deviceSpec;
   15693     xcb_out.firstBtn = firstBtn;
   15694     xcb_out.nBtns = nBtns;
   15695     xcb_out.change = change;
   15696     xcb_out.nDeviceLedFBs = nDeviceLedFBs;
   15697 
   15698     xcb_parts[2].iov_base = (char *) &xcb_out;
   15699     xcb_parts[2].iov_len = sizeof(xcb_out);
   15700     xcb_parts[3].iov_base = 0;
   15701     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15702     /* xcb_xkb_action_t btnActions */
   15703     xcb_parts[4].iov_base = (char *) btnActions;
   15704     xcb_parts[4].iov_len = nBtns * sizeof(xcb_xkb_action_t);
   15705     xcb_parts[5].iov_base = 0;
   15706     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   15707     /* xcb_xkb_device_led_info_t leds */
   15708     xcb_parts[6].iov_base = (char *) leds;
   15709     xcb_parts[6].iov_len = 0;
   15710     xcb_tmp = (char *)leds;
   15711     for(i=0; i<nDeviceLedFBs; i++) {
   15712         xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
   15713         xcb_parts[6].iov_len += xcb_tmp_len;
   15714         xcb_tmp += xcb_tmp_len;
   15715     }
   15716     xcb_parts[7].iov_base = 0;
   15717     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   15718 
   15719     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   15720     return xcb_ret;
   15721 }
   15722 
   15723 
   15724 /*****************************************************************************
   15725  **
   15726  ** xcb_void_cookie_t xcb_xkb_set_device_info
   15727  **
   15728  ** @param xcb_connection_t                *c
   15729  ** @param xcb_xkb_device_spec_t            deviceSpec
   15730  ** @param uint8_t                          firstBtn
   15731  ** @param uint8_t                          nBtns
   15732  ** @param uint16_t                         change
   15733  ** @param uint16_t                         nDeviceLedFBs
   15734  ** @param const xcb_xkb_action_t          *btnActions
   15735  ** @param const xcb_xkb_device_led_info_t *leds
   15736  ** @returns xcb_void_cookie_t
   15737  **
   15738  *****************************************************************************/
   15739 
   15740 xcb_void_cookie_t
   15741 xcb_xkb_set_device_info (xcb_connection_t                *c  /**< */,
   15742                          xcb_xkb_device_spec_t            deviceSpec  /**< */,
   15743                          uint8_t                          firstBtn  /**< */,
   15744                          uint8_t                          nBtns  /**< */,
   15745                          uint16_t                         change  /**< */,
   15746                          uint16_t                         nDeviceLedFBs  /**< */,
   15747                          const xcb_xkb_action_t          *btnActions  /**< */,
   15748                          const xcb_xkb_device_led_info_t *leds  /**< */)
   15749 {
   15750     static const xcb_protocol_request_t xcb_req = {
   15751         /* count */ 6,
   15752         /* ext */ &xcb_xkb_id,
   15753         /* opcode */ XCB_XKB_SET_DEVICE_INFO,
   15754         /* isvoid */ 1
   15755     };
   15756 
   15757     struct iovec xcb_parts[8];
   15758     xcb_void_cookie_t xcb_ret;
   15759     xcb_xkb_set_device_info_request_t xcb_out;
   15760     unsigned int i;
   15761     unsigned int xcb_tmp_len;
   15762     char *xcb_tmp;
   15763 
   15764     xcb_out.deviceSpec = deviceSpec;
   15765     xcb_out.firstBtn = firstBtn;
   15766     xcb_out.nBtns = nBtns;
   15767     xcb_out.change = change;
   15768     xcb_out.nDeviceLedFBs = nDeviceLedFBs;
   15769 
   15770     xcb_parts[2].iov_base = (char *) &xcb_out;
   15771     xcb_parts[2].iov_len = sizeof(xcb_out);
   15772     xcb_parts[3].iov_base = 0;
   15773     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15774     /* xcb_xkb_action_t btnActions */
   15775     xcb_parts[4].iov_base = (char *) btnActions;
   15776     xcb_parts[4].iov_len = nBtns * sizeof(xcb_xkb_action_t);
   15777     xcb_parts[5].iov_base = 0;
   15778     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   15779     /* xcb_xkb_device_led_info_t leds */
   15780     xcb_parts[6].iov_base = (char *) leds;
   15781     xcb_parts[6].iov_len = 0;
   15782     xcb_tmp = (char *)leds;
   15783     for(i=0; i<nDeviceLedFBs; i++) {
   15784         xcb_tmp_len = xcb_xkb_device_led_info_sizeof(xcb_tmp);
   15785         xcb_parts[6].iov_len += xcb_tmp_len;
   15786         xcb_tmp += xcb_tmp_len;
   15787     }
   15788     xcb_parts[7].iov_base = 0;
   15789     xcb_parts[7].iov_len = -xcb_parts[6].iov_len & 3;
   15790 
   15791     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   15792     return xcb_ret;
   15793 }
   15794 
   15795 int
   15796 xcb_xkb_set_debugging_flags_sizeof (const void  *_buffer  /**< */)
   15797 {
   15798     char *xcb_tmp = (char *)_buffer;
   15799     const xcb_xkb_set_debugging_flags_request_t *_aux = (xcb_xkb_set_debugging_flags_request_t *)_buffer;
   15800     unsigned int xcb_buffer_len = 0;
   15801     unsigned int xcb_block_len = 0;
   15802     unsigned int xcb_pad = 0;
   15803     unsigned int xcb_align_to = 0;
   15804 
   15805 
   15806     xcb_block_len += sizeof(xcb_xkb_set_debugging_flags_request_t);
   15807     xcb_tmp += xcb_block_len;
   15808     xcb_buffer_len += xcb_block_len;
   15809     xcb_block_len = 0;
   15810     /* message */
   15811     xcb_block_len += _aux->msgLength * sizeof(xcb_xkb_string8_t);
   15812     xcb_tmp += xcb_block_len;
   15813     xcb_align_to = ALIGNOF(xcb_xkb_string8_t);
   15814     /* insert padding */
   15815     xcb_pad = -xcb_block_len & (xcb_align_to - 1);
   15816     xcb_buffer_len += xcb_block_len + xcb_pad;
   15817     if (0 != xcb_pad) {
   15818         xcb_tmp += xcb_pad;
   15819         xcb_pad = 0;
   15820     }
   15821     xcb_block_len = 0;
   15822 
   15823     return xcb_buffer_len;
   15824 }
   15825 
   15826 
   15827 /*****************************************************************************
   15828  **
   15829  ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags
   15830  **
   15831  ** @param xcb_connection_t        *c
   15832  ** @param uint16_t                 msgLength
   15833  ** @param uint32_t                 affectFlags
   15834  ** @param uint32_t                 flags
   15835  ** @param uint32_t                 affectCtrls
   15836  ** @param uint32_t                 ctrls
   15837  ** @param const xcb_xkb_string8_t *message
   15838  ** @returns xcb_xkb_set_debugging_flags_cookie_t
   15839  **
   15840  *****************************************************************************/
   15841 
   15842 xcb_xkb_set_debugging_flags_cookie_t
   15843 xcb_xkb_set_debugging_flags (xcb_connection_t        *c  /**< */,
   15844                              uint16_t                 msgLength  /**< */,
   15845                              uint32_t                 affectFlags  /**< */,
   15846                              uint32_t                 flags  /**< */,
   15847                              uint32_t                 affectCtrls  /**< */,
   15848                              uint32_t                 ctrls  /**< */,
   15849                              const xcb_xkb_string8_t *message  /**< */)
   15850 {
   15851     static const xcb_protocol_request_t xcb_req = {
   15852         /* count */ 4,
   15853         /* ext */ &xcb_xkb_id,
   15854         /* opcode */ XCB_XKB_SET_DEBUGGING_FLAGS,
   15855         /* isvoid */ 0
   15856     };
   15857 
   15858     struct iovec xcb_parts[6];
   15859     xcb_xkb_set_debugging_flags_cookie_t xcb_ret;
   15860     xcb_xkb_set_debugging_flags_request_t xcb_out;
   15861 
   15862     xcb_out.msgLength = msgLength;
   15863     memset(xcb_out.pad0, 0, 2);
   15864     xcb_out.affectFlags = affectFlags;
   15865     xcb_out.flags = flags;
   15866     xcb_out.affectCtrls = affectCtrls;
   15867     xcb_out.ctrls = ctrls;
   15868 
   15869     xcb_parts[2].iov_base = (char *) &xcb_out;
   15870     xcb_parts[2].iov_len = sizeof(xcb_out);
   15871     xcb_parts[3].iov_base = 0;
   15872     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15873     /* xcb_xkb_string8_t message */
   15874     xcb_parts[4].iov_base = (char *) message;
   15875     xcb_parts[4].iov_len = msgLength * sizeof(xcb_xkb_string8_t);
   15876     xcb_parts[5].iov_base = 0;
   15877     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   15878 
   15879     xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req);
   15880     return xcb_ret;
   15881 }
   15882 
   15883 
   15884 /*****************************************************************************
   15885  **
   15886  ** xcb_xkb_set_debugging_flags_cookie_t xcb_xkb_set_debugging_flags_unchecked
   15887  **
   15888  ** @param xcb_connection_t        *c
   15889  ** @param uint16_t                 msgLength
   15890  ** @param uint32_t                 affectFlags
   15891  ** @param uint32_t                 flags
   15892  ** @param uint32_t                 affectCtrls
   15893  ** @param uint32_t                 ctrls
   15894  ** @param const xcb_xkb_string8_t *message
   15895  ** @returns xcb_xkb_set_debugging_flags_cookie_t
   15896  **
   15897  *****************************************************************************/
   15898 
   15899 xcb_xkb_set_debugging_flags_cookie_t
   15900 xcb_xkb_set_debugging_flags_unchecked (xcb_connection_t        *c  /**< */,
   15901                                        uint16_t                 msgLength  /**< */,
   15902                                        uint32_t                 affectFlags  /**< */,
   15903                                        uint32_t                 flags  /**< */,
   15904                                        uint32_t                 affectCtrls  /**< */,
   15905                                        uint32_t                 ctrls  /**< */,
   15906                                        const xcb_xkb_string8_t *message  /**< */)
   15907 {
   15908     static const xcb_protocol_request_t xcb_req = {
   15909         /* count */ 4,
   15910         /* ext */ &xcb_xkb_id,
   15911         /* opcode */ XCB_XKB_SET_DEBUGGING_FLAGS,
   15912         /* isvoid */ 0
   15913     };
   15914 
   15915     struct iovec xcb_parts[6];
   15916     xcb_xkb_set_debugging_flags_cookie_t xcb_ret;
   15917     xcb_xkb_set_debugging_flags_request_t xcb_out;
   15918 
   15919     xcb_out.msgLength = msgLength;
   15920     memset(xcb_out.pad0, 0, 2);
   15921     xcb_out.affectFlags = affectFlags;
   15922     xcb_out.flags = flags;
   15923     xcb_out.affectCtrls = affectCtrls;
   15924     xcb_out.ctrls = ctrls;
   15925 
   15926     xcb_parts[2].iov_base = (char *) &xcb_out;
   15927     xcb_parts[2].iov_len = sizeof(xcb_out);
   15928     xcb_parts[3].iov_base = 0;
   15929     xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3;
   15930     /* xcb_xkb_string8_t message */
   15931     xcb_parts[4].iov_base = (char *) message;
   15932     xcb_parts[4].iov_len = msgLength * sizeof(xcb_xkb_string8_t);
   15933     xcb_parts[5].iov_base = 0;
   15934     xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3;
   15935 
   15936     xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req);
   15937     return xcb_ret;
   15938 }
   15939 
   15940 
   15941 /*****************************************************************************
   15942  **
   15943  ** xcb_xkb_set_debugging_flags_reply_t * xcb_xkb_set_debugging_flags_reply
   15944  **
   15945  ** @param xcb_connection_t                      *c
   15946  ** @param xcb_xkb_set_debugging_flags_cookie_t   cookie
   15947  ** @param xcb_generic_error_t                  **e
   15948  ** @returns xcb_xkb_set_debugging_flags_reply_t *
   15949  **
   15950  *****************************************************************************/
   15951 
   15952 xcb_xkb_set_debugging_flags_reply_t *
   15953 xcb_xkb_set_debugging_flags_reply (xcb_connection_t                      *c  /**< */,
   15954                                    xcb_xkb_set_debugging_flags_cookie_t   cookie  /**< */,
   15955                                    xcb_generic_error_t                  **e  /**< */)
   15956 {
   15957     return (xcb_xkb_set_debugging_flags_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e);
   15958 }
   15959 
   15960